@plurid/plurid-react 0.0.0-20 → 0.0.0-21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,527 +1,527 @@
1
1
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@plurid/plurid-data"),t=require("@plurid/plurid-engine"),a=require("@plurid/plurid-pubsub"),n=require("react"),r=require("react-redux"),o=require("redux"),i=require("redux-thunk"),l=require("@plurid/plurid-functions"),s=require("@plurid/plurid-themes"),c=require("styled-components"),u=require("@plurid/plurid-ui-components-react"),d=require("@plurid/plurid-icons-react"),f=require("@plurid/plurid-functions-react"),p=require("react-dom"),m=require("cross-fetch"),g=require("@plurid/elementql-client-react"),T=require("hammerjs");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var E=h(e),_=h(t),O=h(a),S=h(n),R=h(r),A=h(o),b=h(i),C=h(l),I=h(s),v=h(c),P=h(u),L=h(d),y=h(f),U=h(p),w=h(m),N=h(g),D=h(T);var M={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=E.default,a=_.default,n=O.default,r=S.default,o=R.default,i=A.default,l=b.default,s=C.default,c=I.default,u=v.default,d=P.default,f=L.default,p=y.default,m=U.default,g=w.default,T=N.default;function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var M=h(n),x=h(r),F=h(l),j=h(c),k=h(u),G=h(g);const Y=x.default.createContext(void 0),B="SET_CONFIGURATION",V="SET_CONFIGURATION_MICRO",X="SET_CONFIGURATION_PLANE_CONTROLS",$="SET_CONFIGURATION_PLANE_OPACITY",W="SET_CONFIGURATION_THEME_GENERAL",z="SET_CONFIGURATION_THEME_INTERACTION",H="SET_CONFIGURATION_LANGUAGE",Z="TOGGLE_CONFIGURATION_VIEWCUBE_HIDE",K="TOGGLE_CONFIGURATION_VIEWCUBE_BUTTONS",q="TOGGLE_CONFIGURATION_VIEWCUBE_OPAQUE",Q="TOGGLE_CONFIGURATION_VIEWCUBE_CONCEAL",J="TOGGLE_CONFIGURATION_TOOLBAR_CONCEAL",ee="TOGGLE_CONFIGURATION_TOOLBAR_TRANSFORM_ICONS",te="TOGGLE_CONFIGURATION_TOOLBAR_TRANSFORM_BUTTONS",ae="TOGGLE_CONFIGURATION_TOOLBAR_OPAQUE",ne="TOGGLE_CONFIGURATION_TOOLBAR_TOGGLE_DRAWER",re="TOGGLE_CONFIGURATION_SPACE_TRANSPARENT_UI",oe="TOGGLE_CONFIGURATION_SPACE_SHOW_TRANSFORM_ORIGIN",ie="SET_CONFIGURATION_SPACE_TRANSFORM_ORIGIN_SIZE",le="SET_CONFIGURATION_SPACE_TRANSFORM_MODE",se="TOGGLE_CONFIGURATION_SPACE_TRANSFORM_MULTIMODE",ce="SET_CONFIGURATION_SPACE_TRANSFORM_TOUCH",ue="TOGGLE_CONFIGURATION_SPACE_FIRST_PERSON",de="SET_CONFIGURATION_SPACE_TRANSFORM_LOCKS",fe="SET_CONFIGURATION_SPACE_LAYOUT_TYPE",pe="SET_CONFIGURATION_SPACE_CULLING_DISTANCE";var me=Object.freeze({__proto__:null,SET_CONFIGURATION:B,SET_CONFIGURATION_MICRO:V,SET_CONFIGURATION_PLANE_CONTROLS:X,SET_CONFIGURATION_PLANE_OPACITY:$,SET_CONFIGURATION_THEME_GENERAL:W,SET_CONFIGURATION_THEME_INTERACTION:z,SET_CONFIGURATION_LANGUAGE:H,TOGGLE_CONFIGURATION_VIEWCUBE_HIDE:Z,TOGGLE_CONFIGURATION_VIEWCUBE_BUTTONS:K,TOGGLE_CONFIGURATION_VIEWCUBE_OPAQUE:q,TOGGLE_CONFIGURATION_VIEWCUBE_CONCEAL:Q,TOGGLE_CONFIGURATION_TOOLBAR_CONCEAL:J,TOGGLE_CONFIGURATION_TOOLBAR_TRANSFORM_ICONS:ee,TOGGLE_CONFIGURATION_TOOLBAR_TRANSFORM_BUTTONS:te,TOGGLE_CONFIGURATION_TOOLBAR_OPAQUE:ae,TOGGLE_CONFIGURATION_TOOLBAR_TOGGLE_DRAWER:ne,TOGGLE_CONFIGURATION_SPACE_TRANSPARENT_UI:re,TOGGLE_CONFIGURATION_SPACE_SHOW_TRANSFORM_ORIGIN:oe,SET_CONFIGURATION_SPACE_TRANSFORM_ORIGIN_SIZE:ie,SET_CONFIGURATION_SPACE_TRANSFORM_MODE:le,TOGGLE_CONFIGURATION_SPACE_TRANSFORM_MULTIMODE:se,SET_CONFIGURATION_SPACE_TRANSFORM_TOUCH:ce,TOGGLE_CONFIGURATION_SPACE_FIRST_PERSON:ue,SET_CONFIGURATION_SPACE_TRANSFORM_LOCKS:de,SET_CONFIGURATION_SPACE_LAYOUT_TYPE:fe,SET_CONFIGURATION_SPACE_CULLING_DISTANCE:pe});var ge=Object.freeze({__proto__:null,setConfiguration:e=>({type:B,payload:e}),setConfigurationMicro:()=>({type:V}),setConfigurationPlaneControls:e=>({type:X,payload:e}),setConfigurationPlaneOpacity:e=>({type:$,payload:e}),setConfigurationThemeGeneralAction:e=>({type:W,payload:e}),setConfigurationThemeInteractionAction:e=>({type:z,payload:e}),setConfigurationLanguageAction:e=>({type:H,payload:e}),toggleConfigurationViewcubeHide:e=>({type:Z,payload:e}),toggleConfigurationViewcubeButtons:e=>({type:K,payload:e}),toggleConfigurationViewcubeOpaque:e=>({type:q,payload:e}),toggleConfigurationViewcubeConceal:()=>({type:Q}),toggleConfigurationToolbarConceal:()=>({type:J}),toggleConfigurationToolbarTransformIcons:()=>({type:ee}),toggleConfigurationToolbarTransformButtons:()=>({type:te}),toggleConfigurationSpaceTransparentUI:()=>({type:re}),toggleConfigurationSpaceShowTransformOrigin:()=>({type:oe}),toggleConfigurationToolbarOpaque:()=>({type:ae}),toggleConfigurationToolbarToggleDrawer:e=>({type:ne,payload:e}),setConfigurationSpaceTransformOriginSize:e=>({type:ie,payload:e}),setConfigurationSpaceTransformMode:e=>({type:le,payload:e}),toggleConfigurationSpaceTransformMultimode:e=>({type:se,payload:e}),setConfigurationSpaceTransformTouch:e=>({type:ce,payload:e}),toggleConfigurationSpaceFirstPerson:()=>({type:ue}),setConfigurationSpaceTransformLocks:e=>({type:de,payload:e}),setConfigurationSpaceLayoutType:e=>({type:fe,payload:e}),setConfigurationSpaceCullingDistance:e=>({type:pe,payload:e})});const Te=Object.assign({},t.defaultConfiguration),he=(e,t)=>Object.assign(Object.assign({},e),t.payload),Ee=e=>{const t=Object.assign({},e);return t.elements.toolbar.show=!1,t.elements.plane.controls.show=!1,t.elements.viewcube.show=!1,Object.assign({},t)},_e=(e,t)=>{const a=Object.assign({},e);return a.elements.plane.controls.show=t.payload,Object.assign({},a)},Oe=(e,t)=>{const a=Object.assign({},e);return a.elements.plane.opacity=t.payload,Object.assign({},a)},Se=(e,t)=>{const a=Object.assign({},e),n={general:t.payload,interaction:"object"==typeof a.global.theme?a.global.theme.interaction:"plurid"};return Object.assign(Object.assign({},a),{global:Object.assign(Object.assign({},a.global),{theme:n})})},Re=(e,t)=>{const a=Object.assign({},e),n={general:"object"==typeof a.global.theme?a.global.theme.general:"plurid",interaction:t.payload};return Object.assign(Object.assign({},a),{global:Object.assign(Object.assign({},a.global),{theme:n})})},Ae=(e,t)=>Object.assign(Object.assign({},e),{global:Object.assign(Object.assign({},e.global),{language:t.payload})}),be=(e,t)=>{const a=Object.assign({},e);return a.elements.viewcube.show=t.payload,Object.assign({},a)},Ce=(e,t)=>{const a=Object.assign({},e);return a.elements.viewcube.buttons=t.payload,Object.assign({},a)},Ie=(e,t)=>{const a=Object.assign({},e);return a.elements.viewcube.opaque=t.payload,Object.assign({},a)},ve=e=>{const{conceal:t}=e.elements.viewcube,a=Object.assign({},e);return a.elements.viewcube.conceal=!t,Object.assign({},a)},Pe=e=>{const{conceal:t}=e.elements.toolbar,a=Object.assign({},e);return a.elements.toolbar.conceal=!t,Object.assign({},a)},Le=e=>{const{transformIcons:t}=e.elements.toolbar,a=Object.assign({},e);return a.elements.toolbar.transformIcons=!t,Object.assign({},a)},ye=e=>{const{transformButtons:t}=e.elements.toolbar,a=Object.assign({},e);return a.elements.toolbar.transformButtons=!t,Object.assign({},a)},Ue=e=>{const{show:t}=e.space.transformOrigin,a=Object.assign({},e);return a.space.transformOrigin.show=!t,Object.assign({},a)},we=e=>{const{opaque:t}=e.elements.toolbar,a=Object.assign({},e);return a.elements.toolbar.opaque=!t,Object.assign({},a)},Ne=e=>{const t=Object.assign({},e);return t.global.transparentUI=!e.global.transparentUI,Object.assign({},t)},De=(e,t)=>{const a=Object.assign({},e);return a.space.transformOrigin.size=t.payload,Object.assign({},a)},Me=(e,a)=>{const n=Object.assign({},e);return n.space.transformMode!==a.payload?n.space.transformMode=a.payload:n.space.transformMode=t.TRANSFORM_MODES.ALL,Object.assign({},n)},xe=(e,t)=>{const a=Object.assign({},e);return a.space.transformMultimode=t.payload,Object.assign({},a)},Fe=(e,t)=>{const a=Object.assign({},e);return a.space.transformTouch=t.payload,Object.assign({},a)},je=e=>{const{firstPerson:t}=e.space,a=Object.assign({},e);return a.space.firstPerson=!t,Object.assign({},a)},ke=(e,t)=>{const{toggledDrawers:a}=e.elements.toolbar,n=Object.assign({},e);if(a.includes(t.payload)){const e=a.filter((e=>e!==t.payload));n.elements.toolbar.toggledDrawers=[...e]}else n.elements.toolbar.toggledDrawers=[...a,t.payload];return Object.assign({},n)},Ge=(e,t)=>{const{transformLocks:a}=e.space,n=Object.assign({},e),r=Object.assign({},a);return r[t.payload]=!a[t.payload],n.space.transformLocks=Object.assign({},r),Object.assign({},n)},Ye=(e,a)=>{const n=Object.assign({},e),r={type:t.LAYOUT_TYPES[a.payload]};return n.space.layout=Object.assign({},r),Object.assign({},n)},Be=(e,t)=>{const a=Object.assign({},e);return a.space.cullingDistance=t.payload,Object.assign({},a)};var Ve=Object.freeze({__proto__:null,setConfiguration:he,setConfigurationMicro:Ee,setConfigurationPlaneControls:_e,setConfigurationPlaneOpacity:Oe,setConfigurationThemeGeneral:Se,setConfigurationThemeInteraction:Re,setConfigurationLanguage:Ae,toggleConfigurationViewcubeHide:be,toggleConfigurationViewcubeButtons:Ce,toggleConfigurationViewcubeOpaque:Ie,toggleConfigurationViewcubeConceal:ve,toggleConfigurationToolbarConceal:Pe,toggleConfigurationToolbarTransformIcons:Le,toggleConfigurationToolbarTransformButtons:ye,toggleConfigurationShowTransformOrigin:Ue,toggleConfigurationToolbarOpaque:we,toggleConfigurationSpaceTransparentUI:Ne,setConfigurationSpaceTransformOriginSize:De,setConfigurationSpaceTransformMode:Me,toggleConfigurationSpaceTransformMultimode:xe,setConfigurationSpaceTransformTouch:Fe,toggleConfigurationSpaceFirstPerson:je,toggleConfigurationToolbarToggleDrawer:ke,setConfigurationSpaceTransformLocks:Ge,setConfigurationSpaceLayout:Ye,setConfigurationSpaceCullingDistance:Be});const Xe="SET_STATE";var $e={getConfiguration:e=>e.configuration},We=Object.freeze({__proto__:null,actions:ge,initialState:Te,reducer:(e=Te,t)=>{switch(t.type){case Xe:return Object.assign(Object.assign({},e),t.payload.configuration);case B:return he(e,t);case V:return Ee(e);case X:return _e(e,t);case $:return Oe(e,t);case W:return Se(e,t);case z:return Re(e,t);case H:return Ae(e,t);case Z:return be(e,t);case K:return Ce(e,t);case q:return Ie(e,t);case Q:return ve(e);case J:return Pe(e);case ee:return Le(e);case te:return ye(e);case ne:return ke(e,t);case ae:return we(e);case re:return Ne(e);case oe:return Ue(e);case ie:return De(e,t);case le:return Me(e,t);case se:return xe(e,t);case ce:return Fe(e,t);case ue:return je(e);case de:return Ge(e,t);case fe:return Ye(e,t);case pe:return Be(e,t);default:return Object.assign({},e)}},resolvers:Ve,selectors:$e,Types:me}),ze=Object.freeze({__proto__:null,default:{}});const He={};var Ze=Object.freeze({__proto__:null}),Ke=Object.freeze({__proto__:null}),qe=Object.freeze({__proto__:null,actions:ze,initialState:He,reducer:(e=He,t)=>Object.assign({},e),resolvers:Ze,selectors:{},Types:Ke});const Qe="SHORTCUTS_SET_GLOBAL_SHORTCUTS",Je="SHORTCUTS_UNSET_GLOBAL_SHORTCUTS";var et=Object.freeze({__proto__:null,SHORTCUTS_SET_GLOBAL_SHORTCUTS:Qe,SHORTCUTS_UNSET_GLOBAL_SHORTCUTS:Je});var tt=Object.freeze({__proto__:null,setGlobalShortcuts:()=>({type:Qe}),unsetGlobalShortcuts:()=>({type:Je})});const at={global:!0},nt=e=>Object.assign(Object.assign({},e),{global:!0}),rt=e=>Object.assign(Object.assign({},e),{global:!1});var ot=Object.freeze({__proto__:null,setGlobalShortcuts:nt,unsetGlobalShortcuts:rt});var it={getGlobal:e=>e.shortcuts.global},lt=Object.freeze({__proto__:null,actions:tt,initialState:at,reducer:(e=at,t)=>{switch(t.type){case Xe:return Object.assign(Object.assign({},e),t.payload.shortcuts);case Qe:return nt(e);case Je:return rt(e);default:return Object.assign({},e)}},resolvers:ot,selectors:it,Types:et});const st="SET_SPACE_FIELD",ct="SET_SPACE_LOADING",ut="SET_TRANSFORM",dt="SET_ANIMATED_TRANSFORM",ft="SET_TRANSFORM_TIME",pt="SET_SPACE_LOCATION",mt="VIEW_CAMERA_MOVE_FORWARD",gt="VIEW_CAMERA_MOVE_BACKWARD",Tt="VIEW_CAMERA_MOVE_LEFT",ht="VIEW_CAMERA_MOVE_RIGHT",Et="VIEW_CAMERA_MOVE_UP",_t="VIEW_CAMERA_MOVE_DOWN",Ot="VIEW_CAMERA_TURN_UP",St="VIEW_CAMERA_TURN_DOWN",Rt="VIEW_CAMERA_TURN_LEFT",At="VIEW_CAMERA_TURN_RIGHT",bt="ROTATE_UP",Ct="ROTATE_DOWN",It="ROTATE_LEFT",vt="ROTATE_X",Pt="ROTATE_X_WITH",Lt="ROTATE_RIGHT",yt="ROTATE_Y",Ut="ROTATE_Y_WITH",wt="TRANSLATE_UP",Nt="TRANSLATE_DOWN",Dt="TRANSLATE_LEFT",Mt="TRANSLATE_RIGHT",xt="TRANSLATE_IN",Ft="TRANSLATE_OUT",jt="TRANSLATE_X_WITH",kt="TRANSLATE_Y_WITH",Gt="SCALE_UP",Yt="SCALE_DOWN",Bt="SCALE_UP_WITH",Vt="SCALE_DOWN_WITH",Xt="SET_INITIAL_TREE",$t="SET_TREE",Wt="SET_ACTIVE_UNIVERSE",zt="SPACE_RESET_TRANSFORM",Ht="SET_VIEW_SIZE",Zt="SET_SPACE_SIZE",Kt="UPDATE_SPACE_TREE_PLANE",qt="UPDATE_SPACE_LINK_COORDINATES",Qt="SPACE_SET_VIEW",Jt="SPACE_SET_CULLED_VIEW";var ea=Object.freeze({__proto__:null,SET_SPACE_FIELD:st,SET_SPACE_LOADING:ct,SET_TRANSFORM:ut,SET_ANIMATED_TRANSFORM:dt,SET_TRANSFORM_TIME:ft,SET_SPACE_LOCATION:pt,VIEW_CAMERA_MOVE_FORWARD:mt,VIEW_CAMERA_MOVE_BACKWARD:gt,VIEW_CAMERA_MOVE_LEFT:Tt,VIEW_CAMERA_MOVE_RIGHT:ht,VIEW_CAMERA_MOVE_UP:Et,VIEW_CAMERA_MOVE_DOWN:_t,VIEW_CAMERA_TURN_UP:Ot,VIEW_CAMERA_TURN_DOWN:St,VIEW_CAMERA_TURN_LEFT:Rt,VIEW_CAMERA_TURN_RIGHT:At,ROTATE_UP:bt,ROTATE_DOWN:Ct,ROTATE_LEFT:It,ROTATE_X:vt,ROTATE_X_WITH:Pt,ROTATE_RIGHT:Lt,ROTATE_Y:yt,ROTATE_Y_WITH:Ut,TRANSLATE_UP:wt,TRANSLATE_DOWN:Nt,TRANSLATE_LEFT:Dt,TRANSLATE_RIGHT:Mt,TRANSLATE_IN:xt,TRANSLATE_OUT:Ft,TRANSLATE_X_WITH:jt,TRANSLATE_Y_WITH:kt,SCALE_UP:Gt,SCALE_DOWN:Yt,SCALE_UP_WITH:Bt,SCALE_DOWN_WITH:Vt,SET_INITIAL_TREE:Xt,SET_TREE:$t,SET_ACTIVE_UNIVERSE:Wt,SPACE_RESET_TRANSFORM:zt,SET_VIEW_SIZE:Ht,SET_SPACE_SIZE:Zt,UPDATE_SPACE_TREE_PLANE:Kt,UPDATE_SPACE_LINK_COORDINATES:qt,SPACE_SET_VIEW:Qt,SPACE_SET_CULLED_VIEW:Jt});var ta=Object.freeze({__proto__:null,setSpaceField:e=>({type:st,payload:e}),setSpaceLoading:e=>({type:ct,payload:e}),setTransform:e=>({type:ut,payload:e}),setAnimatedTransform:e=>({type:dt,payload:e}),setTransformTime:e=>({type:ft,payload:e}),setSpaceLocation:e=>({type:pt,payload:e}),viewCameraMoveForward:()=>({type:mt}),viewCameraMoveBackward:()=>({type:gt}),viewCameraMoveLeft:()=>({type:Tt}),viewCameraMoveRight:()=>({type:ht}),viewCameraMoveUp:()=>({type:Et}),viewCameraMoveDown:()=>({type:_t}),viewCameraTurnUp:()=>({type:Ot}),viewCameraTurnDown:()=>({type:St}),viewCameraTurnLeft:()=>({type:Rt}),viewCameraTurnRight:()=>({type:At}),rotateUp:()=>({type:bt}),rotateDown:()=>({type:Ct}),rotateX:e=>({type:vt,payload:e}),rotateXWith:e=>({type:Pt,payload:e}),rotateLeft:()=>({type:It}),rotateRight:()=>({type:Lt}),rotateY:e=>({type:yt,payload:e}),rotateYWith:e=>({type:Ut,payload:e}),translateUp:()=>({type:wt}),translateDown:()=>({type:Nt}),translateLeft:()=>({type:Dt}),translateRight:()=>({type:Mt}),translateIn:()=>({type:xt}),translateOut:()=>({type:Ft}),translateXWith:e=>({type:jt,payload:e}),translateYWith:e=>({type:kt,payload:e}),scaleUp:()=>({type:Gt}),scaleDown:()=>({type:Yt}),scaleUpWith:e=>({type:Bt,payload:e}),scaleDownWith:e=>({type:Vt,payload:e}),setInitialTree:e=>({type:Xt,payload:e}),setTree:e=>({type:$t,payload:e}),setActiveUniverse:e=>({type:Wt,payload:e}),spaceResetTransform:()=>({type:zt}),setViewSize:e=>({type:Ht,payload:e}),setSpaceSize:e=>({type:Zt,payload:e}),updateSpaceTreePlane:e=>({type:Kt,payload:e}),updateSpaceLinkCoordinates:e=>({type:qt,payload:e}),spaceSetView:e=>({type:Qt,payload:e}),spaceSetCulledView:e=>({type:Jt,payload:e})});const aa={loading:!0,transform:"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)",animatedTransform:!1,transformTime:450,scale:1,rotationX:0,rotationY:0,translationX:0,translationY:0,translationZ:0,initialTree:[],tree:[],activeUniverseID:"",camera:{x:0,y:0,z:0},viewSize:{width:"undefined"==typeof window?1440:window.innerWidth,height:"undefined"==typeof window?821:window.innerHeight},spaceSize:{width:"undefined"==typeof window?1440:window.innerWidth,height:"undefined"==typeof window?821:window.innerHeight,depth:0,topCorner:{x:0,y:0,z:0}},view:[],culledView:[]},{quaternion:na,matrix:ra}=a.interaction,{matrixArrayToCSSMatrix:oa,rotateMatrix:ia,multiplyArrayOfMatrices:la,scaleMatrix:sa,translateMatrix:ca}=ra,{degToRad:ua}=na,da=e=>{const{translationX:t,translationY:a,translationZ:n,rotationX:r,rotationY:o,scale:i}=e,l=-1*t+("undefined"==typeof window?720:window.innerWidth/2),s=-1*a+("undefined"==typeof window?400:window.innerHeight/2),c=-1*n,u=ia(ua(-r),ua(-o)),d=ca(t,a,n),f=sa(i),p=la([d,la([ca(l,s,c),u,ca(-l,-s,-c)]),f]);return oa(p)},{toRadians:fa}=s.mathematics.geometry,pa=e=>s.objects.clone(e,"any"),ma=(e,t)=>{const{field:a,value:n}=t.payload,r=pa(e);return r[a]=n,Object.assign({},r)},ga=(e,t)=>{const a=pa(e);return Object.assign(Object.assign({},a),{loading:t.payload})},Ta=(e,t)=>{const{translationX:a,translationY:n,translationZ:r,rotationX:o,rotationY:i,scale:l}=t.payload,s=null!=a?a:e.translationX,c=null!=n?n:e.translationY,u=null!=r?r:e.translationZ,d=null!=o?o:e.rotationX,f=null!=i?i:e.rotationY,p=null!=l?l:e.scale,m=pa(e);return Object.assign(Object.assign({},m),{translationX:s,translationY:c,translationZ:u,rotationX:d,rotationY:f,scale:p})},ha=(e,t)=>{const a=pa(e);return Object.assign(Object.assign({},a),{animatedTransform:t.payload})},Ea=(e,t)=>{const a=pa(e);return Object.assign(Object.assign({},a),{transformTime:t.payload})},_a=(e,t)=>{const a=pa(e);return Object.assign(Object.assign({},a),t.payload)},Oa=e=>{const a=pa(e);return a.translationZ=e.translationZ+6*t.TRANSLATION_STEP*Math.cos(fa(-e.rotationY)),a.translationX=e.translationX+6*t.TRANSLATION_STEP*Math.sin(fa(-e.rotationY)),a.transform=da(a),Object.assign({},a)},Sa=e=>{const a=pa(e);return a.translationZ=e.translationZ-6*t.TRANSLATION_STEP*Math.cos(fa(-e.rotationY)),a.translationX=e.translationX-6*t.TRANSLATION_STEP*Math.sin(fa(-e.rotationY)),a.transform=da(a),Object.assign({},a)},Ra=e=>{const a=pa(e);return a.translationX=e.translationX+3*t.TRANSLATION_STEP*Math.cos(fa(e.rotationY)),a.translationZ=e.translationZ+3*t.TRANSLATION_STEP*Math.sin(fa(e.rotationY)),a.transform=da(a),Object.assign({},a)},Aa=e=>{const a=pa(e);return a.translationX=e.translationX-3*t.TRANSLATION_STEP*Math.cos(fa(e.rotationY)),a.translationZ=e.translationZ-3*t.TRANSLATION_STEP*Math.sin(fa(e.rotationY)),a.transform=da(a),Object.assign({},a)},ba=e=>{const a=pa(e);return a.translationY=e.translationY+3*t.TRANSLATION_STEP,a.transform=da(a),Object.assign({},a)},Ca=e=>{const a=pa(e);return a.translationY=e.translationY-3*t.TRANSLATION_STEP,a.transform=da(a),Object.assign({},a)},Ia=e=>{const a=pa(e);return a.rotationX=(e.rotationX+t.ROTATION_STEP)%360,a.transform=da(a),Object.assign({},a)},va=e=>{const a=pa(e);return a.rotationX=(e.rotationX-t.ROTATION_STEP)%360,a.transform=da(a),Object.assign({},a)},Pa=e=>{const a=pa(e);return a.rotationY=(e.rotationY-t.ROTATION_STEP)%360,a.transform=da(a),Object.assign({},a)},La=e=>{const a=pa(e);return a.rotationY=(e.rotationY+t.ROTATION_STEP)%360,a.transform=da(a),Object.assign({},a)},ya=e=>{const a=pa(e);return a.rotationX=(e.rotationX+t.ROTATION_STEP)%360,a.transform=da(a),Object.assign({},a)},Ua=e=>{const a=pa(e);return a.rotationX=(e.rotationX-t.ROTATION_STEP)%360,a.transform=da(a),Object.assign({},a)},wa=(e,t)=>{const a=pa(e);return a.rotationX=t.payload,a.transform=da(a),Object.assign({},a)},Na=(e,t)=>{const a=pa(e);return a.rotationX=e.rotationX+t.payload,a.transform=da(a),Object.assign({},a)},Da=e=>{const a=pa(e);return a.rotationY=(e.rotationY+t.ROTATION_STEP)%360,a.transform=da(a),Object.assign({},a)},Ma=e=>{const a=pa(e);return a.rotationY=(e.rotationY-t.ROTATION_STEP)%360,a.transform=da(a),Object.assign({},a)},xa=(e,t)=>{const a=pa(e);return a.rotationY=t.payload,a.transform=da(a),Object.assign({},a)},Fa=(e,t)=>{const a=pa(e);return a.rotationY=e.rotationY+t.payload,a.transform=da(a),Object.assign({},a)},ja=e=>{const a=pa(e);return a.translationY=e.translationY-t.TRANSLATION_STEP,a.transform=da(a),Object.assign({},a)},ka=e=>{const a=pa(e);return a.translationY=e.translationY+t.TRANSLATION_STEP,a.transform=da(a),Object.assign({},a)},Ga=e=>{const a=pa(e);return a.translationX=e.translationX-t.TRANSLATION_STEP*Math.cos(fa(e.rotationY)),a.translationZ=e.translationZ-t.TRANSLATION_STEP*Math.sin(fa(e.rotationY)),a.transform=da(a),Object.assign({},a)},Ya=e=>{const a=pa(e);return a.translationX=e.translationX+t.TRANSLATION_STEP*Math.cos(fa(e.rotationY)),a.translationZ=e.translationZ+t.TRANSLATION_STEP*Math.sin(fa(e.rotationY)),a.transform=da(a),Object.assign({},a)},Ba=e=>{const a=pa(e);return a.translationZ=e.translationZ-3*t.TRANSLATION_STEP*Math.cos(fa(-e.rotationY)),a.translationX=e.translationX-3*t.TRANSLATION_STEP*Math.sin(fa(-e.rotationY)),a.transform=da(a),Object.assign({},a)},Va=e=>{const a=pa(e);return a.translationZ=e.translationZ+3*t.TRANSLATION_STEP*Math.cos(fa(-e.rotationY)),a.translationX=e.translationX+3*t.TRANSLATION_STEP*Math.sin(fa(-e.rotationY)),a.transform=da(a),Object.assign({},a)},Xa=(e,t)=>{const a=pa(e);return a.translationX=e.translationX+t.payload*Math.cos(fa(e.rotationY)),a.translationZ=e.translationZ+t.payload*Math.sin(fa(e.rotationY)),a.transform=da(a),Object.assign({},a)},$a=(e,t)=>{const a=pa(e);return a.translationY=e.translationY+t.payload,a.transform=da(a),Object.assign({},a)},Wa=e=>{const a=e.scale+t.SCALE_STEP,n=a<t.SCALE_UPPER_LIMIT?a:t.SCALE_UPPER_LIMIT,r=pa(e);return r.scale=n,r.transform=da(r),Object.assign({},r)},za=e=>{const a=e.scale-t.SCALE_STEP,n=a>t.SCALE_LOWER_LIMIT?a:t.SCALE_LOWER_LIMIT,r=pa(e);return r.scale=n,r.transform=da(r),Object.assign({},r)},Ha=(e,a)=>{const n=e.scale+Math.abs(a.payload),r=n<t.SCALE_UPPER_LIMIT?n:t.SCALE_UPPER_LIMIT,o=pa(e);return o.scale=r,o.transform=da(o),Object.assign({},o)},Za=(e,a)=>{const n=e.scale-Math.abs(a.payload),r=n>t.SCALE_LOWER_LIMIT?n:t.SCALE_LOWER_LIMIT,o=pa(e);return o.scale=r,o.transform=da(o),Object.assign({},o)},Ka=(e,t)=>{const a=pa(e);return Object.assign(Object.assign({},a),{initialTree:[...t.payload]})},qa=(e,t)=>{const a=pa(e);return Object.assign(Object.assign({},a),{tree:[...t.payload]})},Qa=(e,t)=>{const a=pa(e);return Object.assign(Object.assign({},a),{activeUniverseID:t.payload})},Ja=e=>{const t=pa(e);return t.scale=1,t.rotationX=0,t.rotationY=0,t.translationX=0,t.translationY=0,t.translationZ=0,t.transform=da(t),Object.assign({},t)},en=(e,t)=>{const a=pa(e);return Object.assign(Object.assign({},a),{viewSize:Object.assign({},t.payload)})},tn=(e,t)=>{const a=pa(e);return Object.assign(Object.assign({},a),{spaceSize:Object.assign({},t.payload)})},an=(e,t)=>{const n=pa(e),r=a.general.tree.updateTreePlane(n.tree,t.payload);return Object.assign(Object.assign({},n),{tree:r})},nn=(e,t)=>{const{planeID:n,linkCoordinates:r}=t.payload,o=pa(e),i=a.general.tree.updateTreeByPlaneIDWithLinkCoordinates(o.tree,n,r);return Object.assign(Object.assign({},o),{tree:i})},rn=(e,t)=>{const a=pa(e);return Object.assign(Object.assign({},a),{view:t.payload})},on=(e,t)=>{const a=pa(e);return Object.assign(Object.assign({},a),{culledView:t.payload})};var ln=Object.freeze({__proto__:null,setSpaceField:ma,setSpaceLoading:ga,setTransform:Ta,setAnimatedTransform:ha,setTransformTime:Ea,setSpaceLocation:_a,viewCameraMoveForward:Oa,viewCameraMoveBackward:Sa,viewCameraMoveLeft:Ra,viewCameraMoveRight:Aa,viewCameraMoveUp:ba,viewCameraMoveDown:Ca,viewCameraTurnUp:Ia,viewCameraTurnDown:va,viewCameraTurnLeft:Pa,viewCameraTurnRight:La,rotateUp:ya,rotateDown:Ua,rotateX:wa,rotateXWith:Na,rotateLeft:Da,rotateRight:Ma,rotateY:xa,rotateYWith:Fa,translateUp:ja,translateDown:ka,translateLeft:Ga,translateRight:Ya,translateIn:Ba,translateOut:Va,translateXWith:Xa,translateYWith:$a,scaleUp:Wa,scaleDown:za,scaleUpWith:Ha,scaleDownWith:Za,setInitialTree:Ka,setTree:qa,setActiveUniverse:Qa,spaceResetTransform:Ja,setViewSize:en,setSpaceSize:tn,updateSpaceTreePlane:an,updateSpaceLinkCoordinates:nn,spaceSetView:rn,spaceSetCulledView:on});var sn={getLoading:e=>e.space.loading,getTransformMatrix:e=>e.space.transform,getAnimatedTransform:e=>e.space.animatedTransform,getTransformTime:e=>e.space.transformTime,getRotationX:e=>e.space.rotationX,getRotationY:e=>e.space.rotationY,getTranslationX:e=>e.space.translationX,getTranslationY:e=>e.space.translationY,getTranslationZ:e=>e.space.translationZ,getScale:e=>e.space.scale,getTransform:e=>({rotationX:e.space.rotationX,rotationY:e.space.rotationY,translationX:e.space.translationX,translationY:e.space.translationY,translationZ:e.space.translationZ,scale:e.space.scale}),getInitialTree:e=>e.space.initialTree,getTree:e=>e.space.tree,getActiveUniverseID:e=>e.space.activeUniverseID,getView:e=>e.space.view,getViewSize:e=>e.space.viewSize,getCulledView:e=>e.space.culledView},cn=Object.freeze({__proto__:null,actions:ta,initialState:aa,reducer:(e=aa,t)=>{switch(t.type){case Xe:return Object.assign(Object.assign({},e),t.payload.space);case st:return ma(e,t);case ct:return ga(e,t);case ut:return Ta(e,t);case dt:return ha(e,t);case ft:return Ea(e,t);case pt:return _a(e,t);case mt:return Oa(e);case gt:return Sa(e);case Tt:return Ra(e);case ht:return Aa(e);case Et:return ba(e);case _t:return Ca(e);case Ot:return Ia(e);case St:return va(e);case Rt:return Pa(e);case At:return La(e);case bt:return ya(e);case Ct:return Ua(e);case vt:return wa(e,t);case Pt:return Na(e,t);case It:return Da(e);case Lt:return Ma(e);case yt:return xa(e,t);case Ut:return Fa(e,t);case wt:return ja(e);case Nt:return ka(e);case Dt:return Ga(e);case Mt:return Ya(e);case xt:return Ba(e);case Ft:return Va(e);case jt:return Xa(e,t);case kt:return $a(e,t);case Gt:return Wa(e);case Yt:return za(e);case Bt:return Ha(e,t);case Vt:return Za(e,t);case Xt:return Ka(e,t);case $t:return qa(e,t);case Wt:return Qa(e,t);case zt:return Ja(e);case Ht:return en(e,t);case Zt:return tn(e,t);case Kt:return an(e,t);case qt:return nn(e,t);case Qt:return rn(e,t);case Jt:return on(e,t);default:return Object.assign({},e)}},resolvers:ln,selectors:sn,Types:ea});const un="THEMES_SET_GENERAL_THEME",dn="THEMES_SET_INTERACTION_THEME";var fn=Object.freeze({__proto__:null,THEMES_SET_GENERAL_THEME:un,THEMES_SET_INTERACTION_THEME:dn});var pn=Object.freeze({__proto__:null,setGeneralTheme:e=>({type:un,payload:e}),setInteractionTheme:e=>({type:dn,payload:e})});const mn={general:c.plurid,interaction:c.plurid},gn=(e,t)=>Object.assign(Object.assign({},e),{general:Object.assign({},t.payload)}),Tn=(e,t)=>Object.assign(Object.assign({},e),{interaction:Object.assign({},t.payload)});var hn=Object.freeze({__proto__:null,setGeneralTheme:gn,setInteractionTheme:Tn});var En={getGeneralTheme:e=>e.themes.general,getInteractionTheme:e=>e.themes.interaction},_n=Object.freeze({__proto__:null,actions:pn,initialState:mn,reducer:(e=mn,t)=>{switch(t.type){case Xe:return Object.assign(Object.assign({},e),t.payload.themes);case un:return gn(e,t);case dn:return Tn(e,t);default:return Object.assign({},e)}},resolvers:hn,selectors:En,Types:fn});const On="SET_UI_TOOLBAR_SCROLL_POSITION";var Sn=Object.freeze({__proto__:null,SET_UI_TOOLBAR_SCROLL_POSITION:On});var Rn=Object.freeze({__proto__:null,setUIToolbarScrollPosition:e=>({type:On,payload:e})});const An={toolbarScrollPosition:0},bn=(e,t)=>Object.assign(Object.assign({},e),{toolbarScrollPosition:t.payload});var Cn=Object.freeze({__proto__:null,setUIToolbarScrollPosition:bn});var In={getToolbarScrollPosition:e=>e.ui.toolbarScrollPosition},vn={configuration:We,general:qe,shortcuts:lt,space:cn,themes:_n,ui:Object.freeze({__proto__:null,actions:Rn,initialState:An,reducer:(e=An,t)=>{switch(t.type){case Xe:return Object.assign(Object.assign({},e),t.payload.ui);case On:return bn(e,t);default:return Object.assign({},e)}},resolvers:Cn,selectors:In,Types:Sn})};const Pn=i.combineReducers({configuration:vn.configuration.reducer,general:vn.general.reducer,shortcuts:vn.shortcuts.reducer,space:vn.space.reducer,themes:vn.themes.reducer,ui:vn.ui.reducer}),Ln=e=>i.createStore(Pn,e,i.applyMiddleware(F.default)),yn=x.default.createContext({});function Un(e,t,a,n){return new(a||(a=Promise))((function(r,o){function i(e){try{s(n.next(e))}catch(e){o(e)}}function l(e){try{s(n.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(i,l)}s((n=n.apply(e,t||[])).next())}))}const wn=x.default.createContext(null);var Nn={configuration:vn.configuration.actions,general:vn.general.actions,shortcuts:vn.shortcuts.actions,space:vn.space.actions,themes:vn.themes.actions,ui:vn.ui.actions};const{direction:Dn}=a.interaction,Mn=()=>Un(void 0,void 0,void 0,(function*(){return yield Promise.resolve().then((function(){return function(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}(D.default)}))}));var xn={configuration:vn.configuration.selectors,general:vn.general.selectors,shortcuts:vn.shortcuts.selectors,space:vn.space.selectors,themes:vn.themes.selectors,ui:vn.ui.selectors};!function(e,t){void 0===t&&(t={});var a=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===a&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("@import url('https://fonts.googleapis.com/css?family=Ubuntu&display=swap');\n");const Fn=u.createGlobalStyle`
2
- *,
3
- *:after,
4
- *:before {
5
- box-sizing: border-box;
6
- font-kerning: auto;
7
- text-rendering: optimizeLegibility;
8
- }
9
-
10
- html, body {
11
- margin: 0;
12
- height: 100%;
13
- width: 100%;
14
- }
15
-
16
- html {
17
- overflow: hidden;
18
- background: black;
19
- color: white;
20
- font-family: Ubuntu, -apple-system, BlinkMacSystemFont, Roboto,
21
- 'Open Sans', 'Helvetica Neue', 'Lucida Sans', sans-serif;
22
-
23
- /*
24
- * HACK
25
- * Prevents Chrome from going backward/forward in page history on wheel event.
26
- *
27
- * TODO
28
- * Apply it dinamically.
29
- */
30
- overscroll-behavior-x: contain;
31
- }
32
- `,jn=k.default.div`
33
- height: 100%;
34
- min-height: ${e=>e.fullHeight?"100vh":"100%"};
35
- min-height: ${e=>e.fullHeight?"-webkit-fill-available":"100%"};
36
-
37
- width: 100%;
38
- position: relative;
39
- scroll-snap-align: start;
40
- outline: none;
41
- overflow: hidden;
42
-
43
- cursor: ${e=>e.transformMode===t.TRANSFORM_MODES.TRANSLATION||e.transformMode===t.TRANSFORM_MODES.ROTATION?"all-scroll":e.transformMode===t.TRANSFORM_MODES.SCALE?"ns-resize":"initial"};
44
- user-select: ${e=>"ALL"!==e.transformMode?"none":"initial !important"};
45
- touch-action: ${e=>"ALL"!==e.transformMode?"none !important":"initial !important"};
46
- -webkit-user-drag: ${e=>"ALL"!==e.transformMode?"none":"initial !important"};
47
- -webkit-tap-highlight-color: ${e=>"ALL"!==e.transformMode?"rgba(0, 0, 0, 0)":"initial !important"};
48
- `;k.default.div`
49
- outline: none;
50
- background: ${e=>{if(e.opaque){return`radial-gradient(\n ellipse at center,\n ${"dark"===e.theme.type?e.theme.backgroundColorTertiary:e.theme.backgroundColorPrimary} 0%,\n ${"dark"===e.theme.type?e.theme.backgroundColorPrimary:e.theme.backgroundColorTertiary} 100%)\n `}return"transparent"}};
51
- `;class kn extends x.default.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0}}componentDidCatch(e,t){}render(){return this.state.hasError?this.props.renderError?this.props.renderError:x.default.createElement("h1",null,"Something went wrong."):this.props.children}}const Gn=k.default.div`
52
- background-color: ${({transparentUI:e,mouseOver:t,theme:a,planeOpacity:n})=>{if(e&&!t)return a.backgroundColorPrimaryAlpha;if(1!==n){const e=c.decomposeColor(a.backgroundColorPrimary);if(e){return`hsla(${e.hue}, ${e.saturation}%, ${e.lightness}%, ${n})`}return"transparent"}return a.backgroundColorPrimary}};
53
- box-shadow: ${({planeOpacity:e,theme:t})=>0===e?"none":t.boxShadowUmbra};
54
- color: ${({theme:e})=>e.colorPrimary};
55
- opacity: ${({show:e})=>e?"1":"0"};
56
- user-select: ${({show:e})=>e?"auto":"none"};
57
-
58
- position: absolute;
59
- height: auto;
60
- width: 100%;
61
- font-size: 0.9rem;
62
- font-family: ${({theme:e})=>e.fontFamilySansSerif};
63
- transition: background-color 300ms linear;
64
-
65
- display: grid;
66
- grid-template-columns: 1fr;
67
- grid-template-rows: ${({planeControls:e})=>e?"56px auto":"auto"};
68
-
69
- transform-origin: 0 0 0;
70
- `,Yn=k.default.div`
71
- background-color: ${({planeOpacity:e,planeControls:t,theme:a})=>0===e?"transparent":t?a.backgroundColorDark:a.backgroundColorPrimary};
72
-
73
- position: absolute;
74
- top: 0;
75
- left: -100px;
76
- height: 30px;
77
- width: 100px;
78
- opacity: 0.5;
79
- `,Bn=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateConfiguration:xn.configuration.getConfiguration(e)})),(e=>({})),null,{context:yn})((e=>{const{stateGeneralTheme:a,stateConfiguration:n}=e,{controls:r,opacity:o}=n.elements.plane;return x.default.createElement(Yn,{theme:a,planeControls:r.show,planeOpacity:o,"data-plurid-entity":t.PLURID_ENTITY_PLANE_BRIDGE})})),Vn=k.default.div`
80
- background-color: ${({transparentUI:e,mouseOver:t,theme:a})=>e&&!t?"transparent":a.backgroundColorDark};
81
- box-shadow: ${({theme:e})=>e.boxShadowUmbraInset};
82
-
83
- width: 100%;
84
- display: grid;
85
- align-items: center;
86
- justify-content: center;
87
- grid-template-rows: 1fr;
88
- grid-template-columns: 1fr 2fr 1fr;
89
- transition: background-color 300ms linear;
90
-
91
- @media (max-width: 800px) {
92
- grid-template-columns: 1fr 3fr 1fr;
93
- }
94
- `,Xn=k.default.div`
95
- `,$n=k.default.div`
96
- width: 100%;
97
- height: 38px;
98
- position: relative;
99
- `,Wn=k.default.div`
100
- display: grid;
101
- grid-template-columns: repeat(4, 30px);
102
- padding: 0 1rem;
103
- `,{inputs:{Textline:zn}}=d.universal,Hn=o.connect((e=>({configuration:xn.configuration.getConfiguration(e),generalTheme:xn.themes.getGeneralTheme(e),interactionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{plane:a,treePlane:n,mouseOver:o,configuration:i,generalTheme:l,interactionTheme:s}=e,{global:c,elements:u}=i,{transparentUI:d}=c,{pathbar:f}=u.plane.controls,{route:p,routeDivisions:m}=n,{protocol:g,host:T}=m;T.value,encodeURIComponent(p);const[h,E]=r.useState(n.route);r.useState(!1);const[_,O]=r.useState(!1);return x.default.createElement(Vn,{theme:l,mouseOver:o,transparentUI:d,"data-plurid-entity":t.PLURID_ENTITY_PLANE_CONTROLS},x.default.createElement(Xn,null),x.default.createElement($n,null,x.default.createElement(zn,{theme:s,text:h,atChange:e=>{if(E(e.target.value),f.onChange){const t=a.route.absolute;f.onChange(e,t)}},atKeyDown:e=>{if(_||O(!0),"Escape"===e.key&&O(!1),f.onKeyDown){const t=a.route.absolute;f.onKeyDown(e,t)}},ariaLabel:"Plurid Pathbar"})),x.default.createElement(Wn,null))})),Zn=k.default.div`
104
- position: relative;
105
- `,Kn=e=>{const{children:a}=e,n=r.useRef(null);return x.default.createElement(Zn,{ref:n,"data-plurid-entity":t.PLURID_ENTITY_PLANE_CONTENT},a)},qn=o.connect((e=>({stateViewSize:xn.space.getViewSize(e),stateGeneralTheme:xn.themes.getGeneralTheme(e),stateConfiguration:xn.configuration.getConfiguration(e)})),(e=>({dispatchUpdateSpaceTreePlane:t=>e(Nn.space.updateSpaceTreePlane(t))})),null,{context:yn})((e=>{const{planeID:n,plane:o,treePlane:i,children:l,stateViewSize:c,stateGeneralTheme:u,stateConfiguration:d,dispatchUpdateSpaceTreePlane:f}=e,{global:p,elements:m}=d,{transparentUI:g}=p,{controls:T,width:h,opacity:E}=m.plane,_=T.show;s.mathematics.numbers.checkIntegerNonUnit(h)||c.width;const O=r.useContext(wn);if(!O)return x.default.createElement(x.default.Fragment,null);const{planeRenderError:S}=O,[R,A]=r.useState(!1),b={};return x.default.createElement(Gn,{suppressHydrationWarning:!0,theme:u,planeControls:_,planeOpacity:E,show:i.show,id:n,style:{width:"100%",transform:a.cleanTemplate(`\n translateX(${i.location.translateX}px)\n translateY(${i.location.translateY}px)\n translateZ(${i.location.translateZ}px)\n rotateX(${i.location.rotateX}deg)\n rotateY(${i.location.rotateY}deg)\n `)},onMouseEnter:()=>A(!0),onMouseLeave:()=>A(!1),transparentUI:g,mouseOver:R,"data-plurid-plane":n,"data-plurid-entity":t.PLURID_ENTITY_PLANE},i.show&&x.default.createElement(x.default.Fragment,null,i.parentPlaneID&&x.default.createElement(Bn,null),_&&x.default.createElement(Hn,{plane:o,treePlane:i,mouseOver:R}),S?x.default.createElement(kn,{renderError:"boolean"!=typeof S?S:void 0},x.default.createElement(Kn,Object.assign({},b),l)):x.default.createElement(Kn,Object.assign({},b),l)))})),Qn=e=>!!e&&("string"!=typeof e&&!e.url),Jn=k.default.div`
106
- transform-style: preserve-3d;
107
- `,{getPlanesRegistrar:er,getRegisteredPlane:tr}=a.planes,ar=o.connect((e=>({})),(e=>({})),null,{context:yn})((e=>{const{plane:a}=e,{location:n}=a,o=r.useContext(wn);if(!o)return x.default.createElement(x.default.Fragment,null);const{planesRegistrar:i,planeContext:l,planeContextValue:s,customPlane:c,matchedRoute:u}=o,d=c,[f,p]=r.useState([]),m=e=>{if(!e.children)return;const t=er(i);e.children.map((e=>{if(!t)return;const a=e.sourceID,n=t.get(a);let r=x.default.createElement(x.default.Fragment,null);if(n){const t=n.component,a={plane:{value:n.route.absolute,planeID:e.planeID,parentPlaneID:e.parentPlaneID,fragments:n.route.fragments,parameters:n.route.parameters,query:n.route.query},route:{value:(null==u?void 0:u.match.value)||"",parameters:(null==u?void 0:u.match.parameters)||{},query:(null==u?void 0:u.match.query)||{}}},o={plurid:Object.assign({},a)},i=Qn(t),c=Qn(d);r=d?c?x.default.createElement(d,{key:e.planeID,plane:n,treePlane:e,planeID:e.planeID,location:e.location}):x.default.createElement(x.default.Fragment,null):i?x.default.createElement(qn,{key:e.planeID,plane:n,treePlane:e,planeID:e.planeID,location:e.location},l?x.default.createElement(l.Provider,{value:s},x.default.createElement(t,Object.assign({},o))):x.default.createElement(t,Object.assign({},o))):x.default.createElement(x.default.Fragment,null),p((e=>[...e,r]))}e.children&&m(e)}))};r.useEffect((()=>{p([]),m(a)}),[JSON.stringify(a)]);const g=a.sourceID;if(!g)return x.default.createElement(x.default.Fragment,null);const T=tr(g,i);if(!T)return x.default.createElement(x.default.Fragment,null);const h=T.component,E={plane:{value:T.route.absolute,planeID:a.planeID,parentPlaneID:a.parentPlaneID,fragments:T.route.fragments,parameters:T.route.parameters,query:T.route.query},route:{value:(null==u?void 0:u.match.value)||"",parameters:(null==u?void 0:u.match.parameters)||{},query:(null==u?void 0:u.match.query)||{}}},_={plurid:Object.assign({},E)};return d?"function"!=typeof d?x.default.createElement(x.default.Fragment,null):x.default.createElement(Jn,{"data-plurid-entity":t.PLURID_ENTITY_ROOT},x.default.createElement(d,{plane:T,treePlane:a,planeID:a.planeID,location:n}),f):x.default.createElement(Jn,{"data-plurid-entity":t.PLURID_ENTITY_ROOT},x.default.createElement(qn,{plane:T,treePlane:a,planeID:a.planeID,location:n},l?x.default.createElement(l.Provider,{value:s},x.default.createElement(h,Object.assign({},_))):x.default.createElement(h,Object.assign({},_))),f)})),nr=k.default.div`
108
- transform-style: preserve-3d;
109
- transform-origin: 0 0 0;
110
- `,rr=o.connect((e=>({stateConfiguration:xn.configuration.getConfiguration(e),spaceTransformMatrix:xn.space.getTransformMatrix(e),spaceAnimatedTransform:xn.space.getAnimatedTransform(e),spaceTransformTime:xn.space.getTransformTime(e),stateTree:xn.space.getTree(e)})),(e=>({})),null,{context:yn})((e=>{const{spaceTransformMatrix:a,spaceAnimatedTransform:n,spaceTransformTime:r,stateTree:o}=e;return x.default.createElement(nr,{suppressHydrationWarning:!0,style:{width:"100%",height:"undefined"!=typeof window?window.innerHeight+"px":"821px",transform:a,transition:n?`transform ${r}ms ease-in-out`:"initial"},"data-plurid-entity":t.PLURID_ENTITY_ROOTS},o.map((e=>x.default.createElement(ar,{key:e.planeID,plane:e}))))})),or=u.keyframes`
111
- from {
112
- opacity: 0%;
113
- }
114
-
115
- to {
116
- opacity: 100%;
117
- }
118
- `,ir=e=>u.css`${or} ${e}ms linear 100ms forwards`,lr=k.default.div`
119
- position: relative;
120
- height: 100%;
121
- overflow: hidden;
122
- perspective: 2000px;
123
- outline: none;
124
-
125
- background: ${({opaque:e,theme:t})=>{if(e){return`radial-gradient(\n ellipse at center,\n ${"dark"===t.type?t.backgroundColorTertiary:t.backgroundColorPrimary} 0%,\n ${"dark"===t.type?t.backgroundColorPrimary:t.backgroundColorTertiary} 100%)\n `}return"transparent"}};
126
-
127
- /* TOFIX */
128
- /* opacity: ${({fadeInTime:e})=>e?"0":"1"};
129
- animation: ${({isMounted:e,fadeInTime:t})=>e&&t?ir(t):""}; */
130
- `,sr=o.connect((e=>({stateConfiguration:xn.configuration.getConfiguration(e),stateGeneralTheme:xn.themes.getGeneralTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{stateConfiguration:a,stateGeneralTheme:n}=e,{space:o}=a,{opaque:i,fadeInTime:l}=o,[s,c]=r.useState(!1);return r.useEffect((()=>{c(!0)}),[]),x.default.createElement(lr,{theme:n,opaque:i,isMounted:s,fadeInTime:l,"data-plurid-entity":t.PLURID_ENTITY_SPACE},x.default.createElement(rr,null))})),cr=({size:e})=>{switch(e){case t.SIZES.SMALL:return"5px";case t.SIZES.NORMAL:return"10px";case t.SIZES.LARGE:return"15px";default:return"10px"}},ur=k.default.div`
131
- background-color: ${({theme:e})=>e.backgroundColorTertiaryAlpha};
132
- height: ${cr};
133
- width: ${cr};
134
-
135
- position: absolute;
136
- top: 50%;
137
- left: 50%;
138
- transform: translateX(-50%) translateY(-50%);
139
- z-index: 99999;
140
- border-radius: 100px;
141
- user-select: none;
142
- pointer-events: none;
143
- touch-action: none;
144
- `,dr=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e),stateConfiguration:xn.configuration.getConfiguration(e)})),(e=>({})),null,{context:yn})((e=>{const{stateGeneralTheme:a,stateConfiguration:n}=e,{space:r}=n,{transformOrigin:o}=r,{show:i,size:l}=o;return i?x.default.createElement(ur,{theme:a,size:l,"data-plurid-entity":t.PLURID_ENTITY_TRANSFORM_ORIGIN}):x.default.createElement(x.default.Fragment,null)}));var fr;!function(e){e.NONE="NONE",e.UNIVERSES="UNIVERSES",e.MORE="MORE"}(fr||(fr={}));const pr=k.default.div`
145
- bottom: ${({conceal:e,mouseIn:t})=>e?t?"-5px":"-55px":"-5px"};
146
- pointer-events: ${({showMenu:e})=>e!==fr.NONE?"all":"none"};
147
- opacity: ${({fadeInTime:e})=>e?"0":"1"};
148
- animation: ${({fadeInTime:e,isMounted:t})=>t&&e?ir(e):""};
149
-
150
- display: grid;
151
- position: absolute;
152
- left: 0;
153
- right: 0;
154
- height: 75px;
155
- z-index: 9999;
156
- transition: bottom 300ms ease-in-out;
157
- `,mr=k.default.div`
158
- color: ${({theme:e})=>e.colorPrimary};
159
- background-color: ${({theme:e,transparentUI:t})=>t?e.backgroundColorPrimaryAlpha:e.backgroundColorSecondary};
160
- box-shadow: ${({theme:e})=>e.boxShadowUmbra};
161
- grid-template-columns: ${({showIcons:e,showTransformButtons:t,documentsBased:a})=>e&&!t?a?"repeat(6, minmax(min-content, 40px))":"repeat(5, minmax(min-content, 40px))":t?a?"40px 200px 200px 200px 40px 40px":"40px 200px 200px 200px 40px":a?"repeat(6, minmax(min-content, 40px))":"repeat(5, minmax(min-content, 40px))"};
162
- opacity: ${({opaque:e,mouseIn:t})=>e||t?"1":"0.4"};
163
-
164
- z-index: 9999;
165
- user-select: none;
166
- /* height: 75px; */
167
- display: grid;
168
- pointer-events: all;
169
- display: grid;
170
- align-items: center;
171
- justify-content: center;
172
- justify-items: center;
173
- border-radius: 22.5px;
174
- margin: 0 auto;
175
- margin-top: 10px;
176
- margin-bottom: 20px;
177
- padding: 0 22.5px;
178
- font-size: 12px;
179
- height: 45px;
180
- transition: opacity 300ms ease-in-out;
181
-
182
- :after {
183
- content: '';
184
- position: absolute;
185
- top: 55px;
186
- left: 0;
187
- right: 0;
188
- height: 20px;
189
- }
190
- `,gr=k.default.div`
191
- padding: ${({button:e,showIcons:t,showTransformButtons:a})=>e||t&&!a?"0":"0 7px"};
192
- background-color: ${({active:e,theme:t})=>e?t.backgroundColorTertiary:"transparent"};
193
- min-width: ${({button:e})=>e?"40px":"70px"};
194
-
195
- height: 45px;
196
- display: grid;
197
- align-items: center;
198
- justify-content: center;
199
- cursor: pointer;
200
- user-select: none;
201
-
202
- :hover {
203
- background: ${({theme:e})=>e.backgroundColorTertiary};
204
- }
205
- `,Tr=k.default.div`
206
- width: 40px;
207
- display: grid;
208
- place-content: center;
209
-
210
- /* svg {
211
- height: 15px;
212
- width: 15px;
213
- fill: white;
214
- } */
215
- `,hr=k.default.div`
216
- position: absolute;
217
- bottom: 75px;
218
- max-height: 250px;
219
- width: 380px;
220
- left: 50%;
221
- transform: translateX(-50%);
222
- border-radius: 22.5px;
223
- padding: 22px;
224
- font-size: 0.8rem;
225
- overflow: hidden;
226
-
227
- background-color: ${e=>e.theme.backgroundColorSecondary};
228
- box-shadow: ${e=>e.theme.boxShadowUmbra};
229
-
230
- ul {
231
- padding: 0;
232
- list-style: none;
233
- }
234
- `;k.default.div`
235
- display: flex;
236
- justify-content: space-between;
237
- align-items: center;
238
- position: relative;
239
-
240
- margin-bottom: ${e=>e.afterline?"30px":"10px"};
241
-
242
- ${e=>e.afterline?"\n ::after {\n position: absolute;\n content: '';\n left: 0;\n right: 0;\n bottom: -15px;\n height: 1px;\n background-color: white;\n }\n ":""};
243
- `;const Er=k.default.div`
244
- max-height: 210px;
245
- overflow: scroll;
246
- padding: 0 5px;
247
-
248
- /* Hide Scrollbar */
249
- scrollbar-width: none; /* Firefox 64 */
250
- -ms-overflow-style: none; /* Internet Explorer 11 */
251
- ::-webkit-scrollbar { /** WebKit */
252
- display: none;
253
- }
254
-
255
- h5::first-child {
256
- margin-top: 0;
257
- }
258
- `;k.default.li`
259
- margin: 10px 0;
260
- padding: 10px 20px;
261
- border-radius: 100px;
262
-
263
- cursor: ${e=>e.active?"initial":"pointer"};
264
- background-color: ${e=>e.active?e.theme.backgroundColorTertiary:""};
265
- box-shadow: ${e=>e.active?"inset 0px -1px 6px 0px "+e.theme.boxShadowUmbraColor:""};
266
-
267
- :hover {
268
- background-color: ${e=>e.theme.backgroundColorTertiary};
269
- box-shadow: ${e=>e.active?"inset 0px -1px 6px 0px "+e.theme.boxShadowUmbraColor:e.theme.boxShadowUmbra};
270
- }
271
- `;const _r=o.connect((e=>({interactionTheme:xn.themes.getInteractionTheme(e),activeUniverseID:xn.space.getActiveUniverseID(e)})),(e=>({dispatchSetActiveUniverse:t=>e(Nn.space.setActiveUniverse(t))})),null,{context:yn})((e=>{const{interactionTheme:t,activeUniverseID:a,dispatchSetActiveUniverse:n}=e;return x.default.createElement(hr,{theme:t},x.default.createElement(Er,null))})),Or=k.default.div`
272
- h5 {
273
- font-size: 1rem;
274
- margin: 0;
275
- }
276
-
277
- margin-bottom: 2rem;
278
- border-top-left-radius: 15px;
279
- border-top-right-radius: 15px;
280
-
281
- padding-bottom: ${e=>e.transparentUI&&e.toggled?"0.5rem":"0"};
282
- background-color: ${e=>e.transparentUI&&e.mouseOver?e.theme.backgroundColorSecondary:"transparent"};
283
- box-shadow: ${e=>e.transparentUI&&e.mouseOver?e.theme.boxShadowUmbra:"none"};
284
- color: ${e=>e.theme.colorPrimary};
285
- `,Sr=k.default.div`
286
- user-select: none;
287
- cursor: pointer;
288
- padding: 0.5rem;
289
- margin-bottom: 0.5rem;
290
- border-bottom: 1px solid transparent;
291
- text-align: left;
292
-
293
- :hover {
294
- border-bottom: 1px solid ${e=>e.theme.colorPrimary};
295
- }
296
- `,Rr=k.default.div`
297
- `,{typography:{Heading:Ar}}=d.universal,br=o.connect((e=>({interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({})),null,{context:yn})((e=>{const{heading:t,items:a,toggled:n,toggle:o,interactionTheme:i,configuration:l}=e,{global:s}=l,{transparentUI:c}=s,[u,d]=r.useState(!1);return x.default.createElement(Or,{theme:i,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),transparentUI:c,mouseOver:u,toggled:n},x.default.createElement(Sr,{theme:i,onClick:()=>o()},x.default.createElement(Ar,{theme:i,type:"h5"},t)),n&&x.default.createElement(Rr,null,a))})),Cr=k.default.div`
298
- position: absolute;
299
- bottom: 75px;
300
- height: 280px;
301
- width: 380px;
302
- left: 50%;
303
- transform: translateX(-50%);
304
- border-radius: 22.5px;
305
- padding: 22px;
306
- font-size: 0.8rem;
307
- overflow: hidden;
308
-
309
- background-color: ${e=>e.transparentUI?e.theme.backgroundColorPrimaryAlpha:e.theme.backgroundColorSecondary};
310
- box-shadow: ${e=>e.theme.boxShadowUmbra};
311
- `,Ir=k.default.div`
312
- display: flex;
313
- justify-content: space-between;
314
- align-items: center;
315
- position: relative;
316
- min-height: 30px;
317
- padding: 0 0.5rem;
318
-
319
- margin-bottom: ${e=>e.last?"0":e.afterline?"30px":"10px"};
320
-
321
- ${e=>e.afterline?`\n ::after {\n position: absolute;\n content: '';\n left: 0;\n right: 0;\n bottom: -15px;\n height: 1px;\n background-color: ${e.theme?e.theme.colorPrimary:"white"};\n }\n `:""};
322
- `,vr=k.default.div`
323
- height: 240px;
324
- overflow: scroll;
325
- padding: 0 5px;
326
-
327
- /* Hide Scrollbar */
328
- scrollbar-width: none; /* Firefox 64 */
329
- -ms-overflow-style: none; /* Internet Explorer 11 */
330
- ::-webkit-scrollbar { /** WebKit */
331
- display: none;
332
- }
333
-
334
- h5::first-child {
335
- margin-top: 0;
336
- }
337
- `,{inputs:{Dropdown:Pr}}=d.universal,Lr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({dispatchSetConfigurationThemeGeneralAction:t=>e(Nn.configuration.setConfigurationThemeGeneralAction(t)),dispatchSetConfigurationThemeInteractionAction:t=>e(Nn.configuration.setConfigurationThemeInteractionAction(t)),dispatchSetConfigurationLanguage:t=>e(Nn.configuration.setConfigurationLanguageAction(t)),dispatchSetGeneralTheme:t=>e(Nn.themes.setGeneralTheme(t)),dispatchSetInteractionTheme:t=>e(Nn.themes.setInteractionTheme(t))})),null,{context:yn})((e=>{const{stateLanguage:n,interactionTheme:o,configuration:i,dispatchSetGeneralTheme:l,dispatchSetInteractionTheme:s,dispatchSetConfigurationThemeGeneralAction:c,dispatchSetConfigurationThemeInteractionAction:u,dispatchSetConfigurationLanguage:d}=e,f=i.global.theme,[p,m]=r.useState("object"==typeof f?f.general:f),[g,T]=r.useState("object"==typeof f?f.interaction:f);return r.useEffect((()=>{"object"==typeof f?(m(f.general),T(f.interaction)):(m(f),T(f))}),[f]),x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerGlobalGeneralTheme),x.default.createElement(Pr,{selectables:Object.keys(j.default),selected:"string"==typeof p?p:"",atSelect:e=>(e=>{l(j.default[e]),c(e)})(e),theme:o,filterable:!0,heightItems:3,width:90,style:{fontSize:"0.8rem"}})),x.default.createElement(Ir,null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerGlobalInteractionTheme),x.default.createElement(Pr,{selectables:Object.keys(j.default),selected:"string"==typeof g?g:"",atSelect:e=>(e=>{s(j.default[e]),u(e)})(e),theme:o,heightItems:3,filterable:!0,width:90,style:{fontSize:"0.8rem"}})),x.default.createElement(Ir,{last:!0},a.internatiolate(n,t.internationalization.fields.toolbarDrawerGlobalLanguage),x.default.createElement(Pr,{selectables:t.internationalization.languages,selected:n,atSelect:e=>{d(e)},theme:o,heightItems:3,width:90,style:{fontSize:"0.8rem"}})))})),{inputs:{Switch:yr}}=d.universal,Ur=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({dispatchToggleConfigurationSpaceTransformMultimode:t=>e(Nn.configuration.toggleConfigurationSpaceTransformMultimode(t)),dispatchSetConfigurationSpaceTransformTouch:t=>e(Nn.configuration.setConfigurationSpaceTransformTouch(t)),dispatchSetConfigurationSpaceTransformLocks:t=>e(Nn.configuration.setConfigurationSpaceTransformLocks(t))})),null,{context:yn})((e=>{const{stateLanguage:n,interactionTheme:r,configuration:o,dispatchToggleConfigurationSpaceTransformMultimode:i,dispatchSetConfigurationSpaceTransformTouch:l,dispatchSetConfigurationSpaceTransformLocks:s}=e,{transformMultimode:c,transformLocks:u,transformTouch:d}=o.space;return x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformMultiModeTransform)),x.default.createElement(yr,{theme:r,checked:c,atChange:()=>i(!c),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowRotationX)),x.default.createElement(yr,{theme:r,checked:u.rotationX,atChange:()=>s("rotationX"),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowRotationY)),x.default.createElement(yr,{theme:r,checked:u.rotationY,atChange:()=>s("rotationY"),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowTranslationX)),x.default.createElement(yr,{theme:r,checked:u.translationX,atChange:()=>s("translationX"),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowTranslationY)),x.default.createElement(yr,{theme:r,checked:u.translationY,atChange:()=>s("translationY"),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowTranslationZ)),x.default.createElement(yr,{theme:r,checked:u.translationZ,atChange:()=>s("translationZ"),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowScale)),x.default.createElement(yr,{theme:r,checked:u.scale,atChange:()=>s("scale"),exclusive:!0,level:2})),x.default.createElement(Ir,{last:!0},x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformTouchTransform),": ",d===t.TRANSFORM_TOUCHES.PAN?"pan":"swipe"),x.default.createElement(yr,{theme:r,checked:d===t.TRANSFORM_TOUCHES.PAN,atChange:()=>d===t.TRANSFORM_TOUCHES.PAN?l(t.TRANSFORM_TOUCHES.SWIPE):l(t.TRANSFORM_TOUCHES.PAN),level:2})))})),{inputs:{Dropdown:wr,Switch:Nr,Slider:Dr}}=d.universal,Mr=o.connect((e=>({interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({dispatchSetConfigurationPlaneOpacity:t=>e(Nn.configuration.setConfigurationPlaneOpacity(t)),dispatchToggleConfigurationSpaceTransparentUI:()=>e(Nn.configuration.toggleConfigurationSpaceTransparentUI()),dispatchToggleConfigurationSpaceShowTransformOrigin:()=>e(Nn.configuration.toggleConfigurationSpaceShowTransformOrigin()),dispatchSetConfigurationSpaceTransformOriginSize:t=>e(Nn.configuration.setConfigurationSpaceTransformOriginSize(t)),dispatchSetConfigurationSpaceLayoutType:t=>e(Nn.configuration.setConfigurationSpaceLayoutType(t))})),null,{context:yn})((e=>{const{interactionTheme:n,configuration:r,dispatchSetConfigurationPlaneOpacity:o,dispatchToggleConfigurationSpaceTransparentUI:i,dispatchToggleConfigurationSpaceShowTransformOrigin:l,dispatchSetConfigurationSpaceTransformOriginSize:s,dispatchSetConfigurationSpaceLayoutType:c}=e,{global:u,space:d,elements:f}=r,{transparentUI:p,language:m}=u,{layout:g,transformOrigin:T}=d,h=t.layoutNames[g.type],{show:E,size:_}=T,O=f.plane.opacity;return x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,a.internatiolate(m,t.internationalization.fields.toolbarDrawerSpaceTransparentUserInterface),x.default.createElement(Nr,{checked:p,atChange:()=>i(),exclusive:!0,level:2,theme:n})),x.default.createElement(Ir,null,a.internatiolate(m,t.internationalization.fields.toolbarDrawerSpaceShowTransformOrigin),x.default.createElement(Nr,{checked:E,atChange:()=>l(),exclusive:!0,level:2,theme:n})),x.default.createElement(Ir,null,a.internatiolate(m,t.internationalization.fields.toolbarDrawerSpaceTransformOriginSize),x.default.createElement(wr,{selectables:["small","normal","large"],selected:_.toLowerCase(),atSelect:e=>{const a=e.toUpperCase();a!==t.SIZES.SMALL&&a!==t.SIZES.NORMAL&&a!==t.SIZES.LARGE||s(a)},heightItems:3,theme:n})),x.default.createElement(Ir,null,a.internatiolate(m,t.internationalization.fields.toolbarDrawerSpacePlaneOpacity),x.default.createElement(Dr,{value:O,max:1,min:0,step:.1,defaultValue:100,atChange:e=>o(e),thumbSize:"large",level:2,theme:n})),x.default.createElement(Ir,{last:!0},a.internatiolate(m,t.internationalization.fields.toolbarDrawerSpaceLayoutType),x.default.createElement(wr,{selectables:[...Object.values(t.layoutNames)],selected:h,atSelect:e=>{const t=e.toUpperCase().replace(/\s/g,"_");c(t)},heightItems:3,theme:n,width:100})))})),{inputs:{Switch:xr}}=d.universal,Fr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e),viewSize:xn.space.getViewSize(e)})),(e=>({dispatchToggleConfigurationToolbarConceal:()=>e(Nn.configuration.toggleConfigurationToolbarConceal()),dispatchToggleConfigurationToolbarTransformIcons:()=>e(Nn.configuration.toggleConfigurationToolbarTransformIcons()),dispatchToggleConfigurationToolbarTransformButtons:()=>e(Nn.configuration.toggleConfigurationToolbarTransformButtons()),dispatchToggleConfigurationToolbarOpaque:()=>e(Nn.configuration.toggleConfigurationToolbarOpaque())})),null,{context:yn})((e=>{const{stateLanguage:n,interactionTheme:o,configuration:i,viewSize:l,dispatchToggleConfigurationToolbarConceal:s,dispatchToggleConfigurationToolbarTransformIcons:c,dispatchToggleConfigurationToolbarTransformButtons:u,dispatchToggleConfigurationToolbarOpaque:d}=e,{toolbar:f}=i.elements,{conceal:p,opaque:m,transformIcons:g,transformButtons:T}=f,[h,E]=r.useState(!1);return r.useEffect((()=>{l.width<800?E(!0):E(!1)}),[l.width]),x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerToolbarAlwaysOpaque)),x.default.createElement(xr,{theme:o,checked:m,atChange:()=>d(),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerToolbarShowTransformIcons)),x.default.createElement(xr,{theme:o,checked:g,atChange:()=>c(),exclusive:!0,level:2})),!h&&x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerToolbarShowTransformArrows)),x.default.createElement(xr,{theme:o,checked:T,atChange:()=>u(),exclusive:!0,level:2})),x.default.createElement(Ir,{last:!0},x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerToolbarConcealToolbar)),x.default.createElement(xr,{theme:o,checked:p,atChange:()=>s(),exclusive:!0,level:2})))})),{inputs:{Switch:jr}}=d.universal,kr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({dispatchToggleConfigurationViewcubeHide:t=>e(Nn.configuration.toggleConfigurationViewcubeHide(t)),dispatchToggleConfigurationViewcubeButtons:t=>e(Nn.configuration.toggleConfigurationViewcubeButtons(t)),dispatchToggleConfigurationViewcubeOpaque:t=>e(Nn.configuration.toggleConfigurationViewcubeOpaque(t)),dispatchToggleConfigurationViewcubeConceal:()=>e(Nn.configuration.toggleConfigurationViewcubeConceal())})),null,{context:yn})((e=>{const{stateLanguage:n,interactionTheme:r,configuration:o,dispatchToggleConfigurationViewcubeHide:i,dispatchToggleConfigurationViewcubeButtons:l,dispatchToggleConfigurationViewcubeOpaque:s,dispatchToggleConfigurationViewcubeConceal:c}=e,{viewcube:u}=o.elements,{show:d,buttons:f,opaque:p,conceal:m}=u;return x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,{last:!d},x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerViewcubeShowViewcube)),x.default.createElement(jr,{theme:r,checked:d,atChange:()=>i(!d),exclusive:!0,level:2})),d&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerViewcubeShowTransformButtons)),x.default.createElement(jr,{theme:r,checked:f,atChange:()=>l(!f),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerViewcubeAlwaysOpaque)),x.default.createElement(jr,{theme:r,checked:p,atChange:()=>s(!p),exclusive:!0,level:2})),x.default.createElement(Ir,{last:!0},x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerViewcubeConcealViewcube)),x.default.createElement(jr,{theme:r,checked:m,atChange:()=>c(),exclusive:!0,level:2}))))})),{inputs:{Slider:Gr}}=d.universal,Yr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,stateConfiguration:xn.configuration.getConfiguration(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({dispatchSetConfigurationSpaceCullingDistance:t=>e(Nn.configuration.setConfigurationSpaceCullingDistance(t))})),null,{context:yn})((e=>{const{stateLanguage:n,stateConfiguration:o,stateInteractionTheme:i,dispatchSetConfigurationSpaceCullingDistance:l}=e,{cullingDistance:s}=o.space,[c,u]=r.useState(s),d=p.useDebouncedCallback((e=>{l(e)}),300);return x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTechnicalCullingDistance)),x.default.createElement(Gr,{theme:i,value:c,atChange:e=>{u(e),d(e)},min:1e3,max:5e3,defaultValue:1500})))})),Br=o.connect((e=>({interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({})),null,{context:yn})((e=>{const{interactionTheme:n,configuration:r}=e,{global:o}=r,{language:i}=o;return x.default.createElement(x.default.Fragment,null,t.defaultShortcuts.map(((e,r)=>{const{type:o}=e,l=t.shortcutsNames[o],{name:s,internationalizedKey:c,key:u,modifier:d}=l,f=Array.isArray(d)?d.reduce(((e,t)=>e+" + "+t))+" +":"string"==typeof d?d+" +":"",p=a.internatiolate(i,s),m=u,g=c?a.internatiolate(i,m):u;return x.default.createElement(Ir,{key:s,theme:n,afterline:"TURN_DOWN"===o||"TOGGLE_ROTATE"===o||"TOGGLE_TRANSLATE"===o,last:r===t.defaultShortcuts.length-1},x.default.createElement("div",null,p),x.default.createElement("div",null,f," ",g))})))})),Vr={GLOBAL:{name:t.internationalization.fields.toolbarDrawerGlobalTitle,drawer:t.TOOLBAR_DRAWERS.GLOBAL,component:x.default.createElement(Lr,null)},TRANSFORM:{name:t.internationalization.fields.toolbarDrawerTransformTitle,drawer:t.TOOLBAR_DRAWERS.TRANSFORM,component:x.default.createElement(Ur,null)},SPACE:{name:t.internationalization.fields.toolbarDrawerSpaceTitle,drawer:t.TOOLBAR_DRAWERS.SPACE,component:x.default.createElement(Mr,null)},TOOLBAR:{name:t.internationalization.fields.toolbarDrawerToolbarTitle,drawer:t.TOOLBAR_DRAWERS.TOOLBAR,component:x.default.createElement(Fr,null)},VIEWCUBE:{name:t.internationalization.fields.toolbarDrawerViewcubeTitle,drawer:t.TOOLBAR_DRAWERS.VIEWCUBE,component:x.default.createElement(kr,null)},TECHNICAL:{name:t.internationalization.fields.toolbarDrawerTechnicalTitle,drawer:t.TOOLBAR_DRAWERS.TECHNICAL,component:x.default.createElement(Yr,null)},SHORTCUTS:{name:t.internationalization.fields.toolbarDrawerShortcutsTitle,drawer:t.TOOLBAR_DRAWERS.SHORTCUTS,component:x.default.createElement(Br,null)}},Xr=Object.values(Vr),$r=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,stateInteractionTheme:xn.themes.getInteractionTheme(e),stateConfiguration:xn.configuration.getConfiguration(e),stateToolbarMenuScrollPosition:xn.ui.getToolbarScrollPosition(e)})),(e=>({dispatchToggleConfigurationToolbarToggleDrawer:t=>e(Nn.configuration.toggleConfigurationToolbarToggleDrawer(t)),dispatchSetUIToolbarScrollPosition:t=>e(Nn.ui.setUIToolbarScrollPosition(t))})),null,{context:yn})((e=>{const{stateLanguage:t,stateInteractionTheme:n,stateConfiguration:o,stateToolbarMenuScrollPosition:i,dispatchToggleConfigurationToolbarToggleDrawer:l,dispatchSetUIToolbarScrollPosition:s}=e,{global:c,elements:u}=o,{transparentUI:d}=c,{toolbar:f}=u,{drawers:m,toggledDrawers:g}=f,T=(e=>{if(0===e.length||e.includes("ALL"))return Xr;const t=[];for(const a of e){const e=Vr[a];t.push(e)}return t})(m),h=r.useRef(null),E=p.useDebouncedCallback((e=>{if(h.current){const e=h.current.scrollTop;s(e)}}),100);return r.useEffect((()=>(h.current&&h.current.addEventListener("wheel",E),()=>{h.current&&h.current.removeEventListener("wheel",E)})),[h.current]),r.useEffect((()=>{h.current&&(h.current.scrollTop=i)}),[i,h.current]),x.default.createElement(Cr,{theme:n,transparentUI:d},x.default.createElement(vr,{ref:h},T.map((e=>{const{name:n,drawer:r,component:o}=e,i=a.internatiolate(t,n);return x.default.createElement(br,{key:n,heading:i,items:x.default.createElement(x.default.Fragment,null,o),toggled:g.includes("ALL")||g.includes(r),toggle:()=>l(r)})}))))})),Wr=k.default.div`
338
- display: grid;
339
- align-items: center;
340
- justify-items: center;
341
- grid-template-columns: ${e=>e.showTransformButtons?"30px 30px 60px 30px 30px":"1fr"};
342
- `,zr=k.default.div`
343
- user-select: none;
344
- cursor: pointer;
345
- border-radius: 50px;
346
- width: 25px;
347
- height: 25px;
348
- display: grid;
349
- place-content: center;
350
- padding: 2px;
351
-
352
- background-color: ${({pressed:e,theme:t})=>e?t.backgroundColorTertiary:"initial"};
353
-
354
- :hover {
355
- background-color: ${({theme:e})=>e.backgroundColorTertiary};
356
- }
357
- `,Hr={left:"◀",right:"▶",up:"▲",down:"▼"},Zr=o.connect((e=>({interactionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{direction:t,transform:a,interactionTheme:n}=e,o=Hr[t],i=r.useRef(null),l=r.useRef(null),[s,c]=r.useState(!1),u=e=>{switch(e.type){case"tap":a(),i.current&&(c(!1),clearInterval(i.current));break;case"press":c(!0),i.current=setInterval((()=>{a()}),30);break;case"pressup":c(!1),i.current&&clearInterval(i.current)}};return r.useEffect((()=>{if("undefined"==typeof window)return;let e;return Un(void 0,void 0,void 0,(function*(){const t=(yield Mn()).default;e=new t(l.current),e.on("tap press pressup",u)})),()=>{e&&e.off("tap press pressup",u)}}),[l.current]),x.default.createElement(zr,{ref:l,theme:n,pressed:s,onMouseLeave:()=>{i.current&&(c(!1),clearInterval(i.current))}},o)})),Kr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e)})),(e=>({rotateUp:()=>e(Nn.space.rotateUp()),rotateDown:()=>e(Nn.space.rotateDown()),rotateLeft:()=>e(Nn.space.rotateLeft()),rotateRight:()=>e(Nn.space.rotateRight())})),null,{context:yn})((e=>{const{showTransformButtons:n,showIcons:r,transformMode:o,toggleTransform:i,stateLanguage:l,interactionTheme:s,rotateUp:c,rotateDown:u,rotateLeft:d,rotateRight:p}=e;return x.default.createElement(Wr,{showTransformButtons:n},n&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Zr,{direction:"left",transform:()=>p()}),x.default.createElement(Zr,{direction:"up",transform:()=>c()})),x.default.createElement(gr,{theme:s,onClick:()=>i(t.TRANSFORM_MODES.ROTATION),active:o===t.TRANSFORM_MODES.ROTATION,showIcons:r,showTransformButtons:n,button:r},r?x.default.createElement(Tr,null,x.default.createElement(f.PluridIconRotate,null)):x.default.createElement(x.default.Fragment,null,a.internatiolate(l,t.internationalization.fields.toolbarTransformRotate))),n&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Zr,{direction:"down",transform:()=>u()}),x.default.createElement(Zr,{direction:"right",transform:()=>d()})))})),qr=k.default.div`
358
- display: grid;
359
- align-items: center;
360
- justify-items: center;
361
- grid-template-columns: ${e=>e.showTransformButtons?"30px 60px 30px":"1fr"};
362
- `,Qr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e)})),(e=>({scaleUp:()=>e(Nn.space.scaleUp()),scaleDown:()=>e(Nn.space.scaleDown())})),null,{context:yn})((e=>{const{showTransformButtons:n,showIcons:r,transformMode:o,toggleTransform:i,stateLanguage:l,interactionTheme:s,scaleUp:c,scaleDown:u}=e;return x.default.createElement(qr,{showTransformButtons:n},n&&x.default.createElement(Zr,{direction:"up",transform:()=>c()}),x.default.createElement(gr,{theme:s,onClick:()=>i(t.TRANSFORM_MODES.SCALE),active:o===t.TRANSFORM_MODES.SCALE,showIcons:r,showTransformButtons:n,button:r},r?x.default.createElement(Tr,null,x.default.createElement(f.PluridIconScale,null)):x.default.createElement(x.default.Fragment,null,a.internatiolate(l,t.internationalization.fields.toolbarTransformScale))),n&&x.default.createElement(Zr,{direction:"down",transform:()=>u()}))})),Jr=k.default.div`
363
- display: grid;
364
- align-items: center;
365
- justify-items: center;
366
- grid-template-columns: ${e=>e.showTransformButtons?"30px 30px 60px 30px 30px":"1fr"};
367
- `,eo=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e)})),(e=>({translateUp:()=>e(Nn.space.translateUp()),translateDown:()=>e(Nn.space.translateDown()),translateLeft:()=>e(Nn.space.translateLeft()),translateRight:()=>e(Nn.space.translateRight())})),null,{context:yn})((e=>{const{showTransformButtons:n,showIcons:r,transformMode:o,toggleTransform:i,stateLanguage:l,interactionTheme:s,translateUp:c,translateDown:u,translateLeft:d,translateRight:p}=e;return x.default.createElement(Jr,{showTransformButtons:n},n&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Zr,{direction:"left",transform:()=>d()}),x.default.createElement(Zr,{direction:"up",transform:()=>c()})),x.default.createElement(gr,{theme:s,onClick:()=>i(t.TRANSFORM_MODES.TRANSLATION),active:o===t.TRANSFORM_MODES.TRANSLATION,showIcons:r,showTransformButtons:n,button:r},r?x.default.createElement(Tr,null,x.default.createElement(f.PluridIconTranslate,null)):x.default.createElement(x.default.Fragment,null,a.internatiolate(l,t.internationalization.fields.toolbarTransformTranslate))),n&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Zr,{direction:"down",transform:()=>u()}),x.default.createElement(Zr,{direction:"right",transform:()=>p()})))})),to=o.connect((e=>({configuration:xn.configuration.getConfiguration(e),theme:xn.themes.getInteractionTheme(e),viewSize:xn.space.getViewSize(e)})),(e=>({dispatchToggleConfigurationSpaceFirstPerson:()=>e(Nn.configuration.toggleConfigurationSpaceFirstPerson()),dispatchSetConfigurationSpaceTransformMode:t=>e(Nn.configuration.setConfigurationSpaceTransformMode(t))})),null,{context:yn})((e=>{const{theme:a,configuration:n,viewSize:o,dispatchToggleConfigurationSpaceFirstPerson:i,dispatchSetConfigurationSpaceTransformMode:l}=e,{global:s,elements:c,space:u}=n,{transparentUI:d}=s,{firstPerson:p,transformMode:m,fadeInTime:g}=u,{toolbar:T}=c,{conceal:h,opaque:E,transformIcons:_,transformButtons:O}=T,S=T.show,R=r.useRef(null),[A,b]=r.useState(!1),[C,I]=r.useState(fr.NONE),[v,P]=r.useState(_),[L,y]=r.useState(O),[U,w]=r.useState(!1),N=e=>{C!==fr.NONE&&I(fr.NONE),l(e)};return r.useEffect((()=>{w(!0)}),[]),r.useEffect((()=>{o.width<800&&O&&y(!1),o.width>800&&y(O)}),[o.width]),r.useEffect((()=>{P(_),y(O)}),[_,O]),r.useEffect((()=>(A&&R.current&&clearTimeout(R.current),A||(R.current=setTimeout((()=>{I(fr.NONE)}),400)),()=>{R.current&&clearTimeout(R.current)})),[A]),S?x.default.createElement(pr,{onMouseEnter:()=>b(!0),onMouseLeave:()=>b(!1),mouseIn:A,conceal:h,showMenu:C,isMounted:U,fadeInTime:g,"data-plurid-entity":t.PLURID_ENTITY_TOOLBAR},x.default.createElement(mr,{theme:a,showIcons:v,showTransformButtons:L,documentsBased:!1,mouseIn:A,opaque:E,transparentUI:d},x.default.createElement(gr,{theme:a,onClick:()=>i(),active:p,button:!0,showIcons:v,showTransformButtons:L},x.default.createElement(Tr,null,x.default.createElement(f.PluridIconFirstPerson,null))),x.default.createElement(Kr,{showTransformButtons:L,showIcons:v,transformMode:m,toggleTransform:N}),x.default.createElement(Qr,{showTransformButtons:L,showIcons:v,transformMode:m,toggleTransform:N}),x.default.createElement(eo,{showTransformButtons:L,showIcons:v,transformMode:m,toggleTransform:N}),x.default.createElement(gr,{theme:a,onClick:()=>{return e=fr.MORE,void(C===e?I(fr.NONE):(l(t.TRANSFORM_MODES.ALL),I(e)));var e},active:C===fr.MORE,button:!0,showIcons:v,showTransformButtons:L},x.default.createElement(Tr,null,x.default.createElement(f.PluridIconMore,null)))),C===fr.UNIVERSES&&x.default.createElement(_r,null),C===fr.MORE&&x.default.createElement($r,null)):x.default.createElement(x.default.Fragment,null)})),ao=k.default.div`
368
- position: absolute;
369
- @media (max-width: 800px) {
370
- top: ${({conceal:e,mouseOver:t})=>e&&!t?"-90px":"0"};
371
- }
372
- bottom: ${({conceal:e,mouseOver:t})=>e&&!t?"-90px":"0"};
373
- right: ${({conceal:e,mouseOver:t})=>e&&!t?"-100px":"0"};
374
- position: absolute;
375
- user-select: none;
376
- transition: all 300ms ease-in-out;
377
- z-index: 9998;
378
- height: 165px;
379
- display: grid;
380
- grid-template-areas: "PVScale PVScale PVScale PVScale"
381
- "PVEmptyOne PVRotateUp PVEmptyTwo PVTranslateY"
382
- "PVRotateLeft PVModel PVRotateRight PVTranslateY"
383
- "PVEmptyThree PVRotateDown PVFitview PVTranslateY"
384
- "PVTranslateX PVTranslateX PVTranslateX PVTranslateX";
385
- grid-template-rows: 20px 15px 95px 15px 20px;
386
- grid-template-columns: 15px 115px 15px 20px;
387
-
388
- opacity: ${({fadeInTime:e})=>e?"0":"1"};
389
- animation: ${({fadeInTime:e,isMounted:t})=>t&&e?ir(e):""};
390
-
391
- :hover {
392
- opacity: 1;
393
- }
394
- `,no=k.default.div`
395
- display: grid;
396
- place-content: center;
397
-
398
- /* TODO
399
- * Themed color
400
- */
401
- color: white;
402
- `,ro=k.default.div`
403
- user-select: none;
404
- font-size: 0.6rem;
405
- width: 1.2rem;
406
- height: 1.2rem;
407
- border-radius: 0.6rem;
408
- display: grid;
409
- place-content: center;
410
- cursor: pointer;
411
-
412
- :hover {
413
- background-color: ${({theme:e})=>e.backgroundColorTertiary};
414
- }
415
- `,oo=k.default.div`
416
- grid-area: PVFitview;
417
- display: grid;
418
- place-content: center;
419
- cursor: pointer;
420
- user-select: none;
421
-
422
- svg {
423
- height: 0.8rem;
424
- width: 0.8rem;
425
- fill: white;
426
- }
427
- `,io=k.default.div`
428
- font-size: 0.6rem;
429
- position: absolute;
430
- height: 50px;
431
- width: 50px;
432
- pointer-events: none;
433
- display: grid;
434
- transform-style: preserve-3d;
435
- grid-template-areas: "PVFTopLeft PVFTopCenter PVFTopRight"
436
- "PVFMiddleLeft PVFMiddleCenter PVFMiddleRight"
437
- "PVFBottomLeft PVFBottomCenter PVFBottomRight";
438
- grid-template-rows: 10px 30px 10px;
439
- grid-template-columns: 10px 30px 10px;
440
- box-sizing: content-box;
441
- transition: all 300ms linear;
442
-
443
- border: 1px solid ${({mouseOver:e,theme:t})=>e?t.colorTertiary:t.backgroundColorSecondary};
444
- box-shadow: ${({face:e,theme:t})=>"base"===e?"0px 0px 12px 2px "+t.boxShadowPenumbraColor:""};
445
- opacity: ${({opaque:e,mouseOver:t})=>{if(!e){if(t)return"0.8";if(!t)return"0.4"}return"1"}};
446
- transform: ${({face:e})=>{switch(e){case"front":return"translateZ(25px) rotateY(0deg)";case"back":return"translateZ(-25px) rotateY(-180deg)";case"left":return"translateX(-25px) rotateY(-90deg)";case"right":return"translateX(25px) rotateY(90deg)";case"top":return"translateY(-25px) rotateX(90deg)";case"base":return"translateY(25px) rotateX(-90deg)"}return""}};
447
- `,lo=k.default.div`
448
- display: grid;
449
- place-content: center;
450
- cursor: pointer;
451
- pointer-events: all;
452
-
453
- grid-area: ${({type:e})=>`PVF${e}`};
454
- color: ${({theme:e,hovered:t})=>t?e.colorPrimary:e.colorSecondary};
455
- background-color: ${({theme:e,transparentUI:t,hovered:a,active:n})=>t&&!a?e.backgroundColorPrimaryAlpha:n||a?e.backgroundColorTertiary:e.backgroundColorSecondary};
456
- border: 1px solid ${({theme:e,transparentUI:t,hovered:a})=>t&&!a?"transparent":a?e.colorTertiary:e.backgroundColorSecondary};
457
-
458
- :hover {
459
- background-color: ${({theme:e})=>e.backgroundColorTertiary};
460
- }
461
- `,so="TopLeft",co="TopCenter",uo="TopRight",fo="MiddleLeft",po="MiddleCenter",mo="MiddleRight",go="BottomLeft",To="BottomCenter",ho="BottomRight",Eo={frontTopLeft:"A1",frontTopCenter:"A2",frontTopRight:"A3",frontMiddleLeft:"B1",frontMiddleCenter:"B2",frontMiddleRight:"B3",frontBottomLeft:"C1",frontBottomCenter:"C2",frontBottomRight:"C3",rightTopLeft:"A3",rightTopCenter:"A4",rightTopRight:"A5",rightMiddleLeft:"B3",rightMiddleCenter:"B4",rightMiddleRight:"B5",rightBottomLeft:"C3",rightBottomCenter:"C4",rightBottomRight:"C5",backTopLeft:"A5",backTopCenter:"A6",backTopRight:"A7",backMiddleLeft:"B5",backMiddleCenter:"B6",backMiddleRight:"B7",backBottomLeft:"C5",backBottomCenter:"C6",backBottomRight:"C7",leftTopLeft:"A7",leftTopCenter:"A8",leftTopRight:"A1",leftMiddleLeft:"B7",leftMiddleCenter:"B8",leftMiddleRight:"B1",leftBottomLeft:"C7",leftBottomCenter:"C8",leftBottomRight:"C1",topTopLeft:"A7",topTopCenter:"A6",topTopRight:"A5",topMiddleLeft:"A8",topMiddleCenter:"D1",topMiddleRight:"A4",topBottomLeft:"A1",topBottomCenter:"A2",topBottomRight:"A3",baseTopLeft:"C1",baseTopCenter:"C2",baseTopRight:"C3",baseMiddleLeft:"C8",baseMiddleCenter:"E1",baseMiddleRight:"C4",baseBottomLeft:"C7",baseBottomCenter:"C6",baseBottomRight:"C5"},_o={A1:{rotateX:-45,rotateY:45},A2:{rotateX:-45,rotateY:0},A3:{rotateX:-45,rotateY:-45},B1:{rotateX:0,rotateY:45},B2:{rotateX:0,rotateY:0},B3:{rotateX:0,rotateY:-45},C1:{rotateX:45,rotateY:45},C2:{rotateX:45,rotateY:0},C3:{rotateX:45,rotateY:-45},A4:{rotateX:-45,rotateY:270.1},A5:{rotateX:-45,rotateY:225},B4:{rotateX:0,rotateY:270.1},B5:{rotateX:0,rotateY:225},C4:{rotateX:45,rotateY:270.1},C5:{rotateX:45,rotateY:225},A6:{rotateX:-45,rotateY:180},A7:{rotateX:-45,rotateY:135},B6:{rotateX:0,rotateY:180.1},B7:{rotateX:0,rotateY:135},C6:{rotateX:45,rotateY:180.1},C7:{rotateX:45,rotateY:135},A8:{rotateX:-45,rotateY:90.1},B8:{rotateX:0,rotateY:90.1},C8:{rotateX:45,rotateY:90.1},D1:{rotateX:-90.1,rotateY:0},E1:{rotateX:90.1,rotateY:0}},Oo=o.connect((e=>({generalTheme:xn.themes.getGeneralTheme(e),interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({dispatchRotateX:t=>e(Nn.space.rotateX(t)),dispatchRotateY:t=>e(Nn.space.rotateY(t)),dispatchSetAnimatedTransform:t=>e(Nn.space.setAnimatedTransform(t))})),null,{context:yn})((e=>{const{face:t,faceText:a,mouseOver:n,hoveredZone:r,setHoveredZone:o,activeZone:i,setActiveZone:l,generalTheme:s,interactionTheme:c,configuration:u,dispatchRotateX:d,dispatchRotateY:f,dispatchSetAnimatedTransform:p}=e,{global:m,elements:g}=u,{transparentUI:T}=m,h=g.viewcube.opaque,E=e=>{const a=Eo[`${t}${e}`],n=_o[a];l(a),p(!0),d(n.rotateX),f(n.rotateY),setTimeout((()=>{p(!1)}),450)};return x.default.createElement(io,{theme:s,face:t,opaque:h,mouseOver:n},x.default.createElement(lo,{theme:c,type:so,active:i===Eo[`${t}${so}`],hovered:r===Eo[`${t}${so}`],onClick:()=>E(so),onMouseEnter:()=>o(Eo[`${t}${so}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:co,active:i===Eo[`${t}${co}`],hovered:r===Eo[`${t}${co}`],onClick:()=>E(co),onMouseEnter:()=>o(Eo[`${t}${co}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:uo,active:i===Eo[`${t}${uo}`],hovered:r===Eo[`${t}${uo}`],onClick:()=>E(uo),onMouseEnter:()=>o(Eo[`${t}${uo}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:fo,active:i===Eo[`${t}${fo}`],hovered:r===Eo[`${t}${fo}`],onClick:()=>E(fo),onMouseEnter:()=>o(Eo[`${t}${fo}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:po,active:i===Eo[`${t}${po}`],hovered:r===Eo[`${t}${po}`],onClick:()=>E(po),onMouseEnter:()=>o(Eo[`${t}${po}`]),transparentUI:T},a),x.default.createElement(lo,{theme:c,type:mo,active:i===Eo[`${t}${mo}`],hovered:r===Eo[`${t}${mo}`],onClick:()=>E(mo),onMouseEnter:()=>o(Eo[`${t}${mo}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:go,active:i===Eo[`${t}${go}`],hovered:r===Eo[`${t}${go}`],onClick:()=>E(go),onMouseEnter:()=>o(Eo[`${t}${go}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:To,active:i===Eo[`${t}${To}`],hovered:r===Eo[`${t}${To}`],onClick:()=>E(To),onMouseEnter:()=>o(Eo[`${t}${To}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:ho,active:i===Eo[`${t}${ho}`],hovered:r===Eo[`${t}${ho}`],onClick:()=>E(ho),onMouseEnter:()=>o(Eo[`${t}${ho}`]),transparentUI:T}))})),So=k.default.div`
462
- grid-area: PVModel;
463
- `,Ro=k.default.div`
464
- perspective: 2000px;
465
- perspective-origin: 50% 50%;
466
- `,Ao=k.default.div`
467
- transform-style: preserve-3d;
468
- width: 50px;
469
- height: 50px;
470
- `,{matrixArrayToCSSMatrix:bo,rotateMatrix:Co,multiplyArrayOfMatrices:Io,scaleMatrix:vo,translateMatrix:Po}=a.interaction.matrix,{degToRad:Lo}=a.interaction.quaternion,yo=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,spaceRotationX:xn.space.getRotationX(e),spaceRotationY:xn.space.getRotationY(e),stateAnimatedTransform:xn.space.getAnimatedTransform(e),stateTransformTime:xn.space.getTransformTime(e)})),(e=>({})),null,{context:yn})((e=>{const{mouseOver:n,stateLanguage:o,spaceRotationX:i,spaceRotationY:l,stateAnimatedTransform:s,stateTransformTime:c}=e,[u,d]=r.useState(""),[f,p]=r.useState("");r.useEffect((()=>{u||p("")}),[i,l]);const m=(()=>{const e=32,t=23,a=0,n=0,r=0,o=0,s=Co(Lo(-i),Lo(-l)),c=Po(e,t,a),u=vo(1),d=Io([c,Io([Po(n,r,o),s,Po(-n,-r,-o)]),u]);return bo(d)})();return x.default.createElement(So,null,x.default.createElement(Ro,null,x.default.createElement(Ao,{suppressHydrationWarning:!0,style:{transform:m,transition:n||s?`transform ${c}ms ease-in-out`:""},onMouseLeave:()=>{d("")}},x.default.createElement(Oo,{face:"front",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeFront),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}),x.default.createElement(Oo,{face:"back",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeBack),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}),x.default.createElement(Oo,{face:"left",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeLeft),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}),x.default.createElement(Oo,{face:"right",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeRight),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}),x.default.createElement(Oo,{face:"top",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeTop),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}),x.default.createElement(Oo,{face:"base",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeBase),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}))))})),Uo=o.connect((e=>({stateConfiguration:xn.configuration.getConfiguration(e),stateInteractionTheme:xn.themes.getInteractionTheme(e),stateTransformTime:xn.space.getTransformTime(e)})),(e=>({dispatchRotateXWith:t=>e(Nn.space.rotateXWith(t)),dispatchRotateYWith:t=>e(Nn.space.rotateYWith(t)),dispatchSetAnimatedTransform:t=>e(Nn.space.setAnimatedTransform(t)),dispatchSpaceResetTransform:()=>e(Nn.space.spaceResetTransform())})),null,{context:yn})((e=>{const{stateConfiguration:a,stateInteractionTheme:n,stateTransformTime:o,dispatchRotateXWith:i,dispatchRotateYWith:l,dispatchSetAnimatedTransform:s,dispatchSpaceResetTransform:c}=e,{elements:u,space:d}=a,{viewcube:p}=u,{buttons:m,conceal:g}=p,{fadeInTime:T}=d,h=p.show,[E,_]=r.useState(!1),[O,S]=r.useState(!1),R=(e,t)=>{switch(s(!0),e){case"rotateX":i(t);break;case"rotateY":l(t)}setTimeout((()=>{s(!1)}),o)};return r.useEffect((()=>{S(!0)}),[]),h?x.default.createElement(ao,{onMouseEnter:()=>_(!0),onMouseLeave:()=>_(!1),onMouseMove:()=>E?null:_(!0),conceal:g,mouseOver:E,isMounted:O,fadeInTime:T,"data-plurid-entity":t.PLURID_ENTITY_VIEWCUBE},x.default.createElement(yo,{mouseOver:E}),E&&m&&x.default.createElement(x.default.Fragment,null,x.default.createElement(no,{style:{gridArea:"PVRotateUp"}},x.default.createElement(ro,{theme:n,onClick:()=>R("rotateX",-90.1)},"▲")),x.default.createElement(no,{theme:n,style:{gridArea:"PVRotateDown"}},x.default.createElement(ro,{theme:n,onClick:()=>R("rotateX",90.1)},"▼")),x.default.createElement(no,{theme:n,style:{gridArea:"PVRotateLeft"}},x.default.createElement(ro,{theme:n,onClick:()=>R("rotateY",90.1)},"◀")),x.default.createElement(no,{theme:n,style:{gridArea:"PVRotateRight"}},x.default.createElement(ro,{theme:n,onClick:()=>R("rotateY",-90.1)},"▶")),x.default.createElement(oo,{onClick:e=>{e.ctrlKey||e.metaKey||(s(!0),c(),setTimeout((()=>{s(!1)}),o))}},x.default.createElement(f.PluridIconGlobal,null)))):x.default.createElement(x.default.Fragment,null)})),wo=o.connect((e=>({})),(e=>({})),null,{context:yn})((e=>x.default.createElement(x.default.Fragment,null,x.default.createElement(sr,null),x.default.createElement(dr,null),x.default.createElement(to,null),x.default.createElement(Uo,null)))),{getRegisteredPlanes:No}=a.planes,Do=o.connect((e=>({stateConfiguration:xn.configuration.getConfiguration(e),stateTransform:xn.space.getTransform(e),stateTree:xn.space.getTree(e),stateSpaceLoading:xn.space.getLoading(e),stateSpaceView:xn.space.getView(e)})),(e=>({dispatch:e,dispatchSetConfiguration:t=>e(Nn.configuration.setConfiguration(t)),dispatchSetConfigurationMicro:()=>e(Nn.configuration.setConfigurationMicro()),dispatchSpaceSetViewSize:t=>e(Nn.space.setViewSize(t)),dispatchSetSpaceLoading:t=>e(Nn.space.setSpaceLoading(t)),dispatchSetAnimatedTransform:t=>e(Nn.space.setAnimatedTransform(t)),dispatchSetTransformTime:t=>e(Nn.space.setTransformTime(t)),dispatchSetSpaceLocation:t=>e(Nn.space.setSpaceLocation(t)),dispatchSetInitialTree:t=>e(Nn.space.setInitialTree(t)),dispatchSetTree:t=>e(Nn.space.setTree(t)),dispatchSetGeneralTheme:t=>e(Nn.themes.setGeneralTheme(t)),dispatchSetInteractionTheme:t=>e(Nn.themes.setInteractionTheme(t)),dispatchRotateX:t=>e(Nn.space.rotateX(t)),dispatchRotateXWith:t=>e(Nn.space.rotateXWith(t)),dispatchRotateY:t=>e(Nn.space.rotateY(t)),dispatchRotateYWith:t=>e(Nn.space.rotateYWith(t)),dispatchTranslateXWith:t=>e(Nn.space.translateXWith(t)),dispatchTranslateYWith:t=>e(Nn.space.translateYWith(t)),dispatchScaleUpWith:t=>e(Nn.space.scaleUpWith(t)),dispatchScaleDownWith:t=>e(Nn.space.scaleDownWith(t)),dispatchSpaceSetView:t=>e(Nn.space.spaceSetView(t))})),null,{context:yn})((e=>{const{planesRegistrar:n,customPlane:o,planeContext:i,planeContextValue:l,pubsub:c,planeNotFound:u,planeRenderError:d,matchedRoute:f,stateConfiguration:p,stateTransform:m,stateSpaceView:g,stateTree:T,dispatch:h,dispatchSetConfiguration:E,dispatchSetGeneralTheme:_,dispatchSetInteractionTheme:O,dispatchSetSpaceLocation:S,dispatchSetAnimatedTransform:R,dispatchSetTransformTime:A,dispatchSetTree:b,dispatchRotateXWith:C,dispatchRotateX:I,dispatchRotateYWith:v,dispatchRotateY:P,dispatchTranslateXWith:L,dispatchTranslateYWith:y,dispatchScaleUpWith:U,dispatchScaleDownWith:w,dispatchSpaceSetViewSize:N,dispatchSpaceSetView:D}=e,M=r.useRef(null),[F,k]=r.useState(c?[c]:[]),G=r.useCallback((e=>{const{transformLocks:a}=p.space;((e,a,n,r)=>{if(a.defaultPrevented)return;if(s.dom.verifyPathInputElement(a.path))return;const o=!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey);if("KeyF"===a.code&&o)return e(Nn.configuration.toggleConfigurationSpaceFirstPerson());if(n){if("KeyW"===a.code&&o&&r.translationZ)return e(Nn.space.viewCameraMoveForward());if("KeyS"===a.code&&o&&r.translationZ)return e(Nn.space.viewCameraMoveBackward());if("KeyA"===a.code&&o&&r.translationX)return e(Nn.space.viewCameraMoveLeft());if("KeyA"===a.code&&a.shiftKey&&r.rotationY)return e(Nn.space.viewCameraTurnLeft());if("KeyD"===a.code&&o&&r.translationX)return e(Nn.space.viewCameraMoveRight());if("KeyD"===a.code&&a.shiftKey&&r.rotationY)return e(Nn.space.viewCameraTurnRight());if("KeyQ"===a.code&&o&&r.rotationX)return e(Nn.space.viewCameraTurnUp());if("KeyZ"===a.code&&o&&r.rotationX)return e(Nn.space.viewCameraTurnDown());if("KeyE"===a.code&&o&&r.translationY)return e(Nn.space.viewCameraMoveUp());if("KeyC"===a.code&&o&&r.translationY)return e(Nn.space.viewCameraMoveDown())}if("KeyR"===a.code&&o)return e(Nn.configuration.setConfigurationSpaceTransformMode(t.TRANSFORM_MODES.ROTATION));if("KeyT"===a.code&&o)return e(Nn.configuration.setConfigurationSpaceTransformMode(t.TRANSFORM_MODES.TRANSLATION));if("KeyS"===a.code&&o&&!n)return e(Nn.configuration.setConfigurationSpaceTransformMode(t.TRANSFORM_MODES.SCALE));if("ArrowRight"===a.key){if(a.shiftKey&&r.rotationY)return e(Nn.space.rotateLeft());if(a.altKey&&r.translationX)return e(Nn.space.translateRight())}if("ArrowLeft"===a.key){if(a.shiftKey&&r.rotationY)return e(Nn.space.rotateRight());if(a.altKey&&r.translationX)return e(Nn.space.translateLeft())}if("ArrowUp"===a.key){if(a.shiftKey&&a.altKey&&r.translationZ)return e(Nn.space.translateIn());if(a.shiftKey&&!a.altKey&&r.rotationX)return e(Nn.space.rotateUp());if(a.altKey&&!a.shiftKey&&r.translationY)return e(Nn.space.translateUp());if(a.metaKey||a.ctrlKey&&r.scale)return e(Nn.space.scaleUp())}if("ArrowDown"===a.key){if(a.shiftKey&&a.altKey&&r.translationZ)return e(Nn.space.translateOut());if(a.shiftKey&&!a.altKey&&r.rotationX)return e(Nn.space.rotateDown());if(a.altKey&&!a.shiftKey&&r.translationY)return e(Nn.space.translateDown());if(a.metaKey||a.ctrlKey&&r.scale)e(Nn.space.scaleDown())}})(h,e,p.space.firstPerson,a)}),[p.space.firstPerson,p.space.transformLocks,h]),Y=r.useCallback((e=>{const{transformMode:a,transformLocks:n}=p.space,r={rotation:a===t.TRANSFORM_MODES.ROTATION,translation:a===t.TRANSFORM_MODES.TRANSLATION,scale:a===t.TRANSFORM_MODES.SCALE};((e,t,a,n)=>{(t.shiftKey||t.metaKey||t.altKey||t.ctrlKey||a.rotation||a.translation||a.scale)&&t.preventDefault();const r={deltaX:t.deltaX,deltaY:t.deltaY},o=Dn.getWheelDirection(r);a.rotation&&("left"===o&&n.rotationY&&e(Nn.space.rotateLeft()),"right"===o&&n.rotationY&&e(Nn.space.rotateRight()),"up"===o&&n.rotationX&&e(Nn.space.rotateUp()),"down"===o&&n.rotationX&&e(Nn.space.rotateDown())),t.shiftKey&&!t.altKey&&("up"===o&&n.rotationX&&e(Nn.space.rotateUp()),"down"===o&&n.rotationX&&e(Nn.space.rotateDown()),"left"===o&&n.rotationY&&e(Nn.space.rotateLeft()),"right"===o&&n.rotationY&&e(Nn.space.rotateRight())),a.translation&&("up"===o&&n.translationY&&e(Nn.space.translateDown()),"down"===o&&n.translationY&&e(Nn.space.translateUp()),"left"===o&&n.translationX&&e(Nn.space.translateRight()),"right"===o&&n.translationX&&e(Nn.space.translateLeft())),t.altKey&&t.shiftKey&&("up"===o&&n.translationZ&&e(Nn.space.translateIn()),"down"===o&&n.translationZ&&e(Nn.space.translateOut())),t.altKey&&!t.shiftKey&&("up"===o&&n.translationY&&e(Nn.space.translateDown()),"down"===o&&n.translationY&&e(Nn.space.translateUp()),"left"===o&&n.translationX&&e(Nn.space.translateRight()),"right"===o&&n.translationX&&e(Nn.space.translateLeft())),a.scale&&("down"===o&&n.scale&&e(Nn.space.scaleUp()),"up"===o&&n.scale&&e(Nn.space.scaleDown())),(t.metaKey||t.ctrlKey)&&("down"===o&&n.scale&&e(Nn.space.scaleUp()),"up"===o&&n.scale&&e(Nn.space.scaleDown()))})(h,e,r,n)}),[h,p.space.transformMode,p.space.transformLocks]),B=(e,t=p)=>{const r=No(n),o=new a.space.tree.Tree({planes:r,configuration:t,view:e}).compute();for(const e of T)for(const[t,a]of o.entries())e.route===a.route&&e.children&&(o[t].children=e.children);b(o)},V=r.useCallback((()=>{B(g)}),[g,p]),X=e=>{const n=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.CONFIGURATION,callback:e=>{if(e.internal)return;const t=a.general.configuration.merge(e,p);"object"==typeof t.global.theme?("string"==typeof t.global.theme.general?_(j.default[t.global.theme.general]):_(t.global.theme.general),"string"==typeof t.global.theme.interaction?O(j.default[t.global.theme.interaction]):O(t.global.theme.interaction)):"string"==typeof t.global.theme&&(_(j.default[t.global.theme]),O(j.default[t.global.theme])),E(t)}}),r=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_TRANSFORM,callback:e=>{const{value:t,internal:a}=e;a||S(t)}}),o=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_ANIMATED_TRANSFORM,callback:e=>{const{value:t}=e;R(t.active),t.time?A(t.time):A(450)}}),i=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_WITH,callback:e=>{const{value:t}=e;C(t)}}),l=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_TO,callback:e=>{const{value:t}=e;I(t)}}),s=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_WITH,callback:e=>{const{value:t}=e;v(t)}}),c=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_TO,callback:e=>{const{value:t}=e;P(t)}}),u=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_X_WITH,callback:e=>{const{value:t}=e;L(t)}}),d=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Y_WITH,callback:e=>{const{value:t}=e;y(t)}}),f=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.VIEW_ADD_PLANE,callback:e=>{const{plane:t}=e,a=[...g,t];D(a),B(a)}}),m=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.VIEW_SET_PLANES,callback:e=>{const{view:t}=e;D([...t]),B(t)}}),T=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.VIEW_REMOVE_PLANE,callback:e=>{const{plane:t}=e,a=g.filter((e=>"string"!=typeof e||e===t));D(a),B(a)}});return()=>{e.unsubscribe(n,t.PLURID_PUBSUB_TOPIC.CONFIGURATION),e.unsubscribe(r,t.PLURID_PUBSUB_TOPIC.SPACE_TRANSFORM),e.unsubscribe(o,t.PLURID_PUBSUB_TOPIC.SPACE_ANIMATED_TRANSFORM),e.unsubscribe(i,t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_WITH),e.unsubscribe(l,t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_TO),e.unsubscribe(s,t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_WITH),e.unsubscribe(c,t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_TO),e.unsubscribe(u,t.PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_X_WITH),e.unsubscribe(d,t.PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Y_WITH),e.unsubscribe(f,t.PLURID_PUBSUB_TOPIC.VIEW_ADD_PLANE),e.unsubscribe(m,t.PLURID_PUBSUB_TOPIC.VIEW_SET_PLANES),e.unsubscribe(T,t.PLURID_PUBSUB_TOPIC.VIEW_REMOVE_PLANE)}},$=e=>{const a={value:Object.assign({},m),internal:!0};e.publish({topic:t.PLURID_PUBSUB_TOPIC.SPACE_TRANSFORM,data:a}),e.publish({topic:t.PLURID_PUBSUB_TOPIC.CONFIGURATION,data:Object.assign(Object.assign({},p),{internal:!0})})},W=e=>{const{transformMode:a}=p.space;if(a===t.TRANSFORM_MODES.ALL)return;const{velocity:n,distance:r,direction:o}=e,i=a===t.TRANSFORM_MODES.ROTATION,l=a===t.TRANSFORM_MODES.TRANSLATION,s=a===t.TRANSFORM_MODES.SCALE;switch(R(!0),o){case 2:i&&v(60*n),l&&L(-1*r);break;case 4:i&&v(60*n),l&&L(r);break;case 8:i&&C(60*n),l&&y(-1*r),s&&U(n);break;case 16:i&&C(60*n),l&&y(r),s&&w(n)}setTimeout((()=>{R(!1)}),450)},z=e=>{const{transformMode:a}=p.space;if(a===t.TRANSFORM_MODES.ALL)return;const{velocity:n,distance:r,direction:o}=e,i=a===t.TRANSFORM_MODES.ROTATION,l=a===t.TRANSFORM_MODES.TRANSLATION,s=a===t.TRANSFORM_MODES.SCALE,c=20*n,u=r/5,d=n/4;switch(o){case 2:i&&v(c),l&&L(-1*u);break;case 4:i&&v(c),l&&L(u);break;case 8:i&&C(c),l&&y(-1*u),s&&U(d);break;case 16:i&&C(c),l&&y(u),s&&w(d)}};r.useEffect((()=>(M.current&&(M.current.addEventListener("keydown",G,{passive:!1}),M.current.addEventListener("wheel",Y,{passive:!1})),()=>{M.current&&(M.current.removeEventListener("keydown",G),M.current.removeEventListener("wheel",Y))})),[M.current,p.space.transformMode,p.space.firstPerson]),r.useEffect((()=>{const e=s.meta.debounce((()=>{if(M&&M.current){const e=M.current.offsetWidth,t=M.current.offsetHeight;N({width:e,height:t})}}),150);return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),r.useEffect((()=>(window.addEventListener("resize",V),()=>{window.removeEventListener("resize",V)})),[g,p]),r.useEffect((()=>{if("undefined"==typeof window)return;let e;return Un(void 0,void 0,void 0,(function*(){const a=(yield Mn()).default,{transformTouch:n}=p.space;delete a.defaults.cssProps.userSelect,delete a.defaults.cssProps.userDrag,delete a.defaults.cssProps.tapHighlightColor,delete a.defaults.cssProps.touchSelect,M.current&&(e=new a(M.current),e.get("pan").set({direction:a.DIRECTION_ALL}),e.get("swipe").set({direction:a.DIRECTION_ALL}),n===t.TRANSFORM_TOUCHES.PAN?e.on("pan",z):e.on("swipe",W))})),()=>{if(!e)return;const{transformTouch:a}=p.space;a===t.TRANSFORM_TOUCHES.PAN?e.off("pan",z):e.off("swipe",W)}}),[M.current,p.space.transformTouch,p.space.transformMode]),r.useEffect((()=>{const e=e=>{navigator.getGamepads()[e.gamepad.index]},t=e=>{navigator.getGamepads()[e.gamepad.index]};return window.addEventListener("gamepadconnected",e),window.addEventListener("gamepaddisconnected",t),()=>{window.removeEventListener("gamepadconnected",e),window.removeEventListener("gamepaddisconnected",t)}}),[]),r.useEffect((()=>{const e=[];for(const t of F){const a=X(t);e.push(a)}return()=>{for(const t of e)t()}}),[F.length]),r.useEffect((()=>{for(const e of F)$(e)}),[F.length,p,m]);const H={planesRegistrar:n,planeContext:i,planeContextValue:l,customPlane:o,planeNotFound:u,planeRenderError:d,matchedRoute:f,registerPubSub:e=>{const t=[...F,e];k(t)}},Z=0===g.length?x.default.createElement(x.default.Fragment,null):x.default.createElement(wo,null);return x.default.createElement(jn,{ref:M,tabIndex:0,transformMode:p.space.transformMode,"data-plurid-entity":t.PLURID_ENTITY_VIEW},x.default.createElement(Fn,null),x.default.createElement(wn.Provider,{value:H},Z))})),{registerPlanes:Mo}=a.planes;class xo extends r.Component{constructor(e,t){super(e),this.storeID=e.id||"default",this.context=t;const a=this.computeStore();this.store=Ln(a),this.subscribeStore()}componentDidUpdate(){const e=this.computeStore();this.store.dispatch({type:"SET_STATE",payload:e})}componentWillUnmount(){this.storeUnubscriber&&this.storeUnubscriber()}render(){return x.default.createElement(o.Provider,{store:this.store,context:yn},x.default.createElement(Do,Object.assign({},this.props)))}computeStore(){const{view:e,planes:t,configuration:n,precomputedState:r,planesRegistrar:o,id:i,useLocalStorage:l}=this.props;Mo(t,o);const s=this.store?this.store.getState():void 0,c=a.state.local.load(this.storeID,l),u=i&&this.context&&this.context.states[i]?this.context.states[i]:void 0;return a.state.compute(e,n,o,s,c,r,u)}subscribeStore(){this.store&&"undefined"!=typeof localStorage&&this.props.useLocalStorage&&(this.storeUnubscriber=this.store.subscribe((()=>{const e=this.store.getState(),t=JSON.stringify(e);localStorage.setItem("pluridState-"+this.storeID,t)})))}}xo.contextType=Y;const Fo=k.default.div`
471
- scroll-snap-type: ${e=>{const{alignment:t,snapType:a}=e;return"none"===a?"none":t+" "+a}};
472
-
473
- flex-direction: ${e=>{const{alignment:t}=e;return"x"===t?"row":"column"}};
474
-
475
- outline: none;
476
- overflow: auto;
477
- /* display: flex; */
478
- height: 100vh;
479
- height: -webkit-fill-available;
480
- width: 100vw;
481
- `,{resolvePluridRoutePlaneData:jo,Registrar:ko}=a.planes,Go=(e,n,r,o)=>{if(o||"RoutePlane"===(null==e?void 0:e.kind)){const t=o||e;if(!t)return()=>()=>x.default.createElement(x.default.Fragment,null);return Yo(t,n)}if(!e){const e=r.match("/not-found","route");if(e&&"Route"===e.kind){return Go(e,n,r)}return()=>()=>x.default.createElement(x.default.Fragment,null)}const{exterior:i,view:l,planes:c,spaces:u,defaultConfiguration:d,slotted:f,resolver:p}=e.data;p&&p(void 0);const m={value:e.match.value,parameters:e.match.parameters,query:e.match.query};let g;return Qn(i)&&(g=i,g&&(g.displayName="PluridRouteExterior")),!i||!g||l||c||u?l?()=>{const t=new M.default,a=x.default.createElement(xo,{view:l,planesRegistrar:n,configuration:d,pubsub:t,matchedRoute:e});return()=>x.default.createElement(x.default.Fragment,null,g&&x.default.createElement(g,{plurid:m,pubsub:t,spaces:f?[a]:void 0}),!f&&x.default.createElement(x.default.Fragment,null,a))}:(e=>{var n,r,o,i,l,c;if("Route"!==e.kind)return()=>()=>x.default.createElement(x.default.Fragment,null);const u="http",d="localhost:63000",{match:f,data:p}=e,{parameters:m,query:g}=f,T={value:f.value,parameters:m,query:g},{exterior:h,planes:E,spaces:_,slotted:O}=e.data,S=(null===(n=p.multispace)||void 0===n?void 0:n.alignment)||"y",R=(null===(r=p.multispace)||void 0===r?void 0:r.snapType)||"mandatory";let A=()=>x.default.createElement(x.default.Fragment,null);Qn(h)&&(A=h);let b=()=>x.default.createElement(x.default.Fragment,null);const C=[];if(_)for(const e of _){const n=[],r=[];if(e.planes)for(const o of e.planes){const i=jo(o),{component:l}=i,s=[u,d,p.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(p.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),t.PLURID_ROUTE_DEFAULT_UNIVERSE,t.PLURID_ROUTE_DEFAULT_CLUSTER,a.utilities.cleanPathElement(i.value)].join(t.PLURID_ROUTE_SEPARATOR),c={component:l,route:s};n.push(c),r.push(s)}if(e.universes)for(const o of e.universes){if(o.clusters)for(const i of o.clusters)for(const l of i.planes){const s=jo(l),{component:c}=s,f=[u,d,p.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(p.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),o.value===t.PLURID_ROUTE_DEFAULT_UNIVERSE_VALUE?t.PLURID_ROUTE_DEFAULT_UNIVERSE:a.utilities.cleanPathElement(o.value),i.value===t.PLURID_ROUTE_DEFAULT_CLUSTER_VALUE?t.PLURID_ROUTE_DEFAULT_CLUSTER:a.utilities.cleanPathElement(i.value),a.utilities.cleanPathElement(s.value)].join(t.PLURID_ROUTE_SEPARATOR),m={component:c,route:f};n.push(m),p.view?p.view.includes(s.value)&&r.push(f):r.push(f)}if(o.planes)for(const i of o.planes){const l=jo(i),{component:s}=l,c=[u,d,p.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(p.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),o.value===t.PLURID_ROUTE_DEFAULT_UNIVERSE_VALUE?t.PLURID_ROUTE_DEFAULT_UNIVERSE:a.utilities.cleanPathElement(o.value),t.PLURID_ROUTE_DEFAULT_CLUSTER,a.utilities.cleanPathElement(l.value)].join(t.PLURID_ROUTE_SEPARATOR),f={component:s,route:c};n.push(f),r.push(c)}}const o=new ko,i=x.default.createElement(xo,{key:s.uuid.generate(),id:p.value,planes:n,view:r,configuration:e.configuration,planesRegistrar:o});C.push(i)}if(E){const e=[],n=[];for(const r of E){const o=jo(r),{component:i}=o,l=[u,d,p.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(p.value),t.PLURID_ROUTE_DEFAULT_SPACE,t.PLURID_ROUTE_DEFAULT_UNIVERSE,t.PLURID_ROUTE_DEFAULT_CLUSTER,a.utilities.cleanPathElement(o.value)].join(t.PLURID_ROUTE_SEPARATOR),s={component:i,route:l};e.push(s),p.view?p.view.includes(o.value)&&n.push(l):n.push(l)}const r=x.default.createElement(xo,{key:s.uuid.generate(),id:p.value,planes:e,view:n,configuration:p.defaultConfiguration});C.push(r)}let I,v;return Qn(null===(o=p.multispace)||void 0===o?void 0:o.header)&&(I=null===(i=p.multispace)||void 0===i?void 0:i.header),Qn(null===(l=p.multispace)||void 0===l?void 0:l.footer)&&(v=null===(c=p.multispace)||void 0===c?void 0:c.footer),b=()=>x.default.createElement(Fo,{alignment:S,snapType:R,"data-plurid-entity":t.PLURID_ENTITY_MULTISPACE},I&&x.default.createElement(I,{plurid:T}),C,v&&x.default.createElement(v,{plurid:T})),()=>()=>x.default.createElement(x.default.Fragment,null,h&&x.default.createElement(A,{spaces:O?C:void 0,plurid:T}),(_||E)&&!O&&x.default.createElement(b,null))})(e):()=>()=>x.default.createElement(x.default.Fragment,null,g&&x.default.createElement(g,{plurid:m}))},Yo=(e,t)=>{if(e.match.query.flat){const a=e.match.query.flat.toLowerCase();if("true"===a||"1"===a){const a=t.get(e.match.value);if(a){const e=a.component;if("function"!=typeof e)return()=>()=>x.default.createElement(x.default.Fragment,null);return()=>()=>x.default.createElement(x.default.Fragment,null,x.default.createElement(e,null))}}}const{defaultConfiguration:a}=null==e?void 0:e.data;return()=>()=>x.default.createElement(x.default.Fragment,null,x.default.createElement(xo,{view:[e.match.value],planesRegistrar:t,configuration:a}))},{Registrar:Bo}=a.planes,{IsoMatcher:Vo}=a.routing,Xo=e=>{const{routes:a,planes:n,exterior:o,shell:i,static:l,view:c,cleanNavigation:u,notFoundPath:d}=e,f=d||"/not-found",m=((e,t)=>{const a=[];for(const t of e){if(t.planes)for(const e of t.planes){const n=jo(e),r={route:n.link?n.link:n.value.startsWith("/")?n.value:t.value+"/"+n.value,component:n.component};a.push(r)}t.spaces}if(t)for(const e of t){const t=jo(e),n={route:t.value,component:t.component};a.push(n)}return a})(a,n),g=r.useRef(new Bo(m)),T=r.useRef(new Vo({routes:a,routePlanes:n})),h=p.useMounted(),[E,_]=r.useState((e=>e?e.path:"undefined"!=typeof window?window.location.pathname+window.location.search:"/")(l)),[O,S]=r.useState(T.current.match(E,"route")),[R,A]=r.useState(Go(O,g.current,T.current,l&&l.directPlane?T.current.match(l.directPlane,"route"):void 0)),b=e=>{let t;e&&e.detail&&e.detail.path&&!t&&(t=e.detail.path),u&&c&&!t&&(t=c);const a=window.location.pathname;t||(t=a+window.location.search),_(t)};let C;r.useEffect((()=>(window.addEventListener("popstate",b),window.addEventListener(t.PLURID_ROUTER_LOCATION_CHANGED,b),()=>{window.removeEventListener("popstate",b),window.removeEventListener(t.PLURID_ROUTER_LOCATION_CHANGED,b)})),[]),r.useEffect((()=>{if(!h)return;u||location.pathname!==E&&history.pushState(null,"",E);let e=T.current.match(E,"route");if(e&&"RoutePlane"===e.kind){const t=Yo(e,g.current);return S(e),void A(t)}e||(e=T.current.match(f,"route")),S(e),A(Go(e,g.current,T.current))}),[h,E]),r.useEffect((()=>{if(!O)return;if("Route"!==O.kind)return;const e=O.match.value;s.storage.saveState(e,t.PLURID_ROUTER_STORAGE);const a=new CustomEvent(t.PLURID_ROUTER_LOCATION_STORED,{detail:{path:e}});window.dispatchEvent(a)}),[u,O]),Qn(o)&&(C=o,C&&(C.displayName="PluridRouterExterior"));let I=({children:e})=>x.default.createElement(x.default.Fragment,null,e);return Qn(i)&&(I=i,I&&(I.displayName="PluridRouterShell")),x.default.createElement(x.default.Fragment,null,C&&x.default.createElement(C,{matchedRoute:O}),x.default.createElement(I,{matchedRoute:O},x.default.createElement(R,null)))},$o=e=>{const{path:t,directPlane:a,routes:n,planes:r,exterior:o,shell:i,protocol:l,host:s,gateway:c,gatewayQuery:u,gatewayEndpoint:d}=e,f=l||"http",p=s||"localhost:63000";return x.default.createElement(Xo,{routes:n,planes:r,exterior:o,shell:i,static:{path:t,directPlane:a},protocol:f,host:p})};class Wo extends r.Component{constructor(e){super(e),this.properties=e}render(){const{metastate:e,children:t}=this.properties;return x.default.createElement(Y.Provider,{value:e},t)}}Wo.displayName="PluridProvider";const zo={x:0,y:0},Ho=e=>{const{elementID:t,rootID:a,children:n}=e,r=p.usePortal(t,a);return m.createPortal(n,r)},Zo=k.default.div`
482
- position: absolute;
483
- min-width: 600px;
484
- min-height: 300px;
485
- z-index: 99999;
486
-
487
- top: ${({linkCoordinates:e})=>e.y+"px"};
488
- left: ${({linkCoordinates:e})=>e.x+5+"px"};
489
- background-color: ${({theme:e})=>e.backgroundColorSecondary};
490
- box-shadow: ${({theme:e})=>e.boxShadowUmbra};
491
- `,{getPlanesRegistrar:Ko}=a.planes,qo=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{planeID:t,linkCoordinates:a,stateGeneralTheme:n}=e,o=r.useContext(wn);if(!o)return x.default.createElement(x.default.Fragment,null);const{planesRegistrar:i}=o,l=Ko(i);if(!l)return x.default.createElement(x.default.Fragment,null);const s=l.get(t);if(!s)return x.default.createElement(x.default.Fragment,null);const c=s.component;return"function"!=typeof c?x.default.createElement(x.default.Fragment,null):x.default.createElement(Zo,{theme:n,linkCoordinates:a},x.default.createElement(c,null))})),Qo=k.default.a`
492
- /**
493
- * Forces element to go to the second row if inlined.
494
- */
495
- display: inline-block;
496
-
497
- cursor: pointer;
498
- color: ${({theme:e})=>e.colorTertiary};
499
-
500
- :hover {
501
- color: ${({theme:e})=>e.colorPrimary};
502
- }
503
-
504
- ::after {
505
- content: "${({devisible:e,suffix:t})=>e?"":t||"'"}";
506
- }
507
- `,{resolveRoute:Jo,computePlaneAddress:ei}=a.routing,{getPlanesRegistrar:ti,getPluridPlaneIDByData:ai}=a.planes,{degToRad:ni,radToDeg:ri}=a.interaction.quaternion,{multiplyMatrices:oi,translateMatrix:ii,rotateYMatrix:li}=a.interaction.transform.general,{getTransformRotate:si,getTransformTranslate:ci,getTransformScale:ui}=a.interaction.transform.matrix3d;var di=o.connect((e=>({stateTree:xn.space.getTree(e),stateGeneralTheme:xn.themes.getGeneralTheme(e),stateConfiguration:xn.configuration.getConfiguration(e),stateViewSize:xn.space.getViewSize(e)})),(e=>({dispatchSetTree:t=>e(Nn.space.setTree(t)),dispatchSetAnimatedTransform:t=>e(Nn.space.setAnimatedTransform(t)),dispatchSetTransform:t=>e(Nn.space.setTransform(t)),dispatchSetSpaceField:t=>e(Nn.space.setSpaceField(t)),dispatchUpdateSpaceLinkCoordinates:t=>e(Nn.space.updateSpaceLinkCoordinates(t))})),null,{context:yn})((e=>{const{children:n,route:o,devisible:i,suffix:l,atClick:s,style:c,className:u,stateTree:d,stateGeneralTheme:f,stateConfiguration:p,stateViewSize:m,dispatchSetTree:g,dispatchSetAnimatedTransform:T,dispatchSetTransform:h,dispatchSetSpaceField:E,dispatchUpdateSpaceLinkCoordinates:_}=e,O=p.elements.plane.controls.show,S=t.PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_FADE_IN,R=t.PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_FADE_OUT,A=ei(o),b=Jo(A,p.network.protocol,p.network.host),C=null!=l?l:t.PLURID_DEFAULT_CONFIGURATION_LINK_SUFFIX,I=null!=i&&i,v=r.useContext(wn);if(!v)return x.default.createElement(x.default.Fragment,null,n);const{planesRegistrar:P}=v,L=ti(P);if(!L)return x.default.createElement(x.default.Fragment,null,n);const y=r.useRef(null),U=r.useRef(null),w=r.useRef(null),[N,D]=r.useState(!1),[M,F]=r.useState(!1),[j,k]=r.useState(!1),[G,Y]=r.useState(""),[B,V]=r.useState(""),[X,$]=r.useState(""),[W,z]=r.useState(zo),H=()=>{const e=y.current;if(!e)return Object.assign({},zo);let t=0,a=0,n=!1,r=e,o=!0,i=0,l=0;for(;o;)if("static"!==window.getComputedStyle(r).position||n||(t+=r.offsetTop,a+=r.offsetLeft,n=!0),"relative"===window.getComputedStyle(r).position&&(i+=t,l+=a,t=0,a=0,n=!1),r.scrollLeft&&(l+=-r.scrollLeft),r.scrollTop&&(i+=-r.scrollTop),r.parentElement){"PluridPlane"===r.parentElement.dataset.pluridEntity&&(o=!1),r=r.parentElement}else o=!1;const s=O?56:0;return{x:l+e.offsetWidth,y:i+s}},Z=(e,t)=>{if(!t)return;if(j)return;if(e.altKey||e.metaKey)return;const{location:a}=t,{translateX:n,translateY:r,translateZ:o,rotateY:i}=a,l=i<100?1:-1,s=i<100?-1:1,c=i<100?200:0,u=`matrix3d(${oi(oi(oi(ii(-n,-r,l*o),li(ni(i))),ii(n,r,s*o)),ii(-(n+c),-r,l*o)).flat().join(",")})`,d=si(u),f=ci(u),p=ui(u);T(!0),E({field:"transform",value:u}),h({translationX:f.translateX,translationY:f.translateY,translationZ:f.translateZ,rotationX:ri(d.rotateX),rotationY:-1*ri(d.rotateY),scale:p.scale}),setTimeout((()=>{T(!1)}),500)},K=e=>{j||B?(e=>{const{updatedTree:t,updatedPlane:n}=a.space.tree.logic.togglePlaneFromTree(d,B);Z(e,n),g(t),k((e=>!e)),F(!1)})(e):(e=>{if(!X||!b)return;const{route:t}=b,n=H(),{pluridPlaneID:r,updatedTree:o,updatedTreePlane:i}=a.space.tree.logic.updateTreeWithNewPlane(t,X,n,d,L.getAll(),p);r&&(Z(e,i),g(o),k(!0),V(r))})(e)},q=r.useCallback((e=>{e.preventDefault(),void 0!==s&&s(e),K(e)}),[y.current,d]);return r.useEffect((()=>{const e=ai(y.current);$(e);const t=H();z(t)}),[]),r.useEffect((()=>(N&&w.current&&(U.current=setTimeout((()=>{F(!0)}),S),clearTimeout(w.current)),N||(w.current=setTimeout((()=>{F(!1),U.current&&clearTimeout(U.current)}),R)),()=>{w.current&&clearTimeout(w.current),U.current&&clearTimeout(U.current)})),[N]),r.useEffect((()=>{}),[]),x.default.createElement(Qo,{ref:y,onClick:e=>q(e),onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1),theme:f,suffix:C,devisible:I,style:Object.assign({},c),className:u,"data-plurid-entity":t.PLURID_ENTITY_LINK},n,M&&!j&&x.default.createElement(Ho,{elementID:`preview-${X}`,rootID:X},x.default.createElement(qo,{planeID:G,linkCoordinates:W})))}));const fi=k.default.a`
508
- `,pi=k.default.div`
509
- cursor: pointer;
510
- `,mi=e=>{const{route:t,children:n,asAnchor:r,style:o,className:i,atClick:l}=e,s={onClick:e=>{if(l){if(l(e))return}e.preventDefault(),a.pluridRouterNavigate(t)},style:o,className:i};return null==r||r?x.default.createElement(fi,Object.assign({href:t},s),n):x.default.createElement(pi,Object.assign({},s),n)},gi=k.default.div`
511
- position: absolute;
512
- height: 0;
513
- width: 0;
514
- user-select: none;
515
- pointer-events: none;
516
- `,Ti=o.connect((e=>({stateConfiguration:xn.configuration.getConfiguration(e)})),(e=>({dispatchSetConfiguration:t=>e(Nn.configuration.setConfiguration(t))})),null,{context:yn})((e=>{const n=r.useContext(wn);if(!n)return x.default.createElement(x.default.Fragment,null);const{registerPubSub:o}=n,{configuration:i,pubsub:l,stateConfiguration:s,dispatchSetConfiguration:c}=e,u=r.useRef(null);return r.useEffect((()=>{const e=a.general.configuration.merge(i,s);c(e)}),[i]),r.useEffect((()=>{l&&o(l)}),[l]),x.default.createElement(gi,{ref:u,"data-plurid-entity":t.PLURID_ENTITY_APPLICATION_CONFIGURATOR})})),hi=k.default.div`
517
- position: absolute;
518
- height: 0;
519
- width: 0;
520
- user-select: none;
521
- pointer-events: none;
522
- `,{getPluridPlaneIDByData:Ei}=a.planes,_i=o.connect((e=>({})),(e=>({})),null,{context:yn})((e=>{const a=r.useRef(null),[n,o]=r.useState("");return r.useEffect((()=>{const e=Ei(a.current);o(e)}),[]),x.default.createElement(hi,{ref:a,"data-plurid-entity":t.PLURID_ENTITY_PLANE_CONFIGURATOR})})),Oi=k.default.div`
523
- `,Si=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{plurid:t}=e,a=t.value,n=r.useRef(!1),[o,i]=r.useState();return r.useEffect((()=>(n.current=!0,()=>{n.current=!1}))),r.useEffect((()=>{let e=!1;Un(void 0,void 0,void 0,(function*(){if(!e){e=!0;try{const{domain:e,url:t}=(e=>{const t=e.match(/^pttp:\/\/(\w+(\.|:)\w+)\/?/);if(!t)return{domain:"",url:""};const a=t[1];return{domain:a,url:`http://${a}/pttp`}})(a),r=((e,t)=>{if(e)return t.replace(`pttp://${e}`,"")})(e,a);if(!t||!r)return;const o=yield((e,t)=>Un(void 0,void 0,void 0,(function*(){try{const a=yield G.default(e,{method:"post",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({path:t}),credentials:"include"}),n=yield a.json();if(!n.element)return;const{element:r}=n,o=new T.ElementQLClient({url:r.url}),{status:i,Elements:l}=yield o.get(r.json,"json");if(!i)return;const s=l[r.name];return()=>s}catch(e){return}})))(t,r);if(!n.current)return;o&&i(o)}catch(e){return}}}))}),[]),x.default.createElement(Oi,null,o&&x.default.createElement(o,null))})),Ri=k.default.div`
524
- `,Ai=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{plurid:t}=e,a=t.value;return x.default.createElement(Ri,null,x.default.createElement("iframe",{src:a}))})),bi=e=>{const{top:t,index:a,element:n,setHeight:o}=e,i=r.useRef(null);return r.useEffect((()=>{i.current&&o(i.current.offsetHeight,a)}),[i.current]),x.default.createElement("div",{ref:i,style:{position:"absolute",top:t+"px"}},n)},{markers:{Spinner:Ci}}=d.universal,Ii=o.connect((e=>({translationY:xn.space.getTranslationY(e),viewSize:xn.space.getViewSize(e)})),(e=>({})),null,{context:yn})((e=>{const{items:t,generalHeight:a,translationY:n,viewSize:o}=e,i=a||100,l=r.useRef(null),c=r.useRef([]),u=r.useRef(Array(t.length).fill(i)),[d,f]=r.useState(0),[p,m]=r.useState(Math.floor(1e3/i)),[g,T]=r.useState(i*(p-d)),[h,E]=r.useState(!1),_=(e,t)=>{u.current[t]=e};return r.useEffect((()=>{if(u.current){const e=s.mathematics.arithmetic.sum(u.current,u.current.length);T(e)}}),[d,p,u.current]),r.useEffect((()=>{let e=0;for(const[t,a]of u.current.entries())e+=a,n<0?(e<Math.abs(n)&&f(t),e>Math.abs(n)+o.height&&e<Math.abs(n)+o.height+400&&m(t)):(f(0),m(10))}),[o.height,n]),r.useEffect((()=>{E(!0),setTimeout((()=>{const e=s.mathematics.arithmetic.sum(u.current,u.current.length);T(e),E(!1)}),400)}),[o]),x.default.createElement("div",{style:{height:g},ref:l},h&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Ci,null)),!h&&x.default.createElement(x.default.Fragment,null,(()=>{c.current=[];for(let e=d;e<=p;e++){const a=t[e];c.current.push(x.default.createElement(bi,{key:e+Math.random(),index:e,top:s.mathematics.arithmetic.sum(u.current,e),element:a,setHeight:_}))}return c.current})()))})),vi=k.default.div`
525
- `,Pi=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>x.default.createElement(vi,null,"PluridPlaneDebugger"))),Li=k.default.div`
526
- `,yi=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>x.default.createElement(Li,null,"PluridSpaceDebugger"))),{resolvePluridPlaneData:Ui}=a.planes,wi=(e,t,n,r)=>{const o=new Map,i=new Map(e||new Map),l=a.general.configuration.merge(n);if(t)for(const e of t){const t=Ui(e),n=a.routing.resolveRoute(t.route);if(!n)continue;const{protocol:r,host:o,path:l,space:s,universe:c,cluster:u,plane:d,route:f}=n,p={protocol:r,host:"",path:"",space:"",universe:"",cluster:"",plane:"",route:f,component:t.component},m=f;i.set(m,p)}const s=new Map(i),c={};for(const[e,t]of i)c[t.route]=e;for(const[e,t]of i);const u=r||[],d=[];for(const e of u)if("string"==typeof e){const t=a.routing.resolveRoute(e);if(!t)continue;d.push(t.route)}return{computedTree:[],indexedPlanesReference:s,planesPropertiesReference:o,appConfiguration:l}},Ni=(e,n,r)=>Un(void 0,void 0,void 0,(function*(){const o="http",i="localhost:63000",l=((e,t,n)=>{const r=new Map;for(const o of e){if(o.planes)for(const e of o.planes){const i=jo(e),l="/"===o.value?"p":a.utilities.cleanPathElement(o.value),s="s",c="u",u="c",d=a.utilities.cleanPathElement(i.value),f=[t,n,l,s,c,u,d].join("://"),p={protocol:t,host:n,path:l,space:s,universe:c,cluster:u,plane:d,component:i.component,route:f};r.set(f,p)}if(o.spaces){for(const e of o.spaces)if(e.universes)for(const i of e.universes)if(i.clusters)for(const l of i.clusters)for(const s of l.planes){const c=jo(s),u="/"===o.value?"p":a.utilities.cleanPathElement(o.value),d="default"===e.value?"s":a.utilities.cleanPathElement(e.value),f="default"===i.value?"u":a.utilities.cleanPathElement(i.value),p="default"===l.value?"c":a.utilities.cleanPathElement(l.value),m=a.utilities.cleanPathElement(c.value),g=[t,n,u,d,f,p,m].join("://"),T={protocol:t,host:n,path:u,space:d,universe:f,cluster:p,plane:m,component:c.component,route:g};r.set(g,T)}}else{const e="/"===o.value?"p":a.utilities.cleanPathElement(o.value),i=[t,n,e].join("://"),l={protocol:t,host:n,path:e,space:"",universe:"",cluster:"",plane:"",component:o.exterior||(()=>x.default.createElement(x.default.Fragment,null)),route:i};r.set(i,l)}}return r})(n,o,i),s=yield((e,n,r,o)=>Un(void 0,void 0,void 0,(function*(){const n={planes:[],spaces:[],view:[],value:""};if("Route"===e.kind){let t=e.data;e.data.resolver&&(t=yield e.data.resolver(o)),n.planes=t.planes||[],n.spaces=t.spaces||[],n.view=t.view||[],n.value=e.data.value||""}const{planes:r,spaces:i,view:l}=n,s=[];if(i)for(const e of i){const r=[],o=[];if(e.planes)for(const r of e.planes){const o=jo(r);n.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(n.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),a.utilities.cleanPathElement(o.value)}if(e.universes)for(const r of e.universes){if(r.clusters)for(const o of r.clusters)for(const i of o.planes){const l=jo(i);n.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(n.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),r.value===t.PLURID_ROUTE_DEFAULT_UNIVERSE_VALUE?t.PLURID_ROUTE_DEFAULT_UNIVERSE:a.utilities.cleanPathElement(r.value),o.value===t.PLURID_ROUTE_DEFAULT_CLUSTER_VALUE?t.PLURID_ROUTE_DEFAULT_CLUSTER:a.utilities.cleanPathElement(o.value),a.utilities.cleanPathElement(l.value)}if(r.planes)for(const o of r.planes){const i=jo(o);n.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(n.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),r.value===t.PLURID_ROUTE_DEFAULT_UNIVERSE_VALUE?t.PLURID_ROUTE_DEFAULT_UNIVERSE:a.utilities.cleanPathElement(r.value),a.utilities.cleanPathElement(i.value)}}const i={planes:r,view:o};s.push(i)}if(r){const e=[];for(const e of r){const r=jo(e);n.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(n.value),a.utilities.cleanPathElement(r.value)}const o={planes:e,view:l||[]};s.push(o)}return s})))(e,0,0,r),c={};for(const t of s){const{planes:a,view:n}=t,{computedTree:r,appConfiguration:o}=wi(l,a,void 0,n),i={configuration:Object.assign({},o),shortcuts:{global:!0},themes:{general:j.default.plurid,interaction:j.default.plurid},ui:{toolbarScrollPosition:50},space:{loading:!1,animatedTransform:!1,scale:1,rotationX:0,rotationY:0,translationX:0,translationY:0,translationZ:0,initialTree:r,tree:r,activeUniverseID:"",camera:{x:0,y:0,z:0},viewSize:{width:1440,height:821},spaceSize:{width:1440,height:821,depth:0,topCorner:{x:0,y:0,z:0}},view:n,culledView:[]}};c[e.data.value]=i}return{states:c}})),{IsoMatcher:Di,RouteParser:Mi}=a.routing,xi={PluridPlaneBridge:Bn,PluridPlaneContent:Kn,PluridPlaneControls:Hn,PluridPlaneDebugger:Pi,PluridSpaceDebugger:yi},Fi={Application:xo,RouterStatic:$o,RouterBrowser:Xo,Provider:Wo,Link:di,RouterLink:mi,ApplicationConfigurator:Ti,PlaneConfigurator:_i,ExternalPlane:Si,IframePlane:Ai,VirtualList:Ii,SPACE_LAYOUT:t.LAYOUT_TYPES,SIZES:t.SIZES,TRANSFORM_MODES:t.TRANSFORM_MODES,TRANSFORM_TOUCHES:t.TRANSFORM_TOUCHES,PubSub:M.default,PUBSUB_TOPIC:t.PLURID_PUBSUB_TOPIC,serverComputeMetastate:Ni,IsoMatcher:Di,routerNavigate:a.pluridRouterNavigate,internals:xi};Object.defineProperty(e,"PLURID_PUBSUB_TOPIC",{enumerable:!0,get:function(){return t.PLURID_PUBSUB_TOPIC}}),Object.defineProperty(e,"PLURID_ROUTER_LOCATION_CHANGED",{enumerable:!0,get:function(){return t.PLURID_ROUTER_LOCATION_CHANGED}}),Object.defineProperty(e,"PLURID_ROUTER_LOCATION_STORED",{enumerable:!0,get:function(){return t.PLURID_ROUTER_LOCATION_STORED}}),Object.defineProperty(e,"SIZES",{enumerable:!0,get:function(){return t.SIZES}}),Object.defineProperty(e,"SPACE_LAYOUT",{enumerable:!0,get:function(){return t.LAYOUT_TYPES}}),Object.defineProperty(e,"TRANSFORM_MODES",{enumerable:!0,get:function(){return t.TRANSFORM_MODES}}),Object.defineProperty(e,"TRANSFORM_TOUCHES",{enumerable:!0,get:function(){return t.TRANSFORM_TOUCHES}}),Object.defineProperty(e,"pluridRouterNavigate",{enumerable:!0,get:function(){return a.pluridRouterNavigate}}),Object.defineProperty(e,"PluridPubSub",{enumerable:!0,get:function(){return M.default}}),e.PluridApplication=xo,e.PluridApplicationConfigurator=Ti,e.PluridExternalPlane=Si,e.PluridIframePlane=Ai,e.PluridIsoMatcher=Di,e.PluridLink=di,e.PluridPlaneConfigurator=_i,e.PluridProvider=Wo,e.PluridRouteParser=Mi,e.PluridRouterBrowser=Xo,e.PluridRouterLink=mi,e.PluridRouterStatic=$o,e.PluridVirtualList=Ii,e.default=Fi,e.getDirectPlaneMatch=(e,t,a)=>{let n,r,o;for(const a of t){if(a.planes)for(const t of a.planes){const n=jo(t),i="/"===a.value?n.value:a.value+n.value;if(o=i,e===i){r=t;break}}if(r){n=a;break}}if(a)for(const t of a){if(e===jo(t).value){r=t;break}}return{matchRoute:n,matchPlane:r,matchPath:o}},e.internals=xi,e.pluridStateModules=vn,e.serverComputeMetastate=Ni,e.usePluridRouter=()=>{const[e,a]=r.useState("");return r.useEffect((()=>{const e=()=>{const e=s.storage.loadState(t.PLURID_ROUTER_STORAGE);e&&a(e)};return e(),window.addEventListener(t.PLURID_ROUTER_LOCATION_STORED,e),()=>{window.removeEventListener(t.PLURID_ROUTER_LOCATION_STORED,e)}}),[]),e}}(M);var x,F=(x=M)&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x.default:x;exports.default=F;
2
+ *,
3
+ *:after,
4
+ *:before {
5
+ box-sizing: border-box;
6
+ font-kerning: auto;
7
+ text-rendering: optimizeLegibility;
8
+ }
9
+
10
+ html, body {
11
+ margin: 0;
12
+ height: 100%;
13
+ width: 100%;
14
+ }
15
+
16
+ html {
17
+ overflow: hidden;
18
+ background: black;
19
+ color: white;
20
+ font-family: Ubuntu, -apple-system, BlinkMacSystemFont, Roboto,
21
+ 'Open Sans', 'Helvetica Neue', 'Lucida Sans', sans-serif;
22
+
23
+ /*
24
+ * HACK
25
+ * Prevents Chrome from going backward/forward in page history on wheel event.
26
+ *
27
+ * TODO
28
+ * Apply it dinamically.
29
+ */
30
+ overscroll-behavior-x: contain;
31
+ }
32
+ `,jn=k.default.div`
33
+ height: 100%;
34
+ min-height: ${e=>e.fullHeight?"100vh":"100%"};
35
+ min-height: ${e=>e.fullHeight?"-webkit-fill-available":"100%"};
36
+
37
+ width: 100%;
38
+ position: relative;
39
+ scroll-snap-align: start;
40
+ outline: none;
41
+ overflow: hidden;
42
+
43
+ cursor: ${e=>e.transformMode===t.TRANSFORM_MODES.TRANSLATION||e.transformMode===t.TRANSFORM_MODES.ROTATION?"all-scroll":e.transformMode===t.TRANSFORM_MODES.SCALE?"ns-resize":"initial"};
44
+ user-select: ${e=>"ALL"!==e.transformMode?"none":"initial !important"};
45
+ touch-action: ${e=>"ALL"!==e.transformMode?"none !important":"initial !important"};
46
+ -webkit-user-drag: ${e=>"ALL"!==e.transformMode?"none":"initial !important"};
47
+ -webkit-tap-highlight-color: ${e=>"ALL"!==e.transformMode?"rgba(0, 0, 0, 0)":"initial !important"};
48
+ `;k.default.div`
49
+ outline: none;
50
+ background: ${e=>{if(e.opaque){return`radial-gradient(\n ellipse at center,\n ${"dark"===e.theme.type?e.theme.backgroundColorTertiary:e.theme.backgroundColorPrimary} 0%,\n ${"dark"===e.theme.type?e.theme.backgroundColorPrimary:e.theme.backgroundColorTertiary} 100%)\n `}return"transparent"}};
51
+ `;class kn extends x.default.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0}}componentDidCatch(e,t){}render(){return this.state.hasError?this.props.renderError?this.props.renderError:x.default.createElement("h1",null,"Something went wrong."):this.props.children}}const Gn=k.default.div`
52
+ background-color: ${({transparentUI:e,mouseOver:t,theme:a,planeOpacity:n})=>{if(e&&!t)return a.backgroundColorPrimaryAlpha;if(1!==n){const e=c.decomposeColor(a.backgroundColorPrimary);if(e){return`hsla(${e.hue}, ${e.saturation}%, ${e.lightness}%, ${n})`}return"transparent"}return a.backgroundColorPrimary}};
53
+ box-shadow: ${({planeOpacity:e,theme:t})=>0===e?"none":t.boxShadowUmbra};
54
+ color: ${({theme:e})=>e.colorPrimary};
55
+ opacity: ${({show:e})=>e?"1":"0"};
56
+ user-select: ${({show:e})=>e?"auto":"none"};
57
+
58
+ position: absolute;
59
+ height: auto;
60
+ width: 100%;
61
+ font-size: 0.9rem;
62
+ font-family: ${({theme:e})=>e.fontFamilySansSerif};
63
+ transition: background-color 300ms linear;
64
+
65
+ display: grid;
66
+ grid-template-columns: 1fr;
67
+ grid-template-rows: ${({planeControls:e})=>e?"56px auto":"auto"};
68
+
69
+ transform-origin: 0 0 0;
70
+ `,Yn=k.default.div`
71
+ background-color: ${({planeOpacity:e,planeControls:t,theme:a})=>0===e?"transparent":t?a.backgroundColorDark:a.backgroundColorPrimary};
72
+
73
+ position: absolute;
74
+ top: 0;
75
+ left: -100px;
76
+ height: 30px;
77
+ width: 100px;
78
+ opacity: 0.5;
79
+ `,Bn=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateConfiguration:xn.configuration.getConfiguration(e)})),(e=>({})),null,{context:yn})((e=>{const{stateGeneralTheme:a,stateConfiguration:n}=e,{controls:r,opacity:o}=n.elements.plane;return x.default.createElement(Yn,{theme:a,planeControls:r.show,planeOpacity:o,"data-plurid-entity":t.PLURID_ENTITY_PLANE_BRIDGE})})),Vn=k.default.div`
80
+ background-color: ${({transparentUI:e,mouseOver:t,theme:a})=>e&&!t?"transparent":a.backgroundColorDark};
81
+ box-shadow: ${({theme:e})=>e.boxShadowUmbraInset};
82
+
83
+ width: 100%;
84
+ display: grid;
85
+ align-items: center;
86
+ justify-content: center;
87
+ grid-template-rows: 1fr;
88
+ grid-template-columns: 1fr 2fr 1fr;
89
+ transition: background-color 300ms linear;
90
+
91
+ @media (max-width: 800px) {
92
+ grid-template-columns: 1fr 3fr 1fr;
93
+ }
94
+ `,Xn=k.default.div`
95
+ `,$n=k.default.div`
96
+ width: 100%;
97
+ height: 38px;
98
+ position: relative;
99
+ `,Wn=k.default.div`
100
+ display: grid;
101
+ grid-template-columns: repeat(4, 30px);
102
+ padding: 0 1rem;
103
+ `,{inputs:{Textline:zn}}=d.universal,Hn=o.connect((e=>({configuration:xn.configuration.getConfiguration(e),generalTheme:xn.themes.getGeneralTheme(e),interactionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{plane:a,treePlane:n,mouseOver:o,configuration:i,generalTheme:l,interactionTheme:s}=e,{global:c,elements:u}=i,{transparentUI:d}=c,{pathbar:f}=u.plane.controls,{route:p,routeDivisions:m}=n,{protocol:g,host:T}=m;T.value,encodeURIComponent(p);const[h,E]=r.useState(n.route);r.useState(!1);const[_,O]=r.useState(!1);return x.default.createElement(Vn,{theme:l,mouseOver:o,transparentUI:d,"data-plurid-entity":t.PLURID_ENTITY_PLANE_CONTROLS},x.default.createElement(Xn,null),x.default.createElement($n,null,x.default.createElement(zn,{theme:s,text:h,atChange:e=>{if(E(e.target.value),f.onChange){const t=a.route.absolute;f.onChange(e,t)}},atKeyDown:e=>{if(_||O(!0),"Escape"===e.key&&O(!1),f.onKeyDown){const t=a.route.absolute;f.onKeyDown(e,t)}},ariaLabel:"Plurid Pathbar"})),x.default.createElement(Wn,null))})),Zn=k.default.div`
104
+ position: relative;
105
+ `,Kn=e=>{const{children:a}=e,n=r.useRef(null);return x.default.createElement(Zn,{ref:n,"data-plurid-entity":t.PLURID_ENTITY_PLANE_CONTENT},a)},qn=o.connect((e=>({stateViewSize:xn.space.getViewSize(e),stateGeneralTheme:xn.themes.getGeneralTheme(e),stateConfiguration:xn.configuration.getConfiguration(e)})),(e=>({dispatchUpdateSpaceTreePlane:t=>e(Nn.space.updateSpaceTreePlane(t))})),null,{context:yn})((e=>{const{planeID:n,plane:o,treePlane:i,children:l,stateViewSize:c,stateGeneralTheme:u,stateConfiguration:d,dispatchUpdateSpaceTreePlane:f}=e,{global:p,elements:m}=d,{transparentUI:g}=p,{controls:T,width:h,opacity:E}=m.plane,_=T.show;s.mathematics.numbers.checkIntegerNonUnit(h)||c.width;const O=r.useContext(wn);if(!O)return x.default.createElement(x.default.Fragment,null);const{planeRenderError:S}=O,[R,A]=r.useState(!1),b={};return x.default.createElement(Gn,{suppressHydrationWarning:!0,theme:u,planeControls:_,planeOpacity:E,show:i.show,id:n,style:{width:"100%",transform:a.cleanTemplate(`\n translateX(${i.location.translateX}px)\n translateY(${i.location.translateY}px)\n translateZ(${i.location.translateZ}px)\n rotateX(${i.location.rotateX}deg)\n rotateY(${i.location.rotateY}deg)\n `)},onMouseEnter:()=>A(!0),onMouseLeave:()=>A(!1),transparentUI:g,mouseOver:R,"data-plurid-plane":n,"data-plurid-entity":t.PLURID_ENTITY_PLANE},i.show&&x.default.createElement(x.default.Fragment,null,i.parentPlaneID&&x.default.createElement(Bn,null),_&&x.default.createElement(Hn,{plane:o,treePlane:i,mouseOver:R}),S?x.default.createElement(kn,{renderError:"boolean"!=typeof S?S:void 0},x.default.createElement(Kn,Object.assign({},b),l)):x.default.createElement(Kn,Object.assign({},b),l)))})),Qn=e=>!!e&&("string"!=typeof e&&!e.url),Jn=k.default.div`
106
+ transform-style: preserve-3d;
107
+ `,{getPlanesRegistrar:er,getRegisteredPlane:tr}=a.planes,ar=o.connect((e=>({})),(e=>({})),null,{context:yn})((e=>{const{plane:a}=e,{location:n}=a,o=r.useContext(wn);if(!o)return x.default.createElement(x.default.Fragment,null);const{planesRegistrar:i,planeContext:l,planeContextValue:s,customPlane:c,matchedRoute:u}=o,d=c,[f,p]=r.useState([]),m=e=>{if(!e.children)return;const t=er(i);e.children.map((e=>{if(!t)return;const a=e.sourceID,n=t.get(a);let r=x.default.createElement(x.default.Fragment,null);if(n){const t=n.component,a={plane:{value:n.route.absolute,planeID:e.planeID,parentPlaneID:e.parentPlaneID,fragments:n.route.fragments,parameters:n.route.parameters,query:n.route.query},route:{value:(null==u?void 0:u.match.value)||"",parameters:(null==u?void 0:u.match.parameters)||{},query:(null==u?void 0:u.match.query)||{}}},o={plurid:Object.assign({},a)},i=Qn(t),c=Qn(d);r=d?c?x.default.createElement(d,{key:e.planeID,plane:n,treePlane:e,planeID:e.planeID,location:e.location}):x.default.createElement(x.default.Fragment,null):i?x.default.createElement(qn,{key:e.planeID,plane:n,treePlane:e,planeID:e.planeID,location:e.location},l?x.default.createElement(l.Provider,{value:s},x.default.createElement(t,Object.assign({},o))):x.default.createElement(t,Object.assign({},o))):x.default.createElement(x.default.Fragment,null),p((e=>[...e,r]))}e.children&&m(e)}))};r.useEffect((()=>{p([]),m(a)}),[JSON.stringify(a)]);const g=a.sourceID;if(!g)return x.default.createElement(x.default.Fragment,null);const T=tr(g,i);if(!T)return x.default.createElement(x.default.Fragment,null);const h=T.component,E={plane:{value:T.route.absolute,planeID:a.planeID,parentPlaneID:a.parentPlaneID,fragments:T.route.fragments,parameters:T.route.parameters,query:T.route.query},route:{value:(null==u?void 0:u.match.value)||"",parameters:(null==u?void 0:u.match.parameters)||{},query:(null==u?void 0:u.match.query)||{}}},_={plurid:Object.assign({},E)};return d?"function"!=typeof d?x.default.createElement(x.default.Fragment,null):x.default.createElement(Jn,{"data-plurid-entity":t.PLURID_ENTITY_ROOT},x.default.createElement(d,{plane:T,treePlane:a,planeID:a.planeID,location:n}),f):x.default.createElement(Jn,{"data-plurid-entity":t.PLURID_ENTITY_ROOT},x.default.createElement(qn,{plane:T,treePlane:a,planeID:a.planeID,location:n},l?x.default.createElement(l.Provider,{value:s},x.default.createElement(h,Object.assign({},_))):x.default.createElement(h,Object.assign({},_))),f)})),nr=k.default.div`
108
+ transform-style: preserve-3d;
109
+ transform-origin: 0 0 0;
110
+ `,rr=o.connect((e=>({stateConfiguration:xn.configuration.getConfiguration(e),spaceTransformMatrix:xn.space.getTransformMatrix(e),spaceAnimatedTransform:xn.space.getAnimatedTransform(e),spaceTransformTime:xn.space.getTransformTime(e),stateTree:xn.space.getTree(e)})),(e=>({})),null,{context:yn})((e=>{const{spaceTransformMatrix:a,spaceAnimatedTransform:n,spaceTransformTime:r,stateTree:o}=e;return x.default.createElement(nr,{suppressHydrationWarning:!0,style:{width:"100%",height:"undefined"!=typeof window?window.innerHeight+"px":"821px",transform:a,transition:n?`transform ${r}ms ease-in-out`:"initial"},"data-plurid-entity":t.PLURID_ENTITY_ROOTS},o.map((e=>x.default.createElement(ar,{key:e.planeID,plane:e}))))})),or=u.keyframes`
111
+ from {
112
+ opacity: 0%;
113
+ }
114
+
115
+ to {
116
+ opacity: 100%;
117
+ }
118
+ `,ir=e=>u.css`${or} ${e}ms linear 100ms forwards`,lr=k.default.div`
119
+ position: relative;
120
+ height: 100%;
121
+ overflow: hidden;
122
+ perspective: 2000px;
123
+ outline: none;
124
+
125
+ background: ${({opaque:e,theme:t})=>{if(e){return`radial-gradient(\n ellipse at center,\n ${"dark"===t.type?t.backgroundColorTertiary:t.backgroundColorPrimary} 0%,\n ${"dark"===t.type?t.backgroundColorPrimary:t.backgroundColorTertiary} 100%)\n `}return"transparent"}};
126
+
127
+ /* TOFIX */
128
+ /* opacity: ${({fadeInTime:e})=>e?"0":"1"};
129
+ animation: ${({isMounted:e,fadeInTime:t})=>e&&t?ir(t):""}; */
130
+ `,sr=o.connect((e=>({stateConfiguration:xn.configuration.getConfiguration(e),stateGeneralTheme:xn.themes.getGeneralTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{stateConfiguration:a,stateGeneralTheme:n}=e,{space:o}=a,{opaque:i,fadeInTime:l}=o,[s,c]=r.useState(!1);return r.useEffect((()=>{c(!0)}),[]),x.default.createElement(lr,{theme:n,opaque:i,isMounted:s,fadeInTime:l,"data-plurid-entity":t.PLURID_ENTITY_SPACE},x.default.createElement(rr,null))})),cr=({size:e})=>{switch(e){case t.SIZES.SMALL:return"5px";case t.SIZES.NORMAL:return"10px";case t.SIZES.LARGE:return"15px";default:return"10px"}},ur=k.default.div`
131
+ background-color: ${({theme:e})=>e.backgroundColorTertiaryAlpha};
132
+ height: ${cr};
133
+ width: ${cr};
134
+
135
+ position: absolute;
136
+ top: 50%;
137
+ left: 50%;
138
+ transform: translateX(-50%) translateY(-50%);
139
+ z-index: 99999;
140
+ border-radius: 100px;
141
+ user-select: none;
142
+ pointer-events: none;
143
+ touch-action: none;
144
+ `,dr=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e),stateConfiguration:xn.configuration.getConfiguration(e)})),(e=>({})),null,{context:yn})((e=>{const{stateGeneralTheme:a,stateConfiguration:n}=e,{space:r}=n,{transformOrigin:o}=r,{show:i,size:l}=o;return i?x.default.createElement(ur,{theme:a,size:l,"data-plurid-entity":t.PLURID_ENTITY_TRANSFORM_ORIGIN}):x.default.createElement(x.default.Fragment,null)}));var fr;!function(e){e.NONE="NONE",e.UNIVERSES="UNIVERSES",e.MORE="MORE"}(fr||(fr={}));const pr=k.default.div`
145
+ bottom: ${({conceal:e,mouseIn:t})=>e?t?"-5px":"-55px":"-5px"};
146
+ pointer-events: ${({showMenu:e})=>e!==fr.NONE?"all":"none"};
147
+ opacity: ${({fadeInTime:e})=>e?"0":"1"};
148
+ animation: ${({fadeInTime:e,isMounted:t})=>t&&e?ir(e):""};
149
+
150
+ display: grid;
151
+ position: absolute;
152
+ left: 0;
153
+ right: 0;
154
+ height: 75px;
155
+ z-index: 9999;
156
+ transition: bottom 300ms ease-in-out;
157
+ `,mr=k.default.div`
158
+ color: ${({theme:e})=>e.colorPrimary};
159
+ background-color: ${({theme:e,transparentUI:t})=>t?e.backgroundColorPrimaryAlpha:e.backgroundColorSecondary};
160
+ box-shadow: ${({theme:e})=>e.boxShadowUmbra};
161
+ grid-template-columns: ${({showIcons:e,showTransformButtons:t,documentsBased:a})=>e&&!t?a?"repeat(6, minmax(min-content, 40px))":"repeat(5, minmax(min-content, 40px))":t?a?"40px 200px 200px 200px 40px 40px":"40px 200px 200px 200px 40px":a?"repeat(6, minmax(min-content, 40px))":"repeat(5, minmax(min-content, 40px))"};
162
+ opacity: ${({opaque:e,mouseIn:t})=>e||t?"1":"0.4"};
163
+
164
+ z-index: 9999;
165
+ user-select: none;
166
+ /* height: 75px; */
167
+ display: grid;
168
+ pointer-events: all;
169
+ display: grid;
170
+ align-items: center;
171
+ justify-content: center;
172
+ justify-items: center;
173
+ border-radius: 22.5px;
174
+ margin: 0 auto;
175
+ margin-top: 10px;
176
+ margin-bottom: 20px;
177
+ padding: 0 22.5px;
178
+ font-size: 12px;
179
+ height: 45px;
180
+ transition: opacity 300ms ease-in-out;
181
+
182
+ :after {
183
+ content: '';
184
+ position: absolute;
185
+ top: 55px;
186
+ left: 0;
187
+ right: 0;
188
+ height: 20px;
189
+ }
190
+ `,gr=k.default.div`
191
+ padding: ${({button:e,showIcons:t,showTransformButtons:a})=>e||t&&!a?"0":"0 7px"};
192
+ background-color: ${({active:e,theme:t})=>e?t.backgroundColorTertiary:"transparent"};
193
+ min-width: ${({button:e})=>e?"40px":"70px"};
194
+
195
+ height: 45px;
196
+ display: grid;
197
+ align-items: center;
198
+ justify-content: center;
199
+ cursor: pointer;
200
+ user-select: none;
201
+
202
+ :hover {
203
+ background: ${({theme:e})=>e.backgroundColorTertiary};
204
+ }
205
+ `,Tr=k.default.div`
206
+ width: 40px;
207
+ display: grid;
208
+ place-content: center;
209
+
210
+ /* svg {
211
+ height: 15px;
212
+ width: 15px;
213
+ fill: white;
214
+ } */
215
+ `,hr=k.default.div`
216
+ position: absolute;
217
+ bottom: 75px;
218
+ max-height: 250px;
219
+ width: 380px;
220
+ left: 50%;
221
+ transform: translateX(-50%);
222
+ border-radius: 22.5px;
223
+ padding: 22px;
224
+ font-size: 0.8rem;
225
+ overflow: hidden;
226
+
227
+ background-color: ${e=>e.theme.backgroundColorSecondary};
228
+ box-shadow: ${e=>e.theme.boxShadowUmbra};
229
+
230
+ ul {
231
+ padding: 0;
232
+ list-style: none;
233
+ }
234
+ `;k.default.div`
235
+ display: flex;
236
+ justify-content: space-between;
237
+ align-items: center;
238
+ position: relative;
239
+
240
+ margin-bottom: ${e=>e.afterline?"30px":"10px"};
241
+
242
+ ${e=>e.afterline?"\n ::after {\n position: absolute;\n content: '';\n left: 0;\n right: 0;\n bottom: -15px;\n height: 1px;\n background-color: white;\n }\n ":""};
243
+ `;const Er=k.default.div`
244
+ max-height: 210px;
245
+ overflow: scroll;
246
+ padding: 0 5px;
247
+
248
+ /* Hide Scrollbar */
249
+ scrollbar-width: none; /* Firefox 64 */
250
+ -ms-overflow-style: none; /* Internet Explorer 11 */
251
+ ::-webkit-scrollbar { /** WebKit */
252
+ display: none;
253
+ }
254
+
255
+ h5::first-child {
256
+ margin-top: 0;
257
+ }
258
+ `;k.default.li`
259
+ margin: 10px 0;
260
+ padding: 10px 20px;
261
+ border-radius: 100px;
262
+
263
+ cursor: ${e=>e.active?"initial":"pointer"};
264
+ background-color: ${e=>e.active?e.theme.backgroundColorTertiary:""};
265
+ box-shadow: ${e=>e.active?"inset 0px -1px 6px 0px "+e.theme.boxShadowUmbraColor:""};
266
+
267
+ :hover {
268
+ background-color: ${e=>e.theme.backgroundColorTertiary};
269
+ box-shadow: ${e=>e.active?"inset 0px -1px 6px 0px "+e.theme.boxShadowUmbraColor:e.theme.boxShadowUmbra};
270
+ }
271
+ `;const _r=o.connect((e=>({interactionTheme:xn.themes.getInteractionTheme(e),activeUniverseID:xn.space.getActiveUniverseID(e)})),(e=>({dispatchSetActiveUniverse:t=>e(Nn.space.setActiveUniverse(t))})),null,{context:yn})((e=>{const{interactionTheme:t,activeUniverseID:a,dispatchSetActiveUniverse:n}=e;return x.default.createElement(hr,{theme:t},x.default.createElement(Er,null))})),Or=k.default.div`
272
+ h5 {
273
+ font-size: 1rem;
274
+ margin: 0;
275
+ }
276
+
277
+ margin-bottom: 2rem;
278
+ border-top-left-radius: 15px;
279
+ border-top-right-radius: 15px;
280
+
281
+ padding-bottom: ${e=>e.transparentUI&&e.toggled?"0.5rem":"0"};
282
+ background-color: ${e=>e.transparentUI&&e.mouseOver?e.theme.backgroundColorSecondary:"transparent"};
283
+ box-shadow: ${e=>e.transparentUI&&e.mouseOver?e.theme.boxShadowUmbra:"none"};
284
+ color: ${e=>e.theme.colorPrimary};
285
+ `,Sr=k.default.div`
286
+ user-select: none;
287
+ cursor: pointer;
288
+ padding: 0.5rem;
289
+ margin-bottom: 0.5rem;
290
+ border-bottom: 1px solid transparent;
291
+ text-align: left;
292
+
293
+ :hover {
294
+ border-bottom: 1px solid ${e=>e.theme.colorPrimary};
295
+ }
296
+ `,Rr=k.default.div`
297
+ `,{typography:{Heading:Ar}}=d.universal,br=o.connect((e=>({interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({})),null,{context:yn})((e=>{const{heading:t,items:a,toggled:n,toggle:o,interactionTheme:i,configuration:l}=e,{global:s}=l,{transparentUI:c}=s,[u,d]=r.useState(!1);return x.default.createElement(Or,{theme:i,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),transparentUI:c,mouseOver:u,toggled:n},x.default.createElement(Sr,{theme:i,onClick:()=>o()},x.default.createElement(Ar,{theme:i,type:"h5"},t)),n&&x.default.createElement(Rr,null,a))})),Cr=k.default.div`
298
+ position: absolute;
299
+ bottom: 75px;
300
+ height: 280px;
301
+ width: 380px;
302
+ left: 50%;
303
+ transform: translateX(-50%);
304
+ border-radius: 22.5px;
305
+ padding: 22px;
306
+ font-size: 0.8rem;
307
+ overflow: hidden;
308
+
309
+ background-color: ${e=>e.transparentUI?e.theme.backgroundColorPrimaryAlpha:e.theme.backgroundColorSecondary};
310
+ box-shadow: ${e=>e.theme.boxShadowUmbra};
311
+ `,Ir=k.default.div`
312
+ display: flex;
313
+ justify-content: space-between;
314
+ align-items: center;
315
+ position: relative;
316
+ min-height: 30px;
317
+ padding: 0 0.5rem;
318
+
319
+ margin-bottom: ${e=>e.last?"0":e.afterline?"30px":"10px"};
320
+
321
+ ${e=>e.afterline?`\n ::after {\n position: absolute;\n content: '';\n left: 0;\n right: 0;\n bottom: -15px;\n height: 1px;\n background-color: ${e.theme?e.theme.colorPrimary:"white"};\n }\n `:""};
322
+ `,vr=k.default.div`
323
+ height: 240px;
324
+ overflow: scroll;
325
+ padding: 0 5px;
326
+
327
+ /* Hide Scrollbar */
328
+ scrollbar-width: none; /* Firefox 64 */
329
+ -ms-overflow-style: none; /* Internet Explorer 11 */
330
+ ::-webkit-scrollbar { /** WebKit */
331
+ display: none;
332
+ }
333
+
334
+ h5::first-child {
335
+ margin-top: 0;
336
+ }
337
+ `,{inputs:{Dropdown:Pr}}=d.universal,Lr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({dispatchSetConfigurationThemeGeneralAction:t=>e(Nn.configuration.setConfigurationThemeGeneralAction(t)),dispatchSetConfigurationThemeInteractionAction:t=>e(Nn.configuration.setConfigurationThemeInteractionAction(t)),dispatchSetConfigurationLanguage:t=>e(Nn.configuration.setConfigurationLanguageAction(t)),dispatchSetGeneralTheme:t=>e(Nn.themes.setGeneralTheme(t)),dispatchSetInteractionTheme:t=>e(Nn.themes.setInteractionTheme(t))})),null,{context:yn})((e=>{const{stateLanguage:n,interactionTheme:o,configuration:i,dispatchSetGeneralTheme:l,dispatchSetInteractionTheme:s,dispatchSetConfigurationThemeGeneralAction:c,dispatchSetConfigurationThemeInteractionAction:u,dispatchSetConfigurationLanguage:d}=e,f=i.global.theme,[p,m]=r.useState("object"==typeof f?f.general:f),[g,T]=r.useState("object"==typeof f?f.interaction:f);return r.useEffect((()=>{"object"==typeof f?(m(f.general),T(f.interaction)):(m(f),T(f))}),[f]),x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerGlobalGeneralTheme),x.default.createElement(Pr,{selectables:Object.keys(j.default),selected:"string"==typeof p?p:"",atSelect:e=>(e=>{l(j.default[e]),c(e)})(e),theme:o,filterable:!0,heightItems:3,width:90,style:{fontSize:"0.8rem"}})),x.default.createElement(Ir,null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerGlobalInteractionTheme),x.default.createElement(Pr,{selectables:Object.keys(j.default),selected:"string"==typeof g?g:"",atSelect:e=>(e=>{s(j.default[e]),u(e)})(e),theme:o,heightItems:3,filterable:!0,width:90,style:{fontSize:"0.8rem"}})),x.default.createElement(Ir,{last:!0},a.internatiolate(n,t.internationalization.fields.toolbarDrawerGlobalLanguage),x.default.createElement(Pr,{selectables:t.internationalization.languages,selected:n,atSelect:e=>{d(e)},theme:o,heightItems:3,width:90,style:{fontSize:"0.8rem"}})))})),{inputs:{Switch:yr}}=d.universal,Ur=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({dispatchToggleConfigurationSpaceTransformMultimode:t=>e(Nn.configuration.toggleConfigurationSpaceTransformMultimode(t)),dispatchSetConfigurationSpaceTransformTouch:t=>e(Nn.configuration.setConfigurationSpaceTransformTouch(t)),dispatchSetConfigurationSpaceTransformLocks:t=>e(Nn.configuration.setConfigurationSpaceTransformLocks(t))})),null,{context:yn})((e=>{const{stateLanguage:n,interactionTheme:r,configuration:o,dispatchToggleConfigurationSpaceTransformMultimode:i,dispatchSetConfigurationSpaceTransformTouch:l,dispatchSetConfigurationSpaceTransformLocks:s}=e,{transformMultimode:c,transformLocks:u,transformTouch:d}=o.space;return x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformMultiModeTransform)),x.default.createElement(yr,{theme:r,checked:c,atChange:()=>i(!c),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowRotationX)),x.default.createElement(yr,{theme:r,checked:u.rotationX,atChange:()=>s("rotationX"),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowRotationY)),x.default.createElement(yr,{theme:r,checked:u.rotationY,atChange:()=>s("rotationY"),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowTranslationX)),x.default.createElement(yr,{theme:r,checked:u.translationX,atChange:()=>s("translationX"),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowTranslationY)),x.default.createElement(yr,{theme:r,checked:u.translationY,atChange:()=>s("translationY"),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowTranslationZ)),x.default.createElement(yr,{theme:r,checked:u.translationZ,atChange:()=>s("translationZ"),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformAllowScale)),x.default.createElement(yr,{theme:r,checked:u.scale,atChange:()=>s("scale"),exclusive:!0,level:2})),x.default.createElement(Ir,{last:!0},x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTransformTouchTransform),": ",d===t.TRANSFORM_TOUCHES.PAN?"pan":"swipe"),x.default.createElement(yr,{theme:r,checked:d===t.TRANSFORM_TOUCHES.PAN,atChange:()=>d===t.TRANSFORM_TOUCHES.PAN?l(t.TRANSFORM_TOUCHES.SWIPE):l(t.TRANSFORM_TOUCHES.PAN),level:2})))})),{inputs:{Dropdown:wr,Switch:Nr,Slider:Dr}}=d.universal,Mr=o.connect((e=>({interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({dispatchSetConfigurationPlaneOpacity:t=>e(Nn.configuration.setConfigurationPlaneOpacity(t)),dispatchToggleConfigurationSpaceTransparentUI:()=>e(Nn.configuration.toggleConfigurationSpaceTransparentUI()),dispatchToggleConfigurationSpaceShowTransformOrigin:()=>e(Nn.configuration.toggleConfigurationSpaceShowTransformOrigin()),dispatchSetConfigurationSpaceTransformOriginSize:t=>e(Nn.configuration.setConfigurationSpaceTransformOriginSize(t)),dispatchSetConfigurationSpaceLayoutType:t=>e(Nn.configuration.setConfigurationSpaceLayoutType(t))})),null,{context:yn})((e=>{const{interactionTheme:n,configuration:r,dispatchSetConfigurationPlaneOpacity:o,dispatchToggleConfigurationSpaceTransparentUI:i,dispatchToggleConfigurationSpaceShowTransformOrigin:l,dispatchSetConfigurationSpaceTransformOriginSize:s,dispatchSetConfigurationSpaceLayoutType:c}=e,{global:u,space:d,elements:f}=r,{transparentUI:p,language:m}=u,{layout:g,transformOrigin:T}=d,h=t.layoutNames[g.type],{show:E,size:_}=T,O=f.plane.opacity;return x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,a.internatiolate(m,t.internationalization.fields.toolbarDrawerSpaceTransparentUserInterface),x.default.createElement(Nr,{checked:p,atChange:()=>i(),exclusive:!0,level:2,theme:n})),x.default.createElement(Ir,null,a.internatiolate(m,t.internationalization.fields.toolbarDrawerSpaceShowTransformOrigin),x.default.createElement(Nr,{checked:E,atChange:()=>l(),exclusive:!0,level:2,theme:n})),x.default.createElement(Ir,null,a.internatiolate(m,t.internationalization.fields.toolbarDrawerSpaceTransformOriginSize),x.default.createElement(wr,{selectables:["small","normal","large"],selected:_.toLowerCase(),atSelect:e=>{const a=e.toUpperCase();a!==t.SIZES.SMALL&&a!==t.SIZES.NORMAL&&a!==t.SIZES.LARGE||s(a)},heightItems:3,theme:n})),x.default.createElement(Ir,null,a.internatiolate(m,t.internationalization.fields.toolbarDrawerSpacePlaneOpacity),x.default.createElement(Dr,{value:O,max:1,min:0,step:.1,defaultValue:100,atChange:e=>o(e),thumbSize:"large",level:2,theme:n})),x.default.createElement(Ir,{last:!0},a.internatiolate(m,t.internationalization.fields.toolbarDrawerSpaceLayoutType),x.default.createElement(wr,{selectables:[...Object.values(t.layoutNames)],selected:h,atSelect:e=>{const t=e.toUpperCase().replace(/\s/g,"_");c(t)},heightItems:3,theme:n,width:100})))})),{inputs:{Switch:xr}}=d.universal,Fr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e),viewSize:xn.space.getViewSize(e)})),(e=>({dispatchToggleConfigurationToolbarConceal:()=>e(Nn.configuration.toggleConfigurationToolbarConceal()),dispatchToggleConfigurationToolbarTransformIcons:()=>e(Nn.configuration.toggleConfigurationToolbarTransformIcons()),dispatchToggleConfigurationToolbarTransformButtons:()=>e(Nn.configuration.toggleConfigurationToolbarTransformButtons()),dispatchToggleConfigurationToolbarOpaque:()=>e(Nn.configuration.toggleConfigurationToolbarOpaque())})),null,{context:yn})((e=>{const{stateLanguage:n,interactionTheme:o,configuration:i,viewSize:l,dispatchToggleConfigurationToolbarConceal:s,dispatchToggleConfigurationToolbarTransformIcons:c,dispatchToggleConfigurationToolbarTransformButtons:u,dispatchToggleConfigurationToolbarOpaque:d}=e,{toolbar:f}=i.elements,{conceal:p,opaque:m,transformIcons:g,transformButtons:T}=f,[h,E]=r.useState(!1);return r.useEffect((()=>{l.width<800?E(!0):E(!1)}),[l.width]),x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerToolbarAlwaysOpaque)),x.default.createElement(xr,{theme:o,checked:m,atChange:()=>d(),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerToolbarShowTransformIcons)),x.default.createElement(xr,{theme:o,checked:g,atChange:()=>c(),exclusive:!0,level:2})),!h&&x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerToolbarShowTransformArrows)),x.default.createElement(xr,{theme:o,checked:T,atChange:()=>u(),exclusive:!0,level:2})),x.default.createElement(Ir,{last:!0},x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerToolbarConcealToolbar)),x.default.createElement(xr,{theme:o,checked:p,atChange:()=>s(),exclusive:!0,level:2})))})),{inputs:{Switch:jr}}=d.universal,kr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({dispatchToggleConfigurationViewcubeHide:t=>e(Nn.configuration.toggleConfigurationViewcubeHide(t)),dispatchToggleConfigurationViewcubeButtons:t=>e(Nn.configuration.toggleConfigurationViewcubeButtons(t)),dispatchToggleConfigurationViewcubeOpaque:t=>e(Nn.configuration.toggleConfigurationViewcubeOpaque(t)),dispatchToggleConfigurationViewcubeConceal:()=>e(Nn.configuration.toggleConfigurationViewcubeConceal())})),null,{context:yn})((e=>{const{stateLanguage:n,interactionTheme:r,configuration:o,dispatchToggleConfigurationViewcubeHide:i,dispatchToggleConfigurationViewcubeButtons:l,dispatchToggleConfigurationViewcubeOpaque:s,dispatchToggleConfigurationViewcubeConceal:c}=e,{viewcube:u}=o.elements,{show:d,buttons:f,opaque:p,conceal:m}=u;return x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,{last:!d},x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerViewcubeShowViewcube)),x.default.createElement(jr,{theme:r,checked:d,atChange:()=>i(!d),exclusive:!0,level:2})),d&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerViewcubeShowTransformButtons)),x.default.createElement(jr,{theme:r,checked:f,atChange:()=>l(!f),exclusive:!0,level:2})),x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerViewcubeAlwaysOpaque)),x.default.createElement(jr,{theme:r,checked:p,atChange:()=>s(!p),exclusive:!0,level:2})),x.default.createElement(Ir,{last:!0},x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerViewcubeConcealViewcube)),x.default.createElement(jr,{theme:r,checked:m,atChange:()=>c(),exclusive:!0,level:2}))))})),{inputs:{Slider:Gr}}=d.universal,Yr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,stateConfiguration:xn.configuration.getConfiguration(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({dispatchSetConfigurationSpaceCullingDistance:t=>e(Nn.configuration.setConfigurationSpaceCullingDistance(t))})),null,{context:yn})((e=>{const{stateLanguage:n,stateConfiguration:o,stateInteractionTheme:i,dispatchSetConfigurationSpaceCullingDistance:l}=e,{cullingDistance:s}=o.space,[c,u]=r.useState(s),d=p.useDebouncedCallback((e=>{l(e)}),300);return x.default.createElement(x.default.Fragment,null,x.default.createElement(Ir,null,x.default.createElement("div",null,a.internatiolate(n,t.internationalization.fields.toolbarDrawerTechnicalCullingDistance)),x.default.createElement(Gr,{theme:i,value:c,atChange:e=>{u(e),d(e)},min:1e3,max:5e3,defaultValue:1500})))})),Br=o.connect((e=>({interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({})),null,{context:yn})((e=>{const{interactionTheme:n,configuration:r}=e,{global:o}=r,{language:i}=o;return x.default.createElement(x.default.Fragment,null,t.defaultShortcuts.map(((e,r)=>{const{type:o}=e,l=t.shortcutsNames[o],{name:s,internationalizedKey:c,key:u,modifier:d}=l,f=Array.isArray(d)?d.reduce(((e,t)=>e+" + "+t))+" +":"string"==typeof d?d+" +":"",p=a.internatiolate(i,s),m=u,g=c?a.internatiolate(i,m):u;return x.default.createElement(Ir,{key:s,theme:n,afterline:"TURN_DOWN"===o||"TOGGLE_ROTATE"===o||"TOGGLE_TRANSLATE"===o,last:r===t.defaultShortcuts.length-1},x.default.createElement("div",null,p),x.default.createElement("div",null,f," ",g))})))})),Vr={GLOBAL:{name:t.internationalization.fields.toolbarDrawerGlobalTitle,drawer:t.TOOLBAR_DRAWERS.GLOBAL,component:x.default.createElement(Lr,null)},TRANSFORM:{name:t.internationalization.fields.toolbarDrawerTransformTitle,drawer:t.TOOLBAR_DRAWERS.TRANSFORM,component:x.default.createElement(Ur,null)},SPACE:{name:t.internationalization.fields.toolbarDrawerSpaceTitle,drawer:t.TOOLBAR_DRAWERS.SPACE,component:x.default.createElement(Mr,null)},TOOLBAR:{name:t.internationalization.fields.toolbarDrawerToolbarTitle,drawer:t.TOOLBAR_DRAWERS.TOOLBAR,component:x.default.createElement(Fr,null)},VIEWCUBE:{name:t.internationalization.fields.toolbarDrawerViewcubeTitle,drawer:t.TOOLBAR_DRAWERS.VIEWCUBE,component:x.default.createElement(kr,null)},TECHNICAL:{name:t.internationalization.fields.toolbarDrawerTechnicalTitle,drawer:t.TOOLBAR_DRAWERS.TECHNICAL,component:x.default.createElement(Yr,null)},SHORTCUTS:{name:t.internationalization.fields.toolbarDrawerShortcutsTitle,drawer:t.TOOLBAR_DRAWERS.SHORTCUTS,component:x.default.createElement(Br,null)}},Xr=Object.values(Vr),$r=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,stateInteractionTheme:xn.themes.getInteractionTheme(e),stateConfiguration:xn.configuration.getConfiguration(e),stateToolbarMenuScrollPosition:xn.ui.getToolbarScrollPosition(e)})),(e=>({dispatchToggleConfigurationToolbarToggleDrawer:t=>e(Nn.configuration.toggleConfigurationToolbarToggleDrawer(t)),dispatchSetUIToolbarScrollPosition:t=>e(Nn.ui.setUIToolbarScrollPosition(t))})),null,{context:yn})((e=>{const{stateLanguage:t,stateInteractionTheme:n,stateConfiguration:o,stateToolbarMenuScrollPosition:i,dispatchToggleConfigurationToolbarToggleDrawer:l,dispatchSetUIToolbarScrollPosition:s}=e,{global:c,elements:u}=o,{transparentUI:d}=c,{toolbar:f}=u,{drawers:m,toggledDrawers:g}=f,T=(e=>{if(0===e.length||e.includes("ALL"))return Xr;const t=[];for(const a of e){const e=Vr[a];t.push(e)}return t})(m),h=r.useRef(null),E=p.useDebouncedCallback((e=>{if(h.current){const e=h.current.scrollTop;s(e)}}),100);return r.useEffect((()=>(h.current&&h.current.addEventListener("wheel",E),()=>{h.current&&h.current.removeEventListener("wheel",E)})),[h.current]),r.useEffect((()=>{h.current&&(h.current.scrollTop=i)}),[i,h.current]),x.default.createElement(Cr,{theme:n,transparentUI:d},x.default.createElement(vr,{ref:h},T.map((e=>{const{name:n,drawer:r,component:o}=e,i=a.internatiolate(t,n);return x.default.createElement(br,{key:n,heading:i,items:x.default.createElement(x.default.Fragment,null,o),toggled:g.includes("ALL")||g.includes(r),toggle:()=>l(r)})}))))})),Wr=k.default.div`
338
+ display: grid;
339
+ align-items: center;
340
+ justify-items: center;
341
+ grid-template-columns: ${e=>e.showTransformButtons?"30px 30px 60px 30px 30px":"1fr"};
342
+ `,zr=k.default.div`
343
+ user-select: none;
344
+ cursor: pointer;
345
+ border-radius: 50px;
346
+ width: 25px;
347
+ height: 25px;
348
+ display: grid;
349
+ place-content: center;
350
+ padding: 2px;
351
+
352
+ background-color: ${({pressed:e,theme:t})=>e?t.backgroundColorTertiary:"initial"};
353
+
354
+ :hover {
355
+ background-color: ${({theme:e})=>e.backgroundColorTertiary};
356
+ }
357
+ `,Hr={left:"◀",right:"▶",up:"▲",down:"▼"},Zr=o.connect((e=>({interactionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{direction:t,transform:a,interactionTheme:n}=e,o=Hr[t],i=r.useRef(null),l=r.useRef(null),[s,c]=r.useState(!1),u=e=>{switch(e.type){case"tap":a(),i.current&&(c(!1),clearInterval(i.current));break;case"press":c(!0),i.current=setInterval((()=>{a()}),30);break;case"pressup":c(!1),i.current&&clearInterval(i.current)}};return r.useEffect((()=>{if("undefined"==typeof window)return;let e;return Un(void 0,void 0,void 0,(function*(){const t=(yield Mn()).default;e=new t(l.current),e.on("tap press pressup",u)})),()=>{e&&e.off("tap press pressup",u)}}),[l.current]),x.default.createElement(zr,{ref:l,theme:n,pressed:s,onMouseLeave:()=>{i.current&&(c(!1),clearInterval(i.current))}},o)})),Kr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e)})),(e=>({rotateUp:()=>e(Nn.space.rotateUp()),rotateDown:()=>e(Nn.space.rotateDown()),rotateLeft:()=>e(Nn.space.rotateLeft()),rotateRight:()=>e(Nn.space.rotateRight())})),null,{context:yn})((e=>{const{showTransformButtons:n,showIcons:r,transformMode:o,toggleTransform:i,stateLanguage:l,interactionTheme:s,rotateUp:c,rotateDown:u,rotateLeft:d,rotateRight:p}=e;return x.default.createElement(Wr,{showTransformButtons:n},n&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Zr,{direction:"left",transform:()=>p()}),x.default.createElement(Zr,{direction:"up",transform:()=>c()})),x.default.createElement(gr,{theme:s,onClick:()=>i(t.TRANSFORM_MODES.ROTATION),active:o===t.TRANSFORM_MODES.ROTATION,showIcons:r,showTransformButtons:n,button:r},r?x.default.createElement(Tr,null,x.default.createElement(f.PluridIconRotate,null)):x.default.createElement(x.default.Fragment,null,a.internatiolate(l,t.internationalization.fields.toolbarTransformRotate))),n&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Zr,{direction:"down",transform:()=>u()}),x.default.createElement(Zr,{direction:"right",transform:()=>d()})))})),qr=k.default.div`
358
+ display: grid;
359
+ align-items: center;
360
+ justify-items: center;
361
+ grid-template-columns: ${e=>e.showTransformButtons?"30px 60px 30px":"1fr"};
362
+ `,Qr=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e)})),(e=>({scaleUp:()=>e(Nn.space.scaleUp()),scaleDown:()=>e(Nn.space.scaleDown())})),null,{context:yn})((e=>{const{showTransformButtons:n,showIcons:r,transformMode:o,toggleTransform:i,stateLanguage:l,interactionTheme:s,scaleUp:c,scaleDown:u}=e;return x.default.createElement(qr,{showTransformButtons:n},n&&x.default.createElement(Zr,{direction:"up",transform:()=>c()}),x.default.createElement(gr,{theme:s,onClick:()=>i(t.TRANSFORM_MODES.SCALE),active:o===t.TRANSFORM_MODES.SCALE,showIcons:r,showTransformButtons:n,button:r},r?x.default.createElement(Tr,null,x.default.createElement(f.PluridIconScale,null)):x.default.createElement(x.default.Fragment,null,a.internatiolate(l,t.internationalization.fields.toolbarTransformScale))),n&&x.default.createElement(Zr,{direction:"down",transform:()=>u()}))})),Jr=k.default.div`
363
+ display: grid;
364
+ align-items: center;
365
+ justify-items: center;
366
+ grid-template-columns: ${e=>e.showTransformButtons?"30px 30px 60px 30px 30px":"1fr"};
367
+ `,eo=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,interactionTheme:xn.themes.getInteractionTheme(e)})),(e=>({translateUp:()=>e(Nn.space.translateUp()),translateDown:()=>e(Nn.space.translateDown()),translateLeft:()=>e(Nn.space.translateLeft()),translateRight:()=>e(Nn.space.translateRight())})),null,{context:yn})((e=>{const{showTransformButtons:n,showIcons:r,transformMode:o,toggleTransform:i,stateLanguage:l,interactionTheme:s,translateUp:c,translateDown:u,translateLeft:d,translateRight:p}=e;return x.default.createElement(Jr,{showTransformButtons:n},n&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Zr,{direction:"left",transform:()=>d()}),x.default.createElement(Zr,{direction:"up",transform:()=>c()})),x.default.createElement(gr,{theme:s,onClick:()=>i(t.TRANSFORM_MODES.TRANSLATION),active:o===t.TRANSFORM_MODES.TRANSLATION,showIcons:r,showTransformButtons:n,button:r},r?x.default.createElement(Tr,null,x.default.createElement(f.PluridIconTranslate,null)):x.default.createElement(x.default.Fragment,null,a.internatiolate(l,t.internationalization.fields.toolbarTransformTranslate))),n&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Zr,{direction:"down",transform:()=>u()}),x.default.createElement(Zr,{direction:"right",transform:()=>p()})))})),to=o.connect((e=>({configuration:xn.configuration.getConfiguration(e),theme:xn.themes.getInteractionTheme(e),viewSize:xn.space.getViewSize(e)})),(e=>({dispatchToggleConfigurationSpaceFirstPerson:()=>e(Nn.configuration.toggleConfigurationSpaceFirstPerson()),dispatchSetConfigurationSpaceTransformMode:t=>e(Nn.configuration.setConfigurationSpaceTransformMode(t))})),null,{context:yn})((e=>{const{theme:a,configuration:n,viewSize:o,dispatchToggleConfigurationSpaceFirstPerson:i,dispatchSetConfigurationSpaceTransformMode:l}=e,{global:s,elements:c,space:u}=n,{transparentUI:d}=s,{firstPerson:p,transformMode:m,fadeInTime:g}=u,{toolbar:T}=c,{conceal:h,opaque:E,transformIcons:_,transformButtons:O}=T,S=T.show,R=r.useRef(null),[A,b]=r.useState(!1),[C,I]=r.useState(fr.NONE),[v,P]=r.useState(_),[L,y]=r.useState(O),[U,w]=r.useState(!1),N=e=>{C!==fr.NONE&&I(fr.NONE),l(e)};return r.useEffect((()=>{w(!0)}),[]),r.useEffect((()=>{o.width<800&&O&&y(!1),o.width>800&&y(O)}),[o.width]),r.useEffect((()=>{P(_),y(O)}),[_,O]),r.useEffect((()=>(A&&R.current&&clearTimeout(R.current),A||(R.current=setTimeout((()=>{I(fr.NONE)}),400)),()=>{R.current&&clearTimeout(R.current)})),[A]),S?x.default.createElement(pr,{onMouseEnter:()=>b(!0),onMouseLeave:()=>b(!1),mouseIn:A,conceal:h,showMenu:C,isMounted:U,fadeInTime:g,"data-plurid-entity":t.PLURID_ENTITY_TOOLBAR},x.default.createElement(mr,{theme:a,showIcons:v,showTransformButtons:L,documentsBased:!1,mouseIn:A,opaque:E,transparentUI:d},x.default.createElement(gr,{theme:a,onClick:()=>i(),active:p,button:!0,showIcons:v,showTransformButtons:L},x.default.createElement(Tr,null,x.default.createElement(f.PluridIconFirstPerson,null))),x.default.createElement(Kr,{showTransformButtons:L,showIcons:v,transformMode:m,toggleTransform:N}),x.default.createElement(Qr,{showTransformButtons:L,showIcons:v,transformMode:m,toggleTransform:N}),x.default.createElement(eo,{showTransformButtons:L,showIcons:v,transformMode:m,toggleTransform:N}),x.default.createElement(gr,{theme:a,onClick:()=>{return e=fr.MORE,void(C===e?I(fr.NONE):(l(t.TRANSFORM_MODES.ALL),I(e)));var e},active:C===fr.MORE,button:!0,showIcons:v,showTransformButtons:L},x.default.createElement(Tr,null,x.default.createElement(f.PluridIconMore,null)))),C===fr.UNIVERSES&&x.default.createElement(_r,null),C===fr.MORE&&x.default.createElement($r,null)):x.default.createElement(x.default.Fragment,null)})),ao=k.default.div`
368
+ position: absolute;
369
+ @media (max-width: 800px) {
370
+ top: ${({conceal:e,mouseOver:t})=>e&&!t?"-90px":"0"};
371
+ }
372
+ bottom: ${({conceal:e,mouseOver:t})=>e&&!t?"-90px":"0"};
373
+ right: ${({conceal:e,mouseOver:t})=>e&&!t?"-100px":"0"};
374
+ position: absolute;
375
+ user-select: none;
376
+ transition: all 300ms ease-in-out;
377
+ z-index: 9998;
378
+ height: 165px;
379
+ display: grid;
380
+ grid-template-areas: "PVScale PVScale PVScale PVScale"
381
+ "PVEmptyOne PVRotateUp PVEmptyTwo PVTranslateY"
382
+ "PVRotateLeft PVModel PVRotateRight PVTranslateY"
383
+ "PVEmptyThree PVRotateDown PVFitview PVTranslateY"
384
+ "PVTranslateX PVTranslateX PVTranslateX PVTranslateX";
385
+ grid-template-rows: 20px 15px 95px 15px 20px;
386
+ grid-template-columns: 15px 115px 15px 20px;
387
+
388
+ opacity: ${({fadeInTime:e})=>e?"0":"1"};
389
+ animation: ${({fadeInTime:e,isMounted:t})=>t&&e?ir(e):""};
390
+
391
+ :hover {
392
+ opacity: 1;
393
+ }
394
+ `,no=k.default.div`
395
+ display: grid;
396
+ place-content: center;
397
+
398
+ /* TODO
399
+ * Themed color
400
+ */
401
+ color: white;
402
+ `,ro=k.default.div`
403
+ user-select: none;
404
+ font-size: 0.6rem;
405
+ width: 1.2rem;
406
+ height: 1.2rem;
407
+ border-radius: 0.6rem;
408
+ display: grid;
409
+ place-content: center;
410
+ cursor: pointer;
411
+
412
+ :hover {
413
+ background-color: ${({theme:e})=>e.backgroundColorTertiary};
414
+ }
415
+ `,oo=k.default.div`
416
+ grid-area: PVFitview;
417
+ display: grid;
418
+ place-content: center;
419
+ cursor: pointer;
420
+ user-select: none;
421
+
422
+ svg {
423
+ height: 0.8rem;
424
+ width: 0.8rem;
425
+ fill: white;
426
+ }
427
+ `,io=k.default.div`
428
+ font-size: 0.6rem;
429
+ position: absolute;
430
+ height: 50px;
431
+ width: 50px;
432
+ pointer-events: none;
433
+ display: grid;
434
+ transform-style: preserve-3d;
435
+ grid-template-areas: "PVFTopLeft PVFTopCenter PVFTopRight"
436
+ "PVFMiddleLeft PVFMiddleCenter PVFMiddleRight"
437
+ "PVFBottomLeft PVFBottomCenter PVFBottomRight";
438
+ grid-template-rows: 10px 30px 10px;
439
+ grid-template-columns: 10px 30px 10px;
440
+ box-sizing: content-box;
441
+ transition: all 300ms linear;
442
+
443
+ border: 1px solid ${({mouseOver:e,theme:t})=>e?t.colorTertiary:t.backgroundColorSecondary};
444
+ box-shadow: ${({face:e,theme:t})=>"base"===e?"0px 0px 12px 2px "+t.boxShadowPenumbraColor:""};
445
+ opacity: ${({opaque:e,mouseOver:t})=>{if(!e){if(t)return"0.8";if(!t)return"0.4"}return"1"}};
446
+ transform: ${({face:e})=>{switch(e){case"front":return"translateZ(25px) rotateY(0deg)";case"back":return"translateZ(-25px) rotateY(-180deg)";case"left":return"translateX(-25px) rotateY(-90deg)";case"right":return"translateX(25px) rotateY(90deg)";case"top":return"translateY(-25px) rotateX(90deg)";case"base":return"translateY(25px) rotateX(-90deg)"}return""}};
447
+ `,lo=k.default.div`
448
+ display: grid;
449
+ place-content: center;
450
+ cursor: pointer;
451
+ pointer-events: all;
452
+
453
+ grid-area: ${({type:e})=>`PVF${e}`};
454
+ color: ${({theme:e,hovered:t})=>t?e.colorPrimary:e.colorSecondary};
455
+ background-color: ${({theme:e,transparentUI:t,hovered:a,active:n})=>t&&!a?e.backgroundColorPrimaryAlpha:n||a?e.backgroundColorTertiary:e.backgroundColorSecondary};
456
+ border: 1px solid ${({theme:e,transparentUI:t,hovered:a})=>t&&!a?"transparent":a?e.colorTertiary:e.backgroundColorSecondary};
457
+
458
+ :hover {
459
+ background-color: ${({theme:e})=>e.backgroundColorTertiary};
460
+ }
461
+ `,so="TopLeft",co="TopCenter",uo="TopRight",fo="MiddleLeft",po="MiddleCenter",mo="MiddleRight",go="BottomLeft",To="BottomCenter",ho="BottomRight",Eo={frontTopLeft:"A1",frontTopCenter:"A2",frontTopRight:"A3",frontMiddleLeft:"B1",frontMiddleCenter:"B2",frontMiddleRight:"B3",frontBottomLeft:"C1",frontBottomCenter:"C2",frontBottomRight:"C3",rightTopLeft:"A3",rightTopCenter:"A4",rightTopRight:"A5",rightMiddleLeft:"B3",rightMiddleCenter:"B4",rightMiddleRight:"B5",rightBottomLeft:"C3",rightBottomCenter:"C4",rightBottomRight:"C5",backTopLeft:"A5",backTopCenter:"A6",backTopRight:"A7",backMiddleLeft:"B5",backMiddleCenter:"B6",backMiddleRight:"B7",backBottomLeft:"C5",backBottomCenter:"C6",backBottomRight:"C7",leftTopLeft:"A7",leftTopCenter:"A8",leftTopRight:"A1",leftMiddleLeft:"B7",leftMiddleCenter:"B8",leftMiddleRight:"B1",leftBottomLeft:"C7",leftBottomCenter:"C8",leftBottomRight:"C1",topTopLeft:"A7",topTopCenter:"A6",topTopRight:"A5",topMiddleLeft:"A8",topMiddleCenter:"D1",topMiddleRight:"A4",topBottomLeft:"A1",topBottomCenter:"A2",topBottomRight:"A3",baseTopLeft:"C1",baseTopCenter:"C2",baseTopRight:"C3",baseMiddleLeft:"C8",baseMiddleCenter:"E1",baseMiddleRight:"C4",baseBottomLeft:"C7",baseBottomCenter:"C6",baseBottomRight:"C5"},_o={A1:{rotateX:-45,rotateY:45},A2:{rotateX:-45,rotateY:0},A3:{rotateX:-45,rotateY:-45},B1:{rotateX:0,rotateY:45},B2:{rotateX:0,rotateY:0},B3:{rotateX:0,rotateY:-45},C1:{rotateX:45,rotateY:45},C2:{rotateX:45,rotateY:0},C3:{rotateX:45,rotateY:-45},A4:{rotateX:-45,rotateY:270.1},A5:{rotateX:-45,rotateY:225},B4:{rotateX:0,rotateY:270.1},B5:{rotateX:0,rotateY:225},C4:{rotateX:45,rotateY:270.1},C5:{rotateX:45,rotateY:225},A6:{rotateX:-45,rotateY:180},A7:{rotateX:-45,rotateY:135},B6:{rotateX:0,rotateY:180.1},B7:{rotateX:0,rotateY:135},C6:{rotateX:45,rotateY:180.1},C7:{rotateX:45,rotateY:135},A8:{rotateX:-45,rotateY:90.1},B8:{rotateX:0,rotateY:90.1},C8:{rotateX:45,rotateY:90.1},D1:{rotateX:-90.1,rotateY:0},E1:{rotateX:90.1,rotateY:0}},Oo=o.connect((e=>({generalTheme:xn.themes.getGeneralTheme(e),interactionTheme:xn.themes.getInteractionTheme(e),configuration:xn.configuration.getConfiguration(e)})),(e=>({dispatchRotateX:t=>e(Nn.space.rotateX(t)),dispatchRotateY:t=>e(Nn.space.rotateY(t)),dispatchSetAnimatedTransform:t=>e(Nn.space.setAnimatedTransform(t))})),null,{context:yn})((e=>{const{face:t,faceText:a,mouseOver:n,hoveredZone:r,setHoveredZone:o,activeZone:i,setActiveZone:l,generalTheme:s,interactionTheme:c,configuration:u,dispatchRotateX:d,dispatchRotateY:f,dispatchSetAnimatedTransform:p}=e,{global:m,elements:g}=u,{transparentUI:T}=m,h=g.viewcube.opaque,E=e=>{const a=Eo[`${t}${e}`],n=_o[a];l(a),p(!0),d(n.rotateX),f(n.rotateY),setTimeout((()=>{p(!1)}),450)};return x.default.createElement(io,{theme:s,face:t,opaque:h,mouseOver:n},x.default.createElement(lo,{theme:c,type:so,active:i===Eo[`${t}${so}`],hovered:r===Eo[`${t}${so}`],onClick:()=>E(so),onMouseEnter:()=>o(Eo[`${t}${so}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:co,active:i===Eo[`${t}${co}`],hovered:r===Eo[`${t}${co}`],onClick:()=>E(co),onMouseEnter:()=>o(Eo[`${t}${co}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:uo,active:i===Eo[`${t}${uo}`],hovered:r===Eo[`${t}${uo}`],onClick:()=>E(uo),onMouseEnter:()=>o(Eo[`${t}${uo}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:fo,active:i===Eo[`${t}${fo}`],hovered:r===Eo[`${t}${fo}`],onClick:()=>E(fo),onMouseEnter:()=>o(Eo[`${t}${fo}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:po,active:i===Eo[`${t}${po}`],hovered:r===Eo[`${t}${po}`],onClick:()=>E(po),onMouseEnter:()=>o(Eo[`${t}${po}`]),transparentUI:T},a),x.default.createElement(lo,{theme:c,type:mo,active:i===Eo[`${t}${mo}`],hovered:r===Eo[`${t}${mo}`],onClick:()=>E(mo),onMouseEnter:()=>o(Eo[`${t}${mo}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:go,active:i===Eo[`${t}${go}`],hovered:r===Eo[`${t}${go}`],onClick:()=>E(go),onMouseEnter:()=>o(Eo[`${t}${go}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:To,active:i===Eo[`${t}${To}`],hovered:r===Eo[`${t}${To}`],onClick:()=>E(To),onMouseEnter:()=>o(Eo[`${t}${To}`]),transparentUI:T}),x.default.createElement(lo,{theme:c,type:ho,active:i===Eo[`${t}${ho}`],hovered:r===Eo[`${t}${ho}`],onClick:()=>E(ho),onMouseEnter:()=>o(Eo[`${t}${ho}`]),transparentUI:T}))})),So=k.default.div`
462
+ grid-area: PVModel;
463
+ `,Ro=k.default.div`
464
+ perspective: 2000px;
465
+ perspective-origin: 50% 50%;
466
+ `,Ao=k.default.div`
467
+ transform-style: preserve-3d;
468
+ width: 50px;
469
+ height: 50px;
470
+ `,{matrixArrayToCSSMatrix:bo,rotateMatrix:Co,multiplyArrayOfMatrices:Io,scaleMatrix:vo,translateMatrix:Po}=a.interaction.matrix,{degToRad:Lo}=a.interaction.quaternion,yo=o.connect((e=>({stateLanguage:xn.configuration.getConfiguration(e).global.language,spaceRotationX:xn.space.getRotationX(e),spaceRotationY:xn.space.getRotationY(e),stateAnimatedTransform:xn.space.getAnimatedTransform(e),stateTransformTime:xn.space.getTransformTime(e)})),(e=>({})),null,{context:yn})((e=>{const{mouseOver:n,stateLanguage:o,spaceRotationX:i,spaceRotationY:l,stateAnimatedTransform:s,stateTransformTime:c}=e,[u,d]=r.useState(""),[f,p]=r.useState("");r.useEffect((()=>{u||p("")}),[i,l]);const m=(()=>{const e=32,t=23,a=0,n=0,r=0,o=0,s=Co(Lo(-i),Lo(-l)),c=Po(e,t,a),u=vo(1),d=Io([c,Io([Po(n,r,o),s,Po(-n,-r,-o)]),u]);return bo(d)})();return x.default.createElement(So,null,x.default.createElement(Ro,null,x.default.createElement(Ao,{suppressHydrationWarning:!0,style:{transform:m,transition:n||s?`transform ${c}ms ease-in-out`:""},onMouseLeave:()=>{d("")}},x.default.createElement(Oo,{face:"front",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeFront),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}),x.default.createElement(Oo,{face:"back",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeBack),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}),x.default.createElement(Oo,{face:"left",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeLeft),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}),x.default.createElement(Oo,{face:"right",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeRight),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}),x.default.createElement(Oo,{face:"top",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeTop),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}),x.default.createElement(Oo,{face:"base",faceText:a.internatiolate(o,t.internationalization.fields.viewcubeBase),mouseOver:n,hoveredZone:u,setHoveredZone:d,activeZone:f,setActiveZone:p}))))})),Uo=o.connect((e=>({stateConfiguration:xn.configuration.getConfiguration(e),stateInteractionTheme:xn.themes.getInteractionTheme(e),stateTransformTime:xn.space.getTransformTime(e)})),(e=>({dispatchRotateXWith:t=>e(Nn.space.rotateXWith(t)),dispatchRotateYWith:t=>e(Nn.space.rotateYWith(t)),dispatchSetAnimatedTransform:t=>e(Nn.space.setAnimatedTransform(t)),dispatchSpaceResetTransform:()=>e(Nn.space.spaceResetTransform())})),null,{context:yn})((e=>{const{stateConfiguration:a,stateInteractionTheme:n,stateTransformTime:o,dispatchRotateXWith:i,dispatchRotateYWith:l,dispatchSetAnimatedTransform:s,dispatchSpaceResetTransform:c}=e,{elements:u,space:d}=a,{viewcube:p}=u,{buttons:m,conceal:g}=p,{fadeInTime:T}=d,h=p.show,[E,_]=r.useState(!1),[O,S]=r.useState(!1),R=(e,t)=>{switch(s(!0),e){case"rotateX":i(t);break;case"rotateY":l(t)}setTimeout((()=>{s(!1)}),o)};return r.useEffect((()=>{S(!0)}),[]),h?x.default.createElement(ao,{onMouseEnter:()=>_(!0),onMouseLeave:()=>_(!1),onMouseMove:()=>E?null:_(!0),conceal:g,mouseOver:E,isMounted:O,fadeInTime:T,"data-plurid-entity":t.PLURID_ENTITY_VIEWCUBE},x.default.createElement(yo,{mouseOver:E}),E&&m&&x.default.createElement(x.default.Fragment,null,x.default.createElement(no,{style:{gridArea:"PVRotateUp"}},x.default.createElement(ro,{theme:n,onClick:()=>R("rotateX",-90.1)},"▲")),x.default.createElement(no,{theme:n,style:{gridArea:"PVRotateDown"}},x.default.createElement(ro,{theme:n,onClick:()=>R("rotateX",90.1)},"▼")),x.default.createElement(no,{theme:n,style:{gridArea:"PVRotateLeft"}},x.default.createElement(ro,{theme:n,onClick:()=>R("rotateY",90.1)},"◀")),x.default.createElement(no,{theme:n,style:{gridArea:"PVRotateRight"}},x.default.createElement(ro,{theme:n,onClick:()=>R("rotateY",-90.1)},"▶")),x.default.createElement(oo,{onClick:e=>{e.ctrlKey||e.metaKey||(s(!0),c(),setTimeout((()=>{s(!1)}),o))}},x.default.createElement(f.PluridIconGlobal,null)))):x.default.createElement(x.default.Fragment,null)})),wo=o.connect((e=>({})),(e=>({})),null,{context:yn})((e=>x.default.createElement(x.default.Fragment,null,x.default.createElement(sr,null),x.default.createElement(dr,null),x.default.createElement(to,null),x.default.createElement(Uo,null)))),{getRegisteredPlanes:No}=a.planes,Do=o.connect((e=>({stateConfiguration:xn.configuration.getConfiguration(e),stateTransform:xn.space.getTransform(e),stateTree:xn.space.getTree(e),stateSpaceLoading:xn.space.getLoading(e),stateSpaceView:xn.space.getView(e)})),(e=>({dispatch:e,dispatchSetConfiguration:t=>e(Nn.configuration.setConfiguration(t)),dispatchSetConfigurationMicro:()=>e(Nn.configuration.setConfigurationMicro()),dispatchSpaceSetViewSize:t=>e(Nn.space.setViewSize(t)),dispatchSetSpaceLoading:t=>e(Nn.space.setSpaceLoading(t)),dispatchSetAnimatedTransform:t=>e(Nn.space.setAnimatedTransform(t)),dispatchSetTransformTime:t=>e(Nn.space.setTransformTime(t)),dispatchSetSpaceLocation:t=>e(Nn.space.setSpaceLocation(t)),dispatchSetInitialTree:t=>e(Nn.space.setInitialTree(t)),dispatchSetTree:t=>e(Nn.space.setTree(t)),dispatchSetGeneralTheme:t=>e(Nn.themes.setGeneralTheme(t)),dispatchSetInteractionTheme:t=>e(Nn.themes.setInteractionTheme(t)),dispatchRotateX:t=>e(Nn.space.rotateX(t)),dispatchRotateXWith:t=>e(Nn.space.rotateXWith(t)),dispatchRotateY:t=>e(Nn.space.rotateY(t)),dispatchRotateYWith:t=>e(Nn.space.rotateYWith(t)),dispatchTranslateXWith:t=>e(Nn.space.translateXWith(t)),dispatchTranslateYWith:t=>e(Nn.space.translateYWith(t)),dispatchScaleUpWith:t=>e(Nn.space.scaleUpWith(t)),dispatchScaleDownWith:t=>e(Nn.space.scaleDownWith(t)),dispatchSpaceSetView:t=>e(Nn.space.spaceSetView(t))})),null,{context:yn})((e=>{const{planesRegistrar:n,customPlane:o,planeContext:i,planeContextValue:l,pubsub:c,planeNotFound:u,planeRenderError:d,matchedRoute:f,stateConfiguration:p,stateTransform:m,stateSpaceView:g,stateTree:T,dispatch:h,dispatchSetConfiguration:E,dispatchSetGeneralTheme:_,dispatchSetInteractionTheme:O,dispatchSetSpaceLocation:S,dispatchSetAnimatedTransform:R,dispatchSetTransformTime:A,dispatchSetTree:b,dispatchRotateXWith:C,dispatchRotateX:I,dispatchRotateYWith:v,dispatchRotateY:P,dispatchTranslateXWith:L,dispatchTranslateYWith:y,dispatchScaleUpWith:U,dispatchScaleDownWith:w,dispatchSpaceSetViewSize:N,dispatchSpaceSetView:D}=e,M=r.useRef(null),[F,k]=r.useState(c?[c]:[]),G=r.useCallback((e=>{const{transformLocks:a}=p.space;((e,a,n,r)=>{if(a.defaultPrevented)return;if(s.dom.verifyPathInputElement(a.path))return;const o=!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey);if("KeyF"===a.code&&o)return e(Nn.configuration.toggleConfigurationSpaceFirstPerson());if(n){if("KeyW"===a.code&&o&&r.translationZ)return e(Nn.space.viewCameraMoveForward());if("KeyS"===a.code&&o&&r.translationZ)return e(Nn.space.viewCameraMoveBackward());if("KeyA"===a.code&&o&&r.translationX)return e(Nn.space.viewCameraMoveLeft());if("KeyA"===a.code&&a.shiftKey&&r.rotationY)return e(Nn.space.viewCameraTurnLeft());if("KeyD"===a.code&&o&&r.translationX)return e(Nn.space.viewCameraMoveRight());if("KeyD"===a.code&&a.shiftKey&&r.rotationY)return e(Nn.space.viewCameraTurnRight());if("KeyQ"===a.code&&o&&r.rotationX)return e(Nn.space.viewCameraTurnUp());if("KeyZ"===a.code&&o&&r.rotationX)return e(Nn.space.viewCameraTurnDown());if("KeyE"===a.code&&o&&r.translationY)return e(Nn.space.viewCameraMoveUp());if("KeyC"===a.code&&o&&r.translationY)return e(Nn.space.viewCameraMoveDown())}if("KeyR"===a.code&&o)return e(Nn.configuration.setConfigurationSpaceTransformMode(t.TRANSFORM_MODES.ROTATION));if("KeyT"===a.code&&o)return e(Nn.configuration.setConfigurationSpaceTransformMode(t.TRANSFORM_MODES.TRANSLATION));if("KeyS"===a.code&&o&&!n)return e(Nn.configuration.setConfigurationSpaceTransformMode(t.TRANSFORM_MODES.SCALE));if("ArrowRight"===a.key){if(a.shiftKey&&r.rotationY)return e(Nn.space.rotateLeft());if(a.altKey&&r.translationX)return e(Nn.space.translateRight())}if("ArrowLeft"===a.key){if(a.shiftKey&&r.rotationY)return e(Nn.space.rotateRight());if(a.altKey&&r.translationX)return e(Nn.space.translateLeft())}if("ArrowUp"===a.key){if(a.shiftKey&&a.altKey&&r.translationZ)return e(Nn.space.translateIn());if(a.shiftKey&&!a.altKey&&r.rotationX)return e(Nn.space.rotateUp());if(a.altKey&&!a.shiftKey&&r.translationY)return e(Nn.space.translateUp());if(a.metaKey||a.ctrlKey&&r.scale)return e(Nn.space.scaleUp())}if("ArrowDown"===a.key){if(a.shiftKey&&a.altKey&&r.translationZ)return e(Nn.space.translateOut());if(a.shiftKey&&!a.altKey&&r.rotationX)return e(Nn.space.rotateDown());if(a.altKey&&!a.shiftKey&&r.translationY)return e(Nn.space.translateDown());if(a.metaKey||a.ctrlKey&&r.scale)e(Nn.space.scaleDown())}})(h,e,p.space.firstPerson,a)}),[p.space.firstPerson,p.space.transformLocks,h]),Y=r.useCallback((e=>{const{transformMode:a,transformLocks:n}=p.space,r={rotation:a===t.TRANSFORM_MODES.ROTATION,translation:a===t.TRANSFORM_MODES.TRANSLATION,scale:a===t.TRANSFORM_MODES.SCALE};((e,t,a,n)=>{(t.shiftKey||t.metaKey||t.altKey||t.ctrlKey||a.rotation||a.translation||a.scale)&&t.preventDefault();const r={deltaX:t.deltaX,deltaY:t.deltaY},o=Dn.getWheelDirection(r);a.rotation&&("left"===o&&n.rotationY&&e(Nn.space.rotateLeft()),"right"===o&&n.rotationY&&e(Nn.space.rotateRight()),"up"===o&&n.rotationX&&e(Nn.space.rotateUp()),"down"===o&&n.rotationX&&e(Nn.space.rotateDown())),t.shiftKey&&!t.altKey&&("up"===o&&n.rotationX&&e(Nn.space.rotateUp()),"down"===o&&n.rotationX&&e(Nn.space.rotateDown()),"left"===o&&n.rotationY&&e(Nn.space.rotateLeft()),"right"===o&&n.rotationY&&e(Nn.space.rotateRight())),a.translation&&("up"===o&&n.translationY&&e(Nn.space.translateDown()),"down"===o&&n.translationY&&e(Nn.space.translateUp()),"left"===o&&n.translationX&&e(Nn.space.translateRight()),"right"===o&&n.translationX&&e(Nn.space.translateLeft())),t.altKey&&t.shiftKey&&("up"===o&&n.translationZ&&e(Nn.space.translateIn()),"down"===o&&n.translationZ&&e(Nn.space.translateOut())),t.altKey&&!t.shiftKey&&("up"===o&&n.translationY&&e(Nn.space.translateDown()),"down"===o&&n.translationY&&e(Nn.space.translateUp()),"left"===o&&n.translationX&&e(Nn.space.translateRight()),"right"===o&&n.translationX&&e(Nn.space.translateLeft())),a.scale&&("down"===o&&n.scale&&e(Nn.space.scaleUp()),"up"===o&&n.scale&&e(Nn.space.scaleDown())),(t.metaKey||t.ctrlKey)&&("down"===o&&n.scale&&e(Nn.space.scaleUp()),"up"===o&&n.scale&&e(Nn.space.scaleDown()))})(h,e,r,n)}),[h,p.space.transformMode,p.space.transformLocks]),B=(e,t=p)=>{const r=No(n),o=new a.space.tree.Tree({planes:r,configuration:t,view:e}).compute();for(const e of T)for(const[t,a]of o.entries())e.route===a.route&&e.children&&(o[t].children=e.children);b(o)},V=r.useCallback((()=>{B(g)}),[g,p]),X=e=>{const n=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.CONFIGURATION,callback:e=>{if(e.internal)return;const t=a.general.configuration.merge(e,p);"object"==typeof t.global.theme?("string"==typeof t.global.theme.general?_(j.default[t.global.theme.general]):_(t.global.theme.general),"string"==typeof t.global.theme.interaction?O(j.default[t.global.theme.interaction]):O(t.global.theme.interaction)):"string"==typeof t.global.theme&&(_(j.default[t.global.theme]),O(j.default[t.global.theme])),E(t)}}),r=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_TRANSFORM,callback:e=>{const{value:t,internal:a}=e;a||S(t)}}),o=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_ANIMATED_TRANSFORM,callback:e=>{const{value:t}=e;R(t.active),t.time?A(t.time):A(450)}}),i=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_WITH,callback:e=>{const{value:t}=e;C(t)}}),l=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_TO,callback:e=>{const{value:t}=e;I(t)}}),s=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_WITH,callback:e=>{const{value:t}=e;v(t)}}),c=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_TO,callback:e=>{const{value:t}=e;P(t)}}),u=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_X_WITH,callback:e=>{const{value:t}=e;L(t)}}),d=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Y_WITH,callback:e=>{const{value:t}=e;y(t)}}),f=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.VIEW_ADD_PLANE,callback:e=>{const{plane:t}=e,a=[...g,t];D(a),B(a)}}),m=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.VIEW_SET_PLANES,callback:e=>{const{view:t}=e;D([...t]),B(t)}}),T=e.subscribe({topic:t.PLURID_PUBSUB_TOPIC.VIEW_REMOVE_PLANE,callback:e=>{const{plane:t}=e,a=g.filter((e=>"string"!=typeof e||e===t));D(a),B(a)}});return()=>{e.unsubscribe(n,t.PLURID_PUBSUB_TOPIC.CONFIGURATION),e.unsubscribe(r,t.PLURID_PUBSUB_TOPIC.SPACE_TRANSFORM),e.unsubscribe(o,t.PLURID_PUBSUB_TOPIC.SPACE_ANIMATED_TRANSFORM),e.unsubscribe(i,t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_WITH),e.unsubscribe(l,t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_TO),e.unsubscribe(s,t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_WITH),e.unsubscribe(c,t.PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_TO),e.unsubscribe(u,t.PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_X_WITH),e.unsubscribe(d,t.PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Y_WITH),e.unsubscribe(f,t.PLURID_PUBSUB_TOPIC.VIEW_ADD_PLANE),e.unsubscribe(m,t.PLURID_PUBSUB_TOPIC.VIEW_SET_PLANES),e.unsubscribe(T,t.PLURID_PUBSUB_TOPIC.VIEW_REMOVE_PLANE)}},$=e=>{const a={value:Object.assign({},m),internal:!0};e.publish({topic:t.PLURID_PUBSUB_TOPIC.SPACE_TRANSFORM,data:a}),e.publish({topic:t.PLURID_PUBSUB_TOPIC.CONFIGURATION,data:Object.assign(Object.assign({},p),{internal:!0})})},W=e=>{const{transformMode:a}=p.space;if(a===t.TRANSFORM_MODES.ALL)return;const{velocity:n,distance:r,direction:o}=e,i=a===t.TRANSFORM_MODES.ROTATION,l=a===t.TRANSFORM_MODES.TRANSLATION,s=a===t.TRANSFORM_MODES.SCALE;switch(R(!0),o){case 2:i&&v(60*n),l&&L(-1*r);break;case 4:i&&v(60*n),l&&L(r);break;case 8:i&&C(60*n),l&&y(-1*r),s&&U(n);break;case 16:i&&C(60*n),l&&y(r),s&&w(n)}setTimeout((()=>{R(!1)}),450)},z=e=>{const{transformMode:a}=p.space;if(a===t.TRANSFORM_MODES.ALL)return;const{velocity:n,distance:r,direction:o}=e,i=a===t.TRANSFORM_MODES.ROTATION,l=a===t.TRANSFORM_MODES.TRANSLATION,s=a===t.TRANSFORM_MODES.SCALE,c=20*n,u=r/5,d=n/4;switch(o){case 2:i&&v(c),l&&L(-1*u);break;case 4:i&&v(c),l&&L(u);break;case 8:i&&C(c),l&&y(-1*u),s&&U(d);break;case 16:i&&C(c),l&&y(u),s&&w(d)}};r.useEffect((()=>(M.current&&(M.current.addEventListener("keydown",G,{passive:!1}),M.current.addEventListener("wheel",Y,{passive:!1})),()=>{M.current&&(M.current.removeEventListener("keydown",G),M.current.removeEventListener("wheel",Y))})),[M.current,p.space.transformMode,p.space.firstPerson]),r.useEffect((()=>{const e=s.meta.debounce((()=>{if(M&&M.current){const e=M.current.offsetWidth,t=M.current.offsetHeight;N({width:e,height:t})}}),150);return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),r.useEffect((()=>(window.addEventListener("resize",V),()=>{window.removeEventListener("resize",V)})),[g,p]),r.useEffect((()=>{if("undefined"==typeof window)return;let e;return Un(void 0,void 0,void 0,(function*(){const a=(yield Mn()).default,{transformTouch:n}=p.space;delete a.defaults.cssProps.userSelect,delete a.defaults.cssProps.userDrag,delete a.defaults.cssProps.tapHighlightColor,delete a.defaults.cssProps.touchSelect,M.current&&(e=new a(M.current),e.get("pan").set({direction:a.DIRECTION_ALL}),e.get("swipe").set({direction:a.DIRECTION_ALL}),n===t.TRANSFORM_TOUCHES.PAN?e.on("pan",z):e.on("swipe",W))})),()=>{if(!e)return;const{transformTouch:a}=p.space;a===t.TRANSFORM_TOUCHES.PAN?e.off("pan",z):e.off("swipe",W)}}),[M.current,p.space.transformTouch,p.space.transformMode]),r.useEffect((()=>{const e=e=>{navigator.getGamepads()[e.gamepad.index]},t=e=>{navigator.getGamepads()[e.gamepad.index]};return window.addEventListener("gamepadconnected",e),window.addEventListener("gamepaddisconnected",t),()=>{window.removeEventListener("gamepadconnected",e),window.removeEventListener("gamepaddisconnected",t)}}),[]),r.useEffect((()=>{const e=[];for(const t of F){const a=X(t);e.push(a)}return()=>{for(const t of e)t()}}),[F.length]),r.useEffect((()=>{for(const e of F)$(e)}),[F.length,p,m]),r.useEffect((()=>{V()}),[]);const H={planesRegistrar:n,planeContext:i,planeContextValue:l,customPlane:o,planeNotFound:u,planeRenderError:d,matchedRoute:f,registerPubSub:e=>{const t=[...F,e];k(t)}},Z=0===g.length?x.default.createElement(x.default.Fragment,null):x.default.createElement(wo,null);return x.default.createElement(jn,{ref:M,tabIndex:0,transformMode:p.space.transformMode,"data-plurid-entity":t.PLURID_ENTITY_VIEW},x.default.createElement(Fn,null),x.default.createElement(wn.Provider,{value:H},Z))})),{registerPlanes:Mo}=a.planes;class xo extends r.Component{constructor(e,t){super(e),this.storeID=e.id||"default",this.context=t;const a=this.computeStore();this.store=Ln(a),this.subscribeStore()}componentDidUpdate(){const e=this.computeStore();this.store.dispatch({type:"SET_STATE",payload:e})}componentWillUnmount(){this.storeUnubscriber&&this.storeUnubscriber()}render(){return x.default.createElement(o.Provider,{store:this.store,context:yn},x.default.createElement(Do,Object.assign({},this.props)))}computeStore(){const{view:e,planes:t,configuration:n,precomputedState:r,planesRegistrar:o,id:i,useLocalStorage:l}=this.props;Mo(t,o);const s=this.store?this.store.getState():void 0,c=a.state.local.load(this.storeID,l),u=i&&this.context&&this.context.states[i]?this.context.states[i]:void 0;return a.state.compute(e,n,o,s,c,r,u)}subscribeStore(){this.store&&"undefined"!=typeof localStorage&&this.props.useLocalStorage&&(this.storeUnubscriber=this.store.subscribe((()=>{const e=this.store.getState(),t=JSON.stringify(e);localStorage.setItem("pluridState-"+this.storeID,t)})))}}xo.contextType=Y;const Fo=k.default.div`
471
+ scroll-snap-type: ${e=>{const{alignment:t,snapType:a}=e;return"none"===a?"none":t+" "+a}};
472
+
473
+ flex-direction: ${e=>{const{alignment:t}=e;return"x"===t?"row":"column"}};
474
+
475
+ outline: none;
476
+ overflow: auto;
477
+ /* display: flex; */
478
+ height: 100vh;
479
+ height: -webkit-fill-available;
480
+ width: 100vw;
481
+ `,{resolvePluridRoutePlaneData:jo,Registrar:ko}=a.planes,Go=(e,n,r,o)=>{if(o||"RoutePlane"===(null==e?void 0:e.kind)){const t=o||e;if(!t)return()=>()=>x.default.createElement(x.default.Fragment,null);return Yo(t,n)}if(!e){const e=r.match("/not-found","route");if(e&&"Route"===e.kind){return Go(e,n,r)}return()=>()=>x.default.createElement(x.default.Fragment,null)}const{exterior:i,view:l,planes:c,spaces:u,defaultConfiguration:d,slotted:f,resolver:p}=e.data;p&&p(void 0);const m={value:e.match.value,parameters:e.match.parameters,query:e.match.query};let g;return Qn(i)&&(g=i,g&&(g.displayName="PluridRouteExterior")),!i||!g||l||c||u?l?()=>{const t=new M.default,a=x.default.createElement(xo,{view:l,planesRegistrar:n,configuration:d,pubsub:t,matchedRoute:e});return()=>x.default.createElement(x.default.Fragment,null,g&&x.default.createElement(g,{plurid:m,pubsub:t,spaces:f?[a]:void 0}),!f&&x.default.createElement(x.default.Fragment,null,a))}:(e=>{var n,r,o,i,l,c;if("Route"!==e.kind)return()=>()=>x.default.createElement(x.default.Fragment,null);const u="http",d="localhost:63000",{match:f,data:p}=e,{parameters:m,query:g}=f,T={value:f.value,parameters:m,query:g},{exterior:h,planes:E,spaces:_,slotted:O}=e.data,S=(null===(n=p.multispace)||void 0===n?void 0:n.alignment)||"y",R=(null===(r=p.multispace)||void 0===r?void 0:r.snapType)||"mandatory";let A=()=>x.default.createElement(x.default.Fragment,null);Qn(h)&&(A=h);let b=()=>x.default.createElement(x.default.Fragment,null);const C=[];if(_)for(const e of _){const n=[],r=[];if(e.planes)for(const o of e.planes){const i=jo(o),{component:l}=i,s=[u,d,p.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(p.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),t.PLURID_ROUTE_DEFAULT_UNIVERSE,t.PLURID_ROUTE_DEFAULT_CLUSTER,a.utilities.cleanPathElement(i.value)].join(t.PLURID_ROUTE_SEPARATOR),c={component:l,route:s};n.push(c),r.push(s)}if(e.universes)for(const o of e.universes){if(o.clusters)for(const i of o.clusters)for(const l of i.planes){const s=jo(l),{component:c}=s,f=[u,d,p.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(p.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),o.value===t.PLURID_ROUTE_DEFAULT_UNIVERSE_VALUE?t.PLURID_ROUTE_DEFAULT_UNIVERSE:a.utilities.cleanPathElement(o.value),i.value===t.PLURID_ROUTE_DEFAULT_CLUSTER_VALUE?t.PLURID_ROUTE_DEFAULT_CLUSTER:a.utilities.cleanPathElement(i.value),a.utilities.cleanPathElement(s.value)].join(t.PLURID_ROUTE_SEPARATOR),m={component:c,route:f};n.push(m),p.view?p.view.includes(s.value)&&r.push(f):r.push(f)}if(o.planes)for(const i of o.planes){const l=jo(i),{component:s}=l,c=[u,d,p.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(p.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),o.value===t.PLURID_ROUTE_DEFAULT_UNIVERSE_VALUE?t.PLURID_ROUTE_DEFAULT_UNIVERSE:a.utilities.cleanPathElement(o.value),t.PLURID_ROUTE_DEFAULT_CLUSTER,a.utilities.cleanPathElement(l.value)].join(t.PLURID_ROUTE_SEPARATOR),f={component:s,route:c};n.push(f),r.push(c)}}const o=new ko,i=x.default.createElement(xo,{key:s.uuid.generate(),id:p.value,planes:n,view:r,configuration:e.configuration,planesRegistrar:o});C.push(i)}if(E){const e=[],n=[];for(const r of E){const o=jo(r),{component:i}=o,l=[u,d,p.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(p.value),t.PLURID_ROUTE_DEFAULT_SPACE,t.PLURID_ROUTE_DEFAULT_UNIVERSE,t.PLURID_ROUTE_DEFAULT_CLUSTER,a.utilities.cleanPathElement(o.value)].join(t.PLURID_ROUTE_SEPARATOR),s={component:i,route:l};e.push(s),p.view?p.view.includes(o.value)&&n.push(l):n.push(l)}const r=x.default.createElement(xo,{key:s.uuid.generate(),id:p.value,planes:e,view:n,configuration:p.defaultConfiguration});C.push(r)}let I,v;return Qn(null===(o=p.multispace)||void 0===o?void 0:o.header)&&(I=null===(i=p.multispace)||void 0===i?void 0:i.header),Qn(null===(l=p.multispace)||void 0===l?void 0:l.footer)&&(v=null===(c=p.multispace)||void 0===c?void 0:c.footer),b=()=>x.default.createElement(Fo,{alignment:S,snapType:R,"data-plurid-entity":t.PLURID_ENTITY_MULTISPACE},I&&x.default.createElement(I,{plurid:T}),C,v&&x.default.createElement(v,{plurid:T})),()=>()=>x.default.createElement(x.default.Fragment,null,h&&x.default.createElement(A,{spaces:O?C:void 0,plurid:T}),(_||E)&&!O&&x.default.createElement(b,null))})(e):()=>()=>x.default.createElement(x.default.Fragment,null,g&&x.default.createElement(g,{plurid:m}))},Yo=(e,t)=>{if(e.match.query.flat){const a=e.match.query.flat.toLowerCase();if("true"===a||"1"===a){const a=t.get(e.match.value);if(a){const e=a.component;if("function"!=typeof e)return()=>()=>x.default.createElement(x.default.Fragment,null);return()=>()=>x.default.createElement(x.default.Fragment,null,x.default.createElement(e,null))}}}const{defaultConfiguration:a}=null==e?void 0:e.data;return()=>()=>x.default.createElement(x.default.Fragment,null,x.default.createElement(xo,{view:[e.match.value],planesRegistrar:t,configuration:a}))},{Registrar:Bo}=a.planes,{IsoMatcher:Vo}=a.routing,Xo=e=>{const{routes:a,planes:n,exterior:o,shell:i,static:l,view:c,cleanNavigation:u,notFoundPath:d}=e,f=d||"/not-found",m=((e,t)=>{const a=[];for(const t of e){if(t.planes)for(const e of t.planes){const n=jo(e),r={route:n.link?n.link:n.value.startsWith("/")?n.value:t.value+"/"+n.value,component:n.component};a.push(r)}t.spaces}if(t)for(const e of t){const t=jo(e),n={route:t.value,component:t.component};a.push(n)}return a})(a,n),g=r.useRef(new Bo(m)),T=r.useRef(new Vo({routes:a,routePlanes:n})),h=p.useMounted(),[E,_]=r.useState((e=>e?e.path:"undefined"!=typeof window?window.location.pathname+window.location.search:"/")(l)),[O,S]=r.useState(T.current.match(E,"route")),[R,A]=r.useState(Go(O,g.current,T.current,l&&l.directPlane?T.current.match(l.directPlane,"route"):void 0)),b=e=>{let t;e&&e.detail&&e.detail.path&&!t&&(t=e.detail.path),u&&c&&!t&&(t=c);const a=window.location.pathname;t||(t=a+window.location.search),_(t)};let C;r.useEffect((()=>(window.addEventListener("popstate",b),window.addEventListener(t.PLURID_ROUTER_LOCATION_CHANGED,b),()=>{window.removeEventListener("popstate",b),window.removeEventListener(t.PLURID_ROUTER_LOCATION_CHANGED,b)})),[]),r.useEffect((()=>{if(!h)return;u||location.pathname!==E&&history.pushState(null,"",E);let e=T.current.match(E,"route");if(e&&"RoutePlane"===e.kind){const t=Yo(e,g.current);return S(e),void A(t)}e||(e=T.current.match(f,"route")),S(e),A(Go(e,g.current,T.current))}),[h,E]),r.useEffect((()=>{if(!O)return;if("Route"!==O.kind)return;const e=O.match.value;s.storage.saveState(e,t.PLURID_ROUTER_STORAGE);const a=new CustomEvent(t.PLURID_ROUTER_LOCATION_STORED,{detail:{path:e}});window.dispatchEvent(a)}),[u,O]),Qn(o)&&(C=o,C&&(C.displayName="PluridRouterExterior"));let I=({children:e})=>x.default.createElement(x.default.Fragment,null,e);return Qn(i)&&(I=i,I&&(I.displayName="PluridRouterShell")),x.default.createElement(x.default.Fragment,null,C&&x.default.createElement(C,{matchedRoute:O}),x.default.createElement(I,{matchedRoute:O},x.default.createElement(R,null)))},$o=e=>{const{path:t,directPlane:a,routes:n,planes:r,exterior:o,shell:i,protocol:l,host:s,gateway:c,gatewayQuery:u,gatewayEndpoint:d}=e,f=l||"http",p=s||"localhost:63000";return x.default.createElement(Xo,{routes:n,planes:r,exterior:o,shell:i,static:{path:t,directPlane:a},protocol:f,host:p})};class Wo extends r.Component{constructor(e){super(e),this.properties=e}render(){const{metastate:e,children:t}=this.properties;return x.default.createElement(Y.Provider,{value:e},t)}}Wo.displayName="PluridProvider";const zo={x:0,y:0},Ho=e=>{const{elementID:t,rootID:a,children:n}=e,r=p.usePortal(t,a);return m.createPortal(n,r)},Zo=k.default.div`
482
+ position: absolute;
483
+ min-width: 600px;
484
+ min-height: 300px;
485
+ z-index: 99999;
486
+
487
+ top: ${({linkCoordinates:e})=>e.y+"px"};
488
+ left: ${({linkCoordinates:e})=>e.x+5+"px"};
489
+ background-color: ${({theme:e})=>e.backgroundColorSecondary};
490
+ box-shadow: ${({theme:e})=>e.boxShadowUmbra};
491
+ `,{getPlanesRegistrar:Ko}=a.planes,qo=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{planeID:t,linkCoordinates:a,stateGeneralTheme:n}=e,o=r.useContext(wn);if(!o)return x.default.createElement(x.default.Fragment,null);const{planesRegistrar:i}=o,l=Ko(i);if(!l)return x.default.createElement(x.default.Fragment,null);const s=l.get(t);if(!s)return x.default.createElement(x.default.Fragment,null);const c=s.component;return"function"!=typeof c?x.default.createElement(x.default.Fragment,null):x.default.createElement(Zo,{theme:n,linkCoordinates:a},x.default.createElement(c,null))})),Qo=k.default.a`
492
+ /**
493
+ * Forces element to go to the second row if inlined.
494
+ */
495
+ display: inline-block;
496
+
497
+ cursor: pointer;
498
+ color: ${({theme:e})=>e.colorTertiary};
499
+
500
+ :hover {
501
+ color: ${({theme:e})=>e.colorPrimary};
502
+ }
503
+
504
+ ::after {
505
+ content: "${({devisible:e,suffix:t})=>e?"":t||"'"}";
506
+ }
507
+ `,{resolveRoute:Jo,computePlaneAddress:ei}=a.routing,{getPlanesRegistrar:ti,getPluridPlaneIDByData:ai}=a.planes,{degToRad:ni,radToDeg:ri}=a.interaction.quaternion,{multiplyMatrices:oi,translateMatrix:ii,rotateYMatrix:li}=a.interaction.transform.general,{getTransformRotate:si,getTransformTranslate:ci,getTransformScale:ui}=a.interaction.transform.matrix3d;var di=o.connect((e=>({stateTree:xn.space.getTree(e),stateGeneralTheme:xn.themes.getGeneralTheme(e),stateConfiguration:xn.configuration.getConfiguration(e),stateViewSize:xn.space.getViewSize(e)})),(e=>({dispatchSetTree:t=>e(Nn.space.setTree(t)),dispatchSetAnimatedTransform:t=>e(Nn.space.setAnimatedTransform(t)),dispatchSetTransform:t=>e(Nn.space.setTransform(t)),dispatchSetSpaceField:t=>e(Nn.space.setSpaceField(t)),dispatchUpdateSpaceLinkCoordinates:t=>e(Nn.space.updateSpaceLinkCoordinates(t))})),null,{context:yn})((e=>{const{children:n,route:o,devisible:i,suffix:l,atClick:s,style:c,className:u,stateTree:d,stateGeneralTheme:f,stateConfiguration:p,stateViewSize:m,dispatchSetTree:g,dispatchSetAnimatedTransform:T,dispatchSetTransform:h,dispatchSetSpaceField:E,dispatchUpdateSpaceLinkCoordinates:_}=e,O=p.elements.plane.controls.show,S=t.PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_FADE_IN,R=t.PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_FADE_OUT,A=ei(o),b=Jo(A,p.network.protocol,p.network.host),C=null!=l?l:t.PLURID_DEFAULT_CONFIGURATION_LINK_SUFFIX,I=null!=i&&i,v=r.useContext(wn);if(!v)return x.default.createElement(x.default.Fragment,null,n);const{planesRegistrar:P}=v,L=ti(P);if(!L)return x.default.createElement(x.default.Fragment,null,n);const y=r.useRef(null),U=r.useRef(null),w=r.useRef(null),[N,D]=r.useState(!1),[M,F]=r.useState(!1),[j,k]=r.useState(!1),[G,Y]=r.useState(""),[B,V]=r.useState(""),[X,$]=r.useState(ai(y.current)),[W,z]=r.useState(zo),H=()=>{const e=y.current;if(!e)return Object.assign({},zo);let t=0,a=0,n=!1,r=e,o=!0,i=0,l=0;for(;o;)if("static"!==window.getComputedStyle(r).position||n||(t+=r.offsetTop,a+=r.offsetLeft,n=!0),"relative"===window.getComputedStyle(r).position&&(i+=t,l+=a,t=0,a=0,n=!1),r.scrollLeft&&(l+=-r.scrollLeft),r.scrollTop&&(i+=-r.scrollTop),r.parentElement){"PluridPlane"===r.parentElement.dataset.pluridEntity&&(o=!1),r=r.parentElement}else o=!1;const s=O?56:0;return{x:l+e.offsetWidth,y:i+s}},Z=(e,t)=>{if(!t)return;if(j)return;if(e.altKey||e.metaKey)return;const{location:a}=t,{translateX:n,translateY:r,translateZ:o,rotateY:i}=a,l=i<100?1:-1,s=i<100?-1:1,c=i<100?200:0,u=`matrix3d(${oi(oi(oi(ii(-n,-r,l*o),li(ni(i))),ii(n,r,s*o)),ii(-(n+c),-r,l*o)).flat().join(",")})`,d=si(u),f=ci(u),p=ui(u);T(!0),E({field:"transform",value:u}),h({translationX:f.translateX,translationY:f.translateY,translationZ:f.translateZ,rotationX:ri(d.rotateX),rotationY:-1*ri(d.rotateY),scale:p.scale}),setTimeout((()=>{T(!1)}),500)},K=e=>{j||B?(e=>{const{updatedTree:t,updatedPlane:n}=a.space.tree.logic.togglePlaneFromTree(d,B);Z(e,n),g(t),k((e=>!e)),F(!1)})(e):(e=>{if(!X||!b)return;const{route:t}=b,n=H(),{pluridPlaneID:r,updatedTree:o,updatedTreePlane:i}=a.space.tree.logic.updateTreeWithNewPlane(t,X,n,d,L.getAll(),p);r&&(Z(e,i),g(o),k(!0),V(r))})(e)},q=r.useCallback((e=>{e.preventDefault(),void 0!==s&&s(e),K(e)}),[y.current,d]);return r.useEffect((()=>{const e=ai(y.current);$(e);const t=H();z(t)}),[]),r.useEffect((()=>(N&&w.current&&(U.current=setTimeout((()=>{F(!0)}),S),clearTimeout(w.current)),N||(w.current=setTimeout((()=>{F(!1),U.current&&clearTimeout(U.current)}),R)),()=>{w.current&&clearTimeout(w.current),U.current&&clearTimeout(U.current)})),[N]),r.useEffect((()=>{}),[]),x.default.createElement(Qo,{ref:y,onClick:e=>q(e),onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1),theme:f,suffix:C,devisible:I,style:Object.assign({},c),className:u,"data-plurid-entity":t.PLURID_ENTITY_LINK},n,M&&!j&&x.default.createElement(Ho,{elementID:`preview-${X}`,rootID:X},x.default.createElement(qo,{planeID:G,linkCoordinates:W})))}));const fi=k.default.a`
508
+ `,pi=k.default.div`
509
+ cursor: pointer;
510
+ `,mi=e=>{const{route:t,children:n,asAnchor:r,style:o,className:i,atClick:l}=e,s={onClick:e=>{if(l){if(l(e))return}e.preventDefault(),a.pluridRouterNavigate(t)},style:o,className:i};return null==r||r?x.default.createElement(fi,Object.assign({href:t},s),n):x.default.createElement(pi,Object.assign({},s),n)},gi=k.default.div`
511
+ position: absolute;
512
+ height: 0;
513
+ width: 0;
514
+ user-select: none;
515
+ pointer-events: none;
516
+ `,Ti=o.connect((e=>({stateConfiguration:xn.configuration.getConfiguration(e)})),(e=>({dispatchSetConfiguration:t=>e(Nn.configuration.setConfiguration(t))})),null,{context:yn})((e=>{const n=r.useContext(wn);if(!n)return x.default.createElement(x.default.Fragment,null);const{registerPubSub:o}=n,{configuration:i,pubsub:l,stateConfiguration:s,dispatchSetConfiguration:c}=e,u=r.useRef(null);return r.useEffect((()=>{const e=a.general.configuration.merge(i,s);c(e)}),[i]),r.useEffect((()=>{l&&o(l)}),[l]),x.default.createElement(gi,{ref:u,"data-plurid-entity":t.PLURID_ENTITY_APPLICATION_CONFIGURATOR})})),hi=k.default.div`
517
+ position: absolute;
518
+ height: 0;
519
+ width: 0;
520
+ user-select: none;
521
+ pointer-events: none;
522
+ `,{getPluridPlaneIDByData:Ei}=a.planes,_i=o.connect((e=>({})),(e=>({})),null,{context:yn})((e=>{const a=r.useRef(null),[n,o]=r.useState("");return r.useEffect((()=>{const e=Ei(a.current);o(e)}),[]),x.default.createElement(hi,{ref:a,"data-plurid-entity":t.PLURID_ENTITY_PLANE_CONFIGURATOR})})),Oi=k.default.div`
523
+ `,Si=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{plurid:t}=e,a=t.value,n=r.useRef(!1),[o,i]=r.useState();return r.useEffect((()=>(n.current=!0,()=>{n.current=!1}))),r.useEffect((()=>{let e=!1;Un(void 0,void 0,void 0,(function*(){if(!e){e=!0;try{const{domain:e,url:t}=(e=>{const t=e.match(/^pttp:\/\/(\w+(\.|:)\w+)\/?/);if(!t)return{domain:"",url:""};const a=t[1];return{domain:a,url:`http://${a}/pttp`}})(a),r=((e,t)=>{if(e)return t.replace(`pttp://${e}`,"")})(e,a);if(!t||!r)return;const o=yield((e,t)=>Un(void 0,void 0,void 0,(function*(){try{const a=yield G.default(e,{method:"post",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({path:t}),credentials:"include"}),n=yield a.json();if(!n.element)return;const{element:r}=n,o=new T.ElementQLClient({url:r.url}),{status:i,Elements:l}=yield o.get(r.json,"json");if(!i)return;const s=l[r.name];return()=>s}catch(e){return}})))(t,r);if(!n.current)return;o&&i(o)}catch(e){return}}}))}),[]),x.default.createElement(Oi,null,o&&x.default.createElement(o,null))})),Ri=k.default.div`
524
+ `,Ai=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>{const{plurid:t}=e,a=t.value;return x.default.createElement(Ri,null,x.default.createElement("iframe",{src:a}))})),bi=e=>{const{top:t,index:a,element:n,setHeight:o}=e,i=r.useRef(null);return r.useEffect((()=>{i.current&&o(i.current.offsetHeight,a)}),[i.current]),x.default.createElement("div",{ref:i,style:{position:"absolute",top:t+"px"}},n)},{markers:{Spinner:Ci}}=d.universal,Ii=o.connect((e=>({translationY:xn.space.getTranslationY(e),viewSize:xn.space.getViewSize(e)})),(e=>({})),null,{context:yn})((e=>{const{items:t,generalHeight:a,translationY:n,viewSize:o}=e,i=a||100,l=r.useRef(null),c=r.useRef([]),u=r.useRef(Array(t.length).fill(i)),[d,f]=r.useState(0),[p,m]=r.useState(Math.floor(1e3/i)),[g,T]=r.useState(i*(p-d)),[h,E]=r.useState(!1),_=(e,t)=>{u.current[t]=e};return r.useEffect((()=>{if(u.current){const e=s.mathematics.arithmetic.sum(u.current,u.current.length);T(e)}}),[d,p,u.current]),r.useEffect((()=>{let e=0;for(const[t,a]of u.current.entries())e+=a,n<0?(e<Math.abs(n)&&f(t),e>Math.abs(n)+o.height&&e<Math.abs(n)+o.height+400&&m(t)):(f(0),m(10))}),[o.height,n]),r.useEffect((()=>{E(!0),setTimeout((()=>{const e=s.mathematics.arithmetic.sum(u.current,u.current.length);T(e),E(!1)}),400)}),[o]),x.default.createElement("div",{style:{height:g},ref:l},h&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Ci,null)),!h&&x.default.createElement(x.default.Fragment,null,(()=>{c.current=[];for(let e=d;e<=p;e++){const a=t[e];c.current.push(x.default.createElement(bi,{key:e+Math.random(),index:e,top:s.mathematics.arithmetic.sum(u.current,e),element:a,setHeight:_}))}return c.current})()))})),vi=k.default.div`
525
+ `,Pi=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>x.default.createElement(vi,null,"PluridPlaneDebugger"))),Li=k.default.div`
526
+ `,yi=o.connect((e=>({stateGeneralTheme:xn.themes.getGeneralTheme(e),stateInteractionTheme:xn.themes.getInteractionTheme(e)})),(e=>({})),null,{context:yn})((e=>x.default.createElement(Li,null,"PluridSpaceDebugger"))),{resolvePluridPlaneData:Ui}=a.planes,wi=(e,t,n,r)=>{const o=new Map,i=new Map(e||new Map),l=a.general.configuration.merge(n);if(t)for(const e of t){const t=Ui(e),n=a.routing.resolveRoute(t.route);if(!n)continue;const{protocol:r,host:o,path:l,space:s,universe:c,cluster:u,plane:d,route:f}=n,p={protocol:r,host:"",path:"",space:"",universe:"",cluster:"",plane:"",route:f,component:t.component},m=f;i.set(m,p)}const s=new Map(i),c={};for(const[e,t]of i)c[t.route]=e;for(const[e,t]of i);const u=r||[],d=[];for(const e of u)if("string"==typeof e){const t=a.routing.resolveRoute(e);if(!t)continue;d.push(t.route)}return{computedTree:[],indexedPlanesReference:s,planesPropertiesReference:o,appConfiguration:l}},Ni=(e,n,r)=>Un(void 0,void 0,void 0,(function*(){const o="http",i="localhost:63000",l=((e,t,n)=>{const r=new Map;for(const o of e){if(o.planes)for(const e of o.planes){const i=jo(e),l="/"===o.value?"p":a.utilities.cleanPathElement(o.value),s="s",c="u",u="c",d=a.utilities.cleanPathElement(i.value),f=[t,n,l,s,c,u,d].join("://"),p={protocol:t,host:n,path:l,space:s,universe:c,cluster:u,plane:d,component:i.component,route:f};r.set(f,p)}if(o.spaces){for(const e of o.spaces)if(e.universes)for(const i of e.universes)if(i.clusters)for(const l of i.clusters)for(const s of l.planes){const c=jo(s),u="/"===o.value?"p":a.utilities.cleanPathElement(o.value),d="default"===e.value?"s":a.utilities.cleanPathElement(e.value),f="default"===i.value?"u":a.utilities.cleanPathElement(i.value),p="default"===l.value?"c":a.utilities.cleanPathElement(l.value),m=a.utilities.cleanPathElement(c.value),g=[t,n,u,d,f,p,m].join("://"),T={protocol:t,host:n,path:u,space:d,universe:f,cluster:p,plane:m,component:c.component,route:g};r.set(g,T)}}else{const e="/"===o.value?"p":a.utilities.cleanPathElement(o.value),i=[t,n,e].join("://"),l={protocol:t,host:n,path:e,space:"",universe:"",cluster:"",plane:"",component:o.exterior||(()=>x.default.createElement(x.default.Fragment,null)),route:i};r.set(i,l)}}return r})(n,o,i),s=yield((e,n,r,o)=>Un(void 0,void 0,void 0,(function*(){const n={planes:[],spaces:[],view:[],value:""};if("Route"===e.kind){let t=e.data;e.data.resolver&&(t=yield e.data.resolver(o)),n.planes=t.planes||[],n.spaces=t.spaces||[],n.view=t.view||[],n.value=e.data.value||""}const{planes:r,spaces:i,view:l}=n,s=[];if(i)for(const e of i){const r=[],o=[];if(e.planes)for(const r of e.planes){const o=jo(r);n.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(n.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),a.utilities.cleanPathElement(o.value)}if(e.universes)for(const r of e.universes){if(r.clusters)for(const o of r.clusters)for(const i of o.planes){const l=jo(i);n.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(n.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),r.value===t.PLURID_ROUTE_DEFAULT_UNIVERSE_VALUE?t.PLURID_ROUTE_DEFAULT_UNIVERSE:a.utilities.cleanPathElement(r.value),o.value===t.PLURID_ROUTE_DEFAULT_CLUSTER_VALUE?t.PLURID_ROUTE_DEFAULT_CLUSTER:a.utilities.cleanPathElement(o.value),a.utilities.cleanPathElement(l.value)}if(r.planes)for(const o of r.planes){const i=jo(o);n.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(n.value),e.value===t.PLURID_ROUTE_DEFAULT_SPACE_VALUE?t.PLURID_ROUTE_DEFAULT_SPACE:a.utilities.cleanPathElement(e.value),r.value===t.PLURID_ROUTE_DEFAULT_UNIVERSE_VALUE?t.PLURID_ROUTE_DEFAULT_UNIVERSE:a.utilities.cleanPathElement(r.value),a.utilities.cleanPathElement(i.value)}}const i={planes:r,view:o};s.push(i)}if(r){const e=[];for(const e of r){const r=jo(e);n.value===t.PLURID_ROUTE_DEFAULT_PATH_VALUE?t.PLURID_ROUTE_DEFAULT_PATH:a.utilities.cleanPathElement(n.value),a.utilities.cleanPathElement(r.value)}const o={planes:e,view:l||[]};s.push(o)}return s})))(e,0,0,r),c={};for(const t of s){const{planes:a,view:n}=t,{computedTree:r,appConfiguration:o}=wi(l,a,void 0,n),i={configuration:Object.assign({},o),shortcuts:{global:!0},themes:{general:j.default.plurid,interaction:j.default.plurid},ui:{toolbarScrollPosition:50},space:{loading:!1,animatedTransform:!1,scale:1,rotationX:0,rotationY:0,translationX:0,translationY:0,translationZ:0,initialTree:r,tree:r,activeUniverseID:"",camera:{x:0,y:0,z:0},viewSize:{width:1440,height:821},spaceSize:{width:1440,height:821,depth:0,topCorner:{x:0,y:0,z:0}},view:n,culledView:[]}};c[e.data.value]=i}return{states:c}})),{IsoMatcher:Di,RouteParser:Mi}=a.routing,xi={PluridPlaneBridge:Bn,PluridPlaneContent:Kn,PluridPlaneControls:Hn,PluridPlaneDebugger:Pi,PluridSpaceDebugger:yi},Fi={Application:xo,RouterStatic:$o,RouterBrowser:Xo,Provider:Wo,Link:di,RouterLink:mi,ApplicationConfigurator:Ti,PlaneConfigurator:_i,ExternalPlane:Si,IframePlane:Ai,VirtualList:Ii,SPACE_LAYOUT:t.LAYOUT_TYPES,SIZES:t.SIZES,TRANSFORM_MODES:t.TRANSFORM_MODES,TRANSFORM_TOUCHES:t.TRANSFORM_TOUCHES,PubSub:M.default,PUBSUB_TOPIC:t.PLURID_PUBSUB_TOPIC,serverComputeMetastate:Ni,IsoMatcher:Di,routerNavigate:a.pluridRouterNavigate,internals:xi};Object.defineProperty(e,"PLURID_PUBSUB_TOPIC",{enumerable:!0,get:function(){return t.PLURID_PUBSUB_TOPIC}}),Object.defineProperty(e,"PLURID_ROUTER_LOCATION_CHANGED",{enumerable:!0,get:function(){return t.PLURID_ROUTER_LOCATION_CHANGED}}),Object.defineProperty(e,"PLURID_ROUTER_LOCATION_STORED",{enumerable:!0,get:function(){return t.PLURID_ROUTER_LOCATION_STORED}}),Object.defineProperty(e,"SIZES",{enumerable:!0,get:function(){return t.SIZES}}),Object.defineProperty(e,"SPACE_LAYOUT",{enumerable:!0,get:function(){return t.LAYOUT_TYPES}}),Object.defineProperty(e,"TRANSFORM_MODES",{enumerable:!0,get:function(){return t.TRANSFORM_MODES}}),Object.defineProperty(e,"TRANSFORM_TOUCHES",{enumerable:!0,get:function(){return t.TRANSFORM_TOUCHES}}),Object.defineProperty(e,"pluridRouterNavigate",{enumerable:!0,get:function(){return a.pluridRouterNavigate}}),Object.defineProperty(e,"PluridPubSub",{enumerable:!0,get:function(){return M.default}}),e.PluridApplication=xo,e.PluridApplicationConfigurator=Ti,e.PluridExternalPlane=Si,e.PluridIframePlane=Ai,e.PluridIsoMatcher=Di,e.PluridLink=di,e.PluridPlaneConfigurator=_i,e.PluridProvider=Wo,e.PluridRouteParser=Mi,e.PluridRouterBrowser=Xo,e.PluridRouterLink=mi,e.PluridRouterStatic=$o,e.PluridVirtualList=Ii,e.default=Fi,e.getDirectPlaneMatch=(e,t,a)=>{let n,r,o;for(const a of t){if(a.planes)for(const t of a.planes){const n=jo(t),i="/"===a.value?n.value:a.value+n.value;if(o=i,e===i){r=t;break}}if(r){n=a;break}}if(a)for(const t of a){if(e===jo(t).value){r=t;break}}return{matchRoute:n,matchPlane:r,matchPath:o}},e.internals=xi,e.pluridStateModules=vn,e.serverComputeMetastate=Ni,e.usePluridRouter=()=>{const[e,a]=r.useState("");return r.useEffect((()=>{const e=()=>{const e=s.storage.loadState(t.PLURID_ROUTER_STORAGE);e&&a(e)};return e(),window.addEventListener(t.PLURID_ROUTER_LOCATION_STORED,e),()=>{window.removeEventListener(t.PLURID_ROUTER_LOCATION_STORED,e)}}),[]),e}}(M);var x,F=(x=M)&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x.default:x;exports.default=F;
527
527
  //# sourceMappingURL=index.min.js.map