react-planner
Version:
react-planner is a React Component for plans design. Draw a 2D floorplan and navigate it in 3D mode.
1 lines • 793 kB
JavaScript
!function(e){function t(t){for(var r,i,l=t[0],s=t[1],u=t[2],c=0,p=[];c<l.length;c++)i=l[c],a[i]&&p.push(a[i][0]),a[i]=0;for(r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r]);for(d&&d(t);p.length;)p.shift()();return o.push.apply(o,u||[]),n()}function n(){for(var e,t=0;t<o.length;t++){for(var n=o[t],r=!0,l=1;l<n.length;l++){var s=n[l];0!==a[s]&&(r=!1)}r&&(o.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},a={0:0},o=[];function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="";var l=window.webpackJsonp=window.webpackJsonp||[],s=l.push.bind(l);l.push=t,l=l.slice();for(var u=0;u<l.length;u++)t(l[u]);var d=s;o.push([168,1]),n()}([,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.NEW_PROJECT="NEW_PROJECT",a=t.LOAD_PROJECT="LOAD_PROJECT",o=t.SAVE_PROJECT="SAVE_PROJECT",i=t.OPEN_CATALOG="OPEN_CATALOG",l=t.SELECT_TOOL_EDIT="SELECT_TOOL_EDIT",s=t.UNSELECT_ALL="UNSELECT_ALL",u=t.SET_PROPERTIES="SET_PROPERTIES",d=t.SET_ITEMS_ATTRIBUTES="SET_ITEMS_ATTRIBUTES",c=t.SET_LINES_ATTRIBUTES="SET_LINES_ATTRIBUTES",p=t.SET_HOLES_ATTRIBUTES="SET_HOLES_ATTRIBUTES",h=t.REMOVE="REMOVE",f=t.UNDO="UNDO",m=t.ROLLBACK="ROLLBACK",y=t.SET_PROJECT_PROPERTIES="SET_PROJECT_PROPERTIES",v=t.OPEN_PROJECT_CONFIGURATOR="OPEN_PROJECT_CONFIGURATOR",g=t.INIT_CATALOG="INIT_CATALOG",x=t.UPDATE_MOUSE_COORDS="UPDATE_MOUSE_COORDS",w=t.UPDATE_ZOOM_SCALE="UPDATE_ZOOM_SCALE",M=t.TOGGLE_SNAP="TOGGLE_SNAP",q=t.CHANGE_CATALOG_PAGE="CHANGE_CATALOG_PAGE",_=t.GO_BACK_TO_CATALOG_PAGE="GO_BACK_TO_CATALOG_PAGE",b=t.THROW_ERROR="THROW_ERROR",E=t.THROW_WARNING="THROW_WARNING",O=t.COPY_PROPERTIES="COPY_PROPERTIES",I=t.PASTE_PROPERTIES="PASTE_PROPERTIES",P=t.PUSH_LAST_SELECTED_CATALOG_ELEMENT_TO_HISTORY="PUSH_LAST_SELECTED_CATALOG_ELEMENT_TO_HISTORY",T=t.ALTERATE_STATE="ALTERATE_STATE",G=t.SET_MODE="SET_MODE",S=t.ADD_HORIZONTAL_GUIDE="ADD_HORIZONTAL_GUIDE",D=t.ADD_VERTICAL_GUIDE="ADD_VERTICAL_GUIDE",R=t.ADD_CIRCULAR_GUIDE="ADD_CIRCULAR_GUIDE",A=t.REMOVE_HORIZONTAL_GUIDE="REMOVE_HORIZONTAL_GUIDE",L=t.REMOVE_VERTICAL_GUIDE="REMOVE_VERTICAL_GUIDE",C=t.REMOVE_CIRCULAR_GUIDE="REMOVE_CIRCULAR_GUIDE",k=t.SELECT_TOOL_ZOOM_IN="SELECT_TOOL_ZOOM_IN",j=t.SELECT_TOOL_ZOOM_OUT="SELECT_TOOL_ZOOM_OUT",N=t.SELECT_TOOL_PAN="SELECT_TOOL_PAN",z=t.UPDATE_2D_CAMERA="UPDATE_2D_CAMERA",B=t.SELECT_TOOL_3D_VIEW="SELECT_TOOL_3D_VIEW",U=t.SELECT_TOOL_3D_FIRST_PERSON="SELECT_TOOL_3D_FIRST_PERSON",V=t.SELECT_TOOL_DRAWING_ITEM="SELECT_TOOL_DRAWING_ITEM",F=t.UPDATE_DRAWING_ITEM="UPDATE_DRAWING_ITEM",H=t.END_DRAWING_ITEM="END_DRAWING_ITEM",W=t.BEGIN_DRAGGING_ITEM="BEGIN_DRAGGING_ITEM",Y=t.UPDATE_DRAGGING_ITEM="UPDATE_DRAGGING_ITEM",Z=t.END_DRAGGING_ITEM="END_DRAGGING_ITEM",X=t.BEGIN_ROTATING_ITEM="BEGIN_ROTATING_ITEM",J=t.UPDATE_ROTATING_ITEM="UPDATE_ROTATING_ITEM",K=t.END_ROTATING_ITEM="END_ROTATING_ITEM",Q=t.ADD_GROUP="ADD_GROUP",$=t.ADD_GROUP_FROM_SELECTED="ADD_GROUP_FROM_SELECTED",ee=t.SELECT_GROUP="SELECT_GROUP",te=t.UNSELECT_GROUP="UNSELECT_GROUP",ne=t.ADD_TO_GROUP="ADD_TO_GROUP",re=t.REMOVE_FROM_GROUP="REMOVE_FROM_GROUP",ae=t.SET_GROUP_PROPERTIES="SET_GROUP_PROPERTIES",oe=t.SET_GROUP_ATTRIBUTES="SET_GROUP_ATTRIBUTES",ie=t.SET_GROUP_BARYCENTER="SET_GROUP_BARYCENTER",le=t.REMOVE_GROUP="REMOVE_GROUP",se=t.REMOVE_GROUP_AND_DELETE_ELEMENTS="REMOVE_GROUP_AND_DELETE_ELEMENTS",ue=t.GROUP_TRANSLATE="GROUP_TRANSLATE",de=t.GROUP_ROTATE="GROUP_ROTATE",ce=t.SELECT_HOLE="SELECT_HOLE",pe=t.SELECT_AREA="SELECT_AREA",he=t.SELECT_ITEM="SELECT_ITEM",fe=t.SELECT_LINE="SELECT_LINE",me=t.SELECT_TOOL_DRAWING_LINE="SELECT_TOOL_DRAWING_LINE",ye=t.BEGIN_DRAWING_LINE="BEGIN_DRAWING_LINE",ve=t.UPDATE_DRAWING_LINE="UPDATE_DRAWING_LINE",ge=t.END_DRAWING_LINE="END_DRAWING_LINE",xe=t.SELECT_TOOL_DRAWING_HOLE="SELECT_TOOL_DRAWING_HOLE",we=t.UPDATE_DRAWING_HOLE="UPDATE_DRAWING_HOLE",Me=t.END_DRAWING_HOLE="END_DRAWING_HOLE",qe=t.BEGIN_DRAGGING_LINE="BEGIN_DRAGGING_LINE",_e=t.UPDATE_DRAGGING_LINE="UPDATE_DRAGGING_LINE",be=t.END_DRAGGING_LINE="END_DRAGGING_LINE",Ee=(t.SELECT_TOOL_UPLOAD_IMAGE="SELECT_TOOL_UPLOAD_IMAGE",t.BEGIN_UPLOADING_IMAGE="BEGIN_UPLOADING_IMAGE",t.END_UPLOADING_IMAGE="END_UPLOADING_IMAGE",t.BEGIN_FITTING_IMAGE="BEGIN_FITTING_IMAGE",t.END_FITTING_IMAGE="END_FITTING_IMAGE",t.BEGIN_DRAGGING_HOLE="BEGIN_DRAGGING_HOLE"),Oe=t.UPDATE_DRAGGING_HOLE="UPDATE_DRAGGING_HOLE",Ie=t.END_DRAGGING_HOLE="END_DRAGGING_HOLE",Pe=t.BEGIN_DRAGGING_VERTEX="BEGIN_DRAGGING_VERTEX",Te=t.UPDATE_DRAGGING_VERTEX="UPDATE_DRAGGING_VERTEX",Ge=t.END_DRAGGING_VERTEX="END_DRAGGING_VERTEX",Se=t.SET_LAYER_PROPERTIES="SET_LAYER_PROPERTIES",De=t.ADD_LAYER="ADD_LAYER",Re=t.SELECT_LAYER="SELECT_LAYER",Ae=t.REMOVE_LAYER="REMOVE_LAYER",Le=(t.PROJECT_ACTIONS={NEW_PROJECT:r,LOAD_PROJECT:a,SAVE_PROJECT:o,OPEN_CATALOG:i,SELECT_TOOL_EDIT:l,UNSELECT_ALL:s,SET_PROPERTIES:u,SET_ITEMS_ATTRIBUTES:d,SET_LINES_ATTRIBUTES:c,SET_HOLES_ATTRIBUTES:p,REMOVE:h,UNDO:f,ROLLBACK:m,SET_PROJECT_PROPERTIES:y,OPEN_PROJECT_CONFIGURATOR:v,INIT_CATALOG:g,UPDATE_MOUSE_COORDS:x,UPDATE_ZOOM_SCALE:w,TOGGLE_SNAP:M,CHANGE_CATALOG_PAGE:q,GO_BACK_TO_CATALOG_PAGE:_,THROW_ERROR:b,THROW_WARNING:E,COPY_PROPERTIES:O,PASTE_PROPERTIES:I,PUSH_LAST_SELECTED_CATALOG_ELEMENT_TO_HISTORY:P,ALTERATE_STATE:T,SET_MODE:G,ADD_HORIZONTAL_GUIDE:S,ADD_VERTICAL_GUIDE:D,ADD_CIRCULAR_GUIDE:R,REMOVE_HORIZONTAL_GUIDE:A,REMOVE_VERTICAL_GUIDE:L,REMOVE_CIRCULAR_GUIDE:C},t.VIEWER2D_ACTIONS={SELECT_TOOL_ZOOM_IN:k,SELECT_TOOL_ZOOM_OUT:j,SELECT_TOOL_PAN:N,UPDATE_2D_CAMERA:z},t.VIEWER3D_ACTIONS={SELECT_TOOL_3D_VIEW:B,SELECT_TOOL_3D_FIRST_PERSON:U},t.ITEMS_ACTIONS={SELECT_ITEM:he,SELECT_TOOL_DRAWING_ITEM:V,UPDATE_DRAWING_ITEM:F,END_DRAWING_ITEM:H,BEGIN_DRAGGING_ITEM:W,UPDATE_DRAGGING_ITEM:Y,END_DRAGGING_ITEM:Z,BEGIN_ROTATING_ITEM:X,UPDATE_ROTATING_ITEM:J,END_ROTATING_ITEM:K},t.HOLE_ACTIONS={SELECT_HOLE:ce,SELECT_TOOL_DRAWING_HOLE:xe,UPDATE_DRAWING_HOLE:we,END_DRAWING_HOLE:Me,BEGIN_DRAGGING_HOLE:Ee,UPDATE_DRAGGING_HOLE:Oe,END_DRAGGING_HOLE:Ie},t.LINE_ACTIONS={SELECT_LINE:fe,SELECT_TOOL_DRAWING_LINE:me,BEGIN_DRAWING_LINE:ye,UPDATE_DRAWING_LINE:ve,END_DRAWING_LINE:ge,BEGIN_DRAGGING_LINE:qe,UPDATE_DRAGGING_LINE:_e,END_DRAGGING_LINE:be},t.AREA_ACTIONS={SELECT_AREA:pe},t.GROUP_ACTIONS={ADD_GROUP:Q,ADD_GROUP_FROM_SELECTED:$,SELECT_GROUP:ee,UNSELECT_GROUP:te,ADD_TO_GROUP:ne,REMOVE_FROM_GROUP:re,SET_GROUP_PROPERTIES:ae,SET_GROUP_ATTRIBUTES:oe,SET_GROUP_BARYCENTER:ie,REMOVE_GROUP:le,REMOVE_GROUP_AND_DELETE_ELEMENTS:se,GROUP_TRANSLATE:ue,GROUP_ROTATE:de},t.SCENE_ACTIONS={ADD_LAYER:De,SET_LAYER_PROPERTIES:Se,SELECT_LAYER:Re,REMOVE_LAYER:Ae},t.VERTEX_ACTIONS={BEGIN_DRAGGING_VERTEX:Pe,UPDATE_DRAGGING_VERTEX:Te,END_DRAGGING_VERTEX:Ge},t.MODE_IDLE="MODE_IDLE"),Ce=t.MODE_2D_ZOOM_IN="MODE_2D_ZOOM_IN",ke=t.MODE_2D_ZOOM_OUT="MODE_2D_ZOOM_OUT",je=t.MODE_2D_PAN="MODE_2D_PAN",Ne=(t.MODE_3D_VIEW="MODE_3D_VIEW",t.MODE_3D_FIRST_PERSON="MODE_3D_FIRST_PERSON",t.MODE_WAITING_DRAWING_LINE="MODE_WAITING_DRAWING_LINE"),ze=t.MODE_DRAGGING_LINE="MODE_DRAGGING_LINE",Be=t.MODE_DRAGGING_VERTEX="MODE_DRAGGING_VERTEX",Ue=t.MODE_DRAGGING_ITEM="MODE_DRAGGING_ITEM",Ve=t.MODE_DRAGGING_HOLE="MODE_DRAGGING_HOLE",Fe=t.MODE_DRAWING_LINE="MODE_DRAWING_LINE",He=t.MODE_DRAWING_HOLE="MODE_DRAWING_HOLE",We=t.MODE_DRAWING_ITEM="MODE_DRAWING_ITEM",Ye=t.MODE_ROTATING_ITEM="MODE_ROTATING_ITEM",Ze=t.MODE_UPLOADING_IMAGE="MODE_UPLOADING_IMAGE",Xe=t.MODE_FITTING_IMAGE="MODE_FITTING_IMAGE",Je=(t.MODE_VIEWING_CATALOG="MODE_VIEWING_CATALOG",t.MODE_CONFIGURING_PROJECT="MODE_CONFIGURING_PROJECT",t.MODE_SNAPPING=[Le,Ce,ke,je,Ne,Fe,He,We,ze,Be,Ue,Ve,Xe,Ze,Ye],t.UNIT_MILLIMETER="mm"),Ke=t.UNIT_CENTIMETER="cm",Qe=t.UNIT_METER="m",$e=t.UNIT_INCH="in",et=t.UNIT_FOOT="ft",tt=t.UNIT_MILE="mi";t.UNITS_LENGTH=[Je,Ke,Qe,$e,et,tt],t.EPSILON=1e-6,t.KEYBOARD_BUTTON_CODE={DELETE:46,BACKSPACE:8,ESC:27,Z:90,ALT:18,C:67,V:86,CTRL:17,ENTER:13,TAB:9}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.COLORS={white:"#FFF",black:"#000"},a=(t.MATERIAL_COLORS={500:{amber:"#FFC107",blue_grey:"#607D8B",blue:"#2196F3",brown:"#795548",cyan:"#00BCD4",deep_orange:"#FF5722",deep_purple:"#673AB7",green:"#4CAF50",grey:"#9E9E9E",indigo:"#3F51B5",light_blue:"#03A9F4",light_green:"#8BC34A",lime:"#CDDC39",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",teal:"#009688",yellow:"#FFEB3B"}},t.PRIMARY_COLOR={main:"#28292D",alt:"#2E2F33",icon:"#C2C2C2",border:"1px solid #555",text_main:r.white,text_alt:"#EBEBEB",input:"#55595C"},t.SECONDARY_COLOR={main:"#1CA6FC",alt:"#005FAF",icon:"#1CA6FC",border:"1px solid #FFF"},t.MESH_SELECTED="#99C3FB");t.AREA_MESH_COLOR={selected:a,unselected:"#F5F4F4"},t.LINE_MESH_COLOR={selected:a,unselected:"#8E9BA2"}},,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VerticalGuide=t.HorizontalGuide=t.Item=t.Area=t.Vertex=t.Hole=t.Line=t.Layer=t.Group=t.Project=void 0;var r=p(n(314)),a=p(n(337)),o=p(n(338)),i=p(n(339)),l=p(n(340)),s=p(n(341)),u=p(n(342)),d=p(n(343)),c=n(344);function p(e){return e&&e.__esModule?e:{default:e}}t.Project=r.default,t.Group=a.default,t.Layer=o.default,t.Line=i.default,t.Hole=l.default,t.Vertex=s.default,t.Area=u.default,t.Item=d.default,t.HorizontalGuide=c.HorizontalGuide,t.VerticalGuide=c.VerticalGuide,t.default={Project:r.default,Group:a.default,Layer:o.default,Line:i.default,Hole:l.default,Vertex:s.default,Area:u.default,Item:d.default,HorizontalGuide:c.HorizontalGuide,VerticalGuide:c.VerticalGuide}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectUtils=t.NameGenerator=t.IDBroker=t.history=t.SnapSceneUtils=t.SnapUtils=t.MathUtils=t.GraphInnerCycles=t.GeometryUtils=void 0;var r=h(n(44)),a=h(n(315)),o=h(n(87)),i=h(n(43)),l=h(n(319)),s=h(n(320)),u=h(n(143)),d=p(n(326)),c=p(n(336));function p(e){return e&&e.__esModule?e:{default:e}}function h(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.GeometryUtils=r,t.GraphInnerCycles=a,t.MathUtils=o,t.SnapUtils=i,t.SnapSceneUtils=l,t.history=s,t.IDBroker=d.default,t.NameGenerator=c.default,t.ObjectUtils=u,t.default={GeometryUtils:r,GraphInnerCycles:a,MathUtils:o,SnapUtils:i,SnapSceneUtils:l,history:s,IDBroker:d.default,NameGenerator:c.default,ObjectUtils:u}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FormTextInput=t.FormSubmitButton=t.FormSlider=t.FormSelect=t.FormNumberInput=t.FormLabel=t.FormColorInput=t.FormBlock=t.DeleteButton=t.ContentTitle=t.ContentContainer=t.CancelButton=t.Button=void 0;var r=y(n(48)),a=y(n(191)),o=y(n(99)),i=y(n(100)),l=y(n(192)),s=y(n(193)),u=y(n(194)),d=y(n(195)),c=y(n(101)),p=y(n(197)),h=y(n(198)),f=y(n(269)),m=y(n(49));function y(e){return e&&e.__esModule?e:{default:e}}t.Button=r.default,t.CancelButton=a.default,t.ContentContainer=o.default,t.ContentTitle=i.default,t.DeleteButton=l.default,t.FormBlock=s.default,t.FormColorInput=u.default,t.FormLabel=d.default,t.FormNumberInput=c.default,t.FormSelect=p.default,t.FormSlider=h.default,t.FormSubmitButton=f.default,t.FormTextInput=m.default,t.default={Button:r.default,CancelButton:a.default,ContentContainer:o.default,ContentTitle:i.default,DeleteButton:l.default,FormBlock:s.default,FormColorInput:u.default,FormLabel:d.default,FormNumberInput:c.default,FormSelect:p.default,FormSlider:h.default,FormSubmitButton:f.default,FormTextInput:m.default}},,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={tableStyle:{width:"100%",borderSpacing:"2px 0",marginBottom:"2px"},firstTdStyle:{width:"6em",textTransform:"capitalize"}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=d(o),l=d(n(1)),s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(4)),u=n(18);function d(e){return e&&e.__esModule?e:{default:e}}var c={borderTop:"1px solid #222",borderBottom:"1px solid #48494E",userSelect:"none"},p={fontSize:"11px",color:s.PRIMARY_COLOR.text_alt,padding:"5px 15px 8px 15px",backgroundColor:s.PRIMARY_COLOR.alt,textShadow:"-1px -1px 2px rgba(0, 0, 0, 1)",boxShadow:"inset 0px -3px 19px 0px rgba(0,0,0,0.5)",margin:"0px",cursor:"pointer"},h={fontSize:"11px",color:s.PRIMARY_COLOR.text_alt,border:"1px solid #222",padding:"0px",backgroundColor:s.PRIMARY_COLOR.alt,textShadow:"-1px -1px 2px rgba(0, 0, 0, 1)"},f={float:"right"},m=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return r.state={opened:!!e.hasOwnProperty("opened")&&e.opened,hover:!1},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"toggleOpen",value:function(){this.setState({opened:!this.state.opened})}},{key:"toggleHover",value:function(){this.setState({hover:!this.state.hover})}},{key:"render",value:function(){var e=this,t=this.props,n=t.name,a=t.headComponents,o=t.children,l=this.state,d=l.opened,m=l.hover;return i.default.createElement("div",{style:c},i.default.createElement("h3",{style:r({},p,{color:m?s.SECONDARY_COLOR.main:s.PRIMARY_COLOR.text_alt}),onMouseEnter:function(){return e.toggleHover()},onMouseLeave:function(){return e.toggleHover()},onClick:function(){return e.toggleOpen()}},n,a,d?i.default.createElement(u.FaAngleUp,{style:f}):i.default.createElement(u.FaAngleDown,{style:f})),i.default.createElement("div",{style:r({},h,{display:d?"block":"none"})},o))}}]),t}(o.Component);t.default=m,m.propTypes={name:l.default.string.isRequired,headComponents:l.default.array,opened:l.default.bool}},,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.loadObjWithMaterial=function(e,t,n){var o=new r.default;o.setTexturePath(n);var i=e;return new Promise((function(e,n){o.load(i,(function(n){n.preload();var r=new a.default;r.setMaterials(n),r.load(t,(function(t){return e(t)}))}))}))};var r=o(n(441)),a=o(n(442));function o(e){return e&&e.__esModule?e:{default:e}}},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReactPlannerUtils=t.ElementsFactories=t.ReactPlannerClasses=t.ReactPlannerReducers=t.ReactPlannerActions=t.ReactPlannerComponents=t.ReactPlannerSharedStyle=t.ReactPlannerConstants=t.Plugins=t.ReactPlanner=t.reducer=t.Models=t.Translator=t.Catalog=void 0;var r=g(n(97)),a=g(n(61)),o=v(n(35)),i=g(n(312)),l=g(n(354)),s=g(n(416)),u=v(n(3)),d=v(n(4)),c=g(n(144)),p=g(n(89)),h=g(n(142)),f=g(n(9)),m=g(n(420)),y=g(n(10));function v(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function g(e){return e&&e.__esModule?e:{default:e}}t.Catalog=r.default,t.Translator=a.default,t.Models=o,t.reducer=i.default,t.ReactPlanner=l.default,t.Plugins=s.default,t.ReactPlannerConstants=u,t.ReactPlannerSharedStyle=d,t.ReactPlannerComponents=c.default,t.ReactPlannerActions=p.default,t.ReactPlannerReducers=h.default,t.ReactPlannerClasses=f.default,t.ElementsFactories=m.default,t.ReactPlannerUtils=y.default},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.State=t.HistoryStructure=t.Catalog=t.CatalogElement=t.Scene=t.DefaultLayers=t.Group=t.Layer=t.Item=t.Area=t.Hole=t.Line=t.Vertex=t.ElementsSet=t.DefaultGrids=t.Grid=void 0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(6),i=n(3),l=n(43);function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function d(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e,t,n){return e?new o.Map(e).map((function(e){return new t(e)})).toMap():n||new o.Map},p=t.Grid=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a({},e,{properties:(0,o.fromJS)(e.properties||{})})))}return d(t,e),t}((0,o.Record)({id:"",type:"",properties:(0,o.Map)()},"Grid")),h=t.DefaultGrids=new o.Map({h1:new p({id:"h1",type:"horizontal-streak",properties:{step:20,colors:["#808080","#ddd","#ddd","#ddd","#ddd"]}}),v1:new p({id:"v1",type:"vertical-streak",properties:{step:20,colors:["#808080","#ddd","#ddd","#ddd","#ddd"]}})}),f=t.ElementsSet=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,{vertices:new o.List(e.vertices||[]),lines:new o.List(e.lines||[]),holes:new o.List(e.holes||[]),areas:new o.List(e.areas||[]),items:new o.List(e.items||[])}))}return d(t,e),t}((0,o.Record)({vertices:new o.List,lines:new o.List,holes:new o.List,areas:new o.List,items:new o.List},"ElementsSet")),m={id:"",type:"",prototype:"",name:"",misc:new o.Map,selected:!1,properties:new o.Map,visible:!0},y=t.Vertex=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a({},e,{lines:new o.List(e.lines||[]),areas:new o.List(e.areas||[])})))}return d(t,e),t}((0,o.Record)(a({},m,{x:-1,y:-1,prototype:"vertices",lines:new o.List,areas:new o.List}),"Vertex")),v=t.Line=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a({},e,{properties:(0,o.fromJS)(e.properties||{}),vertices:new o.List(e.vertices||[]),holes:new o.List(e.holes||[])})))}return d(t,e),t}((0,o.Record)(a({},m,{prototype:"lines",vertices:new o.List,holes:new o.List}),"Line")),g=t.Hole=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a({},e,{properties:(0,o.fromJS)(e.properties||{})})))}return d(t,e),t}((0,o.Record)(a({},m,{prototype:"holes",offset:-1,line:""}),"Hole")),x=t.Area=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a({},e,{properties:(0,o.fromJS)(e.properties||{}),vertices:new o.List(e.vertices||[])})))}return d(t,e),t}((0,o.Record)(a({},m,{prototype:"areas",vertices:new o.List,holes:new o.List}),"Area")),w=t.Item=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a({},e,{properties:(0,o.fromJS)(e.properties||{})})))}return d(t,e),t}((0,o.Record)(a({},m,{prototype:"items",x:0,y:0,rotation:0}),"Item")),M=t.Layer=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a({},e,{vertices:c(e.vertices,y),lines:c(e.lines,v),holes:c(e.holes,g),areas:c(e.areas,x),items:c(e.items,w),selected:new f(e.selected)})))}return d(t,e),t}((0,o.Record)({id:"",altitude:0,order:0,opacity:1,name:"",visible:!0,vertices:new o.Map,lines:new o.Map,holes:new o.Map,areas:new o.Map,items:new o.Map,selected:new f},"Layer")),q=t.Group=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a({},e,{properties:(0,o.fromJS)(e.properties||{}),elements:(0,o.fromJS)(e.elements||{})})))}return d(t,e),t}((0,o.Record)(a({},m,{prototype:"groups",x:0,y:0,rotation:0,elements:new o.Map}),"Group")),_=t.DefaultLayers=new o.Map({"layer-1":new M({id:"layer-1",name:"default"})}),b=t.Scene=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};s(this,t);var n=c(e.layers,M,_);return u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a({},e,{grids:c(e.grids,p,h),layers:n,selectedLayer:n.first().id,groups:c(e.groups||{},q),meta:e.meta?(0,o.fromJS)(e.meta):new o.Map,guides:e.guides?(0,o.fromJS)(e.guides):new o.Map({horizontal:new o.Map,vertical:new o.Map,circular:new o.Map})})))}return d(t,e),t}((0,o.Record)({unit:"cm",layers:new o.Map,grids:new o.Map,selectedLayer:null,groups:new o.Map,width:3e3,height:2e3,meta:new o.Map,guides:new o.Map},"Scene")),E=t.CatalogElement=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a({},e,{info:(0,o.fromJS)(e.info),properties:(0,o.fromJS)(e.properties)})))}return d(t,e),t}((0,o.Record)({name:"",prototype:"",info:new o.Map,properties:new o.Map},"CatalogElement")),O=t.Catalog=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};s(this,t);var n=c(e.elements,E);return u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,{elements:n,ready:!n.isEmpty()}))}return d(t,e),r(t,[{key:"factoryElement",value:function(e,t,n){if(!this.elements.has(e)){var r=this.elements.map((function(e){return e.name})).toArray();throw new Error("Element "+e+" does not exist in catalog "+r)}var a=this.elements.get(e),o=a.properties.map((function(e,t){return n&&n.has(t)?n.get(t):e.get("defaultValue")}));switch(a.prototype){case"lines":return new v(t).merge({properties:o});case"holes":return new g(t).merge({properties:o});case"areas":return new x(t).merge({properties:o});case"items":return new w(t).merge({properties:o});default:throw new Error("prototype not valid")}}}]),t}((0,o.Record)({ready:!1,page:"root",path:new o.List,elements:new o.Map},"Catalog")),I=t.HistoryStructure=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,{list:(0,o.fromJS)(e.list||[]),first:new b(e.scene),last:new b(e.last||e.scene)}))}return d(t,e),t}((0,o.Record)({list:new o.List,first:null,last:null},"HistoryStructure"));t.State=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a({},e,{scene:new b(e.scene),sceneHistory:new I(e),catalog:new O(e.catalog||{}),viewer2D:new o.Map(e.viewer2D||{}),drawingSupport:new o.Map(e.drawingSupport||{}),draggingSupport:new o.Map(e.draggingSupport||{}),rotatingSupport:new o.Map(e.rotatingSupport||{}),misc:e.misc?(0,o.fromJS)(e.misc):new o.Map})))}return d(t,e),t}((0,o.Record)({mode:i.MODE_IDLE,scene:new b,sceneHistory:new I,catalog:new O,viewer2D:new o.Map,mouse:new o.Map({x:0,y:0}),zoom:0,snapMask:l.SNAP_MASK,snapElements:new o.List,activeSnapElement:null,drawingSupport:new o.Map,draggingSupport:new o.Map,rotatingSupport:new o.Map,errors:new o.List,warnings:new o.List,clipboardProperties:new o.Map,selectedElementsHistory:new o.List,misc:new o.Map,alterate:!1},"State"))},,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SNAP_MASK=t.SNAP_GUIDE=t.SNAP_GRID=t.SNAP_SEGMENT=t.SNAP_LINE=t.SNAP_POINT=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();t.nearestSnap=function(e,t,n,r){var a={point:r.get(d),line:r.get(c),"line-segment":r.get(p),grid:r.get(h)};return e.valueSeq().filter((function(e){return a[e.type]&&e.isNear(t,n,e.radius)})).map((function(e){return{snap:e,point:e.nearestPoint(t,n)}})).filter((function(e){var t=e.snap.radius;return e.point.distance<t})).min((function(e,t){var n=e.snap.priority,r=e.point.distance,a=t.snap.priority,o=t.point.distance;return n===a?r<o?-1:1:n>a?-1:1}))},t.addPointSnap=g,t.addLineSnap=function(e,t,n,r,a,l,s){return s=new o.List([s]),e.withMutations((function(e){if(e.some((function(e){return"line"===e.type&&t===e.a&&n===e.b&&r===e.c})))return e;e.valueSeq().filter((function(e){return"line"===e.type})).map((function(e){return i.twoLinesIntersection(e.a,e.b,e.c,t,n,r)})).filter((function(e){return void 0!==e})).forEach((function(t){var n=t.x,r=t.y;return g(e,n,r,20,40)}));e.push(new m({a:t,b:n,c:r,radius:a,priority:l,related:s}))}))},t.addLineSegmentSnap=function(e,t,n,r,a,i,l,s){return s=new o.List([s]),e.push(new y({x1:t,y1:n,x2:r,y2:a,radius:i,priority:l,related:s}))},t.addGridSnap=function(e,t,n,r,a,i){return i=new o.List([i]),e.push(new v({x:t,y:n,radius:r,priority:a,related:i}))};var o=n(6),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(44));function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var d=t.SNAP_POINT="SNAP_POINT",c=t.SNAP_LINE="SNAP_LINE",p=t.SNAP_SEGMENT="SNAP_SEGMENT",h=t.SNAP_GRID="SNAP_GRID",f=(t.SNAP_GUIDE="SNAP_GUIDE",t.SNAP_MASK=new o.Map({SNAP_POINT:!0,SNAP_LINE:!0,SNAP_SEGMENT:!0,SNAP_GRID:!1,SNAP_GUIDE:!0}),function(e){function t(){return l(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,e),a(t,[{key:"nearestPoint",value:function(e,t){return{x:this.x,y:this.y,distance:i.pointsDistance(this.x,this.y,e,t)}}},{key:"isNear",value:function(e,t,n){return 1+~(this.x-e)<n&&1+~(this.y-t)<n}}]),t}((0,o.Record)({type:"point",x:-1,y:-1,radius:1,priority:1,related:new o.List}))),m=function(e){function t(){return l(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,e),a(t,[{key:"nearestPoint",value:function(e,t){return r({},i.closestPointFromLine(this.a,this.b,this.c,e,t),{distance:i.distancePointFromLine(this.a,this.b,this.c,e,t)})}},{key:"isNear",value:function(e,t,n){return!0}}]),t}((0,o.Record)({type:"line",a:-1,b:-1,c:-1,radius:1,priority:1,related:new o.List})),y=function(e){function t(){return l(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,e),a(t,[{key:"nearestPoint",value:function(e,t){return r({},i.closestPointFromLineSegment(this.x1,this.y1,this.x2,this.y2,e,t),{distance:i.distancePointFromLineSegment(this.x1,this.y1,this.x2,this.y2,e,t)})}},{key:"isNear",value:function(e,t,n){return!0}}]),t}((0,o.Record)({type:"line-segment",x1:-1,y1:-1,x2:-1,y2:-1,radius:1,priority:1,related:new o.List})),v=function(e){function t(){return l(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,e),a(t,[{key:"nearestPoint",value:function(e,t){return{x:this.x,y:this.y,distance:i.pointsDistance(this.x,this.y,e,t)}}},{key:"isNear",value:function(e,t,n){return 1+~(this.x-e)<n&&1+~(this.y-t)<n}}]),t}((0,o.Record)({type:"grid",x:-1,y:-1,radius:1,priority:1,related:new o.List}));function g(e,t,n,r,a,i){return i=new o.List([i]),e.push(new f({x:t,y:n,radius:r,priority:a,related:i}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,a=!1,o=void 0;try{for(var i,l=e[Symbol.iterator]();!(r=(i=l.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){a=!0,o=e}finally{try{!r&&l.return&&l.return()}finally{if(a)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};t.compareVertices=i,t.minVertex=function(e,t){return i(e,t)>0?t:e},t.maxVertex=function(e,t){return i(e,t)>0?e:t},t.orderVertices=function(e){return e.sort(i)},t.pointsDistance=l,t.verticesDistance=function(e,t){var n=e.x,r=e.y,a=t.x,o=t.y;return l(n,r,a,o)},t.horizontalLine=s,t.verticalLine=u,t.linePassingThroughTwoPoints=function(e,t,n,r){if(e===n&&t==r)throw new Error("Geometry error");return e===n?u(x):t===r?s(t):{a:t-r,b:n-e,c:r*e-n*t}},t.distancePointFromLine=function(e,t,n,r,o){return(0,a.fAbs)(e*r+t*o+n)/Math.sqrt(e*e+t*t)},t.closestPointFromLine=function(e,t,n,r,a){var o=e*e+t*t;return{x:(t*(t*r-e*a)-e*n)/o,y:(e*-t*r+e*a-t*n)/o}},t.twoLinesIntersection=function(e,t,n,r,a,o){var i=t*r-e*a;return 0===i?void 0:{x:(n*a-t*o)/i,y:(e*o-n*r)/i}},t.twoLineSegmentsIntersection=function(e,t,n,i){var l=e.x,s=e.y,u=t.x,d=t.y,c=n.x,p=n.y,h=i.x,f=i.y,m=(f-p)*(u-l)-(h-c)*(d-s),y=(h-c)*(s-p)-(f-p)*(l-c),v=(u-l)*(s-p)-(d-s)*(l-c);if((0,a.fAbs)(m)<=o.EPSILON){if((0,a.fAbs)(y)<=o.EPSILON&&(0,a.fAbs)(v)<=o.EPSILON){var g=function(e,t){return e.x===t.x?e.y-t.y:e.x-t.x},x=[e,t].sort(g),w=[n.toJS(),i.toJS()].sort(g),M=[x,w].sort((function(e,t){return g(e[0],t[0])})),q=r(M,2),_=q[0],b=q[1];return _[1].x===b[0].x?{type:b[0].y<=_[1].y?"colinear":"none"}:{type:b[0].x<=_[1].x?"colinear":"none"}}return{type:"parallel"}}var E=y/m,O=v/m;if(E>=0-o.EPSILON&&E<=1+o.EPSILON&&O>=0-o.EPSILON&&O<=1+o.EPSILON){return{type:"intersecting",point:{x:l+E*(u-l),y:s+E*(d-s)}}}return{type:"none"}},t.distancePointFromLineSegment=d,t.isPointOnLineSegment=function(e,t,n,r,a,i){var l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:o.EPSILON;return d(e,t,n,r,a,i)<=l},t.closestPointFromLineSegment=function(e,t,n,r,a,o){if(e===n)return{x:e,y:o};if(t===r)return{x:a,y:t};var i=(r-t)/(n-e),l=t-i*e,s=-1/i,u=(o-s*a-l)/(i-s);return{x:u,y:i*u+l}},t.pointPositionOnLineSegment=function(e,t,n,r,a,o){var i=l(e,t,n,r),s=l(e,t,a,o)/i;e>n&&(s=c(s,0,1,1,0));return s},t.mapRange=c,t.angleBetweenTwoPointsAndOrigin=function(e,t,n,r){return 180*-Math.atan2(t-r,n-e)/Math.PI},t.angleBetweenTwoPoints=p,t.absAngleBetweenTwoPoints=function(e,t,n,r){return Math.atan2(Math.abs(r-t),Math.abs(n-e))},t.samePoints=function(e,t){var n=e.x,r=e.y,i=t.x,l=t.y;return(0,a.fAbs)(n-i)<=o.EPSILON&&(0,a.fAbs)(r-l)<=o.EPSILON},t.extendLine=function(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:6,l=p(e,t,n,r);return{x:(0,a.toFixedFloat)(e+Math.cos(l)*o,i),y:(0,a.toFixedFloat)(t+Math.sin(l)*o,i)}},t.roundVertex=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;return e.set("x",(0,a.toFixedFloat)(e.get("x"),t)),e.set("y",(0,a.toFixedFloat)(e.get("y"),t)),e},t.ContainsPoint=function(e,t,n){var r=e.length>>1,a=void 0,o=void 0,i=e[2*r-3]-n,l=e[2*r-2]-t,s=e[2*r-1]-n;if(0===l&&0===s)return!1;for(var u=0;u<r;u++){if(a=l,i=s,l=e[2*u]-t,s=e[2*u+1]-n,0===l&&0===s)return!1;i!==s&&(o=s>i)}for(var d=0,c=0;c<r;c++)if(a=l,i=s,l=e[2*c]-t,s=e[2*c+1]-n,!(i<0&&s<0||i>0&&s>0||a<0&&l<0)){if(i===s&&Math.min(a,l)<0)return!0;if(i!==s){var p=a+(l-a)*-i/(s-i);if(0===p)return!1;p>0&&d++,0===i&&o&&s>i&&d--,0===i&&!o&&s<i&&d--,o=s>i}}return 1==(1&d)},t.cosWithThreshold=function(e,t){var n=Math.cos(e);return n<t?0:n},t.sinWithThreshold=function(e,t){var n=Math.sin(e);return n<t?0:n},t.midPoint=function(e,t,n,r){return{x:(e+n)/2,y:(t+r)/2}},t.verticesMidPoint=function(e){var t=e.reduce((function(e,t){return{x:e.x+t.x,y:e.y+t.y}}),{x:0,y:0});return{x:t.x/e.length,y:t.y/e.length}},t.rotatePointAroundPoint=function(e,t,n,r,a){var o=a*Math.PI/180,i=Math.cos(o),l=Math.sin(o),s=e-n,u=t-r;return{x:i*s-l*u+n,y:l*s+i*u+r}};var a=n(87),o=n(3);function i(e,t){return e.x===t.x?e.y-t.y:e.x-t.x}function l(e,t,n,r){var a=e-n,o=t-r;return Math.sqrt(a*a+o*o)}function s(e){return{a:0,b:1,c:-e}}function u(e){return{a:1,b:0,c:-e}}function d(e,t,n,r,a,o){var i=n-e,l=r-t,s=i*i+l*l,u=-1;0!=s&&(u=((a-e)*i+(o-t)*l)/s);var d=void 0,c=void 0;u<0?(d=e,c=t):u>1?(d=n,c=r):(d=e+u*i,c=t+u*l);var p=a-d,h=o-c;return Math.sqrt(p*p+h*h)}function c(e,t,n,r,a){return r+(a-r)*(e-t)/(n-t)}function p(e,t,n,r){return Math.atan2(r-t,n-e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var r=o(n(0)),a=o(n(1));function o(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.condition,n=e.style,a=e.children;return t?Array.isArray(a)?r.default.createElement("div",{style:n},a):a:null}i.propTypes={condition:a.default.bool.isRequired,style:a.default.object}},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=s(o),l=s(n(1));function s(e){return e&&e.__esModule?e:{default:e}}var u={display:"inline-block",fontWeight:"400",lineHeight:"1.25",textAlign:"center",whiteSpace:"nowrap",verticalAlign:"middle",cursor:"pointer",WebkitUserSelect:"none",MozUserSelect:"none",MsUserSelect:"none",userSelect:"none",padding:"5px 14px",fontSize:"14px",color:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(4)).COLORS.black,fonWeight:"400px",transition:"background-color 175ms ease, border 175ms ease",outline:"none",borderRadius:"2px",borderWidth:"1px",borderType:"solid",width:"100%"},d={small:{fontSize:"12px",padding:"3px 8px"},normal:{},large:{padding:"8px 20px"}},c=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={hover:!1},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"render",value:function(){var e=this,t=this.state.hover,n=this.props,a=n.type,o=n.style,l=n.styleHover,s=n.children,c=n.size,p=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(n,["type","style","styleHover","children","size"]),h=Object.assign({},u,d[c],t?l:o);return i.default.createElement("button",r({type:a,onMouseEnter:function(t){return e.setState({hover:!0})},onMouseLeave:function(t){return e.setState({hover:!1})},style:h},p),s)}}]),t}(o.Component);t.default=c,c.defaultProps={type:"button",size:"normal",style:{backgroundColor:"#e6e6e6",borderColor:"#adadad"},styleHover:{backgroundColor:"#d4d4d4",borderColor:"#8c8c8c"}},c.propTypes={type:l.default.string,style:l.default.object,styleHover:l.default.object,size:l.default.oneOf(["large","normal","small"])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),l=(r=i)&&r.__esModule?r:{default:r},s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(4));var u={display:"block",width:"100%",padding:"0 2px",fontSize:"13px",lineHeight:"1.25",color:s.PRIMARY_COLOR.input,backgroundColor:s.COLORS.white,backgroundImage:"none",border:"1px solid rgba(0,0,0,.15)",outline:"none",height:"30px"},d=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={focus:!1},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"render",value:function(){var e=this,t=this.props,n=t.style,r=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(t,["style"]),o=a({},u,n);return this.state.focus&&(o.border="1px solid "+s.SECONDARY_COLOR.main),l.default.createElement("input",a({onFocus:function(t){return e.setState({focus:!0})},onBlur:function(t){return e.setState({focus:!1})},style:o,type:"text"},r))}}]),t}(i.Component);t.default=d,d.defaultProps={style:{}}},,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=l(n(309)),o=l(n(310)),i=l(n(311));function l(e){return e&&e.__esModule?e:{default:e}}var s="en",u=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.locale=null,this.translations={},this.registerTranslation("en",a.default),this.registerTranslation("it",o.default),this.registerTranslation("ru",i.default);for(var t=null,n=e.getBrowserLanguages(),r=0;r<n.length;r++){var l=n[r];if(this.translations.hasOwnProperty(l)){t=l;break}}t=t||s,this.setLocale(t)}return r(e,[{key:"t",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return this.translate.apply(this,[e].concat(n))}},{key:"translate",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var a=this.locale,o=this.translations[a];if(!o.hasOwnProperty(e))return console.warn("translation '"+e+"' not found in language '"+a+"'"),e;var i=o[e];return i=i.replace(/{(\d+)}/g,(function(e,t){return void 0!==n[t]?n[t]:e}))}},{key:"setLocale",value:function(e){e=e.toLowerCase(),this.translations.hasOwnProperty(e)?this.locale=e:(console.warn("locale '"+e+"' not available, switch to "+s),this.locale=s.toLowerCase())}},{key:"registerTranslation",value:function(e,t){this.translations.hasOwnProperty(e)?Object.assign(this.translations[e],t):this.translations[e]=t}}],[{key:"getBrowserLanguages",value:function(){return navigator.languages?navigator.languages:[navigator.language||navigator.userLanguage]}}]),e}();t.default=u},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),o=s(a),i=s(n(1)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(4));function s(e){return e&&e.__esModule?e:{default:e}}var u={width:"30px",height:"30px",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"5px",fontSize:"25px",position:"relative",cursor:"pointer"},d={position:"absolute",width:"140px",color:l.COLORS.white,background:l.COLORS.black,height:"30px",lineHeight:"30px",textAlign:"center",visibility:"visible",borderRadius:"6px",opacity:"0.8",left:"100%",top:"50%",marginTop:"-15px",marginLeft:"15px",zIndex:"999",fontSize:"12px"},c={position:"absolute",top:"50%",right:"100%",marginTop:"-8px",width:"0",height:"0",borderRight:"8px solid #000000",borderTop:"8px solid transparent",borderBottom:"8px solid transparent"},p=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return r.state={active:!1},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){var e=this,t=this.state,n=this.props,r=n.active||t.active?l.SECONDARY_COLOR.icon:l.PRIMARY_COLOR.icon;return o.default.createElement("div",{style:u,onMouseOver:function(t){return e.setState({active:!0})},onMouseOut:function(t){return e.setState({active:!1})}},o.default.createElement("div",{style:{color:r},onClick:n.onClick},n.children),t.active?o.default.createElement("div",{style:d},o.default.createElement("span",{style:c}),n.tooltip):null)}}]),t}(a.Component);t.default=p,p.propTypes={active:i.default.bool.isRequired,tooltip:i.default.string.isRequired,onClick:i.default.func.isRequired}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RulerY=t.RulerX=t.Group=t.Grids=t.Area=t.Item=t.Layer=t.Line=t.Ruler=t.Scene=t.Snap=t.State=t.Vertex=t.Viewer2D=void 0;var r=v(n(148)),a=v(n(368)),o=v(n(149)),i=v(n(151)),l=v(n(150)),s=v(n(152)),u=v(n(369)),d=v(n(370)),c=v(n(371)),p=v(n(372)),h=v(n(376)),f=v(n(379)),m=v(n(380)),y=v(n(381));function v(e){return e&&e.__esModule?e:{default:e}}t.Viewer2D=r.default,t.Vertex=a.default,t.State=o.default,t.Snap=i.default,t.Scene=l.default,t.Ruler=s.default,t.Line=u.default,t.Layer=d.default,t.Item=c.default,t.Area=p.default,t.Grids=h.default,t.Group=f.default,t.RulerX=m.default,t.RulerY=y.default,t.default={Viewer2D:r.default,Vertex:a.default,State:o.default,Snap:i.default,Scene:l.default,Ruler:s.default,Line:u.default,Layer:d.default,Item:c.default,Area:p.default,Grids:h.default,Group:f.default,RulerX:m.default,RulerY:y.default}},,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toFixedFloat=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;if(e&&t)return parseFloat(parseFloat(e).toFixed(t));return 0};t.fAbs=function(e){var t=e;return t<0&&(t=1+~t),t},t.multiplyMatrices=function(e,t){for(var n=[],r=0;r<e.length;r++){n[r]=[];for(var a=0;a<t[0].length;a++){for(var o=0,i=0;i<e[0].length;i++)o+=e[r][i]*t[i][a];n[r][a]=o}}return n}},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.groupsActions=t.areaActions=t.itemsActions=t.verticesActions=t.sceneActions=t.holesActions=t.linesActions=t.viewer3DActions=t.viewer2DActions=t.projectActions=void 0;var r=h(n(90)),a=h(n(355)),o=h(n(356)),i=h(n(357)),l=h(n(358)),s=h(n(359)),u=h(n(360)),d=h(n(361)),c=h(n(362)),p=h(n(363));function h(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.projectActions=r,t.viewer2DActions=a,t.viewer3DActions=o,t.linesActions=i,t.holesActions=l,t.sceneActions=s,t.verticesActions=u,t.itemsActions=d,t.areaActions=c,t.groupsActions=p,t.default={projectActions:r,viewer2DActions:a,viewer3DActions:o,linesActions:i,holesActions:l,sceneActions:s,verticesActions:u,itemsActions:d,areaActions:c,groupsActions:p}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.loadProject=function(e){return{type:r.LOAD_PROJECT,sceneJSON:e}},t.newProject=function(){return{type:r.NEW_PROJECT}},t.saveProject=function(){return{type:r.SAVE_PROJECT}},t.openCatalog=function(){return{type:r.OPEN_CATALOG}},t.changeCatalogPage=function(e,t){return{type:r.CHANGE_CATALOG_PAGE,newPage:e,oldPage:t}},t.goBackToCatalogPage=function(e){return{type:r.GO_BACK_TO_CATALOG_PAGE,newPage:e}},t.selectToolEdit=function(){return{type:r.SELECT_TOOL_EDIT}},t.unselectAll=function(){return{type:r.UNSELECT_ALL}},t.setProperties=function(e){return{type:r.SET_PROPERTIES,properties:e}},t.setItemsAttributes=function(e){return e=e.set("rotation",parseFloat(e.get("rotation"))),{type:r.SET_ITEMS_ATTRIBUTES,itemsAttributes:e}},t.setLinesAttributes=function(e){return e=e.withMutations((function(t){t.setIn(["vertexOne","x"],parseFloat(e.getIn(["vertexOne","x"]))),t.setIn(["vertexOne","y"],parseFloat(e.getIn(["vertexOne","y"]))),t.setIn(["vertexTwo","x"],parseFloat(e.getIn(["vertexTwo","x"]))),t.setIn(["vertexTwo","y"],parseFloat(e.getIn(["vertexTwo","y"])))})),{type:r.SET_LINES_ATTRIBUTES,linesAttributes:e}},t.setHolesAttributes=function(e){return e=e.set("offset",parseFloat(e.get("offset"))),{type:r.SET_HOLES_ATTRIBUTES,holesAttributes:e}},t.remove=function(){return{type:r.REMOVE}},t.undo=function(){return{type:r.UNDO}},t.rollback=function(){return{type:r.ROLLBACK}},t.openProjectConfigurator=function(){return{type:r.OPEN_PROJECT_CONFIGURATOR}},t.setProjectProperties=function(e){return{type:r.SET_PROJECT_PROPERTIES,properties:e}},t.initCatalog=function(e){return{type:r.INIT_CATALOG,catalog:e}},t.updateMouseCoord=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{x:x,y:y};return{type:r.UPDATE_MOUSE_COORDS,coords:e}},t.updateZoomScale=function(e){return{type:r.UPDATE_ZOOM_SCALE,scale:e}},t.toggleSnap=function(e){return{type:r.TOGGLE_SNAP,mask:e}},t.throwError=function(e){return{type:r.THROW_ERROR,error:e}},t.throwWarning=function(e){return{type:r.THROW_WARNING,warning:e}},t.copyProperties=function(e){return{type:r.COPY_PROPERTIES,properties:e}},t.pasteProperties=function(){return{type:r.PASTE_PROPERTIES}},t.pushLastSelectedCatalogElementToHistory=function(e){return{type:r.PUSH_LAST_SELECTED_CATALOG_ELEMENT_TO_HISTORY,element:e}},t.setAlterateState=function(){return{type:r.ALTERATE_STATE}},t.setMode=function(e){return{type:r.SET_MODE,mode:e}},t.addHorizontalGuide=function(e){return{type:r.ADD_HORIZONTAL_GUIDE,coordinate:e}},t.addVerticalGuide=function(e){return{type:r.ADD_VERTICAL_GUIDE,coordinate:e}},t.addCircularGuide=function(e,t,n){return{type:r.ADD_CIRCULAR_GUIDE,x:e,y:t,radius:n}},t.removeHorizontalGuide=function(e){return{type:r.REMOVE_HORIZONTAL_GUIDE,guideID:e}},t.removeVerticalGuide=function(e){return{type:r.REMOVE_VERTICAL_GUIDE,guideID:e}},t.removeCircularGuide=function(e){return{type:r.REMOVE_CIRCULAR_GUIDE,guideID:e}};var r=n(3)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.disposeScene=function(e){e.traverse((function(e){o(e),e=null}))},t.disposeObject=function(e){e.traverse((function(e){o(e),e=null}))};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2));function a(e){var t;e instanceof r.Material&&((t=e.map)&&t.dispose(),e.map=null,e.dispose())}function o(e){var t;(e instanceof r.Mesh||e instanceof r.BoxHelper||e instanceof r.LineSegments)&&(e.geometry.dispose(),(t=e.material)instanceof r.MultiMaterial&&t.materials.forEach((function(e){a(e)})),a(e.material),e.geometry=nu