@crystaldesign/diva-web-planner-react 26.3.0-beta.32 → 26.3.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.
Files changed (487) hide show
  1. package/build/esm/{ArticleProperties-73bc731e.js → ArticleProperties-14e8271b.js} +1 -1
  2. package/build/esm/{CatalogProperties-a32b1376.js → CatalogProperties-4ae484ba.js} +1 -1
  3. package/build/esm/{DecisionVizualizer-ab2ab17d.js → DecisionVizualizer-1fa77ec8.js} +1 -1
  4. package/build/esm/{OptionProperties-385d30b7.js → OptionProperties-ddcfb6df.js} +1 -1
  5. package/build/esm/{OptionValueProperties-ff04d269.js → OptionValueProperties-153d853e.js} +1 -1
  6. package/build/esm/{Planner2DGrid-f5302192.js → Planner2DGrid-ef271f3d.js} +1 -1
  7. package/build/esm/{Planner3DImage-4f3e5a3f.js → Planner3DImage-44ec8340.js} +1 -1
  8. package/build/esm/PriceListCockpit-f57b3e05.js +359 -0
  9. package/build/esm/PriceListTable-3e770622.js +854 -0
  10. package/build/esm/{UnlockCard-eedb32dd.js → UnlockCard-3c6f5499.js} +1 -1
  11. package/build/esm/{agGridLoader-f4cd9cf9.js → agGridLoader-1d1fd8b4.js} +1 -1
  12. package/build/esm/{index-96b506f3.js → index-00224677.js} +1 -1
  13. package/build/esm/{index-cef639c1.js → index-00fdaf8d.js} +71 -71
  14. package/build/esm/{index-ac5596c4.js → index-03d00e89.js} +1 -1
  15. package/build/esm/{index-63d8bd21.js → index-04108701.js} +1 -1
  16. package/build/esm/{index-e4ef2fe2.js → index-046aa46c.js} +1 -1
  17. package/build/esm/{index-9460f067.js → index-08191910.js} +72 -72
  18. package/build/esm/{index-baf0097b.js → index-083b067c.js} +2 -2
  19. package/build/esm/{index-ec8583d4.js → index-09b69cc7.js} +2 -2
  20. package/build/esm/{index-62c24617.js → index-09d13ece.js} +1 -1
  21. package/build/esm/{index-ecf5d2ad.js → index-0b1b88fc.js} +7 -7
  22. package/build/esm/{index-bab8c7ca.js → index-0ca16044.js} +1 -1
  23. package/build/esm/{index-e868c378.js → index-0d6f60ff.js} +93 -93
  24. package/build/esm/{index-f3f86e53.js → index-0dfb9fd2.js} +8 -8
  25. package/build/esm/{index-13ab027a.js → index-0e4e0f8c.js} +2 -2
  26. package/build/esm/{index-766d11be.js → index-0ec392ae.js} +2 -2
  27. package/build/esm/{index-cc35bccc.js → index-0fd5c1ec.js} +1 -1
  28. package/build/esm/{index-bf3f9be1.js → index-1111ff26.js} +1 -1
  29. package/build/esm/{index-a728e89b.js → index-120ad4c1.js} +73 -73
  30. package/build/esm/{index-b9cc8b64.js → index-12d44dff.js} +1 -1
  31. package/build/esm/{index-5e237601.js → index-1387e74a.js} +1 -1
  32. package/build/esm/{index-2f80673f.js → index-1494d14e.js} +5 -5
  33. package/build/esm/{index-b0f33b61.js → index-14a6b575.js} +7 -7
  34. package/build/esm/{index-48d72bcf.js → index-1533f048.js} +6 -6
  35. package/build/esm/{index-b8cd3e6e.js → index-154a69ba.js} +1 -1
  36. package/build/esm/{index-9ac6cfde.js → index-166bb431.js} +1 -1
  37. package/build/esm/{index-b2e852a2.js → index-166d9ebc.js} +1 -1
  38. package/build/esm/{index-1bef5016.js → index-18db585a.js} +1 -1
  39. package/build/esm/{index-dac4c554.js → index-1a65b640.js} +7 -7
  40. package/build/esm/{index-687ae0a1.js → index-1a82bc2c.js} +8 -8
  41. package/build/esm/{index-e22db8ba.js → index-1ae57fc0.js} +1 -1
  42. package/build/esm/{index-013824ae.js → index-1bac6c75.js} +1 -1
  43. package/build/esm/{index-d1e33ab9.js → index-1e04b696.js} +2 -2
  44. package/build/esm/{index-197173a7.js → index-1f2fa80f.js} +6 -6
  45. package/build/esm/{index-9a23b442.js → index-1f6d4cf9.js} +3 -3
  46. package/build/esm/{index-8ae4e6a5.js → index-21131a37.js} +2 -2
  47. package/build/esm/{index-2590c157.js → index-2182293a.js} +1 -1
  48. package/build/esm/{index-74151a62.js → index-2218072d.js} +3 -3
  49. package/build/esm/{index-0917a76d.js → index-223d8ca5.js} +1 -1
  50. package/build/esm/{index-2a246afa.js → index-23504bdd.js} +3 -3
  51. package/build/esm/{index-96b06af6.js → index-236af7d4.js} +4 -4
  52. package/build/esm/{index-ae79a6a7.js → index-245c6ba7.js} +1 -1
  53. package/build/esm/{index-41287e93.js → index-2917edc8.js} +1 -1
  54. package/build/esm/{index-1dbe6fd2.js → index-29d4b11d.js} +6 -6
  55. package/build/esm/{index-9acf9223.js → index-2c6c6271.js} +1 -1
  56. package/build/esm/{index-dcb5a4c8.js → index-2d14e3d7.js} +1 -1
  57. package/build/esm/{index-760abbd4.js → index-2dd18f1b.js} +95 -95
  58. package/build/esm/{index-d1a24490.js → index-308b2e5b.js} +76 -76
  59. package/build/esm/{index-96a844ba.js → index-30cd372b.js} +10 -10
  60. package/build/esm/{index-f3fe4228.js → index-3185efa3.js} +1 -1
  61. package/build/esm/{index-14956835.js → index-31c93e7f.js} +1 -1
  62. package/build/esm/{index-e8c4bab6.js → index-32757b24.js} +1 -1
  63. package/build/esm/{index-e25cc28a.js → index-32b3d1f1.js} +1 -1
  64. package/build/esm/{index-a2e90cfe.js → index-3383cbc5.js} +11 -11
  65. package/build/esm/{index-24262050.js → index-354c298d.js} +78 -78
  66. package/build/esm/{index-512c9912.js → index-3622ec75.js} +1 -1
  67. package/build/esm/{index-1896dc59.js → index-37aa7182.js} +2 -2
  68. package/build/esm/{index-442eb1c2.js → index-39107b39.js} +75 -75
  69. package/build/esm/{index-39b1626d.js → index-3968a8de.js} +1 -1
  70. package/build/esm/{index-a48c7e56.js → index-39c1d7a5.js} +31 -15
  71. package/build/esm/{index-945800aa.js → index-3a594535.js} +3 -3
  72. package/build/esm/{index-f5c22c38.js → index-3a95f1e4.js} +2 -2
  73. package/build/esm/{index-30927267.js → index-3b1f0fa8.js} +2 -2
  74. package/build/esm/{index-969a7f31.js → index-3b65ece8.js} +75 -75
  75. package/build/esm/{index-e656db05.js → index-3ba926e6.js} +1 -1
  76. package/build/esm/{index-463eff42.js → index-3dff9183.js} +1 -1
  77. package/build/esm/{index-1cbb3661.js → index-3e2fd38f.js} +2 -2
  78. package/build/esm/{index-9c1b63cd.js → index-3f4b061e.js} +1 -1
  79. package/build/esm/{index-8e388c8c.js → index-3fe77acb.js} +108 -108
  80. package/build/esm/{index-d90926c1.js → index-42a5c2f4.js} +1 -1
  81. package/build/esm/{index-f4e3117f.js → index-434bd5ab.js} +1 -1
  82. package/build/esm/{index-7de15864.js → index-440d821a.js} +5 -5
  83. package/build/esm/{index-8e05e256.js → index-4410e438.js} +2 -2
  84. package/build/esm/{index-6c7bdce9.js → index-44457aec.js} +3 -3
  85. package/build/esm/{index-d03ce7a1.js → index-4488c8fd.js} +2 -2
  86. package/build/esm/{index-69e42647.js → index-454b8fa7.js} +6 -6
  87. package/build/esm/{index-01d1aa77.js → index-46191349.js} +6 -6
  88. package/build/esm/{index-3ec62521.js → index-48627f4c.js} +5 -5
  89. package/build/esm/{index-a7749e50.js → index-48c66795.js} +3 -3
  90. package/build/esm/{index-d2709a16.js → index-4941e808.js} +1 -1
  91. package/build/esm/{index-1975fb1a.js → index-49bd4928.js} +3 -3
  92. package/build/esm/{index-29a630b9.js → index-4d5483ee.js} +2 -2
  93. package/build/esm/{index-553ed2d8.js → index-4fb3bc53.js} +15 -15
  94. package/build/esm/{index-4969ce3f.js → index-50385064.js} +3 -3
  95. package/build/esm/{index-5a944c7e.js → index-508852dd.js} +2 -2
  96. package/build/esm/{index-a143732e.js → index-515d04bc.js} +1 -1
  97. package/build/esm/{index-bec3a509.js → index-51a77f0e.js} +1 -1
  98. package/build/esm/{index-ff96fb59.js → index-52135e5c.js} +1 -1
  99. package/build/esm/{index-7bf7becb.js → index-5231ca3f.js} +78 -78
  100. package/build/esm/{index-df039251.js → index-52d6c70d.js} +81 -81
  101. package/build/esm/{index-ed26229c.js → index-53a64147.js} +2 -2
  102. package/build/esm/{index-396df0a6.js → index-53ad587f.js} +1 -1
  103. package/build/esm/{index-a1081b61.js → index-5419a0d3.js} +20 -20
  104. package/build/esm/{index-2a0a2f0d.js → index-549d7996.js} +3 -3
  105. package/build/esm/{index-69a6c7a9.js → index-56b4eda9.js} +1 -1
  106. package/build/esm/{index-8a32be1c.js → index-576fdc11.js} +2 -2
  107. package/build/esm/{index-0a590051.js → index-586be978.js} +1 -1
  108. package/build/esm/{index-98ce68ff.js → index-591bd576.js} +2 -2
  109. package/build/esm/{index-a6cda1a1.js → index-59f3a171.js} +1 -1
  110. package/build/esm/{index-cd3e741e.js → index-5aa45ea3.js} +3 -3
  111. package/build/esm/{index-d8fd9c3d.js → index-5d80aaac.js} +1 -1
  112. package/build/esm/{index-79099fea.js → index-611b3ca8.js} +1 -1
  113. package/build/esm/{index-8eaee390.js → index-61206d5b.js} +1 -1
  114. package/build/esm/{index-3a5b46aa.js → index-62ab974b.js} +1 -1
  115. package/build/esm/{index-fd9f971c.js → index-62d8bd96.js} +1 -1
  116. package/build/esm/{index-3c8c9de3.js → index-6302f27a.js} +5 -5
  117. package/build/esm/{index-23ccaaf8.js → index-632af85a.js} +1 -1
  118. package/build/esm/{index-27f0428f.js → index-63f3b9f0.js} +1 -1
  119. package/build/esm/{index-21ac5b0b.js → index-654a0d8d.js} +1 -1
  120. package/build/esm/{index-3dbaff66.js → index-65532eb9.js} +2 -2
  121. package/build/esm/{index-e591004e.js → index-6688dfe5.js} +3 -3
  122. package/build/esm/{index-a9845019.js → index-67d8bccf.js} +8 -8
  123. package/build/esm/{index-0f326a11.js → index-68195340.js} +17 -17
  124. package/build/esm/{index-13302343.js → index-692f6fb1.js} +1 -1
  125. package/build/esm/{index-61449a33.js → index-69ac7ae4.js} +1 -1
  126. package/build/esm/{index-7978a971.js → index-6a72bd28.js} +1 -1
  127. package/build/esm/{index-c809b5e6.js → index-6affdcf2.js} +74 -74
  128. package/build/esm/{index-c11204c1.js → index-6c6b2437.js} +2 -2
  129. package/build/esm/{index-63a4826b.js → index-6c9dec11.js} +1 -1
  130. package/build/esm/{index-001ba1fd.js → index-6ca9d005.js} +2 -2
  131. package/build/esm/{index-8b2853cc.js → index-6cd3c9bf.js} +2 -2
  132. package/build/esm/{index-57f6de18.js → index-6dbdedd4.js} +1 -1
  133. package/build/esm/{index-cccee827.js → index-6e4526b8.js} +2 -2
  134. package/build/esm/{index-93582460.js → index-6f9e5146.js} +1 -1
  135. package/build/esm/{index-27b5797c.js → index-70491f39.js} +2 -2
  136. package/build/esm/{index-0b3413df.js → index-718ad944.js} +89 -89
  137. package/build/esm/{index-1cbf5da5.js → index-71aa47bc.js} +1 -1
  138. package/build/esm/{index-20807a4c.js → index-73f9c996.js} +2 -2
  139. package/build/esm/{index-70fb71bb.js → index-7553ff6d.js} +1 -1
  140. package/build/esm/{index-d70fb0bb.js → index-75a60e01.js} +1 -1
  141. package/build/esm/{index-275dbbf4.js → index-760ac7ee.js} +1 -1
  142. package/build/esm/{index-a5c37244.js → index-76255b0c.js} +1 -1
  143. package/build/esm/{index-e248873e.js → index-779a1e8e.js} +26 -26
  144. package/build/esm/{index-f788f949.js → index-78e0c034.js} +4 -4
  145. package/build/esm/{index-ae819c47.js → index-79ea7d39.js} +3 -3
  146. package/build/esm/{index-9adce1af.js → index-7a090f76.js} +1 -1
  147. package/build/esm/{index-d4f9a423.js → index-7b0d21ff.js} +73 -73
  148. package/build/esm/{index-9e65756e.js → index-7b25b909.js} +23 -15
  149. package/build/esm/{index-6953360a.js → index-7cfbe365.js} +1 -1
  150. package/build/esm/{index-4826870a.js → index-7da71344.js} +1 -1
  151. package/build/esm/{index-730f502a.js → index-7e57cc0b.js} +1 -1
  152. package/build/esm/{index-82a5c370.js → index-7fb78d73.js} +1 -1
  153. package/build/esm/{index-cba3e9ab.js → index-81af4dff.js} +1 -1
  154. package/build/esm/{index-6fd213c1.js → index-829bfac1.js} +1 -1
  155. package/build/esm/{index-ede27736.js → index-86718d8d.js} +1 -1
  156. package/build/esm/{index-53f97462.js → index-872b1281.js} +1 -1
  157. package/build/esm/{index-2ce8af94.js → index-899ea3a2.js} +6 -6
  158. package/build/esm/{index-3230ee9f.js → index-8a17fd93.js} +1 -1
  159. package/build/esm/{index-03c70f2c.js → index-8a76db79.js} +1 -1
  160. package/build/esm/{index-f94f1e5a.js → index-8b704ea5.js} +1 -1
  161. package/build/esm/{index-c045ac99.js → index-8bd11059.js} +1 -1
  162. package/build/esm/{index-b11848b2.js → index-8c1e9779.js} +1 -1
  163. package/build/esm/{index-5a3bba35.js → index-8ddf9f44.js} +1 -1
  164. package/build/esm/{index-48c616b7.js → index-8fba0690.js} +1 -1
  165. package/build/esm/{index-d12c8833.js → index-8fcb8b6b.js} +2 -2
  166. package/build/esm/{index-04931042.js → index-8ff910fd.js} +7 -7
  167. package/build/esm/{index-61ae92a9.js → index-9016e3d8.js} +2 -2
  168. package/build/esm/{index-5209017f.js → index-90d2e851.js} +20 -20
  169. package/build/esm/{index-339ccd5c.js → index-91fd2e2a.js} +2 -2
  170. package/build/esm/{index-25c099b4.js → index-92288570.js} +1 -1
  171. package/build/esm/{index-4a972f03.js → index-92754951.js} +1 -1
  172. package/build/esm/{index-6f486073.js → index-96f67d92.js} +2 -2
  173. package/build/esm/{index-9d41bd54.js → index-98095d8c.js} +1 -1
  174. package/build/esm/{index-02e56911.js → index-98867b76.js} +3 -3
  175. package/build/esm/{index-d53bb038.js → index-99dceeed.js} +1 -1
  176. package/build/esm/{index-f091509b.js → index-9afe037b.js} +3 -3
  177. package/build/esm/{index-1a3aafb4.js → index-9b1fe79c.js} +1 -1
  178. package/build/esm/{index-0fa3ab64.js → index-9c243722.js} +19 -19
  179. package/build/esm/{index-2c5fcebb.js → index-9ddce8de.js} +274 -271
  180. package/build/esm/{index-950e851f.js → index-9e819301.js} +10 -12
  181. package/build/esm/{index-0798acee.js → index-9f6f172f.js} +4 -4
  182. package/build/esm/{index-a99676d6.js → index-9f7d36e3.js} +1 -1
  183. package/build/esm/{index-05e380bb.js → index-9fdb5e94.js} +68 -67
  184. package/build/esm/{index-e32c8bef.js → index-a501c963.js} +5 -5
  185. package/build/esm/{index-0145164d.js → index-a7c16353.js} +6 -6
  186. package/build/esm/{index-fcb01bc0.js → index-a9604220.js} +1 -1
  187. package/build/esm/{index-2fb77876.js → index-a985cd2b.js} +3 -3
  188. package/build/esm/{index-c3279334.js → index-a997d8b3.js} +6 -6
  189. package/build/esm/{index-7c7be592.js → index-a9d19464.js} +3 -3
  190. package/build/esm/{index-688bfe82.js → index-abffe66e.js} +1 -1
  191. package/build/esm/{index-fd85f796.js → index-ac5d9ae7.js} +2 -2
  192. package/build/esm/{index-1ee49638.js → index-acff6b7d.js} +70 -70
  193. package/build/esm/{index-231eafdf.js → index-af012caa.js} +1 -1
  194. package/build/esm/{index-ec075af5.js → index-b09deefa.js} +25 -25
  195. package/build/esm/{index-672a5e0b.js → index-b0e8b72d.js} +5 -5
  196. package/build/esm/{index-bb7c36ca.js → index-b2ad1c43.js} +1 -1
  197. package/build/esm/{index-94d3ffac.js → index-b8d6082c.js} +2 -2
  198. package/build/esm/{index-ed8770db.js → index-b9225835.js} +1 -1
  199. package/build/esm/{index-6ac6041c.js → index-b9a5c8a7.js} +2 -2
  200. package/build/esm/{index-e97ba3cb.js → index-bb94e2e7.js} +29 -29
  201. package/build/esm/{index-e2e82355.js → index-bebcc28f.js} +5 -5
  202. package/build/esm/{index-ce7ff7af.js → index-c0c8d1f0.js} +2 -2
  203. package/build/esm/{index-1fd3021c.js → index-c178d8e2.js} +2 -2
  204. package/build/esm/{index-7dc10d02.js → index-c24265d7.js} +2 -2
  205. package/build/esm/{index-e7b11a1d.js → index-c24f598f.js} +8 -8
  206. package/build/esm/{index-67e4ebe4.js → index-c26baa82.js} +96 -96
  207. package/build/esm/{index-6648c292.js → index-c38b0849.js} +2 -2
  208. package/build/esm/{index-a0f9b49e.js → index-c493d35b.js} +10 -10
  209. package/build/esm/{index-5b956203.js → index-c5310e28.js} +71 -71
  210. package/build/esm/{index-f873990d.js → index-c7374bcc.js} +8 -8
  211. package/build/esm/{index-5bb3c4e5.js → index-c883f0e2.js} +2 -2
  212. package/build/esm/{index-b939ed2c.js → index-c8d6bbec.js} +2 -2
  213. package/build/esm/{index-471963ec.js → index-c930cd09.js} +1 -1
  214. package/build/esm/{index-e54f3cbf.js → index-cb64c9b8.js} +1 -1
  215. package/build/esm/{index-e0a2e0a6.js → index-cb7e032d.js} +2 -2
  216. package/build/esm/{index-9a2c71bf.js → index-cb89b0cc.js} +1 -1
  217. package/build/esm/{index-61ff2af1.js → index-cc8202e8.js} +3 -3
  218. package/build/esm/{index-adc69421.js → index-ccd2ad8b.js} +2 -2
  219. package/build/esm/{index-f91b7eb5.js → index-d01fe635.js} +1 -1
  220. package/build/esm/{index-d07e6872.js → index-d2e91758.js} +1 -1
  221. package/build/esm/{index-129d5bd6.js → index-d41d2d80.js} +6 -6
  222. package/build/esm/{index-cfd02cea.js → index-d6f08b33.js} +1 -1
  223. package/build/esm/{index-54638391.js → index-d72d2b78.js} +11 -11
  224. package/build/esm/{index-25c28b84.js → index-d749ac91.js} +2 -2
  225. package/build/esm/{index-54817203.js → index-d7647434.js} +1 -1
  226. package/build/esm/{index-aee6d131.js → index-d865303a.js} +6 -6
  227. package/build/esm/{index-253ee923.js → index-d88fbf84.js} +1 -1
  228. package/build/esm/{index-20abdb22.js → index-d9bd96f5.js} +3 -3
  229. package/build/esm/{index-f6c05be7.js → index-d9deb36a.js} +1 -1
  230. package/build/esm/{index-c4bafdc8.js → index-dd0a94cf.js} +23 -23
  231. package/build/esm/{index-afce926e.js → index-ddab527d.js} +2 -2
  232. package/build/esm/{index-cdd390d3.js → index-df9ba558.js} +1 -1
  233. package/build/esm/{index-cf75d727.js → index-df9e23c1.js} +4 -4
  234. package/build/esm/{index-d1732cf1.js → index-dfff9353.js} +6 -6
  235. package/build/esm/{index-b3e1927a.js → index-e21fdb1b.js} +1 -1
  236. package/build/esm/{index-9105d0d8.js → index-e282848a.js} +7 -7
  237. package/build/esm/{index-cd9129e2.js → index-e3361545.js} +4 -4
  238. package/build/esm/{index-ca0a2275.js → index-e541d84a.js} +5 -5
  239. package/build/esm/{index-d93b32fd.js → index-e5fb7cfc.js} +7 -7
  240. package/build/esm/{index-64d3dee2.js → index-e611fd16.js} +2 -2
  241. package/build/esm/{index-cc0744ef.js → index-e787055c.js} +5 -5
  242. package/build/esm/index-e916a42b.js +792 -0
  243. package/build/esm/{index-cc650bb5.js → index-eafdc7ea.js} +1 -1
  244. package/build/esm/{index-9ca297b9.js → index-eb433957.js} +19 -19
  245. package/build/esm/{index-e3fdf59c.js → index-ec771284.js} +1 -1
  246. package/build/esm/{index-ae5f80d6.js → index-edd5e98c.js} +5 -5
  247. package/build/esm/{index-b0a83966.js → index-ee264f8e.js} +2 -2
  248. package/build/esm/{index-0ddff453.js → index-ee8615d5.js} +109 -109
  249. package/build/esm/{index-2d1c1ef2.js → index-eec4f93c.js} +1 -1
  250. package/build/esm/{index-05f64d80.js → index-ef30201e.js} +22 -22
  251. package/build/esm/{index-cd2db887.js → index-ef7453f2.js} +2 -2
  252. package/build/esm/{index-514a1af4.js → index-f1e930cb.js} +3 -3
  253. package/build/esm/{index-9199ff02.js → index-f239dda1.js} +6 -6
  254. package/build/esm/{index-82e36b85.js → index-f377f115.js} +1 -1
  255. package/build/esm/{index-db206ca6.js → index-f3c872bd.js} +111 -106
  256. package/build/esm/{index-56cd64c2.js → index-f409455c.js} +6 -6
  257. package/build/esm/{index-5f511b08.js → index-f63ed5c1.js} +1 -1
  258. package/build/esm/{index-794c3b03.js → index-f72f5328.js} +2 -2
  259. package/build/esm/{index-c78f87b2.js → index-f82684ec.js} +1 -1
  260. package/build/esm/{index-3955b23f.js → index-f9c4ed22.js} +1 -1
  261. package/build/esm/{index-c7956c25.js → index-fa0e3b7d.js} +1 -1
  262. package/build/esm/{index-8333b2ff.js → index-fa47aa98.js} +4 -4
  263. package/build/esm/{index-54dd835b.js → index-fb37ff59.js} +1 -1
  264. package/build/esm/{index-b7c3735c.js → index-fb991cfa.js} +1 -1
  265. package/build/esm/{index-5f53d419.js → index-fbae57b2.js} +135 -135
  266. package/build/esm/{index-96fe5fbb.js → index-fbec13e5.js} +70 -70
  267. package/build/esm/{index-f20a8a18.js → index-fc276b3a.js} +20 -20
  268. package/build/esm/{index-3bdfe15e.js → index-fcb1f600.js} +1 -1
  269. package/build/esm/{index-c3a86197.js → index-fcf88011.js} +3 -3
  270. package/build/esm/{index-1ce326ab.js → index-fd2c3a64.js} +2 -2
  271. package/build/esm/{index-397fc478.js → index-fe431b8f.js} +95 -95
  272. package/build/esm/{index-fe0da070.js → index-fe5f8539.js} +1 -1
  273. package/build/esm/{index-3ac989c2.js → index-ff07775f.js} +5 -5
  274. package/build/esm/index.js +1 -1
  275. package/build/esm/{index.module-bc2cb4a0.js → index.module-15196ad4.js} +1 -1
  276. package/build/esm/{index.module-50200206.js → index.module-3360ac1f.js} +1 -1
  277. package/build/esm/{index.module-2a931ebd.js → index.module-403fdf06.js} +1 -1
  278. package/build/esm/{index.module-cece3e5f.js → index.module-5cdbef2f.js} +1 -1
  279. package/build/esm/{index.module-775e575c.js → index.module-701e14ed.js} +1 -1
  280. package/build/esm/{index.module-640d8e72.js → index.module-744d79c8.js} +1 -1
  281. package/build/esm/{index.module-ba1f54e5.js → index.module-79b6964b.js} +1 -1
  282. package/build/esm/{index.module-4a815954.js → index.module-93ca1893.js} +1 -1
  283. package/build/esm/{index.module-a8dc9979.js → index.module-ace502e8.js} +1 -1
  284. package/build/esm/{index.module-8dfb8de3.js → index.module-c476d1b7.js} +1 -1
  285. package/build/esm/{index.module-5ce5d60f.js → index.module-c49cfb01.js} +1 -1
  286. package/build/esm/{index.module-64812546.js → index.module-d0a3e646.js} +1 -1
  287. package/build/esm/index.module-d363a8e1.js +857 -0
  288. package/build/esm/{index.module-9a198981.js → index.module-ef9974e2.js} +1 -1
  289. package/build/esm/{react-json-viewer-8d65f53e.js → react-json-viewer-6098fb14.js} +1 -1
  290. package/build/esm/{useCustomDimensions-a87c5089.js → useCustomDimensions-d41a326d.js} +1 -1
  291. package/build/esm/{ussIsSticky-519f92fa.js → ussIsSticky-64e75d93.js} +1 -1
  292. package/build/types/web-planner-react/src/components/Layout/wysiwyg/Toolbar/ToolContainer/index.d.ts.map +1 -1
  293. package/build/types/web-planner-react/src/components/Layout/wysiwyg/Toolbar/index.d.ts.map +1 -1
  294. package/build/types/web-planner-react/src/components/Layout/wysiwyg/Toolbar/types.d.ts +1 -1
  295. package/build/types/web-planner-react/src/components/Layout/wysiwyg/Toolbar/types.d.ts.map +1 -1
  296. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/ArticleSelector/index.d.ts +4 -1
  297. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/ArticleSelector/index.d.ts.map +1 -1
  298. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/DecisionAnalyzer/index.d.ts.map +1 -1
  299. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/PriceListCockpit.d.ts +27 -0
  300. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/PriceListCockpit.d.ts.map +1 -0
  301. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/PriceListTable.d.ts +8 -0
  302. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/PriceListTable.d.ts.map +1 -0
  303. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/computePriceListCells.d.ts +11 -0
  304. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/computePriceListCells.d.ts.map +1 -0
  305. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/gatherPriceListData.d.ts +15 -0
  306. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/gatherPriceListData.d.ts.map +1 -0
  307. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/index.d.ts +8 -0
  308. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/index.d.ts.map +1 -0
  309. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/priceListDataTypes.d.ts +261 -0
  310. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/priceListDataTypes.d.ts.map +1 -0
  311. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/scopeHelpers.d.ts +35 -0
  312. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/scopeHelpers.d.ts.map +1 -0
  313. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/usePriceListState.d.ts +31 -0
  314. package/build/types/web-planner-react/src/components/Product/Product/catalog/Components/PriceList/usePriceListState.d.ts.map +1 -0
  315. package/build/umd/1026.diva-web-planner-react.umd.min.js +1 -1
  316. package/build/umd/1036.diva-web-planner-react.umd.min.js +1 -1
  317. package/build/umd/1051.diva-web-planner-react.umd.min.js +1 -1
  318. package/build/umd/1063.diva-web-planner-react.umd.min.js +1 -1
  319. package/build/umd/1087.diva-web-planner-react.umd.min.js +1 -1
  320. package/build/umd/1090.diva-web-planner-react.umd.min.js +1 -1
  321. package/build/umd/1222.diva-web-planner-react.umd.min.js +1 -1
  322. package/build/umd/1341.diva-web-planner-react.umd.min.js +1 -1
  323. package/build/umd/1355.diva-web-planner-react.umd.min.js +1 -1
  324. package/build/umd/1389.diva-web-planner-react.umd.min.js +1 -1
  325. package/build/umd/1433.diva-web-planner-react.umd.min.js +1 -1
  326. package/build/umd/1442.diva-web-planner-react.umd.min.js +1 -1
  327. package/build/umd/1514.diva-web-planner-react.umd.min.js +1 -1
  328. package/build/umd/1532.diva-web-planner-react.umd.min.js +1 -1
  329. package/build/umd/1596.diva-web-planner-react.umd.min.js +1 -1
  330. package/build/umd/1691.diva-web-planner-react.umd.min.js +1 -1
  331. package/build/umd/173.diva-web-planner-react.umd.min.js +1 -1
  332. package/build/umd/1862.diva-web-planner-react.umd.min.js +1 -1
  333. package/build/umd/1932.diva-web-planner-react.umd.min.js +1 -1
  334. package/build/umd/1954.diva-web-planner-react.umd.min.js +1 -1
  335. package/build/umd/197.diva-web-planner-react.umd.min.js +1 -1
  336. package/build/umd/2018.diva-web-planner-react.umd.min.js +1 -1
  337. package/build/umd/2027.diva-web-planner-react.umd.min.js +1 -1
  338. package/build/umd/2072.diva-web-planner-react.umd.min.js +1 -1
  339. package/build/umd/2077.diva-web-planner-react.umd.min.js +1 -1
  340. package/build/umd/2147.diva-web-planner-react.umd.min.js +1 -1
  341. package/build/umd/225.diva-web-planner-react.umd.min.js +1 -1
  342. package/build/umd/2276.diva-web-planner-react.umd.min.js +1 -1
  343. package/build/umd/241.diva-web-planner-react.umd.min.js +1 -1
  344. package/build/umd/2458.diva-web-planner-react.umd.min.js +1 -1
  345. package/build/umd/2508.diva-web-planner-react.umd.min.js +1 -1
  346. package/build/umd/2576.diva-web-planner-react.umd.min.js +1 -1
  347. package/build/umd/2654.diva-web-planner-react.umd.min.js +1 -1
  348. package/build/umd/2762.diva-web-planner-react.umd.min.js +1 -1
  349. package/build/umd/283.diva-web-planner-react.umd.min.js +1 -1
  350. package/build/umd/2903.diva-web-planner-react.umd.min.js +1 -1
  351. package/build/umd/2958.diva-web-planner-react.umd.min.js +1 -1
  352. package/build/umd/3222.diva-web-planner-react.umd.min.js +1 -1
  353. package/build/umd/324.diva-web-planner-react.umd.min.js +1 -1
  354. package/build/umd/3401.diva-web-planner-react.umd.min.js +1 -1
  355. package/build/umd/3443.diva-web-planner-react.umd.min.js +1 -1
  356. package/build/umd/3448.diva-web-planner-react.umd.min.js +1 -1
  357. package/build/umd/3492.diva-web-planner-react.umd.min.js +1 -1
  358. package/build/umd/3516.diva-web-planner-react.umd.min.js +1 -1
  359. package/build/umd/3533.diva-web-planner-react.umd.min.js +1 -1
  360. package/build/umd/357.diva-web-planner-react.umd.min.js +1 -1
  361. package/build/umd/3596.diva-web-planner-react.umd.min.js +1 -1
  362. package/build/umd/3628.diva-web-planner-react.umd.min.js +1 -1
  363. package/build/umd/3704.diva-web-planner-react.umd.min.js +1 -1
  364. package/build/umd/3743.diva-web-planner-react.umd.min.js +1 -1
  365. package/build/umd/3785.diva-web-planner-react.umd.min.js +2 -0
  366. package/build/umd/3785.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  367. package/build/umd/3812.diva-web-planner-react.umd.min.js +1 -1
  368. package/build/umd/3836.diva-web-planner-react.umd.min.js +1 -1
  369. package/build/umd/393.diva-web-planner-react.umd.min.js +1 -1
  370. package/build/umd/3999.diva-web-planner-react.umd.min.js +1 -1
  371. package/build/umd/4027.diva-web-planner-react.umd.min.js +1 -1
  372. package/build/umd/4033.diva-web-planner-react.umd.min.js +1 -1
  373. package/build/umd/4039.diva-web-planner-react.umd.min.js +1 -1
  374. package/build/umd/4209.diva-web-planner-react.umd.min.js +1 -1
  375. package/build/umd/4229.diva-web-planner-react.umd.min.js +1 -1
  376. package/build/umd/4301.diva-web-planner-react.umd.min.js +1 -1
  377. package/build/umd/4342.diva-web-planner-react.umd.min.js +1 -1
  378. package/build/umd/4391.diva-web-planner-react.umd.min.js +1 -1
  379. package/build/umd/4551.diva-web-planner-react.umd.min.js +1 -1
  380. package/build/umd/4585.diva-web-planner-react.umd.min.js +1 -1
  381. package/build/umd/4658.diva-web-planner-react.umd.min.js +1 -1
  382. package/build/umd/4846.diva-web-planner-react.umd.min.js +1 -1
  383. package/build/umd/4864.diva-web-planner-react.umd.min.js +1 -1
  384. package/build/umd/4874.diva-web-planner-react.umd.min.js +1 -1
  385. package/build/umd/4882.diva-web-planner-react.umd.min.js +1 -1
  386. package/build/umd/4903.diva-web-planner-react.umd.min.js +1 -1
  387. package/build/umd/4906.diva-web-planner-react.umd.min.js +1 -1
  388. package/build/umd/5111.diva-web-planner-react.umd.min.js +1 -1
  389. package/build/umd/5115.diva-web-planner-react.umd.min.js +1 -1
  390. package/build/umd/5234.diva-web-planner-react.umd.min.js +1 -1
  391. package/build/umd/5249.diva-web-planner-react.umd.min.js +1 -1
  392. package/build/umd/5406.diva-web-planner-react.umd.min.js +1 -1
  393. package/build/umd/5414.diva-web-planner-react.umd.min.js +1 -1
  394. package/build/umd/5631.diva-web-planner-react.umd.min.js +1 -1
  395. package/build/umd/5740.diva-web-planner-react.umd.min.js +1 -1
  396. package/build/umd/5768.diva-web-planner-react.umd.min.js +1 -1
  397. package/build/umd/5769.diva-web-planner-react.umd.min.js +1 -1
  398. package/build/umd/5785.diva-web-planner-react.umd.min.js +1 -1
  399. package/build/umd/584.diva-web-planner-react.umd.min.js +2 -0
  400. package/build/umd/584.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  401. package/build/umd/5861.diva-web-planner-react.umd.min.js +1 -1
  402. package/build/umd/5985.diva-web-planner-react.umd.min.js +2 -0
  403. package/build/umd/5985.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  404. package/build/umd/6135.diva-web-planner-react.umd.min.js +1 -1
  405. package/build/umd/6253.diva-web-planner-react.umd.min.js +1 -1
  406. package/build/umd/6281.diva-web-planner-react.umd.min.js +1 -1
  407. package/build/umd/6318.diva-web-planner-react.umd.min.js +2 -0
  408. package/build/umd/6318.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  409. package/build/umd/6340.diva-web-planner-react.umd.min.js +1 -1
  410. package/build/umd/6343.diva-web-planner-react.umd.min.js +1 -1
  411. package/build/umd/6538.diva-web-planner-react.umd.min.js +1 -1
  412. package/build/umd/6567.diva-web-planner-react.umd.min.js +1 -1
  413. package/build/umd/6599.diva-web-planner-react.umd.min.js +1 -1
  414. package/build/umd/6669.diva-web-planner-react.umd.min.js +1 -1
  415. package/build/umd/6751.diva-web-planner-react.umd.min.js +1 -1
  416. package/build/umd/6800.diva-web-planner-react.umd.min.js +1 -1
  417. package/build/umd/685.diva-web-planner-react.umd.min.js +1 -1
  418. package/build/umd/6871.diva-web-planner-react.umd.min.js +1 -1
  419. package/build/umd/6927.diva-web-planner-react.umd.min.js +1 -1
  420. package/build/umd/6937.diva-web-planner-react.umd.min.js +1 -1
  421. package/build/umd/6942.diva-web-planner-react.umd.min.js +1 -1
  422. package/build/umd/6944.diva-web-planner-react.umd.min.js +1 -1
  423. package/build/umd/6992.diva-web-planner-react.umd.min.js +1 -1
  424. package/build/umd/7000.diva-web-planner-react.umd.min.js +1 -1
  425. package/build/umd/703.diva-web-planner-react.umd.min.js +1 -1
  426. package/build/umd/710.diva-web-planner-react.umd.min.js +1 -1
  427. package/build/umd/7295.diva-web-planner-react.umd.min.js +2 -0
  428. package/build/umd/7295.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  429. package/build/umd/7318.diva-web-planner-react.umd.min.js +1 -1
  430. package/build/umd/7442.diva-web-planner-react.umd.min.js +1 -1
  431. package/build/umd/7455.diva-web-planner-react.umd.min.js +1 -1
  432. package/build/umd/7519.diva-web-planner-react.umd.min.js +1 -1
  433. package/build/umd/7522.diva-web-planner-react.umd.min.js +1 -1
  434. package/build/umd/7541.diva-web-planner-react.umd.min.js +1 -1
  435. package/build/umd/7762.diva-web-planner-react.umd.min.js +1 -1
  436. package/build/umd/7853.diva-web-planner-react.umd.min.js +1 -1
  437. package/build/umd/7867.diva-web-planner-react.umd.min.js +1 -1
  438. package/build/umd/7970.diva-web-planner-react.umd.min.js +1 -1
  439. package/build/umd/7979.diva-web-planner-react.umd.min.js +1 -1
  440. package/build/umd/8002.diva-web-planner-react.umd.min.js +1 -1
  441. package/build/umd/8066.diva-web-planner-react.umd.min.js +1 -1
  442. package/build/umd/8072.diva-web-planner-react.umd.min.js +1 -1
  443. package/build/umd/8074.diva-web-planner-react.umd.min.js +1 -1
  444. package/build/umd/8101.diva-web-planner-react.umd.min.js +1 -1
  445. package/build/umd/8151.diva-web-planner-react.umd.min.js +1 -1
  446. package/build/umd/8188.diva-web-planner-react.umd.min.js +1 -1
  447. package/build/umd/830.diva-web-planner-react.umd.min.js +1 -1
  448. package/build/umd/8317.diva-web-planner-react.umd.min.js +1 -1
  449. package/build/umd/8445.diva-web-planner-react.umd.min.js +1 -1
  450. package/build/umd/8509.diva-web-planner-react.umd.min.js +1 -1
  451. package/build/umd/852.diva-web-planner-react.umd.min.js +1 -1
  452. package/build/umd/8535.diva-web-planner-react.umd.min.js +1 -1
  453. package/build/umd/8539.diva-web-planner-react.umd.min.js +1 -1
  454. package/build/umd/8544.diva-web-planner-react.umd.min.js +1 -1
  455. package/build/umd/858.diva-web-planner-react.umd.min.js +1 -1
  456. package/build/umd/8584.diva-web-planner-react.umd.min.js +1 -1
  457. package/build/umd/8648.diva-web-planner-react.umd.min.js +1 -1
  458. package/build/umd/8657.diva-web-planner-react.umd.min.js +1 -1
  459. package/build/umd/8717.diva-web-planner-react.umd.min.js +1 -1
  460. package/build/umd/8850.diva-web-planner-react.umd.min.js +1 -1
  461. package/build/umd/8881.diva-web-planner-react.umd.min.js +1 -1
  462. package/build/umd/8938.diva-web-planner-react.umd.min.js +1 -1
  463. package/build/umd/8942.diva-web-planner-react.umd.min.js +1 -1
  464. package/build/umd/8948.diva-web-planner-react.umd.min.js +1 -1
  465. package/build/umd/8949.diva-web-planner-react.umd.min.js +1 -1
  466. package/build/umd/8976.diva-web-planner-react.umd.min.js +1 -1
  467. package/build/umd/902.diva-web-planner-react.umd.min.js +1 -1
  468. package/build/umd/9106.diva-web-planner-react.umd.min.js +1 -1
  469. package/build/umd/9154.diva-web-planner-react.umd.min.js +1 -1
  470. package/build/umd/9224.diva-web-planner-react.umd.min.js +1 -1
  471. package/build/umd/9325.diva-web-planner-react.umd.min.js +1 -1
  472. package/build/umd/9501.diva-web-planner-react.umd.min.js +1 -1
  473. package/build/umd/9587.diva-web-planner-react.umd.min.js +1 -1
  474. package/build/umd/9631.diva-web-planner-react.umd.min.js +1 -1
  475. package/build/umd/9638.diva-web-planner-react.umd.min.js +1 -1
  476. package/build/umd/9662.diva-web-planner-react.umd.min.js +1 -1
  477. package/build/umd/9694.diva-web-planner-react.umd.min.js +1 -1
  478. package/build/umd/9704.diva-web-planner-react.umd.min.js +1 -1
  479. package/build/umd/9706.diva-web-planner-react.umd.min.js +1 -1
  480. package/build/umd/9715.diva-web-planner-react.umd.min.js +1 -1
  481. package/build/umd/9783.diva-web-planner-react.umd.min.js +1 -1
  482. package/build/umd/9788.diva-web-planner-react.umd.min.js +1 -1
  483. package/build/umd/9871.diva-web-planner-react.umd.min.js +1 -1
  484. package/build/umd/9874.diva-web-planner-react.umd.min.js +1 -1
  485. package/build/umd/diva-web-planner-react.umd.min.js +1 -1
  486. package/build/umd/report.html +1 -1
  487. package/package.json +8 -8
@@ -0,0 +1,792 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { u as useViewHandler } from './index-9ddce8de.js';
3
+ import { useMemo, useState, useEffect } from 'react';
4
+ import classnames from 'classnames';
5
+ import { observer } from 'mobx-react-lite';
6
+ import ArticleSelector from './index-9e819301.js';
7
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
8
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
9
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
11
+ import { useDivaCore } from '@crystaldesign/diva-core';
12
+ import { P as PLANNABLE_ARTICLE_DIMENSION_ID, g as gatherPriceListData, s as scrollable, h as header, t as tableDescription } from './index.module-d363a8e1.js';
13
+ import { a as analyzeDimensionsWithNoEffect, p as parseDimensionComboKey, b as partlistComboKey, g as getDefaultPositionForDimension, M as MAX_COMBOS_FOR_BUILD, c as getDefaultScopeSelection, d as buildScopedComboSpec, e as applyDefaultLayoutToScopeSelection, P as PriceListTable } from './PriceListTable-3e770622.js';
14
+ import { DivaSetHandler } from '@crystaldesign/web-planner-logic';
15
+ import { PriceListCockpit } from './PriceListCockpit-f57b3e05.js';
16
+ import { jsxs, jsx } from 'react/jsx-runtime';
17
+ import 'react-dynamic-multi-render';
18
+ import '@babel/runtime/helpers/objectWithoutProperties';
19
+ import '@babel/runtime/helpers/classCallCheck';
20
+ import '@babel/runtime/helpers/createClass';
21
+ import '@crystaldesign/diva-utils';
22
+ import 'mobx';
23
+ import 'qrcode.react';
24
+ import '@babel/runtime/helpers/typeof';
25
+ import 'flat';
26
+ import 'react-select';
27
+ import '@babel/runtime/helpers/toArray';
28
+
29
+ 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; } } }; }
30
+ 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; } }
31
+ 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; }
32
+ function debugLog() {
33
+ var _console;
34
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
35
+ args[_key] = arguments[_key];
36
+ }
37
+ (_console = console).log.apply(_console, ['[PriceList:priceref]'].concat(args));
38
+ }
39
+ function getPartlistDimensionIds(dimensions) {
40
+ return dimensions.filter(function (d) {
41
+ return d.source === 'partlist';
42
+ }).map(function (d) {
43
+ return d.id;
44
+ });
45
+ }
46
+ function getDimensionById(dimensions, id) {
47
+ return dimensions.find(function (d) {
48
+ return d.id === id;
49
+ });
50
+ }
51
+
52
+ /**
53
+ * Compute price cells for all combo keys in scopedComboSpec.
54
+ * Mutates gatheredData.cellsByDimensionCombo.
55
+ */
56
+ function computePriceListCells(_x, _x2) {
57
+ return _computePriceListCells.apply(this, arguments);
58
+ }
59
+ function _computePriceListCells() {
60
+ _computePriceListCells = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(baseArticle, gatheredData) {
61
+ var _spec$dimensionIdsInO;
62
+ var spec, set, partlistDimIds, partlistMatchByComboKey, articlePriceDataByCodex, dimensions, pfgDimIds, _iterator, _step, _match$articleCodex, _priceData$pricesByKe, _valuesByDimId$PLANNA, _ref, comboKey, valuesByDimId, partlistKey, match, partlistDimensionValues, _iterator2, _step2, _dimId2, _dim2, v, articleCodex, priceData, pricesByKey, plannableArticleCodexFromCombo, plannableOnlyArticleCodex, cellArticleCodex, cellPriceData, cellPricesByKey, configApplied, resolvedPrice, plannableFailed, _valuesByDimId$PLANNA2, clonedSet, plannableArticleCodex, addedArticle, articles, clonedBase, engine, _iterator3, _step3, dimId, dim, value, optionStateMatches, _iterator4, _step4, _dimId, _dim, expectedVal, ops, _pricesByKey$priceKey, _pfgDimId, _priceKeyFromPfg, priceKey, _pricesByKey$_priceKe, _pfgDimId2, _priceKeyFromPfg2, _priceKey, _valuesByDimId$PLANNA3, _clonedSet, plannableCodex, _addedArticle, _cellPricesByKey$_pri, _pfgDimId3, _priceKeyFromPfg3, _priceKey2, cell, pfgDimId, priceKeyFromPfg, availableKeys, hit, enabledIds;
63
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
64
+ while (1) switch (_context.prev = _context.next) {
65
+ case 0:
66
+ spec = gatheredData.scopedComboSpec;
67
+ if (spec !== null && spec !== void 0 && spec.comboKeysToCompute.length) {
68
+ _context.next = 3;
69
+ break;
70
+ }
71
+ return _context.abrupt("return");
72
+ case 3:
73
+ set = baseArticle.set;
74
+ partlistDimIds = getPartlistDimensionIds(gatheredData.dimensions);
75
+ partlistMatchByComboKey = gatheredData.partlistMatchByComboKey, articlePriceDataByCodex = gatheredData.articlePriceDataByCodex, dimensions = gatheredData.dimensions;
76
+ pfgDimIds = ((_spec$dimensionIdsInO = spec.dimensionIdsInOrder) !== null && _spec$dimensionIdsInO !== void 0 ? _spec$dimensionIdsInO : []).filter(function (id) {
77
+ return id.startsWith('pfg_');
78
+ });
79
+ debugLog('compute: pfg dimension ids in order', pfgDimIds);
80
+ _iterator = _createForOfIteratorHelper(spec.comboKeysToCompute);
81
+ _context.prev = 9;
82
+ _iterator.s();
83
+ case 11:
84
+ if ((_step = _iterator.n()).done) {
85
+ _context.next = 149;
86
+ break;
87
+ }
88
+ comboKey = _step.value;
89
+ valuesByDimId = parseDimensionComboKey(comboKey);
90
+ partlistKey = partlistComboKey(valuesByDimId, partlistDimIds);
91
+ match = partlistMatchByComboKey[partlistKey];
92
+ partlistDimensionValues = {};
93
+ _iterator2 = _createForOfIteratorHelper(partlistDimIds);
94
+ try {
95
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
96
+ _dimId2 = _step2.value;
97
+ _dim2 = getDimensionById(dimensions, _dimId2);
98
+ v = valuesByDimId[_dimId2];
99
+ if ((_dim2 === null || _dim2 === void 0 ? void 0 : _dim2.featureNo) != null && v != null) partlistDimensionValues[_dim2.featureNo] = v;
100
+ }
101
+ } catch (err) {
102
+ _iterator2.e(err);
103
+ } finally {
104
+ _iterator2.f();
105
+ }
106
+ articleCodex = (_match$articleCodex = match === null || match === void 0 ? void 0 : match.articleCodex) !== null && _match$articleCodex !== void 0 ? _match$articleCodex : null;
107
+ priceData = articleCodex ? articlePriceDataByCodex[articleCodex] : null;
108
+ pricesByKey = (_priceData$pricesByKe = priceData === null || priceData === void 0 ? void 0 : priceData.pricesByKey) !== null && _priceData$pricesByKe !== void 0 ? _priceData$pricesByKe : null; // Plannable-only combos (no partlist): use plannable dimension value as the article for this cell
109
+ plannableArticleCodexFromCombo = (_valuesByDimId$PLANNA = valuesByDimId[PLANNABLE_ARTICLE_DIMENSION_ID]) === null || _valuesByDimId$PLANNA === void 0 ? void 0 : _valuesByDimId$PLANNA.trim();
110
+ plannableOnlyArticleCodex = partlistDimIds.length === 0 && plannableArticleCodexFromCombo ? plannableArticleCodexFromCombo : null;
111
+ cellArticleCodex = articleCodex !== null && articleCodex !== void 0 ? articleCodex : plannableOnlyArticleCodex;
112
+ cellPriceData = priceData !== null && priceData !== void 0 ? priceData : cellArticleCodex ? articlePriceDataByCodex[cellArticleCodex] : null;
113
+ cellPricesByKey = (_ref = pricesByKey !== null && pricesByKey !== void 0 ? pricesByKey : cellPriceData === null || cellPriceData === void 0 ? void 0 : cellPriceData.pricesByKey) !== null && _ref !== void 0 ? _ref : null;
114
+ configApplied = false;
115
+ resolvedPrice = null;
116
+ if (!(match && partlistDimIds.length > 0)) {
117
+ _context.next = 116;
118
+ break;
119
+ }
120
+ plannableFailed = false;
121
+ _context.prev = 31;
122
+ clonedSet = set.cloneSet();
123
+ plannableArticleCodex = (_valuesByDimId$PLANNA2 = valuesByDimId[PLANNABLE_ARTICLE_DIMENSION_ID]) === null || _valuesByDimId$PLANNA2 === void 0 ? void 0 : _valuesByDimId$PLANNA2.trim();
124
+ if (!plannableArticleCodex) {
125
+ _context.next = 46;
126
+ break;
127
+ }
128
+ _context.prev = 35;
129
+ _context.next = 38;
130
+ return DivaSetHandler.addPlannerElement(clonedSet, plannableArticleCodex, {});
131
+ case 38:
132
+ addedArticle = _context.sent;
133
+ _context.next = 41;
134
+ return DivaSetHandler.updateArticlesOptionStatesOfActSet(clonedSet, addedArticle.getValidValues(addedArticle.VariantValues, undefined, true), [addedArticle.basketId], undefined, 'initializing');
135
+ case 41:
136
+ _context.next = 46;
137
+ break;
138
+ case 43:
139
+ _context.prev = 43;
140
+ _context.t0 = _context["catch"](35);
141
+ plannableFailed = true;
142
+ case 46:
143
+ if (!plannableFailed) {
144
+ _context.next = 50;
145
+ break;
146
+ }
147
+ configApplied = false;
148
+ _context.next = 108;
149
+ break;
150
+ case 50:
151
+ articles = clonedSet.getDivaArticles(true, true);
152
+ clonedBase = Object.values(articles).find(function (a) {
153
+ return a.articleCodex === gatheredData.input.baseArticleCodex;
154
+ });
155
+ if (clonedBase) {
156
+ _context.next = 54;
157
+ break;
158
+ }
159
+ return _context.abrupt("continue", 147);
160
+ case 54:
161
+ engine = clonedBase.engine;
162
+ _iterator3 = _createForOfIteratorHelper(partlistDimIds);
163
+ _context.prev = 56;
164
+ _iterator3.s();
165
+ case 58:
166
+ if ((_step3 = _iterator3.n()).done) {
167
+ _context.next = 73;
168
+ break;
169
+ }
170
+ dimId = _step3.value;
171
+ dim = getDimensionById(dimensions, dimId);
172
+ value = valuesByDimId[dimId];
173
+ if (!(!dim || dim.featureNo == null || value == null)) {
174
+ _context.next = 64;
175
+ break;
176
+ }
177
+ return _context.abrupt("continue", 71);
178
+ case 64:
179
+ _context.prev = 64;
180
+ engine.assignOptionValue(String(dim.featureNo), value);
181
+ _context.next = 71;
182
+ break;
183
+ case 68:
184
+ _context.prev = 68;
185
+ _context.t1 = _context["catch"](64);
186
+ return _context.abrupt("break", 73);
187
+ case 71:
188
+ _context.next = 58;
189
+ break;
190
+ case 73:
191
+ _context.next = 78;
192
+ break;
193
+ case 75:
194
+ _context.prev = 75;
195
+ _context.t2 = _context["catch"](56);
196
+ _iterator3.e(_context.t2);
197
+ case 78:
198
+ _context.prev = 78;
199
+ _iterator3.f();
200
+ return _context.finish(78);
201
+ case 81:
202
+ clonedBase.engine.evalPartlist();
203
+ optionStateMatches = true;
204
+ _iterator4 = _createForOfIteratorHelper(partlistDimIds);
205
+ _context.prev = 84;
206
+ _iterator4.s();
207
+ case 86:
208
+ if ((_step4 = _iterator4.n()).done) {
209
+ _context.next = 98;
210
+ break;
211
+ }
212
+ _dimId = _step4.value;
213
+ _dim = getDimensionById(dimensions, _dimId);
214
+ expectedVal = valuesByDimId[_dimId];
215
+ if (!(!_dim || _dim.featureNo == null || expectedVal == null)) {
216
+ _context.next = 92;
217
+ break;
218
+ }
219
+ return _context.abrupt("continue", 96);
220
+ case 92:
221
+ ops = clonedBase.getArticleOptionState(String(_dim.featureNo));
222
+ if (!(!ops || ops.valCodex !== expectedVal)) {
223
+ _context.next = 96;
224
+ break;
225
+ }
226
+ optionStateMatches = false;
227
+ return _context.abrupt("break", 98);
228
+ case 96:
229
+ _context.next = 86;
230
+ break;
231
+ case 98:
232
+ _context.next = 103;
233
+ break;
234
+ case 100:
235
+ _context.prev = 100;
236
+ _context.t3 = _context["catch"](84);
237
+ _iterator4.e(_context.t3);
238
+ case 103:
239
+ _context.prev = 103;
240
+ _iterator4.f();
241
+ return _context.finish(103);
242
+ case 106:
243
+ configApplied = optionStateMatches;
244
+ if (configApplied && pricesByKey) {
245
+ _pfgDimId = spec.dimensionIdsInOrder.find(function (id) {
246
+ return id.startsWith('pfg_');
247
+ });
248
+ _priceKeyFromPfg = _pfgDimId ? valuesByDimId[_pfgDimId] : undefined;
249
+ priceKey = _priceKeyFromPfg && _priceKeyFromPfg in pricesByKey ? _priceKeyFromPfg : Object.keys(pricesByKey)[0];
250
+ resolvedPrice = priceKey != null ? (_pricesByKey$priceKey = pricesByKey[priceKey]) !== null && _pricesByKey$priceKey !== void 0 ? _pricesByKey$priceKey : null : null;
251
+ }
252
+ case 108:
253
+ _context.next = 113;
254
+ break;
255
+ case 110:
256
+ _context.prev = 110;
257
+ _context.t4 = _context["catch"](31);
258
+ configApplied = false;
259
+ case 113:
260
+ if (match && priceData && pricesByKey && resolvedPrice == null) {
261
+ _pfgDimId2 = spec.dimensionIdsInOrder.find(function (id) {
262
+ return id.startsWith('pfg_');
263
+ });
264
+ _priceKeyFromPfg2 = _pfgDimId2 ? valuesByDimId[_pfgDimId2] : undefined;
265
+ _priceKey = _priceKeyFromPfg2 && _priceKeyFromPfg2 in pricesByKey ? _priceKeyFromPfg2 : Object.keys(pricesByKey)[0];
266
+ resolvedPrice = _priceKey != null ? (_pricesByKey$_priceKe = pricesByKey[_priceKey]) !== null && _pricesByKey$_priceKe !== void 0 ? _pricesByKey$_priceKe : null : null;
267
+ if (resolvedPrice != null) configApplied = true;
268
+ }
269
+ _context.next = 140;
270
+ break;
271
+ case 116:
272
+ if (!(partlistDimIds.length === 0)) {
273
+ _context.next = 140;
274
+ break;
275
+ }
276
+ _context.prev = 117;
277
+ _clonedSet = set.cloneSet();
278
+ plannableCodex = (_valuesByDimId$PLANNA3 = valuesByDimId[PLANNABLE_ARTICLE_DIMENSION_ID]) === null || _valuesByDimId$PLANNA3 === void 0 ? void 0 : _valuesByDimId$PLANNA3.trim();
279
+ if (!plannableCodex) {
280
+ _context.next = 132;
281
+ break;
282
+ }
283
+ _context.prev = 121;
284
+ _context.next = 124;
285
+ return DivaSetHandler.addPlannerElement(_clonedSet, plannableCodex, {});
286
+ case 124:
287
+ _addedArticle = _context.sent;
288
+ _context.next = 127;
289
+ return DivaSetHandler.updateArticlesOptionStatesOfActSet(_clonedSet, _addedArticle.getValidValues(_addedArticle.VariantValues, undefined, true), [_addedArticle.basketId], undefined, 'initializing');
290
+ case 127:
291
+ _context.next = 132;
292
+ break;
293
+ case 129:
294
+ _context.prev = 129;
295
+ _context.t5 = _context["catch"](121);
296
+ configApplied = false;
297
+ case 132:
298
+ if (configApplied !== false) configApplied = true;
299
+ if (cellPricesByKey && Object.keys(cellPricesByKey).length > 0) {
300
+ _pfgDimId3 = spec.dimensionIdsInOrder.find(function (id) {
301
+ return id.startsWith('pfg_');
302
+ });
303
+ _priceKeyFromPfg3 = _pfgDimId3 ? valuesByDimId[_pfgDimId3] : undefined;
304
+ _priceKey2 = _priceKeyFromPfg3 && _priceKeyFromPfg3 in cellPricesByKey ? _priceKeyFromPfg3 : Object.keys(cellPricesByKey)[0];
305
+ resolvedPrice = _priceKey2 != null ? (_cellPricesByKey$_pri = cellPricesByKey[_priceKey2]) !== null && _cellPricesByKey$_pri !== void 0 ? _cellPricesByKey$_pri : null : null;
306
+ }
307
+ // Plannable-only: show price whenever we resolved it from article price data (clone/add is not required for display)
308
+ if (resolvedPrice != null) configApplied = true;
309
+ _context.next = 140;
310
+ break;
311
+ case 137:
312
+ _context.prev = 137;
313
+ _context.t6 = _context["catch"](117);
314
+ configApplied = false;
315
+ case 140:
316
+ cell = {
317
+ dimensionComboKey: comboKey,
318
+ partlistDimensionValues: partlistDimensionValues,
319
+ articleCodex: cellArticleCodex,
320
+ pricesByKey: cellPricesByKey,
321
+ resolvedPrice: resolvedPrice,
322
+ configApplied: configApplied
323
+ };
324
+ gatheredData.cellsByDimensionCombo[comboKey] = cell;
325
+ pfgDimId = spec.dimensionIdsInOrder.find(function (id) {
326
+ return id.startsWith('pfg_');
327
+ });
328
+ priceKeyFromPfg = pfgDimId ? valuesByDimId[pfgDimId] : undefined;
329
+ availableKeys = cellPricesByKey ? Object.keys(cellPricesByKey) : [];
330
+ hit = priceKeyFromPfg != null && cellPricesByKey != null && priceKeyFromPfg in cellPricesByKey;
331
+ debugLog('compute: cell', {
332
+ comboKey: comboKey,
333
+ articleCodex: cellArticleCodex,
334
+ pfgDimId: pfgDimId,
335
+ priceKeyFromPfg: priceKeyFromPfg,
336
+ hit: hit,
337
+ availableKeys: availableKeys.slice(0, 15),
338
+ resolvedPrice: resolvedPrice,
339
+ configApplied: configApplied
340
+ });
341
+ case 147:
342
+ _context.next = 11;
343
+ break;
344
+ case 149:
345
+ _context.next = 154;
346
+ break;
347
+ case 151:
348
+ _context.prev = 151;
349
+ _context.t7 = _context["catch"](9);
350
+ _iterator.e(_context.t7);
351
+ case 154:
352
+ _context.prev = 154;
353
+ _iterator.f();
354
+ return _context.finish(154);
355
+ case 157:
356
+ enabledIds = spec.scopedDimensions.map(function (d) {
357
+ return d.id;
358
+ });
359
+ gatheredData.dimensionsWithNoEffect = analyzeDimensionsWithNoEffect(gatheredData.cellsByDimensionCombo, spec.dimensionIdsInOrder, enabledIds);
360
+ case 159:
361
+ case "end":
362
+ return _context.stop();
363
+ }
364
+ }, _callee, null, [[9, 151, 154, 157], [31, 110], [35, 43], [56, 75, 78, 81], [64, 68], [84, 100, 103, 106], [117, 137], [121, 129]]);
365
+ }));
366
+ return _computePriceListCells.apply(this, arguments);
367
+ }
368
+
369
+ 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; }
370
+ 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; }
371
+ function usePriceListState() {
372
+ var _gatheredData$input;
373
+ var viewHandler = useViewHandler();
374
+ var _useDivaCore = useDivaCore(),
375
+ _useDivaCore$actions = _useDivaCore.actions,
376
+ _useDivaCore$actions2 = _useDivaCore$actions === void 0 ? {} : _useDivaCore$actions,
377
+ toggleLoading = _useDivaCore$actions2.toggleLoading;
378
+ var configChanged = viewHandler.settingsState.configChanged;
379
+ var curConfigStep = viewHandler.tabGroupState.curConfigStep;
380
+ var articlesInSet = useMemo(function () {
381
+ var _viewHandler$divaWebP;
382
+ var articles = Object.values((_viewHandler$divaWebP = viewHandler.divaWebPlanner.getDivaArticles(undefined, true)) !== null && _viewHandler$divaWebP !== void 0 ? _viewHandler$divaWebP : {});
383
+ return articles.filter(function (a) {
384
+ return !a.isPartListArticle || a.hasPartlistArticle;
385
+ });
386
+ }, [configChanged, curConfigStep]);
387
+ var _useState = useState(false),
388
+ _useState2 = _slicedToArray(_useState, 2),
389
+ rerender = _useState2[0],
390
+ setRerender = _useState2[1];
391
+ var _useState3 = useState(undefined),
392
+ _useState4 = _slicedToArray(_useState3, 2),
393
+ article = _useState4[0],
394
+ setArticle = _useState4[1];
395
+ var _useState5 = useState(null),
396
+ _useState6 = _slicedToArray(_useState5, 2),
397
+ gatheredData = _useState6[0],
398
+ setGatheredData = _useState6[1];
399
+ var _useState7 = useState(false),
400
+ _useState8 = _slicedToArray(_useState7, 2),
401
+ gatherLoading = _useState8[0],
402
+ setGatherLoading = _useState8[1];
403
+ var _useState9 = useState(null),
404
+ _useState10 = _slicedToArray(_useState9, 2),
405
+ scopeSelection = _useState10[0],
406
+ setScopeSelection = _useState10[1];
407
+ var _useState11 = useState(false),
408
+ _useState12 = _slicedToArray(_useState11, 2),
409
+ computing = _useState12[0],
410
+ setComputing = _useState12[1];
411
+ var _useState13 = useState(function () {
412
+ return new Set();
413
+ }),
414
+ _useState14 = _slicedToArray(_useState13, 2),
415
+ explicitlyIncludedDimensionIds = _useState14[0],
416
+ setExplicitlyIncludedDimensionIds = _useState14[1];
417
+ useEffect(function () {
418
+ var _gatheredData$dimensi;
419
+ if (!(gatheredData !== null && gatheredData !== void 0 && (_gatheredData$dimensi = gatheredData.dimensions) !== null && _gatheredData$dimensi !== void 0 && _gatheredData$dimensi.length) || !article) return;
420
+ setScopeSelection(function (prev) {
421
+ return prev !== null && prev !== void 0 ? prev : getDefaultScopeSelection(gatheredData.dimensions, gatheredData.input.baseArticleCodex);
422
+ });
423
+ }, [gatheredData === null || gatheredData === void 0 ? void 0 : gatheredData.dimensions, gatheredData === null || gatheredData === void 0 || (_gatheredData$input = gatheredData.input) === null || _gatheredData$input === void 0 ? void 0 : _gatheredData$input.baseArticleCodex, article]);
424
+ useEffect(function () {
425
+ setGatheredData(null);
426
+ setScopeSelection(null);
427
+ setExplicitlyIncludedDimensionIds(new Set());
428
+ if (!article) {
429
+ setGatherLoading(false);
430
+ return;
431
+ }
432
+ var cancelled = false;
433
+ setGatherLoading(true);
434
+ gatherPriceListData(article).then(function (data) {
435
+ if (!cancelled) {
436
+ setGatheredData(data);
437
+ setScopeSelection(null);
438
+ setExplicitlyIncludedDimensionIds(new Set());
439
+ }
440
+ })["catch"](function (err) {
441
+ if (!cancelled) setGatheredData(function (prev) {
442
+ var _err$message;
443
+ return prev ? _objectSpread$1(_objectSpread$1({}, prev), {}, {
444
+ error: String((_err$message = err === null || err === void 0 ? void 0 : err.message) !== null && _err$message !== void 0 ? _err$message : err)
445
+ }) : null;
446
+ });
447
+ })["finally"](function () {
448
+ if (!cancelled) setGatherLoading(false);
449
+ });
450
+ return function () {
451
+ cancelled = true;
452
+ };
453
+ }, [article === null || article === void 0 ? void 0 : article.basketId, article === null || article === void 0 ? void 0 : article.articleCodex]);
454
+
455
+ // When set has articles and none selected (or selected article not in set), default to first article
456
+ useEffect(function () {
457
+ if (articlesInSet.length === 0) return;
458
+ var currentInSet = article && articlesInSet.some(function (a) {
459
+ return a.basketId === article.basketId;
460
+ });
461
+ if (!currentInSet) {
462
+ setArticle(articlesInSet[0]);
463
+ }
464
+ }, [articlesInSet, article]);
465
+ useEffect(function () {
466
+ var t = setTimeout(function () {
467
+ return setRerender(function (r) {
468
+ return !r;
469
+ });
470
+ }, 500);
471
+ return function () {
472
+ return clearTimeout(t);
473
+ };
474
+ }, [viewHandler.tabGroupState.allTabGroups]);
475
+ useEffect(function () {
476
+ var set = viewHandler.divaWebPlanner.actSet();
477
+ if (set && !set.logDecisions) set.logDecisions = true;
478
+ return function () {
479
+ var set = viewHandler.divaWebPlanner.actSet();
480
+ if (set) set.logDecisions = false;
481
+ };
482
+ }, [viewHandler.uiState.isLoading]);
483
+ useEffect(function () {
484
+ var actSet = viewHandler.divaWebPlanner.actSet();
485
+ if (article !== null && article !== void 0 && article.hasPartlistArticle && actSet !== null && actSet !== void 0 && actSet.logDecisions) {
486
+ article.engine.evalPartlist(article.VariantValues);
487
+ }
488
+ }, [article, configChanged, curConfigStep, viewHandler.uiState.isLoading]);
489
+ var scopedComboSpec = useMemo(function () {
490
+ var _gatheredData$dimensi2;
491
+ if (!(gatheredData !== null && gatheredData !== void 0 && (_gatheredData$dimensi2 = gatheredData.dimensions) !== null && _gatheredData$dimensi2 !== void 0 && _gatheredData$dimensi2.length) || !scopeSelection) return undefined;
492
+ return buildScopedComboSpec(gatheredData.dimensions, scopeSelection);
493
+ }, [gatheredData === null || gatheredData === void 0 ? void 0 : gatheredData.dimensions, scopeSelection]);
494
+ useEffect(function () {
495
+ var _gatheredData$dimensi3;
496
+ if (!scopeSelection || !(gatheredData !== null && gatheredData !== void 0 && (_gatheredData$dimensi3 = gatheredData.dimensionsWithNoEffect) !== null && _gatheredData$dimensi3 !== void 0 && _gatheredData$dimensi3.length)) return;
497
+ setGatheredData(function (prev) {
498
+ var _prev$dimensionsWithN;
499
+ return prev !== null && prev !== void 0 && (_prev$dimensionsWithN = prev.dimensionsWithNoEffect) !== null && _prev$dimensionsWithN !== void 0 && _prev$dimensionsWithN.length ? _objectSpread$1(_objectSpread$1({}, prev), {}, {
500
+ dimensionsWithNoEffect: undefined
501
+ }) : prev;
502
+ });
503
+ }, [scopeSelection]);
504
+ var toggleScopeValue = function toggleScopeValue(dimId, value) {
505
+ setScopeSelection(function (prev) {
506
+ var _prev$selectedValuesB;
507
+ if (!prev) return prev;
508
+ var current = (_prev$selectedValuesB = prev.selectedValuesByDimensionId[dimId]) !== null && _prev$selectedValuesB !== void 0 ? _prev$selectedValuesB : [];
509
+ var has = current.includes(value);
510
+ var next = has ? current.filter(function (v) {
511
+ return v !== value;
512
+ }) : [].concat(_toConsumableArray(current), [value]);
513
+ return _objectSpread$1(_objectSpread$1({}, prev), {}, {
514
+ selectedValuesByDimensionId: _objectSpread$1(_objectSpread$1({}, prev.selectedValuesByDimensionId), {}, _defineProperty({}, dimId, next.length ? next : current))
515
+ });
516
+ });
517
+ };
518
+ var selectAllForDimension = function selectAllForDimension(dimId) {
519
+ if (!(gatheredData !== null && gatheredData !== void 0 && gatheredData.dimensions) || !scopeSelection) return;
520
+ var dim = gatheredData.dimensions.find(function (d) {
521
+ return d.id === dimId;
522
+ });
523
+ if (!dim) return;
524
+ setScopeSelection(_objectSpread$1(_objectSpread$1({}, scopeSelection), {}, {
525
+ selectedValuesByDimensionId: _objectSpread$1(_objectSpread$1({}, scopeSelection.selectedValuesByDimensionId), {}, _defineProperty({}, dimId, _toConsumableArray(dim.values)))
526
+ }));
527
+ };
528
+ var selectGroupForDimension = function selectGroupForDimension(dimId, groupValues) {
529
+ var _scopeSelection$selec;
530
+ if (!scopeSelection || !groupValues.length) return;
531
+ var current = (_scopeSelection$selec = scopeSelection.selectedValuesByDimensionId[dimId]) !== null && _scopeSelection$selec !== void 0 ? _scopeSelection$selec : [];
532
+ var merged = _toConsumableArray(new Set([].concat(_toConsumableArray(current), _toConsumableArray(groupValues))));
533
+ setScopeSelection(_objectSpread$1(_objectSpread$1({}, scopeSelection), {}, {
534
+ selectedValuesByDimensionId: _objectSpread$1(_objectSpread$1({}, scopeSelection.selectedValuesByDimensionId), {}, _defineProperty({}, dimId, merged))
535
+ }));
536
+ };
537
+ var deselectGroupForDimension = function deselectGroupForDimension(dimId, groupValues) {
538
+ var _scopeSelection$selec2;
539
+ if (!scopeSelection || !groupValues.length) return;
540
+ var current = (_scopeSelection$selec2 = scopeSelection.selectedValuesByDimensionId[dimId]) !== null && _scopeSelection$selec2 !== void 0 ? _scopeSelection$selec2 : [];
541
+ var set = new Set(groupValues);
542
+ var next = current.filter(function (v) {
543
+ return !set.has(v);
544
+ });
545
+ setScopeSelection(_objectSpread$1(_objectSpread$1({}, scopeSelection), {}, {
546
+ selectedValuesByDimensionId: _objectSpread$1(_objectSpread$1({}, scopeSelection.selectedValuesByDimensionId), {}, _defineProperty({}, dimId, next))
547
+ }));
548
+ };
549
+ var deselectAllForDimension = function deselectAllForDimension(dimId) {
550
+ if (!scopeSelection) return;
551
+ setScopeSelection(_objectSpread$1(_objectSpread$1({}, scopeSelection), {}, {
552
+ selectedValuesByDimensionId: _objectSpread$1(_objectSpread$1({}, scopeSelection.selectedValuesByDimensionId), {}, _defineProperty({}, dimId, []))
553
+ }));
554
+ };
555
+ var setDimensionPosition = function setDimensionPosition(dimId, position) {
556
+ var _scopeSelection$userS;
557
+ if (!scopeSelection) return;
558
+ var userSet = (_scopeSelection$userS = scopeSelection.userSetPositionDimensionIds) !== null && _scopeSelection$userS !== void 0 ? _scopeSelection$userS : [];
559
+ var alreadySet = userSet.includes(dimId);
560
+ setScopeSelection(_objectSpread$1(_objectSpread$1({}, scopeSelection), {}, {
561
+ dimensionPositionByDimensionId: _objectSpread$1(_objectSpread$1({}, scopeSelection.dimensionPositionByDimensionId), {}, _defineProperty({}, dimId, position)),
562
+ userSetPositionDimensionIds: alreadySet ? userSet : [].concat(_toConsumableArray(userSet), [dimId])
563
+ }));
564
+ };
565
+ var toggleSmartMerge = function toggleSmartMerge() {
566
+ setScopeSelection(function (prev) {
567
+ return prev ? _objectSpread$1(_objectSpread$1({}, prev), {}, {
568
+ smartMerge: !prev.smartMerge
569
+ }) : prev;
570
+ });
571
+ };
572
+ var toggleDimensionDisabled = function toggleDimensionDisabled(dimId) {
573
+ var _scopeSelection$disab, _gatheredData$dimensi4;
574
+ if (!scopeSelection) return;
575
+ var disabled = (_scopeSelection$disab = scopeSelection.disabledDimensionIds) !== null && _scopeSelection$disab !== void 0 ? _scopeSelection$disab : [];
576
+ var isIncluding = disabled.includes(dimId);
577
+ var next = isIncluding ? disabled.filter(function (id) {
578
+ return id !== dimId;
579
+ }) : [].concat(_toConsumableArray(disabled), [dimId]);
580
+ setExplicitlyIncludedDimensionIds(function (prev) {
581
+ var nextSet = new Set(prev);
582
+ if (isIncluding) nextSet.add(dimId);else nextSet["delete"](dimId);
583
+ return nextSet;
584
+ });
585
+ var nextScope = _objectSpread$1(_objectSpread$1({}, scopeSelection), {}, {
586
+ disabledDimensionIds: next.length ? next : undefined
587
+ });
588
+ setScopeSelection(gatheredData !== null && gatheredData !== void 0 && (_gatheredData$dimensi4 = gatheredData.dimensions) !== null && _gatheredData$dimensi4 !== void 0 && _gatheredData$dimensi4.length ? applyDefaultLayoutToScopeSelection(gatheredData.dimensions, nextScope) : nextScope);
589
+ };
590
+ var handleCompute = /*#__PURE__*/function () {
591
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
592
+ var data, _data$dimensionsWithN, _gatheredData$dimensi5, _scopeSelection$disab2, disabled, newScope, data2;
593
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
594
+ while (1) switch (_context.prev = _context.next) {
595
+ case 0:
596
+ if (!(!article || !gatheredData || !scopedComboSpec || !scopeSelection)) {
597
+ _context.next = 2;
598
+ break;
599
+ }
600
+ return _context.abrupt("return");
601
+ case 2:
602
+ toggleLoading === null || toggleLoading === void 0 || toggleLoading('priceListCompute', false, true);
603
+ setComputing(true);
604
+ _context.next = 6;
605
+ return new Promise(function (resolve) {
606
+ return setTimeout(resolve, 0);
607
+ });
608
+ case 6:
609
+ _context.next = 8;
610
+ return new Promise(function (resolve) {
611
+ return requestAnimationFrame(resolve);
612
+ });
613
+ case 8:
614
+ data = _objectSpread$1(_objectSpread$1({}, gatheredData), {}, {
615
+ scopedComboSpec: scopedComboSpec
616
+ });
617
+ _context.prev = 9;
618
+ _context.next = 12;
619
+ return computePriceListCells(article, data);
620
+ case 12:
621
+ setGatheredData(data);
622
+ if (!((_data$dimensionsWithN = data.dimensionsWithNoEffect) !== null && _data$dimensionsWithN !== void 0 && _data$dimensionsWithN.length && (_gatheredData$dimensi5 = gatheredData.dimensions) !== null && _gatheredData$dimensi5 !== void 0 && _gatheredData$dimensi5.length)) {
623
+ _context.next = 22;
624
+ break;
625
+ }
626
+ disabled = new Set((_scopeSelection$disab2 = scopeSelection.disabledDimensionIds) !== null && _scopeSelection$disab2 !== void 0 ? _scopeSelection$disab2 : []);
627
+ data.dimensionsWithNoEffect.forEach(function (id) {
628
+ if (!explicitlyIncludedDimensionIds.has(id)) disabled.add(id);
629
+ });
630
+ newScope = applyDefaultLayoutToScopeSelection(gatheredData.dimensions, _objectSpread$1(_objectSpread$1({}, scopeSelection), {}, {
631
+ disabledDimensionIds: _toConsumableArray(disabled),
632
+ autoExcludedNoEffectDimensionIds: data.dimensionsWithNoEffect
633
+ }));
634
+ setScopeSelection(newScope);
635
+ data2 = _objectSpread$1(_objectSpread$1({}, data), {}, {
636
+ scopedComboSpec: buildScopedComboSpec(data.dimensions, newScope),
637
+ cellsByDimensionCombo: {},
638
+ dimensionsWithNoEffect: undefined
639
+ });
640
+ _context.next = 21;
641
+ return computePriceListCells(article, data2);
642
+ case 21:
643
+ setGatheredData(data2);
644
+ case 22:
645
+ _context.prev = 22;
646
+ setComputing(false);
647
+ toggleLoading === null || toggleLoading === void 0 || toggleLoading('priceListCompute', false, false);
648
+ return _context.finish(22);
649
+ case 26:
650
+ case "end":
651
+ return _context.stop();
652
+ }
653
+ }, _callee, null, [[9,, 22, 26]]);
654
+ }));
655
+ return function handleCompute() {
656
+ return _ref.apply(this, arguments);
657
+ };
658
+ }();
659
+ return {
660
+ articlesInSet: articlesInSet,
661
+ rerender: rerender,
662
+ article: article,
663
+ setArticle: setArticle,
664
+ gatheredData: gatheredData,
665
+ setGatheredData: setGatheredData,
666
+ gatherLoading: gatherLoading,
667
+ scopeSelection: scopeSelection,
668
+ setScopeSelection: setScopeSelection,
669
+ computing: computing,
670
+ scopedComboSpec: scopedComboSpec,
671
+ toggleScopeValue: toggleScopeValue,
672
+ selectAllForDimension: selectAllForDimension,
673
+ selectGroupForDimension: selectGroupForDimension,
674
+ deselectGroupForDimension: deselectGroupForDimension,
675
+ deselectAllForDimension: deselectAllForDimension,
676
+ setDimensionPosition: setDimensionPosition,
677
+ toggleDimensionDisabled: toggleDimensionDisabled,
678
+ handleCompute: handleCompute,
679
+ toggleSmartMerge: toggleSmartMerge,
680
+ getDefaultPositionForDimension: getDefaultPositionForDimension,
681
+ maxCombosForBuild: MAX_COMBOS_FOR_BUILD
682
+ };
683
+ }
684
+
685
+ 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; }
686
+ 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; }
687
+ var PriceList = function PriceList(props) {
688
+ var _usePriceListState = usePriceListState(),
689
+ articlesInSet = _usePriceListState.articlesInSet,
690
+ rerender = _usePriceListState.rerender,
691
+ article = _usePriceListState.article,
692
+ setArticle = _usePriceListState.setArticle,
693
+ gatheredData = _usePriceListState.gatheredData,
694
+ gatherLoading = _usePriceListState.gatherLoading,
695
+ scopeSelection = _usePriceListState.scopeSelection,
696
+ computing = _usePriceListState.computing,
697
+ scopedComboSpec = _usePriceListState.scopedComboSpec,
698
+ toggleScopeValue = _usePriceListState.toggleScopeValue,
699
+ selectAllForDimension = _usePriceListState.selectAllForDimension,
700
+ selectGroupForDimension = _usePriceListState.selectGroupForDimension,
701
+ deselectGroupForDimension = _usePriceListState.deselectGroupForDimension,
702
+ deselectAllForDimension = _usePriceListState.deselectAllForDimension,
703
+ setDimensionPosition = _usePriceListState.setDimensionPosition,
704
+ toggleDimensionDisabled = _usePriceListState.toggleDimensionDisabled,
705
+ handleCompute = _usePriceListState.handleCompute,
706
+ toggleSmartMerge = _usePriceListState.toggleSmartMerge,
707
+ getDefaultPositionForDimension = _usePriceListState.getDefaultPositionForDimension,
708
+ maxCombosForBuild = _usePriceListState.maxCombosForBuild;
709
+ if (articlesInSet.length === 0) {
710
+ return /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({}, props), {}, {
711
+ className: classnames(props.className, scrollable),
712
+ style: {
713
+ zIndex: 800
714
+ },
715
+ children: [/*#__PURE__*/jsx("a", {
716
+ className: header,
717
+ children: "Price list"
718
+ }), /*#__PURE__*/jsx("p", {
719
+ style: {
720
+ padding: 16
721
+ },
722
+ children: "No articles in this set."
723
+ })]
724
+ }));
725
+ }
726
+ if (!article) {
727
+ return /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({}, props), {}, {
728
+ className: classnames(props.className, scrollable),
729
+ style: {
730
+ zIndex: 800
731
+ },
732
+ children: [/*#__PURE__*/jsx("a", {
733
+ className: header,
734
+ children: "Price list"
735
+ }), /*#__PURE__*/jsx(ArticleSelector, {
736
+ articleState: [article, setArticle],
737
+ rerender: rerender,
738
+ articles: articlesInSet
739
+ }), /*#__PURE__*/jsx("p", {
740
+ className: tableDescription,
741
+ children: "Select an article to analyze dimensions and build the price table."
742
+ })]
743
+ }));
744
+ }
745
+ var showTable = (gatheredData === null || gatheredData === void 0 ? void 0 : gatheredData.scopedComboSpec) && scopeSelection && Object.keys(gatheredData.cellsByDimensionCombo).length > 0;
746
+ return /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({}, props), {}, {
747
+ className: classnames(props.className, scrollable),
748
+ style: {
749
+ zIndex: 800
750
+ },
751
+ children: [/*#__PURE__*/jsx("a", {
752
+ className: header,
753
+ children: "Price list"
754
+ }), /*#__PURE__*/jsx(ArticleSelector, {
755
+ articleState: [article, setArticle],
756
+ rerender: rerender,
757
+ articles: articlesInSet
758
+ }), /*#__PURE__*/jsxs("p", {
759
+ className: tableDescription,
760
+ children: ["Article: ", article.name, " (", article.articleCodex, ")", article.hasPartlistArticle ? '. Analyze → cockpit (select scope) → compute → table.' : ' — no partlist; plannable-articles dimension only.']
761
+ }), gatherLoading && /*#__PURE__*/jsx("p", {
762
+ children: "Analyzing dimensions and loading prices\u2026"
763
+ }), (gatheredData === null || gatheredData === void 0 ? void 0 : gatheredData.error) && /*#__PURE__*/jsx("p", {
764
+ style: {
765
+ color: 'var(--errorColor, #b91c1c)'
766
+ },
767
+ children: gatheredData.error
768
+ }), gatheredData && !gatherLoading && /*#__PURE__*/jsx(PriceListCockpit, {
769
+ gatheredData: gatheredData,
770
+ scopeSelection: scopeSelection,
771
+ scopedComboSpec: scopedComboSpec,
772
+ computing: computing,
773
+ maxCombosForBuild: maxCombosForBuild,
774
+ getDefaultPositionForDimension: getDefaultPositionForDimension,
775
+ onToggleScopeValue: toggleScopeValue,
776
+ onSelectAllForDimension: selectAllForDimension,
777
+ onSelectGroupForDimension: selectGroupForDimension,
778
+ onDeselectGroupForDimension: deselectGroupForDimension,
779
+ onDeselectAllForDimension: deselectAllForDimension,
780
+ onSetDimensionPosition: setDimensionPosition,
781
+ onToggleDimensionDisabled: toggleDimensionDisabled,
782
+ onCompute: handleCompute,
783
+ onToggleSmartMerge: toggleSmartMerge
784
+ }), showTable && gatheredData && scopeSelection && /*#__PURE__*/jsx(PriceListTable, {
785
+ gatheredData: gatheredData,
786
+ scopeSelection: scopeSelection
787
+ })]
788
+ }));
789
+ };
790
+ var PriceList$1 = observer(PriceList);
791
+
792
+ export { PriceList$1 as default };