kitchen-simulator 5.0.0-test.5 → 5.0.0-test.6
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 +24 -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 +5687 -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 +5172 -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/hooks/useCheckCart.js +38 -0
- package/src/hooks/useGetPricesBySku.js +59 -0
- package/src/hooks/useValidateToken.js +181 -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/styles/export.js +7 -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/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 → src}/styles/tabs.css +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SVGLoader.js","names":["BufferGeometry","FileLoader","Float32BufferAttribute","Loader","Matrix3","Path","ShapePath","Vector2","Vector3","SVGLoader","manager","call","defaultDPI","defaultUnit","prototype","Object","assign","create","constructor","load","url","onLoad","onProgress","onError","scope","loader","setPath","path","setRequestHeader","requestHeader","setWithCredentials","withCredentials","text","parse","e","console","error","itemError","parseNode","node","style","nodeType","transform","getNodeTransform","traverseChildNodes","nodeName","parseCSSStylesheet","parseStyle","hasAttribute","parsePathNode","parseRectNode","parsePolygonNode","parsePolylineNode","parseCircleNode","parseEllipseNode","parseLineNode","usedNodeId","href","baseVal","substring","usedNode","viewportElement","getElementById","warn","fill","undefined","color","setStyle","transformPath","currentTransform","paths","push","userData","nodes","childNodes","i","length","transformStack","pop","copy","identity","point","control","firstPoint","isFirstPoint","doSetFirstPoint","d","getAttribute","commands","match","l","command","type","charAt","data","substr","trim","numbers","parseFloats","j","jl","x","y","moveTo","lineTo","bezierCurveTo","getReflection","quadraticCurveTo","rx","ry","start","clone","parseArcCommand","currentPath","autoClose","curves","currentPoint","sheet","cssRules","stylesheet","selectorList","selectorText","split","filter","Boolean","map","stylesheets","x_axis_rotation","large_arc_flag","sweep_flag","end","Math","PI","abs","dx2","dy2","x1p","cos","sin","y1p","rxs","rys","x1ps","y1ps","cr","s","sqrt","dq","pq","q","max","cxp","cyp","cx","cy","theta","svgAngle","delta","absellipse","ux","uy","vx","vy","dot","len","ang","acos","min","parseFloatWithUnits","w","h","iterator","a","b","index","regex","replace","r","subpath","absarc","subPaths","x1","y1","x2","y2","stylesheetStyles","classSelectors","addStyle","svgName","jsName","adjustFunction","v","startsWith","clamp","positive","string","array","number","indexOf","lastIndexOf","splice","units","unitConversion","mm","cm","pt","pc","px","theUnit","String","n","u","endsWith","scale","parseFloat","parseNodeTransform","premultiply","tempTransform0","tx","ty","translate","transformsTexts","tIndex","transformText","openParPos","closeParPos","transformType","angle","tempTransform1","tempTransform2","rotate","tempTransform3","multiplyMatrices","scaleX","scaleY","set","tan","m","transfVec2","v2","tempV3","applyMatrix3","isRotated","isTransformRotated","subPath","curve","isLineCurve","v1","isCubicBezierCurve","v0","v3","isQuadraticBezierCurve","isEllipseCurve","tempV2","aX","aY","xRadius","getTransformScaleX","yRadius","getTransformScaleY","elements","te","xml","DOMParser","parseFromString","documentElement","fillOpacity","strokeOpacity","strokeWidth","strokeLineJoin","strokeLineCap","strokeMiterLimit","getStrokeStyle","width","lineJoin","lineCap","miterLimit","strokeColor","pointsToStroke","points","arcDivisions","minDistance","vertices","normals","uvs","pointsToStrokeWithBuffers","geometry","setAttribute","tempV2_1","tempV2_2","tempV2_3","tempV2_4","tempV2_5","tempV2_6","tempV2_7","lastPointL","lastPointR","point0L","point0R","currentPointL","currentPointR","nextPointL","nextPointR","innerPoint","outerPoint","vertexOffset","removeDuplicatedPoints","numPoints","isClosed","equals","previousPoint","nextPoint","strokeWidth2","deltaU","u0","innerSideModified","joinIsOnLeftSide","isMiter","initialJoinIsOnLeftSide","numVertices","currentCoordinate","currentCoordinateUV","getNormal","multiplyScalar","sub","add","iPoint","normal1","u1","subVectors","normalize","miterSide","setLength","negate","miterLength2","segmentLengthPrev","divideScalar","segmentLengthNext","makeSegmentTriangles","makeSegmentWithBevelJoin","createSegmentTrianglesWithMiddleSection","makeCircularSector","miterFraction","addVertex","addCapGeometry","lastOuter","lastInner","toArray","p1","p2","result","position","center","il","rotateAround","addVectors","vl","dupPoints","distanceTo","newPoints"],"sources":["../../src/plugins/SVGLoader.js"],"sourcesContent":["import {\r\n BufferGeometry,\r\n FileLoader,\r\n Float32BufferAttribute,\r\n Loader,\r\n Matrix3,\r\n Path,\r\n ShapePath,\r\n Vector2,\r\n Vector3\r\n} from 'three';\r\n\r\nvar SVGLoader = function (manager) {\r\n Loader.call(this, manager);\r\n\r\n // Default dots per inch\r\n this.defaultDPI = 90;\r\n\r\n // Accepted units: 'mm', 'cm', 'in', 'pt', 'pc', 'px'\r\n this.defaultUnit = 'px';\r\n};\r\n\r\nSVGLoader.prototype = Object.assign(Object.create(Loader.prototype), {\r\n constructor: SVGLoader,\r\n\r\n load: function (url, onLoad, onProgress, onError) {\r\n var scope = this;\r\n\r\n var loader = new FileLoader(scope.manager);\r\n loader.setPath(scope.path);\r\n loader.setRequestHeader(scope.requestHeader);\r\n loader.setWithCredentials(scope.withCredentials);\r\n loader.load(\r\n url,\r\n function (text) {\r\n try {\r\n onLoad(scope.parse(text));\r\n } catch (e) {\r\n if (onError) {\r\n onError(e);\r\n } else {\r\n console.error(e);\r\n }\r\n\r\n scope.manager.itemError(url);\r\n }\r\n },\r\n onProgress,\r\n onError\r\n );\r\n },\r\n\r\n parse: function (text) {\r\n var scope = this;\r\n\r\n function parseNode(node, style) {\r\n if (node.nodeType !== 1) return;\r\n\r\n var transform = getNodeTransform(node);\r\n\r\n var traverseChildNodes = true;\r\n\r\n var path = null;\r\n\r\n switch (node.nodeName) {\r\n case 'svg':\r\n break;\r\n\r\n case 'style':\r\n parseCSSStylesheet(node);\r\n break;\r\n\r\n case 'g':\r\n style = parseStyle(node, style);\r\n break;\r\n\r\n case 'path':\r\n style = parseStyle(node, style);\r\n if (node.hasAttribute('d')) path = parsePathNode(node);\r\n break;\r\n\r\n case 'rect':\r\n style = parseStyle(node, style);\r\n path = parseRectNode(node);\r\n break;\r\n\r\n case 'polygon':\r\n style = parseStyle(node, style);\r\n path = parsePolygonNode(node);\r\n break;\r\n\r\n case 'polyline':\r\n style = parseStyle(node, style);\r\n path = parsePolylineNode(node);\r\n break;\r\n\r\n case 'circle':\r\n style = parseStyle(node, style);\r\n path = parseCircleNode(node);\r\n break;\r\n\r\n case 'ellipse':\r\n style = parseStyle(node, style);\r\n path = parseEllipseNode(node);\r\n break;\r\n\r\n case 'line':\r\n style = parseStyle(node, style);\r\n path = parseLineNode(node);\r\n break;\r\n\r\n case 'defs':\r\n traverseChildNodes = false;\r\n break;\r\n\r\n case 'use':\r\n style = parseStyle(node, style);\r\n var usedNodeId = node.href.baseVal.substring(1);\r\n var usedNode = node.viewportElement.getElementById(usedNodeId);\r\n if (usedNode) {\r\n parseNode(usedNode, style);\r\n } else {\r\n console.warn(\r\n \"SVGLoader: 'use node' references non-existent node id: \" +\r\n usedNodeId\r\n );\r\n }\r\n\r\n break;\r\n\r\n default:\r\n // console.log( node );\r\n }\r\n\r\n if (path) {\r\n if (style.fill !== undefined && style.fill !== 'none') {\r\n path.color.setStyle(style.fill);\r\n }\r\n\r\n transformPath(path, currentTransform);\r\n\r\n paths.push(path);\r\n\r\n path.userData = { node: node, style: style };\r\n }\r\n\r\n if (traverseChildNodes) {\r\n var nodes = node.childNodes;\r\n\r\n for (var i = 0; i < nodes.length; i++) {\r\n parseNode(nodes[i], style);\r\n }\r\n }\r\n\r\n if (transform) {\r\n transformStack.pop();\r\n\r\n if (transformStack.length > 0) {\r\n currentTransform.copy(transformStack[transformStack.length - 1]);\r\n } else {\r\n currentTransform.identity();\r\n }\r\n }\r\n }\r\n\r\n function parsePathNode(node) {\r\n var path = new ShapePath();\r\n\r\n var point = new Vector2();\r\n var control = new Vector2();\r\n\r\n var firstPoint = new Vector2();\r\n var isFirstPoint = true;\r\n var doSetFirstPoint = false;\r\n\r\n var d = node.getAttribute('d');\r\n\r\n // console.log( d );\r\n\r\n var commands = d.match(/[a-df-z][^a-df-z]*/gi);\r\n\r\n for (var i = 0, l = commands.length; i < l; i++) {\r\n var command = commands[i];\r\n\r\n var type = command.charAt(0);\r\n var data = command.substr(1).trim();\r\n\r\n if (isFirstPoint === true) {\r\n doSetFirstPoint = true;\r\n isFirstPoint = false;\r\n }\r\n\r\n switch (type) {\r\n case 'M':\r\n var numbers = parseFloats(data);\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n point.x = numbers[j + 0];\r\n point.y = numbers[j + 1];\r\n control.x = point.x;\r\n control.y = point.y;\r\n\r\n if (j === 0) {\r\n path.moveTo(point.x, point.y);\r\n } else {\r\n path.lineTo(point.x, point.y);\r\n }\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'H':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j++) {\r\n point.x = numbers[j];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'V':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j++) {\r\n point.y = numbers[j];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'L':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n point.x = numbers[j + 0];\r\n point.y = numbers[j + 1];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'C':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 6) {\r\n path.bezierCurveTo(\r\n numbers[j + 0],\r\n numbers[j + 1],\r\n numbers[j + 2],\r\n numbers[j + 3],\r\n numbers[j + 4],\r\n numbers[j + 5]\r\n );\r\n control.x = numbers[j + 2];\r\n control.y = numbers[j + 3];\r\n point.x = numbers[j + 4];\r\n point.y = numbers[j + 5];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'S':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 4) {\r\n path.bezierCurveTo(\r\n getReflection(point.x, control.x),\r\n getReflection(point.y, control.y),\r\n numbers[j + 0],\r\n numbers[j + 1],\r\n numbers[j + 2],\r\n numbers[j + 3]\r\n );\r\n control.x = numbers[j + 0];\r\n control.y = numbers[j + 1];\r\n point.x = numbers[j + 2];\r\n point.y = numbers[j + 3];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'Q':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 4) {\r\n path.quadraticCurveTo(\r\n numbers[j + 0],\r\n numbers[j + 1],\r\n numbers[j + 2],\r\n numbers[j + 3]\r\n );\r\n control.x = numbers[j + 0];\r\n control.y = numbers[j + 1];\r\n point.x = numbers[j + 2];\r\n point.y = numbers[j + 3];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'T':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n var rx = getReflection(point.x, control.x);\r\n var ry = getReflection(point.y, control.y);\r\n path.quadraticCurveTo(rx, ry, numbers[j + 0], numbers[j + 1]);\r\n control.x = rx;\r\n control.y = ry;\r\n point.x = numbers[j + 0];\r\n point.y = numbers[j + 1];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'A':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 7) {\r\n var start = point.clone();\r\n point.x = numbers[j + 5];\r\n point.y = numbers[j + 6];\r\n control.x = point.x;\r\n control.y = point.y;\r\n parseArcCommand(\r\n path,\r\n numbers[j],\r\n numbers[j + 1],\r\n numbers[j + 2],\r\n numbers[j + 3],\r\n numbers[j + 4],\r\n start,\r\n point\r\n );\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'm':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n point.x += numbers[j + 0];\r\n point.y += numbers[j + 1];\r\n control.x = point.x;\r\n control.y = point.y;\r\n\r\n if (j === 0) {\r\n path.moveTo(point.x, point.y);\r\n } else {\r\n path.lineTo(point.x, point.y);\r\n }\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'h':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j++) {\r\n point.x += numbers[j];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'v':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j++) {\r\n point.y += numbers[j];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'l':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n point.x += numbers[j + 0];\r\n point.y += numbers[j + 1];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'c':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 6) {\r\n path.bezierCurveTo(\r\n point.x + numbers[j + 0],\r\n point.y + numbers[j + 1],\r\n point.x + numbers[j + 2],\r\n point.y + numbers[j + 3],\r\n point.x + numbers[j + 4],\r\n point.y + numbers[j + 5]\r\n );\r\n control.x = point.x + numbers[j + 2];\r\n control.y = point.y + numbers[j + 3];\r\n point.x += numbers[j + 4];\r\n point.y += numbers[j + 5];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 's':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 4) {\r\n path.bezierCurveTo(\r\n getReflection(point.x, control.x),\r\n getReflection(point.y, control.y),\r\n point.x + numbers[j + 0],\r\n point.y + numbers[j + 1],\r\n point.x + numbers[j + 2],\r\n point.y + numbers[j + 3]\r\n );\r\n control.x = point.x + numbers[j + 0];\r\n control.y = point.y + numbers[j + 1];\r\n point.x += numbers[j + 2];\r\n point.y += numbers[j + 3];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'q':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 4) {\r\n path.quadraticCurveTo(\r\n point.x + numbers[j + 0],\r\n point.y + numbers[j + 1],\r\n point.x + numbers[j + 2],\r\n point.y + numbers[j + 3]\r\n );\r\n control.x = point.x + numbers[j + 0];\r\n control.y = point.y + numbers[j + 1];\r\n point.x += numbers[j + 2];\r\n point.y += numbers[j + 3];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 't':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n var rx = getReflection(point.x, control.x);\r\n var ry = getReflection(point.y, control.y);\r\n path.quadraticCurveTo(\r\n rx,\r\n ry,\r\n point.x + numbers[j + 0],\r\n point.y + numbers[j + 1]\r\n );\r\n control.x = rx;\r\n control.y = ry;\r\n point.x = point.x + numbers[j + 0];\r\n point.y = point.y + numbers[j + 1];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'a':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 7) {\r\n var start = point.clone();\r\n point.x += numbers[j + 5];\r\n point.y += numbers[j + 6];\r\n control.x = point.x;\r\n control.y = point.y;\r\n parseArcCommand(\r\n path,\r\n numbers[j],\r\n numbers[j + 1],\r\n numbers[j + 2],\r\n numbers[j + 3],\r\n numbers[j + 4],\r\n start,\r\n point\r\n );\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'Z':\r\n case 'z':\r\n path.currentPath.autoClose = true;\r\n\r\n if (path.currentPath.curves.length > 0) {\r\n // Reset point to beginning of Path\r\n point.copy(firstPoint);\r\n path.currentPath.currentPoint.copy(point);\r\n isFirstPoint = true;\r\n }\r\n\r\n break;\r\n\r\n default:\r\n console.warn(command);\r\n }\r\n\r\n // console.log( type, parseFloats( data ), parseFloats( data ).length )\r\n\r\n doSetFirstPoint = false;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n function parseCSSStylesheet(node) {\r\n if (!node.sheet || !node.sheet.cssRules || !node.sheet.cssRules.length)\r\n return;\r\n\r\n for (var i = 0; i < node.sheet.cssRules.length; i++) {\r\n var stylesheet = node.sheet.cssRules[i];\r\n\r\n if (stylesheet.type !== 1) continue;\r\n\r\n var selectorList = stylesheet.selectorText\r\n .split(/,/gm)\r\n .filter(Boolean)\r\n .map(i => i.trim());\r\n\r\n for (var j = 0; j < selectorList.length; j++) {\r\n stylesheets[selectorList[j]] = Object.assign(\r\n stylesheets[selectorList[j]] || {},\r\n stylesheet.style\r\n );\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * https://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes\r\n * https://mortoray.com/2017/02/16/rendering-an-svg-elliptical-arc-as-bezier-curves/ Appendix: Endpoint to center arc conversion\r\n * From\r\n * rx ry x-axis-rotation large-arc-flag sweep-flag x y\r\n * To\r\n * aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation\r\n */\r\n\r\n function parseArcCommand(\r\n path,\r\n rx,\r\n ry,\r\n x_axis_rotation,\r\n large_arc_flag,\r\n sweep_flag,\r\n start,\r\n end\r\n ) {\r\n x_axis_rotation = (x_axis_rotation * Math.PI) / 180;\r\n\r\n // Ensure radii are positive\r\n rx = Math.abs(rx);\r\n ry = Math.abs(ry);\r\n\r\n // Compute (x1', y1')\r\n var dx2 = (start.x - end.x) / 2.0;\r\n var dy2 = (start.y - end.y) / 2.0;\r\n var x1p =\r\n Math.cos(x_axis_rotation) * dx2 + Math.sin(x_axis_rotation) * dy2;\r\n var y1p =\r\n -Math.sin(x_axis_rotation) * dx2 + Math.cos(x_axis_rotation) * dy2;\r\n\r\n // Compute (cx', cy')\r\n var rxs = rx * rx;\r\n var rys = ry * ry;\r\n var x1ps = x1p * x1p;\r\n var y1ps = y1p * y1p;\r\n\r\n // Ensure radii are large enough\r\n var cr = x1ps / rxs + y1ps / rys;\r\n\r\n if (cr > 1) {\r\n // scale up rx,ry equally so cr == 1\r\n var s = Math.sqrt(cr);\r\n rx = s * rx;\r\n ry = s * ry;\r\n rxs = rx * rx;\r\n rys = ry * ry;\r\n }\r\n\r\n var dq = rxs * y1ps + rys * x1ps;\r\n var pq = (rxs * rys - dq) / dq;\r\n var q = Math.sqrt(Math.max(0, pq));\r\n if (large_arc_flag === sweep_flag) q = -q;\r\n var cxp = (q * rx * y1p) / ry;\r\n var cyp = (-q * ry * x1p) / rx;\r\n\r\n // Step 3: Compute (cx, cy) from (cx', cy')\r\n var cx =\r\n Math.cos(x_axis_rotation) * cxp -\r\n Math.sin(x_axis_rotation) * cyp +\r\n (start.x + end.x) / 2;\r\n var cy =\r\n Math.sin(x_axis_rotation) * cxp +\r\n Math.cos(x_axis_rotation) * cyp +\r\n (start.y + end.y) / 2;\r\n\r\n // Step 4: Compute ��1 and ����\r\n var theta = svgAngle(1, 0, (x1p - cxp) / rx, (y1p - cyp) / ry);\r\n var delta =\r\n svgAngle(\r\n (x1p - cxp) / rx,\r\n (y1p - cyp) / ry,\r\n (-x1p - cxp) / rx,\r\n (-y1p - cyp) / ry\r\n ) %\r\n (Math.PI * 2);\r\n\r\n path.currentPath.absellipse(\r\n cx,\r\n cy,\r\n rx,\r\n ry,\r\n theta,\r\n theta + delta,\r\n sweep_flag === 0,\r\n x_axis_rotation\r\n );\r\n }\r\n\r\n function svgAngle(ux, uy, vx, vy) {\r\n var dot = ux * vx + uy * vy;\r\n var len = Math.sqrt(ux * ux + uy * uy) * Math.sqrt(vx * vx + vy * vy);\r\n var ang = Math.acos(Math.max(-1, Math.min(1, dot / len))); // floating point precision, slightly over values appear\r\n if (ux * vy - uy * vx < 0) ang = -ang;\r\n return ang;\r\n }\r\n\r\n /*\r\n * According to https://www.w3.org/TR/SVG/shapes.html#RectElementRXAttribute\r\n * rounded corner should be rendered to elliptical arc, but bezier curve does the job well enough\r\n */\r\n function parseRectNode(node) {\r\n var x = parseFloatWithUnits(node.getAttribute('x') || 0);\r\n var y = parseFloatWithUnits(node.getAttribute('y') || 0);\r\n var rx = parseFloatWithUnits(node.getAttribute('rx') || 0);\r\n var ry = parseFloatWithUnits(node.getAttribute('ry') || 0);\r\n var w = parseFloatWithUnits(node.getAttribute('width'));\r\n var h = parseFloatWithUnits(node.getAttribute('height'));\r\n\r\n var path = new ShapePath();\r\n path.moveTo(x + 2 * rx, y);\r\n path.lineTo(x + w - 2 * rx, y);\r\n if (rx !== 0 || ry !== 0)\r\n path.bezierCurveTo(x + w, y, x + w, y, x + w, y + 2 * ry);\r\n path.lineTo(x + w, y + h - 2 * ry);\r\n if (rx !== 0 || ry !== 0)\r\n path.bezierCurveTo(x + w, y + h, x + w, y + h, x + w - 2 * rx, y + h);\r\n path.lineTo(x + 2 * rx, y + h);\r\n\r\n if (rx !== 0 || ry !== 0) {\r\n path.bezierCurveTo(x, y + h, x, y + h, x, y + h - 2 * ry);\r\n }\r\n\r\n path.lineTo(x, y + 2 * ry);\r\n\r\n if (rx !== 0 || ry !== 0) {\r\n path.bezierCurveTo(x, y, x, y, x + 2 * rx, y);\r\n }\r\n\r\n return path;\r\n }\r\n\r\n function parsePolygonNode(node) {\r\n function iterator(match, a, b) {\r\n var x = parseFloatWithUnits(a);\r\n var y = parseFloatWithUnits(b);\r\n\r\n if (index === 0) {\r\n path.moveTo(x, y);\r\n } else {\r\n path.lineTo(x, y);\r\n }\r\n\r\n index++;\r\n }\r\n\r\n var regex = /(-?[\\d\\.?]+)[,|\\s](-?[\\d\\.?]+)/g;\r\n\r\n var path = new ShapePath();\r\n\r\n var index = 0;\r\n\r\n node.getAttribute('points').replace(regex, iterator);\r\n\r\n path.currentPath.autoClose = true;\r\n\r\n return path;\r\n }\r\n\r\n function parsePolylineNode(node) {\r\n function iterator(match, a, b) {\r\n var x = parseFloatWithUnits(a);\r\n var y = parseFloatWithUnits(b);\r\n\r\n if (index === 0) {\r\n path.moveTo(x, y);\r\n } else {\r\n path.lineTo(x, y);\r\n }\r\n\r\n index++;\r\n }\r\n\r\n var regex = /(-?[\\d\\.?]+)[,|\\s](-?[\\d\\.?]+)/g;\r\n\r\n var path = new ShapePath();\r\n\r\n var index = 0;\r\n\r\n node.getAttribute('points').replace(regex, iterator);\r\n\r\n path.currentPath.autoClose = false;\r\n\r\n return path;\r\n }\r\n\r\n function parseCircleNode(node) {\r\n var x = parseFloatWithUnits(node.getAttribute('cx'));\r\n var y = parseFloatWithUnits(node.getAttribute('cy'));\r\n var r = parseFloatWithUnits(node.getAttribute('r'));\r\n\r\n var subpath = new Path();\r\n subpath.absarc(x, y, r, 0, Math.PI * 2);\r\n\r\n var path = new ShapePath();\r\n path.subPaths.push(subpath);\r\n\r\n return path;\r\n }\r\n\r\n function parseEllipseNode(node) {\r\n var x = parseFloatWithUnits(node.getAttribute('cx'));\r\n var y = parseFloatWithUnits(node.getAttribute('cy'));\r\n var rx = parseFloatWithUnits(node.getAttribute('rx'));\r\n var ry = parseFloatWithUnits(node.getAttribute('ry'));\r\n\r\n var subpath = new Path();\r\n subpath.absellipse(x, y, rx, ry, 0, Math.PI * 2);\r\n\r\n var path = new ShapePath();\r\n path.subPaths.push(subpath);\r\n\r\n return path;\r\n }\r\n\r\n function parseLineNode(node) {\r\n var x1 = parseFloatWithUnits(node.getAttribute('x1'));\r\n var y1 = parseFloatWithUnits(node.getAttribute('y1'));\r\n var x2 = parseFloatWithUnits(node.getAttribute('x2'));\r\n var y2 = parseFloatWithUnits(node.getAttribute('y2'));\r\n\r\n var path = new ShapePath();\r\n path.moveTo(x1, y1);\r\n path.lineTo(x2, y2);\r\n path.currentPath.autoClose = false;\r\n\r\n return path;\r\n }\r\n\r\n //\r\n\r\n function parseStyle(node, style) {\r\n style = Object.assign({}, style); // clone style\r\n\r\n var stylesheetStyles = {};\r\n\r\n if (node.hasAttribute('class')) {\r\n var classSelectors = node\r\n .getAttribute('class')\r\n .split(/\\s/)\r\n .filter(Boolean)\r\n .map(i => i.trim());\r\n\r\n for (var i = 0; i < classSelectors.length; i++) {\r\n stylesheetStyles = Object.assign(\r\n stylesheetStyles,\r\n stylesheets['.' + classSelectors[i]]\r\n );\r\n }\r\n }\r\n\r\n if (node.hasAttribute('id')) {\r\n stylesheetStyles = Object.assign(\r\n stylesheetStyles,\r\n stylesheets['#' + node.getAttribute('id')]\r\n );\r\n }\r\n\r\n function addStyle(svgName, jsName, adjustFunction) {\r\n if (adjustFunction === undefined)\r\n adjustFunction = function copy(v) {\r\n if (v.startsWith('url'))\r\n console.warn(\r\n 'SVGLoader: url access in attributes is not implemented.'\r\n );\r\n\r\n return v;\r\n };\r\n\r\n if (node.hasAttribute(svgName))\r\n style[jsName] = adjustFunction(node.getAttribute(svgName));\r\n if (stylesheetStyles[svgName])\r\n style[jsName] = adjustFunction(stylesheetStyles[svgName]);\r\n if (node.style && node.style[svgName] !== '')\r\n style[jsName] = adjustFunction(node.style[svgName]);\r\n }\r\n\r\n function clamp(v) {\r\n return Math.max(0, Math.min(1, parseFloatWithUnits(v)));\r\n }\r\n\r\n function positive(v) {\r\n return Math.max(0, parseFloatWithUnits(v));\r\n }\r\n\r\n addStyle('fill', 'fill');\r\n addStyle('fill-opacity', 'fillOpacity', clamp);\r\n addStyle('opacity', 'opacity', clamp);\r\n addStyle('stroke', 'stroke');\r\n addStyle('stroke-opacity', 'strokeOpacity', clamp);\r\n addStyle('stroke-width', 'strokeWidth', positive);\r\n addStyle('stroke-linejoin', 'strokeLineJoin');\r\n addStyle('stroke-linecap', 'strokeLineCap');\r\n addStyle('stroke-miterlimit', 'strokeMiterLimit', positive);\r\n addStyle('visibility', 'visibility');\r\n\r\n return style;\r\n }\r\n\r\n // http://www.w3.org/TR/SVG11/implnote.html#PathElementImplementationNotes\r\n\r\n function getReflection(a, b) {\r\n return a - (b - a);\r\n }\r\n\r\n function parseFloats(string) {\r\n var array = string.split(/[\\s,]+|(?=\\s?[+\\-])/);\r\n\r\n for (var i = 0; i < array.length; i++) {\r\n var number = array[i];\r\n\r\n // Handle values like 48.6037.7.8\r\n // TODO Find a regex for this\r\n\r\n if (number.indexOf('.') !== number.lastIndexOf('.')) {\r\n var split = number.split('.');\r\n\r\n for (var s = 2; s < split.length; s++) {\r\n array.splice(i + s - 1, 0, '0.' + split[s]);\r\n }\r\n }\r\n\r\n array[i] = parseFloatWithUnits(number);\r\n }\r\n\r\n return array;\r\n }\r\n\r\n // Units\r\n\r\n var units = ['mm', 'cm', 'in', 'pt', 'pc', 'px'];\r\n\r\n // Conversion: [ fromUnit ][ toUnit ] (-1 means dpi dependent)\r\n var unitConversion = {\r\n mm: {\r\n mm: 1,\r\n cm: 0.1,\r\n in: 1 / 25.4,\r\n pt: 72 / 25.4,\r\n pc: 6 / 25.4,\r\n px: -1\r\n },\r\n cm: {\r\n mm: 10,\r\n cm: 1,\r\n in: 1 / 2.54,\r\n pt: 72 / 2.54,\r\n pc: 6 / 2.54,\r\n px: -1\r\n },\r\n in: {\r\n mm: 25.4,\r\n cm: 2.54,\r\n in: 1,\r\n pt: 72,\r\n pc: 6,\r\n px: -1\r\n },\r\n pt: {\r\n mm: 25.4 / 72,\r\n cm: 2.54 / 72,\r\n in: 1 / 72,\r\n pt: 1,\r\n pc: 6 / 72,\r\n px: -1\r\n },\r\n pc: {\r\n mm: 25.4 / 6,\r\n cm: 2.54 / 6,\r\n in: 1 / 6,\r\n pt: 72 / 6,\r\n pc: 1,\r\n px: -1\r\n },\r\n px: {\r\n px: 1\r\n }\r\n };\r\n\r\n function parseFloatWithUnits(string) {\r\n var theUnit = 'px';\r\n\r\n if (typeof string === 'string' || string instanceof String) {\r\n for (var i = 0, n = units.length; i < n; i++) {\r\n var u = units[i];\r\n\r\n if (string.endsWith(u)) {\r\n theUnit = u;\r\n string = string.substring(0, string.length - u.length);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n var scale = undefined;\r\n\r\n if (theUnit === 'px' && scope.defaultUnit !== 'px') {\r\n // Conversion scale from pixels to inches, then to default units\r\n\r\n scale = unitConversion['in'][scope.defaultUnit] / scope.defaultDPI;\r\n } else {\r\n scale = unitConversion[theUnit][scope.defaultUnit];\r\n\r\n if (scale < 0) {\r\n // Conversion scale to pixels\r\n\r\n scale = unitConversion[theUnit]['in'] * scope.defaultDPI;\r\n }\r\n }\r\n\r\n return scale * parseFloat(string);\r\n }\r\n\r\n // Transforms\r\n\r\n function getNodeTransform(node) {\r\n if (\r\n !(\r\n node.hasAttribute('transform') ||\r\n (node.nodeName === 'use' &&\r\n (node.hasAttribute('x') || node.hasAttribute('y')))\r\n )\r\n ) {\r\n return null;\r\n }\r\n\r\n var transform = parseNodeTransform(node);\r\n\r\n if (transformStack.length > 0) {\r\n transform.premultiply(transformStack[transformStack.length - 1]);\r\n }\r\n\r\n currentTransform.copy(transform);\r\n transformStack.push(transform);\r\n\r\n return transform;\r\n }\r\n\r\n function parseNodeTransform(node) {\r\n var transform = new Matrix3();\r\n var currentTransform = tempTransform0;\r\n\r\n if (\r\n node.nodeName === 'use' &&\r\n (node.hasAttribute('x') || node.hasAttribute('y'))\r\n ) {\r\n var tx = parseFloatWithUnits(node.getAttribute('x'));\r\n var ty = parseFloatWithUnits(node.getAttribute('y'));\r\n\r\n transform.translate(tx, ty);\r\n }\r\n\r\n if (node.hasAttribute('transform')) {\r\n var transformsTexts = node.getAttribute('transform').split(')');\r\n\r\n for (var tIndex = transformsTexts.length - 1; tIndex >= 0; tIndex--) {\r\n var transformText = transformsTexts[tIndex].trim();\r\n\r\n if (transformText === '') continue;\r\n\r\n var openParPos = transformText.indexOf('(');\r\n var closeParPos = transformText.length;\r\n\r\n if (openParPos > 0 && openParPos < closeParPos) {\r\n var transformType = transformText.substr(0, openParPos);\r\n\r\n var array = parseFloats(\r\n transformText.substr(openParPos + 1, closeParPos - openParPos - 1)\r\n );\r\n\r\n currentTransform.identity();\r\n\r\n switch (transformType) {\r\n case 'translate':\r\n if (array.length >= 1) {\r\n var tx = array[0];\r\n var ty = tx;\r\n\r\n if (array.length >= 2) {\r\n ty = array[1];\r\n }\r\n\r\n currentTransform.translate(tx, ty);\r\n }\r\n\r\n break;\r\n\r\n case 'rotate':\r\n if (array.length >= 1) {\r\n var angle = 0;\r\n var cx = 0;\r\n var cy = 0;\r\n\r\n // Angle\r\n angle = (-array[0] * Math.PI) / 180;\r\n\r\n if (array.length >= 3) {\r\n // Center x, y\r\n cx = array[1];\r\n cy = array[2];\r\n }\r\n\r\n // Rotate around center (cx, cy)\r\n tempTransform1.identity().translate(-cx, -cy);\r\n tempTransform2.identity().rotate(angle);\r\n tempTransform3.multiplyMatrices(\r\n tempTransform2,\r\n tempTransform1\r\n );\r\n tempTransform1.identity().translate(cx, cy);\r\n currentTransform.multiplyMatrices(\r\n tempTransform1,\r\n tempTransform3\r\n );\r\n }\r\n\r\n break;\r\n\r\n case 'scale':\r\n if (array.length >= 1) {\r\n var scaleX = array[0];\r\n var scaleY = scaleX;\r\n\r\n if (array.length >= 2) {\r\n scaleY = array[1];\r\n }\r\n\r\n currentTransform.scale(scaleX, scaleY);\r\n }\r\n\r\n break;\r\n\r\n case 'skewX':\r\n if (array.length === 1) {\r\n currentTransform.set(\r\n 1,\r\n Math.tan((array[0] * Math.PI) / 180),\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 1\r\n );\r\n }\r\n\r\n break;\r\n\r\n case 'skewY':\r\n if (array.length === 1) {\r\n currentTransform.set(\r\n 1,\r\n 0,\r\n 0,\r\n Math.tan((array[0] * Math.PI) / 180),\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 1\r\n );\r\n }\r\n\r\n break;\r\n\r\n case 'matrix':\r\n if (array.length === 6) {\r\n currentTransform.set(\r\n array[0],\r\n array[2],\r\n array[4],\r\n array[1],\r\n array[3],\r\n array[5],\r\n 0,\r\n 0,\r\n 1\r\n );\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n transform.premultiply(currentTransform);\r\n }\r\n }\r\n\r\n return transform;\r\n }\r\n\r\n function transformPath(path, m) {\r\n function transfVec2(v2) {\r\n tempV3.set(v2.x, v2.y, 1).applyMatrix3(m);\r\n\r\n v2.set(tempV3.x, tempV3.y);\r\n }\r\n\r\n var isRotated = isTransformRotated(m);\r\n\r\n var subPaths = path.subPaths;\r\n\r\n for (var i = 0, n = subPaths.length; i < n; i++) {\r\n var subPath = subPaths[i];\r\n var curves = subPath.curves;\r\n\r\n for (var j = 0; j < curves.length; j++) {\r\n var curve = curves[j];\r\n\r\n if (curve.isLineCurve) {\r\n transfVec2(curve.v1);\r\n transfVec2(curve.v2);\r\n } else if (curve.isCubicBezierCurve) {\r\n transfVec2(curve.v0);\r\n transfVec2(curve.v1);\r\n transfVec2(curve.v2);\r\n transfVec2(curve.v3);\r\n } else if (curve.isQuadraticBezierCurve) {\r\n transfVec2(curve.v0);\r\n transfVec2(curve.v1);\r\n transfVec2(curve.v2);\r\n } else if (curve.isEllipseCurve) {\r\n if (isRotated) {\r\n console.warn(\r\n 'SVGLoader: Elliptic arc or ellipse rotation or skewing is not implemented.'\r\n );\r\n }\r\n\r\n tempV2.set(curve.aX, curve.aY);\r\n transfVec2(tempV2);\r\n curve.aX = tempV2.x;\r\n curve.aY = tempV2.y;\r\n\r\n curve.xRadius *= getTransformScaleX(m);\r\n curve.yRadius *= getTransformScaleY(m);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function isTransformRotated(m) {\r\n return m.elements[1] !== 0 || m.elements[3] !== 0;\r\n }\r\n\r\n function getTransformScaleX(m) {\r\n var te = m.elements;\r\n return Math.sqrt(te[0] * te[0] + te[1] * te[1]);\r\n }\r\n\r\n function getTransformScaleY(m) {\r\n var te = m.elements;\r\n return Math.sqrt(te[3] * te[3] + te[4] * te[4]);\r\n }\r\n\r\n //\r\n\r\n var paths = [];\r\n var stylesheets = {};\r\n\r\n var transformStack = [];\r\n\r\n var tempTransform0 = new Matrix3();\r\n var tempTransform1 = new Matrix3();\r\n var tempTransform2 = new Matrix3();\r\n var tempTransform3 = new Matrix3();\r\n var tempV2 = new Vector2();\r\n var tempV3 = new Vector3();\r\n\r\n var currentTransform = new Matrix3();\r\n\r\n var xml = new DOMParser().parseFromString(text, 'image/svg+xml'); // application/xml\r\n\r\n parseNode(xml.documentElement, {\r\n fill: '#000',\r\n fillOpacity: 1,\r\n strokeOpacity: 1,\r\n strokeWidth: 1,\r\n strokeLineJoin: 'miter',\r\n strokeLineCap: 'butt',\r\n strokeMiterLimit: 4\r\n });\r\n\r\n var data = { paths: paths, xml: xml.documentElement };\r\n\r\n // console.log( paths );\r\n return data;\r\n }\r\n});\r\n\r\nSVGLoader.getStrokeStyle = function (\r\n width,\r\n color,\r\n lineJoin,\r\n lineCap,\r\n miterLimit\r\n) {\r\n // Param width: Stroke width\r\n // Param color: As returned by THREE.Color.getStyle()\r\n // Param lineJoin: One of \"round\", \"bevel\", \"miter\" or \"miter-limit\"\r\n // Param lineCap: One of \"round\", \"square\" or \"butt\"\r\n // Param miterLimit: Maximum join length, in multiples of the \"width\" parameter (join is truncated if it exceeds that distance)\r\n // Returns style object\r\n\r\n width = width !== undefined ? width : 1;\r\n color = color !== undefined ? color : '#000';\r\n lineJoin = lineJoin !== undefined ? lineJoin : 'miter';\r\n lineCap = lineCap !== undefined ? lineCap : 'butt';\r\n miterLimit = miterLimit !== undefined ? miterLimit : 4;\r\n\r\n return {\r\n strokeColor: color,\r\n strokeWidth: width,\r\n strokeLineJoin: lineJoin,\r\n strokeLineCap: lineCap,\r\n strokeMiterLimit: miterLimit\r\n };\r\n};\r\n\r\nSVGLoader.pointsToStroke = function (points, style, arcDivisions, minDistance) {\r\n // Generates a stroke with some witdh around the given path.\r\n // The path can be open or closed (last point equals to first point)\r\n // Param points: Array of Vector2D (the path). Minimum 2 points.\r\n // Param style: Object with SVG properties as returned by SVGLoader.getStrokeStyle(), or SVGLoader.parse() in the path.userData.style object\r\n // Params arcDivisions: Arc divisions for round joins and endcaps. (Optional)\r\n // Param minDistance: Points closer to this distance will be merged. (Optional)\r\n // Returns BufferGeometry with stroke triangles (In plane z = 0). UV coordinates are generated ('u' along path. 'v' across it, from left to right)\r\n\r\n var vertices = [];\r\n var normals = [];\r\n var uvs = [];\r\n\r\n if (\r\n SVGLoader.pointsToStrokeWithBuffers(\r\n points,\r\n style,\r\n arcDivisions,\r\n minDistance,\r\n vertices,\r\n normals,\r\n uvs\r\n ) === 0\r\n ) {\r\n return null;\r\n }\r\n\r\n var geometry = new BufferGeometry();\r\n geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3));\r\n geometry.setAttribute('normal', new Float32BufferAttribute(normals, 3));\r\n geometry.setAttribute('uv', new Float32BufferAttribute(uvs, 2));\r\n\r\n return geometry;\r\n};\r\n\r\nSVGLoader.pointsToStrokeWithBuffers = (function () {\r\n var tempV2_1 = new Vector2();\r\n var tempV2_2 = new Vector2();\r\n var tempV2_3 = new Vector2();\r\n var tempV2_4 = new Vector2();\r\n var tempV2_5 = new Vector2();\r\n var tempV2_6 = new Vector2();\r\n var tempV2_7 = new Vector2();\r\n var lastPointL = new Vector2();\r\n var lastPointR = new Vector2();\r\n var point0L = new Vector2();\r\n var point0R = new Vector2();\r\n var currentPointL = new Vector2();\r\n var currentPointR = new Vector2();\r\n var nextPointL = new Vector2();\r\n var nextPointR = new Vector2();\r\n var innerPoint = new Vector2();\r\n var outerPoint = new Vector2();\r\n\r\n return function (\r\n points,\r\n style,\r\n arcDivisions,\r\n minDistance,\r\n vertices,\r\n normals,\r\n uvs,\r\n vertexOffset\r\n ) {\r\n // This function can be called to update existing arrays or buffers.\r\n // Accepts same parameters as pointsToStroke, plus the buffers and optional offset.\r\n // Param vertexOffset: Offset vertices to start writing in the buffers (3 elements/vertex for vertices and normals, and 2 elements/vertex for uvs)\r\n // Returns number of written vertices / normals / uvs pairs\r\n // if 'vertices' parameter is undefined no triangles will be generated, but the returned vertices count will still be valid (useful to preallocate the buffers)\r\n // 'normals' and 'uvs' buffers are optional\r\n\r\n arcDivisions = arcDivisions !== undefined ? arcDivisions : 12;\r\n minDistance = minDistance !== undefined ? minDistance : 0.001;\r\n vertexOffset = vertexOffset !== undefined ? vertexOffset : 0;\r\n\r\n // First ensure there are no duplicated points\r\n points = removeDuplicatedPoints(points);\r\n\r\n var numPoints = points.length;\r\n\r\n if (numPoints < 2) return 0;\r\n\r\n var isClosed = points[0].equals(points[numPoints - 1]);\r\n\r\n var currentPoint;\r\n var previousPoint = points[0];\r\n var nextPoint;\r\n\r\n var strokeWidth2 = style.strokeWidth / 2;\r\n\r\n var deltaU = 1 / (numPoints - 1);\r\n var u0 = 0;\r\n\r\n var innerSideModified;\r\n var joinIsOnLeftSide;\r\n var isMiter;\r\n var initialJoinIsOnLeftSide = false;\r\n\r\n var numVertices = 0;\r\n var currentCoordinate = vertexOffset * 3;\r\n var currentCoordinateUV = vertexOffset * 2;\r\n\r\n // Get initial left and right stroke points\r\n getNormal(points[0], points[1], tempV2_1).multiplyScalar(strokeWidth2);\r\n lastPointL.copy(points[0]).sub(tempV2_1);\r\n lastPointR.copy(points[0]).add(tempV2_1);\r\n point0L.copy(lastPointL);\r\n point0R.copy(lastPointR);\r\n\r\n for (var iPoint = 1; iPoint < numPoints; iPoint++) {\r\n currentPoint = points[iPoint];\r\n\r\n // Get next point\r\n if (iPoint === numPoints - 1) {\r\n if (isClosed) {\r\n // Skip duplicated initial point\r\n nextPoint = points[1];\r\n } else nextPoint = undefined;\r\n } else {\r\n nextPoint = points[iPoint + 1];\r\n }\r\n\r\n // Normal of previous segment in tempV2_1\r\n var normal1 = tempV2_1;\r\n getNormal(previousPoint, currentPoint, normal1);\r\n\r\n tempV2_3.copy(normal1).multiplyScalar(strokeWidth2);\r\n currentPointL.copy(currentPoint).sub(tempV2_3);\r\n currentPointR.copy(currentPoint).add(tempV2_3);\r\n\r\n var u1 = u0 + deltaU;\r\n\r\n innerSideModified = false;\r\n\r\n if (nextPoint !== undefined) {\r\n // Normal of next segment in tempV2_2\r\n getNormal(currentPoint, nextPoint, tempV2_2);\r\n\r\n tempV2_3.copy(tempV2_2).multiplyScalar(strokeWidth2);\r\n nextPointL.copy(currentPoint).sub(tempV2_3);\r\n nextPointR.copy(currentPoint).add(tempV2_3);\r\n\r\n joinIsOnLeftSide = true;\r\n tempV2_3.subVectors(nextPoint, previousPoint);\r\n if (normal1.dot(tempV2_3) < 0) {\r\n joinIsOnLeftSide = false;\r\n }\r\n\r\n if (iPoint === 1) initialJoinIsOnLeftSide = joinIsOnLeftSide;\r\n\r\n tempV2_3.subVectors(nextPoint, currentPoint);\r\n tempV2_3.normalize();\r\n var dot = Math.abs(normal1.dot(tempV2_3));\r\n\r\n // If path is straight, don't create join\r\n if (dot !== 0) {\r\n // Compute inner and outer segment intersections\r\n var miterSide = strokeWidth2 / dot;\r\n tempV2_3.multiplyScalar(-miterSide);\r\n tempV2_4.subVectors(currentPoint, previousPoint);\r\n tempV2_5.copy(tempV2_4).setLength(miterSide).add(tempV2_3);\r\n innerPoint.copy(tempV2_5).negate();\r\n var miterLength2 = tempV2_5.length();\r\n var segmentLengthPrev = tempV2_4.length();\r\n tempV2_4.divideScalar(segmentLengthPrev);\r\n tempV2_6.subVectors(nextPoint, currentPoint);\r\n var segmentLengthNext = tempV2_6.length();\r\n tempV2_6.divideScalar(segmentLengthNext);\r\n // Check that previous and next segments doesn't overlap with the innerPoint of intersection\r\n if (\r\n tempV2_4.dot(innerPoint) < segmentLengthPrev &&\r\n tempV2_6.dot(innerPoint) < segmentLengthNext\r\n ) {\r\n innerSideModified = true;\r\n }\r\n\r\n outerPoint.copy(tempV2_5).add(currentPoint);\r\n innerPoint.add(currentPoint);\r\n\r\n isMiter = false;\r\n\r\n if (innerSideModified) {\r\n if (joinIsOnLeftSide) {\r\n nextPointR.copy(innerPoint);\r\n currentPointR.copy(innerPoint);\r\n } else {\r\n nextPointL.copy(innerPoint);\r\n currentPointL.copy(innerPoint);\r\n }\r\n } else {\r\n // The segment triangles are generated here if there was overlapping\r\n\r\n makeSegmentTriangles();\r\n }\r\n\r\n switch (style.strokeLineJoin) {\r\n case 'bevel':\r\n makeSegmentWithBevelJoin(joinIsOnLeftSide, innerSideModified, u1);\r\n\r\n break;\r\n\r\n case 'round':\r\n // Segment triangles\r\n\r\n createSegmentTrianglesWithMiddleSection(\r\n joinIsOnLeftSide,\r\n innerSideModified\r\n );\r\n\r\n // Join triangles\r\n\r\n if (joinIsOnLeftSide) {\r\n makeCircularSector(\r\n currentPoint,\r\n currentPointL,\r\n nextPointL,\r\n u1,\r\n 0\r\n );\r\n } else {\r\n makeCircularSector(\r\n currentPoint,\r\n nextPointR,\r\n currentPointR,\r\n u1,\r\n 1\r\n );\r\n }\r\n\r\n break;\r\n\r\n case 'miter':\r\n case 'miter-clip':\r\n default:\r\n var miterFraction =\r\n (strokeWidth2 * style.strokeMiterLimit) / miterLength2;\r\n\r\n if (miterFraction < 1) {\r\n // The join miter length exceeds the miter limit\r\n\r\n if (style.strokeLineJoin !== 'miter-clip') {\r\n makeSegmentWithBevelJoin(\r\n joinIsOnLeftSide,\r\n innerSideModified,\r\n u1\r\n );\r\n break;\r\n } else {\r\n // Segment triangles\r\n\r\n createSegmentTrianglesWithMiddleSection(\r\n joinIsOnLeftSide,\r\n innerSideModified\r\n );\r\n\r\n // Miter-clip join triangles\r\n\r\n if (joinIsOnLeftSide) {\r\n tempV2_6\r\n .subVectors(outerPoint, currentPointL)\r\n .multiplyScalar(miterFraction)\r\n .add(currentPointL);\r\n tempV2_7\r\n .subVectors(outerPoint, nextPointL)\r\n .multiplyScalar(miterFraction)\r\n .add(nextPointL);\r\n\r\n addVertex(currentPointL, u1, 0);\r\n addVertex(tempV2_6, u1, 0);\r\n addVertex(currentPoint, u1, 0.5);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(tempV2_6, u1, 0);\r\n addVertex(tempV2_7, u1, 0);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(tempV2_7, u1, 0);\r\n addVertex(nextPointL, u1, 0);\r\n } else {\r\n tempV2_6\r\n .subVectors(outerPoint, currentPointR)\r\n .multiplyScalar(miterFraction)\r\n .add(currentPointR);\r\n tempV2_7\r\n .subVectors(outerPoint, nextPointR)\r\n .multiplyScalar(miterFraction)\r\n .add(nextPointR);\r\n\r\n addVertex(currentPointR, u1, 1);\r\n addVertex(tempV2_6, u1, 1);\r\n addVertex(currentPoint, u1, 0.5);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(tempV2_6, u1, 1);\r\n addVertex(tempV2_7, u1, 1);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(tempV2_7, u1, 1);\r\n addVertex(nextPointR, u1, 1);\r\n }\r\n }\r\n } else {\r\n // Miter join segment triangles\r\n\r\n if (innerSideModified) {\r\n // Optimized segment + join triangles\r\n\r\n if (joinIsOnLeftSide) {\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(outerPoint, u1, 0);\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(outerPoint, u1, 0);\r\n addVertex(innerPoint, u1, 1);\r\n } else {\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(outerPoint, u1, 1);\r\n\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(innerPoint, u1, 0);\r\n addVertex(outerPoint, u1, 1);\r\n }\r\n\r\n if (joinIsOnLeftSide) {\r\n nextPointL.copy(outerPoint);\r\n } else {\r\n nextPointR.copy(outerPoint);\r\n }\r\n } else {\r\n // Add extra miter join triangles\r\n\r\n if (joinIsOnLeftSide) {\r\n addVertex(currentPointL, u1, 0);\r\n addVertex(outerPoint, u1, 0);\r\n addVertex(currentPoint, u1, 0.5);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(outerPoint, u1, 0);\r\n addVertex(nextPointL, u1, 0);\r\n } else {\r\n addVertex(currentPointR, u1, 1);\r\n addVertex(outerPoint, u1, 1);\r\n addVertex(currentPoint, u1, 0.5);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(outerPoint, u1, 1);\r\n addVertex(nextPointR, u1, 1);\r\n }\r\n }\r\n\r\n isMiter = true;\r\n }\r\n\r\n break;\r\n }\r\n } else {\r\n // The segment triangles are generated here when two consecutive points are collinear\r\n\r\n makeSegmentTriangles();\r\n }\r\n } else {\r\n // The segment triangles are generated here if it is the ending segment\r\n\r\n makeSegmentTriangles();\r\n }\r\n\r\n if (!isClosed && iPoint === numPoints - 1) {\r\n // Start line endcap\r\n addCapGeometry(points[0], point0L, point0R, joinIsOnLeftSide, true, u0);\r\n }\r\n\r\n // Increment loop variables\r\n\r\n u0 = u1;\r\n\r\n previousPoint = currentPoint;\r\n\r\n lastPointL.copy(nextPointL);\r\n lastPointR.copy(nextPointR);\r\n }\r\n\r\n if (!isClosed) {\r\n // Ending line endcap\r\n addCapGeometry(\r\n currentPoint,\r\n currentPointL,\r\n currentPointR,\r\n joinIsOnLeftSide,\r\n false,\r\n u1\r\n );\r\n } else if (innerSideModified && vertices) {\r\n // Modify path first segment vertices to adjust to the segments inner and outer intersections\r\n\r\n var lastOuter = outerPoint;\r\n var lastInner = innerPoint;\r\n\r\n if (initialJoinIsOnLeftSide !== joinIsOnLeftSide) {\r\n lastOuter = innerPoint;\r\n lastInner = outerPoint;\r\n }\r\n\r\n if (joinIsOnLeftSide) {\r\n if (isMiter || initialJoinIsOnLeftSide) {\r\n lastInner.toArray(vertices, 0 * 3);\r\n lastInner.toArray(vertices, 3 * 3);\r\n\r\n if (isMiter) {\r\n lastOuter.toArray(vertices, 1 * 3);\r\n }\r\n }\r\n } else {\r\n if (isMiter || !initialJoinIsOnLeftSide) {\r\n lastInner.toArray(vertices, 1 * 3);\r\n lastInner.toArray(vertices, 3 * 3);\r\n\r\n if (isMiter) {\r\n lastOuter.toArray(vertices, 0 * 3);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return numVertices;\r\n\r\n // -- End of algorithm\r\n\r\n // -- Functions\r\n\r\n function getNormal(p1, p2, result) {\r\n result.subVectors(p2, p1);\r\n return result.set(-result.y, result.x).normalize();\r\n }\r\n\r\n function addVertex(position, u, v) {\r\n if (vertices) {\r\n vertices[currentCoordinate] = position.x;\r\n vertices[currentCoordinate + 1] = position.y;\r\n vertices[currentCoordinate + 2] = 0;\r\n\r\n if (normals) {\r\n normals[currentCoordinate] = 0;\r\n normals[currentCoordinate + 1] = 0;\r\n normals[currentCoordinate + 2] = 1;\r\n }\r\n\r\n currentCoordinate += 3;\r\n\r\n if (uvs) {\r\n uvs[currentCoordinateUV] = u;\r\n uvs[currentCoordinateUV + 1] = v;\r\n\r\n currentCoordinateUV += 2;\r\n }\r\n }\r\n\r\n numVertices += 3;\r\n }\r\n\r\n function makeCircularSector(center, p1, p2, u, v) {\r\n // param p1, p2: Points in the circle arc.\r\n // p1 and p2 are in clockwise direction.\r\n\r\n tempV2_1.copy(p1).sub(center).normalize();\r\n tempV2_2.copy(p2).sub(center).normalize();\r\n\r\n var angle = Math.PI;\r\n var dot = tempV2_1.dot(tempV2_2);\r\n if (Math.abs(dot) < 1) angle = Math.abs(Math.acos(dot));\r\n\r\n angle /= arcDivisions;\r\n\r\n tempV2_3.copy(p1);\r\n\r\n for (var i = 0, il = arcDivisions - 1; i < il; i++) {\r\n tempV2_4.copy(tempV2_3).rotateAround(center, angle);\r\n\r\n addVertex(tempV2_3, u, v);\r\n addVertex(tempV2_4, u, v);\r\n addVertex(center, u, 0.5);\r\n\r\n tempV2_3.copy(tempV2_4);\r\n }\r\n\r\n addVertex(tempV2_4, u, v);\r\n addVertex(p2, u, v);\r\n addVertex(center, u, 0.5);\r\n }\r\n\r\n function makeSegmentTriangles() {\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(currentPointL, u1, 0);\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(currentPointL, u1, 1);\r\n addVertex(currentPointR, u1, 0);\r\n }\r\n\r\n function makeSegmentWithBevelJoin(joinIsOnLeftSide, innerSideModified, u) {\r\n if (innerSideModified) {\r\n // Optimized segment + bevel triangles\r\n\r\n if (joinIsOnLeftSide) {\r\n // Path segments triangles\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(currentPointL, u1, 0);\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(currentPointL, u1, 0);\r\n addVertex(innerPoint, u1, 1);\r\n\r\n // Bevel join triangle\r\n\r\n addVertex(currentPointL, u, 0);\r\n addVertex(nextPointL, u, 0);\r\n addVertex(innerPoint, u, 0.5);\r\n } else {\r\n // Path segments triangles\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(currentPointR, u1, 1);\r\n\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(innerPoint, u1, 0);\r\n addVertex(currentPointR, u1, 1);\r\n\r\n // Bevel join triangle\r\n\r\n addVertex(currentPointR, u, 1);\r\n addVertex(nextPointR, u, 0);\r\n addVertex(innerPoint, u, 0.5);\r\n }\r\n } else {\r\n // Bevel join triangle. The segment triangles are done in the main loop\r\n\r\n if (joinIsOnLeftSide) {\r\n addVertex(currentPointL, u, 0);\r\n addVertex(nextPointL, u, 0);\r\n addVertex(currentPoint, u, 0.5);\r\n } else {\r\n addVertex(currentPointR, u, 1);\r\n addVertex(nextPointR, u, 0);\r\n addVertex(currentPoint, u, 0.5);\r\n }\r\n }\r\n }\r\n\r\n function createSegmentTrianglesWithMiddleSection(\r\n joinIsOnLeftSide,\r\n innerSideModified\r\n ) {\r\n if (innerSideModified) {\r\n if (joinIsOnLeftSide) {\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(currentPointL, u1, 0);\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(currentPointL, u1, 0);\r\n addVertex(innerPoint, u1, 1);\r\n\r\n addVertex(currentPointL, u0, 0);\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(innerPoint, u1, 1);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(nextPointL, u0, 0);\r\n addVertex(innerPoint, u1, 1);\r\n } else {\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(currentPointR, u1, 1);\r\n\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(innerPoint, u1, 0);\r\n addVertex(currentPointR, u1, 1);\r\n\r\n addVertex(currentPointR, u0, 1);\r\n addVertex(innerPoint, u1, 0);\r\n addVertex(currentPoint, u1, 0.5);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(innerPoint, u1, 0);\r\n addVertex(nextPointR, u0, 1);\r\n }\r\n }\r\n }\r\n\r\n function addCapGeometry(center, p1, p2, joinIsOnLeftSide, start, u) {\r\n // param center: End point of the path\r\n // param p1, p2: Left and right cap points\r\n\r\n switch (style.strokeLineCap) {\r\n case 'round':\r\n if (start) {\r\n makeCircularSector(center, p2, p1, u, 0.5);\r\n } else {\r\n makeCircularSector(center, p1, p2, u, 0.5);\r\n }\r\n\r\n break;\r\n\r\n case 'square':\r\n if (start) {\r\n tempV2_1.subVectors(p1, center);\r\n tempV2_2.set(tempV2_1.y, -tempV2_1.x);\r\n\r\n tempV2_3.addVectors(tempV2_1, tempV2_2).add(center);\r\n tempV2_4.subVectors(tempV2_2, tempV2_1).add(center);\r\n\r\n // Modify already existing vertices\r\n if (joinIsOnLeftSide) {\r\n tempV2_3.toArray(vertices, 1 * 3);\r\n tempV2_4.toArray(vertices, 0 * 3);\r\n tempV2_4.toArray(vertices, 3 * 3);\r\n } else {\r\n tempV2_3.toArray(vertices, 1 * 3);\r\n tempV2_3.toArray(vertices, 3 * 3);\r\n tempV2_4.toArray(vertices, 0 * 3);\r\n }\r\n } else {\r\n tempV2_1.subVectors(p2, center);\r\n tempV2_2.set(tempV2_1.y, -tempV2_1.x);\r\n\r\n tempV2_3.addVectors(tempV2_1, tempV2_2).add(center);\r\n tempV2_4.subVectors(tempV2_2, tempV2_1).add(center);\r\n\r\n var vl = vertices.length;\r\n\r\n // Modify already existing vertices\r\n if (joinIsOnLeftSide) {\r\n tempV2_3.toArray(vertices, vl - 1 * 3);\r\n tempV2_4.toArray(vertices, vl - 2 * 3);\r\n tempV2_4.toArray(vertices, vl - 4 * 3);\r\n } else {\r\n tempV2_3.toArray(vertices, vl - 2 * 3);\r\n tempV2_4.toArray(vertices, vl - 1 * 3);\r\n tempV2_4.toArray(vertices, vl - 4 * 3);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case 'butt':\r\n default:\r\n // Nothing to do here\r\n break;\r\n }\r\n }\r\n\r\n function removeDuplicatedPoints(points) {\r\n // Creates a new array if necessary with duplicated points removed.\r\n // This does not remove duplicated initial and ending points of a closed path.\r\n\r\n var dupPoints = false;\r\n for (var i = 1, n = points.length - 1; i < n; i++) {\r\n if (points[i].distanceTo(points[i + 1]) < minDistance) {\r\n dupPoints = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!dupPoints) return points;\r\n\r\n var newPoints = [];\r\n newPoints.push(points[0]);\r\n\r\n for (var i = 1, n = points.length - 1; i < n; i++) {\r\n if (points[i].distanceTo(points[i + 1]) >= minDistance) {\r\n newPoints.push(points[i]);\r\n }\r\n }\r\n\r\n newPoints.push(points[points.length - 1]);\r\n\r\n return newPoints;\r\n }\r\n };\r\n})();\r\n\r\nexport { SVGLoader };\r\n"],"mappings":"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","ignoreList":[]}
|
package/es/plugins/autosave.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
var sessionStorage = window.hasOwnProperty('sessionStorage') ? window.sessionStorage : false;
|
|
2
|
-
import { loadProject } from '../actions/project-actions';
|
|
3
|
-
var TIMEOUT_DELAY = 500;
|
|
4
|
-
var timeout = null;
|
|
5
|
-
export default function autosave(autosaveKey, revert, delay) {
|
|
6
|
-
return function (store, stateExtractor) {
|
|
7
|
-
delay = delay || TIMEOUT_DELAY;
|
|
8
|
-
if (revert === undefined) return;
|
|
9
|
-
if (!autosaveKey) return;
|
|
10
|
-
if (!sessionStorage) return;
|
|
11
|
-
|
|
12
|
-
//revert
|
|
13
|
-
if (revert && sessionStorage.getItem(autosaveKey) !== null) {
|
|
14
|
-
var data = sessionStorage.getItem(autosaveKey);
|
|
15
|
-
var json = JSON.parse(data);
|
|
16
|
-
store.dispatch(loadProject(json));
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
//update
|
|
20
|
-
store.subscribe(function () {
|
|
21
|
-
if (timeout) clearTimeout(timeout);
|
|
22
|
-
timeout = setTimeout(function () {
|
|
23
|
-
var state = stateExtractor(store.getState());
|
|
24
|
-
// sessionStorage.setItem(autosaveKey, JSON.stringify(state.scene.toJS()));
|
|
25
|
-
/*let scene = state.sceneHistory.last;
|
|
26
|
-
if (scene) {
|
|
27
|
-
let json = JSON.stringify(scene.toJS());
|
|
28
|
-
sessionStorage.setItem(autosaveKey, json);
|
|
29
|
-
}*/
|
|
30
|
-
}, delay);
|
|
31
|
-
});
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=autosave.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"autosave.js","names":["sessionStorage","window","hasOwnProperty","loadProject","TIMEOUT_DELAY","timeout","autosave","autosaveKey","revert","delay","store","stateExtractor","undefined","getItem","data","json","JSON","parse","dispatch","subscribe","clearTimeout","setTimeout","state","getState"],"sources":["../../src/plugins/autosave.js"],"sourcesContent":["const sessionStorage = window.hasOwnProperty('sessionStorage')\r\n ? window.sessionStorage\r\n : false;\r\nimport { loadProject } from '../actions/project-actions';\r\n\r\nconst TIMEOUT_DELAY = 500;\r\n\r\nlet timeout = null;\r\n\r\nexport default function autosave(autosaveKey, revert, delay) {\r\n return (store, stateExtractor) => {\r\n delay = delay || TIMEOUT_DELAY;\r\n\r\n if (revert === undefined) return;\r\n if (!autosaveKey) return;\r\n if (!sessionStorage) return;\r\n\r\n //revert\r\n if (revert && sessionStorage.getItem(autosaveKey) !== null) {\r\n let data = sessionStorage.getItem(autosaveKey);\r\n let json = JSON.parse(data);\r\n store.dispatch(loadProject(json));\r\n }\r\n\r\n //update\r\n store.subscribe(() => {\r\n if (timeout) clearTimeout(timeout);\r\n timeout = setTimeout(() => {\r\n let state = stateExtractor(store.getState());\r\n // sessionStorage.setItem(autosaveKey, JSON.stringify(state.scene.toJS()));\r\n /*let scene = state.sceneHistory.last;\r\n if (scene) {\r\n let json = JSON.stringify(scene.toJS());\r\n sessionStorage.setItem(autosaveKey, json);\r\n }*/\r\n }, delay);\r\n });\r\n };\r\n}\r\n"],"mappings":"AAAA,IAAMA,cAAc,GAAGC,MAAM,CAACC,cAAc,CAAC,gBAAgB,CAAC,GAC1DD,MAAM,CAACD,cAAc,GACrB,KAAK;AACT,SAASG,WAAW,QAAQ,4BAA4B;AAExD,IAAMC,aAAa,GAAG,GAAG;AAEzB,IAAIC,OAAO,GAAG,IAAI;AAElB,eAAe,SAASC,QAAQA,CAACC,WAAW,EAAEC,MAAM,EAAEC,KAAK,EAAE;EAC3D,OAAO,UAACC,KAAK,EAAEC,cAAc,EAAK;IAChCF,KAAK,GAAGA,KAAK,IAAIL,aAAa;IAE9B,IAAII,MAAM,KAAKI,SAAS,EAAE;IAC1B,IAAI,CAACL,WAAW,EAAE;IAClB,IAAI,CAACP,cAAc,EAAE;;IAErB;IACA,IAAIQ,MAAM,IAAIR,cAAc,CAACa,OAAO,CAACN,WAAW,CAAC,KAAK,IAAI,EAAE;MAC1D,IAAIO,IAAI,GAAGd,cAAc,CAACa,OAAO,CAACN,WAAW,CAAC;MAC9C,IAAIQ,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;MAC3BJ,KAAK,CAACQ,QAAQ,CAACf,WAAW,CAACY,IAAI,CAAC,CAAC;IACnC;;IAEA;IACAL,KAAK,CAACS,SAAS,CAAC,YAAM;MACpB,IAAId,OAAO,EAAEe,YAAY,CAACf,OAAO,CAAC;MAClCA,OAAO,GAAGgB,UAAU,CAAC,YAAM;QACzB,IAAIC,KAAK,GAAGX,cAAc,CAACD,KAAK,CAACa,QAAQ,CAAC,CAAC,CAAC;QAC5C;QACA;AACR;AACA;AACA;AACA;MACM,CAAC,EAAEd,KAAK,CAAC;IACX,CAAC,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,38 +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
|
-
import actions from '../actions/export';
|
|
8
|
-
export default function consoleDebugger() {
|
|
9
|
-
return function (store, stateExtractor) {
|
|
10
|
-
window.KitchenConfigurator = _objectSpread(_objectSpread({}, actions), {}, {
|
|
11
|
-
getStore: function getStore() {
|
|
12
|
-
return store;
|
|
13
|
-
},
|
|
14
|
-
getState: function getState() {
|
|
15
|
-
return stateExtractor(store.getState());
|
|
16
|
-
},
|
|
17
|
-
"do": function _do(actions) {
|
|
18
|
-
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300;
|
|
19
|
-
actions = actions.reverse();
|
|
20
|
-
var dispatch = store.dispatch;
|
|
21
|
-
var _dispatchAction = function dispatchAction() {
|
|
22
|
-
console.info("There are other ".concat(actions.length, " actions on stack"));
|
|
23
|
-
if (actions.length === 0) return;
|
|
24
|
-
dispatch(actions.pop());
|
|
25
|
-
if (actions.length === 0) return;
|
|
26
|
-
setTimeout(_dispatchAction, delay);
|
|
27
|
-
};
|
|
28
|
-
setTimeout(_dispatchAction, 0);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
console.groupCollapsed('KitchenConfigurator');
|
|
32
|
-
console.info('KitchenConfigurator is ready');
|
|
33
|
-
console.info('console.log(KitchenConfigurator)');
|
|
34
|
-
console.log(window.KitchenConfigurator);
|
|
35
|
-
console.groupEnd();
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=console-debugger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"console-debugger.js","names":["actions","consoleDebugger","store","stateExtractor","window","KitchenConfigurator","_objectSpread","getStore","getState","do","delay","arguments","length","undefined","reverse","dispatch","dispatchAction","console","info","concat","pop","setTimeout","groupCollapsed","log","groupEnd"],"sources":["../../src/plugins/console-debugger.js"],"sourcesContent":["import actions from '../actions/export';\r\n\r\nexport default function consoleDebugger() {\r\n return (store, stateExtractor) => {\r\n window.KitchenConfigurator = {\r\n ...actions,\r\n\r\n getStore() {\r\n return store;\r\n },\r\n\r\n getState() {\r\n return stateExtractor(store.getState());\r\n },\r\n\r\n do(actions, delay = 300) {\r\n actions = actions.reverse();\r\n let dispatch = store.dispatch;\r\n let dispatchAction = () => {\r\n console.info(`There are other ${actions.length} actions on stack`);\r\n if (actions.length === 0) return;\r\n dispatch(actions.pop());\r\n if (actions.length === 0) return;\r\n setTimeout(dispatchAction, delay);\r\n };\r\n setTimeout(dispatchAction, 0);\r\n }\r\n };\r\n\r\n console.groupCollapsed('KitchenConfigurator');\r\n console.info('KitchenConfigurator is ready');\r\n console.info('console.log(KitchenConfigurator)');\r\n console.log(window.KitchenConfigurator);\r\n console.groupEnd();\r\n };\r\n}\r\n"],"mappings":";;;;;;AAAA,OAAOA,OAAO,MAAM,mBAAmB;AAEvC,eAAe,SAASC,eAAeA,CAAA,EAAG;EACxC,OAAO,UAACC,KAAK,EAAEC,cAAc,EAAK;IAChCC,MAAM,CAACC,mBAAmB,GAAAC,aAAA,CAAAA,aAAA,KACrBN,OAAO;MAEVO,QAAQ,WAARA,QAAQA,CAAA,EAAG;QACT,OAAOL,KAAK;MACd,CAAC;MAEDM,QAAQ,WAARA,QAAQA,CAAA,EAAG;QACT,OAAOL,cAAc,CAACD,KAAK,CAACM,QAAQ,CAAC,CAAC,CAAC;MACzC,CAAC;MAAA,eAEDC,GAAEA,CAACT,OAAO,EAAe;QAAA,IAAbU,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;QACrBX,OAAO,GAAGA,OAAO,CAACc,OAAO,CAAC,CAAC;QAC3B,IAAIC,QAAQ,GAAGb,KAAK,CAACa,QAAQ;QAC7B,IAAIC,eAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;UACzBC,OAAO,CAACC,IAAI,oBAAAC,MAAA,CAAoBnB,OAAO,CAACY,MAAM,sBAAmB,CAAC;UAClE,IAAIZ,OAAO,CAACY,MAAM,KAAK,CAAC,EAAE;UAC1BG,QAAQ,CAACf,OAAO,CAACoB,GAAG,CAAC,CAAC,CAAC;UACvB,IAAIpB,OAAO,CAACY,MAAM,KAAK,CAAC,EAAE;UAC1BS,UAAU,CAACL,eAAc,EAAEN,KAAK,CAAC;QACnC,CAAC;QACDW,UAAU,CAACL,eAAc,EAAE,CAAC,CAAC;MAC/B;IAAC,EACF;IAEDC,OAAO,CAACK,cAAc,CAAC,qBAAqB,CAAC;IAC7CL,OAAO,CAACC,IAAI,CAAC,8BAA8B,CAAC;IAC5CD,OAAO,CAACC,IAAI,CAAC,kCAAkC,CAAC;IAChDD,OAAO,CAACM,GAAG,CAACnB,MAAM,CAACC,mBAAmB,CAAC;IACvCY,OAAO,CAACO,QAAQ,CAAC,CAAC;EACpB,CAAC;AACH","ignoreList":[]}
|
package/es/plugins/export.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import Autosave from './autosave';
|
|
2
|
-
import Keyboard from './keyboard';
|
|
3
|
-
import ConsoleDebugger from './console-debugger';
|
|
4
|
-
export { Autosave, Keyboard, ConsoleDebugger };
|
|
5
|
-
export default {
|
|
6
|
-
Autosave: Autosave,
|
|
7
|
-
Keyboard: Keyboard,
|
|
8
|
-
ConsoleDebugger: ConsoleDebugger
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=export.js.map
|
package/es/plugins/export.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","names":["Autosave","Keyboard","ConsoleDebugger"],"sources":["../../src/plugins/export.js"],"sourcesContent":["import Autosave from './autosave';\r\nimport Keyboard from './keyboard';\r\nimport ConsoleDebugger from './console-debugger';\r\n\r\nexport { Autosave, Keyboard, ConsoleDebugger };\r\n\r\nexport default {\r\n Autosave,\r\n Keyboard,\r\n ConsoleDebugger\r\n};\r\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,YAAY;AACjC,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,eAAe,MAAM,oBAAoB;AAEhD,SAASF,QAAQ,EAAEC,QAAQ,EAAEC,eAAe;AAE5C,eAAe;EACbF,QAAQ,EAARA,QAAQ;EACRC,QAAQ,EAARA,QAAQ;EACRC,eAAe,EAAfA;AACF,CAAC","ignoreList":[]}
|
package/es/plugins/keyboard.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { MODE_IDLE, MODE_3D_FIRST_PERSON, MODE_3D_VIEW, MODE_SNAPPING, KEYBOARD_BUTTON_CODE, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_ITEM_3D, MODE_DRAWING_ITEM } from '../constants';
|
|
2
|
-
import { rollback, undo, redo, recreate, uncreate, remove, toggleSnap, copyProperties, pasteProperties, shift2doff, shift2don } from '../actions/project-actions';
|
|
3
|
-
export default function keyboard() {
|
|
4
|
-
return function (store, stateExtractor) {
|
|
5
|
-
window.addEventListener('keydown', function (event) {
|
|
6
|
-
var state = stateExtractor(store.getState());
|
|
7
|
-
var mode = state.get('mode');
|
|
8
|
-
switch (event.keyCode) {
|
|
9
|
-
case KEYBOARD_BUTTON_CODE.BACKSPACE:
|
|
10
|
-
case KEYBOARD_BUTTON_CODE.DELETE:
|
|
11
|
-
{
|
|
12
|
-
if ([MODE_IDLE, MODE_3D_FIRST_PERSON, MODE_3D_VIEW, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, MODE_DRAGGING_ITEM_3D].includes(mode)) store.dispatch(remove());
|
|
13
|
-
break;
|
|
14
|
-
}
|
|
15
|
-
case KEYBOARD_BUTTON_CODE.ESC:
|
|
16
|
-
{
|
|
17
|
-
store.dispatch(rollback());
|
|
18
|
-
break;
|
|
19
|
-
}
|
|
20
|
-
case KEYBOARD_BUTTON_CODE.Z:
|
|
21
|
-
{
|
|
22
|
-
if (event.getModifierState('Control') || event.getModifierState('Meta')) store.dispatch(undo());
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
case KEYBOARD_BUTTON_CODE.Q:
|
|
26
|
-
{
|
|
27
|
-
if (event.getModifierState('Control') || event.getModifierState('Meta')) store.dispatch(redo());
|
|
28
|
-
break;
|
|
29
|
-
}
|
|
30
|
-
case KEYBOARD_BUTTON_CODE.ALT:
|
|
31
|
-
{
|
|
32
|
-
if (MODE_SNAPPING.includes(mode)) store.dispatch(toggleSnap(state.snapMask.merge({
|
|
33
|
-
SNAP_POINT: false,
|
|
34
|
-
SNAP_LINE: false,
|
|
35
|
-
SNAP_SEGMENT: false,
|
|
36
|
-
SNAP_GRID: false,
|
|
37
|
-
SNAP_GUIDE: false,
|
|
38
|
-
tempSnapConfiguartion: state.snapMask.toJS()
|
|
39
|
-
})));
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
case KEYBOARD_BUTTON_CODE.C:
|
|
43
|
-
{
|
|
44
|
-
var selectedLayer = state.getIn(['scene', 'selectedLayer']);
|
|
45
|
-
var selected = state.getIn(['scene', 'layers', selectedLayer, 'selected']);
|
|
46
|
-
if ((mode === MODE_IDLE || mode === MODE_3D_VIEW) && (selected.holes.size || selected.areas.size || selected.items.size || selected.lines.size)) {
|
|
47
|
-
if (selected.holes.size) {
|
|
48
|
-
var hole = state.getIn(['scene', 'layers', selectedLayer, 'holes', selected.holes.get(0)]);
|
|
49
|
-
store.dispatch(copyProperties(hole.get('properties')));
|
|
50
|
-
} else if (selected.areas.size) {
|
|
51
|
-
var area = state.getIn(['scene', 'layers', selectedLayer, 'areas', selected.areas.get(0)]);
|
|
52
|
-
store.dispatch(copyProperties(area.properties));
|
|
53
|
-
} else if (selected.items.size) {
|
|
54
|
-
var item = state.getIn(['scene', 'layers', selectedLayer, 'items', selected.items.get(0)]);
|
|
55
|
-
store.dispatch(copyProperties(item.properties));
|
|
56
|
-
} else if (selected.lines.size) {
|
|
57
|
-
var line = state.getIn(['scene', 'layers', selectedLayer, 'lines', selected.lines.get(0)]);
|
|
58
|
-
store.dispatch(copyProperties(line.properties));
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
case KEYBOARD_BUTTON_CODE.V:
|
|
64
|
-
{
|
|
65
|
-
store.dispatch(pasteProperties());
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
case KEYBOARD_BUTTON_CODE.SHIFT:
|
|
69
|
-
{
|
|
70
|
-
if (['TEXTAREA', 'INPUT'].includes(document.activeElement.tagName) === false) {
|
|
71
|
-
if ([MODE_DRAWING_ITEM_3D, MODE_IDLE_3D].includes(mode)) store.dispatch(recreate());else if ([MODE_DRAWING_ITEM, MODE_IDLE].includes(mode)) store.dispatch(shift2doff());
|
|
72
|
-
}
|
|
73
|
-
break;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
window.addEventListener('keyup', function (event) {
|
|
78
|
-
var state = stateExtractor(store.getState());
|
|
79
|
-
var mode = state.get('mode');
|
|
80
|
-
switch (event.keyCode) {
|
|
81
|
-
case KEYBOARD_BUTTON_CODE.ALT:
|
|
82
|
-
{
|
|
83
|
-
if (MODE_SNAPPING.includes(mode)) store.dispatch(toggleSnap(state.snapMask.merge(state.snapMask.get('tempSnapConfiguartion'))));
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
case KEYBOARD_BUTTON_CODE.CTRL:
|
|
87
|
-
{
|
|
88
|
-
// store.dispatch(setAlterateState());
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
case KEYBOARD_BUTTON_CODE.SHIFT:
|
|
92
|
-
{
|
|
93
|
-
if (['TEXTAREA', 'INPUT'].includes(document.activeElement.tagName) === false) {
|
|
94
|
-
if ([MODE_DRAWING_ITEM_3D, MODE_IDLE_3D].includes(mode)) store.dispatch(uncreate());else if ([MODE_DRAWING_ITEM, MODE_IDLE].includes(mode)) store.dispatch(shift2don());
|
|
95
|
-
}
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=keyboard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard.js","names":["MODE_IDLE","MODE_3D_FIRST_PERSON","MODE_3D_VIEW","MODE_SNAPPING","KEYBOARD_BUTTON_CODE","MODE_IDLE_3D","MODE_ROTATING_ITEM_3D","MODE_DRAGGING_ITEM_3D","MODE_DRAWING_ITEM_3D","MODE_DRAWING_ITEM","rollback","undo","redo","recreate","uncreate","remove","toggleSnap","copyProperties","pasteProperties","shift2doff","shift2don","keyboard","store","stateExtractor","window","addEventListener","event","state","getState","mode","get","keyCode","BACKSPACE","DELETE","includes","dispatch","ESC","Z","getModifierState","Q","ALT","snapMask","merge","SNAP_POINT","SNAP_LINE","SNAP_SEGMENT","SNAP_GRID","SNAP_GUIDE","tempSnapConfiguartion","toJS","C","selectedLayer","getIn","selected","holes","size","areas","items","lines","hole","area","properties","item","line","V","SHIFT","document","activeElement","tagName","CTRL"],"sources":["../../src/plugins/keyboard.js"],"sourcesContent":["import {\r\n MODE_IDLE,\r\n MODE_3D_FIRST_PERSON,\r\n MODE_3D_VIEW,\r\n MODE_SNAPPING,\r\n KEYBOARD_BUTTON_CODE,\r\n MODE_IDLE_3D,\r\n MODE_ROTATING_ITEM_3D,\r\n MODE_DRAGGING_ITEM_3D,\r\n MODE_DRAWING_ITEM_3D,\r\n MODE_DRAWING_ITEM\r\n} from '../constants';\r\n\r\nimport {\r\n rollback,\r\n undo,\r\n redo,\r\n recreate,\r\n uncreate,\r\n remove,\r\n toggleSnap,\r\n copyProperties,\r\n pasteProperties,\r\n shift2doff,\r\n shift2don\r\n} from '../actions/project-actions';\r\n\r\nexport default function keyboard() {\r\n return (store, stateExtractor) => {\r\n window.addEventListener('keydown', event => {\r\n let state = stateExtractor(store.getState());\r\n let mode = state.get('mode');\r\n switch (event.keyCode) {\r\n case KEYBOARD_BUTTON_CODE.BACKSPACE:\r\n case KEYBOARD_BUTTON_CODE.DELETE: {\r\n if (\r\n [\r\n MODE_IDLE,\r\n MODE_3D_FIRST_PERSON,\r\n MODE_3D_VIEW,\r\n MODE_IDLE_3D,\r\n MODE_ROTATING_ITEM_3D,\r\n MODE_DRAGGING_ITEM_3D\r\n ].includes(mode)\r\n )\r\n store.dispatch(remove());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.ESC: {\r\n store.dispatch(rollback());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.Z: {\r\n if (\r\n event.getModifierState('Control') ||\r\n event.getModifierState('Meta')\r\n )\r\n store.dispatch(undo());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.Q: {\r\n if (\r\n event.getModifierState('Control') ||\r\n event.getModifierState('Meta')\r\n )\r\n store.dispatch(redo());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.ALT: {\r\n if (MODE_SNAPPING.includes(mode))\r\n store.dispatch(\r\n toggleSnap(\r\n state.snapMask.merge({\r\n SNAP_POINT: false,\r\n SNAP_LINE: false,\r\n SNAP_SEGMENT: false,\r\n SNAP_GRID: false,\r\n SNAP_GUIDE: false,\r\n tempSnapConfiguartion: state.snapMask.toJS()\r\n })\r\n )\r\n );\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.C: {\r\n let selectedLayer = state.getIn(['scene', 'selectedLayer']);\r\n let selected = state.getIn([\r\n 'scene',\r\n 'layers',\r\n selectedLayer,\r\n 'selected'\r\n ]);\r\n if (\r\n (mode === MODE_IDLE || mode === MODE_3D_VIEW) &&\r\n (selected.holes.size ||\r\n selected.areas.size ||\r\n selected.items.size ||\r\n selected.lines.size)\r\n ) {\r\n if (selected.holes.size) {\r\n let hole = state.getIn([\r\n 'scene',\r\n 'layers',\r\n selectedLayer,\r\n 'holes',\r\n selected.holes.get(0)\r\n ]);\r\n store.dispatch(copyProperties(hole.get('properties')));\r\n } else if (selected.areas.size) {\r\n let area = state.getIn([\r\n 'scene',\r\n 'layers',\r\n selectedLayer,\r\n 'areas',\r\n selected.areas.get(0)\r\n ]);\r\n store.dispatch(copyProperties(area.properties));\r\n } else if (selected.items.size) {\r\n let item = state.getIn([\r\n 'scene',\r\n 'layers',\r\n selectedLayer,\r\n 'items',\r\n selected.items.get(0)\r\n ]);\r\n store.dispatch(copyProperties(item.properties));\r\n } else if (selected.lines.size) {\r\n let line = state.getIn([\r\n 'scene',\r\n 'layers',\r\n selectedLayer,\r\n 'lines',\r\n selected.lines.get(0)\r\n ]);\r\n store.dispatch(copyProperties(line.properties));\r\n }\r\n }\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.V: {\r\n store.dispatch(pasteProperties());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.SHIFT: {\r\n if (\r\n ['TEXTAREA', 'INPUT'].includes(document.activeElement.tagName) ===\r\n false\r\n ) {\r\n if ([MODE_DRAWING_ITEM_3D, MODE_IDLE_3D].includes(mode))\r\n store.dispatch(recreate());\r\n else if ([MODE_DRAWING_ITEM, MODE_IDLE].includes(mode))\r\n store.dispatch(shift2doff());\r\n }\r\n break;\r\n }\r\n }\r\n });\r\n\r\n window.addEventListener('keyup', event => {\r\n let state = stateExtractor(store.getState());\r\n let mode = state.get('mode');\r\n\r\n switch (event.keyCode) {\r\n case KEYBOARD_BUTTON_CODE.ALT: {\r\n if (MODE_SNAPPING.includes(mode))\r\n store.dispatch(\r\n toggleSnap(\r\n state.snapMask.merge(\r\n state.snapMask.get('tempSnapConfiguartion')\r\n )\r\n )\r\n );\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.CTRL: {\r\n // store.dispatch(setAlterateState());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.SHIFT: {\r\n if (\r\n ['TEXTAREA', 'INPUT'].includes(document.activeElement.tagName) ===\r\n false\r\n ) {\r\n if ([MODE_DRAWING_ITEM_3D, MODE_IDLE_3D].includes(mode))\r\n store.dispatch(uncreate());\r\n else if ([MODE_DRAWING_ITEM, MODE_IDLE].includes(mode))\r\n store.dispatch(shift2don());\r\n }\r\n break;\r\n }\r\n }\r\n });\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Area } from '../class/export';
|
|
2
|
-
import { SELECT_AREA, SET_FLOOR_STYLES } from '../constants';
|
|
3
|
-
export default function (state, action) {
|
|
4
|
-
switch (action.type) {
|
|
5
|
-
case SELECT_AREA:
|
|
6
|
-
return Area.select(state, action.layerID, action.areaID).updatedState;
|
|
7
|
-
case SET_FLOOR_STYLES:
|
|
8
|
-
return Area.setFloorStyles(state, action.texture).updatedState;
|
|
9
|
-
default:
|
|
10
|
-
return state;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=areas-reducer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"areas-reducer.js","names":["Area","SELECT_AREA","SET_FLOOR_STYLES","state","action","type","select","layerID","areaID","updatedState","setFloorStyles","texture"],"sources":["../../src/reducers/areas-reducer.js"],"sourcesContent":["import { Area } from '../class/export';\r\nimport { SELECT_AREA, SET_FLOOR_STYLES } from '../constants';\r\n\r\nexport default function (state, action) {\r\n switch (action.type) {\r\n case SELECT_AREA:\r\n return Area.select(state, action.layerID, action.areaID).updatedState;\r\n case SET_FLOOR_STYLES:\r\n return Area.setFloorStyles(state, action.texture).updatedState;\r\n default:\r\n return state;\r\n }\r\n}\r\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,SAASC,WAAW,EAAEC,gBAAgB,QAAQ,cAAc;AAE5D,eAAe,UAAUC,KAAK,EAAEC,MAAM,EAAE;EACtC,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAKJ,WAAW;MACd,OAAOD,IAAI,CAACM,MAAM,CAACH,KAAK,EAAEC,MAAM,CAACG,OAAO,EAAEH,MAAM,CAACI,MAAM,CAAC,CAACC,YAAY;IACvE,KAAKP,gBAAgB;MACnB,OAAOF,IAAI,CAACU,cAAc,CAACP,KAAK,EAAEC,MAAM,CAACO,OAAO,CAAC,CAACF,YAAY;IAChE;MACE,OAAON,KAAK;EAChB;AACF","ignoreList":[]}
|
package/es/reducers/export.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import KitchenConfiguratorAreasReducer from './areas-reducer';
|
|
2
|
-
import KitchenConfiguratorHolesReducer from './holes-reducer';
|
|
3
|
-
import KitchenConfiguratorItemsReducer from './items-reducer';
|
|
4
|
-
import KitchenConfiguratorLinesReducer from './lines-reducer';
|
|
5
|
-
import KitchenConfiguratorGroupsReducer from './groups-reducer';
|
|
6
|
-
import KitchenConfiguratorProjectReducer from './project-reducer';
|
|
7
|
-
import KitchenConfiguratorSceneReducer from './scene-reducer';
|
|
8
|
-
import KitchenConfiguratorVerticesReducer from './vertices-reducer';
|
|
9
|
-
import KitchenConfiguratorViewer2dReducer from './viewer2d-reducer';
|
|
10
|
-
import KitchenConfiguratorViewer3dReducer from './viewer3d-reducer';
|
|
11
|
-
import KitchenConfiguratorUserReducer from './user-reducer';
|
|
12
|
-
export { KitchenConfiguratorAreasReducer, KitchenConfiguratorHolesReducer, KitchenConfiguratorItemsReducer, KitchenConfiguratorLinesReducer, KitchenConfiguratorGroupsReducer, KitchenConfiguratorProjectReducer, KitchenConfiguratorSceneReducer, KitchenConfiguratorVerticesReducer, KitchenConfiguratorViewer2dReducer, KitchenConfiguratorViewer3dReducer, KitchenConfiguratorUserReducer };
|
|
13
|
-
export default {
|
|
14
|
-
KitchenConfiguratorAreasReducer: KitchenConfiguratorAreasReducer,
|
|
15
|
-
KitchenConfiguratorHolesReducer: KitchenConfiguratorHolesReducer,
|
|
16
|
-
KitchenConfiguratorItemsReducer: KitchenConfiguratorItemsReducer,
|
|
17
|
-
KitchenConfiguratorLinesReducer: KitchenConfiguratorLinesReducer,
|
|
18
|
-
KitchenConfiguratorGroupsReducer: KitchenConfiguratorGroupsReducer,
|
|
19
|
-
KitchenConfiguratorProjectReducer: KitchenConfiguratorProjectReducer,
|
|
20
|
-
KitchenConfiguratorSceneReducer: KitchenConfiguratorSceneReducer,
|
|
21
|
-
KitchenConfiguratorVerticesReducer: KitchenConfiguratorVerticesReducer,
|
|
22
|
-
KitchenConfiguratorViewer2dReducer: KitchenConfiguratorViewer2dReducer,
|
|
23
|
-
KitchenConfiguratorViewer3dReducer: KitchenConfiguratorViewer3dReducer,
|
|
24
|
-
KitchenConfiguratorUserReducer: KitchenConfiguratorUserReducer
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=export.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","names":["KitchenConfiguratorAreasReducer","KitchenConfiguratorHolesReducer","KitchenConfiguratorItemsReducer","KitchenConfiguratorLinesReducer","KitchenConfiguratorGroupsReducer","KitchenConfiguratorProjectReducer","KitchenConfiguratorSceneReducer","KitchenConfiguratorVerticesReducer","KitchenConfiguratorViewer2dReducer","KitchenConfiguratorViewer3dReducer","KitchenConfiguratorUserReducer"],"sources":["../../src/reducers/export.js"],"sourcesContent":["import KitchenConfiguratorAreasReducer from './areas-reducer';\r\nimport KitchenConfiguratorHolesReducer from './holes-reducer';\r\nimport KitchenConfiguratorItemsReducer from './items-reducer';\r\nimport KitchenConfiguratorLinesReducer from './lines-reducer';\r\nimport KitchenConfiguratorGroupsReducer from './groups-reducer';\r\nimport KitchenConfiguratorProjectReducer from './project-reducer';\r\nimport KitchenConfiguratorSceneReducer from './scene-reducer';\r\nimport KitchenConfiguratorVerticesReducer from './vertices-reducer';\r\nimport KitchenConfiguratorViewer2dReducer from './viewer2d-reducer';\r\nimport KitchenConfiguratorViewer3dReducer from './viewer3d-reducer';\r\nimport KitchenConfiguratorUserReducer from './user-reducer';\r\n\r\nexport {\r\n KitchenConfiguratorAreasReducer,\r\n KitchenConfiguratorHolesReducer,\r\n KitchenConfiguratorItemsReducer,\r\n KitchenConfiguratorLinesReducer,\r\n KitchenConfiguratorGroupsReducer,\r\n KitchenConfiguratorProjectReducer,\r\n KitchenConfiguratorSceneReducer,\r\n KitchenConfiguratorVerticesReducer,\r\n KitchenConfiguratorViewer2dReducer,\r\n KitchenConfiguratorViewer3dReducer,\r\n KitchenConfiguratorUserReducer\r\n};\r\n\r\nexport default {\r\n KitchenConfiguratorAreasReducer,\r\n KitchenConfiguratorHolesReducer,\r\n KitchenConfiguratorItemsReducer,\r\n KitchenConfiguratorLinesReducer,\r\n KitchenConfiguratorGroupsReducer,\r\n KitchenConfiguratorProjectReducer,\r\n KitchenConfiguratorSceneReducer,\r\n KitchenConfiguratorVerticesReducer,\r\n KitchenConfiguratorViewer2dReducer,\r\n KitchenConfiguratorViewer3dReducer,\r\n KitchenConfiguratorUserReducer\r\n};\r\n"],"mappings":"AAAA,OAAOA,+BAA+B,MAAM,iBAAiB;AAC7D,OAAOC,+BAA+B,MAAM,iBAAiB;AAC7D,OAAOC,+BAA+B,MAAM,iBAAiB;AAC7D,OAAOC,+BAA+B,MAAM,iBAAiB;AAC7D,OAAOC,gCAAgC,MAAM,kBAAkB;AAC/D,OAAOC,iCAAiC,MAAM,mBAAmB;AACjE,OAAOC,+BAA+B,MAAM,iBAAiB;AAC7D,OAAOC,kCAAkC,MAAM,oBAAoB;AACnE,OAAOC,kCAAkC,MAAM,oBAAoB;AACnE,OAAOC,kCAAkC,MAAM,oBAAoB;AACnE,OAAOC,8BAA8B,MAAM,gBAAgB;AAE3D,SACEV,+BAA+B,EAC/BC,+BAA+B,EAC/BC,+BAA+B,EAC/BC,+BAA+B,EAC/BC,gCAAgC,EAChCC,iCAAiC,EACjCC,+BAA+B,EAC/BC,kCAAkC,EAClCC,kCAAkC,EAClCC,kCAAkC,EAClCC,8BAA8B;AAGhC,eAAe;EACbV,+BAA+B,EAA/BA,+BAA+B;EAC/BC,+BAA+B,EAA/BA,+BAA+B;EAC/BC,+BAA+B,EAA/BA,+BAA+B;EAC/BC,+BAA+B,EAA/BA,+BAA+B;EAC/BC,gCAAgC,EAAhCA,gCAAgC;EAChCC,iCAAiC,EAAjCA,iCAAiC;EACjCC,+BAA+B,EAA/BA,+BAA+B;EAC/BC,kCAAkC,EAAlCA,kCAAkC;EAClCC,kCAAkC,EAAlCA,kCAAkC;EAClCC,kCAAkC,EAAlCA,kCAAkC;EAClCC,8BAA8B,EAA9BA;AACF,CAAC","ignoreList":[]}
|