File: /var/www/vhosts/ensaco.es/httpdocs/wp-content/plugins/bb-plugin/js/build/fl-state.bundle.min.js
(()=>{"use strict";const e=React,t=Redux,r=(e,t)=>typeof e==typeof t&&("string"==typeof e||"number"==typeof e?e===t:JSON.stringify(e)===JSON.stringify(t)),s=(e,t,s)=>"boolean"==typeof e?e:"function"==typeof e?e(t,s):"string"==typeof e?!r(t[e],s[e]):!!Array.isArray(e)&&e.some(e=>!r(t[e],s[e])),o=/[\p{Lu}]/u,n=/[\p{Ll}]/u,c=/^[\p{Lu}](?![\p{Lu}])/gu,a=/([\p{Alpha}\p{N}_]|$)/u,i=/[_.\- ]+/,p=new RegExp("^"+i.source),l=new RegExp(i.source+a.source,"gu"),u=new RegExp("\\d+"+a.source,"gu");function g(e,t){if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},0===(e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length).join("-"):e.trim()).length)return"";const r=!1===t.locale?e=>e.toLowerCase():e=>e.toLocaleLowerCase(t.locale),s=!1===t.locale?e=>e.toUpperCase():e=>e.toLocaleUpperCase(t.locale);return 1===e.length?i.test(e)?"":t.pascalCase?s(e):r(e):(e!==r(e)&&(e=((e,t,r,s)=>{let c=!1,a=!1,i=!1,p=!1;for(let l=0;l<e.length;l++){const u=e[l];p=!(l>2)||"-"===e[l-3],c&&o.test(u)?(e=e.slice(0,l)+"-"+e.slice(l),c=!1,i=a,a=!0,l++):a&&i&&n.test(u)&&(!p||s)?(e=e.slice(0,l-1)+"-"+e.slice(l-1),i=a,a=!1,c=!0):(c=t(u)===u&&r(u)!==u,i=a,a=r(u)===u&&t(u)!==u)}return e})(e,r,s,t.preserveConsecutiveUppercase)),e=e.replace(p,""),e=t.preserveConsecutiveUppercase?((e,t)=>(c.lastIndex=0,e.replaceAll(c,e=>t(e))))(e,r):r(e),t.pascalCase&&(e=s(e.charAt(0))+e.slice(1)),((e,t)=>(l.lastIndex=0,u.lastIndex=0,e.replaceAll(u,(r,s,o)=>["_","-"].includes(e.charAt(o+r.length))?r:t(r)).replaceAll(l,(e,r)=>t(r))))(e,s))}const f=(e,t,r)=>(Object.entries(r).map(([r])=>{if(!t[r]){const t=`SET_${r.toUpperCase()}`,s=g(`set_${r}`);e[s]=e=>({type:t,value:e})}}),e),y=(e,r)=>Object.keys(e).length||Object.keys(r).length?(Object.entries(r).map(([t,r])=>{e[t]||(e[t]=(e=r,s)=>s.type===`SET_${t.toUpperCase()}`?s.value:e)}),(0,t.combineReducers)(e)):e=>e,S=(e,r)=>{const s="undefined"==typeof window?null:window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;return(s?s({name:e}):t.compose)((0,t.applyMiddleware)(d(r)))},d=e=>{const{before:t,after:r}=e;return e=>s=>o=>{t&&t[o.type]&&t[o.type](o,e);const n=s(o);return r&&r[o.type]&&r[o.type](o,e),n}},h=e=>e.charAt(0).toUpperCase()+e.slice(1);window.FL=window.FL??{},FL.state={createStoreRegistry:()=>{const r={};return{registerStore:(e,{state:s={},cache:o=[],actions:n={},reducers:c={},selectors:a={},effects:i={}})=>{if(!e)throw new Error("Missing key required for registerStore.");if(r[e])throw new Error(`A store with the key '${e}' already exists.`);const p=((e,t,r)=>{if(r.length&&"undefined"!=typeof localStorage){const s=localStorage.getItem(e);if(s){const e=JSON.parse(s),o={};return r.map(t=>{e[t]&&(o[t]=e[t])}),{...t,...o}}}return t})(e,s,o);var l,u,d;r[e]={actions:f({...n},c,p),store:(0,t.createStore)(y({...c},p),p,S(e,i))},r[e].selectors=((e,t)=>{const r={},s=t.getState();return Object.entries(s).map(([t])=>{const r=g(`get_${t}`);e[r]||(e[r]=e=>e[t])}),Object.entries(e).map(([e,s])=>{r[e]=(...e)=>s(t.getState(),...e)}),r})({...a},r[e].store),l=e,u=r[e].store,(d=o).length&&"undefined"!=typeof localStorage&&u.subscribe(()=>{const e=u.getState(),t={};d.map(r=>{t[r]=e[r]}),localStorage.setItem(l,JSON.stringify(t))})},useStore:(t,o=!0)=>{const{store:n}=r[t],c=n.getState(),a=(0,e.useRef)(c),[i,p]=(0,e.useState)(c);return(0,e.useEffect)(()=>(p(n.getState()),n.subscribe(()=>{const e=n.getState();s(o,a.current,e)&&p({...e}),a.current=e})),[]),i},getStore:e=>r[e].store,getDispatch:e=>{const{actions:t,store:s}=r[e],o={};return Object.entries(t).map(([e,t])=>{o[e]=(...e)=>new Promise(r=>{r(s.dispatch(t(...e)))})}),o},getSelectors:e=>r[e].selectors,getHooks:o=>{const{actions:n,store:c}=r[o];return((t,r)=>{const o=t.getState(),n={};return Object.keys(o).map(o=>{const c=`use${h(o)}`;n[c]=(n=!0)=>{const[c,a]=(0,e.useState)(t.getState()[o]),i=(0,e.useRef)(t.getState()[o]);(0,e.useLayoutEffect)(()=>(a(t.getState()[o]),i.current=t.getState()[o],t.subscribe(()=>{const e=t.getState();s(n,c,i.current)&&a(e[o]),i.current=e[o]})),[]);const p=`set${h(o)}`;let l=r[p];return[c,l]}}),n})(c,(0,t.bindActionCreators)(n,c.dispatch))}}}}})();