pages_core 3.11.2 → 3.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/app/assets/builds/pages_core/admin-dist.js +3 -3
  4. data/app/assets/stylesheets/pages/admin/components/header.scss +4 -4
  5. data/app/assets/stylesheets/pages/admin/components/modal.scss +0 -20
  6. data/app/assets/stylesheets/pages/admin.scss +0 -20
  7. data/app/assets/stylesheets/pages/errors.css +1 -1
  8. data/app/controllers/admin/calendars_controller.rb +36 -0
  9. data/app/controllers/admin/news_controller.rb +58 -0
  10. data/app/controllers/admin/pages_controller.rb +0 -1
  11. data/app/controllers/errors_controller.rb +1 -1
  12. data/app/controllers/sessions_controller.rb +1 -1
  13. data/app/helpers/admin/calendars_helper.rb +29 -0
  14. data/app/helpers/pages_core/admin/content_tabs_helper.rb +1 -0
  15. data/app/helpers/pages_core/admin/labelled_field_helper.rb +1 -1
  16. data/app/helpers/pages_core/application_helper.rb +1 -1
  17. data/app/javascript/components/Attachments.jsx +2 -1
  18. data/app/javascript/components/PageTreeNode.jsx +0 -8
  19. data/app/javascript/components/Toast.jsx +1 -1
  20. data/app/models/category.rb +1 -1
  21. data/app/models/concerns/pages_core/page_model/dated_page.rb +38 -0
  22. data/app/models/page.rb +1 -1
  23. data/app/policies/page_policy.rb +2 -6
  24. data/app/views/admin/calendars/show.html.erb +83 -0
  25. data/app/views/admin/invites/show.html.erb +6 -4
  26. data/app/views/admin/{pages/news.html.erb → news/index.html.erb} +12 -7
  27. data/app/views/admin/pages/_list_item.html.erb +2 -1
  28. data/app/views/admin/password_resets/show.html.erb +4 -2
  29. data/app/views/admin/users/login.html.erb +3 -3
  30. data/app/views/admin/users/new.html.erb +6 -4
  31. data/app/views/admin/users/new_password.html.erb +1 -1
  32. data/app/views/layouts/admin/_header.html.erb +4 -16
  33. data/app/views/layouts/admin/_page_header.html.erb +5 -3
  34. data/app/views/layouts/errors.html.erb +2 -2
  35. data/config/routes.rb +7 -2
  36. data/lib/pages_core/pages_plugin.rb +6 -1
  37. data/lib/rails/generators/pages_core/install/install_generator.rb +2 -2
  38. data/lib/rails/generators/pages_core/install/templates/delayed_job +2 -3
  39. data/lib/rails/generators/pages_core/rspec/templates/rails_helper.rb +2 -2
  40. metadata +9 -6
  41. data/app/controllers/concerns/pages_core/admin/news_page_controller.rb +0 -67
@@ -1,4 +1,4 @@
1
- (()=>{var xg=Object.create;var Wr=Object.defineProperty,Sg=Object.defineProperties,Cg=Object.getOwnPropertyDescriptor,bg=Object.getOwnPropertyDescriptors,kg=Object.getOwnPropertyNames,Ec=Object.getOwnPropertySymbols,Tg=Object.getPrototypeOf,Sc=Object.prototype.hasOwnProperty,Og=Object.prototype.propertyIsEnumerable;var xc=(t,e,n)=>e in t?Wr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,j=(t,e)=>{for(var n in e||(e={}))Sc.call(e,n)&&xc(t,n,e[n]);if(Ec)for(var n of Ec(e))Og.call(e,n)&&xc(t,n,e[n]);return t},re=(t,e)=>Sg(t,bg(e)),Ng=t=>Wr(t,"__esModule",{value:!0});var Y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),_g=(t,e)=>{for(var n in e)Wr(t,n,{get:e[n],enumerable:!0})},Dg=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of kg(e))!Sc.call(t,i)&&(n||i!=="default")&&Wr(t,i,{get:()=>e[i],enumerable:!(r=Cg(e,i))||r.enumerable});return t},D=(t,e)=>Dg(Ng(Wr(t!=null?xg(Tg(t)):{},"default",!e&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var bc=Y((Cc,go)=>{(function(){var t=this;(function(){(function(){this.Rails={linkClickSelector:"a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]",buttonClickSelector:{selector:"button[data-remote]:not([form]), button[data-confirm]:not([form])",exclude:"form button"},inputChangeSelector:"select[data-remote], input[data-remote], textarea[data-remote]",formSubmitSelector:"form:not([data-turbo=true])",formInputClickSelector:"form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])",formDisableSelector:"input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled",formEnableSelector:"input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled",fileInputSelector:"input[name][type=file]:not([disabled])",linkDisableSelector:"a[data-disable-with], a[data-disable]",buttonDisableSelector:"button[data-remote][data-disable-with], button[data-remote][data-disable]"}}).call(this)}).call(t);var e=t.Rails;(function(){(function(){var n;n=null,e.loadCSPNonce=function(){var r;return n=(r=document.querySelector("meta[name=csp-nonce]"))!=null?r.content:void 0},e.cspNonce=function(){return n!=null?n:e.loadCSPNonce()}}).call(this),function(){var n,r;r=Element.prototype.matches||Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector,e.matches=function(i,o){return o.exclude!=null?r.call(i,o.selector)&&!r.call(i,o.exclude):r.call(i,o)},n="_ujsData",e.getData=function(i,o){var a;return(a=i[n])!=null?a[o]:void 0},e.setData=function(i,o,a){return i[n]==null&&(i[n]={}),i[n][o]=a},e.$=function(i){return Array.prototype.slice.call(document.querySelectorAll(i))}}.call(this),function(){var n,r,i;n=e.$,i=e.csrfToken=function(){var o;return o=document.querySelector("meta[name=csrf-token]"),o&&o.content},r=e.csrfParam=function(){var o;return o=document.querySelector("meta[name=csrf-param]"),o&&o.content},e.CSRFProtection=function(o){var a;if(a=i(),a!=null)return o.setRequestHeader("X-CSRF-Token",a)},e.refreshCSRFTokens=function(){var o,a;if(a=i(),o=r(),a!=null&&o!=null)return n('form input[name="'+o+'"]').forEach(function(s){return s.value=a})}}.call(this),function(){var n,r,i,o;i=e.matches,n=window.CustomEvent,typeof n!="function"&&(n=function(a,s){var l;return l=document.createEvent("CustomEvent"),l.initCustomEvent(a,s.bubbles,s.cancelable,s.detail),l},n.prototype=window.Event.prototype,o=n.prototype.preventDefault,n.prototype.preventDefault=function(){var a;return a=o.call(this),this.cancelable&&!this.defaultPrevented&&Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}}),a}),r=e.fire=function(a,s,l){var u;return u=new n(s,{bubbles:!0,cancelable:!0,detail:l}),a.dispatchEvent(u),!u.defaultPrevented},e.stopEverything=function(a){return r(a.target,"ujs:everythingStopped"),a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation()},e.delegate=function(a,s,l,u){return a.addEventListener(l,function(p){var m;for(m=p.target;!(!(m instanceof Element)||i(m,s));)m=m.parentNode;if(m instanceof Element&&u.call(m,p)===!1)return p.preventDefault(),p.stopPropagation()})}}.call(this),function(){var n,r,i,o,a,s,l;o=e.cspNonce,r=e.CSRFProtection,a=e.fire,n={"*":"*/*",text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript",script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},e.ajax=function(u){var p;if(u=s(u),p=i(u,function(){var m,h;return h=l((m=p.response)!=null?m:p.responseText,p.getResponseHeader("Content-Type")),Math.floor(p.status/100)===2?typeof u.success=="function"&&u.success(h,p.statusText,p):typeof u.error=="function"&&u.error(h,p.statusText,p),typeof u.complete=="function"?u.complete(p,p.statusText):void 0}),u.beforeSend!=null&&!u.beforeSend(p,u))return!1;if(p.readyState===XMLHttpRequest.OPENED)return p.send(u.data)},s=function(u){return u.url=u.url||location.href,u.type=u.type.toUpperCase(),u.type==="GET"&&u.data&&(u.url.indexOf("?")<0?u.url+="?"+u.data:u.url+="&"+u.data),n[u.dataType]==null&&(u.dataType="*"),u.accept=n[u.dataType],u.dataType!=="*"&&(u.accept+=", */*; q=0.01"),u},i=function(u,p){var m;return m=new XMLHttpRequest,m.open(u.type,u.url,!0),m.setRequestHeader("Accept",u.accept),typeof u.data=="string"&&m.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),u.crossDomain||(m.setRequestHeader("X-Requested-With","XMLHttpRequest"),r(m)),m.withCredentials=!!u.withCredentials,m.onreadystatechange=function(){if(m.readyState===XMLHttpRequest.DONE)return p(m)},m},l=function(u,p){var m,h;if(typeof u=="string"&&typeof p=="string"){if(p.match(/\bjson\b/))try{u=JSON.parse(u)}catch(E){}else if(p.match(/\b(?:java|ecma)script\b/))h=document.createElement("script"),h.setAttribute("nonce",o()),h.text=u,document.head.appendChild(h).parentNode.removeChild(h);else if(p.match(/\b(xml|html|svg)\b/)){m=new DOMParser,p=p.replace(/;.+/,"");try{u=m.parseFromString(u,p)}catch(E){}}}return u},e.href=function(u){return u.href},e.isCrossDomain=function(u){var p,m,h;m=document.createElement("a"),m.href=location.href,h=document.createElement("a");try{return h.href=u,!((!h.protocol||h.protocol===":")&&!h.host||m.protocol+"//"+m.host==h.protocol+"//"+h.host)}catch(E){return p=E,!0}}}.call(this),function(){var n,r;n=e.matches,r=function(i){return Array.prototype.slice.call(i)},e.serializeElement=function(i,o){var a,s;return a=[i],n(i,"form")&&(a=r(i.elements)),s=[],a.forEach(function(l){if(!(!l.name||l.disabled)&&!n(l,"fieldset[disabled] *")){if(n(l,"select"))return r(l.options).forEach(function(u){if(u.selected)return s.push({name:l.name,value:u.value})});if(l.checked||["radio","checkbox","submit"].indexOf(l.type)===-1)return s.push({name:l.name,value:l.value})}}),o&&s.push(o),s.map(function(l){return l.name!=null?encodeURIComponent(l.name)+"="+encodeURIComponent(l.value):l}).join("&")},e.formElements=function(i,o){return n(i,"form")?r(i.elements).filter(function(a){return n(a,o)}):r(i.querySelectorAll(o))}}.call(this),function(){var n,r,i;r=e.fire,i=e.stopEverything,e.handleConfirm=function(o){if(!n(this))return i(o)},e.confirm=function(o,a){return confirm(o)},n=function(o){var a,s,l;if(l=o.getAttribute("data-confirm"),!l)return!0;if(a=!1,r(o,"confirm")){try{a=e.confirm(l,o)}catch(u){}s=r(o,"confirm:complete",[a])}return a&&s}}.call(this),function(){var n,r,i,o,a,s,l,u,p,m,h,E;m=e.matches,u=e.getData,h=e.setData,E=e.stopEverything,l=e.formElements,e.handleDisabledElement=function(v){var y;if(y=this,y.disabled)return E(v)},e.enableElement=function(v){var y;if(v instanceof Event){if(p(v))return;y=v.target}else y=v;if(m(y,e.linkDisableSelector))return s(y);if(m(y,e.buttonDisableSelector)||m(y,e.formEnableSelector))return o(y);if(m(y,e.formSubmitSelector))return a(y)},e.disableElement=function(v){var y;if(y=v instanceof Event?v.target:v,m(y,e.linkDisableSelector))return i(y);if(m(y,e.buttonDisableSelector)||m(y,e.formDisableSelector))return n(y);if(m(y,e.formSubmitSelector))return r(y)},i=function(v){var y;if(!u(v,"ujs:disabled"))return y=v.getAttribute("data-disable-with"),y!=null&&(h(v,"ujs:enable-with",v.innerHTML),v.innerHTML=y),v.addEventListener("click",E),h(v,"ujs:disabled",!0)},s=function(v){var y;return y=u(v,"ujs:enable-with"),y!=null&&(v.innerHTML=y,h(v,"ujs:enable-with",null)),v.removeEventListener("click",E),h(v,"ujs:disabled",null)},r=function(v){return l(v,e.formDisableSelector).forEach(n)},n=function(v){var y;if(!u(v,"ujs:disabled"))return y=v.getAttribute("data-disable-with"),y!=null&&(m(v,"button")?(h(v,"ujs:enable-with",v.innerHTML),v.innerHTML=y):(h(v,"ujs:enable-with",v.value),v.value=y)),v.disabled=!0,h(v,"ujs:disabled",!0)},a=function(v){return l(v,e.formEnableSelector).forEach(o)},o=function(v){var y;return y=u(v,"ujs:enable-with"),y!=null&&(m(v,"button")?v.innerHTML=y:v.value=y,h(v,"ujs:enable-with",null)),v.disabled=!1,h(v,"ujs:disabled",null)},p=function(v){var y,f;return f=(y=v.detail)!=null?y[0]:void 0,(f!=null?f.getResponseHeader("X-Xhr-Redirect"):void 0)!=null}}.call(this),function(){var n;n=e.stopEverything,e.handleMethod=function(r){var i,o,a,s,l,u,p;if(u=this,p=u.getAttribute("data-method"),!!p)return l=e.href(u),o=e.csrfToken(),i=e.csrfParam(),a=document.createElement("form"),s="<input name='_method' value='"+p+"' type='hidden' />",i!=null&&o!=null&&!e.isCrossDomain(l)&&(s+="<input name='"+i+"' value='"+o+"' type='hidden' />"),s+='<input type="submit" />',a.method="post",a.action=l,a.target=u.target,a.innerHTML=s,a.style.display="none",document.body.appendChild(a),a.querySelector('[type="submit"]').click(),n(r)}}.call(this),function(){var n,r,i,o,a,s,l,u,p,m=[].slice;s=e.matches,i=e.getData,u=e.setData,r=e.fire,p=e.stopEverything,n=e.ajax,o=e.isCrossDomain,l=e.serializeElement,a=function(h){var E;return E=h.getAttribute("data-remote"),E!=null&&E!=="false"},e.handleRemote=function(h){var E,v,y,f,d,c,g;return f=this,a(f)?r(f,"ajax:before")?(g=f.getAttribute("data-with-credentials"),y=f.getAttribute("data-type")||"script",s(f,e.formSubmitSelector)?(E=i(f,"ujs:submit-button"),d=i(f,"ujs:submit-button-formmethod")||f.method,c=i(f,"ujs:submit-button-formaction")||f.getAttribute("action")||location.href,d.toUpperCase()==="GET"&&(c=c.replace(/\?.*$/,"")),f.enctype==="multipart/form-data"?(v=new FormData(f),E!=null&&v.append(E.name,E.value)):v=l(f,E),u(f,"ujs:submit-button",null),u(f,"ujs:submit-button-formmethod",null),u(f,"ujs:submit-button-formaction",null)):s(f,e.buttonClickSelector)||s(f,e.inputChangeSelector)?(d=f.getAttribute("data-method"),c=f.getAttribute("data-url"),v=l(f,f.getAttribute("data-params"))):(d=f.getAttribute("data-method"),c=e.href(f),v=f.getAttribute("data-params")),n({type:d||"GET",url:c,data:v,dataType:y,beforeSend:function(w,M){return r(f,"ajax:beforeSend",[w,M])?r(f,"ajax:send",[w]):(r(f,"ajax:stopped"),!1)},success:function(){var w;return w=1<=arguments.length?m.call(arguments,0):[],r(f,"ajax:success",w)},error:function(){var w;return w=1<=arguments.length?m.call(arguments,0):[],r(f,"ajax:error",w)},complete:function(){var w;return w=1<=arguments.length?m.call(arguments,0):[],r(f,"ajax:complete",w)},crossDomain:o(c),withCredentials:g!=null&&g!=="false"}),p(h)):(r(f,"ajax:stopped"),!1):!0},e.formSubmitButtonClick=function(h){var E,v;if(E=this,v=E.form,!!v)return E.name&&u(v,"ujs:submit-button",{name:E.name,value:E.value}),u(v,"ujs:formnovalidate-button",E.formNoValidate),u(v,"ujs:submit-button-formaction",E.getAttribute("formaction")),u(v,"ujs:submit-button-formmethod",E.getAttribute("formmethod"))},e.preventInsignificantClick=function(h){var E,v,y,f,d,c;if(y=this,d=(y.getAttribute("data-method")||"GET").toUpperCase(),E=y.getAttribute("data-params"),f=h.metaKey||h.ctrlKey,v=f&&d==="GET"&&!E,c=h.button!=null&&h.button!==0,c||v)return h.stopImmediatePropagation()}}.call(this),function(){var n,r,i,o,a,s,l,u,p,m,h,E,v,y,f;if(s=e.fire,i=e.delegate,u=e.getData,n=e.$,f=e.refreshCSRFTokens,r=e.CSRFProtection,v=e.loadCSPNonce,a=e.enableElement,o=e.disableElement,m=e.handleDisabledElement,p=e.handleConfirm,y=e.preventInsignificantClick,E=e.handleRemote,l=e.formSubmitButtonClick,h=e.handleMethod,typeof jQuery<"u"&&jQuery!==null&&jQuery.ajax!=null){if(jQuery.rails)throw new Error("If you load both jquery_ujs and rails-ujs, use rails-ujs only.");jQuery.rails=e,jQuery.ajaxPrefilter(function(d,c,g){if(!d.crossDomain)return r(g)})}e.start=function(){if(window._rails_loaded)throw new Error("rails-ujs has already been loaded!");return window.addEventListener("pageshow",function(){return n(e.formEnableSelector).forEach(function(d){if(u(d,"ujs:disabled"))return a(d)}),n(e.linkDisableSelector).forEach(function(d){if(u(d,"ujs:disabled"))return a(d)})}),i(document,e.linkDisableSelector,"ajax:complete",a),i(document,e.linkDisableSelector,"ajax:stopped",a),i(document,e.buttonDisableSelector,"ajax:complete",a),i(document,e.buttonDisableSelector,"ajax:stopped",a),i(document,e.linkClickSelector,"click",y),i(document,e.linkClickSelector,"click",m),i(document,e.linkClickSelector,"click",p),i(document,e.linkClickSelector,"click",o),i(document,e.linkClickSelector,"click",E),i(document,e.linkClickSelector,"click",h),i(document,e.buttonClickSelector,"click",y),i(document,e.buttonClickSelector,"click",m),i(document,e.buttonClickSelector,"click",p),i(document,e.buttonClickSelector,"click",o),i(document,e.buttonClickSelector,"click",E),i(document,e.inputChangeSelector,"change",m),i(document,e.inputChangeSelector,"change",p),i(document,e.inputChangeSelector,"change",E),i(document,e.formSubmitSelector,"submit",m),i(document,e.formSubmitSelector,"submit",p),i(document,e.formSubmitSelector,"submit",E),i(document,e.formSubmitSelector,"submit",function(d){return setTimeout(function(){return o(d)},13)}),i(document,e.formSubmitSelector,"ajax:send",o),i(document,e.formSubmitSelector,"ajax:complete",a),i(document,e.formInputClickSelector,"click",y),i(document,e.formInputClickSelector,"click",m),i(document,e.formInputClickSelector,"click",p),i(document,e.formInputClickSelector,"click",l),document.addEventListener("DOMContentLoaded",f),document.addEventListener("DOMContentLoaded",v),window._rails_loaded=!0},window.Rails===e&&s(document,"rails:attachBindings")&&e.start()}.call(this)}).call(this),typeof go=="object"&&go.exports?go.exports=e:typeof define=="function"&&define.amd&&define(e)}).call(Cc)});var wo=Y((Yw,Jc)=>{"use strict";var Zc=Object.getOwnPropertySymbols,yv=Object.prototype.hasOwnProperty,wv=Object.prototype.propertyIsEnumerable;function Ev(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function xv(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(e).map(function(o){return e[o]});if(r.join("")!=="0123456789")return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(o){i[o]=o}),Object.keys(Object.assign({},i)).join("")==="abcdefghijklmnopqrst"}catch(o){return!1}}Jc.exports=xv()?Object.assign:function(t,e){for(var n,r=Ev(t),i,o=1;o<arguments.length;o++){n=Object(arguments[o]);for(var a in n)yv.call(n,a)&&(r[a]=n[a]);if(Zc){i=Zc(n);for(var s=0;s<i.length;s++)wv.call(n,i[s])&&(r[i[s]]=n[i[s]])}}return r}});var md=Y(G=>{"use strict";var Ds=wo(),$n=60103,nd=60106;G.Fragment=60107;G.StrictMode=60108;G.Profiler=60114;var rd=60109,id=60110,od=60112;G.Suspense=60113;var ad=60115,sd=60116;typeof Symbol=="function"&&Symbol.for&&(Je=Symbol.for,$n=Je("react.element"),nd=Je("react.portal"),G.Fragment=Je("react.fragment"),G.StrictMode=Je("react.strict_mode"),G.Profiler=Je("react.profiler"),rd=Je("react.provider"),id=Je("react.context"),od=Je("react.forward_ref"),G.Suspense=Je("react.suspense"),ad=Je("react.memo"),sd=Je("react.lazy"));var Je,ed=typeof Symbol=="function"&&Symbol.iterator;function Sv(t){return t===null||typeof t!="object"?null:(t=ed&&t[ed]||t["@@iterator"],typeof t=="function"?t:null)}function qr(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var ld={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ud={};function Vn(t,e,n){this.props=t,this.context=e,this.refs=ud,this.updater=n||ld}Vn.prototype.isReactComponent={};Vn.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error(qr(85));this.updater.enqueueSetState(this,t,e,"setState")};Vn.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function cd(){}cd.prototype=Vn.prototype;function Ps(t,e,n){this.props=t,this.context=e,this.refs=ud,this.updater=n||ld}var As=Ps.prototype=new cd;As.constructor=Ps;Ds(As,Vn.prototype);As.isPureReactComponent=!0;var Ls={current:null},dd=Object.prototype.hasOwnProperty,fd={key:!0,ref:!0,__self:!0,__source:!0};function pd(t,e,n){var r,i={},o=null,a=null;if(e!=null)for(r in e.ref!==void 0&&(a=e.ref),e.key!==void 0&&(o=""+e.key),e)dd.call(e,r)&&!fd.hasOwnProperty(r)&&(i[r]=e[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1<s){for(var l=Array(s),u=0;u<s;u++)l[u]=arguments[u+2];i.children=l}if(t&&t.defaultProps)for(r in s=t.defaultProps,s)i[r]===void 0&&(i[r]=s[r]);return{$$typeof:$n,type:t,key:o,ref:a,props:i,_owner:Ls.current}}function Cv(t,e){return{$$typeof:$n,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function Ms(t){return typeof t=="object"&&t!==null&&t.$$typeof===$n}function bv(t){var e={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(n){return e[n]})}var td=/\/+/g;function _s(t,e){return typeof t=="object"&&t!==null&&t.key!=null?bv(""+t.key):e.toString(36)}function xo(t,e,n,r,i){var o=typeof t;(o==="undefined"||o==="boolean")&&(t=null);var a=!1;if(t===null)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case $n:case nd:a=!0}}if(a)return a=t,i=i(a),t=r===""?"."+_s(a,0):r,Array.isArray(i)?(n="",t!=null&&(n=t.replace(td,"$&/")+"/"),xo(i,e,n,"",function(u){return u})):i!=null&&(Ms(i)&&(i=Cv(i,n+(!i.key||a&&a.key===i.key?"":(""+i.key).replace(td,"$&/")+"/")+t)),e.push(i)),1;if(a=0,r=r===""?".":r+":",Array.isArray(t))for(var s=0;s<t.length;s++){o=t[s];var l=r+_s(o,s);a+=xo(o,e,n,l,i)}else if(l=Sv(t),typeof l=="function")for(t=l.call(t),s=0;!(o=t.next()).done;)o=o.value,l=r+_s(o,s++),a+=xo(o,e,n,l,i);else if(o==="object")throw e=""+t,Error(qr(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e));return a}function Eo(t,e,n){if(t==null)return t;var r=[],i=0;return xo(t,r,"","",function(o){return e.call(n,o,i++)}),r}function kv(t){if(t._status===-1){var e=t._result;e=e(),t._status=0,t._result=e,e.then(function(n){t._status===0&&(n=n.default,t._status=1,t._result=n)},function(n){t._status===0&&(t._status=2,t._result=n)})}if(t._status===1)return t._result;throw t._result}var hd={current:null};function Nt(){var t=hd.current;if(t===null)throw Error(qr(321));return t}var Tv={ReactCurrentDispatcher:hd,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:Ls,IsSomeRendererActing:{current:!1},assign:Ds};G.Children={map:Eo,forEach:function(t,e,n){Eo(t,function(){e.apply(this,arguments)},n)},count:function(t){var e=0;return Eo(t,function(){e++}),e},toArray:function(t){return Eo(t,function(e){return e})||[]},only:function(t){if(!Ms(t))throw Error(qr(143));return t}};G.Component=Vn;G.PureComponent=Ps;G.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Tv;G.cloneElement=function(t,e,n){if(t==null)throw Error(qr(267,t));var r=Ds({},t.props),i=t.key,o=t.ref,a=t._owner;if(e!=null){if(e.ref!==void 0&&(o=e.ref,a=Ls.current),e.key!==void 0&&(i=""+e.key),t.type&&t.type.defaultProps)var s=t.type.defaultProps;for(l in e)dd.call(e,l)&&!fd.hasOwnProperty(l)&&(r[l]=e[l]===void 0&&s!==void 0?s[l]:e[l])}var l=arguments.length-2;if(l===1)r.children=n;else if(1<l){s=Array(l);for(var u=0;u<l;u++)s[u]=arguments[u+2];r.children=s}return{$$typeof:$n,type:t.type,key:i,ref:o,props:r,_owner:a}};G.createContext=function(t,e){return e===void 0&&(e=null),t={$$typeof:id,_calculateChangedBits:e,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider={$$typeof:rd,_context:t},t.Consumer=t};G.createElement=pd;G.createFactory=function(t){var e=pd.bind(null,t);return e.type=t,e};G.createRef=function(){return{current:null}};G.forwardRef=function(t){return{$$typeof:od,render:t}};G.isValidElement=Ms;G.lazy=function(t){return{$$typeof:sd,_payload:{_status:-1,_result:t},_init:kv}};G.memo=function(t,e){return{$$typeof:ad,type:t,compare:e===void 0?null:e}};G.useCallback=function(t,e){return Nt().useCallback(t,e)};G.useContext=function(t,e){return Nt().useContext(t,e)};G.useDebugValue=function(){};G.useEffect=function(t,e){return Nt().useEffect(t,e)};G.useImperativeHandle=function(t,e,n){return Nt().useImperativeHandle(t,e,n)};G.useLayoutEffect=function(t,e){return Nt().useLayoutEffect(t,e)};G.useMemo=function(t,e){return Nt().useMemo(t,e)};G.useReducer=function(t,e,n){return Nt().useReducer(t,e,n)};G.useRef=function(t){return Nt().useRef(t)};G.useState=function(t){return Nt().useState(t)};G.version="17.0.2"});var H=Y((Qw,gd)=>{"use strict";gd.exports=md()});var yd=Y((Gw,vd)=>{"use strict";var Ov="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";vd.exports=Ov});var Sd=Y((Zw,xd)=>{"use strict";var Nv=yd();function wd(){}function Ed(){}Ed.resetWarningCache=wd;xd.exports=function(){function t(r,i,o,a,s,l){if(l!==Nv){var u=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 u.name="Invariant Violation",u}}t.isRequired=t;function e(){return t}var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:Ed,resetWarningCache:wd};return n.PropTypes=n,n}});var J=Y((t1,Cd)=>{Cd.exports=Sd()();var Jw,e1});var Dd=Y((E1,_d)=>{var Dv=typeof global=="object"&&global&&global.Object===Object&&global;_d.exports=Dv});var Ad=Y((x1,Pd)=>{var Pv=Dd(),Av=typeof self=="object"&&self&&self.Object===Object&&self,Lv=Pv||Av||Function("return this")();Pd.exports=Lv});var Co=Y((S1,Ld)=>{var Mv=Ad(),Iv=Mv.Symbol;Ld.exports=Iv});var Id=Y((C1,Md)=>{function jv(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}Md.exports=jv});var Fd=Y((b1,jd)=>{var Fv=Array.isArray;jd.exports=Fv});var Bd=Y((k1,zd)=>{var Rd=Co(),Ud=Object.prototype,Rv=Ud.hasOwnProperty,Uv=Ud.toString,Gr=Rd?Rd.toStringTag:void 0;function zv(t){var e=Rv.call(t,Gr),n=t[Gr];try{t[Gr]=void 0;var r=!0}catch(o){}var i=Uv.call(t);return r&&(e?t[Gr]=n:delete t[Gr]),i}zd.exports=zv});var Vd=Y((T1,$d)=>{var Bv=Object.prototype,$v=Bv.toString;function Vv(t){return $v.call(t)}$d.exports=Vv});var qd=Y((O1,Kd)=>{var Wd=Co(),Wv=Bd(),Hv=Vd(),Kv="[object Null]",qv="[object Undefined]",Hd=Wd?Wd.toStringTag:void 0;function Yv(t){return t==null?t===void 0?qv:Kv:Hd&&Hd in Object(t)?Wv(t):Hv(t)}Kd.exports=Yv});var Xd=Y((N1,Yd)=>{function Xv(t){return t!=null&&typeof t=="object"}Yd.exports=Xv});var Gd=Y((_1,Qd)=>{var Qv=qd(),Gv=Xd(),Zv="[object Symbol]";function Jv(t){return typeof t=="symbol"||Gv(t)&&Qv(t)==Zv}Qd.exports=Jv});var rf=Y((D1,nf)=>{var Zd=Co(),ey=Id(),ty=Fd(),ny=Gd(),ry=1/0,Jd=Zd?Zd.prototype:void 0,ef=Jd?Jd.toString:void 0;function tf(t){if(typeof t=="string")return t;if(ty(t))return ey(t,tf)+"";if(ny(t))return ef?ef.call(t):"";var e=t+"";return e=="0"&&1/t==-ry?"-0":e}nf.exports=tf});var af=Y((P1,of)=>{var iy=rf();function oy(t){return t==null?"":iy(t)}of.exports=oy});var lf=Y((A1,sf)=>{var ay=af(),sy=0;function ly(t){var e=++sy;return ay(t)+e}sf.exports=ly});var pf=Y((ti,Fs)=>{(function(e,n){typeof ti=="object"&&typeof Fs=="object"?Fs.exports=n(H()):typeof define=="function"&&define.amd?define(["react"],n):typeof ti=="object"?ti.ReactCrop=n(H()):e.ReactCrop=n(e.React)})(typeof self<"u"?self:ti,function(t){return function(e){var n={};function r(i){if(n[i])return n[i].exports;var o=n[i]={i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=n,r.d=function(i,o,a){r.o(i,o)||Object.defineProperty(i,o,{configurable:!1,enumerable:!0,get:a})},r.n=function(i){var o=i&&i.__esModule?function(){return i.default}:function(){return i};return r.d(o,"a",o),o},r.o=function(i,o){return Object.prototype.hasOwnProperty.call(i,o)},r.p="",r(r.s=2)}([function(e,n){var r=e.exports={},i,o;function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?i=setTimeout:i=a}catch(c){i=a}try{typeof clearTimeout=="function"?o=clearTimeout:o=s}catch(c){o=s}})();function l(c){if(i===setTimeout)return setTimeout(c,0);if((i===a||!i)&&setTimeout)return i=setTimeout,setTimeout(c,0);try{return i(c,0)}catch(g){try{return i.call(null,c,0)}catch(w){return i.call(this,c,0)}}}function u(c){if(o===clearTimeout)return clearTimeout(c);if((o===s||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(c);try{return o(c)}catch(g){try{return o.call(null,c)}catch(w){return o.call(this,c)}}}var p=[],m=!1,h,E=-1;function v(){!m||!h||(m=!1,h.length?p=h.concat(p):E=-1,p.length&&y())}function y(){if(!m){var c=l(v);m=!0;for(var g=p.length;g;){for(h=p,p=[];++E<g;)h&&h[E].run();E=-1,g=p.length}h=null,m=!1,u(c)}}r.nextTick=function(c){var g=new Array(arguments.length-1);if(arguments.length>1)for(var w=1;w<arguments.length;w++)g[w-1]=arguments[w];p.push(new f(c,g)),p.length===1&&!m&&l(y)};function f(c,g){this.fun=c,this.array=g}f.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={};function d(){}r.on=d,r.addListener=d,r.once=d,r.off=d,r.removeListener=d,r.removeAllListeners=d,r.emit=d,r.prependListener=d,r.prependOnceListener=d,r.listeners=function(c){return[]},r.binding=function(c){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(c){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},function(e,n,r){"use strict";var i="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=i},function(e,n,r){"use strict";var i=function(){function k(b,I){for(var x=0;x<I.length;x++){var S=I[x];S.enumerable=S.enumerable||!1,S.configurable=!0,"value"in S&&(S.writable=!0),Object.defineProperty(b,S.key,S)}}return function(b,I,x){return I&&k(b.prototype,I),x&&k(b,x),b}}(),o=Object.assign||function(k){for(var b=1;b<arguments.length;b++){var I=arguments[b];for(var x in I)Object.prototype.hasOwnProperty.call(I,x)&&(k[x]=I[x])}return k},a=r(3),s=p(a),l=r(4),u=p(l);function p(k){return k&&k.__esModule?k:{default:k}}function m(k){if(Array.isArray(k)){for(var b=0,I=Array(k.length);b<k.length;b++)I[b]=k[b];return I}else return Array.from(k)}function h(k,b){if(!(k instanceof b))throw new TypeError("Cannot call a class as a function")}function E(k,b){if(!k)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return b&&(typeof b=="object"||typeof b=="function")?b:k}function v(k,b){if(typeof b!="function"&&b!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof b);k.prototype=Object.create(b&&b.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(k,b):k.__proto__=b)}var y=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return y=!0,!0}}))}catch(k){}var f="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";function d(k){var b=k.getBoundingClientRect(),I=document.documentElement,x=b.top+window.pageYOffset-I.clientTop,S=b.left+window.pageXOffset-I.clientLeft;return{top:x,left:S}}function c(k){var b=void 0,I=void 0;return k.touches?(b=k.touches[0].pageX,I=k.touches[0].pageY):(b=k.pageX,I=k.pageY),{x:b,y:I}}function g(k,b,I){return Math.min(Math.max(k,b),I)}function w(k){return k&&k.width&&k.height}function M(k){var b=void 0;return k==="n"?b="s":k==="ne"?b="sw":k==="e"?b="w":k==="se"?b="nw":k==="s"?b="n":k==="sw"?b="ne":k==="w"?b="e":k==="nw"&&(b="se"),b}function O(k,b){if(isNaN(k.aspect)||isNaN(b))return console.warn("`crop.aspect` and `imageAspect` need to be numbers in order to make an aspect crop",k),k;var I=o({},k);return k.width&&(I.height=k.width/k.aspect*b),k.height&&(I.width=(I.height||k.height)*(k.aspect/b)),k.y+(I.height||k.height)>100&&(I.height=100-k.y,I.width=I.height*k.aspect/b),k.x+(I.width||k.width)>100&&(I.width=100-k.x,I.height=I.width/k.aspect*b),I}function R(k,b){return k&&k.aspect&&(!k.width&&k.height||k.width&&!k.height)?O(k,b.naturalWidth/b.naturalHeight):k}function T(k,b){if(!k||!b)return null;var I=Math.round(k.naturalWidth*(b.x/100)),x=Math.round(k.naturalHeight*(b.y/100)),S=Math.round(k.naturalWidth*(b.width/100)),Z=Math.round(k.naturalHeight*(b.height/100));return{x:I,y:x,width:g(S,0,k.naturalWidth-I),height:g(Z,0,k.naturalHeight-x)}}function P(k,b,I){var x=o({},b),S=!1;x.x+x.width>100?(x.width=b.width+(100-(b.x+b.width)),x.x=b.x+(100-(b.x+x.width)),S=!0):x.x<0&&(x.width=b.x+b.width,x.x=0,S=!0),S&&b.aspect&&(x.height=x.width/b.aspect*I,k.y>x.y&&(x.y=b.y+(b.height-x.height)));var Z=!1;return x.y+x.height>100?(x.height=b.height+(100-(b.y+b.height)),x.y=b.y+(100-(b.y+x.height)),Z=!0):x.y<0&&(x.height=b.y+b.height,x.y=0,Z=!0),Z&&b.aspect&&(x.width=x.height*b.aspect/I,x.x<b.x&&(x.x=b.x+(b.width-x.width))),x}var Q=function(k){v(b,k);function b(){var I,x,S,Z;h(this,b);for(var de=arguments.length,ve=Array(de),me=0;me<de;me++)ve[me]=arguments[me];return Z=(x=(S=E(this,(I=b.__proto__||Object.getPrototypeOf(b)).call.apply(I,[this].concat(ve))),S),S.state={},S.onCropMouseTouchDown=function(K){var C=S.props,_=C.crop,U=C.disabled;if(!U){K.preventDefault();var W=c(K);S.componentRef.focus({preventScroll:!0});var z=K.target.dataset.ord,B=z==="nw"||z==="w"||z==="sw",F=z==="nw"||z==="n"||z==="ne",A=void 0;_.aspect&&(A=d(S.cropSelectRef)),S.evData={clientStartX:W.x,clientStartY:W.y,cropStartWidth:_.width,cropStartHeight:_.height,cropStartX:B?_.x+_.width:_.x,cropStartY:F?_.y+_.height:_.y,xInversed:B,yInversed:F,xCrossOver:B,yCrossOver:F,startXCrossOver:B,startYCrossOver:F,isResize:K.target!==S.cropSelectRef,ord:z,cropOffset:A},S.mouseDownOnCrop=!0,S.setState({cropIsActive:!0})}},S.onComponentMouseTouchDown=function(K){var C=S.props,_=C.crop,U=C.disabled,W=C.keepSelection,z=C.onChange;if(K.target===S.imageRef&&!(U||W&&w(_))){K.preventDefault();var B=c(K);S.componentRef.focus({preventScroll:!0});var F=d(S.imageRef),A=(B.x-F.left)/S.imageRef.width*100,X=(B.y-F.top)/S.imageRef.height*100,q={aspect:_?_.aspect:void 0,x:A,y:X,width:0,height:0};S.evData={clientStartX:B.x,clientStartY:B.y,cropStartWidth:q.width,cropStartHeight:q.height,cropStartX:q.x,cropStartY:q.y,xInversed:!1,yInversed:!1,xCrossOver:!1,yCrossOver:!1,startXCrossOver:!1,startYCrossOver:!1,isResize:!0,ord:"nw"},S.mouseDownOnCrop=!0,z(q,T(S.imageRef,q)),S.setState({cropIsActive:!0})}},S.onDocMouseTouchMove=function(K){var C=S.props,_=C.crop,U=C.disabled,W=C.onChange,z=C.onDragStart;if(z(),!U&&!!S.mouseDownOnCrop){K.preventDefault();var B=S,F=B.evData,A=c(K);F.isResize&&_.aspect&&F.cropOffset&&(A.y=S.straightenYPath(A.x));var X=A.x-F.clientStartX;F.xDiffPc=X/S.imageRef.width*100;var q=A.y-F.clientStartY;F.yDiffPc=q/S.imageRef.height*100;var te=void 0;F.isResize?te=S.resizeCrop():te=S.dragCrop(),W(te,T(S.imageRef,te))}},S.onComponentKeyDown=function(K){var C=S.props,_=C.crop,U=C.disabled,W=C.onChange,z=C.onComplete;if(!U){var B=K.which,F=!1;if(!!w(_)){var A=S.makeNewCrop();B===b.arrowKey.left?(A.x-=b.nudgeStep,F=!0):B===b.arrowKey.right?(A.x+=b.nudgeStep,F=!0):B===b.arrowKey.up?(A.y-=b.nudgeStep,F=!0):B===b.arrowKey.down&&(A.y+=b.nudgeStep,F=!0),F&&(K.preventDefault(),A.x=g(A.x,0,100-A.width),A.y=g(A.y,0,100-A.height),W(A,T(S.imageRef,A)),z(A,T(S.imageRef,A)))}}},S.onDocMouseTouchEnd=function(){var K=S.props,C=K.crop,_=K.disabled,U=K.onComplete,W=K.onDragEnd;W(),!_&&S.mouseDownOnCrop&&(S.mouseDownOnCrop=!1,U(C,T(S.imageRef,C)),S.setState({cropIsActive:!1}))},x),E(S,Z)}return i(b,[{key:"componentDidMount",value:function(){var x=y?{passive:!1}:!1;if(document.addEventListener("mousemove",this.onDocMouseTouchMove,x),document.addEventListener("touchmove",this.onDocMouseTouchMove,x),document.addEventListener("mouseup",this.onDocMouseTouchEnd,x),document.addEventListener("touchend",this.onDocMouseTouchEnd,x),document.addEventListener("touchcancel",this.onDocMouseTouchEnd,x),this.imageRef.complete||this.imageRef.readyState)if(this.imageRef.naturalWidth===0){var S=this.imageRef.src;this.imageRef.src=f,this.imageRef.src=S}else this.onImageLoad(this.imageRef)}},{key:"componentDidUpdate",value:function(x){x.crop!==this.props.crop&&this.resolveCropAndTriggerChange(this.props.crop,this.imageRef)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("mousemove",this.onDocMouseTouchMove),document.removeEventListener("touchmove",this.onDocMouseTouchMove),document.removeEventListener("mouseup",this.onDocMouseTouchEnd),document.removeEventListener("touchend",this.onDocMouseTouchEnd),document.removeEventListener("touchcancel",this.onDocMouseTouchEnd)}},{key:"onImageLoad",value:function(x){var S=this.resolveCropAndTriggerChange(this.props.crop,x);this.props.onImageLoaded(x,T(x,S))}},{key:"getCropStyle",value:function(){var x=this.props.crop;return{top:x.y+"%",left:x.x+"%",width:x.width+"%",height:x.height+"%"}}},{key:"getNewSize",value:function(){var x=this.props,S=x.crop,Z=x.minWidth,de=x.maxWidth,ve=x.minHeight,me=x.maxHeight,K=this.evData,C=this.imageRef.width/this.imageRef.height,_=K.cropStartWidth+K.xDiffPc;K.xCrossOver&&(_=Math.abs(_)),_=g(_,Z,de);var U=void 0;return S.aspect?U=_/S.aspect*C:U=K.cropStartHeight+K.yDiffPc,K.yCrossOver&&(U=Math.min(Math.abs(U),K.cropStartY)),U=g(U,ve,me),S.aspect&&(_=g(U*S.aspect/C,0,100)),{width:_,height:U}}},{key:"resolveCropAndTriggerChange",value:function(x,S){var Z=R(x,S);return Z!==x&&(this.props.onChange(Z,T(S,Z)),this.props.onComplete(Z,T(S,Z))),Z}},{key:"dragCrop",value:function(){var x=this.makeNewCrop(),S=this.evData;return x.x=g(S.cropStartX+S.xDiffPc,0,100-x.width),x.y=g(S.cropStartY+S.yDiffPc,0,100-x.height),x}},{key:"resizeCrop",value:function(){var x=this.makeNewCrop(),S=this.evData,Z=S.ord,de=this.imageRef.width/this.imageRef.height;S.xInversed&&(S.xDiffPc-=S.cropStartWidth*2),S.yInversed&&(S.yDiffPc-=S.cropStartHeight*2);var ve=this.getNewSize(),me=S.cropStartX,K=S.cropStartY;S.xCrossOver&&(me=x.x+(x.width-ve.width)),S.yCrossOver&&(S.lastYCrossover===!1?K=x.y-ve.height:K=x.y+(x.height-ve.height));var C=P(this.props.crop,{x:me,y:K,width:ve.width,height:ve.height,aspect:x.aspect},de);return x.aspect||b.xyOrds.indexOf(Z)>-1?(x.x=C.x,x.y=C.y,x.width=C.width,x.height=C.height):b.xOrds.indexOf(Z)>-1?(x.x=C.x,x.width=C.width):b.yOrds.indexOf(Z)>-1&&(x.y=C.y,x.height=C.height),S.lastYCrossover=S.yCrossOver,this.crossOverCheck(),x}},{key:"straightenYPath",value:function(x){var S=this.evData,Z=S.ord,de=S.cropOffset,ve=S.cropStartWidth/100*this.imageRef.width,me=S.cropStartHeight/100*this.imageRef.height,K=void 0,C=void 0;return Z==="nw"||Z==="se"?(K=me/ve,C=de.top-de.left*K):(K=-me/ve,C=de.top+(me-de.left*K)),K*x+C}},{key:"createCropSelection",value:function(){var x=this,S=this.props.disabled,Z=this.getCropStyle();return s.default.createElement("div",{ref:function(ve){x.cropSelectRef=ve},style:Z,className:"ReactCrop__crop-selection",onMouseDown:this.onCropMouseTouchDown,onTouchStart:this.onCropMouseTouchDown,role:"presentation"},!S&&s.default.createElement("div",{className:"ReactCrop__drag-elements"},s.default.createElement("div",{className:"ReactCrop__drag-bar ord-n","data-ord":"n"}),s.default.createElement("div",{className:"ReactCrop__drag-bar ord-e","data-ord":"e"}),s.default.createElement("div",{className:"ReactCrop__drag-bar ord-s","data-ord":"s"}),s.default.createElement("div",{className:"ReactCrop__drag-bar ord-w","data-ord":"w"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-nw","data-ord":"nw"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-n","data-ord":"n"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-ne","data-ord":"ne"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-e","data-ord":"e"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-se","data-ord":"se"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-s","data-ord":"s"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-sw","data-ord":"sw"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-w","data-ord":"w"})))}},{key:"makeNewCrop",value:function(){return o({},b.defaultCrop,this.props.crop)}},{key:"crossOverCheck",value:function(){var x=this.evData;(!x.xCrossOver&&-Math.abs(x.cropStartWidth)-x.xDiffPc>=0||x.xCrossOver&&-Math.abs(x.cropStartWidth)-x.xDiffPc<=0)&&(x.xCrossOver=!x.xCrossOver),(!x.yCrossOver&&-Math.abs(x.cropStartHeight)-x.yDiffPc>=0||x.yCrossOver&&-Math.abs(x.cropStartHeight)-x.yDiffPc<=0)&&(x.yCrossOver=!x.yCrossOver);var S=x.xCrossOver!==x.startXCrossOver,Z=x.yCrossOver!==x.startYCrossOver;x.inversedXOrd=S?M(x.ord):!1,x.inversedYOrd=Z?M(x.ord):!1}},{key:"render",value:function(){var x=this,S=this.props,Z=S.children,de=S.className,ve=S.crossorigin,me=S.crop,K=S.disabled,C=S.imageAlt,_=S.onImageError,U=S.src,W=S.style,z=S.imageStyle,B=this.state.cropIsActive,F=void 0;w(me)&&(F=this.createCropSelection());var A=["ReactCrop"];return B&&A.push("ReactCrop--active"),me&&(me.aspect&&A.push("ReactCrop--fixed-aspect"),B&&(!me.width||!me.height)&&A.push("ReactCrop--crop-invisible")),K&&A.push("ReactCrop--disabled"),de&&A.push.apply(A,m(de.split(" "))),s.default.createElement("div",{ref:function(q){x.componentRef=q},className:A.join(" "),style:W,onTouchStart:this.onComponentMouseTouchDown,onMouseDown:this.onComponentMouseTouchDown,role:"presentation",tabIndex:"1",onKeyDown:this.onComponentKeyDown},s.default.createElement("img",{ref:function(q){x.imageRef=q},crossOrigin:ve,className:"ReactCrop__image",style:z,src:U,onLoad:function(q){return x.onImageLoad(q.target)},onError:_,alt:C}),F,Z)}}]),b}(a.PureComponent);Q.xOrds=["e","w"],Q.yOrds=["n","s"],Q.xyOrds=["nw","ne","se","sw"],Q.arrowKey={left:37,up:38,right:39,down:40},Q.nudgeStep=.2,Q.defaultCrop={x:0,y:0,width:0,height:0},Q.propTypes={className:u.default.string,crossorigin:u.default.string,children:u.default.oneOfType([u.default.arrayOf(u.default.node),u.default.node]),crop:u.default.shape({aspect:u.default.number,x:u.default.number,y:u.default.number,width:u.default.number,height:u.default.number}),disabled:u.default.bool,imageAlt:u.default.string,imageStyle:u.default.shape({}),keepSelection:u.default.bool,minWidth:u.default.number,minHeight:u.default.number,maxWidth:u.default.number,maxHeight:u.default.number,onChange:u.default.func.isRequired,onImageError:u.default.func,onComplete:u.default.func,onImageLoaded:u.default.func,onDragStart:u.default.func,onDragEnd:u.default.func,src:u.default.string.isRequired,style:u.default.shape({})},Q.defaultProps={className:void 0,crop:void 0,crossorigin:void 0,disabled:!1,imageAlt:"",maxWidth:100,maxHeight:100,minWidth:0,minHeight:0,keepSelection:!1,onComplete:function(){},onImageError:function(){},onImageLoaded:function(){},onDragStart:function(){},onDragEnd:function(){},children:void 0,style:void 0,imageStyle:void 0},e.exports=Q,e.exports.getPixelCrop=T,e.exports.makeAspectCrop=O,e.exports.containCrop=P},function(e,n){e.exports=t},function(e,n,r){(function(i){if(i.env.NODE_ENV!=="production"){var o=typeof Symbol=="function"&&Symbol.for&&Symbol.for("react.element")||60103,a=function(l){return typeof l=="object"&&l!==null&&l.$$typeof===o},s=!0;e.exports=r(5)(a,s)}else e.exports=r(8)()}).call(n,r(0))},function(e,n,r){"use strict";(function(i){var o=r(6),a=r(1),s=r(7),l=function(){};i.env.NODE_ENV!=="production"&&(l=function(p){var m="Warning: "+p;typeof console<"u"&&console.error(m);try{throw new Error(m)}catch(h){}});function u(){return null}e.exports=function(p,m){var h=typeof Symbol=="function"&&Symbol.iterator,E="@@iterator";function v(C){var _=C&&(h&&C[h]||C[E]);if(typeof _=="function")return _}var y="<<anonymous>>",f={array:w("array"),bool:w("boolean"),func:w("function"),number:w("number"),object:w("object"),string:w("string"),symbol:w("symbol"),any:M(),arrayOf:O,element:R(),instanceOf:T,node:b(),objectOf:Q,oneOf:P,oneOfType:k,shape:I,exact:x};function d(C,_){return C===_?C!==0||1/C===1/_:C!==C&&_!==_}function c(C){this.message=C,this.stack=""}c.prototype=Error.prototype;function g(C){if(i.env.NODE_ENV!=="production")var _={},U=0;function W(B,F,A,X,q,te,gn){if(X=X||y,te=te||A,gn!==a){if(m){var Vr=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 Vr.name="Invariant Violation",Vr}else if(i.env.NODE_ENV!=="production"&&typeof console<"u"){var wc=X+":"+A;!_[wc]&&U<3&&(l("You are manually calling a React.PropTypes validation function for the `"+te+"` prop on `"+X+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),_[wc]=!0,U++)}}return F[A]==null?B?F[A]===null?new c("The "+q+" `"+te+"` is marked as required "+("in `"+X+"`, but its value is `null`.")):new c("The "+q+" `"+te+"` is marked as required in "+("`"+X+"`, but its value is `undefined`.")):null:C(F,A,X,q,te)}var z=W.bind(null,!1);return z.isRequired=W.bind(null,!0),z}function w(C){function _(U,W,z,B,F,A){var X=U[W],q=de(X);if(q!==C){var te=ve(X);return new c("Invalid "+B+" `"+F+"` of type "+("`"+te+"` supplied to `"+z+"`, expected ")+("`"+C+"`."))}return null}return g(_)}function M(){return g(u)}function O(C){function _(U,W,z,B,F){if(typeof C!="function")return new c("Property `"+F+"` of component `"+z+"` has invalid PropType notation inside arrayOf.");var A=U[W];if(!Array.isArray(A)){var X=de(A);return new c("Invalid "+B+" `"+F+"` of type "+("`"+X+"` supplied to `"+z+"`, expected an array."))}for(var q=0;q<A.length;q++){var te=C(A,q,z,B,F+"["+q+"]",a);if(te instanceof Error)return te}return null}return g(_)}function R(){function C(_,U,W,z,B){var F=_[U];if(!p(F)){var A=de(F);return new c("Invalid "+z+" `"+B+"` of type "+("`"+A+"` supplied to `"+W+"`, expected a single ReactElement."))}return null}return g(C)}function T(C){function _(U,W,z,B,F){if(!(U[W]instanceof C)){var A=C.name||y,X=K(U[W]);return new c("Invalid "+B+" `"+F+"` of type "+("`"+X+"` supplied to `"+z+"`, expected ")+("instance of `"+A+"`."))}return null}return g(_)}function P(C){if(!Array.isArray(C))return i.env.NODE_ENV!=="production"&&l("Invalid argument supplied to oneOf, expected an instance of array."),u;function _(U,W,z,B,F){for(var A=U[W],X=0;X<C.length;X++)if(d(A,C[X]))return null;var q=JSON.stringify(C);return new c("Invalid "+B+" `"+F+"` of value `"+A+"` "+("supplied to `"+z+"`, expected one of "+q+"."))}return g(_)}function Q(C){function _(U,W,z,B,F){if(typeof C!="function")return new c("Property `"+F+"` of component `"+z+"` has invalid PropType notation inside objectOf.");var A=U[W],X=de(A);if(X!=="object")return new c("Invalid "+B+" `"+F+"` of type "+("`"+X+"` supplied to `"+z+"`, expected an object."));for(var q in A)if(A.hasOwnProperty(q)){var te=C(A,q,z,B,F+"."+q,a);if(te instanceof Error)return te}return null}return g(_)}function k(C){if(!Array.isArray(C))return i.env.NODE_ENV!=="production"&&l("Invalid argument supplied to oneOfType, expected an instance of array."),u;for(var _=0;_<C.length;_++){var U=C[_];if(typeof U!="function")return l("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+me(U)+" at index "+_+"."),u}function W(z,B,F,A,X){for(var q=0;q<C.length;q++){var te=C[q];if(te(z,B,F,A,X,a)==null)return null}return new c("Invalid "+A+" `"+X+"` supplied to "+("`"+F+"`."))}return g(W)}function b(){function C(_,U,W,z,B){return S(_[U])?null:new c("Invalid "+z+" `"+B+"` supplied to "+("`"+W+"`, expected a ReactNode."))}return g(C)}function I(C){function _(U,W,z,B,F){var A=U[W],X=de(A);if(X!=="object")return new c("Invalid "+B+" `"+F+"` of type `"+X+"` "+("supplied to `"+z+"`, expected `object`."));for(var q in C){var te=C[q];if(!!te){var gn=te(A,q,z,B,F+"."+q,a);if(gn)return gn}}return null}return g(_)}function x(C){function _(U,W,z,B,F){var A=U[W],X=de(A);if(X!=="object")return new c("Invalid "+B+" `"+F+"` of type `"+X+"` "+("supplied to `"+z+"`, expected `object`."));var q=o({},U[W],C);for(var te in q){var gn=C[te];if(!gn)return new c("Invalid "+B+" `"+F+"` key `"+te+"` supplied to `"+z+"`.\nBad object: "+JSON.stringify(U[W],null," ")+`
1
+ (()=>{var xg=Object.create;var Wr=Object.defineProperty,Sg=Object.defineProperties,Cg=Object.getOwnPropertyDescriptor,bg=Object.getOwnPropertyDescriptors,kg=Object.getOwnPropertyNames,Ec=Object.getOwnPropertySymbols,Tg=Object.getPrototypeOf,Sc=Object.prototype.hasOwnProperty,Og=Object.prototype.propertyIsEnumerable;var xc=(t,e,n)=>e in t?Wr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,j=(t,e)=>{for(var n in e||(e={}))Sc.call(e,n)&&xc(t,n,e[n]);if(Ec)for(var n of Ec(e))Og.call(e,n)&&xc(t,n,e[n]);return t},ne=(t,e)=>Sg(t,bg(e)),Ng=t=>Wr(t,"__esModule",{value:!0});var Y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),_g=(t,e)=>{for(var n in e)Wr(t,n,{get:e[n],enumerable:!0})},Dg=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of kg(e))!Sc.call(t,i)&&(n||i!=="default")&&Wr(t,i,{get:()=>e[i],enumerable:!(r=Cg(e,i))||r.enumerable});return t},D=(t,e)=>Dg(Ng(Wr(t!=null?xg(Tg(t)):{},"default",!e&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var bc=Y((Cc,go)=>{(function(){var t=this;(function(){(function(){this.Rails={linkClickSelector:"a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]",buttonClickSelector:{selector:"button[data-remote]:not([form]), button[data-confirm]:not([form])",exclude:"form button"},inputChangeSelector:"select[data-remote], input[data-remote], textarea[data-remote]",formSubmitSelector:"form:not([data-turbo=true])",formInputClickSelector:"form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])",formDisableSelector:"input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled",formEnableSelector:"input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled",fileInputSelector:"input[name][type=file]:not([disabled])",linkDisableSelector:"a[data-disable-with], a[data-disable]",buttonDisableSelector:"button[data-remote][data-disable-with], button[data-remote][data-disable]"}}).call(this)}).call(t);var e=t.Rails;(function(){(function(){var n;n=null,e.loadCSPNonce=function(){var r;return n=(r=document.querySelector("meta[name=csp-nonce]"))!=null?r.content:void 0},e.cspNonce=function(){return n!=null?n:e.loadCSPNonce()}}).call(this),function(){var n,r;r=Element.prototype.matches||Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector,e.matches=function(i,o){return o.exclude!=null?r.call(i,o.selector)&&!r.call(i,o.exclude):r.call(i,o)},n="_ujsData",e.getData=function(i,o){var a;return(a=i[n])!=null?a[o]:void 0},e.setData=function(i,o,a){return i[n]==null&&(i[n]={}),i[n][o]=a},e.$=function(i){return Array.prototype.slice.call(document.querySelectorAll(i))}}.call(this),function(){var n,r,i;n=e.$,i=e.csrfToken=function(){var o;return o=document.querySelector("meta[name=csrf-token]"),o&&o.content},r=e.csrfParam=function(){var o;return o=document.querySelector("meta[name=csrf-param]"),o&&o.content},e.CSRFProtection=function(o){var a;if(a=i(),a!=null)return o.setRequestHeader("X-CSRF-Token",a)},e.refreshCSRFTokens=function(){var o,a;if(a=i(),o=r(),a!=null&&o!=null)return n('form input[name="'+o+'"]').forEach(function(s){return s.value=a})}}.call(this),function(){var n,r,i,o;i=e.matches,n=window.CustomEvent,typeof n!="function"&&(n=function(a,s){var l;return l=document.createEvent("CustomEvent"),l.initCustomEvent(a,s.bubbles,s.cancelable,s.detail),l},n.prototype=window.Event.prototype,o=n.prototype.preventDefault,n.prototype.preventDefault=function(){var a;return a=o.call(this),this.cancelable&&!this.defaultPrevented&&Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}}),a}),r=e.fire=function(a,s,l){var u;return u=new n(s,{bubbles:!0,cancelable:!0,detail:l}),a.dispatchEvent(u),!u.defaultPrevented},e.stopEverything=function(a){return r(a.target,"ujs:everythingStopped"),a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation()},e.delegate=function(a,s,l,u){return a.addEventListener(l,function(p){var m;for(m=p.target;!(!(m instanceof Element)||i(m,s));)m=m.parentNode;if(m instanceof Element&&u.call(m,p)===!1)return p.preventDefault(),p.stopPropagation()})}}.call(this),function(){var n,r,i,o,a,s,l;o=e.cspNonce,r=e.CSRFProtection,a=e.fire,n={"*":"*/*",text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript",script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},e.ajax=function(u){var p;if(u=s(u),p=i(u,function(){var m,h;return h=l((m=p.response)!=null?m:p.responseText,p.getResponseHeader("Content-Type")),Math.floor(p.status/100)===2?typeof u.success=="function"&&u.success(h,p.statusText,p):typeof u.error=="function"&&u.error(h,p.statusText,p),typeof u.complete=="function"?u.complete(p,p.statusText):void 0}),u.beforeSend!=null&&!u.beforeSend(p,u))return!1;if(p.readyState===XMLHttpRequest.OPENED)return p.send(u.data)},s=function(u){return u.url=u.url||location.href,u.type=u.type.toUpperCase(),u.type==="GET"&&u.data&&(u.url.indexOf("?")<0?u.url+="?"+u.data:u.url+="&"+u.data),n[u.dataType]==null&&(u.dataType="*"),u.accept=n[u.dataType],u.dataType!=="*"&&(u.accept+=", */*; q=0.01"),u},i=function(u,p){var m;return m=new XMLHttpRequest,m.open(u.type,u.url,!0),m.setRequestHeader("Accept",u.accept),typeof u.data=="string"&&m.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),u.crossDomain||(m.setRequestHeader("X-Requested-With","XMLHttpRequest"),r(m)),m.withCredentials=!!u.withCredentials,m.onreadystatechange=function(){if(m.readyState===XMLHttpRequest.DONE)return p(m)},m},l=function(u,p){var m,h;if(typeof u=="string"&&typeof p=="string"){if(p.match(/\bjson\b/))try{u=JSON.parse(u)}catch(E){}else if(p.match(/\b(?:java|ecma)script\b/))h=document.createElement("script"),h.setAttribute("nonce",o()),h.text=u,document.head.appendChild(h).parentNode.removeChild(h);else if(p.match(/\b(xml|html|svg)\b/)){m=new DOMParser,p=p.replace(/;.+/,"");try{u=m.parseFromString(u,p)}catch(E){}}}return u},e.href=function(u){return u.href},e.isCrossDomain=function(u){var p,m,h;m=document.createElement("a"),m.href=location.href,h=document.createElement("a");try{return h.href=u,!((!h.protocol||h.protocol===":")&&!h.host||m.protocol+"//"+m.host==h.protocol+"//"+h.host)}catch(E){return p=E,!0}}}.call(this),function(){var n,r;n=e.matches,r=function(i){return Array.prototype.slice.call(i)},e.serializeElement=function(i,o){var a,s;return a=[i],n(i,"form")&&(a=r(i.elements)),s=[],a.forEach(function(l){if(!(!l.name||l.disabled)&&!n(l,"fieldset[disabled] *")){if(n(l,"select"))return r(l.options).forEach(function(u){if(u.selected)return s.push({name:l.name,value:u.value})});if(l.checked||["radio","checkbox","submit"].indexOf(l.type)===-1)return s.push({name:l.name,value:l.value})}}),o&&s.push(o),s.map(function(l){return l.name!=null?encodeURIComponent(l.name)+"="+encodeURIComponent(l.value):l}).join("&")},e.formElements=function(i,o){return n(i,"form")?r(i.elements).filter(function(a){return n(a,o)}):r(i.querySelectorAll(o))}}.call(this),function(){var n,r,i;r=e.fire,i=e.stopEverything,e.handleConfirm=function(o){if(!n(this))return i(o)},e.confirm=function(o,a){return confirm(o)},n=function(o){var a,s,l;if(l=o.getAttribute("data-confirm"),!l)return!0;if(a=!1,r(o,"confirm")){try{a=e.confirm(l,o)}catch(u){}s=r(o,"confirm:complete",[a])}return a&&s}}.call(this),function(){var n,r,i,o,a,s,l,u,p,m,h,E;m=e.matches,u=e.getData,h=e.setData,E=e.stopEverything,l=e.formElements,e.handleDisabledElement=function(v){var y;if(y=this,y.disabled)return E(v)},e.enableElement=function(v){var y;if(v instanceof Event){if(p(v))return;y=v.target}else y=v;if(m(y,e.linkDisableSelector))return s(y);if(m(y,e.buttonDisableSelector)||m(y,e.formEnableSelector))return o(y);if(m(y,e.formSubmitSelector))return a(y)},e.disableElement=function(v){var y;if(y=v instanceof Event?v.target:v,m(y,e.linkDisableSelector))return i(y);if(m(y,e.buttonDisableSelector)||m(y,e.formDisableSelector))return n(y);if(m(y,e.formSubmitSelector))return r(y)},i=function(v){var y;if(!u(v,"ujs:disabled"))return y=v.getAttribute("data-disable-with"),y!=null&&(h(v,"ujs:enable-with",v.innerHTML),v.innerHTML=y),v.addEventListener("click",E),h(v,"ujs:disabled",!0)},s=function(v){var y;return y=u(v,"ujs:enable-with"),y!=null&&(v.innerHTML=y,h(v,"ujs:enable-with",null)),v.removeEventListener("click",E),h(v,"ujs:disabled",null)},r=function(v){return l(v,e.formDisableSelector).forEach(n)},n=function(v){var y;if(!u(v,"ujs:disabled"))return y=v.getAttribute("data-disable-with"),y!=null&&(m(v,"button")?(h(v,"ujs:enable-with",v.innerHTML),v.innerHTML=y):(h(v,"ujs:enable-with",v.value),v.value=y)),v.disabled=!0,h(v,"ujs:disabled",!0)},a=function(v){return l(v,e.formEnableSelector).forEach(o)},o=function(v){var y;return y=u(v,"ujs:enable-with"),y!=null&&(m(v,"button")?v.innerHTML=y:v.value=y,h(v,"ujs:enable-with",null)),v.disabled=!1,h(v,"ujs:disabled",null)},p=function(v){var y,f;return f=(y=v.detail)!=null?y[0]:void 0,(f!=null?f.getResponseHeader("X-Xhr-Redirect"):void 0)!=null}}.call(this),function(){var n;n=e.stopEverything,e.handleMethod=function(r){var i,o,a,s,l,u,p;if(u=this,p=u.getAttribute("data-method"),!!p)return l=e.href(u),o=e.csrfToken(),i=e.csrfParam(),a=document.createElement("form"),s="<input name='_method' value='"+p+"' type='hidden' />",i!=null&&o!=null&&!e.isCrossDomain(l)&&(s+="<input name='"+i+"' value='"+o+"' type='hidden' />"),s+='<input type="submit" />',a.method="post",a.action=l,a.target=u.target,a.innerHTML=s,a.style.display="none",document.body.appendChild(a),a.querySelector('[type="submit"]').click(),n(r)}}.call(this),function(){var n,r,i,o,a,s,l,u,p,m=[].slice;s=e.matches,i=e.getData,u=e.setData,r=e.fire,p=e.stopEverything,n=e.ajax,o=e.isCrossDomain,l=e.serializeElement,a=function(h){var E;return E=h.getAttribute("data-remote"),E!=null&&E!=="false"},e.handleRemote=function(h){var E,v,y,f,d,c,g;return f=this,a(f)?r(f,"ajax:before")?(g=f.getAttribute("data-with-credentials"),y=f.getAttribute("data-type")||"script",s(f,e.formSubmitSelector)?(E=i(f,"ujs:submit-button"),d=i(f,"ujs:submit-button-formmethod")||f.method,c=i(f,"ujs:submit-button-formaction")||f.getAttribute("action")||location.href,d.toUpperCase()==="GET"&&(c=c.replace(/\?.*$/,"")),f.enctype==="multipart/form-data"?(v=new FormData(f),E!=null&&v.append(E.name,E.value)):v=l(f,E),u(f,"ujs:submit-button",null),u(f,"ujs:submit-button-formmethod",null),u(f,"ujs:submit-button-formaction",null)):s(f,e.buttonClickSelector)||s(f,e.inputChangeSelector)?(d=f.getAttribute("data-method"),c=f.getAttribute("data-url"),v=l(f,f.getAttribute("data-params"))):(d=f.getAttribute("data-method"),c=e.href(f),v=f.getAttribute("data-params")),n({type:d||"GET",url:c,data:v,dataType:y,beforeSend:function(w,M){return r(f,"ajax:beforeSend",[w,M])?r(f,"ajax:send",[w]):(r(f,"ajax:stopped"),!1)},success:function(){var w;return w=1<=arguments.length?m.call(arguments,0):[],r(f,"ajax:success",w)},error:function(){var w;return w=1<=arguments.length?m.call(arguments,0):[],r(f,"ajax:error",w)},complete:function(){var w;return w=1<=arguments.length?m.call(arguments,0):[],r(f,"ajax:complete",w)},crossDomain:o(c),withCredentials:g!=null&&g!=="false"}),p(h)):(r(f,"ajax:stopped"),!1):!0},e.formSubmitButtonClick=function(h){var E,v;if(E=this,v=E.form,!!v)return E.name&&u(v,"ujs:submit-button",{name:E.name,value:E.value}),u(v,"ujs:formnovalidate-button",E.formNoValidate),u(v,"ujs:submit-button-formaction",E.getAttribute("formaction")),u(v,"ujs:submit-button-formmethod",E.getAttribute("formmethod"))},e.preventInsignificantClick=function(h){var E,v,y,f,d,c;if(y=this,d=(y.getAttribute("data-method")||"GET").toUpperCase(),E=y.getAttribute("data-params"),f=h.metaKey||h.ctrlKey,v=f&&d==="GET"&&!E,c=h.button!=null&&h.button!==0,c||v)return h.stopImmediatePropagation()}}.call(this),function(){var n,r,i,o,a,s,l,u,p,m,h,E,v,y,f;if(s=e.fire,i=e.delegate,u=e.getData,n=e.$,f=e.refreshCSRFTokens,r=e.CSRFProtection,v=e.loadCSPNonce,a=e.enableElement,o=e.disableElement,m=e.handleDisabledElement,p=e.handleConfirm,y=e.preventInsignificantClick,E=e.handleRemote,l=e.formSubmitButtonClick,h=e.handleMethod,typeof jQuery<"u"&&jQuery!==null&&jQuery.ajax!=null){if(jQuery.rails)throw new Error("If you load both jquery_ujs and rails-ujs, use rails-ujs only.");jQuery.rails=e,jQuery.ajaxPrefilter(function(d,c,g){if(!d.crossDomain)return r(g)})}e.start=function(){if(window._rails_loaded)throw new Error("rails-ujs has already been loaded!");return window.addEventListener("pageshow",function(){return n(e.formEnableSelector).forEach(function(d){if(u(d,"ujs:disabled"))return a(d)}),n(e.linkDisableSelector).forEach(function(d){if(u(d,"ujs:disabled"))return a(d)})}),i(document,e.linkDisableSelector,"ajax:complete",a),i(document,e.linkDisableSelector,"ajax:stopped",a),i(document,e.buttonDisableSelector,"ajax:complete",a),i(document,e.buttonDisableSelector,"ajax:stopped",a),i(document,e.linkClickSelector,"click",y),i(document,e.linkClickSelector,"click",m),i(document,e.linkClickSelector,"click",p),i(document,e.linkClickSelector,"click",o),i(document,e.linkClickSelector,"click",E),i(document,e.linkClickSelector,"click",h),i(document,e.buttonClickSelector,"click",y),i(document,e.buttonClickSelector,"click",m),i(document,e.buttonClickSelector,"click",p),i(document,e.buttonClickSelector,"click",o),i(document,e.buttonClickSelector,"click",E),i(document,e.inputChangeSelector,"change",m),i(document,e.inputChangeSelector,"change",p),i(document,e.inputChangeSelector,"change",E),i(document,e.formSubmitSelector,"submit",m),i(document,e.formSubmitSelector,"submit",p),i(document,e.formSubmitSelector,"submit",E),i(document,e.formSubmitSelector,"submit",function(d){return setTimeout(function(){return o(d)},13)}),i(document,e.formSubmitSelector,"ajax:send",o),i(document,e.formSubmitSelector,"ajax:complete",a),i(document,e.formInputClickSelector,"click",y),i(document,e.formInputClickSelector,"click",m),i(document,e.formInputClickSelector,"click",p),i(document,e.formInputClickSelector,"click",l),document.addEventListener("DOMContentLoaded",f),document.addEventListener("DOMContentLoaded",v),window._rails_loaded=!0},window.Rails===e&&s(document,"rails:attachBindings")&&e.start()}.call(this)}).call(this),typeof go=="object"&&go.exports?go.exports=e:typeof define=="function"&&define.amd&&define(e)}).call(Cc)});var wo=Y((Yw,Jc)=>{"use strict";var Zc=Object.getOwnPropertySymbols,yv=Object.prototype.hasOwnProperty,wv=Object.prototype.propertyIsEnumerable;function Ev(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function xv(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(e).map(function(o){return e[o]});if(r.join("")!=="0123456789")return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(o){i[o]=o}),Object.keys(Object.assign({},i)).join("")==="abcdefghijklmnopqrst"}catch(o){return!1}}Jc.exports=xv()?Object.assign:function(t,e){for(var n,r=Ev(t),i,o=1;o<arguments.length;o++){n=Object(arguments[o]);for(var a in n)yv.call(n,a)&&(r[a]=n[a]);if(Zc){i=Zc(n);for(var s=0;s<i.length;s++)wv.call(n,i[s])&&(r[i[s]]=n[i[s]])}}return r}});var md=Y(G=>{"use strict";var Ds=wo(),$n=60103,nd=60106;G.Fragment=60107;G.StrictMode=60108;G.Profiler=60114;var rd=60109,id=60110,od=60112;G.Suspense=60113;var ad=60115,sd=60116;typeof Symbol=="function"&&Symbol.for&&(Je=Symbol.for,$n=Je("react.element"),nd=Je("react.portal"),G.Fragment=Je("react.fragment"),G.StrictMode=Je("react.strict_mode"),G.Profiler=Je("react.profiler"),rd=Je("react.provider"),id=Je("react.context"),od=Je("react.forward_ref"),G.Suspense=Je("react.suspense"),ad=Je("react.memo"),sd=Je("react.lazy"));var Je,ed=typeof Symbol=="function"&&Symbol.iterator;function Sv(t){return t===null||typeof t!="object"?null:(t=ed&&t[ed]||t["@@iterator"],typeof t=="function"?t:null)}function qr(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var ld={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ud={};function Vn(t,e,n){this.props=t,this.context=e,this.refs=ud,this.updater=n||ld}Vn.prototype.isReactComponent={};Vn.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error(qr(85));this.updater.enqueueSetState(this,t,e,"setState")};Vn.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function cd(){}cd.prototype=Vn.prototype;function Ps(t,e,n){this.props=t,this.context=e,this.refs=ud,this.updater=n||ld}var As=Ps.prototype=new cd;As.constructor=Ps;Ds(As,Vn.prototype);As.isPureReactComponent=!0;var Ls={current:null},dd=Object.prototype.hasOwnProperty,fd={key:!0,ref:!0,__self:!0,__source:!0};function pd(t,e,n){var r,i={},o=null,a=null;if(e!=null)for(r in e.ref!==void 0&&(a=e.ref),e.key!==void 0&&(o=""+e.key),e)dd.call(e,r)&&!fd.hasOwnProperty(r)&&(i[r]=e[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1<s){for(var l=Array(s),u=0;u<s;u++)l[u]=arguments[u+2];i.children=l}if(t&&t.defaultProps)for(r in s=t.defaultProps,s)i[r]===void 0&&(i[r]=s[r]);return{$$typeof:$n,type:t,key:o,ref:a,props:i,_owner:Ls.current}}function Cv(t,e){return{$$typeof:$n,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function Ms(t){return typeof t=="object"&&t!==null&&t.$$typeof===$n}function bv(t){var e={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(n){return e[n]})}var td=/\/+/g;function _s(t,e){return typeof t=="object"&&t!==null&&t.key!=null?bv(""+t.key):e.toString(36)}function xo(t,e,n,r,i){var o=typeof t;(o==="undefined"||o==="boolean")&&(t=null);var a=!1;if(t===null)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case $n:case nd:a=!0}}if(a)return a=t,i=i(a),t=r===""?"."+_s(a,0):r,Array.isArray(i)?(n="",t!=null&&(n=t.replace(td,"$&/")+"/"),xo(i,e,n,"",function(u){return u})):i!=null&&(Ms(i)&&(i=Cv(i,n+(!i.key||a&&a.key===i.key?"":(""+i.key).replace(td,"$&/")+"/")+t)),e.push(i)),1;if(a=0,r=r===""?".":r+":",Array.isArray(t))for(var s=0;s<t.length;s++){o=t[s];var l=r+_s(o,s);a+=xo(o,e,n,l,i)}else if(l=Sv(t),typeof l=="function")for(t=l.call(t),s=0;!(o=t.next()).done;)o=o.value,l=r+_s(o,s++),a+=xo(o,e,n,l,i);else if(o==="object")throw e=""+t,Error(qr(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e));return a}function Eo(t,e,n){if(t==null)return t;var r=[],i=0;return xo(t,r,"","",function(o){return e.call(n,o,i++)}),r}function kv(t){if(t._status===-1){var e=t._result;e=e(),t._status=0,t._result=e,e.then(function(n){t._status===0&&(n=n.default,t._status=1,t._result=n)},function(n){t._status===0&&(t._status=2,t._result=n)})}if(t._status===1)return t._result;throw t._result}var hd={current:null};function Nt(){var t=hd.current;if(t===null)throw Error(qr(321));return t}var Tv={ReactCurrentDispatcher:hd,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:Ls,IsSomeRendererActing:{current:!1},assign:Ds};G.Children={map:Eo,forEach:function(t,e,n){Eo(t,function(){e.apply(this,arguments)},n)},count:function(t){var e=0;return Eo(t,function(){e++}),e},toArray:function(t){return Eo(t,function(e){return e})||[]},only:function(t){if(!Ms(t))throw Error(qr(143));return t}};G.Component=Vn;G.PureComponent=Ps;G.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Tv;G.cloneElement=function(t,e,n){if(t==null)throw Error(qr(267,t));var r=Ds({},t.props),i=t.key,o=t.ref,a=t._owner;if(e!=null){if(e.ref!==void 0&&(o=e.ref,a=Ls.current),e.key!==void 0&&(i=""+e.key),t.type&&t.type.defaultProps)var s=t.type.defaultProps;for(l in e)dd.call(e,l)&&!fd.hasOwnProperty(l)&&(r[l]=e[l]===void 0&&s!==void 0?s[l]:e[l])}var l=arguments.length-2;if(l===1)r.children=n;else if(1<l){s=Array(l);for(var u=0;u<l;u++)s[u]=arguments[u+2];r.children=s}return{$$typeof:$n,type:t.type,key:i,ref:o,props:r,_owner:a}};G.createContext=function(t,e){return e===void 0&&(e=null),t={$$typeof:id,_calculateChangedBits:e,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider={$$typeof:rd,_context:t},t.Consumer=t};G.createElement=pd;G.createFactory=function(t){var e=pd.bind(null,t);return e.type=t,e};G.createRef=function(){return{current:null}};G.forwardRef=function(t){return{$$typeof:od,render:t}};G.isValidElement=Ms;G.lazy=function(t){return{$$typeof:sd,_payload:{_status:-1,_result:t},_init:kv}};G.memo=function(t,e){return{$$typeof:ad,type:t,compare:e===void 0?null:e}};G.useCallback=function(t,e){return Nt().useCallback(t,e)};G.useContext=function(t,e){return Nt().useContext(t,e)};G.useDebugValue=function(){};G.useEffect=function(t,e){return Nt().useEffect(t,e)};G.useImperativeHandle=function(t,e,n){return Nt().useImperativeHandle(t,e,n)};G.useLayoutEffect=function(t,e){return Nt().useLayoutEffect(t,e)};G.useMemo=function(t,e){return Nt().useMemo(t,e)};G.useReducer=function(t,e,n){return Nt().useReducer(t,e,n)};G.useRef=function(t){return Nt().useRef(t)};G.useState=function(t){return Nt().useState(t)};G.version="17.0.2"});var H=Y((Qw,gd)=>{"use strict";gd.exports=md()});var yd=Y((Gw,vd)=>{"use strict";var Ov="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";vd.exports=Ov});var Sd=Y((Zw,xd)=>{"use strict";var Nv=yd();function wd(){}function Ed(){}Ed.resetWarningCache=wd;xd.exports=function(){function t(r,i,o,a,s,l){if(l!==Nv){var u=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 u.name="Invariant Violation",u}}t.isRequired=t;function e(){return t}var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:Ed,resetWarningCache:wd};return n.PropTypes=n,n}});var J=Y((t1,Cd)=>{Cd.exports=Sd()();var Jw,e1});var Dd=Y((E1,_d)=>{var Dv=typeof global=="object"&&global&&global.Object===Object&&global;_d.exports=Dv});var Ad=Y((x1,Pd)=>{var Pv=Dd(),Av=typeof self=="object"&&self&&self.Object===Object&&self,Lv=Pv||Av||Function("return this")();Pd.exports=Lv});var Co=Y((S1,Ld)=>{var Mv=Ad(),Iv=Mv.Symbol;Ld.exports=Iv});var Id=Y((C1,Md)=>{function jv(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}Md.exports=jv});var Fd=Y((b1,jd)=>{var Fv=Array.isArray;jd.exports=Fv});var Bd=Y((k1,zd)=>{var Rd=Co(),Ud=Object.prototype,Rv=Ud.hasOwnProperty,Uv=Ud.toString,Gr=Rd?Rd.toStringTag:void 0;function zv(t){var e=Rv.call(t,Gr),n=t[Gr];try{t[Gr]=void 0;var r=!0}catch(o){}var i=Uv.call(t);return r&&(e?t[Gr]=n:delete t[Gr]),i}zd.exports=zv});var Vd=Y((T1,$d)=>{var Bv=Object.prototype,$v=Bv.toString;function Vv(t){return $v.call(t)}$d.exports=Vv});var qd=Y((O1,Kd)=>{var Wd=Co(),Wv=Bd(),Hv=Vd(),Kv="[object Null]",qv="[object Undefined]",Hd=Wd?Wd.toStringTag:void 0;function Yv(t){return t==null?t===void 0?qv:Kv:Hd&&Hd in Object(t)?Wv(t):Hv(t)}Kd.exports=Yv});var Xd=Y((N1,Yd)=>{function Xv(t){return t!=null&&typeof t=="object"}Yd.exports=Xv});var Gd=Y((_1,Qd)=>{var Qv=qd(),Gv=Xd(),Zv="[object Symbol]";function Jv(t){return typeof t=="symbol"||Gv(t)&&Qv(t)==Zv}Qd.exports=Jv});var rf=Y((D1,nf)=>{var Zd=Co(),ey=Id(),ty=Fd(),ny=Gd(),ry=1/0,Jd=Zd?Zd.prototype:void 0,ef=Jd?Jd.toString:void 0;function tf(t){if(typeof t=="string")return t;if(ty(t))return ey(t,tf)+"";if(ny(t))return ef?ef.call(t):"";var e=t+"";return e=="0"&&1/t==-ry?"-0":e}nf.exports=tf});var af=Y((P1,of)=>{var iy=rf();function oy(t){return t==null?"":iy(t)}of.exports=oy});var lf=Y((A1,sf)=>{var ay=af(),sy=0;function ly(t){var e=++sy;return ay(t)+e}sf.exports=ly});var pf=Y((ti,Fs)=>{(function(e,n){typeof ti=="object"&&typeof Fs=="object"?Fs.exports=n(H()):typeof define=="function"&&define.amd?define(["react"],n):typeof ti=="object"?ti.ReactCrop=n(H()):e.ReactCrop=n(e.React)})(typeof self<"u"?self:ti,function(t){return function(e){var n={};function r(i){if(n[i])return n[i].exports;var o=n[i]={i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=n,r.d=function(i,o,a){r.o(i,o)||Object.defineProperty(i,o,{configurable:!1,enumerable:!0,get:a})},r.n=function(i){var o=i&&i.__esModule?function(){return i.default}:function(){return i};return r.d(o,"a",o),o},r.o=function(i,o){return Object.prototype.hasOwnProperty.call(i,o)},r.p="",r(r.s=2)}([function(e,n){var r=e.exports={},i,o;function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?i=setTimeout:i=a}catch(c){i=a}try{typeof clearTimeout=="function"?o=clearTimeout:o=s}catch(c){o=s}})();function l(c){if(i===setTimeout)return setTimeout(c,0);if((i===a||!i)&&setTimeout)return i=setTimeout,setTimeout(c,0);try{return i(c,0)}catch(g){try{return i.call(null,c,0)}catch(w){return i.call(this,c,0)}}}function u(c){if(o===clearTimeout)return clearTimeout(c);if((o===s||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(c);try{return o(c)}catch(g){try{return o.call(null,c)}catch(w){return o.call(this,c)}}}var p=[],m=!1,h,E=-1;function v(){!m||!h||(m=!1,h.length?p=h.concat(p):E=-1,p.length&&y())}function y(){if(!m){var c=l(v);m=!0;for(var g=p.length;g;){for(h=p,p=[];++E<g;)h&&h[E].run();E=-1,g=p.length}h=null,m=!1,u(c)}}r.nextTick=function(c){var g=new Array(arguments.length-1);if(arguments.length>1)for(var w=1;w<arguments.length;w++)g[w-1]=arguments[w];p.push(new f(c,g)),p.length===1&&!m&&l(y)};function f(c,g){this.fun=c,this.array=g}f.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={};function d(){}r.on=d,r.addListener=d,r.once=d,r.off=d,r.removeListener=d,r.removeAllListeners=d,r.emit=d,r.prependListener=d,r.prependOnceListener=d,r.listeners=function(c){return[]},r.binding=function(c){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(c){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},function(e,n,r){"use strict";var i="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=i},function(e,n,r){"use strict";var i=function(){function k(b,I){for(var x=0;x<I.length;x++){var S=I[x];S.enumerable=S.enumerable||!1,S.configurable=!0,"value"in S&&(S.writable=!0),Object.defineProperty(b,S.key,S)}}return function(b,I,x){return I&&k(b.prototype,I),x&&k(b,x),b}}(),o=Object.assign||function(k){for(var b=1;b<arguments.length;b++){var I=arguments[b];for(var x in I)Object.prototype.hasOwnProperty.call(I,x)&&(k[x]=I[x])}return k},a=r(3),s=p(a),l=r(4),u=p(l);function p(k){return k&&k.__esModule?k:{default:k}}function m(k){if(Array.isArray(k)){for(var b=0,I=Array(k.length);b<k.length;b++)I[b]=k[b];return I}else return Array.from(k)}function h(k,b){if(!(k instanceof b))throw new TypeError("Cannot call a class as a function")}function E(k,b){if(!k)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return b&&(typeof b=="object"||typeof b=="function")?b:k}function v(k,b){if(typeof b!="function"&&b!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof b);k.prototype=Object.create(b&&b.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(k,b):k.__proto__=b)}var y=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return y=!0,!0}}))}catch(k){}var f="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";function d(k){var b=k.getBoundingClientRect(),I=document.documentElement,x=b.top+window.pageYOffset-I.clientTop,S=b.left+window.pageXOffset-I.clientLeft;return{top:x,left:S}}function c(k){var b=void 0,I=void 0;return k.touches?(b=k.touches[0].pageX,I=k.touches[0].pageY):(b=k.pageX,I=k.pageY),{x:b,y:I}}function g(k,b,I){return Math.min(Math.max(k,b),I)}function w(k){return k&&k.width&&k.height}function M(k){var b=void 0;return k==="n"?b="s":k==="ne"?b="sw":k==="e"?b="w":k==="se"?b="nw":k==="s"?b="n":k==="sw"?b="ne":k==="w"?b="e":k==="nw"&&(b="se"),b}function O(k,b){if(isNaN(k.aspect)||isNaN(b))return console.warn("`crop.aspect` and `imageAspect` need to be numbers in order to make an aspect crop",k),k;var I=o({},k);return k.width&&(I.height=k.width/k.aspect*b),k.height&&(I.width=(I.height||k.height)*(k.aspect/b)),k.y+(I.height||k.height)>100&&(I.height=100-k.y,I.width=I.height*k.aspect/b),k.x+(I.width||k.width)>100&&(I.width=100-k.x,I.height=I.width/k.aspect*b),I}function R(k,b){return k&&k.aspect&&(!k.width&&k.height||k.width&&!k.height)?O(k,b.naturalWidth/b.naturalHeight):k}function T(k,b){if(!k||!b)return null;var I=Math.round(k.naturalWidth*(b.x/100)),x=Math.round(k.naturalHeight*(b.y/100)),S=Math.round(k.naturalWidth*(b.width/100)),Z=Math.round(k.naturalHeight*(b.height/100));return{x:I,y:x,width:g(S,0,k.naturalWidth-I),height:g(Z,0,k.naturalHeight-x)}}function P(k,b,I){var x=o({},b),S=!1;x.x+x.width>100?(x.width=b.width+(100-(b.x+b.width)),x.x=b.x+(100-(b.x+x.width)),S=!0):x.x<0&&(x.width=b.x+b.width,x.x=0,S=!0),S&&b.aspect&&(x.height=x.width/b.aspect*I,k.y>x.y&&(x.y=b.y+(b.height-x.height)));var Z=!1;return x.y+x.height>100?(x.height=b.height+(100-(b.y+b.height)),x.y=b.y+(100-(b.y+x.height)),Z=!0):x.y<0&&(x.height=b.y+b.height,x.y=0,Z=!0),Z&&b.aspect&&(x.width=x.height*b.aspect/I,x.x<b.x&&(x.x=b.x+(b.width-x.width))),x}var Q=function(k){v(b,k);function b(){var I,x,S,Z;h(this,b);for(var de=arguments.length,ve=Array(de),me=0;me<de;me++)ve[me]=arguments[me];return Z=(x=(S=E(this,(I=b.__proto__||Object.getPrototypeOf(b)).call.apply(I,[this].concat(ve))),S),S.state={},S.onCropMouseTouchDown=function(K){var C=S.props,_=C.crop,U=C.disabled;if(!U){K.preventDefault();var W=c(K);S.componentRef.focus({preventScroll:!0});var z=K.target.dataset.ord,B=z==="nw"||z==="w"||z==="sw",F=z==="nw"||z==="n"||z==="ne",A=void 0;_.aspect&&(A=d(S.cropSelectRef)),S.evData={clientStartX:W.x,clientStartY:W.y,cropStartWidth:_.width,cropStartHeight:_.height,cropStartX:B?_.x+_.width:_.x,cropStartY:F?_.y+_.height:_.y,xInversed:B,yInversed:F,xCrossOver:B,yCrossOver:F,startXCrossOver:B,startYCrossOver:F,isResize:K.target!==S.cropSelectRef,ord:z,cropOffset:A},S.mouseDownOnCrop=!0,S.setState({cropIsActive:!0})}},S.onComponentMouseTouchDown=function(K){var C=S.props,_=C.crop,U=C.disabled,W=C.keepSelection,z=C.onChange;if(K.target===S.imageRef&&!(U||W&&w(_))){K.preventDefault();var B=c(K);S.componentRef.focus({preventScroll:!0});var F=d(S.imageRef),A=(B.x-F.left)/S.imageRef.width*100,X=(B.y-F.top)/S.imageRef.height*100,q={aspect:_?_.aspect:void 0,x:A,y:X,width:0,height:0};S.evData={clientStartX:B.x,clientStartY:B.y,cropStartWidth:q.width,cropStartHeight:q.height,cropStartX:q.x,cropStartY:q.y,xInversed:!1,yInversed:!1,xCrossOver:!1,yCrossOver:!1,startXCrossOver:!1,startYCrossOver:!1,isResize:!0,ord:"nw"},S.mouseDownOnCrop=!0,z(q,T(S.imageRef,q)),S.setState({cropIsActive:!0})}},S.onDocMouseTouchMove=function(K){var C=S.props,_=C.crop,U=C.disabled,W=C.onChange,z=C.onDragStart;if(z(),!U&&!!S.mouseDownOnCrop){K.preventDefault();var B=S,F=B.evData,A=c(K);F.isResize&&_.aspect&&F.cropOffset&&(A.y=S.straightenYPath(A.x));var X=A.x-F.clientStartX;F.xDiffPc=X/S.imageRef.width*100;var q=A.y-F.clientStartY;F.yDiffPc=q/S.imageRef.height*100;var te=void 0;F.isResize?te=S.resizeCrop():te=S.dragCrop(),W(te,T(S.imageRef,te))}},S.onComponentKeyDown=function(K){var C=S.props,_=C.crop,U=C.disabled,W=C.onChange,z=C.onComplete;if(!U){var B=K.which,F=!1;if(!!w(_)){var A=S.makeNewCrop();B===b.arrowKey.left?(A.x-=b.nudgeStep,F=!0):B===b.arrowKey.right?(A.x+=b.nudgeStep,F=!0):B===b.arrowKey.up?(A.y-=b.nudgeStep,F=!0):B===b.arrowKey.down&&(A.y+=b.nudgeStep,F=!0),F&&(K.preventDefault(),A.x=g(A.x,0,100-A.width),A.y=g(A.y,0,100-A.height),W(A,T(S.imageRef,A)),z(A,T(S.imageRef,A)))}}},S.onDocMouseTouchEnd=function(){var K=S.props,C=K.crop,_=K.disabled,U=K.onComplete,W=K.onDragEnd;W(),!_&&S.mouseDownOnCrop&&(S.mouseDownOnCrop=!1,U(C,T(S.imageRef,C)),S.setState({cropIsActive:!1}))},x),E(S,Z)}return i(b,[{key:"componentDidMount",value:function(){var x=y?{passive:!1}:!1;if(document.addEventListener("mousemove",this.onDocMouseTouchMove,x),document.addEventListener("touchmove",this.onDocMouseTouchMove,x),document.addEventListener("mouseup",this.onDocMouseTouchEnd,x),document.addEventListener("touchend",this.onDocMouseTouchEnd,x),document.addEventListener("touchcancel",this.onDocMouseTouchEnd,x),this.imageRef.complete||this.imageRef.readyState)if(this.imageRef.naturalWidth===0){var S=this.imageRef.src;this.imageRef.src=f,this.imageRef.src=S}else this.onImageLoad(this.imageRef)}},{key:"componentDidUpdate",value:function(x){x.crop!==this.props.crop&&this.resolveCropAndTriggerChange(this.props.crop,this.imageRef)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("mousemove",this.onDocMouseTouchMove),document.removeEventListener("touchmove",this.onDocMouseTouchMove),document.removeEventListener("mouseup",this.onDocMouseTouchEnd),document.removeEventListener("touchend",this.onDocMouseTouchEnd),document.removeEventListener("touchcancel",this.onDocMouseTouchEnd)}},{key:"onImageLoad",value:function(x){var S=this.resolveCropAndTriggerChange(this.props.crop,x);this.props.onImageLoaded(x,T(x,S))}},{key:"getCropStyle",value:function(){var x=this.props.crop;return{top:x.y+"%",left:x.x+"%",width:x.width+"%",height:x.height+"%"}}},{key:"getNewSize",value:function(){var x=this.props,S=x.crop,Z=x.minWidth,de=x.maxWidth,ve=x.minHeight,me=x.maxHeight,K=this.evData,C=this.imageRef.width/this.imageRef.height,_=K.cropStartWidth+K.xDiffPc;K.xCrossOver&&(_=Math.abs(_)),_=g(_,Z,de);var U=void 0;return S.aspect?U=_/S.aspect*C:U=K.cropStartHeight+K.yDiffPc,K.yCrossOver&&(U=Math.min(Math.abs(U),K.cropStartY)),U=g(U,ve,me),S.aspect&&(_=g(U*S.aspect/C,0,100)),{width:_,height:U}}},{key:"resolveCropAndTriggerChange",value:function(x,S){var Z=R(x,S);return Z!==x&&(this.props.onChange(Z,T(S,Z)),this.props.onComplete(Z,T(S,Z))),Z}},{key:"dragCrop",value:function(){var x=this.makeNewCrop(),S=this.evData;return x.x=g(S.cropStartX+S.xDiffPc,0,100-x.width),x.y=g(S.cropStartY+S.yDiffPc,0,100-x.height),x}},{key:"resizeCrop",value:function(){var x=this.makeNewCrop(),S=this.evData,Z=S.ord,de=this.imageRef.width/this.imageRef.height;S.xInversed&&(S.xDiffPc-=S.cropStartWidth*2),S.yInversed&&(S.yDiffPc-=S.cropStartHeight*2);var ve=this.getNewSize(),me=S.cropStartX,K=S.cropStartY;S.xCrossOver&&(me=x.x+(x.width-ve.width)),S.yCrossOver&&(S.lastYCrossover===!1?K=x.y-ve.height:K=x.y+(x.height-ve.height));var C=P(this.props.crop,{x:me,y:K,width:ve.width,height:ve.height,aspect:x.aspect},de);return x.aspect||b.xyOrds.indexOf(Z)>-1?(x.x=C.x,x.y=C.y,x.width=C.width,x.height=C.height):b.xOrds.indexOf(Z)>-1?(x.x=C.x,x.width=C.width):b.yOrds.indexOf(Z)>-1&&(x.y=C.y,x.height=C.height),S.lastYCrossover=S.yCrossOver,this.crossOverCheck(),x}},{key:"straightenYPath",value:function(x){var S=this.evData,Z=S.ord,de=S.cropOffset,ve=S.cropStartWidth/100*this.imageRef.width,me=S.cropStartHeight/100*this.imageRef.height,K=void 0,C=void 0;return Z==="nw"||Z==="se"?(K=me/ve,C=de.top-de.left*K):(K=-me/ve,C=de.top+(me-de.left*K)),K*x+C}},{key:"createCropSelection",value:function(){var x=this,S=this.props.disabled,Z=this.getCropStyle();return s.default.createElement("div",{ref:function(ve){x.cropSelectRef=ve},style:Z,className:"ReactCrop__crop-selection",onMouseDown:this.onCropMouseTouchDown,onTouchStart:this.onCropMouseTouchDown,role:"presentation"},!S&&s.default.createElement("div",{className:"ReactCrop__drag-elements"},s.default.createElement("div",{className:"ReactCrop__drag-bar ord-n","data-ord":"n"}),s.default.createElement("div",{className:"ReactCrop__drag-bar ord-e","data-ord":"e"}),s.default.createElement("div",{className:"ReactCrop__drag-bar ord-s","data-ord":"s"}),s.default.createElement("div",{className:"ReactCrop__drag-bar ord-w","data-ord":"w"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-nw","data-ord":"nw"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-n","data-ord":"n"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-ne","data-ord":"ne"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-e","data-ord":"e"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-se","data-ord":"se"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-s","data-ord":"s"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-sw","data-ord":"sw"}),s.default.createElement("div",{className:"ReactCrop__drag-handle ord-w","data-ord":"w"})))}},{key:"makeNewCrop",value:function(){return o({},b.defaultCrop,this.props.crop)}},{key:"crossOverCheck",value:function(){var x=this.evData;(!x.xCrossOver&&-Math.abs(x.cropStartWidth)-x.xDiffPc>=0||x.xCrossOver&&-Math.abs(x.cropStartWidth)-x.xDiffPc<=0)&&(x.xCrossOver=!x.xCrossOver),(!x.yCrossOver&&-Math.abs(x.cropStartHeight)-x.yDiffPc>=0||x.yCrossOver&&-Math.abs(x.cropStartHeight)-x.yDiffPc<=0)&&(x.yCrossOver=!x.yCrossOver);var S=x.xCrossOver!==x.startXCrossOver,Z=x.yCrossOver!==x.startYCrossOver;x.inversedXOrd=S?M(x.ord):!1,x.inversedYOrd=Z?M(x.ord):!1}},{key:"render",value:function(){var x=this,S=this.props,Z=S.children,de=S.className,ve=S.crossorigin,me=S.crop,K=S.disabled,C=S.imageAlt,_=S.onImageError,U=S.src,W=S.style,z=S.imageStyle,B=this.state.cropIsActive,F=void 0;w(me)&&(F=this.createCropSelection());var A=["ReactCrop"];return B&&A.push("ReactCrop--active"),me&&(me.aspect&&A.push("ReactCrop--fixed-aspect"),B&&(!me.width||!me.height)&&A.push("ReactCrop--crop-invisible")),K&&A.push("ReactCrop--disabled"),de&&A.push.apply(A,m(de.split(" "))),s.default.createElement("div",{ref:function(q){x.componentRef=q},className:A.join(" "),style:W,onTouchStart:this.onComponentMouseTouchDown,onMouseDown:this.onComponentMouseTouchDown,role:"presentation",tabIndex:"1",onKeyDown:this.onComponentKeyDown},s.default.createElement("img",{ref:function(q){x.imageRef=q},crossOrigin:ve,className:"ReactCrop__image",style:z,src:U,onLoad:function(q){return x.onImageLoad(q.target)},onError:_,alt:C}),F,Z)}}]),b}(a.PureComponent);Q.xOrds=["e","w"],Q.yOrds=["n","s"],Q.xyOrds=["nw","ne","se","sw"],Q.arrowKey={left:37,up:38,right:39,down:40},Q.nudgeStep=.2,Q.defaultCrop={x:0,y:0,width:0,height:0},Q.propTypes={className:u.default.string,crossorigin:u.default.string,children:u.default.oneOfType([u.default.arrayOf(u.default.node),u.default.node]),crop:u.default.shape({aspect:u.default.number,x:u.default.number,y:u.default.number,width:u.default.number,height:u.default.number}),disabled:u.default.bool,imageAlt:u.default.string,imageStyle:u.default.shape({}),keepSelection:u.default.bool,minWidth:u.default.number,minHeight:u.default.number,maxWidth:u.default.number,maxHeight:u.default.number,onChange:u.default.func.isRequired,onImageError:u.default.func,onComplete:u.default.func,onImageLoaded:u.default.func,onDragStart:u.default.func,onDragEnd:u.default.func,src:u.default.string.isRequired,style:u.default.shape({})},Q.defaultProps={className:void 0,crop:void 0,crossorigin:void 0,disabled:!1,imageAlt:"",maxWidth:100,maxHeight:100,minWidth:0,minHeight:0,keepSelection:!1,onComplete:function(){},onImageError:function(){},onImageLoaded:function(){},onDragStart:function(){},onDragEnd:function(){},children:void 0,style:void 0,imageStyle:void 0},e.exports=Q,e.exports.getPixelCrop=T,e.exports.makeAspectCrop=O,e.exports.containCrop=P},function(e,n){e.exports=t},function(e,n,r){(function(i){if(i.env.NODE_ENV!=="production"){var o=typeof Symbol=="function"&&Symbol.for&&Symbol.for("react.element")||60103,a=function(l){return typeof l=="object"&&l!==null&&l.$$typeof===o},s=!0;e.exports=r(5)(a,s)}else e.exports=r(8)()}).call(n,r(0))},function(e,n,r){"use strict";(function(i){var o=r(6),a=r(1),s=r(7),l=function(){};i.env.NODE_ENV!=="production"&&(l=function(p){var m="Warning: "+p;typeof console<"u"&&console.error(m);try{throw new Error(m)}catch(h){}});function u(){return null}e.exports=function(p,m){var h=typeof Symbol=="function"&&Symbol.iterator,E="@@iterator";function v(C){var _=C&&(h&&C[h]||C[E]);if(typeof _=="function")return _}var y="<<anonymous>>",f={array:w("array"),bool:w("boolean"),func:w("function"),number:w("number"),object:w("object"),string:w("string"),symbol:w("symbol"),any:M(),arrayOf:O,element:R(),instanceOf:T,node:b(),objectOf:Q,oneOf:P,oneOfType:k,shape:I,exact:x};function d(C,_){return C===_?C!==0||1/C===1/_:C!==C&&_!==_}function c(C){this.message=C,this.stack=""}c.prototype=Error.prototype;function g(C){if(i.env.NODE_ENV!=="production")var _={},U=0;function W(B,F,A,X,q,te,gn){if(X=X||y,te=te||A,gn!==a){if(m){var Vr=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 Vr.name="Invariant Violation",Vr}else if(i.env.NODE_ENV!=="production"&&typeof console<"u"){var wc=X+":"+A;!_[wc]&&U<3&&(l("You are manually calling a React.PropTypes validation function for the `"+te+"` prop on `"+X+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),_[wc]=!0,U++)}}return F[A]==null?B?F[A]===null?new c("The "+q+" `"+te+"` is marked as required "+("in `"+X+"`, but its value is `null`.")):new c("The "+q+" `"+te+"` is marked as required in "+("`"+X+"`, but its value is `undefined`.")):null:C(F,A,X,q,te)}var z=W.bind(null,!1);return z.isRequired=W.bind(null,!0),z}function w(C){function _(U,W,z,B,F,A){var X=U[W],q=de(X);if(q!==C){var te=ve(X);return new c("Invalid "+B+" `"+F+"` of type "+("`"+te+"` supplied to `"+z+"`, expected ")+("`"+C+"`."))}return null}return g(_)}function M(){return g(u)}function O(C){function _(U,W,z,B,F){if(typeof C!="function")return new c("Property `"+F+"` of component `"+z+"` has invalid PropType notation inside arrayOf.");var A=U[W];if(!Array.isArray(A)){var X=de(A);return new c("Invalid "+B+" `"+F+"` of type "+("`"+X+"` supplied to `"+z+"`, expected an array."))}for(var q=0;q<A.length;q++){var te=C(A,q,z,B,F+"["+q+"]",a);if(te instanceof Error)return te}return null}return g(_)}function R(){function C(_,U,W,z,B){var F=_[U];if(!p(F)){var A=de(F);return new c("Invalid "+z+" `"+B+"` of type "+("`"+A+"` supplied to `"+W+"`, expected a single ReactElement."))}return null}return g(C)}function T(C){function _(U,W,z,B,F){if(!(U[W]instanceof C)){var A=C.name||y,X=K(U[W]);return new c("Invalid "+B+" `"+F+"` of type "+("`"+X+"` supplied to `"+z+"`, expected ")+("instance of `"+A+"`."))}return null}return g(_)}function P(C){if(!Array.isArray(C))return i.env.NODE_ENV!=="production"&&l("Invalid argument supplied to oneOf, expected an instance of array."),u;function _(U,W,z,B,F){for(var A=U[W],X=0;X<C.length;X++)if(d(A,C[X]))return null;var q=JSON.stringify(C);return new c("Invalid "+B+" `"+F+"` of value `"+A+"` "+("supplied to `"+z+"`, expected one of "+q+"."))}return g(_)}function Q(C){function _(U,W,z,B,F){if(typeof C!="function")return new c("Property `"+F+"` of component `"+z+"` has invalid PropType notation inside objectOf.");var A=U[W],X=de(A);if(X!=="object")return new c("Invalid "+B+" `"+F+"` of type "+("`"+X+"` supplied to `"+z+"`, expected an object."));for(var q in A)if(A.hasOwnProperty(q)){var te=C(A,q,z,B,F+"."+q,a);if(te instanceof Error)return te}return null}return g(_)}function k(C){if(!Array.isArray(C))return i.env.NODE_ENV!=="production"&&l("Invalid argument supplied to oneOfType, expected an instance of array."),u;for(var _=0;_<C.length;_++){var U=C[_];if(typeof U!="function")return l("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+me(U)+" at index "+_+"."),u}function W(z,B,F,A,X){for(var q=0;q<C.length;q++){var te=C[q];if(te(z,B,F,A,X,a)==null)return null}return new c("Invalid "+A+" `"+X+"` supplied to "+("`"+F+"`."))}return g(W)}function b(){function C(_,U,W,z,B){return S(_[U])?null:new c("Invalid "+z+" `"+B+"` supplied to "+("`"+W+"`, expected a ReactNode."))}return g(C)}function I(C){function _(U,W,z,B,F){var A=U[W],X=de(A);if(X!=="object")return new c("Invalid "+B+" `"+F+"` of type `"+X+"` "+("supplied to `"+z+"`, expected `object`."));for(var q in C){var te=C[q];if(!!te){var gn=te(A,q,z,B,F+"."+q,a);if(gn)return gn}}return null}return g(_)}function x(C){function _(U,W,z,B,F){var A=U[W],X=de(A);if(X!=="object")return new c("Invalid "+B+" `"+F+"` of type `"+X+"` "+("supplied to `"+z+"`, expected `object`."));var q=o({},U[W],C);for(var te in q){var gn=C[te];if(!gn)return new c("Invalid "+B+" `"+F+"` key `"+te+"` supplied to `"+z+"`.\nBad object: "+JSON.stringify(U[W],null," ")+`
2
2
  Valid keys: `+JSON.stringify(Object.keys(C),null," "));var Vr=gn(A,te,z,B,F+"."+te,a);if(Vr)return Vr}return null}return g(_)}function S(C){switch(typeof C){case"number":case"string":case"undefined":return!0;case"boolean":return!C;case"object":if(Array.isArray(C))return C.every(S);if(C===null||p(C))return!0;var _=v(C);if(_){var U=_.call(C),W;if(_!==C.entries){for(;!(W=U.next()).done;)if(!S(W.value))return!1}else for(;!(W=U.next()).done;){var z=W.value;if(z&&!S(z[1]))return!1}}else return!1;return!0;default:return!1}}function Z(C,_){return C==="symbol"||_["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&_ instanceof Symbol}function de(C){var _=typeof C;return Array.isArray(C)?"array":C instanceof RegExp?"object":Z(_,C)?"symbol":_}function ve(C){if(typeof C>"u"||C===null)return""+C;var _=de(C);if(_==="object"){if(C instanceof Date)return"date";if(C instanceof RegExp)return"regexp"}return _}function me(C){var _=ve(C);switch(_){case"array":case"object":return"an "+_;case"boolean":case"date":case"regexp":return"a "+_;default:return _}}function K(C){return!C.constructor||!C.constructor.name?y:C.constructor.name}return f.checkPropTypes=s,f.PropTypes=f,f}}).call(n,r(0))},function(e,n,r){"use strict";var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function s(u){if(u==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(u)}function l(){try{if(!Object.assign)return!1;var u=new String("abc");if(u[5]="de",Object.getOwnPropertyNames(u)[0]==="5")return!1;for(var p={},m=0;m<10;m++)p["_"+String.fromCharCode(m)]=m;var h=Object.getOwnPropertyNames(p).map(function(v){return p[v]});if(h.join("")!=="0123456789")return!1;var E={};return"abcdefghijklmnopqrst".split("").forEach(function(v){E[v]=v}),Object.keys(Object.assign({},E)).join("")==="abcdefghijklmnopqrst"}catch(v){return!1}}e.exports=l()?Object.assign:function(u,p){for(var m,h=s(u),E,v=1;v<arguments.length;v++){m=Object(arguments[v]);for(var y in m)o.call(m,y)&&(h[y]=m[y]);if(i){E=i(m);for(var f=0;f<E.length;f++)a.call(m,E[f])&&(h[E[f]]=m[E[f]])}}return h}},function(e,n,r){"use strict";(function(i){var o=function(){};if(i.env.NODE_ENV!=="production"){var a=r(1),s={};o=function(u){var p="Warning: "+u;typeof console<"u"&&console.error(p);try{throw new Error(p)}catch(m){}}}function l(u,p,m,h,E){if(i.env.NODE_ENV!=="production"){for(var v in u)if(u.hasOwnProperty(v)){var y;try{if(typeof u[v]!="function"){var f=Error((h||"React class")+": "+m+" type `"+v+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof u[v]+"`.");throw f.name="Invariant Violation",f}y=u[v](p,v,h,m,null,a)}catch(c){y=c}if(y&&!(y instanceof Error)&&o((h||"React class")+": type specification of "+m+" `"+v+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof y+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),y instanceof Error&&!(y.message in s)){s[y.message]=!0;var d=E?E():"";o("Failed "+m+" type: "+y.message+(d!=null?d:""))}}}}e.exports=l}).call(n,r(0))},function(e,n,r){"use strict";var i=r(1);function o(){}e.exports=function(){function a(u,p,m,h,E,v){if(v!==i){var y=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 y.name="Invariant Violation",y}}a.isRequired=a;function s(){return a}var l={array:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,any:a,arrayOf:s,element:a,instanceOf:s,node:a,objectOf:s,oneOf:s,oneOfType:s,shape:s,exact:s};return l.checkPropTypes=o,l.PropTypes=l,l}}])})});var mf=Y((rE,hf)=>{hf.exports=pf()});var Of=Y(ee=>{"use strict";var fr,hi,sa,Gs;typeof performance=="object"&&typeof performance.now=="function"?(Sf=performance,ee.unstable_now=function(){return Sf.now()}):(Hs=Date,Cf=Hs.now(),ee.unstable_now=function(){return Hs.now()-Cf});var Sf,Hs,Cf;typeof window>"u"||typeof MessageChannel!="function"?(dr=null,Ks=null,qs=function(){if(dr!==null)try{var t=ee.unstable_now();dr(!0,t),dr=null}catch(e){throw setTimeout(qs,0),e}},fr=function(t){dr!==null?setTimeout(fr,0,t):(dr=t,setTimeout(qs,0))},hi=function(t,e){Ks=setTimeout(t,e)},sa=function(){clearTimeout(Ks)},ee.unstable_shouldYield=function(){return!1},Gs=ee.unstable_forceFrameRate=function(){}):(bf=window.setTimeout,kf=window.clearTimeout,typeof console<"u"&&(Tf=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof Tf!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")),fi=!1,pi=null,ia=-1,Ys=5,Xs=0,ee.unstable_shouldYield=function(){return ee.unstable_now()>=Xs},Gs=function(){},ee.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Ys=0<t?Math.floor(1e3/t):5},Qs=new MessageChannel,oa=Qs.port2,Qs.port1.onmessage=function(){if(pi!==null){var t=ee.unstable_now();Xs=t+Ys;try{pi(!0,t)?oa.postMessage(null):(fi=!1,pi=null)}catch(e){throw oa.postMessage(null),e}}else fi=!1},fr=function(t){pi=t,fi||(fi=!0,oa.postMessage(null))},hi=function(t,e){ia=bf(function(){t(ee.unstable_now())},e)},sa=function(){kf(ia),ia=-1});var dr,Ks,qs,bf,kf,Tf,fi,pi,ia,Ys,Xs,Qs,oa;function Zs(t,e){var n=t.length;t.push(e);e:for(;;){var r=n-1>>>1,i=t[r];if(i!==void 0&&0<aa(i,e))t[r]=e,t[n]=i,n=r;else break e}}function pt(t){return t=t[0],t===void 0?null:t}function la(t){var e=t[0];if(e!==void 0){var n=t.pop();if(n!==e){t[0]=n;e:for(var r=0,i=t.length;r<i;){var o=2*(r+1)-1,a=t[o],s=o+1,l=t[s];if(a!==void 0&&0>aa(a,n))l!==void 0&&0>aa(l,a)?(t[r]=l,t[s]=n,r=s):(t[r]=a,t[o]=n,r=o);else if(l!==void 0&&0>aa(l,n))t[r]=l,t[s]=n,r=s;else break e}}return e}return null}function aa(t,e){var n=t.sortIndex-e.sortIndex;return n!==0?n:t.id-e.id}var Et=[],Kt=[],xy=1,nt=null,Pe=3,ua=!1,bn=!1,mi=!1;function Js(t){for(var e=pt(Kt);e!==null;){if(e.callback===null)la(Kt);else if(e.startTime<=t)la(Kt),e.sortIndex=e.expirationTime,Zs(Et,e);else break;e=pt(Kt)}}function el(t){if(mi=!1,Js(t),!bn)if(pt(Et)!==null)bn=!0,fr(tl);else{var e=pt(Kt);e!==null&&hi(el,e.startTime-t)}}function tl(t,e){bn=!1,mi&&(mi=!1,sa()),ua=!0;var n=Pe;try{for(Js(e),nt=pt(Et);nt!==null&&(!(nt.expirationTime>e)||t&&!ee.unstable_shouldYield());){var r=nt.callback;if(typeof r=="function"){nt.callback=null,Pe=nt.priorityLevel;var i=r(nt.expirationTime<=e);e=ee.unstable_now(),typeof i=="function"?nt.callback=i:nt===pt(Et)&&la(Et),Js(e)}else la(Et);nt=pt(Et)}if(nt!==null)var o=!0;else{var a=pt(Kt);a!==null&&hi(el,a.startTime-e),o=!1}return o}finally{nt=null,Pe=n,ua=!1}}var Sy=Gs;ee.unstable_IdlePriority=5;ee.unstable_ImmediatePriority=1;ee.unstable_LowPriority=4;ee.unstable_NormalPriority=3;ee.unstable_Profiling=null;ee.unstable_UserBlockingPriority=2;ee.unstable_cancelCallback=function(t){t.callback=null};ee.unstable_continueExecution=function(){bn||ua||(bn=!0,fr(tl))};ee.unstable_getCurrentPriorityLevel=function(){return Pe};ee.unstable_getFirstCallbackNode=function(){return pt(Et)};ee.unstable_next=function(t){switch(Pe){case 1:case 2:case 3:var e=3;break;default:e=Pe}var n=Pe;Pe=e;try{return t()}finally{Pe=n}};ee.unstable_pauseExecution=function(){};ee.unstable_requestPaint=Sy;ee.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var n=Pe;Pe=t;try{return e()}finally{Pe=n}};ee.unstable_scheduleCallback=function(t,e,n){var r=ee.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,t){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return i=n+i,t={id:xy++,callback:e,priorityLevel:t,startTime:n,expirationTime:i,sortIndex:-1},n>r?(t.sortIndex=n,Zs(Kt,t),pt(Et)===null&&t===pt(Kt)&&(mi?sa():mi=!0,hi(el,n-r))):(t.sortIndex=i,Zs(Et,t),bn||ua||(bn=!0,fr(tl))),t};ee.unstable_wrapCallback=function(t){var e=Pe;return function(){var n=Pe;Pe=e;try{return t.apply(this,arguments)}finally{Pe=n}}}});var _f=Y((Wx,Nf)=>{"use strict";Nf.exports=Of()});var mm=Y(lt=>{"use strict";var ns=H(),ce=wo(),xe=_f();function N(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!ns)throw Error(N(227));var $p=new Set,Hi={};function In(t,e){Lr(t,e),Lr(t+"Capture",e)}function Lr(t,e){for(Hi[t]=e,t=0;t<e.length;t++)$p.add(e[t])}var jt=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Cy=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Df=Object.prototype.hasOwnProperty,Pf={},Af={};function by(t){return Df.call(Af,t)?!0:Df.call(Pf,t)?!1:Cy.test(t)?Af[t]=!0:(Pf[t]=!0,!1)}function ky(t,e,n,r){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function Ty(t,e,n,r){if(e===null||typeof e>"u"||ky(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function ze(t,e,n,r,i,o,a){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=o,this.removeEmptyString=a}var Oe={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){Oe[t]=new ze(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];Oe[e]=new ze(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){Oe[t]=new ze(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){Oe[t]=new ze(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){Oe[t]=new ze(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){Oe[t]=new ze(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){Oe[t]=new ze(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){Oe[t]=new ze(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){Oe[t]=new ze(t,5,!1,t.toLowerCase(),null,!1,!1)});var cu=/[\-:]([a-z])/g;function du(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(cu,du);Oe[e]=new ze(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(cu,du);Oe[e]=new ze(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(cu,du);Oe[e]=new ze(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){Oe[t]=new ze(t,1,!1,t.toLowerCase(),null,!1,!1)});Oe.xlinkHref=new ze("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){Oe[t]=new ze(t,1,!1,t.toLowerCase(),null,!0,!0)});function fu(t,e,n,r){var i=Oe.hasOwnProperty(e)?Oe[e]:null,o=i!==null?i.type===0:r?!1:!(!(2<e.length)||e[0]!=="o"&&e[0]!=="O"||e[1]!=="n"&&e[1]!=="N");o||(Ty(e,n,i,r)&&(n=null),r||i===null?by(e)&&(n===null?t.removeAttribute(e):t.setAttribute(e,""+n)):i.mustUseProperty?t[i.propertyName]=n===null?i.type===3?!1:"":n:(e=i.attributeName,r=i.attributeNamespace,n===null?t.removeAttribute(e):(i=i.type,n=i===3||i===4&&n===!0?"":""+n,r?t.setAttributeNS(r,e,n):t.setAttribute(e,n))))}var jn=ns.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Ni=60103,Tn=60106,Yt=60107,pu=60108,Li=60114,hu=60109,mu=60110,rs=60112,Mi=60113,La=60120,is=60115,gu=60116,vu=60121,yu=60128,Vp=60129,wu=60130,bl=60131;typeof Symbol=="function"&&Symbol.for&&(we=Symbol.for,Ni=we("react.element"),Tn=we("react.portal"),Yt=we("react.fragment"),pu=we("react.strict_mode"),Li=we("react.profiler"),hu=we("react.provider"),mu=we("react.context"),rs=we("react.forward_ref"),Mi=we("react.suspense"),La=we("react.suspense_list"),is=we("react.memo"),gu=we("react.lazy"),vu=we("react.block"),we("react.scope"),yu=we("react.opaque.id"),Vp=we("react.debug_trace_mode"),wu=we("react.offscreen"),bl=we("react.legacy_hidden"));var we,Lf=typeof Symbol=="function"&&Symbol.iterator;function gi(t){return t===null||typeof t!="object"?null:(t=Lf&&t[Lf]||t["@@iterator"],typeof t=="function"?t:null)}var nl;function _i(t){if(nl===void 0)try{throw Error()}catch(n){var e=n.stack.trim().match(/\n( *(at )?)/);nl=e&&e[1]||""}return`
3
3
  `+nl+t}var rl=!1;function ca(t,e){if(!t||rl)return"";rl=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(e)if(e=function(){throw Error()},Object.defineProperty(e.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(e,[])}catch(l){var r=l}Reflect.construct(t,[],e)}else{try{e.call()}catch(l){r=l}t.call(e.prototype)}else{try{throw Error()}catch(l){r=l}t()}}catch(l){if(l&&r&&typeof l.stack=="string"){for(var i=l.stack.split(`
4
4
  `),o=r.stack.split(`
@@ -13,9 +13,9 @@ Add a <Suspense fallback=...> component higher in the tree to provide a loading
13
13
 
14
14
  %o
15
15
 
16
- %o`,n,e,r),(i=window.onerror)===null||i===void 0||i.call(window,n,"",0,0,e)}logFormattedMessage(e,n,r={}){r=Object.assign({application:this},r),this.logger.groupCollapsed(`${e} #${n}`),this.logger.log("details:",Object.assign({},r)),this.logger.groupEnd()}};function iv(){return new Promise(t=>{document.readyState=="loading"?document.addEventListener("DOMContentLoaded",()=>t()):t()})}function ov(t){return Os(t,"classes").reduce((n,r)=>Object.assign(n,av(r)),{})}function av(t){return{[`${t}Class`]:{get(){let{classes:e}=this;if(e.has(t))return e.get(t);{let n=e.getAttributeName(t);throw new Error(`Missing attribute "${n}"`)}}},[`${t}Classes`]:{get(){return this.classes.getAll(t)}},[`has${vo(t)}Class`]:{get(){return this.classes.has(t)}}}}function sv(t){return Os(t,"targets").reduce((n,r)=>Object.assign(n,lv(r)),{})}function lv(t){return{[`${t}Target`]:{get(){let e=this.targets.find(t);if(e)return e;throw new Error(`Missing target element "${t}" for "${this.identifier}" controller`)}},[`${t}Targets`]:{get(){return this.targets.findAll(t)}},[`has${vo(t)}Target`]:{get(){return this.targets.has(t)}}}}function uv(t){let e=Kg(t,"values"),n={valueDescriptorMap:{get(){return e.reduce((r,i)=>{let o=Gc(i,this.identifier),a=this.data.getAttributeNameForKey(o.key);return Object.assign(r,{[a]:o})},{})}}};return e.reduce((r,i)=>Object.assign(r,cv(i)),n)}function cv(t,e){let n=Gc(t,e),{key:r,name:i,reader:o,writer:a}=n;return{[i]:{get(){let s=this.data.get(r);return s!==null?o(s):n.defaultValue},set(s){s===void 0?this.data.delete(r):this.data.set(r,a(s))}},[`has${vo(i)}`]:{get(){return this.data.has(r)||n.hasCustomDefaultValue}}}}function Gc([t,e],n){return hv({controller:n,token:t,typeDefinition:e})}function Ns(t){switch(t){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function Hr(t){switch(typeof t){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(t))return"array";if(Object.prototype.toString.call(t)==="[object Object]")return"object"}function dv(t){let e=Ns(t.typeObject.type);if(!e)return;let n=Hr(t.typeObject.default);if(e!==n){let r=t.controller?`${t.controller}.${t.token}`:t.token;throw new Error(`The specified default value for the Stimulus Value "${r}" must match the defined type "${e}". The provided default value of "${t.typeObject.default}" is of type "${n}".`)}return e}function fv(t){let e=dv({controller:t.controller,token:t.token,typeObject:t.typeDefinition}),n=Hr(t.typeDefinition),r=Ns(t.typeDefinition),i=e||n||r;if(i)return i;let o=t.controller?`${t.controller}.${t.typeDefinition}`:t.token;throw new Error(`Unknown value type "${o}" for "${t.token}" value`)}function pv(t){let e=Ns(t);if(e)return mv[e];let n=t.default;return n!==void 0?n:t}function hv(t){let e=`${Pc(t.token)}-value`,n=fv(t);return{type:n,key:e,name:Dc(e),get defaultValue(){return pv(t.typeDefinition)},get hasCustomDefaultValue(){return Hr(t.typeDefinition)!==void 0},reader:gv[n],writer:Tc[n]||Tc.default}}var mv={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},gv={array(t){let e=JSON.parse(t);if(!Array.isArray(e))throw new TypeError(`expected value of type "array" but instead got value "${t}" of type "${Hr(e)}"`);return e},boolean(t){return!(t=="0"||String(t).toLowerCase()=="false")},number(t){return Number(t)},object(t){let e=JSON.parse(t);if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError(`expected value of type "object" but instead got value "${t}" of type "${Hr(e)}"`);return e},string(t){return t}},Tc={default:vv,array:Oc,object:Oc};function Oc(t){return JSON.stringify(t)}function vv(t){return`${t}`}var Ze=class{constructor(e){this.context=e}static get shouldLoad(){return!0}get application(){return this.context.application}get scope(){return this.context.scope}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(e,{target:n=this.element,detail:r={},prefix:i=this.identifier,bubbles:o=!0,cancelable:a=!0}={}){let s=i?`${i}:${e}`:e,l=new CustomEvent(s,{detail:r,bubbles:o,cancelable:a});return n.dispatchEvent(l),l}};Ze.blessings=[ov,sv,uv];Ze.targets=[];Ze.values={};var Jo={};_g(Jo,{Attachments:()=>Qn,DateRangeSelect:()=>yn,EditableImage:()=>Bt,FileUploadButton:()=>ct,ImageCropper:()=>rr,ImageGrid:()=>sr,ImageUploader:()=>Fo,Modal:()=>Ro,PageDates:()=>ii,PageFiles:()=>oi,PageImages:()=>ai,PageTree:()=>li,RichTextArea:()=>Cn,TagEditor:()=>Go,Toast:()=>di});var $e=D(H()),Xn=D(J());var Se=D(H()),tt=D(J());function Yr(){return document.queryCommandSupported&&document.queryCommandSupported("copy")}function vt(t){let e=document.createElement("textarea");e.value=t,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}var ie=D(H()),Qr=D(J());function et(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var bd=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}(),Is=function(){return Math.random().toString(36).substring(7).split("").join(".")},kd={INIT:"@@redux/INIT"+Is(),REPLACE:"@@redux/REPLACE"+Is(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Is()}};function _v(t){if(typeof t!="object"||t===null)return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Xr(t,e,n){var r;if(typeof e=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(et(0));if(typeof e=="function"&&typeof n>"u"&&(n=e,e=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(et(1));return n(Xr)(t,e)}if(typeof t!="function")throw new Error(et(2));var i=t,o=e,a=[],s=a,l=!1;function u(){s===a&&(s=a.slice())}function p(){if(l)throw new Error(et(3));return o}function m(y){if(typeof y!="function")throw new Error(et(4));if(l)throw new Error(et(5));var f=!0;return u(),s.push(y),function(){if(!!f){if(l)throw new Error(et(6));f=!1,u();var c=s.indexOf(y);s.splice(c,1),a=null}}}function h(y){if(!_v(y))throw new Error(et(7));if(typeof y.type>"u")throw new Error(et(8));if(l)throw new Error(et(9));try{l=!0,o=i(o,y)}finally{l=!1}for(var f=a=s,d=0;d<f.length;d++){var c=f[d];c()}return y}function E(y){if(typeof y!="function")throw new Error(et(10));i=y,h({type:kd.REPLACE})}function v(){var y,f=m;return y={subscribe:function(c){if(typeof c!="object"||c===null)throw new Error(et(11));function g(){c.next&&c.next(p())}g();var w=f(g);return{unsubscribe:w}}},y[bd]=function(){return this},y}return h({type:kd.INIT}),r={dispatch:h,subscribe:m,getState:p,replaceReducer:E},r[bd]=v,r}var je=Xr((t={},e)=>{switch(e.type){case"OPEN":return re(j({},t),{component:e.payload});case"CLOSE":return re(j({},t),{component:null});default:return t}});var Fe=Xr((t=[],e)=>{switch(e.type){case"ERROR":return[...t,{message:e.message,type:"error"}];case"NOTICE":return[...t,{message:e.message,type:"notice"}];case"NEXT":return t.slice(1);default:return t}});function Td(){return document.querySelector("[name=csrf-token]").content}function Od(){return{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8","X-CSRF-Token":Td()}}}async function Nd(t,e){let n=re(j({},Od()),{method:"POST"});return e&&(n.body=JSON.stringify(e)),(await fetch(t,n)).json()}async function Wn(t,e){let n=re(j({},Od()),{method:"PUT"});return e&&(n.body=JSON.stringify(e)),(await fetch(t,n)).json()}async function Hn(t,e){return(await fetch(t,{method:"POST",body:e,headers:{"X-CSRF-Token":Td()}})).json()}function So(t){let{attachment:e,locales:n}=t,[r,i]=(0,ie.useState)(t.locale),[o,a]=(0,ie.useState)({name:e.name||{},description:e.description||{}}),s=m=>h=>{a(re(j({},o),{[m]:re(j({},o[m]),{[r]:h.target.value})}))},l=m=>{m.preventDefault(),vt(`[attachment:${e.id}]`),Fe.dispatch({type:"NOTICE",message:"Embed code copied to clipboard"})},u=m=>{m.preventDefault(),m.stopPropagation();let h=j({},o);Wn(`/admin/attachments/${e.id}`,{attachment:h}),t.onUpdate&&t.onUpdate(h),je.dispatch({type:"CLOSE"})},p=n&&n[r]&&n[r].dir||"ltr";return ie.default.createElement("div",{className:"attachment-editor"},ie.default.createElement("form",null,t.locales&&Object.keys(n).length>1&&ie.default.createElement("div",{className:"field"},ie.default.createElement("label",null,"Locale"),ie.default.createElement("select",{name:"locale",value:r,onChange:m=>i(m.target.value)},Object.keys(n).map(m=>ie.default.createElement("option",{key:`locale-${m}`,value:m},n[m].name)))),ie.default.createElement("div",{className:"field"},ie.default.createElement("label",null,"Name"),ie.default.createElement("input",{type:"text",className:"name",lang:r,dir:p,value:o.name[r]||"",onChange:s("name")})),ie.default.createElement("div",{className:"field"},ie.default.createElement("label",null,"Description"),ie.default.createElement("textarea",{className:"description",value:o.description[r]||"",lang:r,dir:p,onChange:s("description")})),ie.default.createElement("div",{className:"field embed-code"},ie.default.createElement("label",null,"Embed code"),ie.default.createElement("input",{type:"text",value:`[attachment:${e.id}]`,disabled:!0}),Yr()&&ie.default.createElement("button",{onClick:l},"Copy")),ie.default.createElement("div",{className:"field"},ie.default.createElement("label",null,"File"),ie.default.createElement("a",{href:e.url,rel:"noreferrer",target:"_blank"},e.filename)),ie.default.createElement("div",{className:"buttons"},ie.default.createElement("button",{onClick:u},"Save"),ie.default.createElement("button",{onClick:()=>je.dispatch({type:"CLOSE"})},"Cancel"))))}So.propTypes={attachment:Qr.default.object,locale:Qr.default.string,locales:Qr.default.object,onUpdate:Qr.default.func};var Rt=D(H()),uf=D(lf());function uy(t){return t.ref.current?t.ref.current.getBoundingClientRect():null}function cy(t,e){if(t&&t.ref&&t.ref.current){let n=t.ref.current.style.display;t.ref.current.style.display="none";let r=e();return t.ref.current.style.display=n,r}else return e()}function dy(t,e){switch(e.type){case"append":return[...t,...e.payload];case"prepend":return[...e.payload,...t];case"insertFiles":var n=t.indexOf("Files");return n===-1||!e.payload?t:[...t.slice(0,n),...e.payload,...t.slice(n+1)];case"update":return t.map(r=>r.handle===e.payload.handle?e.payload:r);case"updatePositions":return cy(e.payload,()=>t.map(r=>re(j({},r),{rect:uy(r)})));case"remove":return t.filter(r=>r.handle!==e.payload.handle);case"replace":return e.payload;case"reorder":return e.payload;default:return t}}function Kn(t){return{record:t,rect:null,ref:Rt.default.createRef(),handle:(0,uf.default)("draggable")}}function vn(t){let e=(0,Rt.useRef)(),[n,r]=(0,Rt.useReducer)(dy,[],()=>t.map(i=>Kn(i)));return(0,Rt.useEffect)(()=>{r({type:"updatePositions"})},[]),{ref:e,draggables:n,dispatch:r}}var bo=D(H());function fy(t){if(!t.dataTransfer||!t.dataTransfer.types)return!1;let e=t.dataTransfer.types;for(var n=0;n<e.length;n++)if(e[n]==="Files"||e[n]==="application/x-moz-file")return!0;return!1}function py(t){var e=[];if(t.items)for(let n=0;n<t.items.length;n++)t.items[n].kind=="file"&&e.push(t.items[n].getAsFile());else for(let n=0;n<t.files.length;n++)e.push(t.files[n]);return e}function cf(t){var e,n;return t.type=="touchmove"?(e=t.touches[0].clientX,n=t.touches[0].clientY):(e=t.clientX,n=t.clientY),{x:e,y:n}}function qn(t,e){let[n,r]=(0,bo.useState)({dragging:!1,x:null,y:null}),i=u=>{t.forEach(p=>{p.dispatch({type:"updatePositions",payload:u})})},o=(u,p)=>{i(p),r(j({dragging:p},cf(u)))},a=u=>{n.dragging?(u.stopPropagation(),u.preventDefault(),r(j(j({},n),cf(u)))):fy(u)&&o(u,"Files")},s=u=>{if(n.dragging){let m=n;var p=[];u.preventDefault(),u.stopPropagation(),n.dragging=="Files"&&(p=py(u.dataTransfer)),r({dragging:!1,x:null,y:null}),e(m,p),i()}},l=u=>{n.dragging==="Files"&&(u.preventDefault(),u.stopPropagation(),r({dragging:!1,x:null,y:null}))};return(0,bo.useEffect)(()=>(window.addEventListener("mousemove",a),window.addEventListener("touchmove",a),window.addEventListener("mouseup",s),window.addEventListener("touchend",s),window.addEventListener("mouseout",l),function(){window.removeEventListener("mousemove",a),window.removeEventListener("touchmove",a),window.removeEventListener("mouseup",s),window.removeEventListener("touchend",s),window.removeEventListener("mouseout",l)})),[n,o,{onDragOver:a,onDrop:s}]}var ko=D(H());function Yn(t,e){let n=(0,ko.useRef)(),r=i=>{i.preventDefault(),i.stopPropagation(),e(i,t)};return(0,ko.useEffect)(()=>{t.ref.current=n.current},[]),{ref:n,onDragStart:r,draggable:!0}}function df(t,e){let{x:n,y:r}=t;var i;if(e.rect)i=e.rect;else if(e.current)i=e.current.getBoundingClientRect();else return!1;return n>=i.left&&n<=i.right&&r>=i.top&&r<=i.bottom}function Zr(t,e){let{draggables:n,ref:r}=t,{dragging:i}=e;if(!i)return n;let o=n.filter(a=>a.handle!==i.handle);if(df(e,r)){let a=o.filter(s=>df(e,s))[0];if(a){let s=o.indexOf(a);o=[...o.slice(0,s),i,...o.slice(s)]}else o=[...o,i]}return o}function Jr(t,e){let n=Zr(t,e);return e.dragging&&n.indexOf(e.dragging)===-1&&(e.y<t.ref.current.getBoundingClientRect().top?n=[e.dragging,...n]:n.push(e.dragging)),n}function To(t){let{attributeName:e,draggable:n,locales:r,locale:i}=t,{record:o}=n,{attachment:a,uploading:s}=o,l=Yn(n,t.startDrag),u=d=>{d.preventDefault(),vt(`[attachment:${a.id}]`),Fe.dispatch({type:"NOTICE",message:"Embed code copied to clipboard"})},p=d=>{d.preventDefault(),t.deleteRecord&&t.deleteRecord()},m=()=>a.description&&a.description[i]?a.description[i]:null,h=()=>a.name&&a.name[i]?a.name[i]:null,E=d=>{d.preventDefault(),je.dispatch({type:"OPEN",payload:Se.default.createElement(So,{attachment:a,locale:i,locales:r,onUpdate:t.onUpdate})})},v=["attachment"];t.placeholder&&v.push("placeholder"),o.uploading&&v.push("uploading");let y=s?"cloud-upload":"paperclip",f=r&&r[i]&&r[i].dir||"ltr";return Se.default.createElement("div",j({className:v.join(" ")},l),Se.default.createElement("input",{name:`${e}[id]`,type:"hidden",value:o.id||""}),Se.default.createElement("input",{name:`${e}[attachment_id]`,type:"hidden",value:a&&a.id||""}),Se.default.createElement("input",{name:`${e}[position]`,type:"hidden",value:t.position}),!s&&Se.default.createElement("div",{className:"actions"},Se.default.createElement("button",{onClick:E},"Edit"),t.showEmbed&&Se.default.createElement("button",{onClick:u},"Embed"),t.deleteRecord&&Se.default.createElement("button",{onClick:p},"Remove")),a&&Se.default.createElement("div",{className:"attachment-info"},Se.default.createElement("h3",null,Se.default.createElement("i",{className:`fa fa-${y} icon`}),h()||Se.default.createElement("em",null,"Untitled"),Se.default.createElement("br",null)),!s&&Se.default.createElement("a",{href:a.url,rel:"noreferrer",target:"_blank"},a.filename),!s&&m()&&Se.default.createElement("p",{dir:f},m())))}To.propTypes={locale:tt.default.string,locales:tt.default.object,draggable:tt.default.object,deleteRecord:tt.default.func,startDrag:tt.default.func,showEmbed:tt.default.bool,onUpdate:tt.default.func,attributeName:tt.default.string,placeholder:tt.default.bool,position:tt.default.number,ref:tt.default.object};var ff=D(H());function js(){return ff.default.createElement("div",{className:"attachment drop-placeholder",key:"file-placeholder"},"Upload files here")}var Ut=D(H()),ei=D(J());function ct(t){let e=(0,Ut.useRef)(),n=i=>{let o=i.target.files,a=[];for(var s=0;s<o.length;s++)a.push(o[s]);a.length>0&&t.callback(a)},r=i=>{i.preventDefault(),e.current.click()};return Ut.default.createElement("div",{className:"upload-button"},Ut.default.createElement("span",null,"Drag and drop ",t.type||"file",t.multiple&&"s"," here, or",t.multiline&&Ut.default.createElement("br",null),Ut.default.createElement("button",{onClick:r},"choose a file")),Ut.default.createElement("input",{type:"file",onChange:n,ref:e,style:{display:"none"},multiple:t.multiple||!1}))}ct.propTypes={callback:ei.default.func,type:ei.default.string,multiple:ei.default.bool,multiline:ei.default.bool};function hy(t){return t.replace(/\.[\w\d]+$/,"").replace(/_/g," ")}function Qn(t){let e=vn(t.records),n=t.locales?Object.keys(t.locales):[t.locale],[r,i]=(0,$e.useState)([]),o=c=>{let g={};n.forEach(O=>g[O]=c.name);let w=Kn({attachment:{filename:c.name,name:g},uploading:!0}),M=new FormData;return M.append("attachment[file]",c),n.forEach(O=>{M.append(`attachment[name][${O}]`,hy(c.name))}),Hn("/admin/attachments.json",M).then(O=>{e.dispatch({type:"update",payload:re(j({},w),{record:{attachment:O,uploading:!1}})})}),w},a=c=>{e.dispatch({type:"append",payload:c.map(g=>o(g))})},s=(c,g)=>{e.dispatch({type:"reorder",payload:Jr(e,c)}),e.dispatch({type:"insertFiles",payload:g.map(w=>o(w))})},[l,u,p]=qn([e],s),m=c=>[...e.draggables.map(g=>g.record),...r].indexOf(c)+1,h=c=>`${t.attribute}[${m(c)}]`,E=c=>g=>{let{record:w}=c,M=re(j({},c),{record:re(j({},w),{attachment:j(j({},w.attachment),g)})});e.dispatch({type:"update",payload:M})},v=c=>()=>{e.dispatch({type:"remove",payload:c}),c.record.id&&i([...r,c.record])},y=c=>{let{dragging:g}=l;return c==="Files"?$e.default.createElement(js,{key:"placeholder"}):$e.default.createElement(To,{key:c.handle,draggable:c,locale:t.locale,locales:t.locales,showEmbed:t.showEmbed,startDrag:u,position:m(c.record),onUpdate:E(c),deleteRecord:v(c),attributeName:h(c.record),placeholder:g&&g==c})},f=Jr(e,l),d=["attachments"];return l.dragging&&d.push("dragover"),$e.default.createElement("div",j({className:d.join(" "),ref:e.ref},p),$e.default.createElement("div",{className:"files"},f.map(c=>y(c))),$e.default.createElement("div",{className:"deleted"},r.map(c=>$e.default.createElement("span",{className:"deleted-attachment",key:c.id},$e.default.createElement("input",{name:`${h(c)}[id]`,type:"hidden",value:c.id}),$e.default.createElement("input",{name:`${h(c)}[attachment_id]`,type:"hidden",value:c.attachment&&c.attachment.id||""}),$e.default.createElement("input",{name:`${h(c)}[_destroy]`,type:"hidden",value:!0})))),$e.default.createElement("div",{className:"drop-target"},$e.default.createElement(ct,{multiple:!0,multiline:!0,callback:a})))}Qn.propTypes={attribute:Xn.default.string,locale:Xn.default.string,locales:Xn.default.object,records:Xn.default.array,showEmbed:Xn.default.bool};var Ce=D(H()),Gn=D(J()),yn=class extends Ce.default.Component{constructor(e){super(e);this.state={startsAt:this.parseDate(e.startsAt)||this.defaultDate(),endsAt:this.parseDate(e.endsAt)||this.defaultDate(60),startTime:"",endTime:""},this.state.startTime=this.timeToString(this.state.startsAt),this.state.endTime=this.timeToString(this.state.endsAt),this.changeStartsAt=this.changeStartsAt.bind(this),this.changeEndsAt=this.changeEndsAt.bind(this)}changeStartsAt(e={}){let n=this.modifyDate(this.state.startsAt,e);this.setDates(n,new Date(this.state.endsAt.getTime()+(n-this.state.startsAt)))}changeEndsAt(e={}){let n=this.modifyDate(this.state.endsAt,e);this.setDates(this.state.startsAt,n)}defaultDate(e=0){let n=36e5;return new Date(Math.round(new Date().getTime()/n)*n+n+1e3*60*e)}modifyDate(e,n={}){var r=new Date(e);return Object.prototype.hasOwnProperty.call(n,"year")&&r.setFullYear(n.year),Object.prototype.hasOwnProperty.call(n,"month")&&r.setMonth(n.month),Object.prototype.hasOwnProperty.call(n,"date")&&r.setDate(n.date),Object.prototype.hasOwnProperty.call(n,"time")&&n.time.match(/^[\d]{1,2}(:[\d]{1,2})?$/)&&(r.setHours(n.time.split(":")[0]),r.setMinutes(n.time.split(":")[1]||0)),r}parseDate(e){if(!!e)return new Date(e)}setDates(e,n){n<e&&(n=e),this.setState({startsAt:e,endsAt:n,startTime:this.timeToString(e),endTime:this.timeToString(n)})}startsAtToString(){return this.props.disabled?"":this.state.startsAt.toJSON()}endsAtToString(){return this.props.disabled?"":this.state.endsAt.toJSON()}renderDateSelect(e,n,r){return Ce.default.createElement("div",{className:"date-select"},Ce.default.createElement("select",{value:n.getMonth(),onChange:i=>r({month:i.target.value}),disabled:this.props.disabled},this.monthOptions().map((i,o)=>Ce.default.createElement("option",{key:e+"-month-"+o,value:o},i))),Ce.default.createElement("select",{value:n.getDate(),onChange:i=>r({date:i.target.value}),disabled:this.props.disabled},this.dayOptions().map(i=>Ce.default.createElement("option",{key:e+"-date-"+i,value:i},i))),Ce.default.createElement("select",{value:n.getFullYear(),onChange:i=>r({year:i.target.value}),disabled:this.props.disabled},this.yearOptions().map(i=>Ce.default.createElement("option",{key:e+"-year-"+i,value:i},i))))}render(){return Ce.default.createElement("div",{className:"date-range-select"},Ce.default.createElement("input",{type:"hidden",name:this.props.objectName+"[starts_at]",value:this.startsAtToString()}),Ce.default.createElement("input",{type:"hidden",name:this.props.objectName+"[ends_at]",value:this.endsAtToString()}),Ce.default.createElement("div",{className:"date"},this.renderDateSelect("starts-at",this.state.startsAt,this.changeStartsAt),!this.props.disableTime&&Ce.default.createElement("input",{type:"text",size:"5",value:this.state.startTime,disabled:this.props.disabled,onChange:e=>this.setState({startTime:e.target.value}),onBlur:e=>this.changeStartsAt({time:e.target.value})})),Ce.default.createElement("span",{className:"to"},"to"),Ce.default.createElement("div",{className:"date"},this.renderDateSelect("ends-at",this.state.endsAt,this.changeEndsAt),!this.props.disableTime&&Ce.default.createElement("input",{type:"text",size:"5",value:this.state.endTime,disabled:this.props.disabled,onChange:e=>this.setState({endTime:e.target.value}),onBlur:e=>this.changeEndsAt({time:e.target.value})})))}timeToString(e){return e.toTimeString().slice(0,5)}yearOptions(){let e=2e3;return Array.apply(null,Array(new Date().getFullYear()-e+11)).map((n,r)=>r+e)}monthOptions(){return["January","February","March","April","May","June","July","August","September","October","November","December"]}dayOptions(){return Array.apply(null,Array(31)).map((e,n)=>n+1)}};yn.propTypes={startsAt:Gn.default.string,endsAt:Gn.default.string,disabled:Gn.default.bool,disableTime:Gn.default.bool,objectName:Gn.default.string};var _t=D(H()),zt=D(J());var En=D(H()),ir=D(J());var Ye=D(H()),Po=D(J());var tr=D(H()),wn=D(J()),yf=D(mf());var Zn=D(H());function my(t,e){let n=No(t),r=t.image,i=r.real_width/r.real_height;return e?(n.aspect=e,n.width=100,n.height=100/e*i,n.height>100&&(n.height=100,n.width=100*e/i),n.x=(100-n.width)/2,n.y=(100-n.height)/2):delete n.aspect,gf(t,n)}function gf(t,e){let{image:n}=t;return(e.width<5||e.height<5)&&(e={x:0,y:0,width:100,height:100}),e.aspect===null&&delete e.aspect,{aspect:e.aspect,crop_start_x:n.real_width*(e.x/100),crop_start_y:n.real_height*(e.y/100),crop_width:n.real_width*(e.width/100),crop_height:n.real_height*(e.height/100)}}function vf(t,e){let{crop_start_x:n,crop_start_y:r,crop_width:i,crop_height:o,crop_gravity_x:a,crop_gravity_y:s}=t;switch(e.type){case"completeCrop":return a<n||a>n+i||s<r||s>r+o?re(j({},t),{cropping:!1,crop_gravity_x:null,crop_gravity_y:null}):re(j({},t),{cropping:!1});case"setCrop":return j(j({},t),gf(t,e.payload));case"setAspect":return j(j({},t),my(t,e.payload));case"setFocal":return re(j({},t),{crop_gravity_x:i*(e.payload.x/100)+n,crop_gravity_y:o*(e.payload.y/100)+r});case"startCrop":return re(j({},t),{cropping:!0});case"toggleFocal":return a===null?vf(t,{type:"setFocal",payload:{x:50,y:50}}):re(j({},t),{crop_gravity_x:null,crop_gravity_y:null});default:return t}}function gy(t,e){let n=document.createElement("canvas");n.width=t.naturalWidth*(e.width/100),n.height=t.naturalHeight*(e.height/100);let r=n.getContext("2d");return r.drawImage(t,t.naturalWidth*(e.x/100),t.naturalHeight*(e.y/100),t.naturalWidth*(e.width/100),t.naturalHeight*(e.height/100),0,0,t.naturalWidth*(e.width/100),t.naturalHeight*(e.height/100)),[n,r]}function vy(t,e){let n=e.getImageData(0,0,t.width,t.height).data;for(var r=0;r<n.length/4;r++)if(n[r*4+3]!==255)return t.toDataURL("image/png");return t.toDataURL("image/jpeg")}function Oo(t){let e=o=>a=>a===null?a:o(a),n=e(Math.round),r=e(Math.ceil),i={crop_start_x:n(t.crop_start_x),crop_start_y:n(t.crop_start_y),crop_width:r(t.crop_width),crop_height:r(t.crop_height),crop_gravity_x:n(t.crop_gravity_x),crop_gravity_y:n(t.crop_gravity_y)};return i.crop_start_x+i.crop_width>t.image.real_width&&(i.crop_width=t.image.real_width-i.crop_start_x),i.crop_start_y+i.crop_height>t.image.real_height&&(i.crop_height=t.image.real_height-i.crop_start_y),i}function No(t){let{image:e,aspect:n,crop_start_x:r,crop_start_y:i,crop_width:o,crop_height:a}=t,s=e.real_width/e.real_height,l=r/e.real_width*100,u=i/e.real_height*100;var p=o/e.real_width*100,m=a/e.real_height*100;return n&&p?m=p/n*s:n&&m&&(p=m*n/s),n===null?{x:l,y:u,width:p,height:m}:{x:l,y:u,width:p,height:m,aspect:n}}function ni(t){let[e,n]=(0,Zn.useReducer)(vf,{aspect:null,cropping:!1,crop_start_x:t.crop_start_x||0,crop_start_y:t.crop_start_y||0,crop_width:t.crop_width||t.real_width,crop_height:t.crop_height||t.real_height,crop_gravity_x:t.crop_gravity_x,crop_gravity_y:t.crop_gravity_y,image:t}),[r,i]=(0,Zn.useState)(null);async function o(){let a=new Image;a.src=e.image.uncropped_url,await a.decode();let[s,l]=gy(a,No(e));i(vy(s,l))}return(0,Zn.useEffect)(()=>{e.cropping||o()},[e.cropping]),[e,n,r]}var Jn=D(H()),er=D(J()),ri=class extends Jn.default.Component{constructor(e){super(e);this.state={dragging:!1,x:e.x,y:e.y},this.dragStart=this.dragStart.bind(this),this.dragEnd=this.dragEnd.bind(this),this.drag=this.drag.bind(this),this.container=Jn.default.createRef(),this.point=Jn.default.createRef()}clamp(e,n,r){return e<n?n:e>r?r:e}dragStart(e){e.preventDefault(),e.stopPropagation(),e.target==this.point.current&&this.setState({dragging:!0})}dragEnd(){this.state.dragging&&(this.setState({dragging:!1}),this.props.onChange({x:this.state.x,y:this.state.y}))}drag(e){if(this.state.dragging){let i=this.container.current.getBoundingClientRect();var n,r;e.preventDefault(),e.type=="touchmove"?(n=e.touches[0].clientX-(i.x||i.left),r=e.touches[0].clientY-(i.y||i.top)):(n=e.clientX-(i.x||i.left),r=e.clientY-(i.y||i.top)),n=this.clamp(n,0,this.props.width),r=this.clamp(r,0,this.props.height),this.setState({x:n/this.props.width*100,y:r/this.props.height*100})}}render(){let e=this.props.width*(this.state.x/100),n=this.props.height*(this.state.y/100),r={transform:`translate3d(${e}px, ${n}px, 0)`};return Jn.default.createElement("div",{className:"focal-editor",ref:this.container,onTouchStart:this.dragStart,onTouchEnd:this.dragEnd,onTouchMove:this.drag,onMouseDown:this.dragStart,onMouseUp:this.dragEnd,onMouseMove:this.drag},Jn.default.createElement("div",{className:"focal-point",style:r,ref:this.point}))}};ri.propTypes={x:er.default.number,y:er.default.number,onChange:er.default.func,width:er.default.number,height:er.default.number};function _o(t){let e=()=>{let{image:l,cropping:u,crop_width:p,crop_height:m}=t.cropState;return u?{width:l.real_width,height:l.real_height}:{width:p,height:m}},n=t.containerSize.width,r=t.containerSize.height,i=e().width/e().height;var o=n,a=n/i;a>r&&(a=r,o=r*i);let s={width:`${o}px`,height:`${a}px`};return t.cropState.cropping?tr.default.createElement("div",{className:"image-wrapper",style:s},tr.default.createElement(yf.default,{src:t.cropState.image.uncropped_url,crop:No(t.cropState),minWidth:10,minHeight:10,onChange:t.setCrop})):tr.default.createElement("div",{className:"image-wrapper",style:s},t.focalPoint&&tr.default.createElement(ri,{width:o,height:a,x:t.focalPoint.x,y:t.focalPoint.y,onChange:t.setFocal}),tr.default.createElement("img",{src:t.croppedImage}))}_o.propTypes={containerSize:wn.default.object,croppedImage:wn.default.string,cropState:wn.default.object,focalPoint:wn.default.object,setCrop:wn.default.func,setFocal:wn.default.func};var Ve=D(H()),nr=D(J());function Do(t){let{cropping:e}=t.cropState,n=[["Free",null],["1:1",1],["3:2",3/2],["2:3",2/3],["4:3",4/3],["3:4",3/4],["5:4",5/4],["4:5",4/5],["16:9",16/9]],r=s=>l=>{l.preventDefault(),t.setAspect(s)},i=Math.ceil(t.cropState.crop_width),o=Math.ceil(t.cropState.crop_height),a=t.image.content_type.split("/")[1].toUpperCase();return Ve.default.createElement("div",{className:"toolbars"},Ve.default.createElement("div",{className:"toolbar"},Ve.default.createElement("div",{className:"info"},Ve.default.createElement("span",{className:"format"},i,"x",o," ",a)),Ve.default.createElement("button",{title:"Crop image",onClick:t.toggleCrop,className:e?"active":""},Ve.default.createElement("i",{className:"fa fa-crop"})),Ve.default.createElement("button",{disabled:e,title:"Toggle focal point",onClick:t.toggleFocal},Ve.default.createElement("i",{className:"fa fa-bullseye"})),Ve.default.createElement("a",{href:t.image.original_url,className:"button",title:"Download original image",disabled:e,download:t.image.filename,onClick:s=>e&&s.preventDefault()},Ve.default.createElement("i",{className:"fa fa-download"}))),e&&Ve.default.createElement("div",{className:"aspect-ratios toolbar"},Ve.default.createElement("div",{className:"label"},"Lock aspect ratio:"),n.map(s=>Ve.default.createElement("button",{key:"ratio-"+s[1],className:s[1]==t.cropState.aspect?"active":"",onClick:r(s[1])},s[0]))))}Do.propTypes={cropState:nr.default.object,image:nr.default.object,setAspect:nr.default.func,toggleCrop:nr.default.func,toggleFocal:nr.default.func};function yy(t){return t.crop_gravity_x===null||t.crop_gravity_y===null?null:{x:(t.crop_gravity_x-t.crop_start_x)/t.crop_width*100,y:(t.crop_gravity_y-t.crop_start_y)/t.crop_height*100}}function rr(t){let e=(0,Ye.useRef)(),[n,r]=(0,Ye.useState)(null),i=()=>{let u=e.current;u&&r({width:u.offsetWidth-2,height:u.offsetHeight-2})};(0,Ye.useEffect)(()=>(window.addEventListener("resize",i),function(){window.removeEventListener("resize",i)})),(0,Ye.useEffect)(i,[]);let o=u=>{t.dispatch({type:"setAspect",payload:u})},a=u=>{t.dispatch({type:"setCrop",payload:u})},s=u=>{t.dispatch({type:"setFocal",payload:u})},l=()=>{t.cropState.cropping?t.dispatch({type:"completeCrop"}):t.dispatch({type:"startCrop"})};return Ye.default.createElement("div",{className:"visual"},Ye.default.createElement(Do,{cropState:t.cropState,image:t.cropState.image,setAspect:o,toggleCrop:l,toggleFocal:()=>t.dispatch({type:"toggleFocal"})}),Ye.default.createElement("div",{className:"image-container",ref:e},!t.croppedImage&&Ye.default.createElement("div",{className:"loading"},"Loading image\u2026"),t.croppedImage&&n&&Ye.default.createElement(_o,{cropState:t.cropState,containerSize:n,croppedImage:t.croppedImage,focalPoint:yy(t.cropState),setCrop:a,setFocal:s})))}rr.propTypes={croppedImage:Po.default.string,cropState:Po.default.object,dispatch:Po.default.func};var ye=D(H()),yt=D(J());function Ao(t){let{alternative:e,caption:n,image:r,locale:i,locales:o}=t,a=u=>{u.preventDefault(),vt(`[image:${r.id}]`),Fe.dispatch({type:"NOTICE",message:"Embed code copied to clipboard"})},s=u=>{t.setLocale(u.target.value)},l=o&&o[i]&&o[i].dir||"ltr";return ye.default.createElement("form",null,ye.default.createElement("div",{className:"field embed-code"},ye.default.createElement("label",null,"Embed code"),ye.default.createElement("input",{type:"text",value:`[image:${r.id}]`,disabled:!0}),Yr()&&ye.default.createElement("button",{onClick:a},"Copy")),o&&Object.keys(o).length>1&&ye.default.createElement("div",{className:"field"},ye.default.createElement("label",null,"Locale"),ye.default.createElement("select",{name:"locale",value:i,onChange:s},Object.keys(o).map(u=>ye.default.createElement("option",{key:`locale-${u}`,value:u},o[u].name)))),ye.default.createElement("div",{className:"field "+(e[i]?"":"field-with-warning")},ye.default.createElement("label",null,"Alternative text"),ye.default.createElement("span",{className:"description"},"For visually impaired users and search engines."),ye.default.createElement("textarea",{className:"alternative",lang:i,dir:l,value:e[i]||"",onChange:u=>t.updateLocalization("alternative",u.target.value)})),t.showCaption&&ye.default.createElement("div",{className:"field"},ye.default.createElement("label",null,"Caption"),ye.default.createElement("textarea",{lang:i,dir:l,onChange:u=>t.updateLocalization("caption",u.target.value),value:n[i]||"",className:"caption"})),ye.default.createElement("div",{className:"buttons"},ye.default.createElement("button",{onClick:t.save},"Save"),ye.default.createElement("button",{onClick:()=>je.dispatch({type:"CLOSE"})},"Cancel")))}Ao.propTypes={alternative:yt.default.object,caption:yt.default.object,image:yt.default.object,locale:yt.default.string,locales:yt.default.object,setLocale:yt.default.func,save:yt.default.func,showCaption:yt.default.bool,updateLocalization:yt.default.func};function Lo(t){let[e,n,r]=ni(t.image),[i,o]=(0,En.useState)(t.locale),[a,s]=(0,En.useState)({caption:t.image.caption||{},alternative:t.image.alternative||{}}),l=(p,m)=>{s(re(j({},a),{[p]:re(j({},a[p]),{[i]:m})}))},u=p=>{p.preventDefault(),p.stopPropagation();let m=j(j({},a),Oo(e));Wn(`/admin/images/${t.image.id}`,{image:m}),t.onUpdate&&t.onUpdate(m,r),je.dispatch({type:"CLOSE"})};return En.default.createElement("div",{className:"image-editor"},En.default.createElement(rr,{croppedImage:r,cropState:e,dispatch:n}),!e.cropping&&En.default.createElement(Ao,{alternative:a.alternative,caption:a.caption,image:t.image,locale:i,locales:t.locales,setLocale:o,save:u,showCaption:t.caption,updateLocalization:l}))}Lo.propTypes={image:ir.default.object,locale:ir.default.string,locales:ir.default.object,caption:ir.default.bool,onUpdate:ir.default.func};function Bt(t){let[e,n]=(0,_t.useState)(t.image),[r,i]=(0,_t.useState)(t.src),o=()=>{let u=e.crop_width||e.real_width,p=e.crop_height||e.real_height;return Math.round(p/u*t.width)},a=(u,p)=>{let m=j(j({},e),u);i(p),n(m),t.onUpdate&&t.onUpdate(m,p)},s=u=>{u.preventDefault(),je.dispatch({type:"OPEN",payload:_t.default.createElement(Lo,{image:e,caption:t.caption,locale:t.locale,locales:t.locales,onUpdate:a})})},l=!e.alternative[t.locale];return _t.default.createElement("div",{className:"editable-image"},l&&_t.default.createElement("span",{className:"alt-warning",title:"Alternative text is missing"},_t.default.createElement("i",{className:"fa fa-exclamation-triangle icon"})),_t.default.createElement("img",{src:r,width:t.width,height:o(),onClick:s}))}Bt.propTypes={image:zt.default.object,src:zt.default.string,caption:zt.default.bool,locale:zt.default.string,locales:zt.default.object,width:zt.default.number,onUpdate:zt.default.func};var oe=D(H()),$t=D(J());var Rs=D(H()),or=D(J());function Mo(t){let{draggable:e,dragState:n,container:r}=t;if(e==="Files")return"";{let i=r.current.getBoundingClientRect(),o=n.x-(i.x||i.left),a=n.y-(i.y||i.top),s={transform:`translate3d(${o}px, ${a}px, 0)`};return Rs.default.createElement("div",{className:"drag-image",style:s},e.record.image&&Rs.default.createElement("img",{src:e.record.src||e.record.image.thumbnail_url}))}}Mo.propTypes={draggable:or.default.oneOfType([or.default.object,or.default.string]),dragState:or.default.object,container:or.default.object};var Us=D(H());function zs(){return Us.default.createElement("div",{className:"grid-image",key:"file-placeholder"},Us.default.createElement("div",{className:"file-placeholder"}))}var be=D(H()),Xe=D(J());var ar=D(H()),wf=D(J());function Io(t){return t.src?ar.default.createElement("div",{className:"temp-image"},ar.default.createElement("img",{src:t.src}),ar.default.createElement("span",null,"Uploading...")):ar.default.createElement("div",{className:"file-placeholder"},ar.default.createElement("span",null,"Uploading..."))}Io.propTypes={src:wf.default.string};function jo(t){let{attributeName:e,draggable:n}=t,r=n.record,i=r.image,[o,a]=(0,be.useState)(r.src||null),s=Yn(n,t.startDrag);(0,be.useEffect)(()=>{if(r.file){let m=new FileReader;m.onload=()=>a(m.result),m.readAsDataURL(r.file)}},[]);let l=m=>{m.preventDefault(),vt(`[image:${i.id}]`),Fe.dispatch({type:"NOTICE",message:"Embed code copied to clipboard"})},u=m=>{m.preventDefault(),t.deleteImage&&t.deleteImage()},p=["grid-image"];return t.placeholder&&p.push("placeholder"),r.file&&p.push("uploading"),be.default.createElement("div",j({className:p.join(" ")},s),be.default.createElement("input",{name:`${e}[id]`,type:"hidden",value:r.id||""}),be.default.createElement("input",{name:`${e}[image_id]`,type:"hidden",value:i&&i.id||""}),be.default.createElement("input",{name:`${e}[position]`,type:"hidden",value:t.position}),t.enablePrimary&&be.default.createElement("input",{name:`${e}[primary]`,type:"hidden",value:t.primary}),!i&&be.default.createElement(Io,{src:o}),i&&be.default.createElement(be.default.Fragment,null,be.default.createElement(Bt,{image:i,src:o||i.thumbnail_url,width:250,caption:!0,locale:t.locale,locales:t.locales,onUpdate:t.onUpdate}),be.default.createElement("div",{className:"actions"},t.showEmbed&&be.default.createElement("button",{onClick:l},"Embed"),t.deleteImage&&be.default.createElement("button",{onClick:u},"Remove"))))}jo.propTypes={draggable:Xe.default.object,deleteImage:Xe.default.func,startDrag:Xe.default.func,locale:Xe.default.string,locales:Xe.default.object,onUpdate:Xe.default.func,attributeName:Xe.default.string,placeholder:Xe.default.bool,enablePrimary:Xe.default.bool,showEmbed:Xe.default.bool,primary:Xe.default.bool,position:Xe.default.number};function Bs(t){let e=["image/gif","image/jpeg","image/pjpeg","image/png","image/tiff"];return t.filter(n=>e.indexOf(n.type)!==-1)}function Ef(t,e,n){let[r,...i]=Zr(t,n),o=[...i,...Zr(e,n)];return n.dragging&&[r,...o].indexOf(n.dragging)===-1&&(n.y<e.ref.current.getBoundingClientRect().top?o=[n.dragging,...o]:o.push(n.dragging)),[r,o]}function wy(t){let e=t.enablePrimary?t.records.filter(n=>n.primary).slice(0,1):[];return[e,t.records.filter(n=>e.indexOf(n)===-1)]}function sr(t){let[e,n]=wy(t),r=vn(e),i=vn(n),[o,a]=(0,oe.useState)([]),s=(0,oe.useRef)(),l=T=>{r.dispatch(T),i.dispatch(T)},u=(T,P)=>{let[Q,k]=Ef(r,i,T);if(r.dispatch({type:"reorder",payload:Q?[Q]:[]}),i.dispatch({type:"reorder",payload:k}),P){let b=Bs(P).map(I=>y(I));l({type:"insertFiles",payload:b})}},[p,m,h]=qn([r,i],u),E=T=>[...r.draggables.map(P=>P.record),...i.draggables.map(P=>P.record),...o].indexOf(T)+1,v=T=>`${t.attribute}[${E(T)}]`,y=T=>{let P=Kn({image:null,file:T}),Q=new FormData;return Q.append("image[file]",T),Hn("/admin/images.json",Q).then(k=>{k.status==="error"?(Fe.dispatch({type:"ERROR",message:"Error uploading image: "+k.error}),l({type:"remove",payload:P})):l({type:"update",payload:re(j({},P),{record:{image:k}})})}),P},f=T=>P=>{let{record:Q}=T,k=re(j({},T),{record:re(j({},Q),{image:j(j({},Q.image),P)})});l({type:"update",payload:k})},d=T=>()=>{l({type:"remove",payload:T}),T.record.id&&a([...o,T.record])},c=(T,P)=>{let{dragging:Q}=p;return T==="Files"?oe.default.createElement(zs,{key:"placeholder"}):oe.default.createElement(jo,{key:T.handle,draggable:T,locale:t.locale,locales:t.locales,showEmbed:t.showEmbed,startDrag:m,position:E(T.record),primary:P,onUpdate:f(T),enablePrimary:t.enablePrimary,deleteImage:d(T),attributeName:v(T.record),placeholder:Q&&Q==T})},g=T=>{let[P,...Q]=Bs(T).map(k=>y(k));P&&(i.dispatch({type:"prepend",payload:[...r.draggables,...Q]}),r.dispatch({type:"replace",payload:[P]}))},w=T=>{i.dispatch({type:"append",payload:Bs(T).map(P=>y(P))})},M=["image-grid"];t.enablePrimary&&M.push("with-primary-image");let[O,R]=Ef(r,i,p);return oe.default.createElement("div",j({className:M.join(" "),ref:s},h),p.dragging&&oe.default.createElement(Mo,{draggable:p.dragging,dragState:p,container:s}),t.enablePrimary&&oe.default.createElement("div",{className:"primary-image",ref:r.ref},oe.default.createElement("h3",null,"Main image"),O&&oe.default.createElement(oe.default.Fragment,null,c(O,!0),t.primaryAttribute&&oe.default.createElement("input",{type:"hidden",name:t.primaryAttribute,value:O.record&&O.record.image&&O.record.image.id||""})),!O&&oe.default.createElement("div",{className:"drop-target"},oe.default.createElement(ct,{multiple:!0,type:"image",multiline:!0,callback:g}))),oe.default.createElement("div",{className:"grid",ref:i.ref},oe.default.createElement("h3",null,t.enablePrimary?"More images":"Images"),oe.default.createElement("div",{className:"drop-target"},oe.default.createElement(ct,{multiple:!0,type:"image",callback:w})),oe.default.createElement("div",{className:"images"},R.map(T=>c(T,!1)))),oe.default.createElement("div",{className:"deleted"},o.map(T=>oe.default.createElement("span",{className:"deleted-image",key:T.id},oe.default.createElement("input",{name:`${v(T)}[id]`,type:"hidden",value:T.id}),oe.default.createElement("input",{name:`${v(T)}[attachment_id]`,type:"hidden",value:T.image&&T.image.id||""}),oe.default.createElement("input",{name:`${v(T)}[_destroy]`,type:"hidden",value:!0})))))}sr.propTypes={attribute:$t.default.string,locale:$t.default.string,locales:$t.default.object,records:$t.default.array,enablePrimary:$t.default.bool,primaryAttribute:$t.default.string,showEmbed:$t.default.bool};var Re=D(H()),Dt=D(J());function Ey(t){var e=[];if(t.items)for(let n=0;n<t.items.length;n++)t.items[n].kind=="file"&&e.push(t.items[n].getAsFile());else for(let n=0;n<t.files.length;n++)e.push(t.files[n]);return e}function Fo(t){let[e,n]=(0,Re.useState)(!1),[r,i]=(0,Re.useState)(!1),[o,a]=(0,Re.useState)(t.image),[s,l]=(0,Re.useState)(t.src),u=d=>{d.preventDefault(),i(!0)},p=()=>{i(!1)},m=d=>{if(d.dataTransfer.items)for(var c=0;c<d.dataTransfer.items.length;c++)d.dataTransfer.items.remove(c);else d.dataTransfer.clearData();i(!1)},h=d=>{let c=Ey(d.dataTransfer);d.preventDefault(),c.length>0&&y(c[0])},E=d=>{d.preventDefault(),a(null),l(null)},v=d=>{d.length>0&&y(d[0])},y=d=>{if(["image/gif","image/jpeg","image/pjpeg","image/png","image/tiff"].indexOf(d.type)==-1){alert("Invalid file type, only images in JPEG, PNG or GIF formats are supported");return}let g=t.locale,w=t.locales?Object.keys(t.locales):[g],M=new FormData;a(null),l(null),i(!1),n(!0),M.append("image[file]",d),w.forEach(O=>{M.append(`image[alternative][${O}]`,t.alternative||"")}),Hn("/admin/images.json",M).then(O=>{n(!1),O.status==="error"?Fe.dispatch({type:"ERROR",message:"Error uploading image: "+O.error}):(l(O.thumbnail_url),a(O))})},f=["image-uploader"];return e?f.push("uploading"):r&&f.push("dragover"),Re.default.createElement("div",{className:f.join(" "),onDragOver:u,onDragLeave:p,onDragEnd:m,onDrop:h},Re.default.createElement("input",{type:"hidden",name:t.attr,value:o?o.id:""}),o&&Re.default.createElement("div",{className:"image"},Re.default.createElement(Bt,{image:o,src:s,width:t.width,caption:t.caption,locale:t.locale,locales:t.locales})),Re.default.createElement("div",{className:"ui-wrapper"},e&&Re.default.createElement("div",{className:"ui"},"Uploading image..."),!e&&Re.default.createElement("div",{className:"ui"},Re.default.createElement(ct,{type:"image",multiline:!0,callback:v}),o&&Re.default.createElement("a",{className:"delete remove-image",href:"#",onClick:E},"Remove image"))))}Fo.propTypes={locale:Dt.default.string,locales:Dt.default.object,image:Dt.default.object,src:Dt.default.string,width:Dt.default.number,caption:Dt.default.bool,attr:Dt.default.string,alternative:Dt.default.string};var lr=D(H());var Ro=class extends lr.default.Component{constructor(e){super(e);this.state={component:null},this.store=je,this.closeModal=this.closeModal.bind(this),this.handleChange=this.handleChange.bind(this),this.handleKeypress=this.handleKeypress.bind(this)}componentDidMount(){this.unsubscribe=this.store.subscribe(this.handleChange),window.addEventListener("keypress",this.handleKeypress)}componentWillUnmount(){this.unsubscribe(),window.removeEventListener("keypress",this.handleKeypress)}closeModal(e){e.stopPropagation(),e.preventDefault(),je.dispatch({type:"CLOSE"})}handleChange(){this.setState(j({},this.store.getState()))}handleKeypress(e){this.state.component&&(e.key=="Escape"||e.keyCode===27)&&this.closeModal(e)}render(){let e=this.state.component;if(e)document.body.classList.add("modal");else return document.body.classList.remove("modal"),lr.default.createElement("div",{className:"modal-wrapper"});return lr.default.createElement("div",{className:"modal-wrapper open"},lr.default.createElement("div",{className:"background",onClick:this.closeModal}),lr.default.createElement("div",{className:"modal"},e))}};var dt=D(H()),Uo=D(J());var ii=class extends dt.default.Component{constructor(e){super(e);this.state={has_dates:!!e.starts_at,all_day:!!e.all_day},this.toggleAllDay=this.toggleAllDay.bind(this),this.toggleHasDates=this.toggleHasDates.bind(this)}toggleHasDates(){this.setState({has_dates:!this.state.has_dates})}toggleAllDay(){this.setState({all_day:!this.state.all_day})}timeToString(e){return e.toTimeString().slice(0,5)}render(){return dt.default.createElement("div",{className:"page-dates field"},dt.default.createElement("input",{type:"hidden",name:"page[all_day]",value:this.state.has_dates&&this.state.all_day?"1":"0"}),dt.default.createElement("label",null,"Dates"),dt.default.createElement("div",{className:"toggles"},dt.default.createElement("label",{className:"has-dates-toggle"},dt.default.createElement("input",{type:"checkbox",checked:this.state.has_dates,onChange:this.toggleHasDates}),"Enabled"),dt.default.createElement("label",{className:!this.state.has_dates&&"disabled"},dt.default.createElement("input",{type:"checkbox",disabled:!this.state.has_dates,checked:this.state.all_day,onChange:this.toggleAllDay}),"All day event")),dt.default.createElement(yn,{objectName:"page",startsAt:this.props.starts_at,endsAt:this.props.ends_at,disabled:!this.state.has_dates,disableTime:this.state.all_day}))}};ii.propTypes={starts_at:Uo.default.string,ends_at:Uo.default.string,all_day:Uo.default.bool};var zo=D(H()),Bo=D(J());var oi=class extends zo.default.Component{render(){return zo.default.createElement("div",{className:"page-files"},zo.default.createElement(Qn,{attribute:"page[page_files_attributes]",showEmbed:!0,locale:this.props.locale,locales:this.props.locales,records:this.props.records}))}};oi.propTypes={locale:Bo.default.string,locales:Bo.default.object,records:Bo.default.array};var $o=D(H()),Vo=D(J());var ai=class extends $o.default.Component{render(){return $o.default.createElement("div",{className:"page-images"},$o.default.createElement(sr,{attribute:"page[page_images_attributes]",primaryAttribute:"page[image_id]",enablePrimary:!0,showEmbed:!0,locale:this.props.locale,locales:this.props.locales,records:this.props.records}))}};ai.propTypes={locale:Vo.default.string,locales:Vo.default.object,records:Vo.default.array};var $s=D(H()),si=D(J());var xn=D(H()),wt=D(J());var ne=D(H()),ft=D(J()),Vt=class extends ne.default.Component{constructor(e){super(e);this.state={newName:e.index.node.name},this.innerRef=ne.default.createRef()}permitted(e){return this.node().permissions&&this.node().permissions.indexOf(e)!=-1}actions(){let e=this.node().status!=2?"Publish":"Hide",n=this.node().status!=2?"check":"ban";return this.node().editing?null:this.props.index.id===1?ne.default.createElement("span",{className:"actions"},ne.default.createElement("button",{type:"button",className:"add",onClick:()=>this.props.addChild(this.props.index)},ne.default.createElement("i",{className:"fa fa-plus icon"}),"Add child")):ne.default.createElement("span",{className:"actions"},this.permitted("edit")&&this.button(e,{className:"toggle-status",icon:n,onClick:()=>this.toggleStatus()}),this.permitted("edit")&&this.button("Rename",{className:"edit",icon:"pencil",onClick:()=>this.edit()}),this.permitted("edit")&&this.button("Delete",{className:"delete",icon:"trash",onClick:()=>this.deletePage()}),this.permitted("create")&&this.button("Add child",{className:"add",icon:"plus",onClick:()=>this.props.addChild(this.props.index)}))}addButton(){let e=this,n=this.node(),r=function(){e.props.addChild&&e.props.addChild(e.props.index)};if(!n.collapsed&&this.permitted("create")&&(n.root||this.visibleChildren().length>0))return this.button("Add page here",{className:"add add-inline",icon:"plus",onClick:r})}button(e,n){let r="fa fa-"+n.icon+" icon";return ne.default.createElement("button",{type:"button",className:n.className,onClick:n.onClick},ne.default.createElement("i",{className:r}),e)}childNodes(){let{index:e,tree:n,dragging:r,dir:i,locale:o}=this.props;if(e.children&&e.children.length&&!e.node.collapsed){var a={};return e.node.collapsed&&(a.display="none"),a.paddingLeft=this.props.paddingLeft+"px",ne.default.createElement("div",{className:"children",style:a},e.children.map(s=>{var l=n.getIndex(s);return ne.default.createElement(Vt,{tree:n,index:l,key:l.id,dragging:r,paddingLeft:this.props.paddingLeft,addChild:this.props.addChild,onCollapse:this.props.onCollapse,onDragStart:this.props.onDragStart,updatePage:this.props.updatePage,dir:i,locale:o})}))}return null}collapseArrow(){let e=this.props.index,n=this;if(!e.parent)return null;let r=function(o){o.stopPropagation();let a=n.props.index.id;n.props.onCollapse&&n.props.onCollapse(a)};if(this.visibleChildren().length>0){let o=e.node.collapsed;var i=null;return o?i="collapse fa fa-caret-right":i="collapse fa fa-caret-down",ne.default.createElement("i",{className:i,onMouseDown:function(a){a.stopPropagation()},onClick:r})}return null}collapsedLabel(){if(this.node().collapsed&&this.node().children&&this.node().children.length>0){let e=this.node().children.length==1?"item":"items";return ne.default.createElement("span",{className:"collapsed-label"},"(",this.node().children.length," ",e,")")}else return null}deletePage(){confirm("Are you sure you want to delete this page?")&&this.updatePage({status:4})}edit(){this.updatePage({editing:!0})}editUrl(e){return`/admin/${e.locale}/pages/${e.param}/edit`}node(){return this.props.index.node}pageName(){let e=this.node().name||ne.default.createElement("i",{className:"untitled"},"Untitled");return ne.default.createElement("span",{dir:this.props.dir,lang:this.props.locale},e)}render(){let e=this,n=this.props,r=n.index,i=n.dragging,o=this.node().editing;var a="node",s=o?this.renderEditNode():this.renderNode();r.id===i&&(a="node placeholder");let l=function(u){e.permitted("edit")&&!o&&n.onDragStart&&n.onDragStart(n.index.id,e.innerRef.current,u)};return this.node().status!=4?ne.default.createElement("div",{className:a},ne.default.createElement("div",{className:"inner",ref:this.innerRef,onMouseDown:l},this.collapseArrow(),s),this.childNodes(),this.addButton()):null}renderEditNode(){let{dir:e,locale:n}=this.props,r=this,i=function(s){r.setState({newName:s.target.value})},o=function(s){s.preventDefault(),r.updatePage({name:r.state.newName,editing:!1})},a=function(){r.setState({newName:r.node().name}),r.updatePage({editing:!1})};return ne.default.createElement("div",{className:"page edit"},ne.default.createElement("i",{className:"fa fa-file-o icon"}),ne.default.createElement("form",{onSubmit:o},ne.default.createElement("input",{type:"text",value:this.state.newName,dir:e,lang:n,autoFocus:!0,onChange:i}),ne.default.createElement("button",{className:"save",type:"submit"},ne.default.createElement("i",{className:"fa fa-cloud icon"}),"Save"),this.button("Cancel",{className:"cancel",icon:"ban",onClick:a})))}renderNode(){let n=this.props.index.node;var r="",i=ne.default.createElement("span",{className:"name"},this.pageName()),o="page",a="fa fa-file-o icon";return typeof n.status<"u"&&(o=`page status-${this.node().status}`),n.id&&n.locale&&this.permitted("edit")&&(i=ne.default.createElement("a",{href:this.editUrl(n),className:"name"},this.pageName())),n.id&&n.starts_at&&(r=ne.default.createElement("span",{className:"date"},n.starts_at)),n.news_page?a="fa fa-newspaper-o icon":n.pinned&&(a="fa fa-flag-o icon"),ne.default.createElement("div",{className:o},ne.default.createElement("i",{className:a}),i,r,this.statusLabel(),this.collapsedLabel(),this.actions())}statusLabel(){let e=["Draft","Reviewed","Published","Hidden","Deleted"];return typeof this.node().status<"u"&&this.node().status!=2?ne.default.createElement("span",{className:"status-label"},"(",e[this.node().status],")"):""}toggleStatus(){this.node().status!=2?this.updatePage({status:2}):this.updatePage({status:3})}updatePage(e){if(this.props.updatePage)return this.props.updatePage(this.props.index,e)}visibleChildren(){return this.node().children?this.node().children.filter(e=>e.status!=4):[]}};Vt.propTypes={addChild:ft.default.func,dragging:ft.default.number,index:ft.default.object,onCollapse:ft.default.func,onDragStart:ft.default.func,paddingLeft:ft.default.number,tree:ft.default.object,updatePage:ft.default.func,locale:ft.default.string,dir:ft.default.string};var ur=class extends xn.default.Component{constructor(e){super(e);this.state={dragging:this.initDragging()}}initDragging(){return{id:null,x:null,y:null,w:null,h:null,scrollTop:null,scrollLeft:null}}getDraggingDom(){var e=this.props.tree,n=this.state.dragging;if(n&&n.id){var r=e.getIndex(n.id),i={top:n.y,left:n.x,width:n.w};return xn.default.createElement("div",{className:"draggable",style:i},xn.default.createElement(Vt,{tree:e,index:r,paddingLeft:this.props.paddingLeft}))}return null}render(){let{tree:e,dir:n,locale:r}=this.props;var i=this.state.dragging;if(e){var o=e.getIndex(1);return xn.default.createElement("div",{className:"page-tree"},this.getDraggingDom(),xn.default.createElement(Vt,{tree:e,index:o,key:o.id,paddingLeft:this.props.paddingLeft,addChild:a=>this.addChild(a),onDragStart:(a,s,l)=>this.dragStart(a,s,l),onCollapse:a=>this.toggleCollapse(a),updatePage:(a,s)=>this.updatePage(a,s),dragging:i&&i.id,dir:n,locale:r}))}else return xn.default.createElement("div",{className:"page-tree"},this.getDraggingDom())}addChild(e){let n={name:"",status:0,editing:!0,children:[],published_at:new Date,pinned:!1,locale:e.node.locale,parent_page_id:e.node.id};this.props.addChild(e.id,n)}prevAddButtonCount(e,n){let r=0,i=[],o=e.getIndex(n.parent);for(;o;)i.push(o),o=e.getIndex(o.parent);for(o=n,o=e.getNodeByTop(n.top-1);o;)i.indexOf(o)==-1&&!o.node.collapsed&&o.node.children.filter(a=>a.status!=4).length>0&&(r+=1),o=e.getNodeByTop(o.top-1);return r}scrollOffset(){let e=this.state.dragging;return{top:document.body.scrollTop-e.scrollTop,left:document.body.scrollLeft-e.scrollLeft}}drag(e){if(this._start){var n=Math.abs(e.clientX-this._offsetX)+Math.abs(e.clientY-this._offsetY);if(n>=15)this.setState({dragging:this.dragging}),this._start=!1;else return null}var r=this.props.tree,i=this.state.dragging,o=this.props.paddingLeft,a=null,s=r.getIndex(i.id),l=s.node.collapsed,u=this._startX,p=this._startY,m=this._offsetX,h=this._offsetY,E={x:u+e.clientX-m+this.scrollOffset().left,y:p+e.clientY-h+this.scrollOffset().top};i.x=E.x,i.y=E.y;var v=i.x-o/2-(s.left-2)*o,y=i.y-i.h/2-(s.top-2+this.prevAddButtonCount(r,s))*i.h;if(v<0)s.parent&&!s.next&&(a=r.move(s.id,s.parent,"after"));else if(v>o&&s.prev){var f=r.getIndex(s.prev);!f.node.leaf&&!f.node.collapsed&&(a=r.move(s.id,s.prev,"append"))}if(a&&(s=a,a.node.collapsed=l,i.id=a.id),y<0-i.h*.5){var d=r.getNodeByTop(s.top-1);a=r.move(s.id,d.id,"before")}else if(y>i.h*1.5){let c=s.next?r.getIndex(s.next):r.getNodeByTop(s.top+s.height);c&&c.parent!==s.id&&(c.children&&c.children.length&&!c.node.collapsed?a=r.move(s.id,c.id,"prepend"):a=r.move(s.id,c.id,"after"))}a&&(a.node.collapsed=l,i.id=a.id),this.setState({dragging:i})}dragStart(e,n,r){if(r.button===0){this.dragging={id:e,w:n.offsetWidth,h:n.offsetHeight,x:n.offsetLeft,y:n.offsetTop,scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft},this._startX=n.offsetLeft,this._startY=n.offsetTop,this._offsetX=r.clientX,this._offsetY=r.clientY,this._start=!0;var i=this;this._dragListener=o=>i.drag(o),this._dragEndListener=()=>i.dragEnd(),window.addEventListener("mousemove",this._dragListener),window.addEventListener("mouseup",this._dragEndListener)}}dragEnd(){this._start||(this.props.updateTree(this.props.tree),this.props.movedPage(this.state.dragging.id)),this.setState({dragging:this.initDragging()}),window.removeEventListener("mousemove",this._dragListener),window.removeEventListener("mouseup",this._dragEndListener)}toggleCollapse(e){this.props.toggleCollapsed(e)}updatePage(e,n){this.props.updatePage(e.id,n)}};ur.defaultProps={paddingLeft:15};ur.propTypes={tree:wt.default.object,addChild:wt.default.func,movedPage:wt.default.func,toggleCollapsed:wt.default.func,paddingLeft:wt.default.number,updatePage:wt.default.func,updateTree:wt.default.func,locale:wt.default.string,dir:wt.default.string};var Wo=class{constructor(e){this.cnt=1,this.obj=e||{children:[]},this.indexes={},this.build(this.obj)}build(e){var n=this.indexes,r=this.cnt,i=this,o={id:r,node:e};n[this.cnt+""]=o,this.cnt++,e.children&&e.children.length&&a(e.children,o);function a(s,l){var u=[];s.forEach(function(p){var m={};m.id=i.cnt,m.node=p,l&&(m.parent=l.id),n[i.cnt+""]=m,u.push(i.cnt),i.cnt++,p.children&&p.children.length&&a(p.children,m)}),l.children=u,u.forEach(function(p,m){var h=n[p+""];m>0&&(h.prev=u[m-1]),m<u.length-1&&(h.next=u[m+1])})}return o}getIndex(e){var n=this.indexes[e+""];if(n)return n}removeIndex(e){var n=this;r(e);function r(i){delete n.indexes[i.id+""],i.children&&i.children.length&&i.children.forEach(function(o){r(n.getIndex(o))})}}get(e){var n=this.getIndex(e);return n&&n.node?n.node:null}remove(e){var n=this.getIndex(e),r=this.get(e),i=this.getIndex(n.parent),o=this.get(n.parent);return o.children.splice(o.children.indexOf(r),1),i.children.splice(i.children.indexOf(e),1),this.removeIndex(n),this.updateChildren(i.children),r}updateChildren(e){e.forEach(function(n,r){var i=this.getIndex(n);i.prev=i.next=null,r>0&&(i.prev=e[r-1]),r<e.length-1&&(i.next=e[r+1])}.bind(this))}insert(e,n,r){var i=this.getIndex(n),o=this.get(n),a=this.build(e);return a.parent=n,o.children=o.children||[],i.children=i.children||[],o.children.splice(r,0,e),i.children.splice(r,0,a.id),this.updateChildren(i.children),i.parent&&this.updateChildren(this.getIndex(i.parent).children),a}insertBefore(e,n){var r=this.getIndex(n),i=r.parent,o=this.getIndex(i).children.indexOf(n);return this.insert(e,i,o)}insertAfter(e,n){var r=this.getIndex(n),i=r.parent,o=this.getIndex(i).children.indexOf(n);return this.insert(e,i,o+1)}prepend(e,n){return this.insert(e,n,0)}append(e,n){var r=this.getIndex(n);return r.children=r.children||[],this.insert(e,n,r.children.length)}updateNodesPosition(){var e=1,n=1,r=this.getIndex(1),i=this;r.top=e++,r.left=n++,r.children&&r.children.length&&o(r.children,r,n,r.node.collapsed);function o(a,s,l,u){var p=1;return a.forEach(function(m){var h=i.getIndex(m);u?(h.top=null,h.left=null):(h.top=e++,h.left=l),h.children&&h.children.length?p+=o(h.children,h,l+1,u||h.node.collapsed):(h.height=1,p+=1)}),s.node.collapsed?s.height=1:s.height=p,s.height}}move(e,n,r){if(!(e===n||n===1)){var i=this.remove(e),o=null;return r==="before"?o=this.insertBefore(i,n):r==="after"?o=this.insertAfter(i,n):r==="prepend"?o=this.prepend(i,n):r==="append"&&(o=this.append(i,n)),this.updateNodesPosition(),o}}getParent(e){var n=this.indexes;if(Object.prototype.hasOwnProperty.call(n,e))return this.getIndex(n[e].parent)}getNodeByTop(e){var n=this.indexes;for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)&&n[r].top===e)return n[r]}};var li=class extends $s.default.Component{constructor(e){super(e);this.state={tree:this.buildTree(e.pages)},this.addChild=this.addChild.bind(this),this.movedPage=this.movedPage.bind(this),this.toggleCollapsed=this.toggleCollapsed.bind(this),this.updatePage=this.updatePage.bind(this),this.updateTree=this.updateTree.bind(this)}addChild(e,n){let r=this.state.tree;var i=r.append(n,e);this.reorderChildren(e),this.setCollapsed(e,!1),this.createPage(i,n),this.setState({tree:r})}movedPage(e){let n=this.state.tree,r=n.getIndex(e);this.reorderChildren(r.parent);let i=n.getIndex(r.parent),o=i.children.indexOf(e)+1;this.movePage(r,i,o),this.setState({tree:n})}toggleCollapsed(e){let n=this.state.tree;var r=n.getIndex(e).node;this.setCollapsed(e,!r.collapsed),this.setState({tree:n})}updatePage(e,n){let i=this.state.tree.getIndex(e),o=`/admin/${i.node.locale}/pages/${i.node.id}.json`;this.updateNode(i,n),this.performUpdate(i,o,{page:n})}updateTree(e){this.setState({tree:e})}applyCollapsed(e){let n=(o,a)=>{var s=0;let l=o.getIndex(a.parent);for(;l;)s+=1,l=o.getIndex(l.parent);return s},r=this.collapsedState(),i=function(o){var a=e.getIndex(o),s=a.node;Object.prototype.hasOwnProperty.call(r,s.id)?s.collapsed=r[s.id]:(s.news_page||n(e,a)>1)&&(s.collapsed=!0),a.children&&a.children.length&&a.children.forEach(l=>i(l))};i(1)}collapsedState(){return window&&window.localStorage&&typeof window.localStorage.collapsedPages<"u"?JSON.parse(window.localStorage.collapsedPages):{}}createPage(e,n){Nd(`/admin/${e.node.locale}/pages.json`,{page:n}).then(r=>this.updateNode(e,r))}buildTree(e){let n=e.reduce((i,o)=>{let a=o.parent_page_id;return i[a]=[...i[a]||[],o],i},{});e.forEach(i=>i.children=n[i.id]||[]);let r=new Wo({name:"All Pages",locale:this.props.locale,permissions:this.props.permissions,root:!0,children:n[null]});return this.applyCollapsed(r),r.updateNodesPosition(),r}movePage(e,n,r){let i={parent_id:n.node.id,position:r},o=`/admin/${e.node.locale}/pages/${e.node.id}/move.json`;this.performUpdate(e,o,i)}performUpdate(e,n,r){Wn(n,r).then(i=>this.updateNode(e,i))}render(){return $s.default.createElement(ur,{tree:this.state.tree,addChild:this.addChild,movedPage:this.movedPage,toggleCollapsed:this.toggleCollapsed,updatePage:this.updatePage,updateTree:this.updateTree,locale:this.props.locale,dir:this.props.dir})}reorderChildren(e){let n=this.state.tree;var r=this.state.tree.getIndex(e),i=r.node;!i.news_page||(r.children=r.children.sort(function(o,a){var s=n.getIndex(o).node,l=n.getIndex(a).node;return s.pinned==l.pinned?new Date(l.published_at)-new Date(s.published_at):s.pinned?-1:1}),n.updateNodesPosition())}setCollapsed(e,n){var r=this.state.tree.getIndex(e).node;r.collapsed=n,this.storeCollapsed(e,r.collapsed),this.state.tree.updateNodesPosition()}storeCollapsed(e,n){let r=this.state.tree.getIndex(e).node;var i=this.collapsedState();i[r.id]=n,window.localStorage.collapsedPages=JSON.stringify(i)}updateNode(e,n){for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e.node[r]=n[r]);this.setState({tree:this.state.tree})}};li.propTypes={pages:si.default.array,locale:si.default.string,dir:si.default.string,permissions:si.default.array};var Sn=D(H()),Wt=D(J());var Ho=D(H()),Ko=D(J()),ui=class extends Ho.default.Component{render(){return Ho.default.createElement("a",{title:this.props.name,className:"button "+this.props.className,onClick:this.props.onClick},Ho.default.createElement("i",{className:"fa fa-"+this.props.className}))}};ui.propTypes={className:Ko.default.string,name:Ko.default.string,onClick:Ko.default.func};var Cn=class extends Sn.default.Component{constructor(e){super(e);this.state={value:e.value||"",rows:e.rows||5},this.inputRef=Sn.default.createRef(),this.handleChange=this.handleChange.bind(this),this.handleKeyPress=this.handleKeyPress.bind(this),this.getSelection=this.getSelection.bind(this),this.link=this.link.bind(this),this.replaceSelection=this.replaceSelection.bind(this)}actions(){let e=[{name:"bold",className:"bold",hotkey:"b",fn:r=>["<b>",r,"</b>"]},{name:"italic",className:"italic",hotkey:"i",fn:r=>["<i>",r,"</i>"]}],n=[{name:"Heading 2",className:"header h2",fn:r=>["h2. ",r,""]},{name:"Heading 3",className:"header h3",fn:r=>["h3. ",r,""]},{name:"Heading 4",className:"header h4",fn:r=>["h4. ",r,""]},{name:"Blockquote",className:"quote-left",fn:r=>["bq. ",r,""]},{name:"List",className:"list-ul",fn:r=>["",this.strToList(r,"*"),""]},{name:"Ordered list",className:"list-ol",fn:r=>["",this.strToList(r,"#"),""]},{name:"Link",className:"link",fn:this.link},{name:"Email link",className:"envelope",fn:this.emailLink}];return this.props.simple?e:[...e,...n]}applyAction(e){let[n,r,i]=e(this.getSelection());this.replaceSelection(n,r,i)}emailLink(e){var n=prompt("Enter email address","");let r=e.length>0?e:n;return['"',r,`":mailto:${n}`]}getSelection(){let{selectionStart:e,selectionEnd:n,value:r}=this.inputRef.current;return r.substr(e,n-e)}handleChange(e){this.setState({value:e.target.value})}handleKeyPress(e){let n;e.which>=65&&e.which<=90?n=String.fromCharCode(e.keyCode).toLowerCase():e.keyCode===13&&(n="enter");let r={};this.actions().forEach(i=>{i.hotkey&&(r[i.hotkey]=i.fn)}),(e.metaKey||e.ctrlKey)&&Object.prototype.hasOwnProperty.call(r,n)&&(e.preventDefault(),this.applyAction(r[n]))}link(e){let n=e.length>0?e:"Link text";var r=prompt("Enter link URL","");return r?['"',n,`":${this.relativeUrl(r)}`]:["",n,""]}localeOptions(){let e={};return this.props.lang&&(e.lang=this.props.lang),this.props.dir&&(e.dir=this.props.dir),e}relativeUrl(e){let n=null;if(!e.match(/^https:\/\//)||!document||!document.location)return e;try{n=new URL(e)}catch(r){console.log("Error parsing URL: ",r)}return n&&n.hostname==document.location.hostname&&(document.location.port||"80")==(n.port||"80")?n.pathname:e}render(){let{value:e,rows:n}=this.state,{id:r,name:i}=this.props,o=a=>s=>{s.preventDefault(),this.applyAction(a)};return Sn.default.createElement("div",{className:"rich-text-area"},Sn.default.createElement("div",{className:"rich-text toolbar"},this.actions().map(a=>Sn.default.createElement(ui,{key:a.name,name:a.name,className:a.className,onClick:o(a.fn)}))),Sn.default.createElement("textarea",j({className:"rich",ref:this.inputRef,id:r,name:i,value:e,rows:n,onChange:this.handleChange,onKeyDown:this.handleKeyPress},this.localeOptions())))}replaceSelection(e,n,r){let i=this.inputRef.current,{selectionStart:o,selectionEnd:a,value:s}=i;i.value=s.substr(0,o)+e+n+r+s.substr(a,s.length),i.focus({preventScroll:!0}),i.setSelectionRange(o+e.length,o+e.length+n.length),this.setState({value:i.value})}strToList(e,n){return e.split(`
16
+ %o`,n,e,r),(i=window.onerror)===null||i===void 0||i.call(window,n,"",0,0,e)}logFormattedMessage(e,n,r={}){r=Object.assign({application:this},r),this.logger.groupCollapsed(`${e} #${n}`),this.logger.log("details:",Object.assign({},r)),this.logger.groupEnd()}};function iv(){return new Promise(t=>{document.readyState=="loading"?document.addEventListener("DOMContentLoaded",()=>t()):t()})}function ov(t){return Os(t,"classes").reduce((n,r)=>Object.assign(n,av(r)),{})}function av(t){return{[`${t}Class`]:{get(){let{classes:e}=this;if(e.has(t))return e.get(t);{let n=e.getAttributeName(t);throw new Error(`Missing attribute "${n}"`)}}},[`${t}Classes`]:{get(){return this.classes.getAll(t)}},[`has${vo(t)}Class`]:{get(){return this.classes.has(t)}}}}function sv(t){return Os(t,"targets").reduce((n,r)=>Object.assign(n,lv(r)),{})}function lv(t){return{[`${t}Target`]:{get(){let e=this.targets.find(t);if(e)return e;throw new Error(`Missing target element "${t}" for "${this.identifier}" controller`)}},[`${t}Targets`]:{get(){return this.targets.findAll(t)}},[`has${vo(t)}Target`]:{get(){return this.targets.has(t)}}}}function uv(t){let e=Kg(t,"values"),n={valueDescriptorMap:{get(){return e.reduce((r,i)=>{let o=Gc(i,this.identifier),a=this.data.getAttributeNameForKey(o.key);return Object.assign(r,{[a]:o})},{})}}};return e.reduce((r,i)=>Object.assign(r,cv(i)),n)}function cv(t,e){let n=Gc(t,e),{key:r,name:i,reader:o,writer:a}=n;return{[i]:{get(){let s=this.data.get(r);return s!==null?o(s):n.defaultValue},set(s){s===void 0?this.data.delete(r):this.data.set(r,a(s))}},[`has${vo(i)}`]:{get(){return this.data.has(r)||n.hasCustomDefaultValue}}}}function Gc([t,e],n){return hv({controller:n,token:t,typeDefinition:e})}function Ns(t){switch(t){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function Hr(t){switch(typeof t){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(t))return"array";if(Object.prototype.toString.call(t)==="[object Object]")return"object"}function dv(t){let e=Ns(t.typeObject.type);if(!e)return;let n=Hr(t.typeObject.default);if(e!==n){let r=t.controller?`${t.controller}.${t.token}`:t.token;throw new Error(`The specified default value for the Stimulus Value "${r}" must match the defined type "${e}". The provided default value of "${t.typeObject.default}" is of type "${n}".`)}return e}function fv(t){let e=dv({controller:t.controller,token:t.token,typeObject:t.typeDefinition}),n=Hr(t.typeDefinition),r=Ns(t.typeDefinition),i=e||n||r;if(i)return i;let o=t.controller?`${t.controller}.${t.typeDefinition}`:t.token;throw new Error(`Unknown value type "${o}" for "${t.token}" value`)}function pv(t){let e=Ns(t);if(e)return mv[e];let n=t.default;return n!==void 0?n:t}function hv(t){let e=`${Pc(t.token)}-value`,n=fv(t);return{type:n,key:e,name:Dc(e),get defaultValue(){return pv(t.typeDefinition)},get hasCustomDefaultValue(){return Hr(t.typeDefinition)!==void 0},reader:gv[n],writer:Tc[n]||Tc.default}}var mv={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},gv={array(t){let e=JSON.parse(t);if(!Array.isArray(e))throw new TypeError(`expected value of type "array" but instead got value "${t}" of type "${Hr(e)}"`);return e},boolean(t){return!(t=="0"||String(t).toLowerCase()=="false")},number(t){return Number(t)},object(t){let e=JSON.parse(t);if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError(`expected value of type "object" but instead got value "${t}" of type "${Hr(e)}"`);return e},string(t){return t}},Tc={default:vv,array:Oc,object:Oc};function Oc(t){return JSON.stringify(t)}function vv(t){return`${t}`}var Ze=class{constructor(e){this.context=e}static get shouldLoad(){return!0}get application(){return this.context.application}get scope(){return this.context.scope}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(e,{target:n=this.element,detail:r={},prefix:i=this.identifier,bubbles:o=!0,cancelable:a=!0}={}){let s=i?`${i}:${e}`:e,l=new CustomEvent(s,{detail:r,bubbles:o,cancelable:a});return n.dispatchEvent(l),l}};Ze.blessings=[ov,sv,uv];Ze.targets=[];Ze.values={};var Jo={};_g(Jo,{Attachments:()=>Qn,DateRangeSelect:()=>yn,EditableImage:()=>Bt,FileUploadButton:()=>ct,ImageCropper:()=>rr,ImageGrid:()=>sr,ImageUploader:()=>Fo,Modal:()=>Ro,PageDates:()=>ii,PageFiles:()=>oi,PageImages:()=>ai,PageTree:()=>li,RichTextArea:()=>Cn,TagEditor:()=>Go,Toast:()=>di});var $e=D(H()),Xn=D(J());var Se=D(H()),tt=D(J());function Yr(){return document.queryCommandSupported&&document.queryCommandSupported("copy")}function vt(t){let e=document.createElement("textarea");e.value=t,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}var ie=D(H()),Qr=D(J());function et(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var bd=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}(),Is=function(){return Math.random().toString(36).substring(7).split("").join(".")},kd={INIT:"@@redux/INIT"+Is(),REPLACE:"@@redux/REPLACE"+Is(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Is()}};function _v(t){if(typeof t!="object"||t===null)return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Xr(t,e,n){var r;if(typeof e=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(et(0));if(typeof e=="function"&&typeof n>"u"&&(n=e,e=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(et(1));return n(Xr)(t,e)}if(typeof t!="function")throw new Error(et(2));var i=t,o=e,a=[],s=a,l=!1;function u(){s===a&&(s=a.slice())}function p(){if(l)throw new Error(et(3));return o}function m(y){if(typeof y!="function")throw new Error(et(4));if(l)throw new Error(et(5));var f=!0;return u(),s.push(y),function(){if(!!f){if(l)throw new Error(et(6));f=!1,u();var c=s.indexOf(y);s.splice(c,1),a=null}}}function h(y){if(!_v(y))throw new Error(et(7));if(typeof y.type>"u")throw new Error(et(8));if(l)throw new Error(et(9));try{l=!0,o=i(o,y)}finally{l=!1}for(var f=a=s,d=0;d<f.length;d++){var c=f[d];c()}return y}function E(y){if(typeof y!="function")throw new Error(et(10));i=y,h({type:kd.REPLACE})}function v(){var y,f=m;return y={subscribe:function(c){if(typeof c!="object"||c===null)throw new Error(et(11));function g(){c.next&&c.next(p())}g();var w=f(g);return{unsubscribe:w}}},y[bd]=function(){return this},y}return h({type:kd.INIT}),r={dispatch:h,subscribe:m,getState:p,replaceReducer:E},r[bd]=v,r}var je=Xr((t={},e)=>{switch(e.type){case"OPEN":return ne(j({},t),{component:e.payload});case"CLOSE":return ne(j({},t),{component:null});default:return t}});var Fe=Xr((t=[],e)=>{switch(e.type){case"ERROR":return[...t,{message:e.message,type:"error"}];case"NOTICE":return[...t,{message:e.message,type:"notice"}];case"NEXT":return t.slice(1);default:return t}});function Td(){return document.querySelector("[name=csrf-token]").content}function Od(){return{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8","X-CSRF-Token":Td()}}}async function Nd(t,e){let n=ne(j({},Od()),{method:"POST"});return e&&(n.body=JSON.stringify(e)),(await fetch(t,n)).json()}async function Wn(t,e){let n=ne(j({},Od()),{method:"PUT"});return e&&(n.body=JSON.stringify(e)),(await fetch(t,n)).json()}async function Hn(t,e){return(await fetch(t,{method:"POST",body:e,headers:{"X-CSRF-Token":Td()}})).json()}function So(t){let{attachment:e,locales:n}=t,[r,i]=(0,ie.useState)(t.locale),[o,a]=(0,ie.useState)({name:e.name||{},description:e.description||{}}),s=m=>h=>{a(ne(j({},o),{[m]:ne(j({},o[m]),{[r]:h.target.value})}))},l=m=>{m.preventDefault(),vt(`[attachment:${e.id}]`),Fe.dispatch({type:"NOTICE",message:"Embed code copied to clipboard"})},u=m=>{m.preventDefault(),m.stopPropagation();let h=j({},o);Wn(`/admin/attachments/${e.id}`,{attachment:h}),t.onUpdate&&t.onUpdate(h),je.dispatch({type:"CLOSE"})},p=n&&n[r]&&n[r].dir||"ltr";return ie.default.createElement("div",{className:"attachment-editor"},ie.default.createElement("form",null,t.locales&&Object.keys(n).length>1&&ie.default.createElement("div",{className:"field"},ie.default.createElement("label",null,"Locale"),ie.default.createElement("select",{name:"locale",value:r,onChange:m=>i(m.target.value)},Object.keys(n).map(m=>ie.default.createElement("option",{key:`locale-${m}`,value:m},n[m].name)))),ie.default.createElement("div",{className:"field"},ie.default.createElement("label",null,"Name"),ie.default.createElement("input",{type:"text",className:"name",lang:r,dir:p,value:o.name[r]||"",onChange:s("name")})),ie.default.createElement("div",{className:"field"},ie.default.createElement("label",null,"Description"),ie.default.createElement("textarea",{className:"description",value:o.description[r]||"",lang:r,dir:p,onChange:s("description")})),ie.default.createElement("div",{className:"field embed-code"},ie.default.createElement("label",null,"Embed code"),ie.default.createElement("input",{type:"text",value:`[attachment:${e.id}]`,disabled:!0}),Yr()&&ie.default.createElement("button",{onClick:l},"Copy")),ie.default.createElement("div",{className:"field"},ie.default.createElement("label",null,"File"),ie.default.createElement("a",{href:e.url,rel:"noreferrer",target:"_blank"},e.filename)),ie.default.createElement("div",{className:"buttons"},ie.default.createElement("button",{onClick:u},"Save"),ie.default.createElement("button",{onClick:()=>je.dispatch({type:"CLOSE"})},"Cancel"))))}So.propTypes={attachment:Qr.default.object,locale:Qr.default.string,locales:Qr.default.object,onUpdate:Qr.default.func};var Rt=D(H()),uf=D(lf());function uy(t){return t.ref.current?t.ref.current.getBoundingClientRect():null}function cy(t,e){if(t&&t.ref&&t.ref.current){let n=t.ref.current.style.display;t.ref.current.style.display="none";let r=e();return t.ref.current.style.display=n,r}else return e()}function dy(t,e){switch(e.type){case"append":return[...t,...e.payload];case"prepend":return[...e.payload,...t];case"insertFiles":var n=t.indexOf("Files");return n===-1||!e.payload?t:[...t.slice(0,n),...e.payload,...t.slice(n+1)];case"update":return t.map(r=>r.handle===e.payload.handle?e.payload:r);case"updatePositions":return cy(e.payload,()=>t.map(r=>ne(j({},r),{rect:uy(r)})));case"remove":return t.filter(r=>r.handle!==e.payload.handle);case"replace":return e.payload;case"reorder":return e.payload;default:return t}}function Kn(t){return{record:t,rect:null,ref:Rt.default.createRef(),handle:(0,uf.default)("draggable")}}function vn(t){let e=(0,Rt.useRef)(),[n,r]=(0,Rt.useReducer)(dy,[],()=>t.map(i=>Kn(i)));return(0,Rt.useEffect)(()=>{r({type:"updatePositions"})},[]),{ref:e,draggables:n,dispatch:r}}var bo=D(H());function fy(t){if(!t.dataTransfer||!t.dataTransfer.types)return!1;let e=t.dataTransfer.types;for(var n=0;n<e.length;n++)if(e[n]==="Files"||e[n]==="application/x-moz-file")return!0;return!1}function py(t){var e=[];if(t.items)for(let n=0;n<t.items.length;n++)t.items[n].kind=="file"&&e.push(t.items[n].getAsFile());else for(let n=0;n<t.files.length;n++)e.push(t.files[n]);return e}function cf(t){var e,n;return t.type=="touchmove"?(e=t.touches[0].clientX,n=t.touches[0].clientY):(e=t.clientX,n=t.clientY),{x:e,y:n}}function qn(t,e){let[n,r]=(0,bo.useState)({dragging:!1,x:null,y:null}),i=u=>{t.forEach(p=>{p.dispatch({type:"updatePositions",payload:u})})},o=(u,p)=>{i(p),r(j({dragging:p},cf(u)))},a=u=>{n.dragging?(u.stopPropagation(),u.preventDefault(),r(j(j({},n),cf(u)))):fy(u)&&o(u,"Files")},s=u=>{if(n.dragging){let m=n;var p=[];u.preventDefault(),u.stopPropagation(),n.dragging=="Files"&&(p=py(u.dataTransfer)),r({dragging:!1,x:null,y:null}),e(m,p),i()}},l=u=>{n.dragging==="Files"&&(u.preventDefault(),u.stopPropagation(),r({dragging:!1,x:null,y:null}))};return(0,bo.useEffect)(()=>(window.addEventListener("mousemove",a),window.addEventListener("touchmove",a),window.addEventListener("mouseup",s),window.addEventListener("touchend",s),window.addEventListener("mouseout",l),function(){window.removeEventListener("mousemove",a),window.removeEventListener("touchmove",a),window.removeEventListener("mouseup",s),window.removeEventListener("touchend",s),window.removeEventListener("mouseout",l)})),[n,o,{onDragOver:a,onDrop:s}]}var ko=D(H());function Yn(t,e){let n=(0,ko.useRef)(),r=i=>{i.preventDefault(),i.stopPropagation(),e(i,t)};return(0,ko.useEffect)(()=>{t.ref.current=n.current},[]),{ref:n,onDragStart:r,draggable:!0}}function df(t,e){let{x:n,y:r}=t;var i;if(e.rect)i=e.rect;else if(e.current)i=e.current.getBoundingClientRect();else return!1;return n>=i.left&&n<=i.right&&r>=i.top&&r<=i.bottom}function Zr(t,e){let{draggables:n,ref:r}=t,{dragging:i}=e;if(!i)return n;let o=n.filter(a=>a.handle!==i.handle);if(df(e,r)){let a=o.filter(s=>df(e,s))[0];if(a){let s=o.indexOf(a);o=[...o.slice(0,s),i,...o.slice(s)]}else o=[...o,i]}return o}function Jr(t,e){let n=Zr(t,e);return e.dragging&&n.indexOf(e.dragging)===-1&&(e.y<t.ref.current.getBoundingClientRect().top?n=[e.dragging,...n]:n.push(e.dragging)),n}function To(t){let{attributeName:e,draggable:n,locales:r,locale:i}=t,{record:o}=n,{attachment:a,uploading:s}=o,l=Yn(n,t.startDrag),u=d=>{d.preventDefault(),vt(`[attachment:${a.id}]`),Fe.dispatch({type:"NOTICE",message:"Embed code copied to clipboard"})},p=d=>{d.preventDefault(),t.deleteRecord&&t.deleteRecord()},m=()=>a.description&&a.description[i]?a.description[i]:null,h=()=>a.name&&a.name[i]?a.name[i]:null,E=d=>{d.preventDefault(),je.dispatch({type:"OPEN",payload:Se.default.createElement(So,{attachment:a,locale:i,locales:r,onUpdate:t.onUpdate})})},v=["attachment"];t.placeholder&&v.push("placeholder"),o.uploading&&v.push("uploading");let y=s?"cloud-upload":"paperclip",f=r&&r[i]&&r[i].dir||"ltr";return Se.default.createElement("div",j({className:v.join(" ")},l),Se.default.createElement("input",{name:`${e}[id]`,type:"hidden",value:o.id||""}),Se.default.createElement("input",{name:`${e}[attachment_id]`,type:"hidden",value:a&&a.id||""}),Se.default.createElement("input",{name:`${e}[position]`,type:"hidden",value:t.position}),!s&&Se.default.createElement("div",{className:"actions"},Se.default.createElement("button",{onClick:E},"Edit"),t.showEmbed&&Se.default.createElement("button",{onClick:u},"Embed"),t.deleteRecord&&Se.default.createElement("button",{onClick:p},"Remove")),a&&Se.default.createElement("div",{className:"attachment-info"},Se.default.createElement("h3",null,Se.default.createElement("i",{className:`fa fa-${y} icon`}),h()||Se.default.createElement("em",null,"Untitled"),Se.default.createElement("br",null)),!s&&Se.default.createElement("a",{href:a.url,rel:"noreferrer",target:"_blank"},a.filename),!s&&m()&&Se.default.createElement("p",{dir:f},m())))}To.propTypes={locale:tt.default.string,locales:tt.default.object,draggable:tt.default.object,deleteRecord:tt.default.func,startDrag:tt.default.func,showEmbed:tt.default.bool,onUpdate:tt.default.func,attributeName:tt.default.string,placeholder:tt.default.bool,position:tt.default.number,ref:tt.default.object};var ff=D(H());function js(){return ff.default.createElement("div",{className:"attachment drop-placeholder",key:"file-placeholder"},"Upload files here")}var Ut=D(H()),ei=D(J());function ct(t){let e=(0,Ut.useRef)(),n=i=>{let o=i.target.files,a=[];for(var s=0;s<o.length;s++)a.push(o[s]);a.length>0&&t.callback(a)},r=i=>{i.preventDefault(),e.current.click()};return Ut.default.createElement("div",{className:"upload-button"},Ut.default.createElement("span",null,"Drag and drop ",t.type||"file",t.multiple&&"s"," here, or",t.multiline&&Ut.default.createElement("br",null),Ut.default.createElement("button",{onClick:r},"choose a file")),Ut.default.createElement("input",{type:"file",onChange:n,ref:e,style:{display:"none"},multiple:t.multiple||!1}))}ct.propTypes={callback:ei.default.func,type:ei.default.string,multiple:ei.default.bool,multiline:ei.default.bool};function hy(t){return t.replace(/\.[\w\d]+$/,"").replace(/_/g," ")}function Qn(t){let e=vn(t.records),n=t.locales&&t.locales.length>0?Object.keys(t.locales):[t.locale],[r,i]=(0,$e.useState)([]),o=c=>{let g={};n.forEach(O=>g[O]=c.name);let w=Kn({attachment:{filename:c.name,name:g},uploading:!0}),M=new FormData;return M.append("attachment[file]",c),n.forEach(O=>{M.append(`attachment[name][${O}]`,hy(c.name))}),Hn("/admin/attachments.json",M).then(O=>{e.dispatch({type:"update",payload:ne(j({},w),{record:{attachment:O,uploading:!1}})})}),w},a=c=>{e.dispatch({type:"append",payload:c.map(g=>o(g))})},s=(c,g)=>{e.dispatch({type:"reorder",payload:Jr(e,c)}),e.dispatch({type:"insertFiles",payload:g.map(w=>o(w))})},[l,u,p]=qn([e],s),m=c=>[...e.draggables.map(g=>g.record),...r].indexOf(c)+1,h=c=>`${t.attribute}[${m(c)}]`,E=c=>g=>{let{record:w}=c,M=ne(j({},c),{record:ne(j({},w),{attachment:j(j({},w.attachment),g)})});e.dispatch({type:"update",payload:M})},v=c=>()=>{e.dispatch({type:"remove",payload:c}),c.record.id&&i([...r,c.record])},y=c=>{let{dragging:g}=l;return c==="Files"?$e.default.createElement(js,{key:"placeholder"}):$e.default.createElement(To,{key:c.handle,draggable:c,locale:t.locale,locales:t.locales,showEmbed:t.showEmbed,startDrag:u,position:m(c.record),onUpdate:E(c),deleteRecord:v(c),attributeName:h(c.record),placeholder:g&&g==c})},f=Jr(e,l),d=["attachments"];return l.dragging&&d.push("dragover"),$e.default.createElement("div",j({className:d.join(" "),ref:e.ref},p),$e.default.createElement("div",{className:"files"},f.map(c=>y(c))),$e.default.createElement("div",{className:"deleted"},r.map(c=>$e.default.createElement("span",{className:"deleted-attachment",key:c.id},$e.default.createElement("input",{name:`${h(c)}[id]`,type:"hidden",value:c.id}),$e.default.createElement("input",{name:`${h(c)}[attachment_id]`,type:"hidden",value:c.attachment&&c.attachment.id||""}),$e.default.createElement("input",{name:`${h(c)}[_destroy]`,type:"hidden",value:!0})))),$e.default.createElement("div",{className:"drop-target"},$e.default.createElement(ct,{multiple:!0,multiline:!0,callback:a})))}Qn.propTypes={attribute:Xn.default.string,locale:Xn.default.string,locales:Xn.default.object,records:Xn.default.array,showEmbed:Xn.default.bool};var Ce=D(H()),Gn=D(J()),yn=class extends Ce.default.Component{constructor(e){super(e);this.state={startsAt:this.parseDate(e.startsAt)||this.defaultDate(),endsAt:this.parseDate(e.endsAt)||this.defaultDate(60),startTime:"",endTime:""},this.state.startTime=this.timeToString(this.state.startsAt),this.state.endTime=this.timeToString(this.state.endsAt),this.changeStartsAt=this.changeStartsAt.bind(this),this.changeEndsAt=this.changeEndsAt.bind(this)}changeStartsAt(e={}){let n=this.modifyDate(this.state.startsAt,e);this.setDates(n,new Date(this.state.endsAt.getTime()+(n-this.state.startsAt)))}changeEndsAt(e={}){let n=this.modifyDate(this.state.endsAt,e);this.setDates(this.state.startsAt,n)}defaultDate(e=0){let n=36e5;return new Date(Math.round(new Date().getTime()/n)*n+n+1e3*60*e)}modifyDate(e,n={}){var r=new Date(e);return Object.prototype.hasOwnProperty.call(n,"year")&&r.setFullYear(n.year),Object.prototype.hasOwnProperty.call(n,"month")&&r.setMonth(n.month),Object.prototype.hasOwnProperty.call(n,"date")&&r.setDate(n.date),Object.prototype.hasOwnProperty.call(n,"time")&&n.time.match(/^[\d]{1,2}(:[\d]{1,2})?$/)&&(r.setHours(n.time.split(":")[0]),r.setMinutes(n.time.split(":")[1]||0)),r}parseDate(e){if(!!e)return new Date(e)}setDates(e,n){n<e&&(n=e),this.setState({startsAt:e,endsAt:n,startTime:this.timeToString(e),endTime:this.timeToString(n)})}startsAtToString(){return this.props.disabled?"":this.state.startsAt.toJSON()}endsAtToString(){return this.props.disabled?"":this.state.endsAt.toJSON()}renderDateSelect(e,n,r){return Ce.default.createElement("div",{className:"date-select"},Ce.default.createElement("select",{value:n.getMonth(),onChange:i=>r({month:i.target.value}),disabled:this.props.disabled},this.monthOptions().map((i,o)=>Ce.default.createElement("option",{key:e+"-month-"+o,value:o},i))),Ce.default.createElement("select",{value:n.getDate(),onChange:i=>r({date:i.target.value}),disabled:this.props.disabled},this.dayOptions().map(i=>Ce.default.createElement("option",{key:e+"-date-"+i,value:i},i))),Ce.default.createElement("select",{value:n.getFullYear(),onChange:i=>r({year:i.target.value}),disabled:this.props.disabled},this.yearOptions().map(i=>Ce.default.createElement("option",{key:e+"-year-"+i,value:i},i))))}render(){return Ce.default.createElement("div",{className:"date-range-select"},Ce.default.createElement("input",{type:"hidden",name:this.props.objectName+"[starts_at]",value:this.startsAtToString()}),Ce.default.createElement("input",{type:"hidden",name:this.props.objectName+"[ends_at]",value:this.endsAtToString()}),Ce.default.createElement("div",{className:"date"},this.renderDateSelect("starts-at",this.state.startsAt,this.changeStartsAt),!this.props.disableTime&&Ce.default.createElement("input",{type:"text",size:"5",value:this.state.startTime,disabled:this.props.disabled,onChange:e=>this.setState({startTime:e.target.value}),onBlur:e=>this.changeStartsAt({time:e.target.value})})),Ce.default.createElement("span",{className:"to"},"to"),Ce.default.createElement("div",{className:"date"},this.renderDateSelect("ends-at",this.state.endsAt,this.changeEndsAt),!this.props.disableTime&&Ce.default.createElement("input",{type:"text",size:"5",value:this.state.endTime,disabled:this.props.disabled,onChange:e=>this.setState({endTime:e.target.value}),onBlur:e=>this.changeEndsAt({time:e.target.value})})))}timeToString(e){return e.toTimeString().slice(0,5)}yearOptions(){let e=2e3;return Array.apply(null,Array(new Date().getFullYear()-e+11)).map((n,r)=>r+e)}monthOptions(){return["January","February","March","April","May","June","July","August","September","October","November","December"]}dayOptions(){return Array.apply(null,Array(31)).map((e,n)=>n+1)}};yn.propTypes={startsAt:Gn.default.string,endsAt:Gn.default.string,disabled:Gn.default.bool,disableTime:Gn.default.bool,objectName:Gn.default.string};var _t=D(H()),zt=D(J());var En=D(H()),ir=D(J());var Ye=D(H()),Po=D(J());var tr=D(H()),wn=D(J()),yf=D(mf());var Zn=D(H());function my(t,e){let n=No(t),r=t.image,i=r.real_width/r.real_height;return e?(n.aspect=e,n.width=100,n.height=100/e*i,n.height>100&&(n.height=100,n.width=100*e/i),n.x=(100-n.width)/2,n.y=(100-n.height)/2):delete n.aspect,gf(t,n)}function gf(t,e){let{image:n}=t;return(e.width<5||e.height<5)&&(e={x:0,y:0,width:100,height:100}),e.aspect===null&&delete e.aspect,{aspect:e.aspect,crop_start_x:n.real_width*(e.x/100),crop_start_y:n.real_height*(e.y/100),crop_width:n.real_width*(e.width/100),crop_height:n.real_height*(e.height/100)}}function vf(t,e){let{crop_start_x:n,crop_start_y:r,crop_width:i,crop_height:o,crop_gravity_x:a,crop_gravity_y:s}=t;switch(e.type){case"completeCrop":return a<n||a>n+i||s<r||s>r+o?ne(j({},t),{cropping:!1,crop_gravity_x:null,crop_gravity_y:null}):ne(j({},t),{cropping:!1});case"setCrop":return j(j({},t),gf(t,e.payload));case"setAspect":return j(j({},t),my(t,e.payload));case"setFocal":return ne(j({},t),{crop_gravity_x:i*(e.payload.x/100)+n,crop_gravity_y:o*(e.payload.y/100)+r});case"startCrop":return ne(j({},t),{cropping:!0});case"toggleFocal":return a===null?vf(t,{type:"setFocal",payload:{x:50,y:50}}):ne(j({},t),{crop_gravity_x:null,crop_gravity_y:null});default:return t}}function gy(t,e){let n=document.createElement("canvas");n.width=t.naturalWidth*(e.width/100),n.height=t.naturalHeight*(e.height/100);let r=n.getContext("2d");return r.drawImage(t,t.naturalWidth*(e.x/100),t.naturalHeight*(e.y/100),t.naturalWidth*(e.width/100),t.naturalHeight*(e.height/100),0,0,t.naturalWidth*(e.width/100),t.naturalHeight*(e.height/100)),[n,r]}function vy(t,e){let n=e.getImageData(0,0,t.width,t.height).data;for(var r=0;r<n.length/4;r++)if(n[r*4+3]!==255)return t.toDataURL("image/png");return t.toDataURL("image/jpeg")}function Oo(t){let e=o=>a=>a===null?a:o(a),n=e(Math.round),r=e(Math.ceil),i={crop_start_x:n(t.crop_start_x),crop_start_y:n(t.crop_start_y),crop_width:r(t.crop_width),crop_height:r(t.crop_height),crop_gravity_x:n(t.crop_gravity_x),crop_gravity_y:n(t.crop_gravity_y)};return i.crop_start_x+i.crop_width>t.image.real_width&&(i.crop_width=t.image.real_width-i.crop_start_x),i.crop_start_y+i.crop_height>t.image.real_height&&(i.crop_height=t.image.real_height-i.crop_start_y),i}function No(t){let{image:e,aspect:n,crop_start_x:r,crop_start_y:i,crop_width:o,crop_height:a}=t,s=e.real_width/e.real_height,l=r/e.real_width*100,u=i/e.real_height*100;var p=o/e.real_width*100,m=a/e.real_height*100;return n&&p?m=p/n*s:n&&m&&(p=m*n/s),n===null?{x:l,y:u,width:p,height:m}:{x:l,y:u,width:p,height:m,aspect:n}}function ni(t){let[e,n]=(0,Zn.useReducer)(vf,{aspect:null,cropping:!1,crop_start_x:t.crop_start_x||0,crop_start_y:t.crop_start_y||0,crop_width:t.crop_width||t.real_width,crop_height:t.crop_height||t.real_height,crop_gravity_x:t.crop_gravity_x,crop_gravity_y:t.crop_gravity_y,image:t}),[r,i]=(0,Zn.useState)(null);async function o(){let a=new Image;a.src=e.image.uncropped_url,await a.decode();let[s,l]=gy(a,No(e));i(vy(s,l))}return(0,Zn.useEffect)(()=>{e.cropping||o()},[e.cropping]),[e,n,r]}var Jn=D(H()),er=D(J()),ri=class extends Jn.default.Component{constructor(e){super(e);this.state={dragging:!1,x:e.x,y:e.y},this.dragStart=this.dragStart.bind(this),this.dragEnd=this.dragEnd.bind(this),this.drag=this.drag.bind(this),this.container=Jn.default.createRef(),this.point=Jn.default.createRef()}clamp(e,n,r){return e<n?n:e>r?r:e}dragStart(e){e.preventDefault(),e.stopPropagation(),e.target==this.point.current&&this.setState({dragging:!0})}dragEnd(){this.state.dragging&&(this.setState({dragging:!1}),this.props.onChange({x:this.state.x,y:this.state.y}))}drag(e){if(this.state.dragging){let i=this.container.current.getBoundingClientRect();var n,r;e.preventDefault(),e.type=="touchmove"?(n=e.touches[0].clientX-(i.x||i.left),r=e.touches[0].clientY-(i.y||i.top)):(n=e.clientX-(i.x||i.left),r=e.clientY-(i.y||i.top)),n=this.clamp(n,0,this.props.width),r=this.clamp(r,0,this.props.height),this.setState({x:n/this.props.width*100,y:r/this.props.height*100})}}render(){let e=this.props.width*(this.state.x/100),n=this.props.height*(this.state.y/100),r={transform:`translate3d(${e}px, ${n}px, 0)`};return Jn.default.createElement("div",{className:"focal-editor",ref:this.container,onTouchStart:this.dragStart,onTouchEnd:this.dragEnd,onTouchMove:this.drag,onMouseDown:this.dragStart,onMouseUp:this.dragEnd,onMouseMove:this.drag},Jn.default.createElement("div",{className:"focal-point",style:r,ref:this.point}))}};ri.propTypes={x:er.default.number,y:er.default.number,onChange:er.default.func,width:er.default.number,height:er.default.number};function _o(t){let e=()=>{let{image:l,cropping:u,crop_width:p,crop_height:m}=t.cropState;return u?{width:l.real_width,height:l.real_height}:{width:p,height:m}},n=t.containerSize.width,r=t.containerSize.height,i=e().width/e().height;var o=n,a=n/i;a>r&&(a=r,o=r*i);let s={width:`${o}px`,height:`${a}px`};return t.cropState.cropping?tr.default.createElement("div",{className:"image-wrapper",style:s},tr.default.createElement(yf.default,{src:t.cropState.image.uncropped_url,crop:No(t.cropState),minWidth:10,minHeight:10,onChange:t.setCrop})):tr.default.createElement("div",{className:"image-wrapper",style:s},t.focalPoint&&tr.default.createElement(ri,{width:o,height:a,x:t.focalPoint.x,y:t.focalPoint.y,onChange:t.setFocal}),tr.default.createElement("img",{src:t.croppedImage}))}_o.propTypes={containerSize:wn.default.object,croppedImage:wn.default.string,cropState:wn.default.object,focalPoint:wn.default.object,setCrop:wn.default.func,setFocal:wn.default.func};var Ve=D(H()),nr=D(J());function Do(t){let{cropping:e}=t.cropState,n=[["Free",null],["1:1",1],["3:2",3/2],["2:3",2/3],["4:3",4/3],["3:4",3/4],["5:4",5/4],["4:5",4/5],["16:9",16/9]],r=s=>l=>{l.preventDefault(),t.setAspect(s)},i=Math.ceil(t.cropState.crop_width),o=Math.ceil(t.cropState.crop_height),a=t.image.content_type.split("/")[1].toUpperCase();return Ve.default.createElement("div",{className:"toolbars"},Ve.default.createElement("div",{className:"toolbar"},Ve.default.createElement("div",{className:"info"},Ve.default.createElement("span",{className:"format"},i,"x",o," ",a)),Ve.default.createElement("button",{title:"Crop image",onClick:t.toggleCrop,className:e?"active":""},Ve.default.createElement("i",{className:"fa fa-crop"})),Ve.default.createElement("button",{disabled:e,title:"Toggle focal point",onClick:t.toggleFocal},Ve.default.createElement("i",{className:"fa fa-bullseye"})),Ve.default.createElement("a",{href:t.image.original_url,className:"button",title:"Download original image",disabled:e,download:t.image.filename,onClick:s=>e&&s.preventDefault()},Ve.default.createElement("i",{className:"fa fa-download"}))),e&&Ve.default.createElement("div",{className:"aspect-ratios toolbar"},Ve.default.createElement("div",{className:"label"},"Lock aspect ratio:"),n.map(s=>Ve.default.createElement("button",{key:"ratio-"+s[1],className:s[1]==t.cropState.aspect?"active":"",onClick:r(s[1])},s[0]))))}Do.propTypes={cropState:nr.default.object,image:nr.default.object,setAspect:nr.default.func,toggleCrop:nr.default.func,toggleFocal:nr.default.func};function yy(t){return t.crop_gravity_x===null||t.crop_gravity_y===null?null:{x:(t.crop_gravity_x-t.crop_start_x)/t.crop_width*100,y:(t.crop_gravity_y-t.crop_start_y)/t.crop_height*100}}function rr(t){let e=(0,Ye.useRef)(),[n,r]=(0,Ye.useState)(null),i=()=>{let u=e.current;u&&r({width:u.offsetWidth-2,height:u.offsetHeight-2})};(0,Ye.useEffect)(()=>(window.addEventListener("resize",i),function(){window.removeEventListener("resize",i)})),(0,Ye.useEffect)(i,[]);let o=u=>{t.dispatch({type:"setAspect",payload:u})},a=u=>{t.dispatch({type:"setCrop",payload:u})},s=u=>{t.dispatch({type:"setFocal",payload:u})},l=()=>{t.cropState.cropping?t.dispatch({type:"completeCrop"}):t.dispatch({type:"startCrop"})};return Ye.default.createElement("div",{className:"visual"},Ye.default.createElement(Do,{cropState:t.cropState,image:t.cropState.image,setAspect:o,toggleCrop:l,toggleFocal:()=>t.dispatch({type:"toggleFocal"})}),Ye.default.createElement("div",{className:"image-container",ref:e},!t.croppedImage&&Ye.default.createElement("div",{className:"loading"},"Loading image\u2026"),t.croppedImage&&n&&Ye.default.createElement(_o,{cropState:t.cropState,containerSize:n,croppedImage:t.croppedImage,focalPoint:yy(t.cropState),setCrop:a,setFocal:s})))}rr.propTypes={croppedImage:Po.default.string,cropState:Po.default.object,dispatch:Po.default.func};var ye=D(H()),yt=D(J());function Ao(t){let{alternative:e,caption:n,image:r,locale:i,locales:o}=t,a=u=>{u.preventDefault(),vt(`[image:${r.id}]`),Fe.dispatch({type:"NOTICE",message:"Embed code copied to clipboard"})},s=u=>{t.setLocale(u.target.value)},l=o&&o[i]&&o[i].dir||"ltr";return ye.default.createElement("form",null,ye.default.createElement("div",{className:"field embed-code"},ye.default.createElement("label",null,"Embed code"),ye.default.createElement("input",{type:"text",value:`[image:${r.id}]`,disabled:!0}),Yr()&&ye.default.createElement("button",{onClick:a},"Copy")),o&&Object.keys(o).length>1&&ye.default.createElement("div",{className:"field"},ye.default.createElement("label",null,"Locale"),ye.default.createElement("select",{name:"locale",value:i,onChange:s},Object.keys(o).map(u=>ye.default.createElement("option",{key:`locale-${u}`,value:u},o[u].name)))),ye.default.createElement("div",{className:"field "+(e[i]?"":"field-with-warning")},ye.default.createElement("label",null,"Alternative text"),ye.default.createElement("span",{className:"description"},"For visually impaired users and search engines."),ye.default.createElement("textarea",{className:"alternative",lang:i,dir:l,value:e[i]||"",onChange:u=>t.updateLocalization("alternative",u.target.value)})),t.showCaption&&ye.default.createElement("div",{className:"field"},ye.default.createElement("label",null,"Caption"),ye.default.createElement("textarea",{lang:i,dir:l,onChange:u=>t.updateLocalization("caption",u.target.value),value:n[i]||"",className:"caption"})),ye.default.createElement("div",{className:"buttons"},ye.default.createElement("button",{onClick:t.save},"Save"),ye.default.createElement("button",{onClick:()=>je.dispatch({type:"CLOSE"})},"Cancel")))}Ao.propTypes={alternative:yt.default.object,caption:yt.default.object,image:yt.default.object,locale:yt.default.string,locales:yt.default.object,setLocale:yt.default.func,save:yt.default.func,showCaption:yt.default.bool,updateLocalization:yt.default.func};function Lo(t){let[e,n,r]=ni(t.image),[i,o]=(0,En.useState)(t.locale),[a,s]=(0,En.useState)({caption:t.image.caption||{},alternative:t.image.alternative||{}}),l=(p,m)=>{s(ne(j({},a),{[p]:ne(j({},a[p]),{[i]:m})}))},u=p=>{p.preventDefault(),p.stopPropagation();let m=j(j({},a),Oo(e));Wn(`/admin/images/${t.image.id}`,{image:m}),t.onUpdate&&t.onUpdate(m,r),je.dispatch({type:"CLOSE"})};return En.default.createElement("div",{className:"image-editor"},En.default.createElement(rr,{croppedImage:r,cropState:e,dispatch:n}),!e.cropping&&En.default.createElement(Ao,{alternative:a.alternative,caption:a.caption,image:t.image,locale:i,locales:t.locales,setLocale:o,save:u,showCaption:t.caption,updateLocalization:l}))}Lo.propTypes={image:ir.default.object,locale:ir.default.string,locales:ir.default.object,caption:ir.default.bool,onUpdate:ir.default.func};function Bt(t){let[e,n]=(0,_t.useState)(t.image),[r,i]=(0,_t.useState)(t.src),o=()=>{let u=e.crop_width||e.real_width,p=e.crop_height||e.real_height;return Math.round(p/u*t.width)},a=(u,p)=>{let m=j(j({},e),u);i(p),n(m),t.onUpdate&&t.onUpdate(m,p)},s=u=>{u.preventDefault(),je.dispatch({type:"OPEN",payload:_t.default.createElement(Lo,{image:e,caption:t.caption,locale:t.locale,locales:t.locales,onUpdate:a})})},l=!e.alternative[t.locale];return _t.default.createElement("div",{className:"editable-image"},l&&_t.default.createElement("span",{className:"alt-warning",title:"Alternative text is missing"},_t.default.createElement("i",{className:"fa fa-exclamation-triangle icon"})),_t.default.createElement("img",{src:r,width:t.width,height:o(),onClick:s}))}Bt.propTypes={image:zt.default.object,src:zt.default.string,caption:zt.default.bool,locale:zt.default.string,locales:zt.default.object,width:zt.default.number,onUpdate:zt.default.func};var oe=D(H()),$t=D(J());var Rs=D(H()),or=D(J());function Mo(t){let{draggable:e,dragState:n,container:r}=t;if(e==="Files")return"";{let i=r.current.getBoundingClientRect(),o=n.x-(i.x||i.left),a=n.y-(i.y||i.top),s={transform:`translate3d(${o}px, ${a}px, 0)`};return Rs.default.createElement("div",{className:"drag-image",style:s},e.record.image&&Rs.default.createElement("img",{src:e.record.src||e.record.image.thumbnail_url}))}}Mo.propTypes={draggable:or.default.oneOfType([or.default.object,or.default.string]),dragState:or.default.object,container:or.default.object};var Us=D(H());function zs(){return Us.default.createElement("div",{className:"grid-image",key:"file-placeholder"},Us.default.createElement("div",{className:"file-placeholder"}))}var be=D(H()),Xe=D(J());var ar=D(H()),wf=D(J());function Io(t){return t.src?ar.default.createElement("div",{className:"temp-image"},ar.default.createElement("img",{src:t.src}),ar.default.createElement("span",null,"Uploading...")):ar.default.createElement("div",{className:"file-placeholder"},ar.default.createElement("span",null,"Uploading..."))}Io.propTypes={src:wf.default.string};function jo(t){let{attributeName:e,draggable:n}=t,r=n.record,i=r.image,[o,a]=(0,be.useState)(r.src||null),s=Yn(n,t.startDrag);(0,be.useEffect)(()=>{if(r.file){let m=new FileReader;m.onload=()=>a(m.result),m.readAsDataURL(r.file)}},[]);let l=m=>{m.preventDefault(),vt(`[image:${i.id}]`),Fe.dispatch({type:"NOTICE",message:"Embed code copied to clipboard"})},u=m=>{m.preventDefault(),t.deleteImage&&t.deleteImage()},p=["grid-image"];return t.placeholder&&p.push("placeholder"),r.file&&p.push("uploading"),be.default.createElement("div",j({className:p.join(" ")},s),be.default.createElement("input",{name:`${e}[id]`,type:"hidden",value:r.id||""}),be.default.createElement("input",{name:`${e}[image_id]`,type:"hidden",value:i&&i.id||""}),be.default.createElement("input",{name:`${e}[position]`,type:"hidden",value:t.position}),t.enablePrimary&&be.default.createElement("input",{name:`${e}[primary]`,type:"hidden",value:t.primary}),!i&&be.default.createElement(Io,{src:o}),i&&be.default.createElement(be.default.Fragment,null,be.default.createElement(Bt,{image:i,src:o||i.thumbnail_url,width:250,caption:!0,locale:t.locale,locales:t.locales,onUpdate:t.onUpdate}),be.default.createElement("div",{className:"actions"},t.showEmbed&&be.default.createElement("button",{onClick:l},"Embed"),t.deleteImage&&be.default.createElement("button",{onClick:u},"Remove"))))}jo.propTypes={draggable:Xe.default.object,deleteImage:Xe.default.func,startDrag:Xe.default.func,locale:Xe.default.string,locales:Xe.default.object,onUpdate:Xe.default.func,attributeName:Xe.default.string,placeholder:Xe.default.bool,enablePrimary:Xe.default.bool,showEmbed:Xe.default.bool,primary:Xe.default.bool,position:Xe.default.number};function Bs(t){let e=["image/gif","image/jpeg","image/pjpeg","image/png","image/tiff"];return t.filter(n=>e.indexOf(n.type)!==-1)}function Ef(t,e,n){let[r,...i]=Zr(t,n),o=[...i,...Zr(e,n)];return n.dragging&&[r,...o].indexOf(n.dragging)===-1&&(n.y<e.ref.current.getBoundingClientRect().top?o=[n.dragging,...o]:o.push(n.dragging)),[r,o]}function wy(t){let e=t.enablePrimary?t.records.filter(n=>n.primary).slice(0,1):[];return[e,t.records.filter(n=>e.indexOf(n)===-1)]}function sr(t){let[e,n]=wy(t),r=vn(e),i=vn(n),[o,a]=(0,oe.useState)([]),s=(0,oe.useRef)(),l=T=>{r.dispatch(T),i.dispatch(T)},u=(T,P)=>{let[Q,k]=Ef(r,i,T);if(r.dispatch({type:"reorder",payload:Q?[Q]:[]}),i.dispatch({type:"reorder",payload:k}),P){let b=Bs(P).map(I=>y(I));l({type:"insertFiles",payload:b})}},[p,m,h]=qn([r,i],u),E=T=>[...r.draggables.map(P=>P.record),...i.draggables.map(P=>P.record),...o].indexOf(T)+1,v=T=>`${t.attribute}[${E(T)}]`,y=T=>{let P=Kn({image:null,file:T}),Q=new FormData;return Q.append("image[file]",T),Hn("/admin/images.json",Q).then(k=>{k.status==="error"?(Fe.dispatch({type:"ERROR",message:"Error uploading image: "+k.error}),l({type:"remove",payload:P})):l({type:"update",payload:ne(j({},P),{record:{image:k}})})}),P},f=T=>P=>{let{record:Q}=T,k=ne(j({},T),{record:ne(j({},Q),{image:j(j({},Q.image),P)})});l({type:"update",payload:k})},d=T=>()=>{l({type:"remove",payload:T}),T.record.id&&a([...o,T.record])},c=(T,P)=>{let{dragging:Q}=p;return T==="Files"?oe.default.createElement(zs,{key:"placeholder"}):oe.default.createElement(jo,{key:T.handle,draggable:T,locale:t.locale,locales:t.locales,showEmbed:t.showEmbed,startDrag:m,position:E(T.record),primary:P,onUpdate:f(T),enablePrimary:t.enablePrimary,deleteImage:d(T),attributeName:v(T.record),placeholder:Q&&Q==T})},g=T=>{let[P,...Q]=Bs(T).map(k=>y(k));P&&(i.dispatch({type:"prepend",payload:[...r.draggables,...Q]}),r.dispatch({type:"replace",payload:[P]}))},w=T=>{i.dispatch({type:"append",payload:Bs(T).map(P=>y(P))})},M=["image-grid"];t.enablePrimary&&M.push("with-primary-image");let[O,R]=Ef(r,i,p);return oe.default.createElement("div",j({className:M.join(" "),ref:s},h),p.dragging&&oe.default.createElement(Mo,{draggable:p.dragging,dragState:p,container:s}),t.enablePrimary&&oe.default.createElement("div",{className:"primary-image",ref:r.ref},oe.default.createElement("h3",null,"Main image"),O&&oe.default.createElement(oe.default.Fragment,null,c(O,!0),t.primaryAttribute&&oe.default.createElement("input",{type:"hidden",name:t.primaryAttribute,value:O.record&&O.record.image&&O.record.image.id||""})),!O&&oe.default.createElement("div",{className:"drop-target"},oe.default.createElement(ct,{multiple:!0,type:"image",multiline:!0,callback:g}))),oe.default.createElement("div",{className:"grid",ref:i.ref},oe.default.createElement("h3",null,t.enablePrimary?"More images":"Images"),oe.default.createElement("div",{className:"drop-target"},oe.default.createElement(ct,{multiple:!0,type:"image",callback:w})),oe.default.createElement("div",{className:"images"},R.map(T=>c(T,!1)))),oe.default.createElement("div",{className:"deleted"},o.map(T=>oe.default.createElement("span",{className:"deleted-image",key:T.id},oe.default.createElement("input",{name:`${v(T)}[id]`,type:"hidden",value:T.id}),oe.default.createElement("input",{name:`${v(T)}[attachment_id]`,type:"hidden",value:T.image&&T.image.id||""}),oe.default.createElement("input",{name:`${v(T)}[_destroy]`,type:"hidden",value:!0})))))}sr.propTypes={attribute:$t.default.string,locale:$t.default.string,locales:$t.default.object,records:$t.default.array,enablePrimary:$t.default.bool,primaryAttribute:$t.default.string,showEmbed:$t.default.bool};var Re=D(H()),Dt=D(J());function Ey(t){var e=[];if(t.items)for(let n=0;n<t.items.length;n++)t.items[n].kind=="file"&&e.push(t.items[n].getAsFile());else for(let n=0;n<t.files.length;n++)e.push(t.files[n]);return e}function Fo(t){let[e,n]=(0,Re.useState)(!1),[r,i]=(0,Re.useState)(!1),[o,a]=(0,Re.useState)(t.image),[s,l]=(0,Re.useState)(t.src),u=d=>{d.preventDefault(),i(!0)},p=()=>{i(!1)},m=d=>{if(d.dataTransfer.items)for(var c=0;c<d.dataTransfer.items.length;c++)d.dataTransfer.items.remove(c);else d.dataTransfer.clearData();i(!1)},h=d=>{let c=Ey(d.dataTransfer);d.preventDefault(),c.length>0&&y(c[0])},E=d=>{d.preventDefault(),a(null),l(null)},v=d=>{d.length>0&&y(d[0])},y=d=>{if(["image/gif","image/jpeg","image/pjpeg","image/png","image/tiff"].indexOf(d.type)==-1){alert("Invalid file type, only images in JPEG, PNG or GIF formats are supported");return}let g=t.locale,w=t.locales?Object.keys(t.locales):[g],M=new FormData;a(null),l(null),i(!1),n(!0),M.append("image[file]",d),w.forEach(O=>{M.append(`image[alternative][${O}]`,t.alternative||"")}),Hn("/admin/images.json",M).then(O=>{n(!1),O.status==="error"?Fe.dispatch({type:"ERROR",message:"Error uploading image: "+O.error}):(l(O.thumbnail_url),a(O))})},f=["image-uploader"];return e?f.push("uploading"):r&&f.push("dragover"),Re.default.createElement("div",{className:f.join(" "),onDragOver:u,onDragLeave:p,onDragEnd:m,onDrop:h},Re.default.createElement("input",{type:"hidden",name:t.attr,value:o?o.id:""}),o&&Re.default.createElement("div",{className:"image"},Re.default.createElement(Bt,{image:o,src:s,width:t.width,caption:t.caption,locale:t.locale,locales:t.locales})),Re.default.createElement("div",{className:"ui-wrapper"},e&&Re.default.createElement("div",{className:"ui"},"Uploading image..."),!e&&Re.default.createElement("div",{className:"ui"},Re.default.createElement(ct,{type:"image",multiline:!0,callback:v}),o&&Re.default.createElement("a",{className:"delete remove-image",href:"#",onClick:E},"Remove image"))))}Fo.propTypes={locale:Dt.default.string,locales:Dt.default.object,image:Dt.default.object,src:Dt.default.string,width:Dt.default.number,caption:Dt.default.bool,attr:Dt.default.string,alternative:Dt.default.string};var lr=D(H());var Ro=class extends lr.default.Component{constructor(e){super(e);this.state={component:null},this.store=je,this.closeModal=this.closeModal.bind(this),this.handleChange=this.handleChange.bind(this),this.handleKeypress=this.handleKeypress.bind(this)}componentDidMount(){this.unsubscribe=this.store.subscribe(this.handleChange),window.addEventListener("keypress",this.handleKeypress)}componentWillUnmount(){this.unsubscribe(),window.removeEventListener("keypress",this.handleKeypress)}closeModal(e){e.stopPropagation(),e.preventDefault(),je.dispatch({type:"CLOSE"})}handleChange(){this.setState(j({},this.store.getState()))}handleKeypress(e){this.state.component&&(e.key=="Escape"||e.keyCode===27)&&this.closeModal(e)}render(){let e=this.state.component;if(e)document.body.classList.add("modal");else return document.body.classList.remove("modal"),lr.default.createElement("div",{className:"modal-wrapper"});return lr.default.createElement("div",{className:"modal-wrapper open"},lr.default.createElement("div",{className:"background",onClick:this.closeModal}),lr.default.createElement("div",{className:"modal"},e))}};var dt=D(H()),Uo=D(J());var ii=class extends dt.default.Component{constructor(e){super(e);this.state={has_dates:!!e.starts_at,all_day:!!e.all_day},this.toggleAllDay=this.toggleAllDay.bind(this),this.toggleHasDates=this.toggleHasDates.bind(this)}toggleHasDates(){this.setState({has_dates:!this.state.has_dates})}toggleAllDay(){this.setState({all_day:!this.state.all_day})}timeToString(e){return e.toTimeString().slice(0,5)}render(){return dt.default.createElement("div",{className:"page-dates field"},dt.default.createElement("input",{type:"hidden",name:"page[all_day]",value:this.state.has_dates&&this.state.all_day?"1":"0"}),dt.default.createElement("label",null,"Dates"),dt.default.createElement("div",{className:"toggles"},dt.default.createElement("label",{className:"has-dates-toggle"},dt.default.createElement("input",{type:"checkbox",checked:this.state.has_dates,onChange:this.toggleHasDates}),"Enabled"),dt.default.createElement("label",{className:!this.state.has_dates&&"disabled"},dt.default.createElement("input",{type:"checkbox",disabled:!this.state.has_dates,checked:this.state.all_day,onChange:this.toggleAllDay}),"All day event")),dt.default.createElement(yn,{objectName:"page",startsAt:this.props.starts_at,endsAt:this.props.ends_at,disabled:!this.state.has_dates,disableTime:this.state.all_day}))}};ii.propTypes={starts_at:Uo.default.string,ends_at:Uo.default.string,all_day:Uo.default.bool};var zo=D(H()),Bo=D(J());var oi=class extends zo.default.Component{render(){return zo.default.createElement("div",{className:"page-files"},zo.default.createElement(Qn,{attribute:"page[page_files_attributes]",showEmbed:!0,locale:this.props.locale,locales:this.props.locales,records:this.props.records}))}};oi.propTypes={locale:Bo.default.string,locales:Bo.default.object,records:Bo.default.array};var $o=D(H()),Vo=D(J());var ai=class extends $o.default.Component{render(){return $o.default.createElement("div",{className:"page-images"},$o.default.createElement(sr,{attribute:"page[page_images_attributes]",primaryAttribute:"page[image_id]",enablePrimary:!0,showEmbed:!0,locale:this.props.locale,locales:this.props.locales,records:this.props.records}))}};ai.propTypes={locale:Vo.default.string,locales:Vo.default.object,records:Vo.default.array};var $s=D(H()),si=D(J());var xn=D(H()),wt=D(J());var re=D(H()),ft=D(J()),Vt=class extends re.default.Component{constructor(e){super(e);this.state={newName:e.index.node.name},this.innerRef=re.default.createRef()}permitted(e){return this.node().permissions&&this.node().permissions.indexOf(e)!=-1}actions(){let e=this.node().status!=2?"Publish":"Hide",n=this.node().status!=2?"check":"ban";return this.node().editing?null:this.props.index.id===1?re.default.createElement("span",{className:"actions"},re.default.createElement("button",{type:"button",className:"add",onClick:()=>this.props.addChild(this.props.index)},re.default.createElement("i",{className:"fa fa-plus icon"}),"Add child")):re.default.createElement("span",{className:"actions"},this.permitted("edit")&&this.button(e,{className:"toggle-status",icon:n,onClick:()=>this.toggleStatus()}),this.permitted("edit")&&this.button("Rename",{className:"edit",icon:"pencil",onClick:()=>this.edit()}),this.permitted("edit")&&this.button("Delete",{className:"delete",icon:"trash",onClick:()=>this.deletePage()}),this.permitted("create")&&this.button("Add child",{className:"add",icon:"plus",onClick:()=>this.props.addChild(this.props.index)}))}addButton(){let e=this,n=this.node(),r=function(){e.props.addChild&&e.props.addChild(e.props.index)};if(!n.collapsed&&this.permitted("create")&&(n.root||this.visibleChildren().length>0))return this.button("Add page here",{className:"add add-inline",icon:"plus",onClick:r})}button(e,n){let r="fa fa-"+n.icon+" icon";return re.default.createElement("button",{type:"button",className:n.className,onClick:n.onClick},re.default.createElement("i",{className:r}),e)}childNodes(){let{index:e,tree:n,dragging:r,dir:i,locale:o}=this.props;if(e.children&&e.children.length&&!e.node.collapsed){var a={};return e.node.collapsed&&(a.display="none"),a.paddingLeft=this.props.paddingLeft+"px",re.default.createElement("div",{className:"children",style:a},e.children.map(s=>{var l=n.getIndex(s);return re.default.createElement(Vt,{tree:n,index:l,key:l.id,dragging:r,paddingLeft:this.props.paddingLeft,addChild:this.props.addChild,onCollapse:this.props.onCollapse,onDragStart:this.props.onDragStart,updatePage:this.props.updatePage,dir:i,locale:o})}))}return null}collapseArrow(){let e=this.props.index,n=this;if(!e.parent)return null;let r=function(o){o.stopPropagation();let a=n.props.index.id;n.props.onCollapse&&n.props.onCollapse(a)};if(this.visibleChildren().length>0){let o=e.node.collapsed;var i=null;return o?i="collapse fa fa-caret-right":i="collapse fa fa-caret-down",re.default.createElement("i",{className:i,onMouseDown:function(a){a.stopPropagation()},onClick:r})}return null}collapsedLabel(){if(this.node().collapsed&&this.node().children&&this.node().children.length>0){let e=this.node().children.length==1?"item":"items";return re.default.createElement("span",{className:"collapsed-label"},"(",this.node().children.length," ",e,")")}else return null}deletePage(){confirm("Are you sure you want to delete this page?")&&this.updatePage({status:4})}edit(){this.updatePage({editing:!0})}editUrl(e){return`/admin/${e.locale}/pages/${e.param}/edit`}node(){return this.props.index.node}pageName(){let e=this.node().name||re.default.createElement("i",{className:"untitled"},"Untitled");return re.default.createElement("span",{dir:this.props.dir,lang:this.props.locale},e)}render(){let e=this,n=this.props,r=n.index,i=n.dragging,o=this.node().editing;var a="node",s=o?this.renderEditNode():this.renderNode();r.id===i&&(a="node placeholder");let l=function(u){e.permitted("edit")&&!o&&n.onDragStart&&n.onDragStart(n.index.id,e.innerRef.current,u)};return this.node().status!=4?re.default.createElement("div",{className:a},re.default.createElement("div",{className:"inner",ref:this.innerRef,onMouseDown:l},this.collapseArrow(),s),this.childNodes(),this.addButton()):null}renderEditNode(){let{dir:e,locale:n}=this.props,r=this,i=function(s){r.setState({newName:s.target.value})},o=function(s){s.preventDefault(),r.updatePage({name:r.state.newName,editing:!1})},a=function(){r.setState({newName:r.node().name}),r.updatePage({editing:!1})};return re.default.createElement("div",{className:"page edit"},re.default.createElement("i",{className:"fa fa-file-o icon"}),re.default.createElement("form",{onSubmit:o},re.default.createElement("input",{type:"text",value:this.state.newName,dir:e,lang:n,autoFocus:!0,onChange:i}),re.default.createElement("button",{className:"save",type:"submit"},re.default.createElement("i",{className:"fa fa-cloud icon"}),"Save"),this.button("Cancel",{className:"cancel",icon:"ban",onClick:a})))}renderNode(){let n=this.props.index.node;var r=re.default.createElement("span",{className:"name"},this.pageName()),i="page",o="fa fa-file-o icon";return typeof n.status<"u"&&(i=`page status-${this.node().status}`),n.id&&n.locale&&this.permitted("edit")&&(r=re.default.createElement("a",{href:this.editUrl(n),className:"name"},this.pageName())),n.news_page?o="fa fa-newspaper-o icon":n.pinned&&(o="fa fa-flag-o icon"),re.default.createElement("div",{className:i},re.default.createElement("i",{className:o}),r,this.statusLabel(),this.collapsedLabel(),this.actions())}statusLabel(){let e=["Draft","Reviewed","Published","Hidden","Deleted"];return typeof this.node().status<"u"&&this.node().status!=2?re.default.createElement("span",{className:"status-label"},"(",e[this.node().status],")"):""}toggleStatus(){this.node().status!=2?this.updatePage({status:2}):this.updatePage({status:3})}updatePage(e){if(this.props.updatePage)return this.props.updatePage(this.props.index,e)}visibleChildren(){return this.node().children?this.node().children.filter(e=>e.status!=4):[]}};Vt.propTypes={addChild:ft.default.func,dragging:ft.default.number,index:ft.default.object,onCollapse:ft.default.func,onDragStart:ft.default.func,paddingLeft:ft.default.number,tree:ft.default.object,updatePage:ft.default.func,locale:ft.default.string,dir:ft.default.string};var ur=class extends xn.default.Component{constructor(e){super(e);this.state={dragging:this.initDragging()}}initDragging(){return{id:null,x:null,y:null,w:null,h:null,scrollTop:null,scrollLeft:null}}getDraggingDom(){var e=this.props.tree,n=this.state.dragging;if(n&&n.id){var r=e.getIndex(n.id),i={top:n.y,left:n.x,width:n.w};return xn.default.createElement("div",{className:"draggable",style:i},xn.default.createElement(Vt,{tree:e,index:r,paddingLeft:this.props.paddingLeft}))}return null}render(){let{tree:e,dir:n,locale:r}=this.props;var i=this.state.dragging;if(e){var o=e.getIndex(1);return xn.default.createElement("div",{className:"page-tree"},this.getDraggingDom(),xn.default.createElement(Vt,{tree:e,index:o,key:o.id,paddingLeft:this.props.paddingLeft,addChild:a=>this.addChild(a),onDragStart:(a,s,l)=>this.dragStart(a,s,l),onCollapse:a=>this.toggleCollapse(a),updatePage:(a,s)=>this.updatePage(a,s),dragging:i&&i.id,dir:n,locale:r}))}else return xn.default.createElement("div",{className:"page-tree"},this.getDraggingDom())}addChild(e){let n={name:"",status:0,editing:!0,children:[],published_at:new Date,pinned:!1,locale:e.node.locale,parent_page_id:e.node.id};this.props.addChild(e.id,n)}prevAddButtonCount(e,n){let r=0,i=[],o=e.getIndex(n.parent);for(;o;)i.push(o),o=e.getIndex(o.parent);for(o=n,o=e.getNodeByTop(n.top-1);o;)i.indexOf(o)==-1&&!o.node.collapsed&&o.node.children.filter(a=>a.status!=4).length>0&&(r+=1),o=e.getNodeByTop(o.top-1);return r}scrollOffset(){let e=this.state.dragging;return{top:document.body.scrollTop-e.scrollTop,left:document.body.scrollLeft-e.scrollLeft}}drag(e){if(this._start){var n=Math.abs(e.clientX-this._offsetX)+Math.abs(e.clientY-this._offsetY);if(n>=15)this.setState({dragging:this.dragging}),this._start=!1;else return null}var r=this.props.tree,i=this.state.dragging,o=this.props.paddingLeft,a=null,s=r.getIndex(i.id),l=s.node.collapsed,u=this._startX,p=this._startY,m=this._offsetX,h=this._offsetY,E={x:u+e.clientX-m+this.scrollOffset().left,y:p+e.clientY-h+this.scrollOffset().top};i.x=E.x,i.y=E.y;var v=i.x-o/2-(s.left-2)*o,y=i.y-i.h/2-(s.top-2+this.prevAddButtonCount(r,s))*i.h;if(v<0)s.parent&&!s.next&&(a=r.move(s.id,s.parent,"after"));else if(v>o&&s.prev){var f=r.getIndex(s.prev);!f.node.leaf&&!f.node.collapsed&&(a=r.move(s.id,s.prev,"append"))}if(a&&(s=a,a.node.collapsed=l,i.id=a.id),y<0-i.h*.5){var d=r.getNodeByTop(s.top-1);a=r.move(s.id,d.id,"before")}else if(y>i.h*1.5){let c=s.next?r.getIndex(s.next):r.getNodeByTop(s.top+s.height);c&&c.parent!==s.id&&(c.children&&c.children.length&&!c.node.collapsed?a=r.move(s.id,c.id,"prepend"):a=r.move(s.id,c.id,"after"))}a&&(a.node.collapsed=l,i.id=a.id),this.setState({dragging:i})}dragStart(e,n,r){if(r.button===0){this.dragging={id:e,w:n.offsetWidth,h:n.offsetHeight,x:n.offsetLeft,y:n.offsetTop,scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft},this._startX=n.offsetLeft,this._startY=n.offsetTop,this._offsetX=r.clientX,this._offsetY=r.clientY,this._start=!0;var i=this;this._dragListener=o=>i.drag(o),this._dragEndListener=()=>i.dragEnd(),window.addEventListener("mousemove",this._dragListener),window.addEventListener("mouseup",this._dragEndListener)}}dragEnd(){this._start||(this.props.updateTree(this.props.tree),this.props.movedPage(this.state.dragging.id)),this.setState({dragging:this.initDragging()}),window.removeEventListener("mousemove",this._dragListener),window.removeEventListener("mouseup",this._dragEndListener)}toggleCollapse(e){this.props.toggleCollapsed(e)}updatePage(e,n){this.props.updatePage(e.id,n)}};ur.defaultProps={paddingLeft:15};ur.propTypes={tree:wt.default.object,addChild:wt.default.func,movedPage:wt.default.func,toggleCollapsed:wt.default.func,paddingLeft:wt.default.number,updatePage:wt.default.func,updateTree:wt.default.func,locale:wt.default.string,dir:wt.default.string};var Wo=class{constructor(e){this.cnt=1,this.obj=e||{children:[]},this.indexes={},this.build(this.obj)}build(e){var n=this.indexes,r=this.cnt,i=this,o={id:r,node:e};n[this.cnt+""]=o,this.cnt++,e.children&&e.children.length&&a(e.children,o);function a(s,l){var u=[];s.forEach(function(p){var m={};m.id=i.cnt,m.node=p,l&&(m.parent=l.id),n[i.cnt+""]=m,u.push(i.cnt),i.cnt++,p.children&&p.children.length&&a(p.children,m)}),l.children=u,u.forEach(function(p,m){var h=n[p+""];m>0&&(h.prev=u[m-1]),m<u.length-1&&(h.next=u[m+1])})}return o}getIndex(e){var n=this.indexes[e+""];if(n)return n}removeIndex(e){var n=this;r(e);function r(i){delete n.indexes[i.id+""],i.children&&i.children.length&&i.children.forEach(function(o){r(n.getIndex(o))})}}get(e){var n=this.getIndex(e);return n&&n.node?n.node:null}remove(e){var n=this.getIndex(e),r=this.get(e),i=this.getIndex(n.parent),o=this.get(n.parent);return o.children.splice(o.children.indexOf(r),1),i.children.splice(i.children.indexOf(e),1),this.removeIndex(n),this.updateChildren(i.children),r}updateChildren(e){e.forEach(function(n,r){var i=this.getIndex(n);i.prev=i.next=null,r>0&&(i.prev=e[r-1]),r<e.length-1&&(i.next=e[r+1])}.bind(this))}insert(e,n,r){var i=this.getIndex(n),o=this.get(n),a=this.build(e);return a.parent=n,o.children=o.children||[],i.children=i.children||[],o.children.splice(r,0,e),i.children.splice(r,0,a.id),this.updateChildren(i.children),i.parent&&this.updateChildren(this.getIndex(i.parent).children),a}insertBefore(e,n){var r=this.getIndex(n),i=r.parent,o=this.getIndex(i).children.indexOf(n);return this.insert(e,i,o)}insertAfter(e,n){var r=this.getIndex(n),i=r.parent,o=this.getIndex(i).children.indexOf(n);return this.insert(e,i,o+1)}prepend(e,n){return this.insert(e,n,0)}append(e,n){var r=this.getIndex(n);return r.children=r.children||[],this.insert(e,n,r.children.length)}updateNodesPosition(){var e=1,n=1,r=this.getIndex(1),i=this;r.top=e++,r.left=n++,r.children&&r.children.length&&o(r.children,r,n,r.node.collapsed);function o(a,s,l,u){var p=1;return a.forEach(function(m){var h=i.getIndex(m);u?(h.top=null,h.left=null):(h.top=e++,h.left=l),h.children&&h.children.length?p+=o(h.children,h,l+1,u||h.node.collapsed):(h.height=1,p+=1)}),s.node.collapsed?s.height=1:s.height=p,s.height}}move(e,n,r){if(!(e===n||n===1)){var i=this.remove(e),o=null;return r==="before"?o=this.insertBefore(i,n):r==="after"?o=this.insertAfter(i,n):r==="prepend"?o=this.prepend(i,n):r==="append"&&(o=this.append(i,n)),this.updateNodesPosition(),o}}getParent(e){var n=this.indexes;if(Object.prototype.hasOwnProperty.call(n,e))return this.getIndex(n[e].parent)}getNodeByTop(e){var n=this.indexes;for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)&&n[r].top===e)return n[r]}};var li=class extends $s.default.Component{constructor(e){super(e);this.state={tree:this.buildTree(e.pages)},this.addChild=this.addChild.bind(this),this.movedPage=this.movedPage.bind(this),this.toggleCollapsed=this.toggleCollapsed.bind(this),this.updatePage=this.updatePage.bind(this),this.updateTree=this.updateTree.bind(this)}addChild(e,n){let r=this.state.tree;var i=r.append(n,e);this.reorderChildren(e),this.setCollapsed(e,!1),this.createPage(i,n),this.setState({tree:r})}movedPage(e){let n=this.state.tree,r=n.getIndex(e);this.reorderChildren(r.parent);let i=n.getIndex(r.parent),o=i.children.indexOf(e)+1;this.movePage(r,i,o),this.setState({tree:n})}toggleCollapsed(e){let n=this.state.tree;var r=n.getIndex(e).node;this.setCollapsed(e,!r.collapsed),this.setState({tree:n})}updatePage(e,n){let i=this.state.tree.getIndex(e),o=`/admin/${i.node.locale}/pages/${i.node.id}.json`;this.updateNode(i,n),this.performUpdate(i,o,{page:n})}updateTree(e){this.setState({tree:e})}applyCollapsed(e){let n=(o,a)=>{var s=0;let l=o.getIndex(a.parent);for(;l;)s+=1,l=o.getIndex(l.parent);return s},r=this.collapsedState(),i=function(o){var a=e.getIndex(o),s=a.node;Object.prototype.hasOwnProperty.call(r,s.id)?s.collapsed=r[s.id]:(s.news_page||n(e,a)>1)&&(s.collapsed=!0),a.children&&a.children.length&&a.children.forEach(l=>i(l))};i(1)}collapsedState(){return window&&window.localStorage&&typeof window.localStorage.collapsedPages<"u"?JSON.parse(window.localStorage.collapsedPages):{}}createPage(e,n){Nd(`/admin/${e.node.locale}/pages.json`,{page:n}).then(r=>this.updateNode(e,r))}buildTree(e){let n=e.reduce((i,o)=>{let a=o.parent_page_id;return i[a]=[...i[a]||[],o],i},{});e.forEach(i=>i.children=n[i.id]||[]);let r=new Wo({name:"All Pages",locale:this.props.locale,permissions:this.props.permissions,root:!0,children:n[null]});return this.applyCollapsed(r),r.updateNodesPosition(),r}movePage(e,n,r){let i={parent_id:n.node.id,position:r},o=`/admin/${e.node.locale}/pages/${e.node.id}/move.json`;this.performUpdate(e,o,i)}performUpdate(e,n,r){Wn(n,r).then(i=>this.updateNode(e,i))}render(){return $s.default.createElement(ur,{tree:this.state.tree,addChild:this.addChild,movedPage:this.movedPage,toggleCollapsed:this.toggleCollapsed,updatePage:this.updatePage,updateTree:this.updateTree,locale:this.props.locale,dir:this.props.dir})}reorderChildren(e){let n=this.state.tree;var r=this.state.tree.getIndex(e),i=r.node;!i.news_page||(r.children=r.children.sort(function(o,a){var s=n.getIndex(o).node,l=n.getIndex(a).node;return s.pinned==l.pinned?new Date(l.published_at)-new Date(s.published_at):s.pinned?-1:1}),n.updateNodesPosition())}setCollapsed(e,n){var r=this.state.tree.getIndex(e).node;r.collapsed=n,this.storeCollapsed(e,r.collapsed),this.state.tree.updateNodesPosition()}storeCollapsed(e,n){let r=this.state.tree.getIndex(e).node;var i=this.collapsedState();i[r.id]=n,window.localStorage.collapsedPages=JSON.stringify(i)}updateNode(e,n){for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e.node[r]=n[r]);this.setState({tree:this.state.tree})}};li.propTypes={pages:si.default.array,locale:si.default.string,dir:si.default.string,permissions:si.default.array};var Sn=D(H()),Wt=D(J());var Ho=D(H()),Ko=D(J()),ui=class extends Ho.default.Component{render(){return Ho.default.createElement("a",{title:this.props.name,className:"button "+this.props.className,onClick:this.props.onClick},Ho.default.createElement("i",{className:"fa fa-"+this.props.className}))}};ui.propTypes={className:Ko.default.string,name:Ko.default.string,onClick:Ko.default.func};var Cn=class extends Sn.default.Component{constructor(e){super(e);this.state={value:e.value||"",rows:e.rows||5},this.inputRef=Sn.default.createRef(),this.handleChange=this.handleChange.bind(this),this.handleKeyPress=this.handleKeyPress.bind(this),this.getSelection=this.getSelection.bind(this),this.link=this.link.bind(this),this.replaceSelection=this.replaceSelection.bind(this)}actions(){let e=[{name:"bold",className:"bold",hotkey:"b",fn:r=>["<b>",r,"</b>"]},{name:"italic",className:"italic",hotkey:"i",fn:r=>["<i>",r,"</i>"]}],n=[{name:"Heading 2",className:"header h2",fn:r=>["h2. ",r,""]},{name:"Heading 3",className:"header h3",fn:r=>["h3. ",r,""]},{name:"Heading 4",className:"header h4",fn:r=>["h4. ",r,""]},{name:"Blockquote",className:"quote-left",fn:r=>["bq. ",r,""]},{name:"List",className:"list-ul",fn:r=>["",this.strToList(r,"*"),""]},{name:"Ordered list",className:"list-ol",fn:r=>["",this.strToList(r,"#"),""]},{name:"Link",className:"link",fn:this.link},{name:"Email link",className:"envelope",fn:this.emailLink}];return this.props.simple?e:[...e,...n]}applyAction(e){let[n,r,i]=e(this.getSelection());this.replaceSelection(n,r,i)}emailLink(e){var n=prompt("Enter email address","");let r=e.length>0?e:n;return['"',r,`":mailto:${n}`]}getSelection(){let{selectionStart:e,selectionEnd:n,value:r}=this.inputRef.current;return r.substr(e,n-e)}handleChange(e){this.setState({value:e.target.value})}handleKeyPress(e){let n;e.which>=65&&e.which<=90?n=String.fromCharCode(e.keyCode).toLowerCase():e.keyCode===13&&(n="enter");let r={};this.actions().forEach(i=>{i.hotkey&&(r[i.hotkey]=i.fn)}),(e.metaKey||e.ctrlKey)&&Object.prototype.hasOwnProperty.call(r,n)&&(e.preventDefault(),this.applyAction(r[n]))}link(e){let n=e.length>0?e:"Link text";var r=prompt("Enter link URL","");return r?['"',n,`":${this.relativeUrl(r)}`]:["",n,""]}localeOptions(){let e={};return this.props.lang&&(e.lang=this.props.lang),this.props.dir&&(e.dir=this.props.dir),e}relativeUrl(e){let n=null;if(!e.match(/^https:\/\//)||!document||!document.location)return e;try{n=new URL(e)}catch(r){console.log("Error parsing URL: ",r)}return n&&n.hostname==document.location.hostname&&(document.location.port||"80")==(n.port||"80")?n.pathname:e}render(){let{value:e,rows:n}=this.state,{id:r,name:i}=this.props,o=a=>s=>{s.preventDefault(),this.applyAction(a)};return Sn.default.createElement("div",{className:"rich-text-area"},Sn.default.createElement("div",{className:"rich-text toolbar"},this.actions().map(a=>Sn.default.createElement(ui,{key:a.name,name:a.name,className:a.className,onClick:o(a.fn)}))),Sn.default.createElement("textarea",j({className:"rich",ref:this.inputRef,id:r,name:i,value:e,rows:n,onChange:this.handleChange,onKeyDown:this.handleKeyPress},this.localeOptions())))}replaceSelection(e,n,r){let i=this.inputRef.current,{selectionStart:o,selectionEnd:a,value:s}=i;i.value=s.substr(0,o)+e+n+r+s.substr(a,s.length),i.focus({preventScroll:!0}),i.setSelectionRange(o+e.length,o+e.length+n.length),this.setState({value:i.value})}strToList(e,n){return e.split(`
17
17
  `).map(r=>n+" "+r).join(`
18
- `)}};Cn.propTypes={id:Wt.default.string,name:Wt.default.string,value:Wt.default.string,rows:Wt.default.number,simple:Wt.default.bool,lang:Wt.default.string,dir:Wt.default.string};var Ht=D(H()),Qo=D(J());var cr=D(H()),xf=D(J());function qo(t){let[e,n]=(0,cr.useState)(""),r=a=>{a.preventDefault(),t.addTag(e),n("")};return cr.default.createElement("div",{className:"add-tag-form"},cr.default.createElement("input",{name:"add-tag",type:"text",className:"add-tag",value:e,onKeyDown:a=>{a.which===13&&r(a)},onChange:a=>{n(a.target.value)},placeholder:"Add tag..."}),cr.default.createElement("button",{onClick:r,disabled:!e},"Add"))}qo.propTypes={addTag:xf.default.func};var ci=D(H()),Yo=D(J());function Xo(t){let e=()=>{t.toggleEnabled(t.tag)},n=["tag"];return t.enabled&&n.push("enabled"),ci.default.createElement("span",{className:n.join(" ")},ci.default.createElement("label",{className:"check-box"},ci.default.createElement("input",{type:"checkbox",name:"tag-"+t.tag,value:"1",checked:t.enabled,onChange:e}),ci.default.createElement("span",{className:"name"},t.tag)))}Xo.propTypes={enabled:Yo.default.bool,tag:Yo.default.string,toggleEnabled:Yo.default.func};function Vs(t,e,n){return n.indexOf(t)===e}function Go(t){let[e,n]=(0,Ht.useState)(t.tags),[r,i]=(0,Ht.useState)(t.enabled),o=[...e,...r].filter(Vs),a=p=>o.filter(m=>m.toLowerCase()==p.toLowerCase())[0]||p,s=p=>r.map(m=>m.toLowerCase()).indexOf(p.toLowerCase())!==-1,l=p=>{let m=a(p);s(m)?i(r.filter(h=>h!==m)):i([...r,m])},u=p=>{let m=a(p);n([...e,m].filter(Vs)),i([...r,m].filter(Vs))};return Ht.default.createElement("div",{className:"tag-editor clearfix"},Ht.default.createElement("input",{type:"hidden",name:t.name,value:JSON.stringify(r)}),o.map(p=>Ht.default.createElement(Xo,{key:p,tag:p,enabled:s(p),toggleEnabled:l})),Ht.default.createElement(qo,{addTag:u}))}Go.propTypes={name:Qo.default.string,enabled:Qo.default.array,tags:Qo.default.array};var Zo=D(H()),Ws=D(J());var di=class extends Zo.default.Component{constructor(e){super(e);this.state={toast:void 0,fadeout:!1},this.store=Fe,this.timer=void 0,this.handleChange=this.handleChange.bind(this)}componentDidMount(){this.unsubscribe=this.store.subscribe(this.handleChange),this.props.error&&this.store.dispatch({type:"ERROR",message:this.props.error}),this.props.notice&&this.store.dispatch({type:"NOTICE",message:this.props.notice})}componentWillUnmount(){this.unsubscribe(),this.timer&&clearTimeout(this.timer)}handleChange(){this.setState({toast:this.store.getState()[0],fadeout:!1}),this.timer||(this.timer=setTimeout(()=>{this.setState({fadeout:!0}),this.timer=setTimeout(()=>{this.timer=void 0,this.setState({fadeout:!1}),this.store.dispatch({type:"NEXT"})},500)},4e3))}render(){let e=this.state.toast,n=["toast"];return e&&(n.push(e.type),this.state.fadeout&&n.push("fadeout")),Zo.default.createElement("div",{className:"toast-wrapper"},e&&Zo.default.createElement("div",{className:n.join(" ")},e.message))}};di.propTypes={notice:Ws.default.string,error:Ws.default.string};var ea=class extends Ze{static get targets(){return["form"]}preview(){let e=this.formTarget,n=e.action,r=e.target;e.target="_blank",e.action=e.dataset.previewUrl,e.submit(),e.action=n,e.target=r}};var ta=class extends Ze{static get targets(){return["tab","link"]}connect(){let e=this.tabNames();if(e.length>0){let n=null,r=/#(.*)$/;if(document.location.toString().match(r)){let i=document.location.toString().match(r)[1];e.indexOf(i)!==-1&&(n=i)}this.showTab(n||e[0])}window.addEventListener("popstate",this.stateHandler.bind(this))}disconnect(){window.removeEventListener("popstate",this.stateHandler.bind(this))}stateHandler(e){e.state&&e.state.tabId&&this.showTab(e.state.tabId)}changeTab(e){e.preventDefault();let n=e.target.dataset.tab;this.showTab(n),history.pushState({tabId:n},"",`${window.location.pathname}#${n}`)}showTab(e){this.linkTargets.forEach(n=>{n.dataset.tab==e?n.classList.add("current"):n.classList.remove("current")}),this.tabTargets.forEach(n=>{n.dataset.tab==e?n.classList.remove("hidden"):n.classList.add("hidden")})}tabNames(){return this.linkTargets.map(e=>e.dataset.tab)}};var na=class extends Ze{static get targets(){return["tab"]}connect(){this.tabTargets.length>0&&this.showTab(this.tabTargets[0].dataset.tab)}changeTab(e){e.preventDefault(),this.showTab(e.target.dataset.tab)}showTab(e){this.tabTargets.forEach(n=>{n.dataset.tab==e?n.classList.remove("hidden"):n.classList.add("hidden")})}};var ra=class extends Ze{static get targets(){return["advancedOptions","autoPublishNotice","published","publishedDate"]}connect(){this.checkAutoPublish(),this.checkPublishedDate()}checkAutoPublish(){this.publishedDate()>new Date?this.show(this.autoPublishNoticeTarget):this.hide(this.autoPublishNoticeTarget)}checkPublishedDate(){this.publishedTarget.value==2?this.show(this.publishedDateTarget):this.hide(this.publishedDateTarget)}publishedDate(){let e=n=>this.publishedDateTarget.getElementsByClassName(n)[0].value;return new Date(e("year"),e("month")-1,e("day"),e("hour"),e("minute"))}show(e){e.classList.add("show")}hide(e){e.classList.remove("show")}toggle(e){e.classList.contains("show")?this.hide(e):this.show(e)}toggleAdvancedOptions(e){e.preventDefault(),this.toggle(this.advancedOptionsTarget)}};var xm=D(H()),Sm=D(tc());var nc=[],ym=()=>{if(["interactive","complete"].indexOf(document.readyState)>-1)for(;nc.length>0;)nc.shift()()},wm=class{constructor(){document.onreadystatechange=ym}ready(e){nc.push(e),ym()}},Em=new wm;var Cm=class{apply(){document.querySelectorAll("textarea.rich").forEach(n=>{this.enhance(n)})}enhance(e){let n=document.createElement("div");e.parentNode.appendChild(n),Sm.default.render(xm.default.createElement(Cn,{value:e.value,name:e.name,rows:e.rows,id:e.id}),n),e.parentNode.removeChild(e)}start(){Em.ready(()=>{this.apply()})}},bm=new Cm;wg();function Ww(t,e){window[t]=e}function yc(){Eg.default.start();for(var t in Jo)Ww(t,Jo[t]);bm.start();let e=Kr.start();e.register("edit-page",ea),e.register("main",ta),e.register("login",na),e.register("page-options",ra)}yc();})();
18
+ `)}};Cn.propTypes={id:Wt.default.string,name:Wt.default.string,value:Wt.default.string,rows:Wt.default.number,simple:Wt.default.bool,lang:Wt.default.string,dir:Wt.default.string};var Ht=D(H()),Qo=D(J());var cr=D(H()),xf=D(J());function qo(t){let[e,n]=(0,cr.useState)(""),r=a=>{a.preventDefault(),t.addTag(e),n("")};return cr.default.createElement("div",{className:"add-tag-form"},cr.default.createElement("input",{name:"add-tag",type:"text",className:"add-tag",value:e,onKeyDown:a=>{a.which===13&&r(a)},onChange:a=>{n(a.target.value)},placeholder:"Add tag..."}),cr.default.createElement("button",{onClick:r,disabled:!e},"Add"))}qo.propTypes={addTag:xf.default.func};var ci=D(H()),Yo=D(J());function Xo(t){let e=()=>{t.toggleEnabled(t.tag)},n=["tag"];return t.enabled&&n.push("enabled"),ci.default.createElement("span",{className:n.join(" ")},ci.default.createElement("label",{className:"check-box"},ci.default.createElement("input",{type:"checkbox",name:"tag-"+t.tag,value:"1",checked:t.enabled,onChange:e}),ci.default.createElement("span",{className:"name"},t.tag)))}Xo.propTypes={enabled:Yo.default.bool,tag:Yo.default.string,toggleEnabled:Yo.default.func};function Vs(t,e,n){return n.indexOf(t)===e}function Go(t){let[e,n]=(0,Ht.useState)(t.tags),[r,i]=(0,Ht.useState)(t.enabled),o=[...e,...r].filter(Vs),a=p=>o.filter(m=>m.toLowerCase()==p.toLowerCase())[0]||p,s=p=>r.map(m=>m.toLowerCase()).indexOf(p.toLowerCase())!==-1,l=p=>{let m=a(p);s(m)?i(r.filter(h=>h!==m)):i([...r,m])},u=p=>{let m=a(p);n([...e,m].filter(Vs)),i([...r,m].filter(Vs))};return Ht.default.createElement("div",{className:"tag-editor clearfix"},Ht.default.createElement("input",{type:"hidden",name:t.name,value:JSON.stringify(r)}),o.map(p=>Ht.default.createElement(Xo,{key:p,tag:p,enabled:s(p),toggleEnabled:l})),Ht.default.createElement(qo,{addTag:u}))}Go.propTypes={name:Qo.default.string,enabled:Qo.default.array,tags:Qo.default.array};var Zo=D(H()),Ws=D(J());var di=class extends Zo.default.Component{constructor(e){super(e);this.state={toast:void 0,fadeout:!1},this.store=Fe,this.timer=void 0,this.handleChange=this.handleChange.bind(this)}componentDidMount(){this.unsubscribe=this.store.subscribe(this.handleChange),this.props.error&&this.store.dispatch({type:"ERROR",message:this.props.error}),this.props.notice&&this.store.dispatch({type:"NOTICE",message:this.props.notice})}componentWillUnmount(){this.unsubscribe(),this.timer&&clearTimeout(this.timer)}handleChange(){this.setState({toast:this.store.getState()[0],fadeout:!1}),this.timer||(this.timer=setTimeout(()=>{this.setState({fadeout:!0}),this.timer=setTimeout(()=>{this.timer=void 0,this.setState({fadeout:!1}),this.store.dispatch({type:"NEXT"})},500)},4e3))}render(){let e=this.state.toast,n=["toast"];return e&&(n.push(e.type),this.state.fadeout&&n.push("fadeout")),Zo.default.createElement("div",{className:"toast-wrapper","aria-live":"polite"},e&&Zo.default.createElement("div",{className:n.join(" ")},e.message))}};di.propTypes={notice:Ws.default.string,error:Ws.default.string};var ea=class extends Ze{static get targets(){return["form"]}preview(){let e=this.formTarget,n=e.action,r=e.target;e.target="_blank",e.action=e.dataset.previewUrl,e.submit(),e.action=n,e.target=r}};var ta=class extends Ze{static get targets(){return["tab","link"]}connect(){let e=this.tabNames();if(e.length>0){let n=null,r=/#(.*)$/;if(document.location.toString().match(r)){let i=document.location.toString().match(r)[1];e.indexOf(i)!==-1&&(n=i)}this.showTab(n||e[0])}window.addEventListener("popstate",this.stateHandler.bind(this))}disconnect(){window.removeEventListener("popstate",this.stateHandler.bind(this))}stateHandler(e){e.state&&e.state.tabId&&this.showTab(e.state.tabId)}changeTab(e){e.preventDefault();let n=e.target.dataset.tab;this.showTab(n),history.pushState({tabId:n},"",`${window.location.pathname}#${n}`)}showTab(e){this.linkTargets.forEach(n=>{n.dataset.tab==e?n.classList.add("current"):n.classList.remove("current")}),this.tabTargets.forEach(n=>{n.dataset.tab==e?n.classList.remove("hidden"):n.classList.add("hidden")})}tabNames(){return this.linkTargets.map(e=>e.dataset.tab)}};var na=class extends Ze{static get targets(){return["tab"]}connect(){this.tabTargets.length>0&&this.showTab(this.tabTargets[0].dataset.tab)}changeTab(e){e.preventDefault(),this.showTab(e.target.dataset.tab)}showTab(e){this.tabTargets.forEach(n=>{n.dataset.tab==e?n.classList.remove("hidden"):n.classList.add("hidden")})}};var ra=class extends Ze{static get targets(){return["advancedOptions","autoPublishNotice","published","publishedDate"]}connect(){this.checkAutoPublish(),this.checkPublishedDate()}checkAutoPublish(){this.publishedDate()>new Date?this.show(this.autoPublishNoticeTarget):this.hide(this.autoPublishNoticeTarget)}checkPublishedDate(){this.publishedTarget.value==2?this.show(this.publishedDateTarget):this.hide(this.publishedDateTarget)}publishedDate(){let e=n=>this.publishedDateTarget.getElementsByClassName(n)[0].value;return new Date(e("year"),e("month")-1,e("day"),e("hour"),e("minute"))}show(e){e.classList.add("show")}hide(e){e.classList.remove("show")}toggle(e){e.classList.contains("show")?this.hide(e):this.show(e)}toggleAdvancedOptions(e){e.preventDefault(),this.toggle(this.advancedOptionsTarget)}};var xm=D(H()),Sm=D(tc());var nc=[],ym=()=>{if(["interactive","complete"].indexOf(document.readyState)>-1)for(;nc.length>0;)nc.shift()()},wm=class{constructor(){document.onreadystatechange=ym}ready(e){nc.push(e),ym()}},Em=new wm;var Cm=class{apply(){document.querySelectorAll("textarea.rich").forEach(n=>{this.enhance(n)})}enhance(e){let n=document.createElement("div");e.parentNode.appendChild(n),Sm.default.render(xm.default.createElement(Cn,{value:e.value,name:e.name,rows:e.rows,id:e.id}),n),e.parentNode.removeChild(e)}start(){Em.ready(()=>{this.apply()})}},bm=new Cm;wg();function Ww(t,e){window[t]=e}function yc(){Eg.default.start();for(var t in Jo)Ww(t,Jo[t]);bm.start();let e=Kr.start();e.register("edit-page",ea),e.register("main",ta),e.register("login",na),e.register("page-options",ra)}yc();})();
19
19
  /*
20
20
  object-assign
21
21
  (c) Sindre Sorhus