@crystaldesign/diva-web-planner-react 26.13.0-beta.32 → 26.13.0-beta.34
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/build/esm/ArLaunchButton-ec44292e.js +477 -0
- package/build/esm/DrawerSwipeHint-6c16e4dd.js +130 -0
- package/build/esm/{Planner2DGrid-22f870a6.js → Planner2DGrid-52572805.js} +1 -1
- package/build/esm/{Planner3DImage-1d43b023.js → Planner3DImage-c975a601.js} +1 -1
- package/build/esm/RoundToggle-df1d64a1.js +84 -0
- package/build/esm/{UnlockCard-14c4eddd.js → UnlockCard-ec68ec95.js} +1 -1
- package/build/esm/{accessoryPlacementMode-c8256443.js → accessoryPlacementMode-80e0ec4d.js} +1 -1
- package/build/esm/doorSwap-7221fbe0.js +145 -0
- package/build/esm/{index-3baf9628.js → index-0174e1ab.js} +2 -2
- package/build/esm/{index-338c65ad.js → index-045d129c.js} +4 -4
- package/build/esm/{index-2aa2b66e.js → index-04d6ea43.js} +2 -2
- package/build/esm/{index-8641aeab.js → index-05b8722d.js} +78 -77
- package/build/esm/{index-c70ef227.js → index-06afdd17.js} +4 -4
- package/build/esm/{index-7704c449.js → index-0788018f.js} +3 -3
- package/build/esm/{index-a2f11e80.js → index-08ecdf41.js} +3 -3
- package/build/esm/{index-cfc5b372.js → index-0b47bc99.js} +2 -2
- package/build/esm/{index-b676179b.js → index-0b716c14.js} +2 -2
- package/build/esm/{index-752670c7.js → index-0e2dce8b.js} +48 -11
- package/build/esm/{index-262483a3.js → index-0ee98131.js} +2 -2
- package/build/esm/{index-56427db4.js → index-110d12e2.js} +2 -2
- package/build/esm/{index-2beca59c.js → index-12ec4a04.js} +2 -2
- package/build/esm/{index-726b4740.js → index-1371dc20.js} +2 -2
- package/build/esm/{index-838d5326.js → index-13e5d4d8.js} +2 -2
- package/build/esm/{index-64547950.js → index-14a0cb55.js} +7 -7
- package/build/esm/{index-09edd776.js → index-14cc08ce.js} +3 -3
- package/build/esm/{index-f299a845.js → index-1555b7f7.js} +24 -55
- package/build/esm/{index-37012998.js → index-15d996ee.js} +2 -2
- package/build/esm/{index-45b6f101.js → index-160d0263.js} +2 -2
- package/build/esm/{index-d64f66ac.js → index-165beb03.js} +3 -3
- package/build/esm/{index-23ff8156.js → index-17d9e652.js} +2 -2
- package/build/esm/{index-2e070af8.js → index-1842d5d1.js} +2 -2
- package/build/esm/{index-7cd75287.js → index-18827d08.js} +3 -3
- package/build/esm/{index-afda6f0b.js → index-18e4049a.js} +5 -5
- package/build/esm/{index-8656d4f0.js → index-1949dddc.js} +2 -2
- package/build/esm/{index-7febd15f.js → index-1986b66d.js} +2 -2
- package/build/esm/{index-3fbdea2e.js → index-19bd6f1f.js} +2 -2
- package/build/esm/{index-4fb5f532.js → index-1a7073a3.js} +2 -2
- package/build/esm/{index-0e52ee35.js → index-1a8f1a0f.js} +18 -18
- package/build/esm/{index-e0e86180.js → index-1bbf345f.js} +19 -19
- package/build/esm/{index-79c75ab0.js → index-1c7cf9a7.js} +143 -111
- package/build/esm/{index-da611df9.js → index-1c905193.js} +3 -3
- package/build/esm/{index-9c25d2ce.js → index-1e30b052.js} +2 -2
- package/build/esm/{index-532e9d9f.js → index-1e65b56c.js} +92 -90
- package/build/esm/{index-174c4dba.js → index-2183820d.js} +2 -2
- package/build/esm/{index-1c5fa5c5.js → index-2346258d.js} +30 -23
- package/build/esm/{index-391dd91a.js → index-2379ec51.js} +23 -23
- package/build/esm/{index-1ac52a4a.js → index-256bb698.js} +2 -2
- package/build/esm/{index-e00499bf.js → index-29816f98.js} +3 -3
- package/build/esm/{index-28d7b18b.js → index-2a1a332c.js} +86 -85
- package/build/esm/{index-ef985539.js → index-2a4ce18e.js} +2 -2
- package/build/esm/{index-8a67fa91.js → index-2af206ae.js} +2 -2
- package/build/esm/{index-ea5e69cc.js → index-2b1cee27.js} +3 -3
- package/build/esm/{index-c3f114d9.js → index-2c4cedb6.js} +2 -2
- package/build/esm/{index-42d1035d.js → index-2c7ce1c9.js} +1 -1
- package/build/esm/{index-bd14271a.js → index-2cf775cb.js} +2 -2
- package/build/esm/{index-b3a7741f.js → index-2ee1bdef.js} +6 -6
- package/build/esm/index-2f585084.js +36 -0
- package/build/esm/{index-ffe75ab4.js → index-31cd4c6a.js} +2 -2
- package/build/esm/{index-cd479865.js → index-320781f9.js} +3 -3
- package/build/esm/index-327cca2a.js +285 -0
- package/build/esm/{index-fb9118cd.js → index-3453801b.js} +6 -6
- package/build/esm/{index-6a35b2b5.js → index-347a2782.js} +6 -6
- package/build/esm/{index-21c3f3d8.js → index-348a4897.js} +3 -3
- package/build/esm/{index-32e16d31.js → index-35bcd664.js} +2 -2
- package/build/esm/{index-583d7573.js → index-365dddcd.js} +8 -8
- package/build/esm/{index-b31f75b3.js → index-36a27a09.js} +4 -4
- package/build/esm/{index-ba9cc19a.js → index-36b3c69a.js} +3 -3
- package/build/esm/{index-5da15353.js → index-373ecbf7.js} +6 -6
- package/build/esm/{index-8a3a2346.js → index-374700af.js} +2 -2
- package/build/esm/{index-183460c3.js → index-391984e3.js} +2 -2
- package/build/esm/{index-345a63da.js → index-39ab648c.js} +2 -2
- package/build/esm/{index-88ac5390.js → index-3a38dffb.js} +72 -72
- package/build/esm/{index-9bc78e81.js → index-3b485c37.js} +2170 -1240
- package/build/esm/{index-2afee278.js → index-3c1f9e03.js} +3 -3
- package/build/esm/{index-5d99df86.js → index-3eb9cbd0.js} +2 -2
- package/build/esm/{index-c9d26ba2.js → index-411039ff.js} +26 -6
- package/build/esm/{index-2684abca.js → index-41ac16cb.js} +3 -3
- package/build/esm/{index-c6aeb2b7.js → index-42b18bd3.js} +6 -6
- package/build/esm/{index-d66004b3.js → index-42fb67ad.js} +29 -24
- package/build/esm/{index-76b116ef.js → index-432cc5c2.js} +2 -2
- package/build/esm/{index-00690638.js → index-43370042.js} +113 -86
- package/build/esm/{index-3753e285.js → index-48e0a719.js} +2 -2
- package/build/esm/{index-c2d32a33.js → index-49d7ef12.js} +19 -19
- package/build/esm/{index-507f01c7.js → index-4a20693e.js} +92 -91
- package/build/esm/{index-a4467fa2.js → index-4bd0e745.js} +3 -3
- package/build/esm/{index-8b663b30.js → index-4be45ccf.js} +3 -3
- package/build/esm/{index-238f337d.js → index-4c5f604d.js} +2 -2
- package/build/esm/{index-87da6e15.js → index-4d5f6d24.js} +6 -6
- package/build/esm/{index-707c3b25.js → index-4f20300f.js} +2 -2
- package/build/esm/{index-88edc84c.js → index-510caf9a.js} +2 -2
- package/build/esm/{index-5caf9693.js → index-518dceca.js} +5 -5
- package/build/esm/{index-26ec1fe2.js → index-51c82470.js} +3 -3
- package/build/esm/{index-c9e218d7.js → index-52c55f3e.js} +2 -2
- package/build/esm/{index-1c3d719f.js → index-5742db43.js} +3 -3
- package/build/esm/{index-b61d98b3.js → index-57829ee8.js} +4 -4
- package/build/esm/{index-74b8196f.js → index-579f3ab2.js} +3 -3
- package/build/esm/{index-1268f97f.js → index-57d33669.js} +4 -4
- package/build/esm/{index-85cdc43a.js → index-584cfc59.js} +6 -6
- package/build/esm/{index-798071a0.js → index-58e816ac.js} +26 -20
- package/build/esm/{index-5a0e9327.js → index-594715c6.js} +2 -2
- package/build/esm/{index-a47b50b4.js → index-5d0c3352.js} +70 -70
- package/build/esm/{index-0d1d96de.js → index-6036d9a6.js} +2 -2
- package/build/esm/{index-91b99c16.js → index-60a250ee.js} +2 -2
- package/build/esm/{index-b1e2aa52.js → index-60da2886.js} +2 -2
- package/build/esm/{index-99ec1eeb.js → index-6103a34a.js} +67 -67
- package/build/esm/{index-11279735.js → index-61477368.js} +4 -4
- package/build/esm/{index-415ba7ea.js → index-61db0ae9.js} +69 -69
- package/build/esm/{index-aadc900e.js → index-67706603.js} +2 -2
- package/build/esm/{index-fbe6285c.js → index-68048857.js} +10 -4
- package/build/esm/{index-650f4da5.js → index-6923ca63.js} +2 -2
- package/build/esm/{index-f5cd22cf.js → index-6ae00b15.js} +26 -26
- package/build/esm/{index-49814de8.js → index-6bcb8bde.js} +9 -7
- package/build/esm/{index-749b4235.js → index-6be231e6.js} +3 -3
- package/build/esm/index-6c33ea39.js +109 -0
- package/build/esm/{index-61ddd670.js → index-6c491b5e.js} +2 -2
- package/build/esm/{index-66272241.js → index-6deb8866.js} +2 -2
- package/build/esm/{index-c5705bfb.js → index-7058ee83.js} +93 -92
- package/build/esm/{index-71c079b6.js → index-74e7073c.js} +9 -9
- package/build/esm/{index-59a3cafa.js → index-7726efaa.js} +2 -2
- package/build/esm/{index-d72e2302.js → index-7a76bd25.js} +2 -2
- package/build/esm/{index-35117017.js → index-7cb3b346.js} +20 -9
- package/build/esm/{index-ab4c1e6f.js → index-7d8dffbf.js} +2 -2
- package/build/esm/{index-bd2c413f.js → index-7f0caa25.js} +4 -4
- package/build/esm/{index-27876384.js → index-805fed75.js} +83 -72
- package/build/esm/{index-2d33ec85.js → index-809cb36a.js} +6 -6
- package/build/esm/{index-ac79b4bd.js → index-8238ef4e.js} +3 -3
- package/build/esm/{index-b3b2fa56.js → index-830eec5e.js} +4 -4
- package/build/esm/{index-bbad6235.js → index-83f4a38a.js} +2 -2
- package/build/esm/{index-8d5d6463.js → index-848bb111.js} +67 -67
- package/build/esm/{index-4f1283e7.js → index-854142cf.js} +7 -7
- package/build/esm/{index-f16e8f18.js → index-85771a1c.js} +2 -2
- package/build/esm/{index-41dda40c.js → index-85ea695c.js} +97 -89
- package/build/esm/{index-5b721550.js → index-877b96ae.js} +66 -66
- package/build/esm/{index-2cc58034.js → index-8c0408ed.js} +2 -2
- package/build/esm/{index-6b291fcd.js → index-8ca77a51.js} +2 -2
- package/build/esm/{index-9ba090b1.js → index-8d651370.js} +2 -2
- package/build/esm/{index-3a00677e.js → index-8ddbb7f3.js} +4 -4
- package/build/esm/{index-d279e7d7.js → index-8e855288.js} +2 -2
- package/build/esm/{index-f4b1b4ca.js → index-8fcc3384.js} +2 -2
- package/build/esm/{index-fa6d9921.js → index-90b6fed5.js} +2 -2
- package/build/esm/{index-ce9e1736.js → index-90f95aee.js} +9 -9
- package/build/esm/{index-bca1d026.js → index-922a6f8f.js} +3 -3
- package/build/esm/{index-60639f7a.js → index-92957f40.js} +3 -3
- package/build/esm/{index-798b1140.js → index-934fc408.js} +6 -6
- package/build/esm/{index-fc472f67.js → index-948f48f0.js} +2 -2
- package/build/esm/{index-2eea7937.js → index-9572f4b3.js} +2 -2
- package/build/esm/{index-c455c7c7.js → index-9661e65e.js} +71 -71
- package/build/esm/{index-74cf6eff.js → index-981cdc4c.js} +2 -2
- package/build/esm/{index-a2a89621.js → index-98e759c7.js} +3 -3
- package/build/esm/{index-21251b3a.js → index-99006a8f.js} +2 -2
- package/build/esm/{index-b9c2a4fa.js → index-99699ab2.js} +2 -2
- package/build/esm/{index-7ef075bc.js → index-99b93855.js} +2 -2
- package/build/esm/{index-3f7f4605.js → index-99d836d5.js} +4 -4
- package/build/esm/{index-d445c2ca.js → index-9a88f1b6.js} +4 -4
- package/build/esm/{index-a43e8cd3.js → index-9e936e0d.js} +2 -2
- package/build/esm/{index-7769c011.js → index-9f4db1c0.js} +2 -2
- package/build/esm/{index-fb72d936.js → index-9fc98bd1.js} +2 -2
- package/build/esm/{index-92595150.js → index-9fd78577.js} +2 -2
- package/build/esm/{index-b636fb93.js → index-a0ebeefe.js} +2 -2
- package/build/esm/{index-2cd15903.js → index-a2f686d5.js} +3 -3
- package/build/esm/{index-62756f3c.js → index-a4a5b9d8.js} +66 -66
- package/build/esm/{index-57fbea81.js → index-aa84890c.js} +2 -2
- package/build/esm/{index-ab5a664f.js → index-aa8740af.js} +289 -166
- package/build/esm/{index-a3f35aff.js → index-abaea594.js} +2 -2
- package/build/esm/{index-2683fc93.js → index-acdd8b4a.js} +4 -3
- package/build/esm/{index-2d6f9949.js → index-ad6979c8.js} +3 -3
- package/build/esm/{index-5b02211c.js → index-aebbf77c.js} +2 -2
- package/build/esm/{index-5ecc9ce8.js → index-b0237cc6.js} +2 -2
- package/build/esm/{index-e6cf3b27.js → index-b08227ec.js} +13 -13
- package/build/esm/{index-473f0e1f.js → index-b0fb4371.js} +6 -6
- package/build/esm/{index-d72f50e3.js → index-b0fd1232.js} +2 -2
- package/build/esm/index-b1f0598b.js +47 -0
- package/build/esm/{index-37f0f093.js → index-b2342b3b.js} +5 -5
- package/build/esm/{index-8a2c0f61.js → index-b237cf6a.js} +2 -2
- package/build/esm/{index-578abab3.js → index-b38b0a37.js} +19 -19
- package/build/esm/{index-d3b4172a.js → index-b45b140d.js} +2 -2
- package/build/esm/{index-fa389034.js → index-b603f0c2.js} +2 -2
- package/build/esm/{index-ed92f45d.js → index-b6d85849.js} +2 -2
- package/build/esm/{index-05452f91.js → index-b72d1304.js} +50 -4
- package/build/esm/{index-7133ee9a.js → index-b7416692.js} +2 -2
- package/build/esm/{index-a2722c39.js → index-b824e3c2.js} +2 -2
- package/build/esm/{index-32ae30ba.js → index-b862359d.js} +9 -7
- package/build/esm/{index-52645a94.js → index-b8b029eb.js} +108 -101
- package/build/esm/{index-d2c9d037.js → index-b8b78934.js} +22 -22
- package/build/esm/{index-be8badf9.js → index-b8e66bb8.js} +4 -4
- package/build/esm/{index-fc0b3d56.js → index-b9102efa.js} +2 -2
- package/build/esm/{index-3bf4071a.js → index-b922a24b.js} +109 -102
- package/build/esm/{index-05b340d5.js → index-bc68f216.js} +1 -1
- package/build/esm/{index-3c7af566.js → index-bc992185.js} +3 -3
- package/build/esm/{index-e3322f33.js → index-bef6eea2.js} +6 -6
- package/build/esm/{index-8a298ca1.js → index-c0bc6b72.js} +6 -6
- package/build/esm/{index-5424b98c.js → index-c13244ac.js} +2 -2
- package/build/esm/{index-41167e54.js → index-c2676711.js} +3 -3
- package/build/esm/{index-691e9af9.js → index-c4550e5f.js} +2 -2
- package/build/esm/{index-63809bac.js → index-c66a0e85.js} +2 -2
- package/build/esm/{index-57528dba.js → index-c8dbc46a.js} +2 -2
- package/build/esm/{index-1a5a7f1c.js → index-c950f011.js} +4 -4
- package/build/esm/{index-8e4596e3.js → index-ce3e4dab.js} +2 -2
- package/build/esm/{index-a8277dc6.js → index-d400ee38.js} +3 -3
- package/build/esm/{index-2dd37a09.js → index-d4a4310e.js} +16 -16
- package/build/esm/{index-0557e789.js → index-d505842e.js} +2 -2
- package/build/esm/{index-5f9284b1.js → index-d644fba2.js} +2 -2
- package/build/esm/{index-908c80b7.js → index-d66cb7b7.js} +4 -4
- package/build/esm/{index-2755cd16.js → index-d7c11fb3.js} +2 -2
- package/build/esm/{index-7ae01951.js → index-d898d73f.js} +2 -2
- package/build/esm/{index-111222b9.js → index-d91c5913.js} +69 -69
- package/build/esm/{index-ba665341.js → index-d98585f5.js} +4 -4
- package/build/esm/{index-31103b90.js → index-dab6cd67.js} +2 -2
- package/build/esm/{index-ad4e779b.js → index-dd9de8c1.js} +9 -9
- package/build/esm/index-e0130cb1.js +160 -0
- package/build/esm/{index-f9402231.js → index-e0e01d41.js} +68 -68
- package/build/esm/{index-b70292f4.js → index-e16a229f.js} +2 -2
- package/build/esm/{index-3b18fa4f.js → index-e66d1a66.js} +3 -3
- package/build/esm/{index-cdf3148d.js → index-e83df305.js} +3 -3
- package/build/esm/{index-e4d09f0f.js → index-e98bd1d1.js} +2 -2
- package/build/esm/{index-7e28e9e4.js → index-eb331edc.js} +4 -4
- package/build/esm/{index-182dc5d6.js → index-ec308d89.js} +92 -91
- package/build/esm/{index-f5ccf9c6.js → index-ed729790.js} +2 -2
- package/build/esm/{index-563fdc3f.js → index-edbaaff3.js} +5 -5
- package/build/esm/{index-bd1a711a.js → index-eeceb19b.js} +3 -3
- package/build/esm/{index-a34e2c6b.js → index-efbe0065.js} +2 -2
- package/build/esm/{index-7abb11f1.js → index-f1d9738f.js} +2 -2
- package/build/esm/{index-a3b01e6c.js → index-f207c27b.js} +1 -1
- package/build/esm/{index-d821d22e.js → index-f24bbb61.js} +2 -2
- package/build/esm/{index-d42f2640.js → index-f5230397.js} +2 -2
- package/build/esm/{index-6b0d0288.js → index-f54810a9.js} +2 -2
- package/build/esm/{index-0f442033.js → index-f678f242.js} +4 -4
- package/build/esm/{index-3b3ba6dc.js → index-f9ca707a.js} +2 -2
- package/build/esm/index-f9f58742.js +375 -0
- package/build/esm/{index-0d87e18d.js → index-fa86fa7e.js} +2 -2
- package/build/esm/{index-5a38a65c.js → index-fa962844.js} +8 -8
- package/build/esm/{index-06675274.js → index-ff8dba58.js} +2 -2
- package/build/esm/index.js +2 -2
- package/build/esm/{index.module-dd224fc7.js → index.module-368226e3.js} +1 -1
- package/build/esm/{index.module-f69e57fe.js → index.module-40faa7fd.js} +1 -1
- package/build/esm/{index.module-10369712.js → index.module-467e6989.js} +1 -1
- package/build/esm/{index.module-6adda0b3.js → index.module-4cbf75b7.js} +1 -1
- package/build/esm/{index.module-943c3c89.js → index.module-77f29b1f.js} +1 -1
- package/build/esm/{index.module-f8039cb8.js → index.module-7aa72761.js} +1 -1
- package/build/esm/{index.module-d2581dbc.js → index.module-bac37b1e.js} +1 -1
- package/build/esm/{index.module-3383a38a.js → index.module-cfdd27f5.js} +1 -1
- package/build/esm/{useCustomDimensions-c30d3202.js → useCustomDimensions-b04e6464.js} +1 -1
- package/build/esm/useSteppedWithoutSwipe-4d19eadb.js +37 -0
- package/build/esm/{ussIsSticky-7316ebaf.js → ussIsSticky-ab3be522.js} +1 -1
- package/build/types/web-planner-react/src/components/GlobalElements/ArticleOverviewSlider/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Product/ContentItemWrapper/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Product/Product/catalog/Sidebar/index.d.ts +4 -2
- package/build/types/web-planner-react/src/components/Product/Product/catalog/Sidebar/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Product/Product/catalog/index.d.ts +1 -1
- package/build/types/web-planner-react/src/components/Product/Product/catalog/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Product/Product/standard/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/ArLaunchButton.d.ts +6 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/ArLaunchButton.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/arIframe.d.ts +11 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/arIframe.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/arIframe.test.d.ts +2 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/arIframe.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/index.d.ts +6 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/index.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/webXrModel.d.ts +14 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/webXrModel.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/webXrModel.test.d.ts +2 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ArLaunch/webXrModel.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/DimensionLinesToggle/useDimensionLinesToggle.d.ts +15 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/DimensionLinesToggle/useDimensionLinesToggle.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/DimensionLinesToggle/useDimensionLinesToggle.test.d.ts +2 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/DimensionLinesToggle/useDimensionLinesToggle.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/MobileNavIcons/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Product/ProductCenter/Planner3DImage/NavBar/gold/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Product/ProductCenter/Planner3DImage/NavBar/standard/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/cameraStep.d.ts +7 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/cameraStep.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/doorSwap.d.ts +54 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/doorSwap.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/doorSwapScene.d.ts +8 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/doorSwapScene.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Product/ProductCenter/SceneSelection/index.d.ts +6 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/SceneSelection/index.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ViewerButtonColumn/index.d.ts +8 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ViewerButtonColumn/index.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ViewerToggles/RoundToggle.d.ts +29 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ViewerToggles/RoundToggle.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ViewerToggles/index.d.ts +24 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ViewerToggles/index.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ViewerToggles/useViewSwitcher.d.ts +16 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ViewerToggles/useViewSwitcher.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ViewerToggles/useViewSwitcher.test.d.ts +2 -0
- package/build/types/web-planner-react/src/components/Product/ProductCenter/ViewerToggles/useViewSwitcher.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Product/ProductHeader/ProductHeader/standard/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Settings/SettingsScroller/SettingsItem/ItemPalette/DoorPlanner/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Settings/SettingsScroller/SettingsItem/ItemPalette/ShelfPlanner/ShelfAccessoires/index.d.ts +5 -1
- package/build/types/web-planner-react/src/components/Settings/SettingsScroller/SettingsItem/ItemPalette/ShelfPlanner/ShelfAccessoires/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Settings/SettingsScroller/SettingsItem/ItemPalette/ShelfPlanner/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Settings/SettingsScroller/SettingsItem/index.d.ts +2 -0
- package/build/types/web-planner-react/src/components/Settings/SettingsScroller/SettingsItem/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Settings/SettingsScroller/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/DrawerSwipeHint.d.ts +11 -0
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/DrawerSwipeHint.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/swipeCoach.d.ts +14 -0
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/swipeCoach.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/swipeCoach.test.d.ts +5 -0
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/swipeCoach.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/useSteppedWithoutSwipe.d.ts +11 -0
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/useSteppedWithoutSwipe.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/useSteppedWithoutSwipe.test.d.ts +2 -0
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/useSteppedWithoutSwipe.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/useSwiperHook.d.ts +2 -1
- package/build/types/web-planner-react/src/components/Settings/SettingsSwiper/useSwiperHook.d.ts.map +1 -1
- package/build/types/web-planner-react/src/components/TabGroup/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/index.d.ts +1 -1
- package/build/types/web-planner-react/src/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/DivaViewHandler.d.ts +28 -9
- package/build/types/web-planner-react/src/model/DivaViewHandler.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/Palette/PaletteViewHandler.d.ts +6 -4
- package/build/types/web-planner-react/src/model/Palette/PaletteViewHandler.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/Palette/Steps/PlannerStep/PlannerItems.d.ts +0 -6
- package/build/types/web-planner-react/src/model/Palette/Steps/PlannerStep/PlannerItems.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/Planner/ViewPlannerHandler.d.ts +8 -1
- package/build/types/web-planner-react/src/model/Planner/ViewPlannerHandler.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/Planner/captureSetImages.d.ts +38 -7
- package/build/types/web-planner-react/src/model/Planner/captureSetImages.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/Planner/exportSetGlb.d.ts +8 -3
- package/build/types/web-planner-react/src/model/Planner/exportSetGlb.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/Planner/loadRtvStore.d.ts +3 -0
- package/build/types/web-planner-react/src/model/Planner/loadRtvStore.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/Planner/plannerScene2D.d.ts +17 -0
- package/build/types/web-planner-react/src/model/Planner/plannerScene2D.d.ts.map +1 -0
- package/build/types/web-planner-react/src/model/States/UIState/Product/index.d.ts +42 -8
- package/build/types/web-planner-react/src/model/States/UIState/Product/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/States/UIState/Settings/index.d.ts +9 -2
- package/build/types/web-planner-react/src/model/States/UIState/Settings/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/States/UIState/Tabgroups/index.d.ts +2 -0
- package/build/types/web-planner-react/src/model/States/UIState/Tabgroups/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/States/UIState/index.d.ts +4 -1
- package/build/types/web-planner-react/src/model/States/UIState/index.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/TabGroup/ConfiguratorStructureHandler.d.ts.map +1 -1
- package/build/types/web-planner-react/src/model/doorsToggle.d.ts +44 -0
- package/build/types/web-planner-react/src/model/doorsToggle.d.ts.map +1 -0
- package/build/types/web-planner-react/src/model/doorsToggle.test.d.ts +2 -0
- package/build/types/web-planner-react/src/model/doorsToggle.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/model/stateToggles.d.ts +28 -0
- package/build/types/web-planner-react/src/model/stateToggles.d.ts.map +1 -0
- package/build/types/web-planner-react/src/model/stateToggles.test.d.ts +2 -0
- package/build/types/web-planner-react/src/model/stateToggles.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/model/types.d.ts +16 -0
- package/build/types/web-planner-react/src/model/types.d.ts.map +1 -1
- package/build/types/web-planner-react/src/tests/ArLaunchButton.whenExportable.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/ArLaunchButton.whenExportable.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/ArticleOverviewSlider.arEntry.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/ArticleOverviewSlider.arEntry.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/ContentItemWrapper.outsideClick.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/ContentItemWrapper.outsideClick.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/DivaViewHandler.roomScenes.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/DivaViewHandler.roomScenes.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/PaletteViewHandler.shelfPlacement.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/PaletteViewHandler.shelfPlacement.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/ProductState.analyzerErrors.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/ProductState.analyzerErrors.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/ProductState.sceneDimensionLines.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/ProductState.sceneDimensionLines.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/ProductState.summaryRenderings.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/ProductState.summaryRenderings.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/ShelfAccessoires.touchDrag.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/ShelfAccessoires.touchDrag.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/TabGroupState.exitSummary.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/TabGroupState.exitSummary.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/UIState.mobileView.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/UIState.mobileView.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/ViewPlannerHandler.shownSelection.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/ViewPlannerHandler.shownSelection.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/planner/SceneSelection.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/planner/SceneSelection.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/planner/cameraStep.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/planner/cameraStep.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/planner/componentsBundle.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/planner/componentsBundle.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/planner/doorSwap.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/planner/doorSwap.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/tests/planner/rtvNextImports.test.d.ts +2 -0
- package/build/types/web-planner-react/src/tests/planner/rtvNextImports.test.d.ts.map +1 -0
- package/build/types/web-planner-react/src/utils/buttonControlProps.d.ts +13 -0
- package/build/types/web-planner-react/src/utils/buttonControlProps.d.ts.map +1 -0
- package/build/types/web-planner-react/src/utils/rtvNext.d.ts +6 -0
- package/build/types/web-planner-react/src/utils/rtvNext.d.ts.map +1 -1
- package/build/umd/1011.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1017.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1026.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1064.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1067.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1081.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/117.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1247.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1280.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1313.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1316.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1421.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1429.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1449.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1450.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1451.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1461.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1461.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1488.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1500.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1559.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1596.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/172.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/181.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1839.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1899.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1912.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1919.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1932.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1970.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/1972.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2016.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2018.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2027.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2077.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2143.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2147.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2210.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2240.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2240.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/226.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/226.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2407.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2411.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2458.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2476.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2476.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2496.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2535.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2582.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2586.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2659.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2667.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/269.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/274.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2765.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2951.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3090.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3156.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3167.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3189.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3221.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3226.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3257.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3276.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3340.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3361.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3374.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3374.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3455.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3455.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3492.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3562.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3591.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3591.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3596.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3613.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3863.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3879.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/39.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3947.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3981.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4042.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4069.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4081.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4093.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4103.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/412.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4167.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4178.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4286.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/432.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4342.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4414.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4414.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4533.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4558.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4572.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4580.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4585.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4606.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4642.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/4690.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4690.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4903.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5067.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/509.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5115.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5162.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5174.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5222.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5262.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5414.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5464.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/549.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5499.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5533.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5533.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5552.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5656.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5663.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/567.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5719.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5755.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5755.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5765.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5782.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/580.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/580.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5812.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5859.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5889.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5992.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5992.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6025.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6041.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6079.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/612.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6196.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6253.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6315.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6335.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6343.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/646.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6561.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6609.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6641.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/67.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6706.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/673.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6871.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6882.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6937.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/6960.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7007.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7007.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7026.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7037.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7040.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7046.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7052.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7196.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/720.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7311.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7406.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7442.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7449.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7472.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7529.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7577.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7623.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7625.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7654.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7682.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7684.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/769.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7792.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7847.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7853.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7887.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7928.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8029.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8063.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8234.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8445.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8449.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8487.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/858.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8584.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/859.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8617.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8617.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8629.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/863.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8701.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8717.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8742.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8757.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8757.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8837.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8850.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8882.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8938.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/8956.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9002.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/902.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9121.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9147.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9273.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9290.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9291.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9524.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9566.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9587.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9607.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9638.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9643.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9673.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9715.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9770.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/9942.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/report.html +1 -1
- package/package.json +10 -11
- package/build/esm/index-c08f2196.js +0 -148
- package/build/esm/index-f3c10226.js +0 -218
- package/build/umd/1337.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1337.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3138.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3138.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5406.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5406.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8471.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8471.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8654.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8654.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
2
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
3
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
|
+
import { g as blobToDataUrl, r as reencodeJpegDataUrl, u as useViewHandler, h as useRTVAnalyzerComponentsFromPlanner, i as registerRtvNextViewer, n as notifyRtvSceneReady, j as buildPlannerScene2D, k as environmentPreset } from './index-3b485c37.js';
|
|
5
|
+
import { useRef, useEffect, useState, useMemo } from 'react';
|
|
6
6
|
import { observer } from 'mobx-react-lite';
|
|
7
|
-
import { getLogger, useDivaCore } from '@crystaldesign/diva-core';
|
|
8
|
-
import RealTimeRendererNext, { emitConfig, ENVIRONMENT_CONFIG, useRTVStore, WHITE_ROOM_PRESET,
|
|
7
|
+
import { getLogger, useDivaCore, useTranslation } from '@crystaldesign/diva-core';
|
|
8
|
+
import RealTimeRendererNext, { emitConfig, ENVIRONMENT_CONFIG, useRTVStore, doorKeyOf, qualifiedElementKey, WHITE_ROOM_PRESET, findPlannedAccessory, parseAccessoryPath, buildScene2D, getDimensionConfigs } from '@crystaldesign/real-time-viewer-next';
|
|
9
9
|
import { bootMark } from '@crystaldesign/web-planner-logic';
|
|
10
|
-
import { A as ACCESSORY_PLACEMENT_MODE } from './accessoryPlacementMode-
|
|
10
|
+
import { A as ACCESSORY_PLACEMENT_MODE } from './accessoryPlacementMode-80e0ec4d.js';
|
|
11
11
|
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
12
12
|
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
13
|
-
import {
|
|
13
|
+
import { swapDoorSlotsByKey, useDoorSwapTexts, isDoorSwap3DStep, doorPlannerSlots, findDoorPlannerPalette } from './doorSwap-7221fbe0.js';
|
|
14
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
14
15
|
import 'react-dynamic-multi-render';
|
|
15
16
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
16
17
|
import '@babel/runtime/helpers/classCallCheck';
|
|
@@ -24,9 +25,9 @@ import 'flat';
|
|
|
24
25
|
import 'react-switch';
|
|
25
26
|
import 'react-countup';
|
|
26
27
|
|
|
27
|
-
function _createForOfIteratorHelper$
|
|
28
|
-
function _unsupportedIterableToArray$
|
|
29
|
-
function _arrayLikeToArray$
|
|
28
|
+
function _createForOfIteratorHelper$2(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$2(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
29
|
+
function _unsupportedIterableToArray$2(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$2(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0; } }
|
|
30
|
+
function _arrayLikeToArray$2(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
30
31
|
function ownKeys$1(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; }
|
|
31
32
|
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
32
33
|
var LOG = getLogger('Planner', 'CreateImageShot');
|
|
@@ -120,7 +121,7 @@ function useCreateImageShot(viewHandler, scene2d, preset) {
|
|
|
120
121
|
throw new Error('captureShots returned no result');
|
|
121
122
|
case 12:
|
|
122
123
|
images = [];
|
|
123
|
-
_iterator = _createForOfIteratorHelper$
|
|
124
|
+
_iterator = _createForOfIteratorHelper$2(cfg.formats);
|
|
124
125
|
_context.prev = 14;
|
|
125
126
|
_iterator.s();
|
|
126
127
|
case 16:
|
|
@@ -200,104 +201,134 @@ function useCreateImageShot(viewHandler, scene2d, preset) {
|
|
|
200
201
|
}, [enabled, signature, viewHandler, preset]);
|
|
201
202
|
}
|
|
202
203
|
|
|
204
|
+
/**
|
|
205
|
+
* The configurator step as rtv-next's camera table keys it. A shelf planner inside an option tab group is a
|
|
206
|
+
* `SHELFPLANNER` step, as in `DivaViewHandler.getState()`.
|
|
207
|
+
*/
|
|
208
|
+
function cameraStepIdentity(configStepKey, tabGroupType, optionCodex) {
|
|
209
|
+
return {
|
|
210
|
+
key: configStepKey,
|
|
211
|
+
type: optionCodex !== null && optionCodex !== void 0 && optionCodex.startsWith('SHELFARTICLE_') ? 'SHELFPLANNER' : tabGroupType,
|
|
212
|
+
optionCodex: optionCodex
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
function _createForOfIteratorHelper$1(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$1(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
217
|
+
function _unsupportedIterableToArray$1(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$1(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0; } }
|
|
218
|
+
function _arrayLikeToArray$1(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
219
|
+
/**
|
|
220
|
+
* The viewer's door list (`doorSwap.doors`): per slot, its live `currentDoor` named as the 3D scene names it — by the
|
|
221
|
+
* element the door was planned on (`elementIdOf` its basket), which a moved door keeps, and its door type.
|
|
222
|
+
*/
|
|
223
|
+
function buildDoorSwapDoors(slots, setId, elementIdOf) {
|
|
224
|
+
var doors = [];
|
|
225
|
+
var _iterator = _createForOfIteratorHelper$1(slots),
|
|
226
|
+
_step;
|
|
227
|
+
try {
|
|
228
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
229
|
+
var slot = _step.value;
|
|
230
|
+
var current = slot.door.currentDoor;
|
|
231
|
+
var elementId = elementIdOf(current.BasketId);
|
|
232
|
+
if (elementId == null || elementId < 0) continue;
|
|
233
|
+
doors.push({
|
|
234
|
+
doorKey: doorKeyOf(qualifiedElementKey(setId, elementId), current.Type),
|
|
235
|
+
slotKey: slot.key,
|
|
236
|
+
strictType: current.StrictType
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
} catch (err) {
|
|
240
|
+
_iterator.e(err);
|
|
241
|
+
} finally {
|
|
242
|
+
_iterator.f();
|
|
243
|
+
}
|
|
244
|
+
return doors;
|
|
245
|
+
}
|
|
246
|
+
|
|
203
247
|
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; }
|
|
204
248
|
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; }
|
|
205
249
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
206
250
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
207
251
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
208
252
|
var PLANNER_TAB_GROUP_TYPES = new Set(['PLANNER', 'ACC_PLANNER', 'PLANNER_2.0']);
|
|
253
|
+
var MISSING_GEO_MSG_MS = 10000;
|
|
209
254
|
|
|
210
255
|
// Environment config (lighting / HDRI / dome / post-processing / selection look) comes from ONE
|
|
211
256
|
// channel: the preset — catalog RTV_PRESET meta tag when present, else WHITE_ROOM_PRESET — passed
|
|
212
257
|
// via `config.profiles` below. With ?rtv-debug mounted, the analyzer preset channel overrides it.
|
|
213
258
|
|
|
214
|
-
|
|
259
|
+
/** True when the placed shelf accessory at this composite key (`"2.0.6"`) is flagged `noDelete`. */
|
|
260
|
+
function isAccessoryDeleteLocked(viewHandler, shelfElementId) {
|
|
261
|
+
var _findPlannedAccessory;
|
|
262
|
+
return !!((_findPlannedAccessory = findPlannedAccessory(viewHandler.settingsState.plannedPlacesOnGrids, parseAccessoryPath(shelfElementId !== null && shelfElementId !== void 0 ? shelfElementId : ''))) !== null && _findPlannedAccessory !== void 0 && (_findPlannedAccessory = _findPlannedAccessory.accessory) !== null && _findPlannedAccessory !== void 0 && _findPlannedAccessory.noDelete);
|
|
263
|
+
}
|
|
215
264
|
|
|
216
265
|
/**
|
|
217
|
-
* The planner
|
|
218
|
-
*
|
|
219
|
-
* planning whose articles carry a dimension config (catalog DIMENSION_CONFIG) is a static drawing (pool plan).
|
|
266
|
+
* The shelf-planner step: its own SHELFPLANNER tab group, or a shelf planner (`SHELFARTICLE_…`) shown as an option step
|
|
267
|
+
* inside another tab group; read through the observable tab-group mirror, so a step change re-renders.
|
|
220
268
|
*/
|
|
221
|
-
function
|
|
222
|
-
var
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
var dimensionConfigs = getDimensionConfigs(catalog === null || catalog === void 0 ? void 0 : catalog.dimensionConfig2D);
|
|
228
|
-
var isPoolPlanning = _toConsumableArray(dict.values()).some(function (plannerElements) {
|
|
229
|
-
return plannerElements.some(function (pe) {
|
|
230
|
-
return dimensionConfigs[pe.ArticleCodex] != null;
|
|
231
|
-
});
|
|
232
|
-
});
|
|
233
|
-
var scene2d = buildScene2D(dict, {
|
|
234
|
-
fontUrl: catalog === null || catalog === void 0 ? void 0 : catalog.plan2DFontUrl,
|
|
235
|
-
dimensionConfigs: dimensionConfigs,
|
|
236
|
-
// `{...}` placeholders resolve via the article template engine (same syntax as supplierOrderCodex templates),
|
|
237
|
-
// e.g. `widthPrefix: '{2300.vCodex}x'` → "6x"
|
|
238
|
-
resolveTemplate: function resolveTemplate(basketId, text) {
|
|
239
|
-
return viewHandler.divaWebPlanner.convertTemplateToCodex(basketId, text);
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
return {
|
|
243
|
-
scene2d: scene2d,
|
|
244
|
-
isPoolPlanning: isPoolPlanning
|
|
245
|
-
};
|
|
269
|
+
function shelfStepActive(viewHandler) {
|
|
270
|
+
var _viewHandler$tabGroup = viewHandler.tabGroupState,
|
|
271
|
+
curTabGroup = _viewHandler$tabGroup.curTabGroup,
|
|
272
|
+
curOption = _viewHandler$tabGroup.curOption;
|
|
273
|
+
if ((curTabGroup === null || curTabGroup === void 0 ? void 0 : curTabGroup.type) === 'SHELFPLANNER' || curOption !== null && curOption !== void 0 && curOption.codex.startsWith('SHELFARTICLE_')) return true;
|
|
274
|
+
return viewHandler.tabgroupTypeActive('SHELFPLANNER');
|
|
246
275
|
}
|
|
247
|
-
|
|
248
276
|
/**
|
|
249
|
-
*
|
|
250
|
-
*
|
|
251
|
-
* `productState.rtvSelectedElementId` (planner truth) — `articleInfos.isActive`
|
|
252
|
-
* is only consulted for `posNr` / `canDelete` metadata so that a configurator
|
|
253
|
-
* lag after canvas deselect does not paint a deselected element as selected.
|
|
277
|
+
* Builds per-element overlay info from `plannedElementsDict` + `articleInfos`; "selected" comes from the planner's
|
|
278
|
+
* `productState.rtvSelectedElementId`, as `articleInfos.isActive` lags behind a canvas deselect.
|
|
254
279
|
*/
|
|
255
|
-
function buildElementsInfoFromArticles(viewHandler) {
|
|
256
|
-
var _viewHandler$
|
|
257
|
-
// Keyed by
|
|
258
|
-
// accessories — matches what rtv-next parses from the 3D node name.
|
|
280
|
+
function buildElementsInfoFromArticles(viewHandler, inPlannerStep) {
|
|
281
|
+
var _viewHandler$divaWebP, _viewHandler$divaWebP2, _viewHandler$tabGroup2;
|
|
282
|
+
// Keyed by `qualifiedElementKey(setId, shelfElementId)` (`shelfElementId`: `"2"` for mains, `"2.0.6"` for
|
|
283
|
+
// accessories) — matches what rtv-next parses from the 3D node name; element ids repeat across sets.
|
|
259
284
|
var map = new Map();
|
|
260
285
|
var articleInfos = viewHandler.settingsState.articleInfos;
|
|
261
286
|
var dict = viewHandler.viewPlannerHandler.plannedElementsDict;
|
|
262
287
|
var selectedElementId = viewHandler.productState.rtvSelectedElementId;
|
|
288
|
+
var selectedSetId = viewHandler.productState.rtvSelectedSetId;
|
|
289
|
+
var activeSetId = (_viewHandler$divaWebP = viewHandler.divaWebPlanner.actSet()) === null || _viewHandler$divaWebP === void 0 ? void 0 : _viewHandler$divaWebP.getSetId();
|
|
290
|
+
var setsById = new Map(viewHandler.divaWebPlanner.setsAsArray.map(function (set) {
|
|
291
|
+
return [set.getSetId(), set];
|
|
292
|
+
}));
|
|
263
293
|
// In the shelf-planner step planning targets ALL corpora, so no main article is pickable (the
|
|
264
294
|
// corpus is navigated context → `active`: no hover, click is a no-op) and the shelf accessories
|
|
265
295
|
// are the only selectable things. Outside the step a shelf accessory is only pickable when the
|
|
266
296
|
// current configStep makes it configurable (`article.isActive`); otherwise it's inert and clicks/
|
|
267
297
|
// hover fall through to the parent corpus (`unselectable` → walk-to-ancestor in rtv-next).
|
|
268
|
-
var isShelfStep = (
|
|
298
|
+
var isShelfStep = shelfStepActive(viewHandler);
|
|
299
|
+
// While the doors are swapped in 3D only the doors are picked: elements are context (`active`).
|
|
300
|
+
var isDoorStep = isDoorSwap3DStep(viewHandler);
|
|
269
301
|
|
|
270
302
|
// AVL/AVR element copy (catalog property ELEMENT_COPY_AVLR): copy buttons on the selected
|
|
271
303
|
// standard-planner element that plan a copy docked at its free AVL/AVR docking point. `true`
|
|
272
304
|
// enables them in planner steps; a list of option codexes additionally enables them while one
|
|
273
305
|
// of those option steps is visited (the configurator-selected element is the copy source).
|
|
274
|
-
var
|
|
275
|
-
|
|
276
|
-
return t != null && PLANNER_TAB_GROUP_TYPES.has(t);
|
|
277
|
-
}();
|
|
278
|
-
var copyAVLRCfg = (_viewHandler$divaWebP = viewHandler.divaWebPlanner.getCatalogData()) === null || _viewHandler$divaWebP === void 0 ? void 0 : _viewHandler$divaWebP.elementCopyAVLR;
|
|
279
|
-
var curOptionCodex = (_viewHandler$tabGroup3 = viewHandler.tabGroupState.curOption) === null || _viewHandler$tabGroup3 === void 0 ? void 0 : _viewHandler$tabGroup3.codex;
|
|
306
|
+
var copyAVLRCfg = (_viewHandler$divaWebP2 = viewHandler.divaWebPlanner.getCatalogData()) === null || _viewHandler$divaWebP2 === void 0 ? void 0 : _viewHandler$divaWebP2.elementCopyAVLR;
|
|
307
|
+
var curOptionCodex = (_viewHandler$tabGroup2 = viewHandler.tabGroupState.curOption) === null || _viewHandler$tabGroup2 === void 0 ? void 0 : _viewHandler$tabGroup2.codex;
|
|
280
308
|
var avlrCopyEnabled = copyAVLRCfg != null && (inPlannerStep || Array.isArray(copyAVLRCfg) && curOptionCodex != null && copyAVLRCfg.includes(curOptionCodex));
|
|
281
309
|
|
|
282
310
|
// State for a single article entry, applying the step-aware accessory/corpus gating above.
|
|
283
311
|
// Accessory selection is NOT tracked by the numeric `selectedElementId` (rtv-next drives the
|
|
284
312
|
// accessory outline locally + via `selectedAccessoryKey`), so only mains resolve to `selected`.
|
|
285
|
-
var resolveState = function resolveState(elementId, isActive, isShelfAccessoire) {
|
|
313
|
+
var resolveState = function resolveState(setId, elementId, isActive, isShelfAccessoire) {
|
|
314
|
+
if (isDoorStep) return 'active';
|
|
286
315
|
if (isShelfAccessoire) {
|
|
287
316
|
if (isShelfStep) return 'selectable';
|
|
288
317
|
return isActive ? 'selectable' : 'unselectable';
|
|
289
318
|
}
|
|
290
319
|
// Main / corpus: never hover- or select-able while planning all corpora in the shelf step.
|
|
291
320
|
if (isShelfStep) return 'active';
|
|
292
|
-
if (elementId !== undefined && selectedElementId === elementId) return 'selected';
|
|
321
|
+
if (elementId !== undefined && selectedElementId === elementId && (selectedSetId == null || selectedSetId === setId)) return 'selected';
|
|
293
322
|
return isActive ? 'active' : 'selectable';
|
|
294
323
|
};
|
|
295
|
-
|
|
324
|
+
|
|
325
|
+
// `articleInfos` holds the active set's articles only; another set's article is read off its set, inactive.
|
|
326
|
+
var articleByKey = new Map();
|
|
296
327
|
for (var _i = 0, _Object$keys = Object.keys(articleInfos); _i < _Object$keys.length; _i++) {
|
|
297
328
|
var key = _Object$keys[_i];
|
|
298
329
|
var a = articleInfos[key];
|
|
299
330
|
if (a.elementId !== undefined) {
|
|
300
|
-
|
|
331
|
+
articleByKey.set(qualifiedElementKey(a.setId, a.elementId), {
|
|
301
332
|
setId: a.setId,
|
|
302
333
|
posNr: String(a.posNr),
|
|
303
334
|
isActive: a.isActive,
|
|
@@ -307,17 +338,31 @@ function buildElementsInfoFromArticles(viewHandler) {
|
|
|
307
338
|
});
|
|
308
339
|
}
|
|
309
340
|
}
|
|
341
|
+
var otherSetArticle = function otherSetArticle(setId, elementId) {
|
|
342
|
+
var _setsById$get;
|
|
343
|
+
if (setId === activeSetId) return undefined;
|
|
344
|
+
var a = (_setsById$get = setsById.get(setId)) === null || _setsById$get === void 0 ? void 0 : _setsById$get.getArticleByElementId(elementId);
|
|
345
|
+
if (!a) return undefined;
|
|
346
|
+
return {
|
|
347
|
+
setId: setId,
|
|
348
|
+
posNr: String(a.posNr),
|
|
349
|
+
isActive: false,
|
|
350
|
+
canDelete: false,
|
|
351
|
+
isShelfAccessoire: a.isShelfAccessoire,
|
|
352
|
+
shelfElementId: a.shelfElementId
|
|
353
|
+
};
|
|
354
|
+
};
|
|
310
355
|
if (dict) {
|
|
311
356
|
dict.forEach(function (plannerElements, setId) {
|
|
312
357
|
var _iterator = _createForOfIteratorHelper(plannerElements),
|
|
313
358
|
_step;
|
|
314
359
|
try {
|
|
315
360
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
316
|
-
var _article$shelfElement, _article$setId, _article$canDelete;
|
|
361
|
+
var _articleByKey$get, _article$shelfElement, _article$setId, _article$canDelete;
|
|
317
362
|
var pe = _step.value;
|
|
318
363
|
var elementId = pe.getElementId();
|
|
319
364
|
var parentElementId = pe.getParentElementId();
|
|
320
|
-
var article =
|
|
365
|
+
var article = (_articleByKey$get = articleByKey.get(qualifiedElementKey(setId, elementId))) !== null && _articleByKey$get !== void 0 ? _articleByKey$get : otherSetArticle(setId, elementId);
|
|
321
366
|
var isBox = pe.getPlannerType() === 'BOX';
|
|
322
367
|
var canCopyLeft = void 0;
|
|
323
368
|
var canCopyRight = void 0;
|
|
@@ -345,22 +390,22 @@ function buildElementsInfoFromArticles(viewHandler) {
|
|
|
345
390
|
// shelf mode → the navigated main group is active; configStep → the current choice is active,
|
|
346
391
|
// alternatives are selectable. `resolveState` layers the step-aware accessory/corpus gating
|
|
347
392
|
// on top (see its definition above).
|
|
348
|
-
var state = !article ? 'unselectable' : resolveState(elementId, article.isActive, !!article.isShelfAccessoire);
|
|
393
|
+
var state = !article ? 'unselectable' : resolveState(setId, elementId, article.isActive, !!article.isShelfAccessoire);
|
|
349
394
|
|
|
350
395
|
// Element-type taxonomy. `isShelfAccessoire` comes from articleInfos (logic layer); box/
|
|
351
396
|
// accessoire are detectable from the planner element.
|
|
352
397
|
var type = article !== null && article !== void 0 && article.isShelfAccessoire ? 'shelfAccessoire' : isBox ? 'boxElement' : parentElementId != null ? 'accessoire' : 'planned';
|
|
353
|
-
map.set((_article$shelfElement = article === null || article === void 0 ? void 0 : article.shelfElementId) !== null && _article$shelfElement !== void 0 ? _article$shelfElement : String(elementId), {
|
|
398
|
+
map.set(qualifiedElementKey(setId, (_article$shelfElement = article === null || article === void 0 ? void 0 : article.shelfElementId) !== null && _article$shelfElement !== void 0 ? _article$shelfElement : String(elementId)), {
|
|
354
399
|
setId: (_article$setId = article === null || article === void 0 ? void 0 : article.setId) !== null && _article$setId !== void 0 ? _article$setId : setId,
|
|
355
400
|
posNr: article === null || article === void 0 ? void 0 : article.posNr,
|
|
356
401
|
state: state,
|
|
357
402
|
type: type,
|
|
358
403
|
articleCodex: pe.ArticleCodex,
|
|
359
|
-
//
|
|
360
|
-
//
|
|
361
|
-
|
|
362
|
-
canDelete: article !== null && article !== void 0 && article.isShelfAccessoire || copyAlwaysVisible ? true : (_article$canDelete = article === null || article === void 0 ? void 0 : article.canDelete) !== null && _article$canDelete !== void 0 ? _article$canDelete : false,
|
|
404
|
+
// Deletable: shelf accessories unless their cell is `noDelete`, and ELEMENT_COPY_AVLR mains; all other mains follow
|
|
405
|
+
// the active/selectable canDelete signal.
|
|
406
|
+
canDelete: article !== null && article !== void 0 && article.isShelfAccessoire ? !isAccessoryDeleteLocked(viewHandler, article.shelfElementId) : copyAlwaysVisible ? true : (_article$canDelete = article === null || article === void 0 ? void 0 : article.canDelete) !== null && _article$canDelete !== void 0 ? _article$canDelete : false,
|
|
363
407
|
parentElementId: parentElementId,
|
|
408
|
+
canRotate: elementId != null && viewHandler.divaWebPlanner.isElementWallBound(setId, elementId) ? false : undefined,
|
|
364
409
|
canCopyLeft: canCopyLeft,
|
|
365
410
|
canCopyRight: canCopyRight,
|
|
366
411
|
canCopyTop: canCopyTop,
|
|
@@ -382,13 +427,13 @@ function buildElementsInfoFromArticles(viewHandler) {
|
|
|
382
427
|
for (var _i2 = 0, _Object$keys2 = Object.keys(articleInfos); _i2 < _Object$keys2.length; _i2++) {
|
|
383
428
|
var _key = _Object$keys2[_i2];
|
|
384
429
|
var _a = articleInfos[_key];
|
|
385
|
-
if (!_a.isShelfAccessoire || !_a.shelfElementId || map.has(_a.shelfElementId)) continue;
|
|
386
|
-
map.set(_a.shelfElementId, {
|
|
430
|
+
if (!_a.isShelfAccessoire || !_a.shelfElementId || map.has(qualifiedElementKey(_a.setId, _a.shelfElementId))) continue;
|
|
431
|
+
map.set(qualifiedElementKey(_a.setId, _a.shelfElementId), {
|
|
387
432
|
setId: _a.setId,
|
|
388
433
|
posNr: String(_a.posNr),
|
|
389
|
-
state: resolveState(_a.elementId, _a.isActive, true),
|
|
434
|
+
state: resolveState(_a.setId, _a.elementId, _a.isActive, true),
|
|
390
435
|
type: 'shelfAccessoire',
|
|
391
|
-
canDelete:
|
|
436
|
+
canDelete: !isAccessoryDeleteLocked(viewHandler, _a.shelfElementId)
|
|
392
437
|
});
|
|
393
438
|
}
|
|
394
439
|
return map;
|
|
@@ -400,40 +445,20 @@ function buildElementsInfoFromArticles(viewHandler) {
|
|
|
400
445
|
* codex (for select). Looks up `plannedPlacesOnGrids` by the parent element key + grid idx + cell.
|
|
401
446
|
*/
|
|
402
447
|
function resolveAccessoryTargets(viewHandler, ref) {
|
|
403
|
-
var _viewHandler$
|
|
404
|
-
// `plannedPlacesOnGrids
|
|
405
|
-
|
|
406
|
-
var
|
|
407
|
-
|
|
408
|
-
return ((_p$elementId = p.elementId) !== null && _p$elementId !== void 0 ? _p$elementId : '').replace(/^E/, '') === ref.parentElementKey;
|
|
409
|
-
});
|
|
410
|
-
if (!parent) return null;
|
|
411
|
-
var accBasketId;
|
|
412
|
-
var accCodex;
|
|
413
|
-
var gridName;
|
|
414
|
-
for (var _i3 = 0, _Object$keys3 = Object.keys(parent.grids); _i3 < _Object$keys3.length; _i3++) {
|
|
415
|
-
var name = _Object$keys3[_i3];
|
|
416
|
-
var g = parent.grids[name];
|
|
417
|
-
if (g.idx !== ref.gridId) continue;
|
|
418
|
-
gridName = name;
|
|
419
|
-
var acc = g.accessories.find(function (a) {
|
|
420
|
-
return a.index === ref.cellIdx;
|
|
421
|
-
});
|
|
422
|
-
if (acc) {
|
|
423
|
-
accBasketId = acc.basketId;
|
|
424
|
-
accCodex = acc.articleCodex;
|
|
425
|
-
break;
|
|
426
|
-
}
|
|
427
|
-
}
|
|
448
|
+
var _viewHandler$divaWebP3, _found$accessory, _found$accessory2;
|
|
449
|
+
// `plannedPlacesOnGrids` describes the active set only; another set's element key would match the wrong shelf.
|
|
450
|
+
if (ref.setId !== ((_viewHandler$divaWebP3 = viewHandler.divaWebPlanner.actSet()) === null || _viewHandler$divaWebP3 === void 0 ? void 0 : _viewHandler$divaWebP3.getSetId())) return null;
|
|
451
|
+
var found = findPlannedAccessory(viewHandler.settingsState.plannedPlacesOnGrids, ref);
|
|
452
|
+
if (!found) return null;
|
|
428
453
|
return {
|
|
429
|
-
parentBasketId: parent.basketId,
|
|
430
|
-
accBasketId:
|
|
431
|
-
accCodex:
|
|
432
|
-
gridName: gridName
|
|
454
|
+
parentBasketId: found.parent.basketId,
|
|
455
|
+
accBasketId: (_found$accessory = found.accessory) === null || _found$accessory === void 0 ? void 0 : _found$accessory.basketId,
|
|
456
|
+
accCodex: (_found$accessory2 = found.accessory) === null || _found$accessory2 === void 0 ? void 0 : _found$accessory2.articleCodex,
|
|
457
|
+
gridName: found.gridName
|
|
433
458
|
};
|
|
434
459
|
}
|
|
435
460
|
var PlannerRTVNext = function PlannerRTVNext() {
|
|
436
|
-
var _scene$isPoolPlanning,
|
|
461
|
+
var _scene$isPoolPlanning, _environmentPreset, _viewHandler$divaWebP4, _viewHandler$tabGroup3, _viewHandler$tabGroup4, _viewHandler$tabGroup5, _elementsInfo$get, _viewHandler$divaWebP5;
|
|
437
462
|
var viewHandler = useViewHandler();
|
|
438
463
|
var rtvAnalyzerComponents = useRTVAnalyzerComponentsFromPlanner();
|
|
439
464
|
var _useDivaCore = useDivaCore(),
|
|
@@ -441,6 +466,16 @@ var PlannerRTVNext = function PlannerRTVNext() {
|
|
|
441
466
|
apiConfig = _useDivaCore$state.apiConfig,
|
|
442
467
|
jwt = _useDivaCore$state.jwt,
|
|
443
468
|
actions = _useDivaCore.actions;
|
|
469
|
+
var _useTranslation = useTranslation(),
|
|
470
|
+
t = _useTranslation.t;
|
|
471
|
+
// File names listed by the missing-geo message on screen, so a re-assembly that mounts the geo again does not re-raise it.
|
|
472
|
+
var missingGeoFiles = useRef(new Set());
|
|
473
|
+
var missingGeoHideTimer = useRef(undefined);
|
|
474
|
+
useEffect(function () {
|
|
475
|
+
return function () {
|
|
476
|
+
return clearTimeout(missingGeoHideTimer.current);
|
|
477
|
+
};
|
|
478
|
+
}, []);
|
|
444
479
|
|
|
445
480
|
// Mount effect, not the render body: this is the first moment the viewer component exists in the
|
|
446
481
|
// tree, which is what the boot report needs — the props it reads are re-derived on every render.
|
|
@@ -448,17 +483,48 @@ var PlannerRTVNext = function PlannerRTVNext() {
|
|
|
448
483
|
bootMark('rtv: PlannerRTVNext mounted');
|
|
449
484
|
}, []);
|
|
450
485
|
|
|
451
|
-
//
|
|
452
|
-
//
|
|
486
|
+
// Only a render script after none shows `RTV_Assembling`: a replaced one keeps the shown scene, and an unchanged
|
|
487
|
+
// scene fires no `onSceneReady` to end it.
|
|
453
488
|
var prevHQRenderScript = useRef(viewHandler.hqRenderScript);
|
|
454
489
|
useEffect(function () {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
actions.toggleLoading('RTV_Assembling', false, true);
|
|
459
|
-
}
|
|
460
|
-
}
|
|
490
|
+
var previous = prevHQRenderScript.current;
|
|
491
|
+
prevHQRenderScript.current = viewHandler.hqRenderScript;
|
|
492
|
+
if (viewHandler.hqRenderScript && !previous) actions.toggleLoading('RTV_Assembling', false, true);
|
|
461
493
|
}, [viewHandler.hqRenderScript, actions]);
|
|
494
|
+
var isVisible = viewHandler.isParentViewVisible;
|
|
495
|
+
// Announce the live rtv-next viewer page-wide: hidden sibling planner instances defer their
|
|
496
|
+
// whole boot while one is registered (see `ViewHandlerProvider`).
|
|
497
|
+
useEffect(function () {
|
|
498
|
+
if (!isVisible) return;
|
|
499
|
+
return registerRtvNextViewer();
|
|
500
|
+
}, [isVisible]);
|
|
501
|
+
var showRTV = viewHandler.productState.doShowRTV;
|
|
502
|
+
var show3DComb = viewHandler.productState.doShow3DComb;
|
|
503
|
+
var showGrid = viewHandler.productState.doShowGrid;
|
|
504
|
+
// CREATE_IMAGE never goes through the footer, so none of the view flags is ever set for it — the
|
|
505
|
+
// viewer must still mount, it *is* the capture source (see useCreateImageShot below).
|
|
506
|
+
var isCreateImage = viewHandler.configState.initMode === 'CREATE_IMAGE';
|
|
507
|
+
// Another product-center view is on top (AI room, rendered image). Once the viewer has been on
|
|
508
|
+
// screen this only PAUSES it (`stopRender`): unmounting would drop the WebGL context, the
|
|
509
|
+
// assembled scene and every cache, and rebuild them all on the way back.
|
|
510
|
+
var viewCovered = !showRTV && !show3DComb && !showGrid && !isCreateImage;
|
|
511
|
+
// A hidden parent view still unmounts, and resets the latch: the rtv-next store is page-global,
|
|
512
|
+
// so a hidden planner's viewer and the visible planner's would fight over it. Committed state
|
|
513
|
+
// adjusted during render, not a ref written in render: an abandoned render leaves nothing behind.
|
|
514
|
+
var _useState = useState(false),
|
|
515
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
516
|
+
shownOnce = _useState2[0],
|
|
517
|
+
setShownOnce = _useState2[1];
|
|
518
|
+
var isMounted = isVisible && (shownOnce || !viewCovered);
|
|
519
|
+
if (isMounted !== shownOnce) setShownOnce(isMounted);
|
|
520
|
+
// While covered the view mode is frozen: the show flags are all false then, and deriving '3d'
|
|
521
|
+
// from them would fly a 2D planner to 3D (and load its 3D assets) behind the covering view.
|
|
522
|
+
var _useState3 = useState('3d'),
|
|
523
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
524
|
+
frozenViewMode = _useState4[0],
|
|
525
|
+
setFrozenViewMode = _useState4[1];
|
|
526
|
+
var viewMode = viewCovered ? frozenViewMode : showGrid || isCreateImage ? '2d' : '3d';
|
|
527
|
+
if (viewMode !== frozenViewMode) setFrozenViewMode(viewMode);
|
|
462
528
|
var callbacks = useMemo(function () {
|
|
463
529
|
return {
|
|
464
530
|
onElementSelected: function onElementSelected(setId, elementId) {
|
|
@@ -522,12 +588,51 @@ var PlannerRTVNext = function PlannerRTVNext() {
|
|
|
522
588
|
var switchTo = target.articleCodex && target.articleCodex !== t.accCodex ? target.articleCodex : undefined;
|
|
523
589
|
viewHandler.divaWebPlanner.moveShelfItemToGrid(t.accBasketId, target.parentBasketId, target.gridName, target.cellIdx, switchTo);
|
|
524
590
|
},
|
|
591
|
+
onDoorSwap: function onDoorSwap(fromSlotKey, toSlotKey) {
|
|
592
|
+
return swapDoorSlotsByKey(viewHandler, fromSlotKey, toSlotKey);
|
|
593
|
+
},
|
|
594
|
+
onElementFootprints: function onElementFootprints(footprints) {
|
|
595
|
+
return viewHandler.divaWebPlanner.setElementFootprints(footprints);
|
|
596
|
+
},
|
|
525
597
|
onSceneReady: function onSceneReady() {
|
|
526
598
|
bootMark('rtv: onSceneReady');
|
|
527
599
|
actions.toggleLoading('RTV_Assembling', false, false);
|
|
600
|
+
notifyRtvSceneReady();
|
|
601
|
+
},
|
|
602
|
+
onAssetError: function onAssetError(_ref) {
|
|
603
|
+
var kind = _ref.kind,
|
|
604
|
+
source = _ref.source,
|
|
605
|
+
message = _ref.message,
|
|
606
|
+
severity = _ref.severity,
|
|
607
|
+
missing = _ref.missing;
|
|
608
|
+
viewHandler.productState.reportAnalyzerError({
|
|
609
|
+
source: '3D',
|
|
610
|
+
kind: kind,
|
|
611
|
+
target: source,
|
|
612
|
+
message: message,
|
|
613
|
+
severity: severity
|
|
614
|
+
});
|
|
615
|
+
// Meant for catalog builders: only with the catalog analyzer, never in front of a customer.
|
|
616
|
+
if (kind !== 'geo' || !missing || !viewHandler.uiState.isAdvancedConfigurator) return;
|
|
617
|
+
var file = source.slice(source.lastIndexOf('/') + 1);
|
|
618
|
+
if (missingGeoFiles.current.has(file)) return;
|
|
619
|
+
missingGeoFiles.current.add(file);
|
|
620
|
+
var content = /*#__PURE__*/jsxs(Fragment, {
|
|
621
|
+
children: [t('configurator.MISSING_GEO_MSG'), " ", /*#__PURE__*/jsx("b", {
|
|
622
|
+
children: _toConsumableArray(missingGeoFiles.current).join(', ')
|
|
623
|
+
})]
|
|
624
|
+
});
|
|
625
|
+
viewHandler.productState.updatePlannerMsgContainer('MISSING_GEO_MSG', true, 'WARNING', content, true, MISSING_GEO_MSG_MS);
|
|
626
|
+
// The files count as reported while the message shows; a later failure of the same file shows it again.
|
|
627
|
+
if (missingGeoHideTimer.current === undefined) {
|
|
628
|
+
missingGeoHideTimer.current = setTimeout(function () {
|
|
629
|
+
missingGeoFiles.current.clear();
|
|
630
|
+
missingGeoHideTimer.current = undefined;
|
|
631
|
+
}, MISSING_GEO_MSG_MS);
|
|
632
|
+
}
|
|
528
633
|
}
|
|
529
634
|
};
|
|
530
|
-
}, [viewHandler.viewPlannerHandler, viewHandler.divaWebPlanner, viewHandler, actions]);
|
|
635
|
+
}, [viewHandler.viewPlannerHandler, viewHandler.divaWebPlanner, viewHandler, actions, t]);
|
|
531
636
|
|
|
532
637
|
// Planner-side single source of truth for canvas selection. Tracks
|
|
533
638
|
// `selectedElementsDict` in ViewPlannerHandler — kept in sync at all 3
|
|
@@ -538,79 +643,62 @@ var PlannerRTVNext = function PlannerRTVNext() {
|
|
|
538
643
|
// canvas deselect and caused `setSelectedElementFromProp` to re-select
|
|
539
644
|
// the just-deselected element on the next render.
|
|
540
645
|
var selectedElementId = viewHandler.productState.rtvSelectedElementId;
|
|
541
|
-
var isVisible = viewHandler.isParentViewVisible;
|
|
542
|
-
// Announce the live rtv-next viewer page-wide: hidden sibling planner instances defer their
|
|
543
|
-
// whole boot while one is registered (see `ViewHandlerProvider`).
|
|
544
|
-
useEffect(function () {
|
|
545
|
-
if (!isVisible) return;
|
|
546
|
-
return registerRtvNextViewer();
|
|
547
|
-
}, [isVisible]);
|
|
548
|
-
var showRTV = viewHandler.productState.doShowRTV;
|
|
549
|
-
var show3DComb = viewHandler.productState.doShow3DComb;
|
|
550
|
-
var showGrid = viewHandler.productState.doShowGrid;
|
|
551
|
-
// CREATE_IMAGE never goes through the footer, so none of the view flags is ever set for it — the
|
|
552
|
-
// viewer must still mount, it *is* the capture source (see useCreateImageShot below).
|
|
553
|
-
var isCreateImage = viewHandler.configState.initMode === 'CREATE_IMAGE';
|
|
554
|
-
// Another product-center view is on top (AI room, rendered image). Once the viewer has been on
|
|
555
|
-
// screen this only PAUSES it (`stopRender`): unmounting would drop the WebGL context, the
|
|
556
|
-
// assembled scene and every cache, and rebuild them all on the way back.
|
|
557
|
-
var viewCovered = !showRTV && !show3DComb && !showGrid && !isCreateImage;
|
|
558
|
-
// A hidden parent view still unmounts, and resets the latch: the rtv-next store is page-global,
|
|
559
|
-
// so a hidden planner's viewer and the visible planner's would fight over it. Committed state
|
|
560
|
-
// adjusted during render, not a ref written in render: an abandoned render leaves nothing behind.
|
|
561
|
-
var _useState = useState(false),
|
|
562
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
563
|
-
shownOnce = _useState2[0],
|
|
564
|
-
setShownOnce = _useState2[1];
|
|
565
|
-
var isMounted = isVisible && (shownOnce || !viewCovered);
|
|
566
|
-
if (isMounted !== shownOnce) setShownOnce(isMounted);
|
|
567
|
-
// While covered the view mode is frozen: the show flags are all false then, and deriving '3d'
|
|
568
|
-
// from them would fly a 2D planner to 3D (and load its 3D assets) behind the covering view.
|
|
569
|
-
var _useState3 = useState('3d'),
|
|
570
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
571
|
-
frozenViewMode = _useState4[0],
|
|
572
|
-
setFrozenViewMode = _useState4[1];
|
|
573
|
-
var viewMode = viewCovered ? frozenViewMode : showGrid || isCreateImage ? '2d' : '3d';
|
|
574
|
-
if (viewMode !== frozenViewMode) setFrozenViewMode(viewMode);
|
|
575
646
|
|
|
576
647
|
// `isPoolPlanning`: a planning whose articles carry a dimension config is a static drawing (pool
|
|
577
|
-
// plan) — hide all on-canvas buttons (posNr/
|
|
648
|
+
// plan) — hide all on-canvas buttons (posNr/rotate/trash chrome and docking-point buttons,
|
|
578
649
|
// both gated on `hideUiIcons` inside rtv-next) and force the dimension lines on.
|
|
579
650
|
// Nothing is rendered while unmounted or covered, so the planner→viewer translation is skipped:
|
|
580
651
|
// the planner still re-renders on every MobX planner change and would otherwise walk the whole
|
|
581
652
|
// planned-elements dict and re-encode every element SVG for a viewer nobody is looking at. While
|
|
582
653
|
// covered the last built scene is kept, so `scene2d` also stays identity-stable in the store.
|
|
583
654
|
var lastSceneRef = useRef(undefined);
|
|
584
|
-
var scene = !isMounted ? undefined : viewCovered ? lastSceneRef.current : buildPlannerScene2D(viewHandler
|
|
655
|
+
var scene = !isMounted ? undefined : viewCovered ? lastSceneRef.current : buildPlannerScene2D(viewHandler, {
|
|
656
|
+
buildScene2D: buildScene2D,
|
|
657
|
+
getDimensionConfigs: getDimensionConfigs
|
|
658
|
+
});
|
|
585
659
|
lastSceneRef.current = scene;
|
|
586
660
|
var scene2d = scene === null || scene === void 0 ? void 0 : scene.scene2d;
|
|
661
|
+
// The 2D scene reads non-observable planner elements, their version re-renders it after a move.
|
|
662
|
+
if (showGrid) void viewHandler.productState.plannerElementsVersion;
|
|
587
663
|
var isPoolPlanning = (_scene$isPoolPlanning = scene === null || scene === void 0 ? void 0 : scene.isPoolPlanning) !== null && _scene$isPoolPlanning !== void 0 ? _scene$isPoolPlanning : false;
|
|
664
|
+
var setPoolPlanning = viewHandler.productState.setPoolPlanning;
|
|
665
|
+
useEffect(function () {
|
|
666
|
+
setPoolPlanning(isPoolPlanning);
|
|
667
|
+
return function () {
|
|
668
|
+
return setPoolPlanning(false);
|
|
669
|
+
};
|
|
670
|
+
}, [isPoolPlanning, setPoolPlanning]);
|
|
588
671
|
|
|
589
672
|
// Environment preset: the catalog-level RTV_PRESET meta tag when present (a DB source
|
|
590
673
|
// later), else the white-room default. Both are parse-once/module objects, so the
|
|
591
674
|
// identity is stable across renders. NOTE: with ?rtv-debug the analyzer preset channel
|
|
592
675
|
// applies AFTER this on mount and wins (use ?preset=<id> there to pick explicitly).
|
|
593
|
-
var rtvPreset = (
|
|
676
|
+
var rtvPreset = (_environmentPreset = environmentPreset((_viewHandler$divaWebP4 = viewHandler.divaWebPlanner.getCatalogData()) === null || _viewHandler$divaWebP4 === void 0 ? void 0 : _viewHandler$divaWebP4.rtvPreset)) !== null && _environmentPreset !== void 0 ? _environmentPreset : WHITE_ROOM_PRESET;
|
|
594
677
|
|
|
595
678
|
// initMode CREATE_IMAGE: auto-capture the settled 2D plan and emit it to the host. A hook, so it
|
|
596
679
|
// has to stay above the guard below — it is inert without a scene, and while the planner renders
|
|
597
680
|
// nothing there is no mounted viewer to capture from anyway.
|
|
598
681
|
useCreateImageShot(viewHandler, scene2d, rtvPreset);
|
|
682
|
+
var doorSwapTexts = useDoorSwapTexts().viewer;
|
|
683
|
+
var stepType = (_viewHandler$tabGroup3 = viewHandler.tabGroupState.curTabGroup) === null || _viewHandler$tabGroup3 === void 0 ? void 0 : _viewHandler$tabGroup3.type;
|
|
684
|
+
var plannerStep = stepType != null && PLANNER_TAB_GROUP_TYPES.has(stepType);
|
|
599
685
|
if (!isMounted) return null;
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
var
|
|
686
|
+
|
|
687
|
+
// Step identity for rtv-next's camera rule table; it keys on the fields, so a fresh object is fine. Read from the
|
|
688
|
+
// observable mirror - `ConfiguratorStructureHandler` is not observable.
|
|
689
|
+
var cameraStep = cameraStepIdentity((_viewHandler$tabGroup4 = viewHandler.tabGroupState.curConfigStep) === null || _viewHandler$tabGroup4 === void 0 ? void 0 : _viewHandler$tabGroup4.key, stepType, (_viewHandler$tabGroup5 = viewHandler.tabGroupState.curOption) === null || _viewHandler$tabGroup5 === void 0 ? void 0 : _viewHandler$tabGroup5.codex);
|
|
690
|
+
|
|
691
|
+
// Pool plannings are static drawings: dimension lines are always on and their toggle is hidden.
|
|
692
|
+
var showDimensionLines = isPoolPlanning || viewHandler.productState.sceneShowsDimensionLines;
|
|
693
|
+
var elementsInfo = buildElementsInfoFromArticles(viewHandler, plannerStep);
|
|
607
694
|
|
|
608
695
|
// Controlled accessory selection: map the host's selected shelf accessory (a basketId) to its
|
|
609
|
-
//
|
|
696
|
+
// qualified 3D key (`<setId>|2.0.6`) so the canvas re-selects it after a place/move. `null` clears it.
|
|
610
697
|
var selectedAccessoryBasketId = viewHandler.settingsState.selectedShelfAccessoire;
|
|
611
|
-
var
|
|
698
|
+
var selectedAccessory = selectedAccessoryBasketId ? Object.values(viewHandler.settingsState.articleInfos).find(function (a) {
|
|
612
699
|
return a.basketId === selectedAccessoryBasketId;
|
|
613
|
-
})
|
|
700
|
+
}) : undefined;
|
|
701
|
+
var resolvedAccessoryKey = selectedAccessory !== null && selectedAccessory !== void 0 && selectedAccessory.shelfElementId ? qualifiedElementKey(selectedAccessory.setId, selectedAccessory.shelfElementId) : null;
|
|
614
702
|
// `selectedShelfAccessoire` survives step navigation and config changes (it's only cleared by an
|
|
615
703
|
// explicit deselect), and rtv-next re-applies `selectedAccessoryKey` after every re-assembly — so
|
|
616
704
|
// a config change in a step where the accessory is not selectable would re-select it in the
|
|
@@ -628,6 +716,34 @@ var PlannerRTVNext = function PlannerRTVNext() {
|
|
|
628
716
|
catalogCodex: catalogData.catalogCodex,
|
|
629
717
|
iln: catalogData.supplierILN
|
|
630
718
|
} : undefined;
|
|
719
|
+
// Read so a scene switch re-renders with the new room.
|
|
720
|
+
void viewHandler.productState.activeSceneId;
|
|
721
|
+
var room = (_viewHandler$divaWebP5 = viewHandler.divaWebPlanner.getActiveRoom()) !== null && _viewHandler$divaWebP5 !== void 0 ? _viewHandler$divaWebP5 : null;
|
|
722
|
+
var coachText = function coachText(hintId) {
|
|
723
|
+
return {
|
|
724
|
+
mouse: t("configurator.coach.".concat(hintId, ".mouse")),
|
|
725
|
+
touch: t("configurator.coach.".concat(hintId, ".touch"))
|
|
726
|
+
};
|
|
727
|
+
};
|
|
728
|
+
var coachTexts = {
|
|
729
|
+
accessoryPlace: coachText('accessoryPlace'),
|
|
730
|
+
accessoryMove: coachText('accessoryMove'),
|
|
731
|
+
elementMove: coachText('elementMove')
|
|
732
|
+
};
|
|
733
|
+
|
|
734
|
+
// A door planner step anywhere in the config tree: the viewer fetches the door swap's code ahead of it.
|
|
735
|
+
var hasDoorPlanner = viewHandler.divaWebPlanner.getRtvFeatures().doorSwap3D && _toConsumableArray(viewHandler.tabGroupState.allTabGroups.values()).some(function (tabGroup) {
|
|
736
|
+
return tabGroup.type === 'DOORPLANNER';
|
|
737
|
+
});
|
|
738
|
+
var actSet = viewHandler.divaWebPlanner.actSet();
|
|
739
|
+
// Door swap step: the active set's door slots, as the 3D scene names their doors.
|
|
740
|
+
var doorSwap = isDoorSwap3DStep(viewHandler) && actSet ? {
|
|
741
|
+
doors: buildDoorSwapDoors(doorPlannerSlots(findDoorPlannerPalette(viewHandler)), actSet.getSetId(), function (basketId) {
|
|
742
|
+
var _actSet$getArticleByB;
|
|
743
|
+
return (_actSet$getArticleByB = actSet.getArticleByBasketId(basketId)) === null || _actSet$getArticleByB === void 0 ? void 0 : _actSet$getArticleByB.elementId;
|
|
744
|
+
}),
|
|
745
|
+
texts: doorSwapTexts
|
|
746
|
+
} : null;
|
|
631
747
|
return /*#__PURE__*/jsx(RealTimeRendererNext, {
|
|
632
748
|
catalogInfo: needs3D ? catalogInfo : undefined,
|
|
633
749
|
hqRenderScript: needs3D ? viewHandler.hqRenderScript : undefined,
|
|
@@ -635,9 +751,7 @@ var PlannerRTVNext = function PlannerRTVNext() {
|
|
|
635
751
|
viewMode: viewMode,
|
|
636
752
|
stopRender: viewCovered,
|
|
637
753
|
config: {
|
|
638
|
-
|
|
639
|
-
// doesn't emit `…/diva3darchiv//…` double slashes that the archive host may mis-route.
|
|
640
|
-
archiveBaseUrl: apiConfig.diva3darchive.endsWith('/') ? apiConfig.diva3darchive.slice(0, -1) : apiConfig.diva3darchive,
|
|
754
|
+
archiveBaseUrl: apiConfig.diva3darchive,
|
|
641
755
|
constructorServiceUrl: apiConfig.constructorService,
|
|
642
756
|
jwt: jwt,
|
|
643
757
|
// COBI-class planner: 3D is always available. The store default is
|
|
@@ -655,23 +769,32 @@ var PlannerRTVNext = function PlannerRTVNext() {
|
|
|
655
769
|
camera: rtvPreset.camera,
|
|
656
770
|
uiConfig: _objectSpread({
|
|
657
771
|
plannerMode: viewHandler.productState.isBoxPlanner ? 'BoxPlanner' : '3DCOMB',
|
|
658
|
-
accessoryPlacement: ACCESSORY_PLACEMENT_MODE
|
|
772
|
+
accessoryPlacement: ACCESSORY_PLACEMENT_MODE,
|
|
773
|
+
catalogAnalyzer: viewHandler.uiState.isAdvancedConfigurator
|
|
659
774
|
}, isPoolPlanning ? {
|
|
660
775
|
hideUiIcons: true
|
|
661
776
|
} : {})
|
|
662
777
|
},
|
|
663
|
-
plannerMode:
|
|
778
|
+
plannerMode: plannerStep,
|
|
779
|
+
step: cameraStep,
|
|
664
780
|
freePlacesOnGrids: viewHandler.settingsState.freePlacesOnGrids,
|
|
665
781
|
plannedPlacesOnGrids: viewHandler.settingsState.plannedPlacesOnGrids,
|
|
782
|
+
shelfGridSetId: actSet === null || actSet === void 0 ? void 0 : actSet.getSetId(),
|
|
666
783
|
armedAccessoryCodex: viewHandler.settingsState.armedAccessoryToken,
|
|
667
784
|
draggedAccessoryCodex: viewHandler.settingsState.draggedAccessoryCodex,
|
|
785
|
+
draggedAccessoryPointerId: viewHandler.settingsState.draggedAccessoryPointerId,
|
|
668
786
|
callbacks: callbacks,
|
|
669
787
|
analyzerComponents: rtvAnalyzerComponents,
|
|
670
|
-
focusElementId: focusElementId,
|
|
671
788
|
elementsInfo: elementsInfo,
|
|
672
789
|
selectedElementId: selectedElementId,
|
|
790
|
+
selectedElementSetId: viewHandler.productState.rtvSelectedSetId,
|
|
673
791
|
selectedAccessoryKey: selectedAccessoryKey,
|
|
674
|
-
showDimensionLines: showDimensionLines
|
|
792
|
+
showDimensionLines: showDimensionLines,
|
|
793
|
+
room: room,
|
|
794
|
+
coachTexts: coachTexts,
|
|
795
|
+
coachHints: viewHandler.divaWebPlanner.getRtvFeatures().coachHints,
|
|
796
|
+
doorSwap: doorSwap,
|
|
797
|
+
doorSwapAvailable: hasDoorPlanner
|
|
675
798
|
});
|
|
676
799
|
};
|
|
677
800
|
var index = observer(PlannerRTVNext);
|