@crystaldesign/diva-web-planner-react 26.11.0-beta.2 → 26.11.0-beta.20

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.
Files changed (322) hide show
  1. package/build/esm/{Planner2DGrid-be22bf89.js → Planner2DGrid-90b0b2a9.js} +196 -49
  2. package/build/esm/{Planner3DImage-8f21be56.js → Planner3DImage-28657013.js} +1 -1
  3. package/build/esm/{UnlockCard-3fb76e70.js → UnlockCard-3f4735b2.js} +1 -1
  4. package/build/esm/{index-8a26a858.js → index-00d11115.js} +141 -76
  5. package/build/esm/{index-180189d9.js → index-02d964f2.js} +70 -70
  6. package/build/esm/{index-a366d35e.js → index-04664096.js} +1 -1
  7. package/build/esm/{index-da2a2a8b.js → index-05ec5456.js} +18 -18
  8. package/build/esm/{index-36c018f3.js → index-064a58a8.js} +99 -9
  9. package/build/esm/{index-892ffe4d.js → index-07de7393.js} +1 -1
  10. package/build/esm/{index-3c925a9c.js → index-07e3a28c.js} +2 -2
  11. package/build/esm/{index-87345a21.js → index-0876ef9d.js} +2 -2
  12. package/build/esm/{index-a0e22978.js → index-0a2fbce8.js} +1 -1
  13. package/build/esm/{index-0908ac1e.js → index-0a53e583.js} +3 -3
  14. package/build/esm/{index-f3bca3be.js → index-0c8051ed.js} +1 -1
  15. package/build/esm/{index-415fbe83.js → index-0da8e4f5.js} +1 -1
  16. package/build/esm/{index-bdf5827b.js → index-0e3bf26d.js} +5 -5
  17. package/build/esm/{index-031864a2.js → index-0ec61a56.js} +1 -1
  18. package/build/esm/{index-2b748074.js → index-106a5856.js} +1 -1
  19. package/build/esm/{index-c46b6740.js → index-1218ff75.js} +1 -1
  20. package/build/esm/{index-afe33b8f.js → index-1228f6d8.js} +1 -1
  21. package/build/esm/{index-e46ca62c.js → index-123ce416.js} +4 -4
  22. package/build/esm/{index-5c1c1b31.js → index-13908246.js} +2 -2
  23. package/build/esm/{index-e484cb4b.js → index-13909b62.js} +3 -3
  24. package/build/esm/{index-102ef56e.js → index-13eba10c.js} +1 -1
  25. package/build/esm/{index-26dda831.js → index-1744c06c.js} +65 -65
  26. package/build/esm/{index-5ec31db5.js → index-1835dddc.js} +2 -2
  27. package/build/esm/{index-b85db3a5.js → index-18556074.js} +2 -2
  28. package/build/esm/{index-faafc31d.js → index-1d5baa3b.js} +2 -2
  29. package/build/esm/{index-84657f6d.js → index-1eda72f9.js} +1 -1
  30. package/build/esm/{index-7e78bbac.js → index-20014561.js} +76 -76
  31. package/build/esm/{index-e8eb5116.js → index-20a02afb.js} +2 -2
  32. package/build/esm/{index-37df8f9a.js → index-20bc3775.js} +1 -1
  33. package/build/esm/{index-be4baeb9.js → index-211856e0.js} +2 -2
  34. package/build/esm/{index-048552f0.js → index-2198f950.js} +1 -1
  35. package/build/esm/{index-5665b09a.js → index-22129d0b.js} +1 -1
  36. package/build/esm/{index-bc8576ec.js → index-22389ed8.js} +1 -1
  37. package/build/esm/{index-1ff0dfac.js → index-223d941a.js} +17 -17
  38. package/build/esm/{index-a1680ef5.js → index-24e2c9c9.js} +2 -2
  39. package/build/esm/{index-1e8d1616.js → index-2504847e.js} +66 -66
  40. package/build/esm/{index-d6856cc5.js → index-271c9d9c.js} +2 -2
  41. package/build/esm/{index-83d6bb83.js → index-272415ce.js} +1 -1
  42. package/build/esm/{index-e0900a31.js → index-2a47f172.js} +1 -1
  43. package/build/esm/{index-b9ea263d.js → index-2b56d780.js} +1 -1
  44. package/build/esm/{index-b48334cf.js → index-2cf61d00.js} +10 -1
  45. package/build/esm/{index-4be1fee3.js → index-2df35005.js} +2 -2
  46. package/build/esm/{index-fdd2f2b6.js → index-2e4dfaff.js} +3 -3
  47. package/build/esm/{index-8b6d1b2c.js → index-33ce2722.js} +4 -4
  48. package/build/esm/{index-b6397dbb.js → index-33f96c00.js} +1 -1
  49. package/build/esm/{index-b9739a43.js → index-3567cd34.js} +85 -85
  50. package/build/esm/{index-efa06494.js → index-373b7273.js} +3 -3
  51. package/build/esm/{index-bf19aa67.js → index-38012daa.js} +1 -1
  52. package/build/esm/{index-4e4215ad.js → index-39458526.js} +1 -1
  53. package/build/esm/{index-82a28d6e.js → index-39484e30.js} +1 -1
  54. package/build/esm/{index-882e9781.js → index-3964358a.js} +1 -1
  55. package/build/esm/{index-17ba7b38.js → index-3a751e91.js} +5 -5
  56. package/build/esm/{index-337b35af.js → index-3cb7cf48.js} +2 -2
  57. package/build/esm/{index-73c75e94.js → index-3d163534.js} +4 -4
  58. package/build/esm/{index-bd8d0479.js → index-3d1b156f.js} +5 -5
  59. package/build/esm/{index-e6d39b9d.js → index-3f967ab7.js} +18 -18
  60. package/build/esm/{index-69650205.js → index-42f2a415.js} +5 -5
  61. package/build/esm/{index-33722dfd.js → index-433182bc.js} +1 -1
  62. package/build/esm/{index-5d29eff3.js → index-43998f39.js} +4 -4
  63. package/build/esm/{index-581409b8.js → index-44b596df.js} +2 -2
  64. package/build/esm/{index-6092fed5.js → index-49757a8f.js} +8 -8
  65. package/build/esm/{index-854179de.js → index-49fc16cb.js} +1 -1
  66. package/build/esm/{index-618fdc08.js → index-4cab5cbf.js} +39 -21
  67. package/build/esm/{index-5ad9fa64.js → index-4dc2e098.js} +1 -1
  68. package/build/esm/{index-ada3c152.js → index-4f872377.js} +1 -1
  69. package/build/esm/{index-a7de9a70.js → index-50a4df67.js} +3 -3
  70. package/build/esm/{index-8cef9ec1.js → index-50d5f4c5.js} +68 -68
  71. package/build/esm/{index-606a110b.js → index-549b36e2.js} +1 -1
  72. package/build/esm/{index-0e80abeb.js → index-57c7e4b5.js} +1 -1
  73. package/build/esm/{index-9663c0f2.js → index-5831525e.js} +1 -1
  74. package/build/esm/{index-b692e521.js → index-5993cf4b.js} +1 -1
  75. package/build/esm/{index-895e928a.js → index-5ba34b19.js} +1 -1
  76. package/build/esm/{index-5abf6852.js → index-5c0d278a.js} +15 -15
  77. package/build/esm/{index-9eccf0e1.js → index-5c2d2107.js} +71 -71
  78. package/build/esm/{index-45ae8ca7.js → index-5ce2f921.js} +1 -1
  79. package/build/esm/{index-52eb8599.js → index-5da75e9a.js} +1 -1
  80. package/build/esm/{index-15d52408.js → index-5f5e67be.js} +1 -1
  81. package/build/esm/{index-661042a0.js → index-5f9f2b96.js} +2 -2
  82. package/build/esm/{index-ac5a2704.js → index-60ad7ed4.js} +3 -3
  83. package/build/esm/{index-8d2f95c8.js → index-62f57622.js} +1 -1
  84. package/build/esm/{index-5dce3fc8.js → index-6485628e.js} +1 -1
  85. package/build/esm/{index-42b71e75.js → index-65360616.js} +101 -101
  86. package/build/esm/{index-fbd3287b.js → index-65bed696.js} +5 -5
  87. package/build/esm/{index-a01842a6.js → index-65f10148.js} +1 -1
  88. package/build/esm/{index-a01e0683.js → index-66a6a18d.js} +1 -1
  89. package/build/esm/{index-aecb9e6f.js → index-66de6a0b.js} +6 -6
  90. package/build/esm/{index-0c7b8562.js → index-67ec2f5b.js} +1 -1
  91. package/build/esm/{index-149ee0c3.js → index-68993d98.js} +1 -1
  92. package/build/esm/{index-e660d80c.js → index-6bef7985.js} +1 -1
  93. package/build/esm/{index-e424ab5b.js → index-705b3b54.js} +2 -2
  94. package/build/esm/{index-899b8922.js → index-72ee1983.js} +1067 -663
  95. package/build/esm/{index-315a6526.js → index-73522d77.js} +7 -3
  96. package/build/esm/{index-08994c71.js → index-73f8600d.js} +1 -1
  97. package/build/esm/{index-10cd9e60.js → index-73fa2cb7.js} +7 -7
  98. package/build/esm/{index-3e454946.js → index-73ff216a.js} +68 -68
  99. package/build/esm/{index-7176a968.js → index-747a1a0d.js} +3 -3
  100. package/build/esm/{index-1d2d7fb6.js → index-76047a52.js} +1 -1
  101. package/build/esm/{index-624149c8.js → index-77c705e2.js} +2 -2
  102. package/build/esm/{index-05e1fe0a.js → index-7821be68.js} +5 -5
  103. package/build/esm/{index-369fda13.js → index-78c7d4ae.js} +2 -2
  104. package/build/esm/{index-d8f30b62.js → index-7ed4c41e.js} +1 -1
  105. package/build/esm/{index-9a249b74.js → index-7f58c94e.js} +1 -1
  106. package/build/esm/{index-8839bff1.js → index-7f6f1b6b.js} +6 -6
  107. package/build/esm/{index-23cd98ff.js → index-8063c96d.js} +4 -4
  108. package/build/esm/{index-cdb372f1.js → index-81925f76.js} +2 -2
  109. package/build/esm/{index-dc3778bc.js → index-8206408d.js} +1 -1
  110. package/build/esm/{index-0b387613.js → index-830447ef.js} +90 -90
  111. package/build/esm/{index-e7790e24.js → index-84b299d6.js} +5 -5
  112. package/build/esm/{index-17bcc39b.js → index-8573dbf4.js} +14 -3
  113. package/build/esm/{index-7ae6b393.js → index-859f0bb8.js} +67 -67
  114. package/build/esm/{index-af4148a4.js → index-85c5d4eb.js} +2 -2
  115. package/build/esm/{index-57f6aec3.js → index-85e0b5aa.js} +1 -1
  116. package/build/esm/{index-347c80d9.js → index-8621ba87.js} +1 -1
  117. package/build/esm/{index-6c6b3de5.js → index-88842a4d.js} +13 -13
  118. package/build/esm/{index-2e12b9e1.js → index-8888ff80.js} +1 -1
  119. package/build/esm/{index-0db57583.js → index-88ed1db7.js} +1 -1
  120. package/build/esm/{index-0ec473cc.js → index-89a5bec9.js} +1 -1
  121. package/build/esm/{index-0895f2f3.js → index-8a59028d.js} +3 -3
  122. package/build/esm/{index-e56bf428.js → index-8c957291.js} +1 -1
  123. package/build/esm/{index-93284a2c.js → index-8c986037.js} +3 -3
  124. package/build/esm/{index-fdf86798.js → index-8da362e7.js} +91 -91
  125. package/build/esm/{index-3ee68248.js → index-8e2a4f06.js} +2 -2
  126. package/build/esm/{index-34149b78.js → index-8ee4175f.js} +5 -5
  127. package/build/esm/{index-fcb72e7d.js → index-93e88012.js} +89 -87
  128. package/build/esm/{index-46e9d390.js → index-95d16f7e.js} +2 -2
  129. package/build/esm/{index-c1bf3a44.js → index-968e5dc1.js} +1 -1
  130. package/build/esm/{index-9e661597.js → index-97dd4545.js} +1 -1
  131. package/build/esm/{index-84f83c67.js → index-98a74c16.js} +1 -1
  132. package/build/esm/{index-8ce6adb9.js → index-9a25ac85.js} +2 -2
  133. package/build/esm/{index-73463d9f.js → index-9a7d0111.js} +1 -1
  134. package/build/esm/{index-f1c2ec32.js → index-9aa458c5.js} +1 -1
  135. package/build/esm/{index-1487d493.js → index-9ad37044.js} +2 -2
  136. package/build/esm/{index-0029288b.js → index-9cde92a8.js} +1 -1
  137. package/build/esm/{index-e2678bc3.js → index-9d2e27c1.js} +1 -1
  138. package/build/esm/{index-2ad23b0d.js → index-9e9f53c2.js} +1 -1
  139. package/build/esm/{index-f8660916.js → index-9eaa57b1.js} +1 -1
  140. package/build/esm/{index-7488e2e2.js → index-9f4291ed.js} +84 -84
  141. package/build/esm/{index-56d95f56.js → index-9f6f568f.js} +21 -21
  142. package/build/esm/{index-7c7b6fc7.js → index-a037c82b.js} +1 -1
  143. package/build/esm/{index-1e23c982.js → index-a41aa14b.js} +1 -1
  144. package/build/esm/{index-74d46a1a.js → index-a4b879c2.js} +1 -1
  145. package/build/esm/{index-ff3db23f.js → index-a5b09047.js} +5 -5
  146. package/build/esm/{index-b6aaff5c.js → index-a719f387.js} +3 -3
  147. package/build/esm/{index-70bf7fb6.js → index-a7496ea1.js} +2 -2
  148. package/build/esm/{index-c8de3993.js → index-a85ea9d9.js} +1 -1
  149. package/build/esm/{index-f45ab225.js → index-a91e9654.js} +1 -1
  150. package/build/esm/{index-24df5db1.js → index-a937a019.js} +3 -3
  151. package/build/esm/{index-8d52e836.js → index-a9ad56ce.js} +3 -3
  152. package/build/esm/{index-f3c7eafa.js → index-aae35537.js} +1 -1
  153. package/build/esm/{index-03a0fdc9.js → index-ab484a17.js} +1 -1
  154. package/build/esm/{index-bb42994c.js → index-ab4b4cb8.js} +89 -89
  155. package/build/esm/{index-94eb5a0b.js → index-ab67e0fd.js} +19 -19
  156. package/build/esm/{index-869d65ec.js → index-ad036a50.js} +8 -8
  157. package/build/esm/{index-99c94447.js → index-ad13b6fc.js} +3 -3
  158. package/build/esm/{index-765505ab.js → index-ad6e733c.js} +3 -3
  159. package/build/esm/{index-47939b53.js → index-ad92fd09.js} +1 -1
  160. package/build/esm/{index-c87402ba.js → index-afd04cc2.js} +2 -2
  161. package/build/esm/{index-4daa80c5.js → index-b07c2a2c.js} +1 -1
  162. package/build/esm/{index-1ddf1648.js → index-b1054a03.js} +1 -1
  163. package/build/esm/{index-9e2ca930.js → index-b12de26e.js} +18 -18
  164. package/build/esm/{index-71c05fb2.js → index-b24b2138.js} +1 -1
  165. package/build/esm/{index-345aba6b.js → index-b2e0a2a1.js} +65 -65
  166. package/build/esm/{index-07075961.js → index-bb347706.js} +1 -1
  167. package/build/esm/{index-a52f90e6.js → index-bd23079a.js} +2 -2
  168. package/build/esm/{index-181ff2a0.js → index-beb68489.js} +2 -2
  169. package/build/esm/{index-c5945db2.js → index-becc5b76.js} +2 -4
  170. package/build/esm/{index-555b281e.js → index-c05657b8.js} +3 -3
  171. package/build/esm/{index-c45f18fe.js → index-c185167d.js} +1 -1
  172. package/build/esm/{index-45b6610c.js → index-c18aab5c.js} +69 -69
  173. package/build/esm/{index-16fe405b.js → index-c3198b88.js} +3 -3
  174. package/build/esm/{index-eb30bc4d.js → index-c6392fa9.js} +1 -1
  175. package/build/esm/{index-4a1aeedd.js → index-c99d015b.js} +20 -20
  176. package/build/esm/{index-69436c25.js → index-c99ee01a.js} +3 -3
  177. package/build/esm/{index-ef5f8f90.js → index-cb5f8635.js} +1 -1
  178. package/build/esm/{index-f930afa0.js → index-cc14ced5.js} +6 -6
  179. package/build/esm/{index-61b4ebd3.js → index-d06a14dc.js} +1 -1
  180. package/build/esm/{index-43d382c8.js → index-d2a71f57.js} +3 -3
  181. package/build/esm/{index-6fe3ff14.js → index-d5081d20.js} +1 -1
  182. package/build/esm/{index-01e167be.js → index-d5b82d9f.js} +1 -1
  183. package/build/esm/{index-5b795c7b.js → index-d63d7688.js} +1 -1
  184. package/build/esm/{index-a784e48f.js → index-d698061d.js} +1 -1
  185. package/build/esm/{index-74d5ee8b.js → index-d829c70f.js} +1 -1
  186. package/build/esm/{index-1d481484.js → index-d83af9ce.js} +90 -90
  187. package/build/esm/{index-9562a9d8.js → index-d9100a6f.js} +1 -1
  188. package/build/esm/{index-2a46675e.js → index-d9774535.js} +66 -66
  189. package/build/esm/{index-5ec0c2dc.js → index-dcd805e9.js} +1 -1
  190. package/build/esm/{index-8f8d141b.js → index-ddbf8330.js} +3 -3
  191. package/build/esm/{index-e260a81a.js → index-ddc68a29.js} +2 -2
  192. package/build/esm/{index-6b55f02e.js → index-df454423.js} +1 -1
  193. package/build/esm/{index-5db7e072.js → index-df7347d9.js} +5 -5
  194. package/build/esm/{index-e5e0e394.js → index-e27608a7.js} +5 -5
  195. package/build/esm/{index-c7d3af7e.js → index-e497d62f.js} +73 -73
  196. package/build/esm/{index-34a1419b.js → index-e5759f7d.js} +1 -1
  197. package/build/esm/{index-959f5aa0.js → index-e5e1e1e1.js} +22 -22
  198. package/build/esm/{index-1010faf1.js → index-e5f412ac.js} +3 -3
  199. package/build/esm/{index-1f095fe3.js → index-e767e0d1.js} +1 -1
  200. package/build/esm/{index-40ca5eeb.js → index-e8a4059f.js} +1 -1
  201. package/build/esm/{index-0e05b6b9.js → index-e8a45d13.js} +1 -1
  202. package/build/esm/{index-938c8c26.js → index-e971f57c.js} +2 -2
  203. package/build/esm/{index-4d855034.js → index-e9898803.js} +6 -4
  204. package/build/esm/{index-89fd7133.js → index-ea08c6de.js} +1 -1
  205. package/build/esm/{index-dca10eb4.js → index-ed85825f.js} +1 -1
  206. package/build/esm/{index-06656766.js → index-eddc2d8c.js} +1 -1
  207. package/build/esm/{index-cfc0389d.js → index-eef9c61f.js} +70 -70
  208. package/build/esm/{index-bc988fdf.js → index-ef1abce5.js} +1 -1
  209. package/build/esm/{index-fedccb21.js → index-ef359752.js} +100 -100
  210. package/build/esm/{index-5ad09ef7.js → index-ef505e6e.js} +1 -1
  211. package/build/esm/{index-00e54c23.js → index-efd1e97a.js} +1 -1
  212. package/build/esm/{index-8b0a3174.js → index-f17b5e41.js} +1 -1
  213. package/build/esm/{index-b011252f.js → index-f32bfafc.js} +7 -7
  214. package/build/esm/{index-85269def.js → index-f691c6e8.js} +8 -8
  215. package/build/esm/{index-5bd398a7.js → index-f70555bd.js} +1 -1
  216. package/build/esm/{index-ead3c18e.js → index-f7feac8d.js} +2 -2
  217. package/build/esm/{index-985d0ac1.js → index-f9162546.js} +1 -1
  218. package/build/esm/{index-d4be771b.js → index-fa8ac48e.js} +1 -1
  219. package/build/esm/{index-ff020436.js → index-fca70154.js} +1 -1
  220. package/build/esm/{index-eee225cf.js → index-fd3c7294.js} +2 -2
  221. package/build/esm/index-fd418d94.js +959 -0
  222. package/build/esm/{index-f74add7e.js → index-fdc1cd3c.js} +5 -5
  223. package/build/esm/{index-08d97746.js → index-feb5a4a4.js} +25 -25
  224. package/build/esm/index.js +1 -1
  225. package/build/esm/{index.module-efce36dc.js → index.module-07458b83.js} +1 -1
  226. package/build/esm/{index.module-76c17bd6.js → index.module-27f96c80.js} +1 -1
  227. package/build/esm/{index.module-41cf846f.js → index.module-4bbdd455.js} +1 -1
  228. package/build/esm/{index.module-ce9cbd44.js → index.module-5128abcd.js} +1 -1
  229. package/build/esm/{index.module-15c22604.js → index.module-86ecbbdf.js} +1 -1
  230. package/build/esm/{index.module-d13df9cf.js → index.module-88b6990a.js} +1 -1
  231. package/build/esm/{index.module-25cdca01.js → index.module-c9d42cc7.js} +1 -1
  232. package/build/esm/{index.module-5bcecdc6.js → index.module-cf367203.js} +1 -1
  233. package/build/esm/{useCustomDimensions-f2bb4edd.js → useCustomDimensions-79359314.js} +1 -1
  234. package/build/esm/{ussIsSticky-6dac519b.js → ussIsSticky-016ed6ab.js} +1 -1
  235. package/build/types/web-planner-react/src/analyzerComponents.d.ts +5 -1
  236. package/build/types/web-planner-react/src/analyzerComponents.d.ts.map +1 -1
  237. package/build/types/web-planner-react/src/components/Layout/wysiwyg/Toolbar/ToolContainer/index.d.ts.map +1 -1
  238. package/build/types/web-planner-react/src/components/Layout/wysiwyg/Toolbar/index.d.ts.map +1 -1
  239. package/build/types/web-planner-react/src/components/Layout/wysiwyg/Toolbar/types.d.ts +1 -1
  240. package/build/types/web-planner-react/src/components/Layout/wysiwyg/Toolbar/types.d.ts.map +1 -1
  241. package/build/types/web-planner-react/src/components/Product/Product/catalog/Sidebar/index.d.ts.map +1 -1
  242. package/build/types/web-planner-react/src/components/Product/Product/catalog/index.d.ts +1 -1
  243. package/build/types/web-planner-react/src/components/Product/Product/catalog/index.d.ts.map +1 -1
  244. package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerMsgContainer/PlannerMsgItem/index.d.ts.map +1 -1
  245. package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/accessoryPlacementMode.d.ts +8 -0
  246. package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/accessoryPlacementMode.d.ts.map +1 -0
  247. package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/index.d.ts +6 -0
  248. package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/index.d.ts.map +1 -0
  249. package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/poolDimensionConfigs.d.ts +18 -0
  250. package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/poolDimensionConfigs.d.ts.map +1 -0
  251. package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/useCreateImageShot.d.ts +15 -0
  252. package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerRTVNext/useCreateImageShot.d.ts.map +1 -0
  253. package/build/types/web-planner-react/src/components/Product/ProductCenter/PlannerUI/Items/PosNr/index.d.ts.map +1 -1
  254. package/build/types/web-planner-react/src/components/Product/ProductCenter/index.d.ts.map +1 -1
  255. package/build/types/web-planner-react/src/components/Settings/SettingsHeaderContainer/SettingsItemHeader/SettingsPosNrContainer/index.d.ts.map +1 -1
  256. package/build/types/web-planner-react/src/components/Settings/SettingsScroller/SettingsItem/ItemPalette/ShelfPlanner/ShelfAccessoires/index.d.ts.map +1 -1
  257. package/build/types/web-planner-react/src/components/Settings/SettingsScroller/SettingsItem/ItemPalette/ShelfPlanner/index.d.ts.map +1 -1
  258. package/build/types/web-planner-react/src/index.d.ts +9 -1
  259. package/build/types/web-planner-react/src/index.d.ts.map +1 -1
  260. package/build/types/web-planner-react/src/model/DivaViewHandler.d.ts +10 -1
  261. package/build/types/web-planner-react/src/model/DivaViewHandler.d.ts.map +1 -1
  262. package/build/types/web-planner-react/src/model/Palette/PaletteViewHandler.d.ts +7 -3
  263. package/build/types/web-planner-react/src/model/Palette/PaletteViewHandler.d.ts.map +1 -1
  264. package/build/types/web-planner-react/src/model/Planner/ViewPlannerHandler.d.ts +11 -1
  265. package/build/types/web-planner-react/src/model/Planner/ViewPlannerHandler.d.ts.map +1 -1
  266. package/build/types/web-planner-react/src/model/Planner/Viewer/Interface/IViewPlanner2DGrid.d.ts +1 -1
  267. package/build/types/web-planner-react/src/model/Planner/Viewer/Interface/IViewPlanner2DGrid.d.ts.map +1 -1
  268. package/build/types/web-planner-react/src/model/Planner/Viewer/Planner2DGrid.d.ts +14 -1
  269. package/build/types/web-planner-react/src/model/Planner/Viewer/Planner2DGrid.d.ts.map +1 -1
  270. package/build/types/web-planner-react/src/model/States/ConfigState/index.d.ts +7 -1
  271. package/build/types/web-planner-react/src/model/States/ConfigState/index.d.ts.map +1 -1
  272. package/build/types/web-planner-react/src/model/States/UIState/Product/index.d.ts +26 -0
  273. package/build/types/web-planner-react/src/model/States/UIState/Product/index.d.ts.map +1 -1
  274. package/build/types/web-planner-react/src/model/States/UIState/Settings/index.d.ts +7 -0
  275. package/build/types/web-planner-react/src/model/States/UIState/Settings/index.d.ts.map +1 -1
  276. package/build/types/web-planner-react/src/model/TabGroup/ConfiguratorStructureHandler.d.ts.map +1 -1
  277. package/build/types/web-planner-react/src/model/index.d.ts.map +1 -1
  278. package/build/types/web-planner-react/src/tests/planner/articleGeometryFabricParity.test.d.ts +3 -0
  279. package/build/types/web-planner-react/src/tests/planner/articleGeometryFabricParity.test.d.ts.map +1 -0
  280. package/build/types/web-planner-react/src/tests/planner/legacy/legacyStretchEngine.d.ts +9 -0
  281. package/build/types/web-planner-react/src/tests/planner/legacy/legacyStretchEngine.d.ts.map +1 -0
  282. package/build/types/web-planner-react/src/tests/planner/minBorderFabricParity.test.d.ts +3 -0
  283. package/build/types/web-planner-react/src/tests/planner/minBorderFabricParity.test.d.ts.map +1 -0
  284. package/build/types/web-planner-react/src/tests/planner/stretchFabricParity.test.d.ts +3 -0
  285. package/build/types/web-planner-react/src/tests/planner/stretchFabricParity.test.d.ts.map +1 -0
  286. package/build/types/web-planner-react/src/utils/rtvNext.d.ts +9 -0
  287. package/build/types/web-planner-react/src/utils/rtvNext.d.ts.map +1 -0
  288. package/build/umd/1219.diva-web-planner-react.umd.min.js +2 -0
  289. package/build/umd/1219.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  290. package/build/umd/1316.diva-web-planner-react.umd.min.js +1 -1
  291. package/build/umd/1492.diva-web-planner-react.umd.min.js +1 -1
  292. package/build/umd/1902.diva-web-planner-react.umd.min.js +1 -1
  293. package/build/umd/1932.diva-web-planner-react.umd.min.js +1 -1
  294. package/build/umd/1936.diva-web-planner-react.umd.min.js +1 -1
  295. package/build/umd/2568.diva-web-planner-react.umd.min.js +1 -1
  296. package/build/umd/2794.diva-web-planner-react.umd.min.js +1 -1
  297. package/build/umd/282.diva-web-planner-react.umd.min.js +1 -1
  298. package/build/umd/2939.diva-web-planner-react.umd.min.js +1 -1
  299. package/build/umd/2994.diva-web-planner-react.umd.min.js +1 -1
  300. package/build/umd/3596.diva-web-planner-react.umd.min.js +1 -1
  301. package/build/umd/7020.diva-web-planner-react.umd.min.js +1 -1
  302. package/build/umd/7118.diva-web-planner-react.umd.min.js +2 -0
  303. package/build/umd/7118.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  304. package/build/umd/7442.diva-web-planner-react.umd.min.js +1 -1
  305. package/build/umd/7909.diva-web-planner-react.umd.min.js +2 -0
  306. package/build/umd/7909.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  307. package/build/umd/8445.diva-web-planner-react.umd.min.js +1 -1
  308. package/build/umd/8616.diva-web-planner-react.umd.min.js +1 -1
  309. package/build/umd/8701.diva-web-planner-react.umd.min.js +1 -1
  310. package/build/umd/8759.diva-web-planner-react.umd.min.js +1 -1
  311. package/build/umd/9054.diva-web-planner-react.umd.min.js +1 -1
  312. package/build/umd/9339.diva-web-planner-react.umd.min.js +1 -1
  313. package/build/umd/9446.diva-web-planner-react.umd.min.js +1 -1
  314. package/build/umd/9679.diva-web-planner-react.umd.min.js +1 -1
  315. package/build/umd/9715.diva-web-planner-react.umd.min.js +1 -1
  316. package/build/umd/diva-web-planner-react.umd.min.js +1 -1
  317. package/build/umd/report.html +1 -1
  318. package/package.json +14 -9
  319. package/build/umd/8332.diva-web-planner-react.umd.min.js +0 -2
  320. package/build/umd/8332.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  321. package/build/umd/8757.diva-web-planner-react.umd.min.js +0 -2
  322. package/build/umd/8757.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
@@ -1,7 +1,9 @@
1
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
1
2
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
3
  import _createClass from '@babel/runtime/helpers/createClass';
3
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
- import './index-899b8922.js';
5
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
6
+ import './index-72ee1983.js';
5
7
  import { fabric } from 'fabric';
6
8
  import { Vector3, Vector2 } from '@crystaldesign/web-planner-logic';
7
9
  import { getLogger, DivaUtils } from '@crystaldesign/diva-core';
@@ -9,10 +11,8 @@ import 'react';
9
11
  import 'react-dynamic-multi-render';
10
12
  import 'react/jsx-runtime';
11
13
  import 'mobx-react-lite';
12
- import '@babel/runtime/helpers/asyncToGenerator';
13
14
  import '@babel/runtime/helpers/slicedToArray';
14
15
  import '@babel/runtime/helpers/objectWithoutProperties';
15
- import '@babel/runtime/regenerator';
16
16
  import '@babel/runtime/helpers/toConsumableArray';
17
17
  import '@crystaldesign/diva-utils';
18
18
  import 'mobx';
@@ -23,7 +23,13 @@ import 'flat';
23
23
  import 'react-switch';
24
24
  import 'react-countup';
25
25
 
26
+ 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; } } }; }
27
+ 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; } }
28
+ 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; }
26
29
  var LOG = getLogger('Planner', 'Planner2DGrid');
30
+
31
+ /** Upper bound for one fabric SVG parse; buildSvgShape must never hang. */
32
+ var SVG_PARSE_TIMEOUT_MS = 10000;
27
33
  var Planner2DGrid = /*#__PURE__*/function () {
28
34
  function Planner2DGrid(getConfiguratorState, getPlannerElementById, getPlannerViewConfig, forceViewToEnterPlannerMode, plannerPaletteViewInfo, settingsState) {
29
35
  var _this = this;
@@ -33,6 +39,8 @@ var Planner2DGrid = /*#__PURE__*/function () {
33
39
  _defineProperty(this, "dimGroupWidthName", 'DimensionGroup_Width');
34
40
  _defineProperty(this, "dimGroupHeightName", 'DimensionGroup_Height');
35
41
  _defineProperty(this, "canvas", void 0);
42
+ /** Counts render passes so an overtaken one cannot paint: shape building is async, so passes finish in completion order, not call order. */
43
+ _defineProperty(this, "renderGeneration", 0);
36
44
  _defineProperty(this, "canvas2DGridID", 'wcConfigurator-grid-2D-canvas');
37
45
  _defineProperty(this, "borderFactorHori", 0.7);
38
46
  //70 % des screens soll von der Planung ausgefüllt werden
@@ -604,61 +612,200 @@ var Planner2DGrid = /*#__PURE__*/function () {
604
612
  }
605
613
 
606
614
  /**
607
- * This function is called in order to render the whole canvas with all planner shapes. First it cleans everything and then it updates everything.
608
- * @param plannerElements All planner elements in the scene
609
- * @param boundingBox The size and position information of the current planning
615
+ * Builds the fabric shape of every element that carries SVG data but no shape yet.
616
+ * The engine clears the shape when an element's SVG is reloaded, so a missing shape means stale or never built.
610
617
  */
611
618
  }, {
612
- key: "updatePlannerView",
613
- value: function updatePlannerView(plannerUIHandler, plannerElementsDict, boundingBox) {
614
- var _this3 = this;
615
- LOG.debug('UpdatePlanner2DGrid', 'Planner2DGrid');
616
- this.clearView();
617
- var curCanvasSize = plannerUIHandler.getCanvas2DGridSize();
618
- if (this.canvas.getWidth() != curCanvasSize.x) this.canvas.setWidth(curCanvasSize.x);
619
- if (this.canvas.getHeight() != curCanvasSize.y) this.canvas.setHeight(curCanvasSize.y);
620
- if (plannerElementsDict.size == 0) return;
621
- var allplannerSVGs = [];
622
- plannerElementsDict.forEach(function (plannerElements, setId) {
623
- for (var i = 0; i < plannerElements.length; i++) {
624
- if (plannerElements[i].getSVGShapeOLF2D()) {
625
- var svgShape2D = plannerElements[i].getSVGShapeOLF2D();
626
- svgShape2D.scaleX = 1 / DivaUtils.UnitRecalc;
627
- svgShape2D.scaleY = 1 / DivaUtils.UnitRecalc;
628
- var corner = _this3.getWorldCorner(plannerElements[i], false);
629
- svgShape2D.left = corner.x - boundingBox.worldPos.x;
630
- svgShape2D.top = corner.z - boundingBox.worldPos.y;
631
- svgShape2D.angle = plannerElements[i].getRotDeg();
632
- allplannerSVGs.push(svgShape2D);
619
+ key: "ensureSvgShapes",
620
+ value: (function () {
621
+ var _ensureSvgShapes = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(plannerElementsDict) {
622
+ var _this3 = this;
623
+ var pending;
624
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
625
+ while (1) switch (_context.prev = _context.next) {
626
+ case 0:
627
+ pending = [];
628
+ plannerElementsDict.forEach(function (plannerElements) {
629
+ var _iterator = _createForOfIteratorHelper(plannerElements),
630
+ _step;
631
+ try {
632
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
633
+ var plannerElement = _step.value;
634
+ if (plannerElement.getSVGShapeOLF2D() || !plannerElement.SvgData) continue;
635
+ pending.push(_this3.buildSvgShape(plannerElement));
636
+ }
637
+ } catch (err) {
638
+ _iterator.e(err);
639
+ } finally {
640
+ _iterator.f();
641
+ }
642
+ });
643
+ _context.next = 4;
644
+ return Promise.all(pending);
645
+ case 4:
646
+ case "end":
647
+ return _context.stop();
633
648
  }
649
+ }, _callee);
650
+ }));
651
+ function ensureSvgShapes(_x) {
652
+ return _ensureSvgShapes.apply(this, arguments);
653
+ }
654
+ return ensureSvgShapes;
655
+ }()
656
+ /**
657
+ * Parses the element's SVG into a fabric group. MUST always settle: fabric silently drops its callback
658
+ * on a malformed shape, and this promise is awaited up into the basket save, which would then hang forever.
659
+ */
660
+ )
661
+ }, {
662
+ key: "buildSvgShape",
663
+ value: function buildSvgShape(plannerElement) {
664
+ var _this4 = this;
665
+ return new Promise(function (resolve) {
666
+ var settled = false;
667
+ var finish = function finish() {
668
+ if (settled) return;
669
+ settled = true;
670
+ clearTimeout(timeout);
671
+ resolve();
672
+ };
673
+ var timeout = setTimeout(function () {
674
+ LOG.warn("2D shape build timed out after ".concat(SVG_PARSE_TIMEOUT_MS, "ms \u2014 element rendered without its SVG shape"), 'Planner2DGrid');
675
+ finish();
676
+ }, SVG_PARSE_TIMEOUT_MS);
677
+ try {
678
+ fabric.loadSVGFromString(plannerElement.SvgData, function (objects, options) {
679
+ // A late callback must be ignored: the element may already carry a newer SVG, and a stale shape counts as present.
680
+ if (settled) return;
681
+ try {
682
+ _this4.applySvgShape(plannerElement, objects, options);
683
+ } catch (error) {
684
+ LOG.warn("2D shape build failed: ".concat(error instanceof Error ? error.message : String(error)), 'Planner2DGrid');
685
+ }
686
+ finish();
687
+ });
688
+ } catch (error) {
689
+ LOG.warn("2D shape parse threw: ".concat(error instanceof Error ? error.message : String(error)), 'Planner2DGrid');
690
+ finish();
634
691
  }
635
692
  });
636
- this.calcZoomFactor(boundingBox);
637
- if (this.currZoomFactor > this.maxZoom) this.currZoomFactor = this.maxZoom;
638
- var screenPosSet = new Vector2(boundingBox.worldPos.x * this.currZoomFactor, boundingBox.worldPos.y * this.currZoomFactor);
639
- var setGroup = new fabric.Group(allplannerSVGs, {
693
+ }
694
+ }, {
695
+ key: "applySvgShape",
696
+ value: function applySvgShape(plannerElement, objects, options) {
697
+ for (var objNo = 0; objNo < objects.length; objNo++) {
698
+ var _object$id;
699
+ var object = objects[objNo];
700
+ object.setCoords();
701
+ var objID = (_object$id = object.id) === null || _object$id === void 0 ? void 0 : _object$id.toString();
702
+ if (objID && (objID.startsWith('OLF') || objID.startsWith('OLT'))) {
703
+ object.stroke = 'none';
704
+ }
705
+ }
706
+ var shape = fabric.util.groupSVGElements(objects, options);
707
+ shape.set({
640
708
  originX: 'left',
641
709
  originY: 'top',
642
- left: screenPosSet.x,
643
- top: screenPosSet.y,
644
- opacity: 1,
645
- scaleX: this.currZoomFactor,
646
- scaleY: this.currZoomFactor,
647
- hasControls: false,
648
- selectable: false,
649
- hoverCursor: 'default'
710
+ lockRotation: true,
711
+ hasRotatingPoint: true,
712
+ lockUniScaling: true,
713
+ lockScalingX: true,
714
+ lockScalingY: true,
715
+ scaleX: 1,
716
+ scaleY: 1,
717
+ left: 0,
718
+ top: 0
650
719
  });
651
- var offsetX = this.canvas.getWidth() / 2 - (setGroup.left + setGroup.width * this.currZoomFactor / 2);
652
- var offsetY = this.canvas.getHeight() / 2 - (setGroup.top + setGroup.height * this.currZoomFactor / 2);
653
- this.currCenteringOffset = new Vector2(offsetX, offsetY);
654
- setGroup.left += offsetX;
655
- setGroup.top += offsetY;
656
- this.canvas.add(setGroup);
657
- setGroup.bringToFront();
658
- this.correctBackgroundPos(plannerUIHandler);
659
- this.drawDimensions(setGroup, boundingBox);
660
- this.canvas.renderAll();
720
+ plannerElement.SvgShapeOLF2D = shape;
661
721
  }
722
+
723
+ /**
724
+ * This function is called in order to render the whole canvas with all planner shapes. First it cleans everything and then it updates everything.
725
+ * @param plannerElements All planner elements in the scene
726
+ * @param boundingBox The size and position information of the current planning
727
+ */
728
+ }, {
729
+ key: "updatePlannerView",
730
+ value: (function () {
731
+ var _updatePlannerView = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(plannerUIHandler, plannerElementsDict, boundingBox) {
732
+ var _this5 = this;
733
+ var generation, curCanvasSize, allplannerSVGs, screenPosSet, setGroup, offsetX, offsetY;
734
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
735
+ while (1) switch (_context2.prev = _context2.next) {
736
+ case 0:
737
+ LOG.debug('UpdatePlanner2DGrid', 'Planner2DGrid');
738
+ generation = ++this.renderGeneration;
739
+ _context2.next = 4;
740
+ return this.ensureSvgShapes(plannerElementsDict);
741
+ case 4:
742
+ if (!(generation !== this.renderGeneration)) {
743
+ _context2.next = 6;
744
+ break;
745
+ }
746
+ return _context2.abrupt("return");
747
+ case 6:
748
+ this.clearView();
749
+ curCanvasSize = plannerUIHandler.getCanvas2DGridSize();
750
+ if (this.canvas.getWidth() != curCanvasSize.x) this.canvas.setWidth(curCanvasSize.x);
751
+ if (this.canvas.getHeight() != curCanvasSize.y) this.canvas.setHeight(curCanvasSize.y);
752
+ if (!(plannerElementsDict.size == 0)) {
753
+ _context2.next = 12;
754
+ break;
755
+ }
756
+ return _context2.abrupt("return");
757
+ case 12:
758
+ allplannerSVGs = [];
759
+ plannerElementsDict.forEach(function (plannerElements, setId) {
760
+ for (var i = 0; i < plannerElements.length; i++) {
761
+ if (plannerElements[i].getSVGShapeOLF2D()) {
762
+ var svgShape2D = plannerElements[i].getSVGShapeOLF2D();
763
+ svgShape2D.scaleX = 1 / DivaUtils.UnitRecalc;
764
+ svgShape2D.scaleY = 1 / DivaUtils.UnitRecalc;
765
+ var corner = _this5.getWorldCorner(plannerElements[i], false);
766
+ svgShape2D.left = corner.x - boundingBox.worldPos.x;
767
+ svgShape2D.top = corner.z - boundingBox.worldPos.y;
768
+ svgShape2D.angle = plannerElements[i].getRotDeg();
769
+ allplannerSVGs.push(svgShape2D);
770
+ }
771
+ }
772
+ });
773
+ this.calcZoomFactor(boundingBox);
774
+ if (this.currZoomFactor > this.maxZoom) this.currZoomFactor = this.maxZoom;
775
+ screenPosSet = new Vector2(boundingBox.worldPos.x * this.currZoomFactor, boundingBox.worldPos.y * this.currZoomFactor);
776
+ setGroup = new fabric.Group(allplannerSVGs, {
777
+ originX: 'left',
778
+ originY: 'top',
779
+ left: screenPosSet.x,
780
+ top: screenPosSet.y,
781
+ opacity: 1,
782
+ scaleX: this.currZoomFactor,
783
+ scaleY: this.currZoomFactor,
784
+ hasControls: false,
785
+ selectable: false,
786
+ hoverCursor: 'default'
787
+ });
788
+ offsetX = this.canvas.getWidth() / 2 - (setGroup.left + setGroup.width * this.currZoomFactor / 2);
789
+ offsetY = this.canvas.getHeight() / 2 - (setGroup.top + setGroup.height * this.currZoomFactor / 2);
790
+ this.currCenteringOffset = new Vector2(offsetX, offsetY);
791
+ setGroup.left += offsetX;
792
+ setGroup.top += offsetY;
793
+ this.canvas.add(setGroup);
794
+ setGroup.bringToFront();
795
+ this.correctBackgroundPos(plannerUIHandler);
796
+ this.drawDimensions(setGroup, boundingBox);
797
+ this.canvas.renderAll();
798
+ case 28:
799
+ case "end":
800
+ return _context2.stop();
801
+ }
802
+ }, _callee2, this);
803
+ }));
804
+ function updatePlannerView(_x2, _x3, _x4) {
805
+ return _updatePlannerView.apply(this, arguments);
806
+ }
807
+ return updatePlannerView;
808
+ }())
662
809
  }]);
663
810
  }();
664
811
 
@@ -1,7 +1,7 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
- import './index-899b8922.js';
4
+ import './index-72ee1983.js';
5
5
  import { Vector2, Rendering } from '@crystaldesign/web-planner-logic';
6
6
  import 'react';
7
7
  import 'react-dynamic-multi-render';
@@ -1,7 +1,7 @@
1
1
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
3
  import _regeneratorRuntime from '@babel/runtime/regenerator';
4
- import { s as styleInject } from './index-899b8922.js';
4
+ import { s as styleInject } from './index-72ee1983.js';
5
5
  import { useState, useEffect } from 'react';
6
6
  import { useTranslation, DivaUtils } from '@crystaldesign/diva-core';
7
7
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -1,15 +1,15 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import { u as useViewHandler } from './index-899b8922.js';
3
+ import { u as useViewHandler } from './index-72ee1983.js';
4
4
  import 'react';
5
- import { s as shelfPlannerContainerRtv, a as shelfPlannerContainerHorizontal, b as shelfPlannerContainerVertical, e as expanded, c as shelfGrid, d as shelfGridBorder, w as warning, f as accessoires, g as configHeaderWrapper, h as closeButton, n as name, S as SelectedAcc, i as accessoireContainer } from './index-8b0a3174.js';
6
- import { c as collapsableInner } from './index-4a1aeedd.js';
7
- import ShelfAccessoires from './index-36c018f3.js';
8
- import ShelfAccessoiresOld from './index-24df5db1.js';
9
- import GridList from './index-be4baeb9.js';
5
+ import { s as shelfPlannerContainerRtv, a as shelfPlannerContainerHorizontal, b as shelfPlannerContainerVertical, e as expanded, c as shelfGrid, d as shelfGridBorder, w as warning, f as accessoires, g as configHeaderWrapper, h as closeButton, n as name, S as SelectedAcc, i as accessoireContainer } from './index-f17b5e41.js';
6
+ import { c as collapsableInner } from './index-c99d015b.js';
7
+ import ShelfAccessoires from './index-064a58a8.js';
8
+ import ShelfAccessoiresOld from './index-a937a019.js';
9
+ import GridList from './index-211856e0.js';
10
10
  import classnames from 'classnames';
11
11
  import { observer } from 'mobx-react-lite';
12
- import SettingsItemsWrapper from './index-7ae6b393.js';
12
+ import SettingsItemsWrapper from './index-859f0bb8.js';
13
13
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
14
14
  import 'react-dynamic-multi-render';
15
15
  import '@crystaldesign/diva-core';
@@ -28,87 +28,146 @@ import 'flat';
28
28
  import 'react-switch';
29
29
  import 'react-countup';
30
30
  import 'sift';
31
- import './index-84f83c67.js';
32
- import './index-a784e48f.js';
33
- import './index-ada3c152.js';
34
- import './index-8b6d1b2c.js';
35
- import './index.module-ce9cbd44.js';
36
- import './index-37df8f9a.js';
37
- import './index-83d6bb83.js';
31
+ import './index-98a74c16.js';
32
+ import './index-d698061d.js';
33
+ import './index-4f872377.js';
34
+ import './index-33ce2722.js';
35
+ import './index.module-5128abcd.js';
36
+ import './index-20bc3775.js';
37
+ import './index-272415ce.js';
38
38
  import '@mui/icons-material/Block';
39
39
  import '@mui/icons-material/Warning';
40
- import './index-869d65ec.js';
40
+ import './index-ad036a50.js';
41
41
  import 'react-dropdown';
42
- import './index-f74add7e.js';
42
+ import './index-fdc1cd3c.js';
43
43
  import '@babel/runtime/helpers/objectDestructuringEmpty';
44
- import './index-624149c8.js';
45
- import './index-dc3778bc.js';
46
- import './index-ead3c18e.js';
44
+ import './index-77c705e2.js';
45
+ import './index-8206408d.js';
46
+ import './index-f7feac8d.js';
47
47
  import '@crystaldesign/content-box';
48
- import './index-71c05fb2.js';
49
- import './index-45ae8ca7.js';
50
- import './index-985d0ac1.js';
51
- import './index-8ce6adb9.js';
48
+ import './index-b24b2138.js';
49
+ import './index-5ce2f921.js';
50
+ import './index-f9162546.js';
51
+ import './index-9a25ac85.js';
52
52
  import 'swiper/react';
53
53
  import 'swiper/modules';
54
- import './UnlockCard-3fb76e70.js';
55
- import './index-73c75e94.js';
56
- import './index-08d97746.js';
57
- import './index-5ad09ef7.js';
58
- import './index-61b4ebd3.js';
59
- import './index-afe33b8f.js';
60
- import './index-69650205.js';
54
+ import './UnlockCard-3f4735b2.js';
55
+ import './index-3d163534.js';
56
+ import './index-feb5a4a4.js';
57
+ import './index-ef505e6e.js';
58
+ import './index-d06a14dc.js';
59
+ import './index-1228f6d8.js';
60
+ import './index-42f2a415.js';
61
61
  import 'react-laag';
62
- import './index.module-41cf846f.js';
63
- import './index-1e23c982.js';
64
- import './index-9562a9d8.js';
65
- import './index-f3bca3be.js';
66
- import './index-6fe3ff14.js';
67
- import './index-8d52e836.js';
68
- import './index.module-15c22604.js';
69
- import './index-1487d493.js';
70
- import './index-102ef56e.js';
71
- import './index-a7de9a70.js';
72
- import './index-031864a2.js';
73
- import './index-bd8d0479.js';
74
- import './index-1d2d7fb6.js';
75
- import './index-e7790e24.js';
76
- import './index-1010faf1.js';
77
- import './index-0908ac1e.js';
78
- import './index-84657f6d.js';
79
- import './index-fdd2f2b6.js';
80
- import './index-d8f30b62.js';
81
- import './index-2e12b9e1.js';
62
+ import './index.module-4bbdd455.js';
63
+ import './index-a41aa14b.js';
64
+ import './index-d9100a6f.js';
65
+ import './index-0c8051ed.js';
66
+ import './index-d5081d20.js';
67
+ import './index-a9ad56ce.js';
68
+ import './index.module-86ecbbdf.js';
69
+ import './index-9ad37044.js';
70
+ import './index-13eba10c.js';
71
+ import './index-50a4df67.js';
72
+ import './index-0ec61a56.js';
73
+ import './index-3d1b156f.js';
74
+ import './index-76047a52.js';
75
+ import './index-84b299d6.js';
76
+ import './index-e5f412ac.js';
77
+ import './index-0a53e583.js';
78
+ import './index-1eda72f9.js';
79
+ import './index-2e4dfaff.js';
80
+ import './index-7ed4c41e.js';
81
+ import './index-8888ff80.js';
82
82
  import 'rc-slider';
83
- import './index-16fe405b.js';
84
- import './index-e8eb5116.js';
85
- import './index-a52f90e6.js';
86
- import './index-da2a2a8b.js';
87
- import './index-7c7b6fc7.js';
83
+ import './index-c3198b88.js';
84
+ import './index-20a02afb.js';
85
+ import './index-bd23079a.js';
86
+ import './index-05ec5456.js';
87
+ import './index-a037c82b.js';
88
88
  import 'react-confetti-explosion';
89
- import './index-17ba7b38.js';
90
- import './index-99c94447.js';
91
- import './index-048552f0.js';
89
+ import './index-3a751e91.js';
90
+ import './index-ad13b6fc.js';
91
+ import './index-2198f950.js';
92
92
  import 'react-qr-code';
93
- import './index-eb30bc4d.js';
94
- import './useCustomDimensions-f2bb4edd.js';
95
- import './index-0ec473cc.js';
96
- import './ussIsSticky-6dac519b.js';
97
- import './index-85269def.js';
98
- import './index-10cd9e60.js';
99
- import './index-ac5a2704.js';
100
- import './index.module-25cdca01.js';
101
- import './index-f45ab225.js';
102
- import './index-46e9d390.js';
103
- import './index-89fd7133.js';
104
- import './index-52eb8599.js';
93
+ import './index-c6392fa9.js';
94
+ import './useCustomDimensions-79359314.js';
95
+ import './index-89a5bec9.js';
96
+ import './ussIsSticky-016ed6ab.js';
97
+ import './index-f691c6e8.js';
98
+ import './index-73fa2cb7.js';
99
+ import './index-60ad7ed4.js';
100
+ import './index.module-c9d42cc7.js';
101
+ import './index-a91e9654.js';
102
+ import './index-95d16f7e.js';
103
+ import './index-ea08c6de.js';
104
+ import './index-5da75e9a.js';
105
+ import 'react-dom';
105
106
  import 'react-beautiful-dnd';
106
- import './index-5ec0c2dc.js';
107
- import './index-2a46675e.js';
108
- import './index-bf19aa67.js';
107
+ import './index-dcd805e9.js';
108
+ import './index-d9774535.js';
109
+ import './index-38012daa.js';
109
110
 
110
111
  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; }
111
112
  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; }
113
+ 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; } } }; }
114
+ 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; } }
115
+ 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; }
116
+ /** Rough "size" of an accessory for picking the biggest family member (bbox volume, fallback cellSize). */
117
+ var accSize = function accSize(i) {
118
+ var _i$width, _i$height, _i$depth;
119
+ return ((_i$width = i.width) !== null && _i$width !== void 0 ? _i$width : 0) * ((_i$height = i.height) !== null && _i$height !== void 0 ? _i$height : 0) * ((_i$depth = i.depth) !== null && _i$depth !== void 0 ? _i$depth : 0) || i.cellSize || 0;
120
+ };
121
+
122
+ /**
123
+ * `PaletteItemType` has no discriminant, but `cellSize` is declared only on `ShelfAccessoriesView`,
124
+ * so `in` narrows the union to it. Non-empty in practice: the SHELFPLANNER palette is fed solely by
125
+ * `ShelfItem.getAllItems()`, which is `ShelfAccessoriesView[]` — the element type is only lost when
126
+ * `updateItemPalette` widens it to `PaletteItemType[]`.
127
+ */
128
+ var isShelfAccessory = function isShelfAccessory(i) {
129
+ return 'cellSize' in i;
130
+ };
131
+
132
+ /** Family key of a palette item: its accessory variant-family name, or null if it's not in a family. */
133
+ function familyKeyOf(item) {
134
+ var _item$accessoireFamil;
135
+ return (_item$accessoireFamil = item.accessoireFamily) !== null && _item$accessoireFamil !== void 0 ? _item$accessoireFamil : null;
136
+ }
137
+
138
+ /**
139
+ * Collapse each variant family to a single palette entry — the BIGGEST member (its label/image/price
140
+ * represent the family; picking it auto-places that size, then the drag resizes to the right variant).
141
+ * Items not in a family pass through unchanged, keeping their original order.
142
+ */
143
+ function collapseFamilies(items) {
144
+ var out = [];
145
+ var idxByFamily = new Map();
146
+ var _iterator = _createForOfIteratorHelper(items),
147
+ _step;
148
+ try {
149
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
150
+ var it = _step.value;
151
+ var key = familyKeyOf(it);
152
+ if (!key) {
153
+ out.push(it);
154
+ continue;
155
+ }
156
+ var at = idxByFamily.get(key);
157
+ if (at === undefined) {
158
+ idxByFamily.set(key, out.length);
159
+ out.push(it);
160
+ } else if (accSize(it) > accSize(out[at])) {
161
+ out[at] = it;
162
+ }
163
+ }
164
+ } catch (err) {
165
+ _iterator.e(err);
166
+ } finally {
167
+ _iterator.f();
168
+ }
169
+ return out;
170
+ }
112
171
  var ShelfPlanner = function ShelfPlanner(_ref) {
113
172
  var _viewHandler$settings, _viewHandler$settings2, _viewHandler$settings3, _viewHandler$settings4, _item$shelfPlannerGri, _item$shelfPlannerGri2, _item$shelfPlannerGri3, _filteredGroups$0$ite, _filteredGroups$, _selAccItem, _selAccItem2;
114
173
  var item = _ref.item,
@@ -121,11 +180,14 @@ var ShelfPlanner = function ShelfPlanner(_ref) {
121
180
  return g.ActAccessoire;
122
181
  })) !== null && _item$shelfPlannerGri !== void 0 ? _item$shelfPlannerGri : item === null || item === void 0 || (_item$shelfPlannerGri3 = item.shelfPlannerGrids) === null || _item$shelfPlannerGri3 === void 0 ? void 0 : _item$shelfPlannerGri3[0];
123
182
  if (!grid) return /*#__PURE__*/jsx(Fragment, {});
124
- var items = (_filteredGroups$0$ite = (_filteredGroups$ = filteredGroups[0]) === null || _filteredGroups$ === void 0 ? void 0 : _filteredGroups$.items) !== null && _filteredGroups$0$ite !== void 0 ? _filteredGroups$0$ite : [];
183
+ var allItems = ((_filteredGroups$0$ite = (_filteredGroups$ = filteredGroups[0]) === null || _filteredGroups$ === void 0 ? void 0 : _filteredGroups$.items) !== null && _filteredGroups$0$ite !== void 0 ? _filteredGroups$0$ite : []).filter(isShelfAccessory);
184
+ // In autoPlaceDrag, show one entry per variant family (the biggest member); the drag resizes it.
185
+ var items = collapseFamilies(allItems) ;
125
186
  var selAcc = grid.ActAccessoire;
126
187
  var selAccItem = undefined;
127
188
  if (selAcc) {
128
- selAccItem = items.find(function (item) {
189
+ // Resolve from the full list — a selected member may have been collapsed away from the palette.
190
+ selAccItem = allItems.find(function (item) {
129
191
  return item.articleCodex == selAcc;
130
192
  });
131
193
  }
@@ -199,11 +261,14 @@ var ShelfPlanner = function ShelfPlanner(_ref) {
199
261
  overflow: mobileRTV ? 'visible' : undefined
200
262
  },
201
263
  children: items.map(function (acc, key) {
264
+ var _selAccItem3;
202
265
  return /*#__PURE__*/jsxs(Fragment, {
203
266
  children: [viewHandler.productState.shelfPlannerRTV && /*#__PURE__*/jsx(ShelfAccessoires, {
204
267
  grids: item.shelfPlannerGrids,
205
268
  item: acc,
206
- sel: acc.articleCodex == selAcc
269
+ // A collapsed family entry stands in for every member, so match the family too —
270
+ // the placed variant may be a smaller sibling of the entry on display.
271
+ sel: acc.articleCodex == selAcc || !!((_selAccItem3 = selAccItem) !== null && _selAccItem3 !== void 0 && _selAccItem3.accessoireFamily) && acc.accessoireFamily === selAccItem.accessoireFamily
207
272
  }, key), !viewHandler.productState.shelfPlannerRTV && /*#__PURE__*/jsx(ShelfAccessoiresOld, {
208
273
  grids: item.shelfPlannerGrids,
209
274
  item: acc