kitchen-simulator 5.0.0-test.5 → 5.0.0-test.7
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.
- package/package.json +34 -41
- package/src/@history.js +3 -0
- package/src/AppContext.js +5 -0
- package/src/KitchenConfigurator.jsx +1517 -0
- package/src/KitchenConfiguratorApp.jsx +443 -0
- package/src/actions/area-actions.js +15 -0
- package/src/actions/export.js +38 -0
- package/src/actions/groups-actions.js +102 -0
- package/src/actions/holes-actions.js +152 -0
- package/src/actions/items-actions.js +393 -0
- package/src/actions/lines-actions.js +103 -0
- package/src/actions/project-actions.js +391 -0
- package/src/actions/scene-actions.js +44 -0
- package/src/actions/user-actions.js +75 -0
- package/src/actions/vertices-actions.js +34 -0
- package/src/actions/viewer2d-actions.js +79 -0
- package/src/actions/viewer3d-actions.js +32 -0
- package/src/catalog/areas/area/planner-element.jsx +43 -0
- package/src/catalog/catalog.js +258 -0
- package/src/catalog/factories/area-factory-3d.js +252 -0
- package/src/catalog/factories/area-factory.jsx +102 -0
- package/src/catalog/factories/export.js +9 -0
- package/src/catalog/factories/wall-factory-3d.js +296 -0
- package/src/catalog/factories/wall-factory.jsx +321 -0
- package/src/catalog/holes/door-closet/planner-element.jsx +251 -0
- package/src/catalog/holes/door-double/planner-element.jsx +391 -0
- package/src/catalog/holes/door-exterior/planner-element.jsx +245 -0
- package/src/catalog/holes/door-interior/planner-element.jsx +256 -0
- package/src/catalog/holes/door-panic/planner-element.jsx +594 -0
- package/src/catalog/holes/door-panic-double/planner-element.jsx +574 -0
- package/src/catalog/holes/door-sliding/planner-element.jsx +256 -0
- package/src/catalog/holes/doorway-framed/planner-element.jsx +169 -0
- package/src/catalog/holes/doorway-frameless/planner-element.jsx +116 -0
- package/src/catalog/holes/window-clear/planner-element.jsx +181 -0
- package/src/catalog/holes/window-cross/planner-element.jsx +180 -0
- package/src/catalog/holes/window-double-hung/planner-element.jsx +366 -0
- package/src/catalog/holes/window-vertical/planner-element.jsx +290 -0
- package/src/catalog/lines/wall/planner-element.jsx +73 -0
- package/src/catalog/molding/molding-dcm/planner-element.jsx +35 -0
- package/src/catalog/molding/molding-fbm/planner-element.jsx +35 -0
- package/src/catalog/molding/molding-lrm/planner-element.jsx +35 -0
- package/src/catalog/properties/export.js +33 -0
- package/src/catalog/properties/property-checkbox.jsx +123 -0
- package/src/catalog/properties/property-color.jsx +52 -0
- package/src/catalog/properties/property-enum.jsx +87 -0
- package/src/catalog/properties/property-hidden.jsx +22 -0
- package/src/catalog/properties/property-lenght-measure.jsx +113 -0
- package/src/catalog/properties/property-length-measure.jsx +129 -0
- package/src/catalog/properties/property-length-measure_hole.jsx +110 -0
- package/src/catalog/properties/property-number.jsx +63 -0
- package/src/catalog/properties/property-read-only.jsx +37 -0
- package/src/catalog/properties/property-string.jsx +59 -0
- package/src/catalog/properties/property-toggle.jsx +51 -0
- package/src/catalog/properties/shared-property-style.js +13 -0
- package/src/catalog/utils/FuseUtils.js +61 -0
- package/src/catalog/utils/exporter.js +173 -0
- package/src/catalog/utils/geom-utils.js +301 -0
- package/src/catalog/utils/item-loader.jsx +2122 -0
- package/src/catalog/utils/load-obj.js +113 -0
- package/src/catalog/utils/mtl-loader.js +462 -0
- package/src/catalog/utils/obj-loader.js +544 -0
- package/src/class/FuseUtils.js +61 -0
- package/src/class/area.js +159 -0
- package/src/class/export.js +37 -0
- package/src/class/group.js +565 -0
- package/src/class/guide.js +44 -0
- package/src/class/hole.js +1359 -0
- package/src/class/item.js +2050 -0
- package/src/class/layer.js +926 -0
- package/src/class/line.js +1780 -0
- package/src/class/project.js +875 -0
- package/src/class/vertex.js +409 -0
- package/src/components/atoms/Snackbar/index.jsx +43 -0
- package/src/components/atoms/radio-button/index.jsx +20 -0
- package/src/components/atoms/radio-button/styles.js +56 -0
- package/src/components/button/MainButton.jsx +157 -0
- package/src/components/button/ToggleMeasureButton.jsx +65 -0
- package/src/components/catalog-view/catalog-breadcrumb.jsx +53 -0
- package/src/components/catalog-view/catalog-item.jsx +229 -0
- package/src/components/catalog-view/catalog-list.jsx +173 -0
- package/src/components/catalog-view/catalog-page-item.jsx +110 -0
- package/src/components/catalog-view/catalog-turn-back-page-item.jsx +80 -0
- package/src/components/configurator/custom-configurator.jsx +77 -0
- package/src/components/configurator/project-configurator.jsx +120 -0
- package/src/components/content.jsx +136 -0
- package/src/components/export.js +36 -0
- package/src/components/firstsetting/button/styles.js +223 -0
- package/src/components/firstsetting/export.js +9 -0
- package/src/components/firstsetting/firstsetting-content-button.jsx +198 -0
- package/src/components/firstsetting/firstsetting-toggle-button.jsx +101 -0
- package/src/components/firstsetting/firstsetting.jsx +814 -0
- package/src/components/footerbar/button/ControlButton.jsx +43 -0
- package/src/components/footerbar/button/DirectionButton.jsx +54 -0
- package/src/components/footerbar/button/DirectionPanSpinButton.jsx +36 -0
- package/src/components/footerbar/button/ToggleButton.jsx +58 -0
- package/src/components/footerbar/button/ToggleConvertButton.jsx +48 -0
- package/src/components/footerbar/button/ToggleMeasureButton.jsx +33 -0
- package/src/components/footerbar/button/styles.js +217 -0
- package/src/components/footerbar/export.js +9 -0
- package/src/components/footerbar/footer-content-button.jsx +198 -0
- package/src/components/footerbar/footer-toggle-button.jsx +101 -0
- package/src/components/footerbar/footerbar.jsx +1103 -0
- package/src/components/footerbar/styles.js +263 -0
- package/src/components/header/button/MenuButton.jsx +46 -0
- package/src/components/header/button/SaveButton.jsx +54 -0
- package/src/components/header/button/styles.js +181 -0
- package/src/components/header/export.js +5 -0
- package/src/components/header/header.jsx +631 -0
- package/src/components/header/styles.js +320 -0
- package/src/components/login/Login.js +77 -0
- package/src/components/login/LoginForm/index.js +108 -0
- package/src/components/login/Register.js +83 -0
- package/src/components/login/RegisterForm/index.js +171 -0
- package/src/components/login/jwtService.js +201 -0
- package/src/components/molecules/slider/index.jsx +15 -0
- package/src/components/molecules/slider/styles.js +0 -0
- package/src/components/myprojects/export.js +5 -0
- package/src/components/myprojects/index.jsx +445 -0
- package/src/components/myprojects/styles.js +241 -0
- package/src/components/sidebar/custom-accordion.jsx +48 -0
- package/src/components/sidebar/export.js +15 -0
- package/src/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.jsx +73 -0
- package/src/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.jsx +101 -0
- package/src/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.jsx +149 -0
- package/src/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.jsx +316 -0
- package/src/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.jsx +108 -0
- package/src/components/sidebar/panel-element-editor/element-editor.jsx +1070 -0
- package/src/components/sidebar/panel-element-editor/multi-elements-editor.jsx +0 -0
- package/src/components/sidebar/panel-element-editor/panel-element-editor.jsx +104 -0
- package/src/components/sidebar/panel-element-editor/panel-multi-elements-editor.jsx +155 -0
- package/src/components/sidebar/panel-group-editor.jsx +272 -0
- package/src/components/sidebar/panel-groups.jsx +310 -0
- package/src/components/sidebar/panel-guides.jsx +192 -0
- package/src/components/sidebar/panel-layer-elements.jsx +298 -0
- package/src/components/sidebar/panel-layers.jsx +381 -0
- package/src/components/sidebar/panel.jsx +71 -0
- package/src/components/sidebar/sidebar.jsx +106 -0
- package/src/components/sidebar/toolbar-panel.jsx +139 -0
- package/src/components/sign/export.js +7 -0
- package/src/components/sign/main/index.jsx +523 -0
- package/src/components/sign/main/styles.js +163 -0
- package/src/components/style/button.jsx +95 -0
- package/src/components/style/cancel-button.jsx +20 -0
- package/src/components/style/content-container.jsx +29 -0
- package/src/components/style/content-title.jsx +20 -0
- package/src/components/style/delete-button.jsx +23 -0
- package/src/components/style/export.jsx +48 -0
- package/src/components/style/form-block.jsx +13 -0
- package/src/components/style/form-color-input.jsx +27 -0
- package/src/components/style/form-label.jsx +15 -0
- package/src/components/style/form-number-input.jsx +196 -0
- package/src/components/style/form-number-input_2.jsx +191 -0
- package/src/components/style/form-select.jsx +38 -0
- package/src/components/style/form-slider.jsx +36 -0
- package/src/components/style/form-submit-button.jsx +23 -0
- package/src/components/style/form-text-input.jsx +65 -0
- package/src/components/toolbar/button/ControlButton.jsx +41 -0
- package/src/components/toolbar/button/DirectionButton.jsx +34 -0
- package/src/components/toolbar/button/RightButton.jsx +103 -0
- package/src/components/toolbar/button/ToggleButton.jsx +41 -0
- package/src/components/toolbar/button/index.jsx +55 -0
- package/src/components/toolbar/button/styles.js +127 -0
- package/src/components/toolbar/components/DoorStyleMenu.jsx +103 -0
- package/src/components/toolbar/components/Pricing.jsx +126 -0
- package/src/components/toolbar/components/ReviewForQuote.jsx +635 -0
- package/src/components/toolbar/export.js +21 -0
- package/src/components/toolbar/main/Alert.js +122 -0
- package/src/components/toolbar/main/TakePictureModal.jsx +104 -0
- package/src/components/toolbar/main/confirm-popup.jsx +99 -0
- package/src/components/toolbar/main/index.jsx +5627 -0
- package/src/components/toolbar/main/myComponents.js +123 -0
- package/src/components/toolbar/main/styles.js +696 -0
- package/src/components/toolbar/plugin-item.jsx +123 -0
- package/src/components/toolbar/popup/appliance/appliance-category/index.jsx +73 -0
- package/src/components/toolbar/popup/appliance/choose-appliance/index.jsx +102 -0
- package/src/components/toolbar/popup/appliance/index.jsx +83 -0
- package/src/components/toolbar/popup/autosaveprompt/index.jsx +150 -0
- package/src/components/toolbar/popup/autosaveprompt/styles.js +40 -0
- package/src/components/toolbar/popup/cabinet/cabinet-category/index.jsx +73 -0
- package/src/components/toolbar/popup/cabinet/choose-product/index.jsx +119 -0
- package/src/components/toolbar/popup/cabinet/index.jsx +85 -0
- package/src/components/toolbar/popup/doorStyle/choose-style/index.jsx +63 -0
- package/src/components/toolbar/popup/doorStyle/index.jsx +71 -0
- package/src/components/toolbar/popup/doorStyle/style-category/index.jsx +139 -0
- package/src/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +2 -0
- package/src/components/toolbar/popup/downloadsummary/downloadSummaryTemp.jsx +157 -0
- package/src/components/toolbar/popup/downloadsummary/index.jsx +643 -0
- package/src/components/toolbar/popup/downloadsummary/show2D/show2DView.jsx +51 -0
- package/src/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.jsx +175 -0
- package/src/components/toolbar/popup/downloadsummary/show3D/show3DView.jsx +283 -0
- package/src/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.jsx +2257 -0
- package/src/components/toolbar/popup/downloadsummary/showCabinetInfo.js +93 -0
- package/src/components/toolbar/popup/downloadsummary/showElevation/showElevationView.jsx +132 -0
- package/src/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.jsx +2198 -0
- package/src/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.jsx +152 -0
- package/src/components/toolbar/popup/downloadsummary/showWarranty.jsx +149 -0
- package/src/components/toolbar/popup/downloadsummary/styles.js +453 -0
- package/src/components/toolbar/popup/finishingtouch/category/index.jsx +34 -0
- package/src/components/toolbar/popup/finishingtouch/index.jsx +58 -0
- package/src/components/toolbar/popup/finishingtouch/material-edit.jsx +112 -0
- package/src/components/toolbar/popup/finishingtouch/product/index.jsx +116 -0
- package/src/components/toolbar/popup/floorplan/choose-floor/confirm-popup.jsx +101 -0
- package/src/components/toolbar/popup/floorplan/choose-floor/index.jsx +254 -0
- package/src/components/toolbar/popup/floorplan/choose-floor/styles.js +86 -0
- package/src/components/toolbar/popup/floorplan/floor-category/index.jsx +109 -0
- package/src/components/toolbar/popup/floorplan/index.jsx +60 -0
- package/src/components/toolbar/popup/index.jsx +241 -0
- package/src/components/toolbar/popup/newproject/index.jsx +59 -0
- package/src/components/toolbar/popup/newproject/styles.js +41 -0
- package/src/components/toolbar/popup/product/appliance.jsx +54 -0
- package/src/components/toolbar/popup/product/cabinetproduct.jsx +15 -0
- package/src/components/toolbar/popup/product/doorstyle.jsx +58 -0
- package/src/components/toolbar/popup/product/doorstyleproduct.jsx +47 -0
- package/src/components/toolbar/popup/product/floor.jsx +36 -0
- package/src/components/toolbar/popup/product/floorproduct.jsx +42 -0
- package/src/components/toolbar/popup/product/index.jsx +36 -0
- package/src/components/toolbar/popup/product/primary.jsx +77 -0
- package/src/components/toolbar/popup/product/productline.jsx +93 -0
- package/src/components/toolbar/popup/product/reviewItem.jsx +427 -0
- package/src/components/toolbar/popup/product/reviewMolding.jsx +310 -0
- package/src/components/toolbar/popup/product/styles.js +260 -0
- package/src/components/toolbar/popup/savedesign/FullPictureForm.jsx +146 -0
- package/src/components/toolbar/popup/savedesign/index.jsx +495 -0
- package/src/components/toolbar/popup/savedesign/styles.js +151 -0
- package/src/components/toolbar/popup/setDoorStyleOption/index.jsx +87 -0
- package/src/components/toolbar/popup/styles.js +909 -0
- package/src/components/toolbar/popup/submitforquote/AddToCartOptions.jsx +192 -0
- package/src/components/toolbar/popup/submitforquote/CustomerRequestsForm.jsx +96 -0
- package/src/components/toolbar/popup/submitforquote/SkipDesignerReview.jsx +54 -0
- package/src/components/toolbar/popup/submitforquote/StepDots.jsx +25 -0
- package/src/components/toolbar/popup/submitforquote/cart-choice.jsx +116 -0
- package/src/components/toolbar/popup/submitforquote/doorstyle-menus.js +38 -0
- package/src/components/toolbar/popup/submitforquote/index.jsx +698 -0
- package/src/components/toolbar/popup/submitforquote/styles.js +294 -0
- package/src/components/toolbar/popup/submitprompt/index.jsx +89 -0
- package/src/components/toolbar/popup/submitprompt/styles.js +42 -0
- package/src/components/toolbar/toolbar-button.jsx +90 -0
- package/src/components/toolbar/toolbar-load-button.jsx +36 -0
- package/src/components/toolbar/toolbar-save-button.jsx +32 -0
- package/src/components/tutorial-view/Modal.jsx +584 -0
- package/src/components/tutorial-view/styles.js +65 -0
- package/src/components/viewer2d/area.jsx +98 -0
- package/src/components/viewer2d/export.js +48 -0
- package/src/components/viewer2d/grids/grid-horizontal-streak.jsx +40 -0
- package/src/components/viewer2d/grids/grid-streak.jsx +32 -0
- package/src/components/viewer2d/grids/grid-vertical-streak.jsx +41 -0
- package/src/components/viewer2d/grids/grids.jsx +30 -0
- package/src/components/viewer2d/group.jsx +57 -0
- package/src/components/viewer2d/item.jsx +618 -0
- package/src/components/viewer2d/layer.jsx +214 -0
- package/src/components/viewer2d/line.jsx +1358 -0
- package/src/components/viewer2d/ruler.jsx +136 -0
- package/src/components/viewer2d/rulerDist.jsx +192 -0
- package/src/components/viewer2d/rulerX.jsx +141 -0
- package/src/components/viewer2d/rulerY.jsx +138 -0
- package/src/components/viewer2d/scene.jsx +94 -0
- package/src/components/viewer2d/snap.jsx +118 -0
- package/src/components/viewer2d/state.jsx +77 -0
- package/src/components/viewer2d/utils.js +195 -0
- package/src/components/viewer2d/vertex.jsx +76 -0
- package/src/components/viewer2d/viewer2d.jsx +1830 -0
- package/src/components/viewer3d/camera-controls-module/camera-controls.module.js +3078 -0
- package/src/components/viewer3d/dcm.js +226 -0
- package/src/components/viewer3d/fbm.js +383 -0
- package/src/components/viewer3d/front3D.jsx +63 -0
- package/src/components/viewer3d/grid-creator.js +25 -0
- package/src/components/viewer3d/grids/grid-horizontal-streak.js +41 -0
- package/src/components/viewer3d/grids/grid-streak.js +34 -0
- package/src/components/viewer3d/grids/grid-vertical-streak.js +42 -0
- package/src/components/viewer3d/libs/first-person-controls.js +70 -0
- package/src/components/viewer3d/libs/helvetiker_regular.typeface.js +1265 -0
- package/src/components/viewer3d/libs/mtl-loader.js +462 -0
- package/src/components/viewer3d/libs/obj-loader.js +653 -0
- package/src/components/viewer3d/libs/orbit-controls.js +945 -0
- package/src/components/viewer3d/libs/pointer-lock-controls.js +67 -0
- package/src/components/viewer3d/lrm.js +358 -0
- package/src/components/viewer3d/model.js +830 -0
- package/src/components/viewer3d/pointer-lock-navigation.js +140 -0
- package/src/components/viewer3d/ruler-utils/itemRect.jsx +91 -0
- package/src/components/viewer3d/ruler-utils/layer3D.jsx +528 -0
- package/src/components/viewer3d/ruler-utils/ruler3D.jsx +218 -0
- package/src/components/viewer3d/ruler-utils/scene3D.jsx +87 -0
- package/src/components/viewer3d/ruler-utils/state3D.jsx +25 -0
- package/src/components/viewer3d/scene-creator.js +5169 -0
- package/src/components/viewer3d/three-memory-cleaner.js +65 -0
- package/src/components/viewer3d/viewer3d-first-person.js +395 -0
- package/src/components/viewer3d/viewer3d.js +3376 -0
- package/src/components/wizardstep/button/styles.js +677 -0
- package/src/components/wizardstep/export.js +5 -0
- package/src/components/wizardstep/index.jsx +1372 -0
- package/src/components/wizardstep/styles.js +688 -0
- package/src/components/wizardstep/wizardstep-content-button.jsx +198 -0
- package/src/components/wizardstep/wizardstep-toggle-button.jsx +101 -0
- package/src/constants.js +731 -0
- package/src/index.js +32 -0
- package/src/models.js +541 -0
- package/src/plugins/SVGLoader.js +1991 -0
- package/src/plugins/autosave.js +39 -0
- package/src/plugins/console-debugger.js +36 -0
- package/src/plugins/export.js +11 -0
- package/src/plugins/keyboard.js +194 -0
- package/src/reducers/areas-reducer.js +13 -0
- package/src/reducers/export.js +39 -0
- package/src/reducers/groups-reducer.js +73 -0
- package/src/reducers/holes-reducer.js +125 -0
- package/src/reducers/items-reducer.js +286 -0
- package/src/reducers/lines-reducer.js +96 -0
- package/src/reducers/project-reducer.js +239 -0
- package/src/reducers/reducer.js +59 -0
- package/src/reducers/scene-reducer.js +41 -0
- package/src/reducers/user-reducer.js +30 -0
- package/src/reducers/vertices-reducer.js +34 -0
- package/src/reducers/viewer2d-reducer.js +81 -0
- package/src/reducers/viewer3d-reducer.js +65 -0
- package/src/shared-style.js +72 -0
- package/src/translator/en.js +106 -0
- package/src/translator/it.js +80 -0
- package/src/translator/ru.js +80 -0
- package/src/translator/translator.js +81 -0
- package/src/utils/browser.js +36 -0
- package/src/utils/email-validator.js +5 -0
- package/src/utils/export.js +39 -0
- package/src/utils/geometry.js +2572 -0
- package/src/utils/get-edges-of-subgraphs.js +29 -0
- package/src/utils/graph-cycles.js +259 -0
- package/src/utils/graph-inner-cycles.js +49 -0
- package/src/utils/graph.js +147 -0
- package/src/utils/helper.js +431 -0
- package/src/utils/history.js +37 -0
- package/src/utils/id-broker.js +9 -0
- package/src/utils/logger.js +8 -0
- package/src/utils/math.js +51 -0
- package/src/utils/molding.js +973 -0
- package/src/utils/name-generator.js +5 -0
- package/src/utils/objects-utils.js +56 -0
- package/src/utils/phone-validator.js +4 -0
- package/src/utils/process-black-list.js +10 -0
- package/src/utils/react-if.jsx +20 -0
- package/src/utils/snap-scene.js +102 -0
- package/src/utils/snap.js +184 -0
- package/src/utils/threeCSG.es6.js +578 -0
- package/src/version.js +1 -0
- package/es/@history.js +0 -3
- package/es/@history.js.map +0 -1
- package/es/AppContext.js +0 -4
- package/es/AppContext.js.map +0 -1
- package/es/KitchenConfigurator.js +0 -1345
- package/es/KitchenConfigurator.js.map +0 -1
- package/es/KitchenConfiguratorApp.js +0 -532
- package/es/KitchenConfiguratorApp.js.map +0 -1
- package/es/actions/area-actions.js +0 -15
- package/es/actions/area-actions.js.map +0 -1
- package/es/actions/export.js +0 -26
- package/es/actions/export.js.map +0 -1
- package/es/actions/groups-actions.js +0 -90
- package/es/actions/groups-actions.js.map +0 -1
- package/es/actions/holes-actions.js +0 -120
- package/es/actions/holes-actions.js.map +0 -1
- package/es/actions/items-actions.js +0 -314
- package/es/actions/items-actions.js.map +0 -1
- package/es/actions/lines-actions.js +0 -83
- package/es/actions/lines-actions.js.map +0 -1
- package/es/actions/project-actions.js +0 -282
- package/es/actions/project-actions.js.map +0 -1
- package/es/actions/scene-actions.js +0 -34
- package/es/actions/scene-actions.js.map +0 -1
- package/es/actions/user-actions.js +0 -59
- package/es/actions/user-actions.js.map +0 -1
- package/es/actions/vertices-actions.js +0 -28
- package/es/actions/vertices-actions.js.map +0 -1
- package/es/actions/viewer2d-actions.js +0 -59
- package/es/actions/viewer2d-actions.js.map +0 -1
- package/es/actions/viewer3d-actions.js +0 -24
- package/es/actions/viewer3d-actions.js.map +0 -1
- package/es/catalog/areas/area/planner-element.js +0 -41
- package/es/catalog/areas/area/planner-element.js.map +0 -1
- package/es/catalog/catalog.js +0 -278
- package/es/catalog/catalog.js.map +0 -1
- package/es/catalog/factories/area-factory-3d.js +0 -183
- package/es/catalog/factories/area-factory-3d.js.map +0 -1
- package/es/catalog/factories/area-factory.js +0 -82
- package/es/catalog/factories/area-factory.js.map +0 -1
- package/es/catalog/factories/export.js +0 -8
- package/es/catalog/factories/export.js.map +0 -1
- package/es/catalog/factories/wall-factory-3d.js +0 -203
- package/es/catalog/factories/wall-factory-3d.js.map +0 -1
- package/es/catalog/factories/wall-factory.js +0 -269
- package/es/catalog/factories/wall-factory.js.map +0 -1
- package/es/catalog/holes/door-closet/planner-element.js +0 -223
- package/es/catalog/holes/door-closet/planner-element.js.map +0 -1
- package/es/catalog/holes/door-double/planner-element.js +0 -316
- package/es/catalog/holes/door-double/planner-element.js.map +0 -1
- package/es/catalog/holes/door-exterior/planner-element.js +0 -216
- package/es/catalog/holes/door-exterior/planner-element.js.map +0 -1
- package/es/catalog/holes/door-interior/planner-element.js +0 -228
- package/es/catalog/holes/door-interior/planner-element.js.map +0 -1
- package/es/catalog/holes/door-panic/planner-element.js +0 -504
- package/es/catalog/holes/door-panic/planner-element.js.map +0 -1
- package/es/catalog/holes/door-panic-double/planner-element.js +0 -464
- package/es/catalog/holes/door-panic-double/planner-element.js.map +0 -1
- package/es/catalog/holes/door-sliding/planner-element.js +0 -226
- package/es/catalog/holes/door-sliding/planner-element.js.map +0 -1
- package/es/catalog/holes/doorway-framed/planner-element.js +0 -146
- package/es/catalog/holes/doorway-framed/planner-element.js.map +0 -1
- package/es/catalog/holes/doorway-frameless/planner-element.js +0 -105
- package/es/catalog/holes/doorway-frameless/planner-element.js.map +0 -1
- package/es/catalog/holes/window-clear/planner-element.js +0 -167
- package/es/catalog/holes/window-clear/planner-element.js.map +0 -1
- package/es/catalog/holes/window-cross/planner-element.js +0 -166
- package/es/catalog/holes/window-cross/planner-element.js.map +0 -1
- package/es/catalog/holes/window-double-hung/planner-element.js +0 -304
- package/es/catalog/holes/window-double-hung/planner-element.js.map +0 -1
- package/es/catalog/holes/window-vertical/planner-element.js +0 -277
- package/es/catalog/holes/window-vertical/planner-element.js.map +0 -1
- package/es/catalog/lines/wall/planner-element.js +0 -71
- package/es/catalog/lines/wall/planner-element.js.map +0 -1
- package/es/catalog/molding/molding-dcm/planner-element.js +0 -30
- package/es/catalog/molding/molding-dcm/planner-element.js.map +0 -1
- package/es/catalog/molding/molding-fbm/planner-element.js +0 -30
- package/es/catalog/molding/molding-fbm/planner-element.js.map +0 -1
- package/es/catalog/molding/molding-lrm/planner-element.js +0 -30
- package/es/catalog/molding/molding-lrm/planner-element.js.map +0 -1
- package/es/catalog/properties/export.js +0 -22
- package/es/catalog/properties/export.js.map +0 -1
- package/es/catalog/properties/property-checkbox.js +0 -72
- package/es/catalog/properties/property-checkbox.js.map +0 -1
- package/es/catalog/properties/property-color.js +0 -40
- package/es/catalog/properties/property-color.js.map +0 -1
- package/es/catalog/properties/property-enum.js +0 -56
- package/es/catalog/properties/property-enum.js.map +0 -1
- package/es/catalog/properties/property-hidden.js +0 -20
- package/es/catalog/properties/property-hidden.js.map +0 -1
- package/es/catalog/properties/property-lenght-measure.js +0 -102
- package/es/catalog/properties/property-lenght-measure.js.map +0 -1
- package/es/catalog/properties/property-length-measure.js +0 -86
- package/es/catalog/properties/property-length-measure.js.map +0 -1
- package/es/catalog/properties/property-length-measure_hole.js +0 -102
- package/es/catalog/properties/property-length-measure_hole.js.map +0 -1
- package/es/catalog/properties/property-number.js +0 -49
- package/es/catalog/properties/property-number.js.map +0 -1
- package/es/catalog/properties/property-read-only.js +0 -27
- package/es/catalog/properties/property-read-only.js.map +0 -1
- package/es/catalog/properties/property-string.js +0 -49
- package/es/catalog/properties/property-string.js.map +0 -1
- package/es/catalog/properties/property-toggle.js +0 -40
- package/es/catalog/properties/property-toggle.js.map +0 -1
- package/es/catalog/properties/shared-property-style.js +0 -15
- package/es/catalog/properties/shared-property-style.js.map +0 -1
- package/es/catalog/utils/FuseUtils.js +0 -83
- package/es/catalog/utils/FuseUtils.js.map +0 -1
- package/es/catalog/utils/exporter.js +0 -149
- package/es/catalog/utils/exporter.js.map +0 -1
- package/es/catalog/utils/geom-utils.js +0 -190
- package/es/catalog/utils/geom-utils.js.map +0 -1
- package/es/catalog/utils/item-loader.js +0 -1522
- package/es/catalog/utils/item-loader.js.map +0 -1
- package/es/catalog/utils/load-obj.js +0 -92
- package/es/catalog/utils/load-obj.js.map +0 -1
- package/es/catalog/utils/mtl-loader.js +0 -358
- package/es/catalog/utils/mtl-loader.js.map +0 -1
- package/es/catalog/utils/obj-loader.js +0 -477
- package/es/catalog/utils/obj-loader.js.map +0 -1
- package/es/class/FuseUtils.js +0 -83
- package/es/class/FuseUtils.js.map +0 -1
- package/es/class/area.js +0 -146
- package/es/class/area.js.map +0 -1
- package/es/class/export.js +0 -25
- package/es/class/export.js.map +0 -1
- package/es/class/group.js +0 -441
- package/es/class/group.js.map +0 -1
- package/es/class/guide.js +0 -63
- package/es/class/guide.js.map +0 -1
- package/es/class/hole.js +0 -931
- package/es/class/hole.js.map +0 -1
- package/es/class/item.js +0 -1888
- package/es/class/item.js.map +0 -1
- package/es/class/layer.js +0 -668
- package/es/class/layer.js.map +0 -1
- package/es/class/line.js +0 -1290
- package/es/class/line.js.map +0 -1
- package/es/class/project.js +0 -823
- package/es/class/project.js.map +0 -1
- package/es/class/vertex.js +0 -267
- package/es/class/vertex.js.map +0 -1
- package/es/components/atoms/Snackbar/index.js +0 -50
- package/es/components/atoms/Snackbar/index.js.map +0 -1
- package/es/components/atoms/radio-button/index.js +0 -26
- package/es/components/atoms/radio-button/index.js.map +0 -1
- package/es/components/atoms/radio-button/styles.js +0 -5
- package/es/components/atoms/radio-button/styles.js.map +0 -1
- package/es/components/button/MainButton.js +0 -92
- package/es/components/button/MainButton.js.map +0 -1
- package/es/components/button/ToggleMeasureButton.js +0 -56
- package/es/components/button/ToggleMeasureButton.js.map +0 -1
- package/es/components/catalog-view/catalog-breadcrumb.js +0 -53
- package/es/components/catalog-view/catalog-breadcrumb.js.map +0 -1
- package/es/components/catalog-view/catalog-item.js +0 -226
- package/es/components/catalog-view/catalog-item.js.map +0 -1
- package/es/components/catalog-view/catalog-list.js +0 -182
- package/es/components/catalog-view/catalog-list.js.map +0 -1
- package/es/components/catalog-view/catalog-page-item.js +0 -130
- package/es/components/catalog-view/catalog-page-item.js.map +0 -1
- package/es/components/catalog-view/catalog-turn-back-page-item.js +0 -106
- package/es/components/catalog-view/catalog-turn-back-page-item.js.map +0 -1
- package/es/components/configurator/custom-configurator.js +0 -94
- package/es/components/configurator/custom-configurator.js.map +0 -1
- package/es/components/configurator/project-configurator.js +0 -131
- package/es/components/configurator/project-configurator.js.map +0 -1
- package/es/components/content.js +0 -123
- package/es/components/content.js.map +0 -1
- package/es/components/export.js +0 -24
- package/es/components/export.js.map +0 -1
- package/es/components/firstsetting/button/styles.js +0 -27
- package/es/components/firstsetting/button/styles.js.map +0 -1
- package/es/components/firstsetting/export.js +0 -9
- package/es/components/firstsetting/export.js.map +0 -1
- package/es/components/firstsetting/firstsetting-content-button.js +0 -217
- package/es/components/firstsetting/firstsetting-content-button.js.map +0 -1
- package/es/components/firstsetting/firstsetting-toggle-button.js +0 -126
- package/es/components/firstsetting/firstsetting-toggle-button.js.map +0 -1
- package/es/components/firstsetting/firstsetting.js +0 -626
- package/es/components/firstsetting/firstsetting.js.map +0 -1
- package/es/components/footerbar/button/ControlButton.js +0 -72
- package/es/components/footerbar/button/ControlButton.js.map +0 -1
- package/es/components/footerbar/button/DirectionButton.js +0 -69
- package/es/components/footerbar/button/DirectionButton.js.map +0 -1
- package/es/components/footerbar/button/DirectionPanSpinButton.js +0 -50
- package/es/components/footerbar/button/DirectionPanSpinButton.js.map +0 -1
- package/es/components/footerbar/button/ToggleButton.js +0 -76
- package/es/components/footerbar/button/ToggleButton.js.map +0 -1
- package/es/components/footerbar/button/ToggleConvertButton.js +0 -73
- package/es/components/footerbar/button/ToggleConvertButton.js.map +0 -1
- package/es/components/footerbar/button/ToggleMeasureButton.js +0 -52
- package/es/components/footerbar/button/ToggleMeasureButton.js.map +0 -1
- package/es/components/footerbar/button/styles.js +0 -22
- package/es/components/footerbar/button/styles.js.map +0 -1
- package/es/components/footerbar/export.js +0 -9
- package/es/components/footerbar/export.js.map +0 -1
- package/es/components/footerbar/footer-content-button.js +0 -217
- package/es/components/footerbar/footer-content-button.js.map +0 -1
- package/es/components/footerbar/footer-toggle-button.js +0 -126
- package/es/components/footerbar/footer-toggle-button.js.map +0 -1
- package/es/components/footerbar/footerbar.js +0 -801
- package/es/components/footerbar/footerbar.js.map +0 -1
- package/es/components/footerbar/styles.js +0 -34
- package/es/components/footerbar/styles.js.map +0 -1
- package/es/components/header/button/MenuButton.js +0 -70
- package/es/components/header/button/MenuButton.js.map +0 -1
- package/es/components/header/button/SaveButton.js +0 -48
- package/es/components/header/button/SaveButton.js.map +0 -1
- package/es/components/header/button/styles.js +0 -59
- package/es/components/header/button/styles.js.map +0 -1
- package/es/components/header/export.js +0 -5
- package/es/components/header/export.js.map +0 -1
- package/es/components/header/header.js +0 -550
- package/es/components/header/header.js.map +0 -1
- package/es/components/header/styles.js +0 -41
- package/es/components/header/styles.js.map +0 -1
- package/es/components/login/Login.js +0 -86
- package/es/components/login/Login.js.map +0 -1
- package/es/components/login/LoginForm/index.js +0 -132
- package/es/components/login/LoginForm/index.js.map +0 -1
- package/es/components/login/Register.js +0 -96
- package/es/components/login/Register.js.map +0 -1
- package/es/components/login/RegisterForm/index.js +0 -230
- package/es/components/login/RegisterForm/index.js.map +0 -1
- package/es/components/login/jwtService.js +0 -232
- package/es/components/login/jwtService.js.map +0 -1
- package/es/components/molecules/slider/index.js +0 -13
- package/es/components/molecules/slider/index.js.map +0 -1
- package/es/components/molecules/slider/styles.js +0 -2
- package/es/components/molecules/slider/styles.js.map +0 -1
- package/es/components/myprojects/export.js +0 -5
- package/es/components/myprojects/export.js.map +0 -1
- package/es/components/myprojects/index.js +0 -446
- package/es/components/myprojects/index.js.map +0 -1
- package/es/components/myprojects/styles.js +0 -24
- package/es/components/myprojects/styles.js.map +0 -1
- package/es/components/sidebar/custom-accordion.js +0 -38
- package/es/components/sidebar/custom-accordion.js.map +0 -1
- package/es/components/sidebar/export.js +0 -14
- package/es/components/sidebar/export.js.map +0 -1
- package/es/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js +0 -65
- package/es/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js.map +0 -1
- package/es/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js +0 -116
- package/es/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js.map +0 -1
- package/es/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js +0 -126
- package/es/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js.map +0 -1
- package/es/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js +0 -251
- package/es/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js.map +0 -1
- package/es/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js +0 -75
- package/es/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js.map +0 -1
- package/es/components/sidebar/panel-element-editor/element-editor.js +0 -878
- package/es/components/sidebar/panel-element-editor/element-editor.js.map +0 -1
- package/es/components/sidebar/panel-element-editor/multi-elements-editor.js +0 -2
- package/es/components/sidebar/panel-element-editor/multi-elements-editor.js.map +0 -1
- package/es/components/sidebar/panel-element-editor/panel-element-editor.js +0 -49
- package/es/components/sidebar/panel-element-editor/panel-element-editor.js.map +0 -1
- package/es/components/sidebar/panel-element-editor/panel-multi-elements-editor.js +0 -118
- package/es/components/sidebar/panel-element-editor/panel-multi-elements-editor.js.map +0 -1
- package/es/components/sidebar/panel-group-editor.js +0 -211
- package/es/components/sidebar/panel-group-editor.js.map +0 -1
- package/es/components/sidebar/panel-groups.js +0 -267
- package/es/components/sidebar/panel-groups.js.map +0 -1
- package/es/components/sidebar/panel-guides.js +0 -185
- package/es/components/sidebar/panel-guides.js.map +0 -1
- package/es/components/sidebar/panel-layer-elements.js +0 -251
- package/es/components/sidebar/panel-layer-elements.js.map +0 -1
- package/es/components/sidebar/panel-layers.js +0 -340
- package/es/components/sidebar/panel-layers.js.map +0 -1
- package/es/components/sidebar/panel.js +0 -103
- package/es/components/sidebar/panel.js.map +0 -1
- package/es/components/sidebar/sidebar.js +0 -109
- package/es/components/sidebar/sidebar.js.map +0 -1
- package/es/components/sidebar/toolbar-panel.js +0 -164
- package/es/components/sidebar/toolbar-panel.js.map +0 -1
- package/es/components/sign/export.js +0 -6
- package/es/components/sign/export.js.map +0 -1
- package/es/components/sign/main/index.js +0 -560
- package/es/components/sign/main/index.js.map +0 -1
- package/es/components/sign/main/styles.js +0 -20
- package/es/components/sign/main/styles.js.map +0 -1
- package/es/components/style/button.js +0 -114
- package/es/components/style/button.js.map +0 -1
- package/es/components/style/cancel-button.js +0 -23
- package/es/components/style/cancel-button.js.map +0 -1
- package/es/components/style/content-container.js +0 -34
- package/es/components/style/content-container.js.map +0 -1
- package/es/components/style/content-title.js +0 -30
- package/es/components/style/content-title.js.map +0 -1
- package/es/components/style/delete-button.js +0 -26
- package/es/components/style/delete-button.js.map +0 -1
- package/es/components/style/export.js +0 -32
- package/es/components/style/export.js.map +0 -1
- package/es/components/style/form-block.js +0 -25
- package/es/components/style/form-block.js.map +0 -1
- package/es/components/style/form-color-input.js +0 -28
- package/es/components/style/form-color-input.js.map +0 -1
- package/es/components/style/form-label.js +0 -27
- package/es/components/style/form-label.js.map +0 -1
- package/es/components/style/form-number-input.js +0 -190
- package/es/components/style/form-number-input.js.map +0 -1
- package/es/components/style/form-number-input_2.js +0 -207
- package/es/components/style/form-number-input_2.js.map +0 -1
- package/es/components/style/form-select.js +0 -21
- package/es/components/style/form-select.js.map +0 -1
- package/es/components/style/form-slider.js +0 -46
- package/es/components/style/form-slider.js.map +0 -1
- package/es/components/style/form-submit-button.js +0 -27
- package/es/components/style/form-submit-button.js.map +0 -1
- package/es/components/style/form-text-input.js +0 -77
- package/es/components/style/form-text-input.js.map +0 -1
- package/es/components/toolbar/button/ControlButton.js +0 -69
- package/es/components/toolbar/button/ControlButton.js.map +0 -1
- package/es/components/toolbar/button/DirectionButton.js +0 -50
- package/es/components/toolbar/button/DirectionButton.js.map +0 -1
- package/es/components/toolbar/button/RightButton.js +0 -133
- package/es/components/toolbar/button/RightButton.js.map +0 -1
- package/es/components/toolbar/button/ToggleButton.js +0 -59
- package/es/components/toolbar/button/ToggleButton.js.map +0 -1
- package/es/components/toolbar/button/index.js +0 -88
- package/es/components/toolbar/button/index.js.map +0 -1
- package/es/components/toolbar/button/styles.js +0 -14
- package/es/components/toolbar/button/styles.js.map +0 -1
- package/es/components/toolbar/components/DoorStyleMenu.js +0 -105
- package/es/components/toolbar/components/DoorStyleMenu.js.map +0 -1
- package/es/components/toolbar/components/Pricing.js +0 -101
- package/es/components/toolbar/components/Pricing.js.map +0 -1
- package/es/components/toolbar/components/ReviewForQuote.js +0 -476
- package/es/components/toolbar/components/ReviewForQuote.js.map +0 -1
- package/es/components/toolbar/export.js +0 -14
- package/es/components/toolbar/export.js.map +0 -1
- package/es/components/toolbar/main/Alert.js +0 -125
- package/es/components/toolbar/main/Alert.js.map +0 -1
- package/es/components/toolbar/main/TakePictureModal.js +0 -100
- package/es/components/toolbar/main/TakePictureModal.js.map +0 -1
- package/es/components/toolbar/main/confirm-popup.js +0 -88
- package/es/components/toolbar/main/confirm-popup.js.map +0 -1
- package/es/components/toolbar/main/index.js +0 -4612
- package/es/components/toolbar/main/index.js.map +0 -1
- package/es/components/toolbar/main/myComponents.js +0 -118
- package/es/components/toolbar/main/myComponents.js.map +0 -1
- package/es/components/toolbar/main/styles.js +0 -64
- package/es/components/toolbar/main/styles.js.map +0 -1
- package/es/components/toolbar/plugin-item.js +0 -150
- package/es/components/toolbar/plugin-item.js.map +0 -1
- package/es/components/toolbar/popup/appliance/appliance-category/index.js +0 -77
- package/es/components/toolbar/popup/appliance/appliance-category/index.js.map +0 -1
- package/es/components/toolbar/popup/appliance/choose-appliance/index.js +0 -76
- package/es/components/toolbar/popup/appliance/choose-appliance/index.js.map +0 -1
- package/es/components/toolbar/popup/appliance/index.js +0 -81
- package/es/components/toolbar/popup/appliance/index.js.map +0 -1
- package/es/components/toolbar/popup/autosaveprompt/index.js +0 -91
- package/es/components/toolbar/popup/autosaveprompt/index.js.map +0 -1
- package/es/components/toolbar/popup/autosaveprompt/styles.js +0 -9
- package/es/components/toolbar/popup/autosaveprompt/styles.js.map +0 -1
- package/es/components/toolbar/popup/cabinet/cabinet-category/index.js +0 -77
- package/es/components/toolbar/popup/cabinet/cabinet-category/index.js.map +0 -1
- package/es/components/toolbar/popup/cabinet/choose-product/index.js +0 -98
- package/es/components/toolbar/popup/cabinet/choose-product/index.js.map +0 -1
- package/es/components/toolbar/popup/cabinet/index.js +0 -83
- package/es/components/toolbar/popup/cabinet/index.js.map +0 -1
- package/es/components/toolbar/popup/doorStyle/choose-style/index.js +0 -50
- package/es/components/toolbar/popup/doorStyle/choose-style/index.js.map +0 -1
- package/es/components/toolbar/popup/doorStyle/index.js +0 -61
- package/es/components/toolbar/popup/doorStyle/index.js.map +0 -1
- package/es/components/toolbar/popup/doorStyle/style-category/index.js +0 -143
- package/es/components/toolbar/popup/doorStyle/style-category/index.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -3
- package/es/components/toolbar/popup/downloadsummary/downloadSummaryContext.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js +0 -119
- package/es/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/index.js +0 -564
- package/es/components/toolbar/popup/downloadsummary/index.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/show2D/show2DView.js +0 -51
- package/es/components/toolbar/popup/downloadsummary/show2D/show2DView.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js +0 -191
- package/es/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/show3D/show3DView.js +0 -245
- package/es/components/toolbar/popup/downloadsummary/show3D/show3DView.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js +0 -1758
- package/es/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -87
- package/es/components/toolbar/popup/downloadsummary/showCabinetInfo.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js +0 -116
- package/es/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js +0 -1710
- package/es/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js +0 -175
- package/es/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/showWarranty.js +0 -106
- package/es/components/toolbar/popup/downloadsummary/showWarranty.js.map +0 -1
- package/es/components/toolbar/popup/downloadsummary/styles.js +0 -40
- package/es/components/toolbar/popup/downloadsummary/styles.js.map +0 -1
- package/es/components/toolbar/popup/finishingtouch/category/index.js +0 -35
- package/es/components/toolbar/popup/finishingtouch/category/index.js.map +0 -1
- package/es/components/toolbar/popup/finishingtouch/index.js +0 -47
- package/es/components/toolbar/popup/finishingtouch/index.js.map +0 -1
- package/es/components/toolbar/popup/finishingtouch/material-edit.js +0 -156
- package/es/components/toolbar/popup/finishingtouch/material-edit.js.map +0 -1
- package/es/components/toolbar/popup/finishingtouch/product/index.js +0 -56
- package/es/components/toolbar/popup/finishingtouch/product/index.js.map +0 -1
- package/es/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js +0 -116
- package/es/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js.map +0 -1
- package/es/components/toolbar/popup/floorplan/choose-floor/index.js +0 -246
- package/es/components/toolbar/popup/floorplan/choose-floor/index.js.map +0 -1
- package/es/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -11
- package/es/components/toolbar/popup/floorplan/choose-floor/styles.js.map +0 -1
- package/es/components/toolbar/popup/floorplan/floor-category/index.js +0 -90
- package/es/components/toolbar/popup/floorplan/floor-category/index.js.map +0 -1
- package/es/components/toolbar/popup/floorplan/index.js +0 -49
- package/es/components/toolbar/popup/floorplan/index.js.map +0 -1
- package/es/components/toolbar/popup/index.js +0 -188
- package/es/components/toolbar/popup/index.js.map +0 -1
- package/es/components/toolbar/popup/newproject/index.js +0 -67
- package/es/components/toolbar/popup/newproject/index.js.map +0 -1
- package/es/components/toolbar/popup/newproject/styles.js +0 -9
- package/es/components/toolbar/popup/newproject/styles.js.map +0 -1
- package/es/components/toolbar/popup/product/appliance.js +0 -65
- package/es/components/toolbar/popup/product/appliance.js.map +0 -1
- package/es/components/toolbar/popup/product/cabinetproduct.js +0 -25
- package/es/components/toolbar/popup/product/cabinetproduct.js.map +0 -1
- package/es/components/toolbar/popup/product/doorstyle.js +0 -50
- package/es/components/toolbar/popup/product/doorstyle.js.map +0 -1
- package/es/components/toolbar/popup/product/doorstyleproduct.js +0 -51
- package/es/components/toolbar/popup/product/doorstyleproduct.js.map +0 -1
- package/es/components/toolbar/popup/product/floor.js +0 -52
- package/es/components/toolbar/popup/product/floor.js.map +0 -1
- package/es/components/toolbar/popup/product/floorproduct.js +0 -61
- package/es/components/toolbar/popup/product/floorproduct.js.map +0 -1
- package/es/components/toolbar/popup/product/index.js +0 -52
- package/es/components/toolbar/popup/product/index.js.map +0 -1
- package/es/components/toolbar/popup/product/primary.js +0 -63
- package/es/components/toolbar/popup/product/primary.js.map +0 -1
- package/es/components/toolbar/popup/product/productline.js +0 -120
- package/es/components/toolbar/popup/product/productline.js.map +0 -1
- package/es/components/toolbar/popup/product/reviewItem.js +0 -338
- package/es/components/toolbar/popup/product/reviewItem.js.map +0 -1
- package/es/components/toolbar/popup/product/reviewMolding.js +0 -282
- package/es/components/toolbar/popup/product/reviewMolding.js.map +0 -1
- package/es/components/toolbar/popup/product/styles.js +0 -71
- package/es/components/toolbar/popup/product/styles.js.map +0 -1
- package/es/components/toolbar/popup/savedesign/FullPictureForm.js +0 -161
- package/es/components/toolbar/popup/savedesign/FullPictureForm.js.map +0 -1
- package/es/components/toolbar/popup/savedesign/index.js +0 -508
- package/es/components/toolbar/popup/savedesign/index.js.map +0 -1
- package/es/components/toolbar/popup/savedesign/styles.js +0 -19
- package/es/components/toolbar/popup/savedesign/styles.js.map +0 -1
- package/es/components/toolbar/popup/setDoorStyleOption/index.js +0 -57
- package/es/components/toolbar/popup/setDoorStyleOption/index.js.map +0 -1
- package/es/components/toolbar/popup/styles.js +0 -98
- package/es/components/toolbar/popup/styles.js.map +0 -1
- package/es/components/toolbar/popup/submitforquote/AddToCartOptions.js +0 -157
- package/es/components/toolbar/popup/submitforquote/AddToCartOptions.js.map +0 -1
- package/es/components/toolbar/popup/submitforquote/CustomerRequestsForm.js +0 -85
- package/es/components/toolbar/popup/submitforquote/CustomerRequestsForm.js.map +0 -1
- package/es/components/toolbar/popup/submitforquote/SkipDesignerReview.js +0 -36
- package/es/components/toolbar/popup/submitforquote/SkipDesignerReview.js.map +0 -1
- package/es/components/toolbar/popup/submitforquote/StepDots.js +0 -33
- package/es/components/toolbar/popup/submitforquote/StepDots.js.map +0 -1
- package/es/components/toolbar/popup/submitforquote/cart-choice.js +0 -132
- package/es/components/toolbar/popup/submitforquote/cart-choice.js.map +0 -1
- package/es/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -43
- package/es/components/toolbar/popup/submitforquote/doorstyle-menus.js.map +0 -1
- package/es/components/toolbar/popup/submitforquote/index.js +0 -690
- package/es/components/toolbar/popup/submitforquote/index.js.map +0 -1
- package/es/components/toolbar/popup/submitforquote/styles.js +0 -31
- package/es/components/toolbar/popup/submitforquote/styles.js.map +0 -1
- package/es/components/toolbar/popup/submitprompt/index.js +0 -71
- package/es/components/toolbar/popup/submitprompt/index.js.map +0 -1
- package/es/components/toolbar/popup/submitprompt/styles.js +0 -9
- package/es/components/toolbar/popup/submitprompt/styles.js.map +0 -1
- package/es/components/toolbar/toolbar-button.js +0 -105
- package/es/components/toolbar/toolbar-button.js.map +0 -1
- package/es/components/toolbar/toolbar-load-button.js +0 -29
- package/es/components/toolbar/toolbar-load-button.js.map +0 -1
- package/es/components/toolbar/toolbar-save-button.js +0 -27
- package/es/components/toolbar/toolbar-save-button.js.map +0 -1
- package/es/components/tutorial-view/Modal.js +0 -498
- package/es/components/tutorial-view/Modal.js.map +0 -1
- package/es/components/tutorial-view/styles.js +0 -6
- package/es/components/tutorial-view/styles.js.map +0 -1
- package/es/components/viewer2d/area.js +0 -83
- package/es/components/viewer2d/area.js.map +0 -1
- package/es/components/viewer2d/export.js +0 -32
- package/es/components/viewer2d/export.js.map +0 -1
- package/es/components/viewer2d/grids/grid-horizontal-streak.js +0 -38
- package/es/components/viewer2d/grids/grid-horizontal-streak.js.map +0 -1
- package/es/components/viewer2d/grids/grid-streak.js +0 -38
- package/es/components/viewer2d/grids/grid-streak.js.map +0 -1
- package/es/components/viewer2d/grids/grid-vertical-streak.js +0 -38
- package/es/components/viewer2d/grids/grid-vertical-streak.js.map +0 -1
- package/es/components/viewer2d/grids/grids.js +0 -36
- package/es/components/viewer2d/grids/grids.js.map +0 -1
- package/es/components/viewer2d/group.js +0 -54
- package/es/components/viewer2d/group.js.map +0 -1
- package/es/components/viewer2d/item.js +0 -514
- package/es/components/viewer2d/item.js.map +0 -1
- package/es/components/viewer2d/layer.js +0 -165
- package/es/components/viewer2d/layer.js.map +0 -1
- package/es/components/viewer2d/line.js +0 -889
- package/es/components/viewer2d/line.js.map +0 -1
- package/es/components/viewer2d/ruler.js +0 -101
- package/es/components/viewer2d/ruler.js.map +0 -1
- package/es/components/viewer2d/rulerDist.js +0 -147
- package/es/components/viewer2d/rulerDist.js.map +0 -1
- package/es/components/viewer2d/rulerX.js +0 -152
- package/es/components/viewer2d/rulerX.js.map +0 -1
- package/es/components/viewer2d/rulerY.js +0 -154
- package/es/components/viewer2d/rulerY.js.map +0 -1
- package/es/components/viewer2d/scene.js +0 -141
- package/es/components/viewer2d/scene.js.map +0 -1
- package/es/components/viewer2d/snap.js +0 -75
- package/es/components/viewer2d/snap.js.map +0 -1
- package/es/components/viewer2d/state.js +0 -79
- package/es/components/viewer2d/state.js.map +0 -1
- package/es/components/viewer2d/utils.js +0 -163
- package/es/components/viewer2d/utils.js.map +0 -1
- package/es/components/viewer2d/vertex.js +0 -67
- package/es/components/viewer2d/vertex.js.map +0 -1
- package/es/components/viewer2d/viewer2d.js +0 -1402
- package/es/components/viewer2d/viewer2d.js.map +0 -1
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -2593
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js.map +0 -1
- package/es/components/viewer3d/dcm.js +0 -402
- package/es/components/viewer3d/dcm.js.map +0 -1
- package/es/components/viewer3d/fbm.js +0 -415
- package/es/components/viewer3d/fbm.js.map +0 -1
- package/es/components/viewer3d/front3D.js +0 -67
- package/es/components/viewer3d/front3D.js.map +0 -1
- package/es/components/viewer3d/grid-creator.js +0 -26
- package/es/components/viewer3d/grid-creator.js.map +0 -1
- package/es/components/viewer3d/grids/grid-horizontal-streak.js +0 -37
- package/es/components/viewer3d/grids/grid-horizontal-streak.js.map +0 -1
- package/es/components/viewer3d/grids/grid-streak.js +0 -28
- package/es/components/viewer3d/grids/grid-streak.js.map +0 -1
- package/es/components/viewer3d/grids/grid-vertical-streak.js +0 -37
- package/es/components/viewer3d/grids/grid-vertical-streak.js.map +0 -1
- package/es/components/viewer3d/libs/first-person-controls.js +0 -68
- package/es/components/viewer3d/libs/first-person-controls.js.map +0 -1
- package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1282
- package/es/components/viewer3d/libs/helvetiker_regular.typeface.js.map +0 -1
- package/es/components/viewer3d/libs/mtl-loader.js +0 -358
- package/es/components/viewer3d/libs/mtl-loader.js.map +0 -1
- package/es/components/viewer3d/libs/obj-loader.js +0 -463
- package/es/components/viewer3d/libs/obj-loader.js.map +0 -1
- package/es/components/viewer3d/libs/orbit-controls.js +0 -699
- package/es/components/viewer3d/libs/orbit-controls.js.map +0 -1
- package/es/components/viewer3d/libs/pointer-lock-controls.js +0 -46
- package/es/components/viewer3d/libs/pointer-lock-controls.js.map +0 -1
- package/es/components/viewer3d/lrm.js +0 -306
- package/es/components/viewer3d/lrm.js.map +0 -1
- package/es/components/viewer3d/model.js +0 -709
- package/es/components/viewer3d/model.js.map +0 -1
- package/es/components/viewer3d/pointer-lock-navigation.js +0 -116
- package/es/components/viewer3d/pointer-lock-navigation.js.map +0 -1
- package/es/components/viewer3d/ruler-utils/itemRect.js +0 -62
- package/es/components/viewer3d/ruler-utils/itemRect.js.map +0 -1
- package/es/components/viewer3d/ruler-utils/layer3D.js +0 -496
- package/es/components/viewer3d/ruler-utils/layer3D.js.map +0 -1
- package/es/components/viewer3d/ruler-utils/ruler3D.js +0 -228
- package/es/components/viewer3d/ruler-utils/ruler3D.js.map +0 -1
- package/es/components/viewer3d/ruler-utils/scene3D.js +0 -62
- package/es/components/viewer3d/ruler-utils/scene3D.js.map +0 -1
- package/es/components/viewer3d/ruler-utils/state3D.js +0 -19
- package/es/components/viewer3d/ruler-utils/state3D.js.map +0 -1
- package/es/components/viewer3d/scene-creator.js +0 -3607
- package/es/components/viewer3d/scene-creator.js.map +0 -1
- package/es/components/viewer3d/three-memory-cleaner.js +0 -52
- package/es/components/viewer3d/three-memory-cleaner.js.map +0 -1
- package/es/components/viewer3d/viewer3d-first-person.js +0 -316
- package/es/components/viewer3d/viewer3d-first-person.js.map +0 -1
- package/es/components/viewer3d/viewer3d.js +0 -2504
- package/es/components/viewer3d/viewer3d.js.map +0 -1
- package/es/components/wizardstep/button/styles.js +0 -60
- package/es/components/wizardstep/button/styles.js.map +0 -1
- package/es/components/wizardstep/export.js +0 -5
- package/es/components/wizardstep/export.js.map +0 -1
- package/es/components/wizardstep/index.js +0 -971
- package/es/components/wizardstep/index.js.map +0 -1
- package/es/components/wizardstep/styles.js +0 -61
- package/es/components/wizardstep/styles.js.map +0 -1
- package/es/components/wizardstep/wizardstep-content-button.js +0 -217
- package/es/components/wizardstep/wizardstep-content-button.js.map +0 -1
- package/es/components/wizardstep/wizardstep-toggle-button.js +0 -126
- package/es/components/wizardstep/wizardstep-toggle-button.js.map +0 -1
- package/es/constants.js +0 -637
- package/es/constants.js.map +0 -1
- package/es/hooks/useCheckCart.js +0 -53
- package/es/hooks/useCheckCart.js.map +0 -1
- package/es/hooks/useGetPricesBySku.js +0 -74
- package/es/hooks/useGetPricesBySku.js.map +0 -1
- package/es/hooks/useValidateToken.js +0 -201
- package/es/hooks/useValidateToken.js.map +0 -1
- package/es/index.js +0 -17
- package/es/index.js.map +0 -1
- package/es/models.js +0 -511
- package/es/models.js.map +0 -1
- package/es/plugins/SVGLoader.js +0 -1413
- package/es/plugins/SVGLoader.js.map +0 -1
- package/es/plugins/autosave.js +0 -34
- package/es/plugins/autosave.js.map +0 -1
- package/es/plugins/console-debugger.js +0 -38
- package/es/plugins/console-debugger.js.map +0 -1
- package/es/plugins/export.js +0 -10
- package/es/plugins/export.js.map +0 -1
- package/es/plugins/keyboard.js +0 -102
- package/es/plugins/keyboard.js.map +0 -1
- package/es/reducers/areas-reducer.js +0 -13
- package/es/reducers/areas-reducer.js.map +0 -1
- package/es/reducers/export.js +0 -26
- package/es/reducers/export.js.map +0 -1
- package/es/reducers/groups-reducer.js +0 -39
- package/es/reducers/groups-reducer.js.map +0 -1
- package/es/reducers/holes-reducer.js +0 -63
- package/es/reducers/holes-reducer.js.map +0 -1
- package/es/reducers/items-reducer.js +0 -144
- package/es/reducers/items-reducer.js.map +0 -1
- package/es/reducers/lines-reducer.js +0 -46
- package/es/reducers/lines-reducer.js.map +0 -1
- package/es/reducers/project-reducer.js +0 -130
- package/es/reducers/project-reducer.js.map +0 -1
- package/es/reducers/reducer.js +0 -20
- package/es/reducers/reducer.js.map +0 -1
- package/es/reducers/scene-reducer.js +0 -29
- package/es/reducers/scene-reducer.js.map +0 -1
- package/es/reducers/user-reducer.js +0 -42
- package/es/reducers/user-reducer.js.map +0 -1
- package/es/reducers/vertices-reducer.js +0 -20
- package/es/reducers/vertices-reducer.js.map +0 -1
- package/es/reducers/viewer2d-reducer.js +0 -76
- package/es/reducers/viewer2d-reducer.js.map +0 -1
- package/es/reducers/viewer3d-reducer.js +0 -57
- package/es/reducers/viewer3d-reducer.js.map +0 -1
- package/es/shared-style.js +0 -67
- package/es/shared-style.js.map +0 -1
- package/es/styles/export.js +0 -6
- package/es/styles/export.js.map +0 -1
- package/es/styles/tabs.css +0 -40
- package/es/translator/en.js +0 -105
- package/es/translator/en.js.map +0 -1
- package/es/translator/it.js +0 -80
- package/es/translator/it.js.map +0 -1
- package/es/translator/ru.js +0 -80
- package/es/translator/ru.js.map +0 -1
- package/es/translator/translator.js +0 -85
- package/es/translator/translator.js.map +0 -1
- package/es/utils/browser.js +0 -34
- package/es/utils/browser.js.map +0 -1
- package/es/utils/email-validator.js +0 -5
- package/es/utils/email-validator.js.map +0 -1
- package/es/utils/export.js +0 -26
- package/es/utils/export.js.map +0 -1
- package/es/utils/geometry.js +0 -2237
- package/es/utils/geometry.js.map +0 -1
- package/es/utils/get-edges-of-subgraphs.js +0 -27
- package/es/utils/get-edges-of-subgraphs.js.map +0 -1
- package/es/utils/graph-cycles.js +0 -239
- package/es/utils/graph-cycles.js.map +0 -1
- package/es/utils/graph-inner-cycles.js +0 -47
- package/es/utils/graph-inner-cycles.js.map +0 -1
- package/es/utils/graph.js +0 -150
- package/es/utils/graph.js.map +0 -1
- package/es/utils/helper.js +0 -337
- package/es/utils/helper.js.map +0 -1
- package/es/utils/history.js +0 -30
- package/es/utils/history.js.map +0 -1
- package/es/utils/id-broker.js +0 -20
- package/es/utils/id-broker.js.map +0 -1
- package/es/utils/logger.js +0 -9
- package/es/utils/logger.js.map +0 -1
- package/es/utils/math.js +0 -51
- package/es/utils/math.js.map +0 -1
- package/es/utils/molding.js +0 -840
- package/es/utils/molding.js.map +0 -1
- package/es/utils/name-generator.js +0 -19
- package/es/utils/name-generator.js.map +0 -1
- package/es/utils/objects-utils.js +0 -51
- package/es/utils/objects-utils.js.map +0 -1
- package/es/utils/phone-validator.js +0 -5
- package/es/utils/phone-validator.js.map +0 -1
- package/es/utils/process-black-list.js +0 -19
- package/es/utils/process-black-list.js.map +0 -1
- package/es/utils/react-if.js +0 -19
- package/es/utils/react-if.js.map +0 -1
- package/es/utils/snap-scene.js +0 -100
- package/es/utils/snap-scene.js.map +0 -1
- package/es/utils/snap.js +0 -238
- package/es/utils/snap.js.map +0 -1
- package/es/utils/threeCSG.es6.js +0 -499
- package/es/utils/threeCSG.es6.js.map +0 -1
- package/es/version.js +0 -2
- package/es/version.js.map +0 -1
- /package/{es → src}/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
- /package/{es → src}/catalog/areas/area/textures/grass.jpg +0 -0
- /package/{es → src}/catalog/areas/area/textures/parquet.jpg +0 -0
- /package/{es → src}/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
- /package/{es → src}/catalog/areas/area/textures/tile1.jpg +0 -0
- /package/{es → src}/catalog/back.png +0 -0
- /package/{es → src}/catalog/doors.png +0 -0
- /package/{es → src}/catalog/doorways.png +0 -0
- /package/{es → src}/catalog/envMap/nx.hdr +0 -0
- /package/{es → src}/catalog/envMap/ny.hdr +0 -0
- /package/{es → src}/catalog/envMap/nz.hdr +0 -0
- /package/{es → src}/catalog/envMap/px.hdr +0 -0
- /package/{es → src}/catalog/envMap/py.hdr +0 -0
- /package/{es → src}/catalog/envMap/pz.hdr +0 -0
- /package/{es → src}/catalog/holes/door-double/door_double.png +0 -0
- /package/{es → src}/catalog/holes/door-panic/panicDoor.png +0 -0
- /package/{es → src}/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- /package/{es → src}/catalog/holes/gate/gate.jpg +0 -0
- /package/{es → src}/catalog/holes/window-clear/texture.png +0 -0
- /package/{es → src}/catalog/holes/window-cross/texture.png +0 -0
- /package/{es → src}/catalog/holes/window-double-hung/texture.png +0 -0
- /package/{es → src}/catalog/holes/window-vertical/texture.png +0 -0
- /package/{es → src}/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
- /package/{es → src}/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
- /package/{es → src}/catalog/lines/wall/textures/bricks.jpg +0 -0
- /package/{es → src}/catalog/lines/wall/textures/bricks2.jpg +0 -0
- /package/{es → src}/catalog/lines/wall/textures/bricks3.jpg +0 -0
- /package/{es → src}/catalog/lines/wall/textures/morden-normal.jpg +0 -0
- /package/{es → src}/catalog/lines/wall/textures/morden.jpg +0 -0
- /package/{es → src}/catalog/lines/wall/textures/painted-normal.jpg +0 -0
- /package/{es → src}/catalog/lines/wall/textures/painted.jpg +0 -0
- /package/{es → src}/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
- /package/{es → src}/catalog/lines/wall/textures/plaster.jpg +0 -0
- /package/{es → src}/catalog/lines/wall/wall.png +0 -0
- /package/{es → src}/catalog/molding/molding-dcm/texture.png +0 -0
- /package/{es → src}/catalog/molding/molding-fbm/texture.png +0 -0
- /package/{es → src}/catalog/molding/molding-lrm/texture.png +0 -0
- /package/{es → src}/catalog/windows.png +0 -0
- /package/{es → src}/components/header/header.style.css +0 -0
- /package/{es → src}/components/login/style.css +0 -0
- /package/{es → src}/components/login/style.scss +0 -0
- /package/{es → src}/components/molecules/slider/styles.scss +0 -0
- /package/{es → src}/components/toolbar/main/lShaped.json +0 -0
- /package/{es → src}/components/toolbar/main/longNarrow.json +0 -0
- /package/{es → src}/components/toolbar/main/oRectangle.json +0 -0
- /package/{es → src}/components/toolbar/main/rectangle.json +0 -0
- /package/{es → src}/components/toolbar/main/style.css +0 -0
- /package/{es → src}/components/toolbar/popup/autosaveprompt/styles.css +0 -0
- /package/{es → src}/components/toolbar/popup/downloadsummary/styles.css +0 -0
- /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/lShaped.json +0 -0
- /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/longNarrow.json +0 -0
- /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/oRectangle.json +0 -0
- /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/rectangle.json +0 -0
- /package/{es → src}/components/toolbar/popup/newproject/styles.css +0 -0
- /package/{es → src}/components/toolbar/popup/product/style.css +0 -0
- /package/{es → src}/components/toolbar/popup/savedesign/savedesign.style.css +0 -0
- /package/{es → src}/components/toolbar/popup/submitforquote/styles.css +0 -0
- /package/{es → src}/components/toolbar/popup/submitprompt/styles.css +0 -0
- /package/{es → src}/components/tutorial-view/style.css +0 -0
package/es/utils/molding.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"molding.js","names":["BASE_CABINET_LAYOUTPOS","BOTTOM_MOLDING_LOCATION","EPSILON","MIDDLE_MOLDING_LOCATION","MOLDING_LOCATIONS","OVERLAP_INCLUDED","OVERLAP_LINK","OVERLAP_SAME","OVERLAP_SOME","TALL_CABINET_LAYOUTPOS","TOP_MOLDING_LOCATION","WALL_CABINET_LAYOUTPOS","Three","convert","IDBroker","returnReplaceableDeepSearchType","GeometryUtils","isEmpty","getItemRect","item","x","y","rotRad","rotation","Math","PI","itemWidth","properties","get","itemWidthUnit","from","to","itemDepth","itemDepthUnit","mx","cos","my","sin","x0","y0","x3","y3","x1","y1","x2","y2","rect","hasMoldingLayout","molding","layoutpos","types","molding_type","Array","isArray","includes","isEnableItemForMolding","layer","selItem","arguments","length","undefined","allLineRects","buildRectFromLines","getAllLines","result","category","isSnappedLine","getDelta","selRectPos1","selRectPos2","curRectPos1","curRectPos2","abs","verticesDistance","isItemSnappedItem","curItem","selRect","curRect","flag30","flag21","flag23","flag01","flag03","isItemSnappedGroup","itemGroup","some","sortItemsByDistance","items","sort","a","b","pointsDistance","isSameMoldingLayoutpos","isItemSameItemByLocation","item1","item2","location","item1Altitude","item1AltitudeUnit","item1Height","item1HeightUnit","item2Altitude","item2AltitudeUnit","item2Height","item2HeightUnit","flag","sameDistances","tryMergeMDItem","id","location_type","getItemGroupFromMolding","selectedItem","getIn","selected","toJS","temp_layer_items","toArray","filter","idx","push","tryMergeItemWithLocation","getAllMoldingGroups","itemGroups","forEach","temp_items","it","ig","acquireID","lines","pointGroups","meshes","rot","pos","getLinesOfItem","catalog","outline","element","elements","newWidth","wUnit","newDepth","hUnit","info","outlinePaths","paths","outlineWidth","svgWidth","outlineHeight","svgHeight","outlinePoints","_iterator","_createForOfIteratorHelper","_step","s","n","done","path","value","_iterator2","subPaths","_step2","subPath","concat","getPoints","err","e","f","reverse","i","rotatePointAroundPoint","line","isParallelLines","line1","line2","isParallel","isLinesOverlapped","l1","l2","samePoints","mergeOverlappedLines","line1_idx","line2_idx","idx1","idx2","getLinesFromItems2","moldingGroup","MGlines","MGlinesOtherSnapped","_toConsumableArray","itemsOtherSnapped","itemLines","itemAltitude","itemAltitudeUnit","itemHeight","itemHeightUnit","altitude","height","itLine","ret","srcLine","j","bCheck","destLine","rst","relationshipOfTwoOverlappedLines","removeLineIds","newLines","_loop","_loop3","lineSegs","getTrimmedContourLineSegs","trimmedSegs","v","_ret2","newMGlines","filteredMGlines","_loop2","_i2","mergedResult","getMergedLine","mergedLine","_ret","mergeResult","_loop4","linkedLine","otherLines","cnt","returnSegs","bContourSeg","_loop5","tLineSegs","_ret3","console","log","getLinesFromItems","_loop6","temp_MGLines","findIndex","itemLine","curItemLine","MGLine","splice","snapped_other_items","mgroupAltitude","mgroupAltitudeUnit","mgroupHeight","mgroupHeightUnit","mgl","itl","curITL","getMDPoints","newMD","_objectSpread","maxX","minX","maxY","minY","cPos","newSize","size","width","depth","MDlines","_loop7","Vector2","lastPoint","res","newPos","firstPoint","z","zUnit","heightUnit","createMonldingGroup","oldMG","newMG"],"sources":["../../src/utils/molding.js"],"sourcesContent":["import {\n BASE_CABINET_LAYOUTPOS,\n BOTTOM_MOLDING_LOCATION,\n EPSILON,\n MIDDLE_MOLDING_LOCATION,\n MOLDING_LOCATIONS,\n OVERLAP_INCLUDED,\n OVERLAP_LINK,\n OVERLAP_SAME,\n OVERLAP_SOME,\n TALL_CABINET_LAYOUTPOS,\n TOP_MOLDING_LOCATION,\n WALL_CABINET_LAYOUTPOS\n} from '../constants';\nimport * as Three from 'three';\nimport convert from 'convert-units';\nimport IDBroker from './id-broker';\nimport { returnReplaceableDeepSearchType } from '../components/viewer2d/utils';\nimport { GeometryUtils } from './export';\nimport { isEmpty } from './helper';\n\nexport function getItemRect(item) {\n let x = item.x;\n let y = item.y;\n let rotRad = (item.rotation / 180) * Math.PI;\n let itemWidth = item.properties.get('width').get('_length');\n let itemWidthUnit = item.properties.get('width').get('_unit') || 'cm';\n itemWidth = convert(itemWidth / 2)\n .from(itemWidthUnit)\n .to('cm');\n let itemDepth = item.properties.get('depth').get('_length');\n let itemDepthUnit = item.properties.get('depth').get('_unit') || 'cm';\n itemDepth = convert(itemDepth / 2)\n .from(itemDepthUnit)\n .to('cm');\n let mx = x - itemWidth * Math.cos(rotRad);\n let my = y - itemWidth * Math.sin(rotRad);\n let x0 = mx + itemDepth * Math.sin(rotRad);\n let y0 = my - itemDepth * Math.cos(rotRad);\n let x3 = mx * 2 - x0;\n let y3 = my * 2 - y0;\n let x1 = x * 2 - x3;\n let y1 = y * 2 - y3;\n let x2 = x * 2 - x0;\n let y2 = y * 2 - y0;\n return {\n rect: [\n { x: x0, y: y0 },\n { x: x1, y: y1 },\n { x: x2, y: y2 },\n { x: x3, y: y3 }\n ]\n };\n}\n\nexport function hasMoldingLayout(molding, layoutpos) {\n const types = molding?.molding_type;\n return (\n (Array.isArray(types) || typeof types === 'string') &&\n types.includes(layoutpos)\n );\n}\n\nexport function isEnableItemForMolding(layer, selItem, molding = null) {\n let allLineRects = GeometryUtils.buildRectFromLines(\n layer,\n GeometryUtils.getAllLines(layer)\n );\n let result =\n !isEmpty(selItem) &&\n selItem.category === 'cabinet' &&\n ((selItem.layoutpos === BASE_CABINET_LAYOUTPOS &&\n !GeometryUtils.isSnappedLine(getItemRect(selItem), allLineRects)) ||\n ((selItem.layoutpos === WALL_CABINET_LAYOUTPOS ||\n selItem.layoutpos === TALL_CABINET_LAYOUTPOS) &&\n GeometryUtils.isSnappedLine(getItemRect(selItem), allLineRects)));\n\n // check this item is enable for any molding\n if (isEmpty(molding)) return result;\n // check this item is enable for specified molding\n else return result && hasMoldingLayout(molding, selItem.layoutpos);\n}\n\n/**\n * Check two line segments are overlap. The direction of the two line segments must be opposite.\n * s1 c2 s2 c1\n * |--------|------|-----------|\n * Decision Formular: L(s1,c1) + L(s2, c2) = L(s1, s2) + L(c1, c2)\n * @param {*} selRectPos1\n * @param {*} selRectPos2\n * @param {*} curRectPos1\n * @param {*} curRectPos2\n * @returns L(s1,c1) + L(s2, c2) - L(s1, s2) - L(c1, c2)\n */\nfunction getDelta(selRectPos1, selRectPos2, curRectPos1, curRectPos2) {\n return (\n // GeometryUtils.verticesDistance(curRectPos1, selRectPos2) +\n // GeometryUtils.verticesDistance(selRectPos1, curRectPos2) -\n // Math.abs(\n // GeometryUtils.verticesDistance(curRectPos2, curRectPos1) -\n // GeometryUtils.verticesDistance(selRectPos1, selRectPos2)\n // )\n Math.abs(\n GeometryUtils.verticesDistance(curRectPos1, selRectPos1) +\n GeometryUtils.verticesDistance(selRectPos2, curRectPos2) -\n GeometryUtils.verticesDistance(curRectPos2, curRectPos1) -\n GeometryUtils.verticesDistance(selRectPos1, selRectPos2)\n )\n );\n}\n\nexport function isItemSnappedItem(selItem, curItem) {\n const selRect = getItemRect(selItem).rect;\n const curRect = getItemRect(curItem).rect;\n const flag30 =\n getDelta(selRect[3], selRect[0], curRect[1], curRect[2]) < EPSILON;\n const flag21 =\n getDelta(selRect[2], selRect[1], curRect[0], curRect[3]) < EPSILON;\n const flag23 =\n getDelta(selRect[2], selRect[3], curRect[2], curRect[3]) < EPSILON;\n const flag01 =\n getDelta(selRect[1], selRect[0], curRect[0], curRect[3]) < EPSILON;\n const flag03 =\n getDelta(selRect[0], selRect[3], curRect[1], curRect[0]) < EPSILON;\n return flag30 || flag21 || flag23 || flag01 || flag03;\n}\n\nexport function isItemSnappedGroup(selItem, itemGroup) {\n return itemGroup.some(curItem => isItemSnappedItem(selItem, curItem));\n}\n\nexport function sortItemsByDistance(items, selItem) {\n items.sort((a, b) => {\n return (\n GeometryUtils.pointsDistance(a.x, a.y, selItem.x, selItem.y) -\n GeometryUtils.pointsDistance(b.x, b.y, selItem.x, selItem.y)\n );\n });\n return items;\n}\n\nexport function isSameMoldingLayoutpos(curItem, item) {\n return (\n (curItem.layoutpos === BASE_CABINET_LAYOUTPOS &&\n curItem.layoutpos === item.layoutpos) ||\n ([WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS].includes(\n curItem.layoutpos\n ) &&\n [WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS].includes(item.layoutpos))\n );\n}\n\nexport function isItemSameItemByLocation(item1, item2, location) {\n let item1Altitude = item1.properties.get('altitude').get('_length');\n let item1AltitudeUnit = item1.properties.get('altitude').get('_unit');\n item1Altitude = convert(item1Altitude).from(item1AltitudeUnit).to('cm');\n let item1Height = item1.properties.get('height').get('_length');\n let item1HeightUnit = item1.properties.get('height').get('_unit');\n item1Height = convert(item1Height).from(item1HeightUnit).to('cm');\n let item2Altitude = item2.properties.get('altitude').get('_length');\n let item2AltitudeUnit = item2.properties.get('altitude').get('_unit');\n item2Altitude = convert(item2Altitude).from(item2AltitudeUnit).to('cm');\n let item2Height = item2.properties.get('height').get('_length');\n let item2HeightUnit = item2.properties.get('height').get('_unit');\n item2Height = convert(item2Height).from(item2HeightUnit).to('cm');\n let flag = false;\n switch (location) {\n case TOP_MOLDING_LOCATION:\n if (\n GeometryUtils.sameDistances(\n item1Altitude + item1Height,\n item2Altitude + item2Height\n )\n )\n flag = true;\n break;\n case MIDDLE_MOLDING_LOCATION:\n if (\n GeometryUtils.sameDistances(\n item1Altitude + item1Height / 2,\n item2Altitude + item2Height / 2\n )\n )\n flag = true;\n break;\n case BOTTOM_MOLDING_LOCATION:\n if (GeometryUtils.sameDistances(item1Altitude, item2Altitude))\n flag = true;\n break;\n }\n return flag;\n}\n\nexport function tryMergeMDItem(layer, selItem, curItem, itemGroup, molding) {\n return (\n isSameMoldingLayoutpos(selItem, curItem) &&\n isEnableItemForMolding(layer, curItem, molding) &&\n isItemSnappedGroup(curItem, itemGroup) &&\n !itemGroup.some(item => item.id === curItem.id) &&\n isItemSameItemByLocation(selItem, curItem, molding.location_type)\n );\n}\n\nexport function getItemGroupFromMolding(layer, curItem, molding) {\n const selectedItem = layer.getIn(['items', layer.selected.toJS().items[0]]);\n let itemGroup = [curItem];\n let temp_layer_items = layer.items.toArray().filter(item => {\n return (\n item.category === 'cabinet' &&\n item.id !== curItem.id &&\n item.id !== selectedItem?.id\n );\n });\n temp_layer_items = sortItemsByDistance(temp_layer_items, curItem);\n for (let idx = 0; idx < temp_layer_items.length; idx++) {\n if (\n tryMergeMDItem(layer, curItem, temp_layer_items[idx], itemGroup, molding)\n ) {\n itemGroup.push(temp_layer_items[idx]);\n idx = 0;\n }\n }\n return itemGroup;\n}\n\nfunction tryMergeItemWithLocation(curItem, itemGroup, location) {\n return itemGroup.some(item => {\n return (\n isItemSnappedItem(curItem, item) &&\n isItemSameItemByLocation(curItem, item, location)\n );\n });\n}\n\nexport function getAllMoldingGroups(layer, items = null) {\n if (items === null) items = layer.items.toArray();\n let itemGroups = [];\n items.forEach(curItem => {\n // let allLineRects = GeometryUtils.buildRectFromLines(\n // layer,\n // GeometryUtils.getAllLines(layer)\n // );\n // if (\n // (curItem.category === 'cabinet' &&\n // curItem.layoutpos === BASE_CABINET_LAYOUTPOS &&\n // !GeometryUtils.isSnappedLine(getItemRect(curItem), allLineRects)) ||\n // ((curItem.layoutpos === WALL_CABINET_LAYOUTPOS ||\n // curItem.layoutpos === TALL_CABINET_LAYOUTPOS) &&\n // GeometryUtils.isSnappedLine(getItemRect(curItem), allLineRects))\n // ) {\n if (curItem.category === 'cabinet') {\n let temp_items = items.filter(it => {\n return (\n it.category === 'cabinet' &&\n isSameMoldingLayoutpos(curItem, it) &&\n it.id !== curItem.id\n );\n });\n temp_items = sortItemsByDistance(temp_items, curItem);\n MOLDING_LOCATIONS.forEach(location => {\n if (\n !itemGroups.some(\n ig =>\n ig.items.some(it => it.id === curItem.id) &&\n ig.location_type === location\n )\n ) {\n let itemGroup = [curItem];\n for (let idx = 0; idx < temp_items.length; idx++) {\n if (\n tryMergeItemWithLocation(temp_items[idx], itemGroup, location)\n ) {\n itemGroup.push(temp_items[idx]);\n }\n }\n itemGroups.push({\n id: IDBroker.acquireID(),\n items: itemGroup,\n location_type: location,\n molding: null,\n lines: null,\n pointGroups: null,\n meshes: [],\n rot: 0,\n pos: 0\n });\n }\n });\n }\n // }\n });\n return itemGroups;\n}\n\nexport function getLinesOfItem(item, allLineRects, catalog) {\n let lines = [];\n let outline = null;\n let element = catalog.elements[item.get('type')];\n if (!element)\n element =\n catalog.elements[returnReplaceableDeepSearchType(item.get('type'))];\n // get edge lines\n let newWidth = item.properties.get('width').get('_length');\n let wUnit = item.properties.get('width').get('_unit') || 'cm';\n newWidth = convert(newWidth).from(wUnit).to('cm');\n let newDepth = item.properties.get('depth').get('_length');\n let hUnit = item.properties.get('depth').get('_unit') || 'cm';\n newDepth = convert(newDepth).from(hUnit).to('cm');\n if (item) {\n // Get Outline Data of Selected Item\n outline = element.info.outline;\n\n if (outline) {\n // Extract Points from `outline`\n var outlinePaths = outline.paths;\n var outlineWidth = outline.svgWidth;\n var outlineHeight = outline.svgHeight;\n var outlinePoints = []; // Hold Points Of SVG\n for (let path of outlinePaths) {\n for (let subPath of path.subPaths) {\n outlinePoints = outlinePoints.concat(subPath.getPoints());\n }\n }\n outline.reverse && outlinePoints.reverse();\n for (let i = 0; i < outlinePoints.length - 1; i++) {\n lines.push([\n GeometryUtils.rotatePointAroundPoint(\n (outlinePoints[i].x / outlineWidth - 0.5) * newWidth + item.x,\n (outlinePoints[i].y / outlineHeight - 0.5) * newDepth + item.y,\n item.x,\n item.y,\n item.rotation + 90\n ),\n GeometryUtils.rotatePointAroundPoint(\n (outlinePoints[i + 1].x / outlineWidth - 0.5) * newWidth + item.x,\n (outlinePoints[i + 1].y / outlineHeight - 0.5) * newDepth + item.y,\n item.x,\n item.y,\n item.rotation + 90\n ),\n IDBroker.acquireID()\n ]);\n }\n } else {\n let pos = [\n [-1, -1],\n [1, -1],\n [1, 1],\n [-1, 1]\n ];\n for (let i = 0; i < 4; i++) {\n lines.push([\n GeometryUtils.rotatePointAroundPoint(\n (pos[i][0] * newWidth) / 2 + item.x,\n (pos[i][1] * newDepth) / 2 + item.y,\n item.x,\n item.y,\n item.rotation\n ),\n GeometryUtils.rotatePointAroundPoint(\n (pos[(i + 1) % 4][0] * newWidth) / 2 + item.x,\n (pos[(i + 1) % 4][1] * newDepth) / 2 + item.y,\n item.x,\n item.y,\n item.rotation\n ),\n IDBroker.acquireID()\n ]);\n }\n }\n }\n if (item.layoutpos !== BASE_CABINET_LAYOUTPOS) {\n lines = lines.filter(\n line =>\n !GeometryUtils.isSnappedLine(\n { rect: [{ x: 0, y: 0 }, { x: 0, y: 0 }, line[0], line[1]] },\n allLineRects\n )\n );\n }\n return lines;\n}\n\nfunction isParallelLines(line1, line2) {\n let isParallel = false;\n if (\n Math.abs(line1[0].y - line1[1].y) <= EPSILON &&\n Math.abs(line2[0].y - line2[1].y) <= EPSILON\n )\n isParallel = true;\n if (\n Math.abs(line1[0].x - line1[1].x) <= EPSILON &&\n Math.abs(line2[0].x - line2[1].x) <= EPSILON\n )\n isParallel = true;\n if (\n Math.abs(\n (line1[0].x - line1[1].x) / (line1[0].y - line1[1].y) -\n (line2[0].x - line2[1].x) / (line2[0].y - line2[1].y)\n ) <= EPSILON\n )\n isParallel = true;\n if (isParallel) {\n return true;\n }\n return false;\n}\n\nexport function isLinesOverlapped(line1, line2) {\n return (\n isParallelLines(line1, line2) &&\n line1.some(l1 => line2.some(l2 => GeometryUtils.samePoints(l1, l2)))\n );\n}\n\nexport function mergeOverlappedLines(line1, line2) {\n let line1_idx = 0,\n line2_idx = 0;\n line1.forEach((l1, idx1) => {\n if (idx1 !== line1.length - 1) {\n line2.forEach((l2, idx2) => {\n if (idx2 !== line2.length - 1) {\n if (GeometryUtils.samePoints(l1, l2)) {\n line1_idx = idx1;\n line2_idx = idx2;\n }\n }\n });\n }\n });\n //If line1 's end point and line2 's start point is same, two lines merge into a line with\n //the line1's start point as the start point and line2's end point as the end point.\n if (line1_idx === 1) {\n return [line1[1 - line1_idx], line2[1 - line2_idx], IDBroker.acquireID()];\n } else {\n return [line2[1 - line2_idx], line1[1 - line1_idx], IDBroker.acquireID()];\n }\n}\n\n/**\n * Get the contour line array of moldingGroup items\n * @param {*} moldingGroup\n * @param {*} layer\n * @param {*} catalog\n * @returns contour line array of moldingGroup items\n */\nexport function getLinesFromItems2(moldingGroup, layer, catalog) {\n // wall lines\n let allLineRects = GeometryUtils.buildRectFromLines(\n layer,\n GeometryUtils.getAllLines(layer)\n );\n let MGlines = [];\n let MGlinesOtherSnapped = [];\n\n let items = [...moldingGroup.items];\n // The other item's lines (these items are snapped to the moldingGroup items)\n let itemsOtherSnapped = layer.items.toArray().filter(item => {\n if (items.some(it => item.id === it.id)) return false;\n if (isItemSnappedGroup(item, items)) {\n const itemLines = getLinesOfItem(item, allLineRects, catalog);\n let itemAltitude = item.properties.get('altitude').get('_length');\n let itemAltitudeUnit = item.properties.get('altitude').get('_unit');\n itemAltitude = convert(itemAltitude).from(itemAltitudeUnit).to('cm');\n let itemHeight = item.properties.get('height').get('_length');\n let itemHeightUnit = item.properties.get('height').get('_unit');\n itemHeight = convert(itemHeight).from(itemHeightUnit).to('cm');\n itemLines.forEach(line => {\n line.push({ altitude: itemAltitude, height: itemHeight });\n });\n MGlinesOtherSnapped = [...MGlinesOtherSnapped, ...itemLines];\n return true;\n } else return false;\n });\n\n // get all lines of moldingGroup items\n items.forEach(item => {\n let itemAltitude = item.properties.get('altitude').get('_length');\n let itemAltitudeUnit = item.properties.get('altitude').get('_unit');\n itemAltitude = convert(itemAltitude).from(itemAltitudeUnit).to('cm');\n let itemHeight = item.properties.get('height').get('_length');\n let itemHeightUnit = item.properties.get('height').get('_unit');\n itemHeight = convert(itemHeight).from(itemHeightUnit).to('cm');\n\n let itemLines = getLinesOfItem(item, allLineRects, catalog);\n\n // remove the edge that overlapped with other snapped items\n itemLines = itemLines.filter(itLine => {\n let ret = true;\n const srcLine = {\n x1: itLine[0].x,\n y1: itLine[0].y,\n x2: itLine[1].x,\n y2: itLine[1].y\n };\n for (let j = 0; j < MGlinesOtherSnapped.length; j++) {\n let bCheck = false;\n switch (moldingGroup.location_type) {\n case TOP_MOLDING_LOCATION:\n bCheck =\n MGlinesOtherSnapped[j][3].altitude +\n MGlinesOtherSnapped[j][3].height >\n itemAltitude + itemHeight;\n break;\n case MIDDLE_MOLDING_LOCATION:\n bCheck = true;\n break;\n case BOTTOM_MOLDING_LOCATION:\n bCheck = MGlinesOtherSnapped[j][3].altitude < itemAltitude;\n break;\n }\n if (\n item.category !== 'cabinet' ||\n ![\n BASE_CABINET_LAYOUTPOS,\n WALL_CABINET_LAYOUTPOS,\n TALL_CABINET_LAYOUTPOS\n ].includes(item.layoutpos)\n )\n bCheck = true;\n if (bCheck) {\n const destLine = {\n x1: MGlinesOtherSnapped[j][0].x,\n y1: MGlinesOtherSnapped[j][0].y,\n x2: MGlinesOtherSnapped[j][1].x,\n y2: MGlinesOtherSnapped[j][1].y\n };\n const rst = GeometryUtils.relationshipOfTwoOverlappedLines(\n srcLine,\n destLine\n );\n if (rst.result === OVERLAP_SAME || rst.result === OVERLAP_INCLUDED) {\n ret = false;\n break;\n }\n }\n }\n return ret;\n });\n MGlines = [...MGlines, ...itemLines];\n });\n\n // Filtering overlapped edges and get contour edges\n let removeLineIds = []; // remove the edge that fully overlapped to other edge\n let newLines = []; // new countour edge segment that except the overlapped part\n for (let i = 0; i < MGlines.length; i++) {\n const srcLine = {\n x1: MGlines[i][0].x,\n y1: MGlines[i][0].y,\n x2: MGlines[i][1].x,\n y2: MGlines[i][1].y\n };\n for (let j = 0; j < MGlines.length; j++) {\n if (i === j) continue;\n const destLine = {\n x1: MGlines[j][0].x,\n y1: MGlines[j][0].y,\n x2: MGlines[j][1].x,\n y2: MGlines[j][1].y\n };\n const rst = GeometryUtils.relationshipOfTwoOverlappedLines(\n srcLine,\n destLine\n );\n if (rst.result === OVERLAP_SAME || rst.result === OVERLAP_INCLUDED) {\n removeLineIds.push(i);\n break;\n } else if (rst.result === OVERLAP_SOME) {\n removeLineIds.push(i);\n const lineSegs = getTrimmedContourLineSegs(\n rst.trimmedSegs,\n MGlines.filter((v, idx) => idx !== i && idx !== j),\n 0\n );\n if (lineSegs.length > 0) newLines = [...newLines, ...lineSegs];\n break;\n }\n }\n }\n\n MGlines = MGlines.filter(\n (line, idx) => !removeLineIds.some(id => idx === id)\n );\n if (newLines.length > 0) MGlines = [...MGlines, ...newLines];\n\n // merge the collinear linked lines to one line\n let newMGlines = [];\n let filteredMGlines = MGlines;\n for (let i = 0; i < MGlines.length; i++) {\n if (filteredMGlines.length < 1) break;\n if (!filteredMGlines.some(v => v[2] === MGlines[i][2])) continue;\n let mergedResult = getMergedLine(MGlines[i], filteredMGlines);\n newMGlines.push(mergedResult.mergedLine);\n filteredMGlines = mergedResult.filteredMGlines;\n }\n\n return newMGlines;\n}\n\n/**\n * Get the line that colinear linked with [line], and merge them to a new line\n * @param {*} line\n * @param {*} MGlines\n * @returns\n * - returns merged new line\n * - returns filtered new line group (remove linked line from [MGlines])\n */\nfunction getMergedLine(line, MGlines) {\n let newMGlines = MGlines.filter(v => line[2] !== v[2]);\n let mergeResult = {\n mergedLine: line,\n filteredMGlines: newMGlines\n };\n const srcLine = {\n x1: line[0].x,\n y1: line[0].y,\n x2: line[1].x,\n y2: line[1].y\n };\n for (let i = 0; i < newMGlines.length; i++) {\n const destLine = {\n x1: newMGlines[i][0].x,\n y1: newMGlines[i][0].y,\n x2: newMGlines[i][1].x,\n y2: newMGlines[i][1].y\n };\n const rst = GeometryUtils.relationshipOfTwoOverlappedLines(\n srcLine,\n destLine\n );\n if (rst.result === OVERLAP_LINK) {\n let mergedLine = [\n { x: rst.linkedLine.x1, y: rst.linkedLine.y1 },\n { x: rst.linkedLine.x2, y: rst.linkedLine.y2 },\n IDBroker.acquireID()\n ];\n mergeResult = getMergedLine(\n mergedLine,\n newMGlines.filter((v, idx) => idx !== i)\n );\n }\n }\n return mergeResult;\n}\n\n/**\n * Get the contour line segments from [lineSegs]\n * @param {*} lineSegs\n * @param {*} otherLines\n * @returns\n */\nfunction getTrimmedContourLineSegs(lineSegs, otherLines, cnt) {\n try {\n cnt++;\n if (cnt > 5000) return [];\n let returnSegs = [];\n for (let i = 0; i < lineSegs.length; i++) {\n const srcLine = {\n x1: lineSegs[i].x1,\n y1: lineSegs[i].y1,\n x2: lineSegs[i].x2,\n y2: lineSegs[i].y2\n };\n let bContourSeg = true;\n for (let j = 0; j < otherLines.length; j++) {\n const destLine = {\n x1: otherLines[j][0].x,\n y1: otherLines[j][0].y,\n x2: otherLines[j][1].x,\n y2: otherLines[j][1].y\n };\n const rst = GeometryUtils.relationshipOfTwoOverlappedLines(\n srcLine,\n destLine\n );\n if (rst.result == OVERLAP_SAME || rst.result == OVERLAP_INCLUDED) {\n bContourSeg = false;\n break;\n } else if (rst.result == OVERLAP_SOME) {\n const tLineSegs = getTrimmedContourLineSegs(\n rst.trimmedSegs,\n otherLines.filter((v, idx) => idx !== j),\n cnt\n );\n if (tLineSegs.length > 0) returnSegs = [...returnSegs, ...tLineSegs];\n bContourSeg = false;\n break;\n }\n }\n if (bContourSeg)\n returnSegs.push([\n { x: lineSegs[i].x1, y: lineSegs[i].y1 },\n { x: lineSegs[i].x2, y: lineSegs[i].y2 },\n IDBroker.acquireID()\n ]);\n }\n return returnSegs;\n } catch (e) {\n console.log('molding catched :', e);\n return [];\n }\n}\n\nexport function getLinesFromItems(moldingGroup, layer, catalog) {\n let allLineRects = GeometryUtils.buildRectFromLines(\n layer,\n GeometryUtils.getAllLines(layer)\n );\n let items = [...moldingGroup.items];\n let MGlines = getLinesOfItem(items[0], allLineRects, catalog);\n items = sortItemsByDistance(items, items[0]);\n for (let i = 1; i < items.length; i++) {\n let itemLines = getLinesOfItem(items[i], allLineRects, catalog);\n let temp_MGLines = [];\n MGlines.forEach(line => {\n let idx = itemLines.findIndex(itemLine =>\n isLinesOverlapped(line, itemLine)\n );\n const curItemLine = itemLines[idx];\n if (idx > -1) {\n if (\n !(\n (GeometryUtils.samePoints(line[0], curItemLine[0]) &&\n GeometryUtils.samePoints(line[1], curItemLine[1])) ||\n (GeometryUtils.samePoints(line[0], curItemLine[1]) &&\n GeometryUtils.samePoints(line[1], curItemLine[0]))\n )\n ) {\n let MGLine = mergeOverlappedLines(line, curItemLine);\n temp_MGLines.push(MGLine);\n }\n itemLines.splice(idx, 1);\n } else {\n temp_MGLines.push(line);\n }\n });\n itemLines.forEach(itemLine => temp_MGLines.push(itemLine));\n MGlines = [...temp_MGLines];\n }\n // return MGlines;\n let snapped_other_items = layer.items.toArray().filter(item => {\n if (items.some(it => item.id === it.id)) return false;\n return isItemSnappedGroup(item, items);\n });\n snapped_other_items.forEach(item => {\n let itemAltitude = item.properties.get('altitude').get('_length');\n let itemAltitudeUnit = item.properties.get('altitude').get('_unit');\n itemAltitude = convert(itemAltitude).from(itemAltitudeUnit).to('cm');\n let itemHeight = item.properties.get('height').get('_length');\n let itemHeightUnit = item.properties.get('height').get('_unit');\n itemHeight = convert(itemHeight).from(itemHeightUnit).to('cm');\n let mgroupAltitude = items[0].properties.get('altitude').get('_length');\n let mgroupAltitudeUnit = items[0].properties.get('altitude').get('_unit');\n mgroupAltitude = convert(mgroupAltitude).from(mgroupAltitudeUnit).to('cm');\n let mgroupHeight = items[0].properties.get('height').get('_length');\n let mgroupHeightUnit = items[0].properties.get('height').get('_unit');\n mgroupHeight = convert(mgroupHeight).from(mgroupHeightUnit).to('cm');\n let flag = false;\n switch (moldingGroup.location_type) {\n case TOP_MOLDING_LOCATION:\n flag = itemAltitude + itemHeight > mgroupAltitude + mgroupHeight;\n break;\n case MIDDLE_MOLDING_LOCATION:\n flag = true;\n break;\n case BOTTOM_MOLDING_LOCATION:\n flag = itemAltitude < mgroupAltitude;\n break;\n }\n if (\n item.category !== 'cabinet' ||\n ![\n BASE_CABINET_LAYOUTPOS,\n WALL_CABINET_LAYOUTPOS,\n TALL_CABINET_LAYOUTPOS\n ].includes(item.layoutpos)\n )\n flag = true;\n if (flag) {\n let itemLines = getLinesOfItem(item, allLineRects, catalog);\n let temp_MGLines = [];\n MGlines.forEach(mgl => {\n let idx = itemLines.findIndex(itl => isLinesOverlapped(mgl, itl));\n const curITL = itemLines[idx];\n if (idx > -1) {\n if (\n getDelta(mgl[0], mgl[1], curITL[1], curITL[0]) < EPSILON ||\n getDelta(mgl[0], mgl[1], curITL[0], curITL[1]) < EPSILON\n ) {\n if (\n GeometryUtils.verticesDistance(mgl[0], mgl[1]) >\n GeometryUtils.verticesDistance(curITL[0], curITL[1])\n ) {\n let MGLine = mergeOverlappedLines(mgl, curITL);\n temp_MGLines.push(MGLine);\n }\n itemLines.splice(idx, 1);\n } else {\n temp_MGLines.push(mgl);\n }\n } else {\n temp_MGLines.push(mgl);\n }\n });\n MGlines = [...temp_MGLines];\n }\n });\n return MGlines;\n}\n\nfunction getMDPoints(newMD) {\n if (newMD.lines.length < 1)\n return {\n ...newMD,\n pointGroups: []\n };\n // let maxX = newMD.lines[0][0].x,\n let maxX = newMD.lines[0][0].x,\n minX = newMD.lines[0][0].x;\n let maxY = newMD.lines[0][0].y,\n minY = newMD.lines[0][0].y;\n\n newMD.lines.forEach(line => {\n if (line[0].x > maxX) {\n maxX = line[0].x;\n }\n if (line[0].x < minX) {\n minX = line[0].x;\n }\n if (line[1].x > maxX) {\n maxX = line[1].x;\n }\n if (line[1].x < minX) {\n minX = line[1].x;\n }\n if (line[0].y > maxY) {\n maxY = line[0].y;\n }\n if (line[0].y < minY) {\n minY = line[0].y;\n }\n if (line[1].y > maxY) {\n maxY = line[1].y;\n }\n if (line[1].y < minY) {\n minY = line[1].y;\n }\n });\n\n let cPos = {\n x: (maxX + minX) / 2,\n y: (maxY + minY) / 2\n };\n\n let newSize = { ...newMD.size, width: maxX - minX, depth: maxY - minY };\n\n // get vertex points\n let MDlines = [...newMD.lines];\n let pointGroups = [[]];\n let flag = 1;\n let i = 0;\n while (MDlines.length !== 0) {\n if (pointGroups[i].length === 0) {\n pointGroups[i].push(\n new Three.Vector2(MDlines[0][0].x - cPos.x, MDlines[0][0].y - cPos.y),\n new Three.Vector2(MDlines[0][1].x - cPos.x, MDlines[0][1].y - cPos.y)\n );\n MDlines.splice(0, 1);\n } else {\n if (flag) {\n let lastPoint = pointGroups[i][pointGroups[i].length - 1];\n let res = MDlines.findIndex(\n a =>\n GeometryUtils.samePoints(\n { x: a[0].x - cPos.x, y: a[0].y - cPos.y },\n lastPoint\n ) ||\n GeometryUtils.samePoints(\n { x: a[1].x - cPos.x, y: a[1].y - cPos.y },\n lastPoint\n )\n );\n if (res > -1) {\n let newPos = {\n x: MDlines[res][0].x - cPos.x,\n y: MDlines[res][0].y - cPos.y\n };\n if (GeometryUtils.samePoints(newPos, lastPoint)) {\n newPos = {\n x: MDlines[res][1].x - cPos.x,\n y: MDlines[res][1].y - cPos.y\n };\n }\n pointGroups[i].push(new Three.Vector2(newPos.x, newPos.y));\n MDlines.splice(res, 1);\n } else {\n flag = 0;\n }\n } else {\n let firstPoint = pointGroups[i][0];\n let res = MDlines.findIndex(\n a =>\n GeometryUtils.samePoints(\n { x: a[0].x - cPos.x, y: a[0].y - cPos.y },\n firstPoint\n ) ||\n GeometryUtils.samePoints(\n { x: a[1].x - cPos.x, y: a[1].y - cPos.y },\n firstPoint\n )\n );\n if (res > -1) {\n let newPos = {\n x: MDlines[res][0].x - cPos.x,\n y: MDlines[res][0].y - cPos.y\n };\n if (GeometryUtils.samePoints(newPos, firstPoint)) {\n newPos = {\n x: MDlines[res][1].x - cPos.x,\n y: MDlines[res][1].y - cPos.y\n };\n }\n pointGroups[i] = [\n new Three.Vector2(newPos.x, newPos.y),\n ...pointGroups[i]\n ];\n MDlines.splice(res, 1);\n } else {\n flag = 1;\n i++;\n if (MDlines.length !== 0) pointGroups.push([]);\n }\n }\n }\n }\n\n let z = newMD.items[0].properties.get('altitude').get('_length');\n let zUnit = newMD.items[0].properties.get('altitude').get('_unit') || 'cm';\n z = convert(z).from(zUnit).to('cm');\n let height = newMD.items[0].properties.get('height').get('_length');\n let heightUnit = newMD.items[0].properties.get('height').get('_unit') || 'cm';\n height = convert(height).from(heightUnit).to('cm');\n\n switch (newMD.location_type) {\n case TOP_MOLDING_LOCATION:\n z += height;\n break;\n case MIDDLE_MOLDING_LOCATION:\n z += height / 2;\n break;\n case BOTTOM_MOLDING_LOCATION:\n z += 0;\n break;\n default:\n break;\n }\n\n return {\n ...newMD,\n pointGroups,\n pos: { ...cPos, z: z },\n size: newSize\n };\n}\n\nexport function createMonldingGroup(oldMG, layer, molding, catalog) {\n let newMG = { ...oldMG };\n newMG.molding = molding;\n newMG.lines = getLinesFromItems2(oldMG, layer, catalog);\n newMG.lines.reverse();\n newMG = getMDPoints(newMG);\n return newMG;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
3
|
-
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
4
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
5
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
-
var NameGenerator = /*#__PURE__*/function () {
|
|
8
|
-
function NameGenerator() {
|
|
9
|
-
_classCallCheck(this, NameGenerator);
|
|
10
|
-
}
|
|
11
|
-
return _createClass(NameGenerator, null, [{
|
|
12
|
-
key: "generateName",
|
|
13
|
-
value: function generateName(prototype, type) {
|
|
14
|
-
return type.substr(0, 1).toUpperCase() + type.substr(1);
|
|
15
|
-
}
|
|
16
|
-
}]);
|
|
17
|
-
}();
|
|
18
|
-
export { NameGenerator as default };
|
|
19
|
-
//# sourceMappingURL=name-generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"name-generator.js","names":["NameGenerator","_classCallCheck","_createClass","key","value","generateName","prototype","type","substr","toUpperCase","default"],"sources":["../../src/utils/name-generator.js"],"sourcesContent":["export default class NameGenerator {\r\n static generateName(prototype, type) {\r\n return type.substr(0, 1).toUpperCase() + type.substr(1);\r\n }\r\n}\r\n"],"mappings":";;;;;;IAAqBA,aAAa;EAAA,SAAAA,cAAA;IAAAC,eAAA,OAAAD,aAAA;EAAA;EAAA,OAAAE,YAAA,CAAAF,aAAA;IAAAG,GAAA;IAAAC,KAAA,EAChC,SAAOC,YAAYA,CAACC,SAAS,EAAEC,IAAI,EAAE;MACnC,OAAOA,IAAI,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGF,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC;IACzD;EAAC;AAAA;AAAA,SAHkBR,aAAa,IAAAU,OAAA","ignoreList":[]}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
import * as Three from 'three';
|
|
3
|
-
String.prototype.isLeftPlaceholder = function () {
|
|
4
|
-
return this.match(/_L$|_L_\d$/) != null;
|
|
5
|
-
};
|
|
6
|
-
String.prototype.isRightPlaceholder = function () {
|
|
7
|
-
return this.match(/_R$|_R_\d$/) != null;
|
|
8
|
-
};
|
|
9
|
-
export function objectsMap(object, func) {
|
|
10
|
-
var mappedObject = {};
|
|
11
|
-
for (var key in object) {
|
|
12
|
-
mappedObject[key] = func(key, mappedObject[key]);
|
|
13
|
-
}
|
|
14
|
-
return mappedObject;
|
|
15
|
-
}
|
|
16
|
-
export function objectsCompare(x, y) {
|
|
17
|
-
if (x === y) return true;
|
|
18
|
-
if (!(x instanceof Object) || !(y instanceof Object)) return false;
|
|
19
|
-
if (x.constructor !== y.constructor) return false;
|
|
20
|
-
for (var p in x) {
|
|
21
|
-
if (!x.hasOwnProperty(p)) continue;
|
|
22
|
-
if (!y.hasOwnProperty(p)) return false;
|
|
23
|
-
if (x[p] === y[p]) continue;
|
|
24
|
-
if (_typeof(x[p]) !== 'object') return false;
|
|
25
|
-
if (!objectsCompare(x[p], y[p])) return false;
|
|
26
|
-
}
|
|
27
|
-
for (var _p in y) {
|
|
28
|
-
if (y.hasOwnProperty(_p) && !x.hasOwnProperty(_p)) return false;
|
|
29
|
-
}
|
|
30
|
-
return true;
|
|
31
|
-
}
|
|
32
|
-
export function getAllMeshes(objects) {
|
|
33
|
-
var meshes = [];
|
|
34
|
-
objects.forEach(function (object) {
|
|
35
|
-
if (!object) return;
|
|
36
|
-
object.traverse(function (o) {
|
|
37
|
-
if (o.isMesh && o.geometry) {
|
|
38
|
-
meshes.push(o);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
return meshes;
|
|
43
|
-
}
|
|
44
|
-
export function vectorIntersectWithMesh(origin, target) {
|
|
45
|
-
var vectorDir = new Three.Vector3(origin.x, origin.y - 1000, origin.z);
|
|
46
|
-
var ray = new Three.Raycaster();
|
|
47
|
-
ray.set(origin, vectorDir);
|
|
48
|
-
var intersects = ray.intersectObject(target, true);
|
|
49
|
-
return intersects.length > 0;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=objects-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objects-utils.js","names":["Three","String","prototype","isLeftPlaceholder","match","isRightPlaceholder","objectsMap","object","func","mappedObject","key","objectsCompare","x","y","Object","constructor","p","hasOwnProperty","_typeof","getAllMeshes","objects","meshes","forEach","traverse","o","isMesh","geometry","push","vectorIntersectWithMesh","origin","target","vectorDir","Vector3","z","ray","Raycaster","set","intersects","intersectObject","length"],"sources":["../../src/utils/objects-utils.js"],"sourcesContent":["import * as Three from 'three';\r\nString.prototype.isLeftPlaceholder = function () {\r\n return this.match(/_L$|_L_\\d$/) != null;\r\n};\r\n\r\nString.prototype.isRightPlaceholder = function () {\r\n return this.match(/_R$|_R_\\d$/) != null;\r\n};\r\n\r\nexport function objectsMap(object, func) {\r\n let mappedObject = {};\r\n for (let key in object) {\r\n mappedObject[key] = func(key, mappedObject[key]);\r\n }\r\n return mappedObject;\r\n}\r\n\r\nexport function objectsCompare(x, y) {\r\n if (x === y) return true;\r\n if (!(x instanceof Object) || !(y instanceof Object)) return false;\r\n if (x.constructor !== y.constructor) return false;\r\n\r\n for (let p in x) {\r\n if (!x.hasOwnProperty(p)) continue;\r\n if (!y.hasOwnProperty(p)) return false;\r\n if (x[p] === y[p]) continue;\r\n if (typeof x[p] !== 'object') return false;\r\n if (!objectsCompare(x[p], y[p])) return false;\r\n }\r\n\r\n for (let p in y) {\r\n if (y.hasOwnProperty(p) && !x.hasOwnProperty(p)) return false;\r\n }\r\n\r\n return true;\r\n}\r\nexport function getAllMeshes(objects) {\r\n const meshes = [];\r\n objects.forEach(object => {\r\n if (!object) return;\r\n object.traverse(o => {\r\n if (o.isMesh && o.geometry) {\r\n meshes.push(o);\r\n }\r\n });\r\n });\r\n return meshes;\r\n}\r\n\r\nexport function vectorIntersectWithMesh(origin, target) {\r\n const vectorDir = new Three.Vector3(origin.x, origin.y - 1000, origin.z);\r\n const ray = new Three.Raycaster();\r\n ray.set(origin, vectorDir);\r\n const intersects = ray.intersectObject(target, true);\r\n return intersects.length > 0;\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"phone-validator.js","names":["phoneValidation","phone","result","test","String","toLowerCase"],"sources":["../../src/utils/phone-validator.js"],"sourcesContent":["export let phoneValidation = phone => {\n const result = /^(\\+1\\s?)?(\\(?\\d{3}\\)?[\\s.-]?)?\\d{3}[\\s.-]?\\d{4}$/;\n return result.test(String(phone).toLowerCase());\n};\n"],"mappings":"AAAA,OAAO,IAAIA,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,KAAK,EAAI;EACpC,IAAMC,MAAM,GAAG,mDAAmD;EAClE,OAAOA,MAAM,CAACC,IAAI,CAACC,MAAM,CAACH,KAAK,CAAC,CAACI,WAAW,CAAC,CAAC,CAAC;AACjD,CAAC","ignoreList":[]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
-
export var buildCurrentCabinetObject = function buildCurrentCabinetObject(cabinet, texture) {
|
|
8
|
-
return {
|
|
9
|
-
type: cabinet.name,
|
|
10
|
-
// e.g. "B09"
|
|
11
|
-
name: cabinet.name,
|
|
12
|
-
category: cabinet.type,
|
|
13
|
-
// "cabinet"
|
|
14
|
-
doorStyle: _objectSpread({}, texture),
|
|
15
|
-
itemID: cabinet.itemID,
|
|
16
|
-
sku_number: cabinet.name
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=process-black-list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process-black-list.js","names":["buildCurrentCabinetObject","cabinet","texture","type","name","category","doorStyle","_objectSpread","itemID","sku_number"],"sources":["../../src/utils/process-black-list.js"],"sourcesContent":["export const buildCurrentCabinetObject = (cabinet, texture) => {\r\n return {\r\n type: cabinet.name, // e.g. \"B09\"\r\n name: cabinet.name,\r\n category: cabinet.type, // \"cabinet\"\r\n doorStyle: { ...texture },\r\n itemID: cabinet.itemID,\r\n sku_number: cabinet.name\r\n };\r\n};\r\n"],"mappings":";;;;;;AAAA,OAAO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,OAAO,EAAEC,OAAO,EAAK;EAC7D,OAAO;IACLC,IAAI,EAAEF,OAAO,CAACG,IAAI;IAAE;IACpBA,IAAI,EAAEH,OAAO,CAACG,IAAI;IAClBC,QAAQ,EAAEJ,OAAO,CAACE,IAAI;IAAE;IACxBG,SAAS,EAAAC,aAAA,KAAOL,OAAO,CAAE;IACzBM,MAAM,EAAEP,OAAO,CAACO,MAAM;IACtBC,UAAU,EAAER,OAAO,CAACG;EACtB,CAAC;AACH,CAAC","ignoreList":[]}
|
package/es/utils/react-if.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @return {null}
|
|
6
|
-
*/
|
|
7
|
-
export default function If(_ref) {
|
|
8
|
-
var condition = _ref.condition,
|
|
9
|
-
style = _ref.style,
|
|
10
|
-
children = _ref.children;
|
|
11
|
-
return condition ? Array.isArray(children) ? /*#__PURE__*/React.createElement("div", {
|
|
12
|
-
style: style
|
|
13
|
-
}, children) : children : null;
|
|
14
|
-
}
|
|
15
|
-
If.propTypes = {
|
|
16
|
-
condition: PropTypes.bool.isRequired,
|
|
17
|
-
style: PropTypes.object
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=react-if.js.map
|
package/es/utils/react-if.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-if.js","names":["React","PropTypes","If","_ref","condition","style","children","Array","isArray","createElement","propTypes","bool","isRequired","object"],"sources":["../../src/utils/react-if.jsx"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\n/**\r\n * @return {null}\r\n */\r\nexport default function If({ condition, style, children }) {\r\n return condition ? (\r\n Array.isArray(children) ? (\r\n <div style={style}>{children}</div>\r\n ) : (\r\n children\r\n )\r\n ) : null;\r\n}\r\n\r\nIf.propTypes = {\r\n condition: PropTypes.bool.isRequired,\r\n style: PropTypes.object\r\n};\r\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;;AAElC;AACA;AACA;AACA,eAAe,SAASC,EAAEA,CAAAC,IAAA,EAAiC;EAAA,IAA9BC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EACrD,OAAOF,SAAS,GACdG,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,gBACrBN,KAAA,CAAAS,aAAA;IAAKJ,KAAK,EAAEA;EAAM,GAAEC,QAAc,CAAC,GAEnCA,QACD,GACC,IAAI;AACV;AAEAJ,EAAE,CAACQ,SAAS,GAAG;EACbN,SAAS,EAAEH,SAAS,CAACU,IAAI,CAACC,UAAU;EACpCP,KAAK,EAAEJ,SAAS,CAACY;AACnB,CAAC","ignoreList":[]}
|
package/es/utils/snap-scene.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
7
|
-
import { SNAP_POINT, SNAP_LINE, SNAP_SEGMENT, SNAP_GRID, SNAP_GUIDE, addPointSnap, addLineSnap, addLineSegmentSnap, addGridSnap } from './snap';
|
|
8
|
-
import { GeometryUtils } from './export';
|
|
9
|
-
import { Map, List } from 'immutable';
|
|
10
|
-
export function sceneSnapElements(scene) {
|
|
11
|
-
var snapElements = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new List();
|
|
12
|
-
var snapMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Map();
|
|
13
|
-
var width = scene.width,
|
|
14
|
-
height = scene.height;
|
|
15
|
-
var a, b, c;
|
|
16
|
-
return snapElements.withMutations(function (snapElements) {
|
|
17
|
-
scene.layers.forEach(function (layer) {
|
|
18
|
-
var lines = layer.lines,
|
|
19
|
-
vertices = layer.vertices;
|
|
20
|
-
vertices.forEach(function (_ref) {
|
|
21
|
-
var vertexID = _ref.id,
|
|
22
|
-
x = _ref.x,
|
|
23
|
-
y = _ref.y;
|
|
24
|
-
if (snapMask.get(SNAP_POINT)) {
|
|
25
|
-
addPointSnap(snapElements, x, y, 10, 10, vertexID);
|
|
26
|
-
}
|
|
27
|
-
if (snapMask.get(SNAP_LINE)) {
|
|
28
|
-
var _GeometryUtils$horizo = GeometryUtils.horizontalLine(y);
|
|
29
|
-
a = _GeometryUtils$horizo.a;
|
|
30
|
-
b = _GeometryUtils$horizo.b;
|
|
31
|
-
c = _GeometryUtils$horizo.c;
|
|
32
|
-
addLineSnap(snapElements, a, b, c, 10, 1, vertexID);
|
|
33
|
-
var _GeometryUtils$vertic = GeometryUtils.verticalLine(x);
|
|
34
|
-
a = _GeometryUtils$vertic.a;
|
|
35
|
-
b = _GeometryUtils$vertic.b;
|
|
36
|
-
c = _GeometryUtils$vertic.c;
|
|
37
|
-
addLineSnap(snapElements, a, b, c, 10, 1, vertexID);
|
|
38
|
-
var _GeometryUtils$upcros = GeometryUtils.upcrossLine(x, y);
|
|
39
|
-
a = _GeometryUtils$upcros.a;
|
|
40
|
-
b = _GeometryUtils$upcros.b;
|
|
41
|
-
c = _GeometryUtils$upcros.c;
|
|
42
|
-
addLineSnap(snapElements, a, b, c, 10, 3, null);
|
|
43
|
-
var _GeometryUtils$downcr = GeometryUtils.downcrossLine(x, y);
|
|
44
|
-
a = _GeometryUtils$downcr.a;
|
|
45
|
-
b = _GeometryUtils$downcr.b;
|
|
46
|
-
c = _GeometryUtils$downcr.c;
|
|
47
|
-
addLineSnap(snapElements, a, b, c, 10, 3, null);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
if (snapMask.get(SNAP_SEGMENT)) {
|
|
51
|
-
lines.forEach(function (_ref2) {
|
|
52
|
-
var lineID = _ref2.id,
|
|
53
|
-
_ref2$vertices = _slicedToArray(_ref2.vertices, 2),
|
|
54
|
-
v0 = _ref2$vertices[0],
|
|
55
|
-
v1 = _ref2$vertices[1];
|
|
56
|
-
var _vertices$get = vertices.get(v0),
|
|
57
|
-
x1 = _vertices$get.x,
|
|
58
|
-
y1 = _vertices$get.y;
|
|
59
|
-
var _vertices$get2 = vertices.get(v1),
|
|
60
|
-
x2 = _vertices$get2.x,
|
|
61
|
-
y2 = _vertices$get2.y;
|
|
62
|
-
addLineSegmentSnap(snapElements, x1, y1, x2, y2, 20, 1, lineID);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
if (snapMask.get(SNAP_GRID)) {
|
|
67
|
-
var divider = 5;
|
|
68
|
-
var gridCellSize = 100 / divider;
|
|
69
|
-
var xCycle = width / gridCellSize;
|
|
70
|
-
var yCycle = height / gridCellSize;
|
|
71
|
-
for (var x = 0; x < xCycle; x++) {
|
|
72
|
-
var xMul = x * gridCellSize;
|
|
73
|
-
for (var y = 0; y < yCycle; y++) {
|
|
74
|
-
var yMul = y * gridCellSize;
|
|
75
|
-
var onXCross = !(x % divider) ? true : false;
|
|
76
|
-
var onYCross = !(y % divider) ? true : false;
|
|
77
|
-
addGridSnap(snapElements, xMul, yMul, 10, onXCross && onYCross ? 15 : 10, null);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
if (snapMask.get(SNAP_GUIDE)) {
|
|
82
|
-
var horizontal = scene.getIn(['guides', 'horizontal']);
|
|
83
|
-
var vertical = scene.getIn(['guides', 'vertical']);
|
|
84
|
-
var hValues = horizontal.valueSeq();
|
|
85
|
-
var vValues = vertical.valueSeq();
|
|
86
|
-
hValues.forEach(function (hVal) {
|
|
87
|
-
vValues.forEach(function (vVal) {
|
|
88
|
-
addPointSnap(snapElements, vVal, hVal, 10, 10);
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
hValues.forEach(function (hVal) {
|
|
92
|
-
return addLineSegmentSnap(snapElements, 0, hVal, width, hVal, 20, 1);
|
|
93
|
-
});
|
|
94
|
-
vValues.forEach(function (vVal) {
|
|
95
|
-
return addLineSegmentSnap(snapElements, vVal, 0, vVal, height, 20, 1);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=snap-scene.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snap-scene.js","names":["SNAP_POINT","SNAP_LINE","SNAP_SEGMENT","SNAP_GRID","SNAP_GUIDE","addPointSnap","addLineSnap","addLineSegmentSnap","addGridSnap","GeometryUtils","Map","List","sceneSnapElements","scene","snapElements","arguments","length","undefined","snapMask","width","height","a","b","c","withMutations","layers","forEach","layer","lines","vertices","_ref","vertexID","id","x","y","get","_GeometryUtils$horizo","horizontalLine","_GeometryUtils$vertic","verticalLine","_GeometryUtils$upcros","upcrossLine","_GeometryUtils$downcr","downcrossLine","_ref2","lineID","_ref2$vertices","_slicedToArray","v0","v1","_vertices$get","x1","y1","_vertices$get2","x2","y2","divider","gridCellSize","xCycle","yCycle","xMul","yMul","onXCross","onYCross","horizontal","getIn","vertical","hValues","valueSeq","vValues","hVal","vVal"],"sources":["../../src/utils/snap-scene.js"],"sourcesContent":["import {\r\n SNAP_POINT,\r\n SNAP_LINE,\r\n SNAP_SEGMENT,\r\n SNAP_GRID,\r\n SNAP_GUIDE,\r\n addPointSnap,\r\n addLineSnap,\r\n addLineSegmentSnap,\r\n addGridSnap\r\n} from './snap';\r\nimport { GeometryUtils } from './export';\r\nimport { Map, List } from 'immutable';\r\n\r\nexport function sceneSnapElements(\r\n scene,\r\n snapElements = new List(),\r\n snapMask = new Map()\r\n) {\r\n let { width, height } = scene;\r\n\r\n let a, b, c;\r\n return snapElements.withMutations(snapElements => {\r\n scene.layers.forEach(layer => {\r\n let { lines, vertices } = layer;\r\n\r\n vertices.forEach(({ id: vertexID, x, y }) => {\r\n if (snapMask.get(SNAP_POINT)) {\r\n addPointSnap(snapElements, x, y, 10, 10, vertexID);\r\n }\r\n\r\n if (snapMask.get(SNAP_LINE)) {\r\n ({ a, b, c } = GeometryUtils.horizontalLine(y));\r\n addLineSnap(snapElements, a, b, c, 10, 1, vertexID);\r\n ({ a, b, c } = GeometryUtils.verticalLine(x));\r\n addLineSnap(snapElements, a, b, c, 10, 1, vertexID);\r\n ({ a, b, c } = GeometryUtils.upcrossLine(x, y));\r\n addLineSnap(snapElements, a, b, c, 10, 3, null);\r\n ({ a, b, c } = GeometryUtils.downcrossLine(x, y));\r\n addLineSnap(snapElements, a, b, c, 10, 3, null);\r\n }\r\n });\r\n\r\n if (snapMask.get(SNAP_SEGMENT)) {\r\n lines.forEach(({ id: lineID, vertices: [v0, v1] }) => {\r\n let { x: x1, y: y1 } = vertices.get(v0);\r\n let { x: x2, y: y2 } = vertices.get(v1);\r\n\r\n addLineSegmentSnap(snapElements, x1, y1, x2, y2, 20, 1, lineID);\r\n });\r\n }\r\n });\r\n\r\n if (snapMask.get(SNAP_GRID)) {\r\n let divider = 5;\r\n let gridCellSize = 100 / divider;\r\n let xCycle = width / gridCellSize;\r\n let yCycle = height / gridCellSize;\r\n\r\n for (let x = 0; x < xCycle; x++) {\r\n let xMul = x * gridCellSize;\r\n\r\n for (let y = 0; y < yCycle; y++) {\r\n let yMul = y * gridCellSize;\r\n\r\n let onXCross = !(x % divider) ? true : false;\r\n let onYCross = !(y % divider) ? true : false;\r\n\r\n addGridSnap(\r\n snapElements,\r\n xMul,\r\n yMul,\r\n 10,\r\n onXCross && onYCross ? 15 : 10,\r\n null\r\n );\r\n }\r\n }\r\n }\r\n\r\n if (snapMask.get(SNAP_GUIDE)) {\r\n let horizontal = scene.getIn(['guides', 'horizontal']);\r\n let vertical = scene.getIn(['guides', 'vertical']);\r\n\r\n let hValues = horizontal.valueSeq();\r\n let vValues = vertical.valueSeq();\r\n\r\n hValues.forEach(hVal => {\r\n vValues.forEach(vVal => {\r\n addPointSnap(snapElements, vVal, hVal, 10, 10);\r\n });\r\n });\r\n\r\n hValues.forEach(hVal =>\r\n addLineSegmentSnap(snapElements, 0, hVal, width, hVal, 20, 1)\r\n );\r\n vValues.forEach(vVal =>\r\n addLineSegmentSnap(snapElements, vVal, 0, vVal, height, 20, 1)\r\n );\r\n }\r\n });\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|