@talend/react-cmf
Version:
A framework built on top of best react libraries
2 lines • 64.6 kB
JavaScript
/*! For license information please see TalendReactCmf.min.js.LICENSE.txt */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.TalendReactCmf=t():e.TalendReactCmf=t()}(this,(()=>(()=>{"use strict";var e={958:e=>{e.exports=function(e,t,n,r,o,i,a,s){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,o,i,a,s],p=0;(c=new Error(t.replace(/%s/g,(function(){return u[p++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}},902:(e,t)=>{t.Ym=function e(t,n){if(!n)throw new Error("You must specify a combineReducers function.");if(!t)throw new Error("You must specify a reducers map.");let r={};const o=Object.keys(t);for(const i of o){const o=t[i];null!=o&&("function"==typeof o&&(r[i]=o),"object"==typeof o&&(r[i]=e(o,n)))}return n(r)}},873:(e,t,n)=>{var r=n(206);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},44:(e,t,n)=>{var r,o=n(929),i=function(){invariant(!1,"ImmutablePropTypes type checking code is stripped in production.")};i.isRequired=i;var a=function(){return i};function s(e,t){return n="Iterable."+e,r=function(e){return o.Iterable.isIterable(e)&&t(e)},function(e){function t(t,n,r,o,i,a){for(var s=arguments.length,c=Array(s>6?s-6:0),u=6;u<s;u++)c[u-6]=arguments[u];return a=a||r,o=o||"<<anonymous>>",null!=n[r]?e.apply(void 0,[n,r,o,i,a].concat(c)):t?new Error("Required "+i+" `"+a+"` was not specified in `"+o+"`."):void 0}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}((function(e,t,i,a,s){var c=e[t];if(!r(c)){var u=function(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":e instanceof o.Iterable?"Immutable."+e.toSource().split(" ")[0]:t}(c);return new Error("Invalid "+a+" `"+s+"` of type `"+u+"` supplied to `"+i+"`, expected `"+n+"`.")}return null}));var n,r}(r={listOf:a,mapOf:a,orderedMapOf:a,setOf:a,orderedSetOf:a,stackOf:a,iterableOf:a,recordOf:a,shape:a,contains:a,mapContains:a,orderedMapContains:a,list:i,map:i,orderedMap:i,set:i,orderedSet:i,stack:i,seq:i,record:i,iterable:i}).iterable.indexed=s("Indexed",o.Iterable.isIndexed),r.iterable.keyed=s("Keyed",o.Iterable.isKeyed),e.exports=r},335:(e,t,n)=>{var r=n(594),o=Symbol.for("react.element"),i=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),a=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,c={},u=null,p=null;for(r in void 0!==n&&(u=""+n),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(p=t.ref),t)i.call(t,r)&&!s.hasOwnProperty(r)&&(c[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===c[r]&&(c[r]=t[r]);return{$$typeof:o,type:e,key:u,ref:p,props:c,_owner:a.current}}t.jsx=c,t.jsxs=c},85:(e,t,n)=>{e.exports=n(335)},433:(e,t)=>{var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.a=function(e){if("function"!=typeof e)throw new Error("Expected batch to be a function.");var t=[],r=t;function o(){r===t&&(r=t.slice())}function i(e){if("function"!=typeof e)throw new Error("Expected listener to be a function.");var t=!0;return o(),r.push(e),function(){if(t){t=!1,o();var n=r.indexOf(e);r.splice(n,1)}}}function a(){for(var e=t=r,n=0;n<e.length;n++)e[n]()}return function(t){return function(){var r=t.apply(void 0,arguments),o=r.subscribe;return n({},r,{dispatch:function(){var t=r.dispatch.apply(r,arguments);return e(a),t},subscribe:i,subscribeImmediate:o})}}}},67:(e,t)=>{t.MM=function(e,t={}){const{delimiter:f=n,end:m=!0,sensitive:E=!1,trailing:g=!0}=t,y=[],h=[],T=E?"":"i",S=(Array.isArray(e)?e:[e]).map((e=>e instanceof p?e:function(e,t={}){const{encodePath:n=r}=t,c=new u(function*(e){const t=[...e];let n=0;function r(){let e="";if(o.test(t[++n]))for(e+=t[n];i.test(t[++n]);)e+=t[n];else if('"'===t[n]){let r=n;for(;n<t.length;){if('"'===t[++n]){n++,r=0;break}e+="\\"===t[n]?t[++n]:t[n]}if(r)throw new TypeError(`Unterminated quote at ${r}: ${a}`)}if(!e)throw new TypeError(`Missing parameter name at ${n}: ${a}`);return e}for(;n<t.length;){const e=t[n],o=s[e];if(o)yield{type:o,index:n++,value:e};else if("\\"===e)yield{type:"ESCAPED",index:n++,value:t[n++]};else if(":"===e){const e=r();yield{type:"PARAM",index:n,value:e}}else if("*"===e){const e=r();yield{type:"WILDCARD",index:n,value:e}}else yield{type:"CHAR",index:n,value:t[n++]}}return{type:"END",index:n,value:""}}(e)),d=function e(t){const r=[];for(;;){const o=c.text();o&&r.push({type:"text",value:n(o)});const i=c.tryConsume("PARAM");if(i){r.push({type:"param",name:i});continue}const a=c.tryConsume("WILDCARD");if(a)r.push({type:"wildcard",name:a});else{if(!c.tryConsume("{"))return c.consume(t),r;r.push({type:"group",tokens:e("}")})}}}("END");return new p(d)}(e,t)));for(const{tokens:e}of S)for(const t of d(e,0,[])){const e=l(t,f,y);h.push(e)}let R=`^(?:${h.join("|")})`;return g&&(R+=`(?:${c(f)}$)?`),R+=m?"$":`(?=${c(f)}|$)`,{regexp:new RegExp(R,T),keys:y}};const n="/",r=e=>e,o=/^[$_\p{ID_Start}]$/u,i=/^[$\u200c\u200d\p{ID_Continue}]$/u,a="https://git.new/pathToRegexpError",s={"{":"{","}":"}","(":"(",")":")","[":"[","]":"]","+":"+","?":"?","!":"!"};function c(e){return e.replace(/[.+*?^${}()[\]|/\\]/g,"\\$&")}class u{constructor(e){this.tokens=e}peek(){if(!this._peek){const e=this.tokens.next();this._peek=e.value}return this._peek}tryConsume(e){const t=this.peek();if(t.type===e)return this._peek=void 0,t.value}consume(e){const t=this.tryConsume(e);if(void 0!==t)return t;const{type:n,index:r}=this.peek();throw new TypeError(`Unexpected ${n} at ${r}, expected ${e}: ${a}`)}text(){let e,t="";for(;e=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)t+=e;return t}}class p{constructor(e){this.tokens=e}}function*d(e,t,n){if(t===e.length)return yield n;const r=e[t];if("group"===r.type){const o=n.slice();for(const n of d(r.tokens,0,o))yield*d(e,t+1,n)}else n.push(r);yield*d(e,t+1,n)}function l(e,t,n){let r="",o="",i=!0;for(let s=0;s<e.length;s++){const u=e[s];if("text"!==u.type)if("param"!==u.type&&"wildcard"!==u.type);else{if(!i&&!o)throw new TypeError(`Missing text after "${u.name}": ${a}`);"param"===u.type?r+=`(${f(t,i?"":o)}+)`:r+="([\\s\\S]+)",n.push(u),o="",i=!1}else r+=c(u.value),o+=u.value,i||(i=u.value.includes(t))}return r}function f(e,t){return t.length<2?e.length<2?`[^${c(e+t)}]`:`(?:(?!${c(e)})[^${c(t)}])`:e.length<2?`(?:(?!${c(t)})[^${c(e)}])`:`(?:(?!${c(t)}|${c(e)})[\\s\\S])`}},929:e=>{e.exports=Immutable},594:e=>{e.exports=React},206:e=>{e.exports=ReactDOM}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};n.r(r),n.d(r,{App:()=>Rt,CmfRegisteredSaga:()=>Kn,Dispatcher:()=>Ro,ErrorBoundary:()=>St,Inject:()=>fo,RegistryProvider:()=>J,Saga:()=>or,actions:()=>tt,cmfConnect:()=>so,componentState:()=>no,default:()=>_o,getErrorMiddleware:()=>Oo,httpMiddleware:()=>Co,mock:()=>o,reducers:()=>Sr,registry:()=>H,sagas:()=>xn,selectors:()=>Nn,store:()=>kr,useCMFContext:()=>Ht});var o={};n.r(o),n.d(o,{Provider:()=>K,store:()=>M});var i={};n.r(i),n.d(i,{COLLECTION_ADD_OR_REPLACE:()=>ue,COLLECTION_MUTATE:()=>de,COLLECTION_REMOVE:()=>pe,addOrReplace:()=>le,addOrReplaceCollection:()=>Ee,mutate:()=>me,mutateCollection:()=>ge,remove:()=>fe,removeCollection:()=>ye});var a={};n.r(a),n.d(a,{COMPONENT_ADD_STATE:()=>he,COMPONENT_MERGE_STATE:()=>Te,COMPONENT_REMOVE_STATE:()=>Se,addComponentState:()=>_e,addState:()=>Re,mergeComponentState:()=>Ie,mergeState:()=>Oe,removeComponentState:()=>Ae,removeState:()=>Ce});var s={};n.r(s),n.d(s,{ACTION_TYPE_HTTP_ERRORS:()=>Pe,ACTION_TYPE_HTTP_REDUCER_ERROR:()=>ve,ACTION_TYPE_HTTP_REQUEST:()=>Ne,ACTION_TYPE_HTTP_RESPONSE:()=>we,CONNECT:()=>$e,DELETE:()=>Ue,GET:()=>be,HEAD:()=>De,HTTP_METHODS:()=>Fe,HTTP_STATUS:()=>He,OPTIONS:()=>Me,PATCH:()=>Le,POST:()=>xe,PUT:()=>je,TRACE:()=>ke,isHTTPStatus:()=>Ge,testHTTPCode:()=>We});var c={};n.r(c),n.d(c,{REQUEST_KO:()=>qe,REQUEST_OK:()=>Ye,REQUEST_SETTINGS:()=>Qe,errorWithSettings:()=>Xe,fetchSettings:()=>Ke,receiveSettings:()=>Ve,requestSettings:()=>ze});var u={};n.r(u),n.d(u,{start:()=>Ze,stop:()=>et});var p={};n.r(p),n.d(p,{getCookie:()=>en,mergeCSRFToken:()=>on});var d={};n.r(d),n.d(d,{findListItem:()=>_n,get:()=>Cn,getAll:()=>On,toJS:()=>In});var l={};n.r(l),n.d(l,{waitFor:()=>wn});var f={};n.r(f),n.d(f,{get:()=>vn,handle:()=>Ln,isActionCancelable:()=>bn,onSagaStart:()=>Dn,register:()=>Pn,registerMany:()=>Mn});var m={};n.r(m),n.d(m,{DOMAIN:()=>Jn,EMAIL:()=>Gn,NAME:()=>Wn});var E={};n.r(E),n.d(E,{validDomain:()=>Vn,validEmail:()=>zn,validFirstName:()=>qn,validLastName:()=>Qn});const g={contentTypes:{article:{id:"article",name:"Article",icon:"icon-document",actions:{list:[{id:"add",icon:"icon-add-botton-3",name:"Add article",type:"form/DISPLAY_FORM"}],primary:[{id:"edit",icon:"fa-pencil",name:"Edit article",type:"form/DISPLAY_FORM"},{id:"delete",icon:"fa-delete",name:"Delete article",type:"DELETE"}]}}},actions:{"menu:article":{id:"menu:article",name:"My article",icon:"icon-article",payload:{type:"@@router/CALL_HISTORY_METHOD",method:"push",args:["/myarticle"]}},"menu:article:items":{id:"menu:article:items",name:"My article",icon:"icon-article",payload:{type:"@@router/CALL_HISTORY_METHOD",method:"push",args:["/myarticle"]},displayMode:"splitDropdown",actionIds:["menu:demo","menu:actionCreator"]},"menu:items":{id:"menu:items",name:"my items",itemsExpression:"getItems"},"menu:demo":{id:"menu",name:"Menu",icon:"fa-bars",payload:{type:"TEST_MENU"}},"menu:actionCreator":{id:"menu:actionCreator",actionCreator:"action-creator",name:"Action creator",icon:"fa-bars",payload:{type:"TEST_ACTION_CREATOR"}},"menu:routerReplace":{id:"routerReplace",name:"Menu",icon:"fa-bars",payload:{type:"TEST_MENU",cmf:{routerReplace:"/test"}}},"menu:routerPush":{id:"routerPush",name:"Menu",icon:"fa-bars",payload:{type:"TEST_MENU",cmf:{routerReplace:"/push"}}},"menu:href":{id:"href",name:"Menu",icon:"fa-bars",actionCreator:"redirect:conditional",href:"/href"}},props:{simple:{name:"my app"},appmenu:{actions:["menu:tuto","menu:forum","menu:settings"],userMenuActions:["menu:preferences","menu:logout"],logo:{src:"images/logo.png",alt:"My blog"},app:"article"},homepage:{sidemenu:{actions:["menu:article","menu:about"]},listview:{collectionId:"article",contentType:"article",searchLabel:"find a article",columns:[{key:"name",label:"Name"},{key:"type",label:"Type"},{key:"creator",label:"Creator"},{key:"description",label:"Description"},{key:"write_date",label:"Last modification date",dateformat:"YYYY/MM/DD"}],sortOn:[]}}},routes:{path:"/",component:"App",indexRoute:{component:"SortableListWithSideMenu",view:"homepage"},childRoutes:[{path:"myarticle",component:"SortableListWithSideMenu",view:"homepage"}]}};var y=n(929),h=n.n(y);const T=new y.Map,S=(0,y.fromJS)({componentName:{componentKey:{id:"componentState",open:!0}}}),R=_;var O=n(85);const C={cmf:{settings:g,collections:T,components:S}},A={initialized:!1,cmf:{settings:{contentTypes:{},actions:{},views:{},props:{}}}},I={getState:()=>C,dispatch:()=>"dispatch",subscribe(){}},N={"_.route.component:component":()=>(0,O.jsx)("div",{children:"mock"}),"actionCreator:myactionCreator":()=>{}},w={store:I,registry:N},P={store:{getState:()=>A}};function v(e){return(0,R.cloneDeep)(e)}const M={context:(e,t)=>{const n=v(w);return e&&(n.store.getState=()=>e),t&&(n.registry=t),n},emptyContext:()=>v(P),notInitializedState:()=>v(A),registry:()=>v(N),state:()=>v(C),settings:()=>v(g),store:e=>{const t=v(I);return e&&(t.getState=()=>e),t}},b=PropTypes;var D=n.n(b),L=n(594);const x=ReactRedux,j={_registry:{},_isLocked:!1,getRegistry(){return this._registry},lock(){this._isLocked=!0},isLocked(){return this._isLocked}};function U(e){return e&&e.registry?e.registry:j.getRegistry()}function k(e,t,n){if(j.isLocked())throw new Error(`CMF: The registry is locked, you cannot therefore add '${e}' in it. Please check your CMF configuration, it should not move after the initial configuration before bootstrap.`);const r=U(n);if(r[e]&&console.warn(`CMF: The '${e}' object is registered, overriding an existing '${e}' object. Please check your CMF configuration, you might not want that.`),void 0===t)throw new Error(`CMF: you can't register undefined in '${e}'.\n\t\t\tYou may have an import error in your configuration`);r[e]=t}function $(e){return(t,n)=>{Object.keys(t).forEach((r=>{e(r,t[r],n)}))}}const F=$(k),H={Registry:j,addToRegistry:k,getRegistry:U,getFromRegistry:function(e,t){return U(t)[e]},getRegisterMany:$,lock:function(){j.lock()},registerMany:F},G=(0,L.createContext)(H.getRegistry()),W=G.Provider,J=G.Provider;class Y extends L.Component{componentDidCatch(e,t){this.props.onError&&this.props.onError(e,t),this.setState({hasError:!0})}render(){return this.state&&this.state.hasError?(0,O.jsx)("div",{className:"error",children:"Error"}):this.props.children}}var q,Q,z;q=Y,Q="propTypes",z={children:D().any,onError:D().func},(Q=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(Q))in q?Object.defineProperty(q,Q,{value:z,enumerable:!0,configurable:!0,writable:!0}):q[Q]=z;const V=M.store();function X(e){let t=e.store;t||(t=V),e.state&&(t.state=e.state,t.getState=()=>e.state);const n={store:t,registry:e.registry||{}};return(0,O.jsx)("div",{className:"mock-provider",children:(0,O.jsx)(x.Provider,{store:n.store,children:(0,O.jsx)(W,{value:n.registry,children:e.children})})})}X.propTypes={children:D().node.isRequired,store:D().object,state:D().object,registry:D().object},X.getEnzymeOption=e=>({wrappingComponent:X,wrappingComponentProps:e}),X.ErrorBoundary=Y;const K=X;function B(e,t,n){let r=!1;function o(){if(!r){r=!0;let e=t;"function"==typeof t&&(e=t(arguments)),e=`DEPRECATED: ${e}`,n?n(e):console&&(console.warn?console.warn(e):console.log&&console.log(e))}return e.apply(this,arguments)}return o.wrappedFunction=e,o}const Z={ERROR:"REACT_CMF.ERROR",ERROR_REPORTED:"REACT_CMF.ERROR_REPORTED",REGISTRY_EXPRESSION_PREFIX:"expression",REGISTRY_COMPONENT_PREFIX:"_.route.component",REGISTRY_ACTION_CREATOR_PREFIX:"actionCreator",SAGA_PREFIX:"saga",DID_MOUNT_SAGA_START:"DID_MOUNT_SAGA_START",WILL_UNMOUNT_SAGA_STOP:"WILL_UNMOUNT_SAGA_STOP",IS_HANDLER:"on",IS_HANDLER_DISPATCH:"Dispatch",IS_HANDLER_ACTION_CREATOR:"ActionCreator",IS_HANDLER_DISPATCH_REGEX:/^(on).*(Dispatch)$/,IS_HANDLER_ACTION_CREATOR_REGEX:/^(on).*(ActionCreator)$/,IS_HANDLER_SETSTATE:"SetState",IS_HANDLER_SETSTATE_REGEX:/^(on).*(SetState)$/,COLLECTION_ADD_OR_REPLACE:"REACT_CMF.COLLECTION_ADD_OR_REPLACE",COLLECTION_REMOVE:"REACT_CMF.COLLECTION_REMOVE",COLLECTION_MUTATE:"REACT_CMF.COLLECTION_MUTATE",COMPONENT_ADD_STATE:"REACT_CMF.COMPONENT_ADD_STATE",COMPONENT_MERGE_STATE:"REACT_CMF.COMPONENT_MERGE_STATE",COMPONENT_REMOVE_STATE:"REACT_CMF.COMPONENT_REMOVE_STATE",REQUEST_SETTINGS:"REACT_CMF.REQUEST_SETTINGS",REQUEST_KO:"REACT_CMF.REQUEST_SETTINGS_KO",REQUEST_OK:"REACT_CMF.REQUEST_SETTINGS_OK",CMF_PROPS:["didMountActionCreator","keepComponentState","view","saga","willUnMountActionCreator","initialState","renderIf"],INJECTED_STATE_PROPS:["setState","deleteState","updateState","state","initState"],INJECTED_ROUTER_PROPS:["location","params","route","routeParams","router","routes"],INJECTED_PROPS:["setState","deleteState","updateState","componentId","state","initState","dispatch","dispatchActionCreator"]};function ee(e,t,n){if(void 0===t)throw new Error(`CMF: you can't register an undefined value for the following action creator: '${e}'.\n\t\t\tYou may have an import error in your code. Check the stack trace and your bootstrap config imports.\n\t\t\thttps://github.com/Talend/ui/tree/master/packages/cmf/src/bootstrap.md`);H.addToRegistry(`${Z.REGISTRY_ACTION_CREATOR_PREFIX}:${e}`,t,n)}const te={get:function(e,t){const n=e.registry[`${Z.REGISTRY_ACTION_CREATOR_PREFIX}:${t}`];if(!n)throw new Error(`actionCreator not found in the registry: ${t}`);return n},register:ee,registerMany:H.getRegisterMany(ee)};function ne(e){const t=e.store.getState();return(0,R.get)(t,"cmf.settings.actions",{})}function re(e,t){const n=ne(e)[t];if(!n)throw new Error(`action not found id: ${t}`);return{...n}}function oe(e,t,n,r){let o;return o="string"==typeof t?re(e,t):t,o.actionCreator?te.get(e,o.actionCreator)(n,r,{store:e.store,getState:e.store.getState,registry:e.registry,actionInfo:o}):{...o.payload,event:n,data:r,context:e}}function ie(e){return Object.keys(e).filter((t=>({}.hasOwnProperty.call(e,t)&&/^on.+/.test(t))))}const ae=B(((e,t,n)=>te.register(e,t,n)),"stop use cmf.action.registerActionCreator. please use cmf.actionCreator.register"),se=B(((e,t)=>te.get(e,t)),"stop use cmf.action.getActionCreatorFunction. please use cmf.actionCreator.get"),ce={getActionsById:ne,getActionCreatorFunction:se,getActionInfo:re,getActionObject:oe,getContentTypeActions:function(e,t,n){const r=e.store.getState();return(0,R.get)(r,`cmf.settings.contentTypes[${t}.actions[${n}]`,[])},getOnProps:ie,mapDispatchToProps:function(e,t){const n={};return ie(t).forEach((r=>{n[r]=(n,o,i)=>{let a=t[r];"string"==typeof a&&(a=oe(i,a,n,o)),e(a)}})),{...t,...n}},registerActionCreator:ae},{COLLECTION_ADD_OR_REPLACE:ue,COLLECTION_REMOVE:pe,COLLECTION_MUTATE:de}=Z,le=(0,R.curry)(((e,t)=>({type:Z.COLLECTION_ADD_OR_REPLACE,collectionId:e,data:t})));function fe(e){return{type:Z.COLLECTION_REMOVE,collectionId:e}}const me=(0,R.curry)(((e,t)=>({type:Z.COLLECTION_MUTATE,id:e,operations:t}))),Ee=le,ge=me,ye=fe,{COMPONENT_ADD_STATE:he,COMPONENT_MERGE_STATE:Te,COMPONENT_REMOVE_STATE:Se}=Z;function Re(e,t,n){return{type:Z.COMPONENT_ADD_STATE,componentName:e,key:t,initialComponentState:n}}const Oe=(0,R.curry)(((e,t,n)=>({type:Z.COMPONENT_MERGE_STATE,componentName:e,key:t,componentState:n}))),Ce=(0,R.curry)(((e,t)=>({type:Z.COMPONENT_REMOVE_STATE,componentName:e,key:t}))),_e=Re,Ae=Ce,Ie=Oe,Ne="@@HTTP/REQUEST",we="@@HTTP/RESPONSE",Pe="@@HTTP/ERRORS",ve="HTTP_REDUCE_ERROR",Me="OPTIONS",be="GET",De="HEAD",Le="PATCH",xe="POST",je="PUT",Ue="DELETE",ke="TRACE",$e="CONNECT",Fe={OPTIONS:Me,GET:be,HEAD:De,PATCH:Le,POST:xe,PUT:je,DELETE:Ue,TRACE:ke,CONNECT:$e},He={ACCEPTED:202,BAD_GATEWAY:502,BAD_REQUEST:400,CONFLICT:409,CONTINUE:100,CREATED:201,EXPECTATION_FAILED:417,FAILED_DEPENDENCY:424,FORBIDDEN:403,GATEWAY_TIMEOUT:504,GONE:410,HTTP_VERSION_NOT_SUPPORTED:505,IM_A_TEAPOT:418,INSUFFICIENT_SPACE_ON_RESOURCE:419,INSUFFICIENT_STORAGE:507,INTERNAL_SERVER_ERROR:500,LENGTH_REQUIRED:411,LOCKED:423,METHOD_FAILURE:420,METHOD_NOT_ALLOWED:405,MOVED_PERMANENTLY:301,MOVED_TEMPORARILY:302,MULTI_STATUS:207,MULTIPLE_CHOICES:300,NETWORK_AUTHENTICATION_REQUIRED:511,NO_CONTENT:204,NON_AUTHORITATIVE_INFORMATION:203,NOT_ACCEPTABLE:406,NOT_FOUND:404,NOT_IMPLEMENTED:501,NOT_MODIFIED:304,OK:200,PARTIAL_CONTENT:206,PAYMENT_REQUIRED:402,PERMANENT_REDIRECT:308,PRECONDITION_FAILED:412,PRECONDITION_REQUIRED:428,PROCESSING:102,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_HEADER_FIELDS_TOO_LARGE:431,REQUEST_TIMEOUT:408,REQUEST_TOO_LONG:413,REQUEST_URI_TOO_LONG:414,REQUESTED_RANGE_NOT_SATISFIABLE:416,RESET_CONTENT:205,SEE_OTHER:303,SERVICE_UNAVAILABLE:503,SWITCHING_PROTOCOLS:101,TEMPORARY_REDIRECT:307,TOO_MANY_REQUESTS:429,UNAUTHORIZED:401,UNPROCESSABLE_ENTITY:422,UNSUPPORTED_MEDIA_TYPE:415,USE_PROXY:305,IM_USED:226,UNAVAILABLE_FOR_LEGAL_REASONS:451},Ge=e=>(0,R.find)(He,(t=>t===e)),We={isInformational:e=>!!(0,R.inRange)(Ge(e),99,200),isSuccess:e=>!!(0,R.inRange)(Ge(e),199,300),isRedirection:e=>!!(0,R.inRange)(Ge(e),299,400),isClientError:e=>!!(0,R.inRange)(Ge(e),399,500),isServerError:e=>!!(0,R.inRange)(Ge(e),499,600)};function Je(e){const{method:t,url:n,data:r,...o}=e;return{type:Fe[t],body:r,url:n,...o}}Je.get=function(e,t){return Je({method:Fe.GET,url:e,...t})},Je.post=function(e,t,n){return Je({method:Fe.POST,body:t,url:e,...n})},Je.delete=function(e,t){return Je({method:Fe.DELETE,url:e,...t})},Je.patch=function(e,t,n){return Je({method:Fe.PATCH,body:t,url:e,...n})},Je.put=function(e,t,n){return Je({method:Fe.PUT,url:e,body:t,...n})},Je.head=function(e,t){return Je({method:Fe.HEAD,url:e,...t})},Je.onError=function(e){return{type:Pe,error:e}},Je.onActionError=function(e,t){return"function"==typeof e.onError?e.onError(t):{type:e.onError,error:t}},Je.onJSError=function(e,t){return console.error(e),{type:ve,error:e,action:t}},Je.onRequest=function(e,t){return{type:Ne,url:e,config:t}},Je.onResponse=function(e){return{type:we,data:e}},Je.onActionResponse=function(e,t,n){return"function"==typeof e.onResponse?e.onResponse(t,n):{type:e.onResponse,response:t,headers:n}};const{REQUEST_OK:Ye,REQUEST_KO:qe,REQUEST_SETTINGS:Qe}=Z;function ze(){return{type:Z.REQUEST_SETTINGS}}function Ve(e){return{type:Z.REQUEST_OK,settings:e,receivedAt:Date.now()}}function Xe(e){return{type:Z.REQUEST_KO,error:{message:(0,R.get)(e,"message"),stack:(0,R.get)(e,"stack")}}}function Ke(e="settings.json"){return Je.get(e,{onResponse:e=>Ve(e),onError:e=>Xe(e)})}const Be=["children","getComponent"].concat(Z.INJECTED_PROPS,Z.CMF_PROPS);function Ze(e={},t){return{type:Z.DID_MOUNT_SAGA_START,saga:t.saga,componentId:t.componentId,props:(0,R.omit)(t,Be),event:e}}function et(e,t){return{type:`${Z.WILL_UNMOUNT_SAGA_STOP}_${t.saga}`,event:e}}const tt={collectionsActions:i,componentsActions:a,settingsActions:c,http:Je,collections:i,components:a,settings:c,saga:u};function nt(e,t,n){if(!e){if(t&&n)return`${t}#${n}`;if(t)return t}return e}const rt=(0,R.memoize)((function(e,t,n,r){let o,i=t.view;return i=nt(i,n,r),i&&e.cmf.settings.props[i]?o=e.cmf.settings.props[i]||{}:n&&n.includes("(")&&(i=nt(null,function(e){const t=e.split("(");return t[t.length-1].replaceAll(")","")}(n),r),i&&e.cmf.settings.props[i]&&(o=e.cmf.settings.props[i]||{})),o}),((e,t,n,r)=>`${t.view}-${n}-${r}-${e.cmf.settings.initialized}`));function ot({initialized:e,loading:t,children:n}){if(!e){const e=t;return(0,O.jsx)(e,{})}return n}ot.propTypes={initialized:D().bool,loading:D().any,children:D().node},ot.defaultProps={loading:()=>"loading"};const it=(0,x.connect)((e=>({initialized:e.cmf.settings.initialized})))(ot),at={mapStateToViewProps:rt};function st(e,t,n=!0){if(void 0===e)return!0;if("Array"===t&&Array.isArray(e))return!0;let r;if(r=Array.isArray(t)?t.some((t=>st(e,t,!1))):typeof e===t&&!Array.isArray(e),n&&!1===r)throw new Error(`${e} must be a ${t} but got ${typeof e}`);return r}function ct(e,t,n){const r=st(e[t],n,!1);if(!1===r)throw new Error(`${t} must be a ${n} but got ${typeof e[t]}`);return r}const ut={errors:[],actions:[],store:{getState:()=>({})}};function pt(e){const t={name:e.name,message:e.message,fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,stack:e.stack};return Object.keys(e).reduce(((t,n)=>(t[n]=e[n],t)),t),t}function dt(e){return{time:(new Date).toISOString(),browser:navigator.userAgent,location:location.href,error:pt(e),actions:ut.actions}}function lt(){return!!ut.serverURL}function ft(e,t={}){if(window.Sentry)t.tags?window.Sentry.withScope((n=>{t.tags.forEach((e=>n.setTag(e.key,e.value))),window.Sentry.captureException(e)})):window.Sentry.captureException(e);else{const t={error:pt(e),context:JSON.stringify(dt(e)),reported:!1,reason:"Draft"};ut.error=t,ut.errors.push(t),ut.serverURL?ut.store.dispatch(tt.http.post(ut.serverURL,t.context,{onError:e=>(t.reported=!1,t.reason=pt(e),{type:Z.ERROR,...t}),onResponse:e=>(t.reported=!0,t.response=e,{type:Z.ERROR_REPORTED,...t})})):ut.store.dispatch({type:Z.ERROR,...t})}}const mt={bootstrap:function(e,t){ct(e,"onError","object"),ut.SENTRY_DSN=void 0,ut.actions=[],ut.errors=[],ut.store=t;const n=e.onError||{};ut.serverURL=n.reportURL},hasReportURL:lt,hasReportFeature:function(){return window.Sentry||lt()},getReportInfo:dt,report:ft,getErrors:function(){return ut.errors},middleware:function(){return e=>t=>{ut.SENTRY_DSN||(ut.actions.length>=20&&ut.actions.shift(),ut.actions.push((0,R.get)(t,"type","UNKNOWN"))),t.type===Z.REQUEST_OK&&t.settings;try{return e(t)}catch(e){return ft(e,{tags:[{key:"redux-action-type",value:(0,R.get)(t,"type","UNKNOWN")}]}),void console.error(e)}}},createObjectURL:function(e){const t=dt(e),n=JSON.stringify(t),r=new Blob([n],{type:"application/json"});return r.name="report.json",window.URL.createObjectURL(r)},revokeObjectURL:function(e){window.URL.revokeObjectURL(e)}};function Et(){location.reload(!0)}function gt({error:e={}}){const[t,n]=(0,L.useState)();(0,L.useEffect)((()=>{const t=mt.createObjectURL(e);return n(t),()=>{mt.revokeObjectURL(t)}}),[e]);const r=mt.hasReportFeature();return(0,O.jsxs)("div",{children:[(0,O.jsxs)("p",{className:"error-title",children:[e.name,": ",e.message]}),r&&(0,O.jsx)("p",{children:"The error report has been sent."}),(0,O.jsx)("p",{children:"From here you can either refresh or contact the support."}),(0,O.jsx)("button",{className:"btn btn-danger btn-inverse",onClick:Et,"data-feature":"refresh-on-error",style:{margin:20},children:"Refresh"}),!r&&(0,O.jsx)("a",{className:"btn btn-primary btn-inverse",href:t,download:"report.json","data-feature":"download-on-error-details",children:"Download details"})]})}gt.displayName="ErrorPanel",gt.propTypes={error:D().shape({name:D().string,message:D().string,stack:D().string}).isRequired};const yt=gt;function ht(e){const t=e.errors.map((e=>(0,O.jsx)(yt,{error:e},e)));if(!e.fullPage)return(0,O.jsx)(L.Fragment,{children:t});const n={overflowY:"auto",height:"100vh"};return 1===e.errors.length&&(n.marginTop=200),(0,O.jsx)("div",{className:"container",children:(0,O.jsx)("div",{className:"row",children:(0,O.jsxs)("div",{className:"col-md-offset-3 col-md-6",style:n,children:[(0,O.jsx)("h1",{children:"An error occurred"}),t]})})})}ht.displayName="ErrorFeedBack",ht.propTypes={fullPage:D().bool,errors:D().array},ht.defaultProps={errors:[]};const Tt=ht;class St extends L.Component{constructor(e){super(e),this.state={errors:[]}}componentDidCatch(e,t){this.setState((t=>({errors:t.errors.concat(e)}))),window.Sentry&&window.Sentry.withScope((n=>{n.setExtras(t),window.Sentry.captureException(e)}))}render(){return this.state.errors.length>0?this.props.renderErrors({errors:this.state.errors,fullPage:this.props.fullPage}):this.props.children}}function Rt(e){let t=e.children;return e.withSettings&&(t=(0,O.jsx)(it,{loading:e.loading,children:t})),(0,O.jsx)(x.Provider,{store:e.store,children:(0,O.jsx)(J,{value:e.registry,children:(0,O.jsx)(St,{fullPage:!0,children:t})})})}St.propTypes={renderErrors:D().func,fullPage:D().bool,children:D().node},St.defaultProps={renderErrors:Tt},Rt.displayName="CMFApp",Rt.propTypes={store:D().object.isRequired,registry:D().object,children:D().node,withSettings:D().bool,loading:D().func},Rt.defaultProps={loading:()=>"loading"};var Ot=n(873);const Ct=Redux;var _t=n(433);const At=ReduxSaga;var It=n.n(At);const Nt=ReduxSagaEffects;function wt(e,t){return t?e?Object.keys(t).reduce(((n,r)=>{if(void 0===t[r])throw new TypeError(`${r} value is undefined. You may have a bad import here`);return void 0!==e[r]&&e[r]!==t[r]&&console.warn(`override detected ${r}`),{...n,[r]:t[r]}}),{...e}):t:e}function Pt(e,t){return t?e?function(...n){e(...n),t(...n)}:t:e}function vt(e,t,n){return function(e,t,n){if(e&&t)throw new Error(`Can't merge both config that both have ${n} attribute. Only one is accepted.`)}(e,t,n),e||t}function Mt(e,t){return e&&t?[].concat(e).concat(t):t||e}const bt={id:()=>{},modules:()=>{},init:()=>{},render:function(e,t){return!1!==e&&!1!==t},onError:vt,root:vt,appId:vt,RootComponent:function(e,t){if(!e)return t;const n=({children:n})=>(0,O.jsx)(e,{children:(0,O.jsx)(t,{children:n})});return n.displayName="CMFComposition",n},AppLoader:vt,saga:function(e,t){return st(e,"function"),st(t,"function"),e&&t?function*(){yield(0,Nt.spawn)(e),yield(0,Nt.spawn)(t)}:t||e},httpMiddleware:vt,preReducer:Mt,enhancer:Pt,middlewares:Mt,storeCallback:Pt,reducer:function(e,t){return t?e?(0,R.merge)(e,t):t:e},preloadedState:vt,settingsURL:vt,registry:wt,sagas:wt,components:wt,expressions:wt,actionCreators:wt,httpInterceptors:Mt};function Dt(e=bt){return function(t,n){return Object.keys(n).reduce(((r,o)=>{if(!e[o])throw new Error(`${o} is not supported`);return{...r,[o]:e[o](t[o],n[o],o)}}),t)}}function Lt(...e){return e.reduce(Dt(),{})}const xt=Lt;async function jt(e){const{init:t,...n}=e;if(t){const e=await t();return{...n,...e}}return n}async function Ut(e,t=[]){if(e.modules)for await(const n of e.modules){if(!n.id)throw new Error("a cmf.module must have an id");if(t.some((({id:e})=>n.id===e)))console.warn(`cmf.bootstrap: 2 modules have the same id ${n.id}. This duplicated module will be skipped.`);else{const e=await jt(n);t.push(e),await Ut(e,t)}}return t}async function kt(e){const t=await Ut(e);return xt(...t,e)}Lt.getReduceConfig=Dt,Lt.getUnique=vt,Lt.mergeObjects=wt,kt.merge=xt;var $t=n(958),Ft=n.n($t);function Ht(){return{store:(0,x.useStore)(),registry:(0,L.useContext)(G)}}const Gt=new RegExp("(.*)Expression");function Wt(e,t,n){H.addToRegistry(`${Z.REGISTRY_EXPRESSION_PREFIX}:${e}`,t,n)}function Jt(e,t){return H.getFromRegistry(`${Z.REGISTRY_EXPRESSION_PREFIX}:${e}`,t)}function Yt(e,t,n){let r,o;"object"==typeof e?(r=e.id,o=e.args):"string"==typeof e&&(r=e,o=[]),r||Ft()(!0,"you must provide an expression id");const i=Jt(r,t);return i||Ft()(!0,`you must register expression ${r} first`),i({context:t,payload:n},...o)}function qt(e,t,n,r={}){const o={...e,...r};return t.forEach((t=>{const r=e[t];"string"!=typeof r&&"object"!=typeof r||(console.warn(`beware this is present just for the sake of backward compatibility,\n\t\t\t\tyou should use properties ending with Expression to see them evaluated\n\t\t\t\texample: instead of using ${t}, ${t}Expression will be evaluated\n\t\t\t\tand result put in ${t}`),o[t]=Yt(r,n,o))})),(0,R.forIn)(e,((t,r)=>{const i=Gt.exec(r);i&&(o[i[1]]=Yt(e[i[0]],n,o),delete o[i[0]])})),o}const Qt={register:Wt,registerMany:H.getRegisterMany(Wt),get:Jt,call:Yt,getProps:qt,withExpression:function(e,t){function n(n){const r=Ht();return(0,O.jsx)(e,{...qt(n,t,r)})}return n.displayName=`WithExpression(${e.displayName||e.name})`,n},mapStateToProps:function(e,t,n={}){const r={},o={store:{getState:()=>e},registry:H.getRegistry(),...n};return(0,R.forIn)(t,((e,n)=>{const i=Gt.exec(n);i&&(r[i[1]]=Yt(t[i[0]],o,t))})),r},mergeProps:function(e){const t={...e};return(0,R.forIn)(t,((e,n)=>{const r=Gt.exec(n);r&&delete t[r[0]]})),t}},zt=[];function Vt(e,t){return e.reduce(((e,t)=>{let n=e;if(t.on)try{n=e.then((e=>t.on(e)))}catch(e){n=Promise.reject(e)}if(t.onError)try{n=n.catch((e=>t.onError(e)))}catch(e){n=Promise.reject(e)}return Promise.resolve(n)}),Promise.resolve(t))}const Xt=function(e){!function(e){return!(!e||"object"!=typeof e||!(e.request||e.response||e.requestError||e.responseError)||e.request&&"function"!=typeof e.request||e.response&&"function"!=typeof e.response||e.requestError&&"function"!=typeof e.requestError||e.responseError&&"function"!=typeof e.responseError)}(e)?console.error("CMF.interceptors.push not a valid interceptor",e):zt.push(e)},Kt=function(e){return Vt(zt.filter((e=>e.request||e.requestError)).map((e=>({on:e.request,onError:e.requestError}))),e)},Bt=function(e){return Vt(zt.filter((e=>e.response||e.responseError)).map((e=>({on:e.response,onError:e.responseError}))).reverse(),e)},Zt=new RegExp(/(.*)=(.*)/);function en(){return document.cookie?document.cookie:""}function tn(e){return e.split(";").reduce(((e,t)=>{const n=Zt.exec(t.trim());return n&&n[1]&&n[2]?e.set(n[1],n[2]):e}),new Map)}const nn=(0,R.curry)((({CSRFTokenCookieKey:e="csrfToken"},t)=>{if(t instanceof Map)return t.get(e)})),rn=(0,R.curry)((({CSRFTokenHeaderKey:e="X-CSRF-Token"},t,n)=>n?(0,R.merge)({},t,{headers:{[e]:n}}):t));function on({security:e={}}){return t=>(0,R.flow)([en,tn,nn(e),rn(e,t)])()}const an={defaultConfig:null};class sn extends Error{constructor({data:e,response:t}){super(t.statusText),this.name=`HTTP ${t.status}`,this.data=e,this.response=t}}function cn(e,{method:t}={}){if(e.status===He.NO_CONTENT||t===Fe.HEAD)return Promise.resolve({data:"",response:e});let n="text";const r=(0,R.get)(e,"headers",new Headers).get("Content-Type");return r&&r.includes("application/json")&&(n="json"),r&&r.includes("application/zip")&&(n="blob"),e[n]().then((t=>({data:t,response:e})))}function un(e,t){const n=e["Content-Type"];return t instanceof FormData||"string"==typeof t?t:n&&n.includes("json")?JSON.stringify(t):t}function pn(e,t,n,r){const o={Accept:"application/json","Content-Type":"application/json"};r instanceof FormData&&delete o["Content-Type"];const i=(0,R.merge)({credentials:"include",headers:o,method:n},{...an.defaultConfig,...t});return fetch(e,function(e){return on({security:e.security})(e)}({...i,body:un(i.headers,r)})).then((e=>function(e,t={}){return We.isSuccess(e.status)?cn(e,t):Promise.reject(e)}(e,i))).catch((e=>function(e,t={}){return e instanceof Error?new sn({response:e,data:e}):cn(e,t).then((e=>new sn(e)))}(e,i)))}function*dn(e,t,n=Fe.GET,r,o){const i=yield(0,Nt.call)(Kt,{url:e,method:n,payload:r,...t}),a=yield(0,Nt.call)(pn,i.url,i,i.method,i.payload);return yield(0,Nt.call)(Bt,a),!0!==(0,R.get)(o,"silent")&&a instanceof Error&&(yield(0,Nt.put)({error:{...(0,R.get)(a,"data",{}),message:(0,R.get)(a,"data.message"),stack:{status:(0,R.get)(a,"response.status")}},url:e,config:t,method:n,payload:r,options:o,type:Pe})),a}function*ln(e,t,n,r){return yield*dn(e,n,Fe.POST,t,r)}function*fn(e,t,n,r){return yield*dn(e,n,Fe.PATCH,t,r)}function*mn(e,t,n,r){return yield*dn(e,n,Fe.PUT,t,r)}function*En(e,t,n){return yield*dn(e,t,Fe.DELETE,void 0,n)}function*gn(e,t,n){return yield*dn(e,t,Fe.GET,void 0,n)}function*yn(e,t,n){return yield*dn(e,t,Fe.HEAD,void 0,n)}const hn=(0,R.curry)(((e,t)=>(0,R.merge)({},e,t))),Tn={delete:En,get:gn,head:yn,post:ln,put:mn,patch:fn,setDefaultConfig:function(e){if(an.defaultConfig)throw new Error("ERROR: setDefaultConfig should not be called twice, if you wish to change the language use setDefaultLanguage api.");an.defaultConfig=e},setDefaultLanguage:function(e){if(!(0,R.get)(an,"defaultConfig.headers"))throw new Error("ERROR: you should call setDefaultConfig.");an.defaultConfig.headers["Accept-Language"]=e},getDefaultConfig:function(){return an.defaultConfig},create(e={}){const t=hn(e);return{delete:function*(e,n={},r={}){return yield(0,Nt.call)(En,e,t(n),r)},get:function*(e,n={},r={}){return yield(0,Nt.call)(gn,e,t(n),r)},post:function*(e,n,r={},o={}){return yield(0,Nt.call)(ln,e,n,t(r),o)},put:function*(e,n,r={},o={}){return yield(0,Nt.call)(mn,e,n,t(r),o)},patch:function*(e,n,r={},o={}){return yield(0,Nt.call)(fn,e,n,t(r),o)},head:function*(e,n={},r={}){return yield(0,Nt.call)(yn,e,t(n),r)}}}};function Sn(e){if(e){if("function"==typeof e.toJS)return e.toJS();throw new Error("the selector return a data which is not an immutable")}}function Rn(e){if("function"!=typeof e)throw new Error("selector must be a function in cmf.selectors.toJS(selector)");const t={},n=(r=Sn,(...e)=>(t.key===e[0]||(t.key=e[0],t.value=r(...e)),t.value));var r;return t=>n(e(t))}function On(e){return e.cmf.collections}function Cn(e,t,n){let r;if("string"==typeof t?r=t.split("."):Array.isArray(t)&&(r=t),r)return e.cmf.collections.getIn(r,n);throw Error(`Type mismatch: collectionPath should be a string or an array of string\ngot ${t}`)}function _n(e,t,n){const r=Cn(e,t);if(y.List.isList(r))return r.find((e=>e&&e.get("id")===n));throw Error(`Type mismatch: ${t} does not resolve as an instance of Immutable.List,\ngot ${r}`)}const An={};function In(e,t){const n=Array.isArray(t)?t.join("."):t;return An[n]||(An[n]=Rn((e=>Cn(e,t)))),An[n](e)}const Nn={collections:d,toJS:Rn};function*wn(e,t=10){for(;void 0===(yield(0,Nt.select)(Nn.collections.get,e));)yield(0,Nt.delay)(t)}function Pn(e,t,n){H.addToRegistry(`SAGA:${e}`,t,n)}function vn(e,t){return H.getFromRegistry(`SAGA:${e}`,t)}const Mn=H.getRegisterMany(Pn),bn=e=>t=>t.type===`${Z.WILL_UNMOUNT_SAGA_STOP}_${e.saga}`&&e.event.componentId===t.event.componentId;function*Dn(e){const t="object"==typeof e.saga,n=t?e.saga.id:e.saga;if(!n)throw new Error(`no saga id found in action: ${JSON.stringify(e)}`);const r=t?e.saga.args:[],o=vn(n);if(!o)throw new Error(`saga not found: ${n}`);const i=yield(0,Nt.spawn)(o,{...e.props,componentId:e.componentId},...r);yield(0,Nt.take)(bn(e)),yield(0,Nt.cancel)(i)}function*Ln(){yield(0,Nt.takeEvery)(Z.DID_MOUNT_SAGA_START,Dn),yield(0,Nt.take)("DO_NOT_QUIT")}const xn={get:vn,register:Pn,registerMany:Mn,collection:l,component:f,http:Tn,putActionCreator:function*(e,t,n,r){const o=yield(0,Nt.select)(),i=r||{registry:H.getRegistry(),store:{getState:()=>o}},a=te.get(i,e);yield(0,Nt.put)(a(t,n,i))}};function jn(e,t,n){t?(H.addToRegistry(`${Z.REGISTRY_COMPONENT_PREFIX}:${e}`,t,n),t.actions&&te.registerMany(t.actions,n),t.expressions&&Qt.registerMany(t.expressions,n),t.sagas&&xn.registerMany(t.sagas,n)):Ft()(!0,'You cannot register undefined as a component for id "%s"',e)}const Un={get:function(e,t){const n=H.getFromRegistry(`${Z.REGISTRY_COMPONENT_PREFIX}:${e}`,t);if(!n)throw new Error(`component not found in the registry: ${e}`);return n},has:function(e,t){return void 0!==H.getFromRegistry(`${Z.REGISTRY_COMPONENT_PREFIX}:${e}`,t)},register:jn,registerMany:H.getRegisterMany(jn)};function kn(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}function $n(e){return(t,n)=>{let r;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,o=n?.width?String(n.width):t;r=e.formattingValues[o]||e.formattingValues[t]}else{const t=e.defaultWidth,o=n?.width?String(n.width):e.defaultWidth;r=e.values[o]||e.values[t]}return r[e.argumentCallback?e.argumentCallback(t):t]}}function Fn(e){return(t,n={})=>{const r=n.width,o=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],i=t.match(o);if(!i)return null;const a=i[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?function(e){for(let t=0;t<e.length;t++)if(e[t].test(a))return t}(s):function(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t].test(a))return t}(s);let u;return u=e.valueCallback?e.valueCallback(c):c,u=n.valueCallback?n.valueCallback(u):u,{value:u,rest:t.slice(a.length)}}}function Hn(){if(crypto&&crypto.randomUUID)return crypto.randomUUID();function e(e){return(0|e).toString(16)}function t(t){return e(Math.random()*(1<<(t<<2))^Date.now()).slice(-t)}return[t(4)+t(4),t(4),"4"+t(3),e(8|4*Math.random())+t(3),Date.now().toString(16).slice(-10)+t(2)].join("-")}kn({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),kn({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),kn({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"}),$n({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),$n({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),$n({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),$n({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),$n({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"}),Fn({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),Fn({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),Fn({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),Fn({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),Fn({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"}),Math.pow(10,8);const Gn=/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,Wn=/^[^\~!@#$%^&*()|+=?;:",<>\{\}\[\]\\\/¤€¨£°§]*$/i,Jn=/^[^\~!#$%^&*()|+=?;:",<>\{\}\[\]\\\/¤€¨£°§]*$/i;function Yn(e){return t=>e.test(t)}const qn=Yn(Wn),Qn=Yn(Wn),zn=Yn(Gn),Vn=Yn(Jn);function Xn({sagaId:e,startSaga:t,stopSaga:n,sagaAttributes:r,componentId:o="default",children:i=null}){const a=(0,L.useMemo)(Hn,[]);return(0,L.useEffect)((()=>(e&&t({type:"DID_MOUNT",componentId:a},{saga:e,componentId:o,...r}),()=>{e&&n({type:"WILL_UNMOUNT",componentId:a},{saga:e,componentId:o})})),[]),i}Xn.propTypes={sagaId:D().string.isRequired,startSaga:D().func.isRequired,stopSaga:D().func.isRequired,sagaAttributes:D().any,componentId:D().string,children:D().node},Xn.displayName="CmfRegisteredSagaComponent";const Kn=(0,x.connect)(null,(e=>({startSaga:(t,n)=>e(Ze(t,n)),stopSaga:(t,n)=>e(et(t,n))})))(Xn),Bn="SAGA_COMPONENT_START",Zn="SAGA_COMPONENT_STOP",er={};function*tr({sagaId:e,sagaProps:t={}}){const n=er[e];if(!n)throw new Error(`saga not found: ${e}`);const r=yield(0,Nt.spawn)(n,t);yield(0,Nt.take)(`${Zn}-${e}`),yield(0,Nt.cancel)(r)}function*nr(){yield(0,Nt.takeEvery)(Bn,tr)}function rr({startSaga:e,stopSaga:t,saga:n,sagaAttributes:r,children:o=null}){const i=(0,L.useMemo)(Hn,[]);return(0,L.useEffect)((()=>(e(i,n,r),()=>{t(i)})),[]),o}rr.propTypes={startSaga:D().func.isRequired,stopSaga:D().func.isRequired,saga:D().func.isRequired,sagaAttributes:D().any,children:D().node},rr.displayName="SagaComponent";const or=(0,x.connect)(null,(e=>({startSaga:(t,n,r)=>{return e((i=n,a=r,er[o=t]=i,{type:Bn,sagaId:o,sagaProps:a}));var o,i,a},stopSaga:t=>{return e((delete er[n=t],{type:`${Zn}-${n}`}));var n}})))(rr),ir=(0,R.curry)((function(e,{context:t},n,r){return(0,R.get)(t.store.getState(),e,new(h().Map)).getIn(n.split("."),r)}));function ar(e){return function({context:t},n,r){return(0,R.get)(t.store.getState(),e,new(h().Map)).getIn(n.split("."),new(h().List)).includes(r)}}const sr={"cmf.collections.get":ir("cmf.collections"),"cmf.components.get":ir("cmf.components"),"cmf.collections.includes":ar("cmf.collections"),"cmf.components.includes":ar("cmf.components"),"cmf.collections.oneOf":function({context:e},t,n){if(!Array.isArray(n))throw new Error("You should pass an array of values to check if one of them is present");const r=(0,R.get)(e.store.getState(),"cmf.collections",new(h().Map)).getIn(t.split("."),new(h().List));return n.some((e=>r.includes(e)))},"cmf.collections.allOf":function({context:e},t,n){if(!Array.isArray(n))throw new Error("You should pass an array of values to check if all of them are present");const r=(0,R.get)(e.store.getState(),"cmf.collections",new(h().Map)).getIn(t.split("."),new(h().List));return r.size>0&&r.every((e=>n.includes(e)))}};var cr=n(902);const ur=ReduxThunk;var pr=n.n(ur);const dr=new y.Map;function lr(e){const t=e.id;return void 0===t?e.get("id"):t}function fr(e,t){if(!t.operations||!e.hasIn(t.collectionId)||e.isEmpty())return e;let n=function(e,t){return t.operations.add?t.operations.add.reduce(((n,r)=>{const o=n.getIn(t.collectionId);return y.List.isList(o)?n.setIn(t.collectionId,o.push(r)):y.Map.isMap(o)?n.setIn(t.collectionId,o.merge(r)):e}),e):e}(e,t);return n=function(e,t){if(t.operations.delete){const n=e.getIn(t.collectionId);if(y.Map.isMap(n))return function(e,t){const n=e.getIn(t.collectionId);if(t.operations.delete.some((e=>n.has(e)))){const r=t.operations.delete.reduce(((e,t)=>e.delete(t)),n);return e.setIn(t.collectionId,r)}return e}(e,t);if(y.List.isList(n))return function(e,t){function n(e){return t.operations.delete.indexOf(lr(e))>=0}const r=e.getIn(t.collectionId);return r.some(n)?e.setIn(t.collectionId,r.filterNot(n)):e}(e,t);throw new Error("CMF collection deletion is only compatible with ImmutableJs List and Map")}return e}(n,t),function(e,t){if(t.operations.update){const n=e.getIn(t.collectionId);if(y.Map.isMap(n))return function(e,t){const n=t.operations.update,r=Object.keys(n).reduce(((e,t)=>e.set(t,n[t])),e.getIn(t.collectionId));return e.setIn(t.collectionId,r)}(e,t);if(y.List.isList(n))return function(e,t){const n=t.operations.update,r=e.getIn(t.collectionId).map((e=>n[lr(e)]||e));return e.setIn(t.collectionId,r)}(e,t);throw new Error("CMF collection update is only compatible with ImmutableJs List and Map")}return e}(n,t)}const mr=new y.Map;const Er={initialized:!1,contentTypes:{},actions:{},props:{},routes:{}};function gr(e,t){if(null===t||"object"!=typeof t||Array.isArray(t))return t;let n={...t};return n._ref&&(Ft()(e[n._ref],`CMF/Settings: Reference '${n._ref}' not found`),n={...e[n._ref],...t},delete n._ref),n}function yr(e,t){const n=gr(e,t);return Object.keys(n).forEach((t=>{n[t]=gr(e,n[t])})),n}function hr({views:e,props:t,ref:n,...r}){const o={props:{},...r};return e&&Object.keys(e).forEach((t=>{o.props[t]=yr(n,e[t])})),t&&Object.keys(t).forEach((e=>{o.props[e]=yr(n,t[e])})),"function"==typeof o.freeze&&o.freeze(),o}const Tr=[],Sr=(0,Ct.combineReducers)({collections:function(e=dr,t={type:""}){const n=function(e){if(e.collectionId||e.id){const t=e.collectionId||e.id;return{...e,collectionId:Array.isArray(t)?t:t.split(".")}}return e}(t);switch(n.type){case Z.COLLECTION_ADD_OR_REPLACE:return e.setIn(n.collectionId,(0,y.fromJS)(n.data));case Z.COLLECTION_REMOVE:return e.getIn(n.collectionId)?e.deleteIn(n.collectionId):(Ft()(!0,`Can't remove collection ${n.collectionId} since it doesn't exist.`),e);case Z.COLLECTION_MUTATE:return fr(e,n);default:return e}},components:function e(t=mr,n){switch(n.type){case Z.COMPONENT_ADD_STATE:return n.initialComponentState?t.setIn([n.componentName,n.key],(0,y.fromJS)(n.initialComponentState)):t.setIn([n.componentName,n.key],new y.Map);case Z.COMPONENT_MERGE_STATE:return function(e,t){e.getIn([t.componentName,t.key])||Ft()(!0,`Error, the component ${t.componentName} try to mutate a non existing\n State namespace ${t.key}, this namespace may be not yet created or already removed.`)}(t,n),t.mergeIn([n.componentName,n.key],(0,y.fromJS)(n.componentState));case Z.COMPONENT_REMOVE_STATE:return t.deleteIn([n.componentName,n.key]);default:{const r=(0,R.get)(n,"cmf.componentState");return r?e(t,r):t}}},settings:function(e=Er,t){switch(t.type){case Z.REQUEST_OK:return{...e,initialized:!0,...hr(t.settings)};case Z.REQUEST_KO:return console.error(`Settings can't be loaded ${(0,R.get)(t,"error.message")}`,t.error),e;default:return e}},errors:function(e=Tr,t){return t.type===Z.ERROR?e.concat(t.error):e}}),Rr={Accept:"application/json","Content-Type":"application/json"};function Or(e){return Fe[e.type]}function Cr(e){return t=>{const n={...t,headers:{...Rr,...e.headers,...t.headers}};return n.body instanceof FormData&&delete n.headers["Content-Type"],n}}function _r(e){const t={method:Or(e),credentials:"same-origin",...e};return"object"!=typeof t.body||t.body instanceof FormData||(t.body=JSON.stringify(t.body)),delete t.type,t}function Ar(e){let t=(0,R.get)(e,"headers/values");