@postnord/pn-marketweb-components 3.5.2 → 4.0.0

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 (1186) hide show
  1. package/cjs/FetchHelper-2d4c697c.js +85 -0
  2. package/cjs/FetchHelper-2d4c697c.js.map +1 -0
  3. package/cjs/HeadingTag-19376e1f.js +12 -0
  4. package/cjs/HeadingTag-19376e1f.js.map +1 -0
  5. package/cjs/LocalStorageService-e1ee3fac.js +66 -0
  6. package/cjs/LocalStorageService-e1ee3fac.js.map +1 -0
  7. package/cjs/{FetchHelper-e951824f.js → MarketWebContextService-0fdc43c8.js} +1 -82
  8. package/cjs/MarketWebContextService-0fdc43c8.js.map +1 -0
  9. package/cjs/alert_exclamation_circle-24f29a5b.js +8 -0
  10. package/cjs/alert_exclamation_circle-24f29a5b.js.map +1 -0
  11. package/cjs/angle_up-049ec1d8.js +12 -0
  12. package/cjs/angle_up-049ec1d8.js.map +1 -0
  13. package/cjs/close-9e014a80.js +8 -0
  14. package/cjs/close-9e014a80.js.map +1 -0
  15. package/cjs/{index-1d8c9211.js → index-4067c6a5.js} +2 -2
  16. package/cjs/{index-1d8c9211.js.map → index-4067c6a5.js.map} +1 -1
  17. package/cjs/{index-34e1c673.js → index-b02670c2.js} +65 -8
  18. package/cjs/index-b02670c2.js.map +1 -0
  19. package/cjs/index.cjs.js +1 -1
  20. package/cjs/loader.cjs.js +2 -2
  21. package/cjs/pn-address-autofill.cjs.entry.js +51 -75
  22. package/cjs/pn-address-autofill.cjs.entry.js.map +1 -1
  23. package/cjs/pn-animated-tile.cjs.entry.js +2 -2
  24. package/cjs/pn-animated-tile.cjs.entry.js.map +1 -1
  25. package/cjs/pn-app-banner.cjs.entry.js +3 -3
  26. package/cjs/pn-app-banner.cjs.entry.js.map +1 -1
  27. package/cjs/pn-bonus-progressbar-level.cjs.entry.js +2 -2
  28. package/cjs/pn-bonus-progressbar-level.cjs.entry.js.map +1 -1
  29. package/cjs/pn-bonus-progressbar.cjs.entry.js +2 -2
  30. package/cjs/pn-bonus-progressbar.cjs.entry.js.map +1 -1
  31. package/cjs/pn-breakpoints.cjs.entry.js +3 -3
  32. package/cjs/pn-breakpoints.cjs.entry.js.map +1 -1
  33. package/cjs/pn-chart.cjs.entry.js +2 -2
  34. package/cjs/pn-chart.cjs.entry.js.map +1 -1
  35. package/cjs/pn-charts-card.cjs.entry.js +2 -2
  36. package/cjs/pn-charts-card.cjs.entry.js.map +1 -1
  37. package/cjs/pn-chat-message_2.cjs.entry.js +346 -0
  38. package/cjs/pn-chat-message_2.cjs.entry.js.map +1 -0
  39. package/cjs/pn-chat.cjs.entry.js +474 -0
  40. package/cjs/pn-chat.cjs.entry.js.map +1 -0
  41. package/cjs/pn-chat.service-eaf6ed50.js +157 -0
  42. package/cjs/pn-chat.service-eaf6ed50.js.map +1 -0
  43. package/cjs/pn-choice-button.cjs.entry.js +2 -2
  44. package/cjs/pn-choice-button.cjs.entry.js.map +1 -1
  45. package/cjs/pn-cta-block.cjs.entry.js +2 -2
  46. package/cjs/pn-cta-block.cjs.entry.js.map +1 -1
  47. package/cjs/pn-customernumber-selector-option.cjs.entry.js +3 -3
  48. package/cjs/pn-customernumber-selector-option.cjs.entry.js.map +1 -1
  49. package/cjs/pn-customernumber-selector.cjs.entry.js +4 -9
  50. package/cjs/pn-customernumber-selector.cjs.entry.js.map +1 -1
  51. package/cjs/pn-date-and-time.cjs.entry.js +2 -2
  52. package/cjs/pn-date-and-time.cjs.entry.js.map +1 -1
  53. package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js +20 -8
  54. package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js.map +1 -1
  55. package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js +2 -2
  56. package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js.map +1 -1
  57. package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js +2 -2
  58. package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js.map +1 -1
  59. package/cjs/pn-filter-checkbox.cjs.entry.js +2 -2
  60. package/cjs/pn-filter-checkbox.cjs.entry.js.map +1 -1
  61. package/cjs/pn-find-price-result.cjs.entry.js +5 -5
  62. package/cjs/pn-find-price-result.cjs.entry.js.map +1 -1
  63. package/cjs/{pn-find-price-store-051e931b.js → pn-find-price-store-0c8256c7.js} +2 -2
  64. package/cjs/{pn-find-price-store-051e931b.js.map → pn-find-price-store-0c8256c7.js.map} +1 -1
  65. package/cjs/pn-find-price.cjs.entry.js +6 -6
  66. package/cjs/pn-find-price.cjs.entry.js.map +1 -1
  67. package/cjs/pn-find-service-and-price-result.cjs.entry.js +5 -5
  68. package/cjs/pn-find-service-and-price-result.cjs.entry.js.map +1 -1
  69. package/cjs/{pn-find-service-and-price-store-3cec3d31.js → pn-find-service-and-price-store-13f060e0.js} +2 -2
  70. package/cjs/{pn-find-service-and-price-store-3cec3d31.js.map → pn-find-service-and-price-store-13f060e0.js.map} +1 -1
  71. package/cjs/pn-find-service-and-price.cjs.entry.js +5 -5
  72. package/cjs/pn-find-service-and-price.cjs.entry.js.map +1 -1
  73. package/cjs/pn-hero-block-international.cjs.entry.js +3 -3
  74. package/cjs/pn-hero-block-international.cjs.entry.js.map +1 -1
  75. package/cjs/pn-language-selector_9.cjs.entry.js +25 -27
  76. package/cjs/pn-language-selector_9.cjs.entry.js.map +1 -1
  77. package/cjs/pn-level-up-modal.cjs.entry.js +77 -0
  78. package/cjs/pn-level-up-modal.cjs.entry.js.map +1 -0
  79. package/cjs/pn-level-up.cjs.entry.js +139 -0
  80. package/cjs/pn-level-up.cjs.entry.js.map +1 -0
  81. package/cjs/pn-level-up.service-0e8e67c2.js +71 -0
  82. package/cjs/pn-level-up.service-0e8e67c2.js.map +1 -0
  83. package/cjs/pn-line-shape.cjs.entry.js +2 -2
  84. package/cjs/pn-line-shape.cjs.entry.js.map +1 -1
  85. package/cjs/pn-link-list.cjs.entry.js +3 -3
  86. package/cjs/pn-link-list.cjs.entry.js.map +1 -1
  87. package/cjs/pn-mainnav-link.cjs.entry.js +5 -5
  88. package/cjs/pn-mainnav-link.cjs.entry.js.map +1 -1
  89. package/cjs/{pn-mainnav-store-1a8153fd.js → pn-mainnav-store-5732f3ca.js} +2 -2
  90. package/cjs/{pn-mainnav-store-1a8153fd.js.map → pn-mainnav-store-5732f3ca.js.map} +1 -1
  91. package/cjs/pn-market-web-components.cjs.js +2 -2
  92. package/cjs/pn-marketweb-icon.cjs.entry.js +3 -3
  93. package/cjs/pn-marketweb-icon.cjs.entry.js.map +1 -1
  94. package/cjs/pn-marketweb-input.cjs.entry.js +4 -6
  95. package/cjs/pn-marketweb-input.cjs.entry.js.map +1 -1
  96. package/cjs/pn-marketweb-search.cjs.entry.js +6 -5
  97. package/cjs/pn-marketweb-search.cjs.entry.js.map +1 -1
  98. package/cjs/pn-marketweb-sitefooter.cjs.entry.js +7 -10
  99. package/cjs/pn-marketweb-sitefooter.cjs.entry.js.map +1 -1
  100. package/cjs/{pn-marketweb-siteheader-login-button_5.cjs.entry.js → pn-marketweb-siteheader-login-button_4.cjs.entry.js} +8 -26
  101. package/cjs/pn-marketweb-siteheader-login-button_4.cjs.entry.js.map +1 -0
  102. package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js +4 -4
  103. package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js.map +1 -1
  104. package/cjs/pn-marketweb-siteheader-login-mypage-button.cjs.entry.js +25 -0
  105. package/cjs/pn-marketweb-siteheader-login-mypage-button.cjs.entry.js.map +1 -0
  106. package/cjs/{pn-marketweb-siteheader-store-75853609.js → pn-marketweb-siteheader-store-ce9d9ac7.js} +2 -2
  107. package/cjs/{pn-marketweb-siteheader-store-75853609.js.map → pn-marketweb-siteheader-store-ce9d9ac7.js.map} +1 -1
  108. package/cjs/pn-marketweb-siteheader.cjs.entry.js +11 -10
  109. package/cjs/pn-marketweb-siteheader.cjs.entry.js.map +1 -1
  110. package/cjs/pn-marketweb-table.cjs.entry.js +459 -0
  111. package/cjs/pn-marketweb-table.cjs.entry.js.map +1 -0
  112. package/cjs/pn-media-block.cjs.entry.js +6 -6
  113. package/cjs/pn-media-block.cjs.entry.js.map +1 -1
  114. package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js +2 -2
  115. package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js.map +1 -1
  116. package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js +2 -2
  117. package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js.map +1 -1
  118. package/cjs/pn-multiple-input.cjs.entry.js +1 -1
  119. package/cjs/pn-parcel-tracker.cjs.entry.js +2 -2
  120. package/cjs/pn-parcel-tracker.cjs.entry.js.map +1 -1
  121. package/cjs/pn-pex-pricefinder.cjs.entry.js +3 -3
  122. package/cjs/pn-pex-pricefinder.cjs.entry.js.map +1 -1
  123. package/cjs/pn-play-on-scroll.cjs.entry.js +1 -1
  124. package/cjs/pn-product-card_3.cjs.entry.js +5 -5
  125. package/cjs/pn-product-card_3.cjs.entry.js.map +1 -1
  126. package/cjs/pn-product-pricelist-result.cjs.entry.js +4 -4
  127. package/cjs/pn-product-pricelist-result.cjs.entry.js.map +1 -1
  128. package/cjs/pn-product-pricelist.cjs.entry.js +6 -6
  129. package/cjs/pn-product-pricelist.cjs.entry.js.map +1 -1
  130. package/cjs/pn-product-tile-info_2.cjs.entry.js +4 -4
  131. package/cjs/pn-product-tile-info_2.cjs.entry.js.map +1 -1
  132. package/cjs/pn-product-tile.cjs.entry.js +3 -3
  133. package/cjs/pn-product-tile.cjs.entry.js.map +1 -1
  134. package/cjs/pn-profile-modal-customernumber.cjs.entry.js +3 -3
  135. package/cjs/pn-profile-modal-customernumber.cjs.entry.js.map +1 -1
  136. package/cjs/pn-profile-modal-profile.cjs.entry.js +6 -6
  137. package/cjs/pn-profile-modal-profile.cjs.entry.js.map +1 -1
  138. package/cjs/{pn-profile-modal-store-3b6fea24.js → pn-profile-modal-store-16f8092a.js} +2 -2
  139. package/cjs/{pn-profile-modal-store-3b6fea24.js.map → pn-profile-modal-store-16f8092a.js.map} +1 -1
  140. package/cjs/pn-profile-modal-type.cjs.entry.js +5 -5
  141. package/cjs/pn-profile-modal-type.cjs.entry.js.map +1 -1
  142. package/cjs/pn-profile-modal.cjs.entry.js +5 -5
  143. package/cjs/pn-profile-modal.cjs.entry.js.map +1 -1
  144. package/cjs/pn-profile-selector-option.cjs.entry.js +3 -3
  145. package/cjs/pn-profile-selector-option.cjs.entry.js.map +1 -1
  146. package/cjs/pn-profile-selector.cjs.entry.js +3 -3
  147. package/cjs/pn-profile-selector.cjs.entry.js.map +1 -1
  148. package/cjs/pn-proxio-findprice-result.cjs.entry.js +3 -3
  149. package/cjs/pn-proxio-findprice-result.cjs.entry.js.map +1 -1
  150. package/cjs/pn-proxio-findprice.cjs.entry.js +9 -8
  151. package/cjs/pn-proxio-findprice.cjs.entry.js.map +1 -1
  152. package/cjs/pn-proxio-pricegroup.cjs.entry.js +6 -5
  153. package/cjs/pn-proxio-pricegroup.cjs.entry.js.map +1 -1
  154. package/cjs/pn-proxio-productcard_4.cjs.entry.js +8 -8
  155. package/cjs/pn-proxio-productcard_4.cjs.entry.js.map +1 -1
  156. package/cjs/pn-qr-code-generator.cjs.entry.js +2945 -0
  157. package/cjs/pn-qr-code-generator.cjs.entry.js.map +1 -0
  158. package/cjs/pn-quick-cta.cjs.entry.js +2 -2
  159. package/cjs/pn-quick-cta.cjs.entry.js.map +1 -1
  160. package/cjs/pn-quote-card.cjs.entry.js +2 -2
  161. package/cjs/pn-quote-card.cjs.entry.js.map +1 -1
  162. package/cjs/pn-scroll_2.cjs.entry.js +2 -2
  163. package/cjs/pn-scroll_2.cjs.entry.js.map +1 -1
  164. package/cjs/pn-search.cjs.entry.js +54 -0
  165. package/cjs/pn-search.cjs.entry.js.map +1 -0
  166. package/cjs/pn-share-item.cjs.entry.js +2 -2
  167. package/cjs/pn-share-item.cjs.entry.js.map +1 -1
  168. package/cjs/pn-share.cjs.entry.js +2 -2
  169. package/cjs/pn-share.cjs.entry.js.map +1 -1
  170. package/cjs/pn-sidenav-level.cjs.entry.js +5 -5
  171. package/cjs/pn-sidenav-level.cjs.entry.js.map +1 -1
  172. package/cjs/pn-sidenav-link.cjs.entry.js +5 -5
  173. package/cjs/pn-sidenav-link.cjs.entry.js.map +1 -1
  174. package/cjs/{pn-sidenav-store-cf9c4996.js → pn-sidenav-store-236c8806.js} +2 -2
  175. package/cjs/{pn-sidenav-store-cf9c4996.js.map → pn-sidenav-store-236c8806.js.map} +1 -1
  176. package/cjs/pn-sidenav-togglebutton.cjs.entry.js +5 -5
  177. package/cjs/pn-sidenav-togglebutton.cjs.entry.js.map +1 -1
  178. package/cjs/pn-sidenav.cjs.entry.js +5 -5
  179. package/cjs/pn-sidenav.cjs.entry.js.map +1 -1
  180. package/cjs/pn-site-footer_3.cjs.entry.js +7 -7
  181. package/cjs/pn-site-footer_3.cjs.entry.js.map +1 -1
  182. package/cjs/pn-spotlight.cjs.entry.js +2 -2
  183. package/cjs/pn-spotlight.cjs.entry.js.map +1 -1
  184. package/cjs/pn-stats-info-data.cjs.entry.js +2 -2
  185. package/cjs/pn-stats-info-data.cjs.entry.js.map +1 -1
  186. package/cjs/pn-stats-info.cjs.entry.js +2 -2
  187. package/cjs/pn-stats-info.cjs.entry.js.map +1 -1
  188. package/cjs/pn-teaser-card.cjs.entry.js +5 -9
  189. package/cjs/pn-teaser-card.cjs.entry.js.map +1 -1
  190. package/cjs/pn-titletag.cjs.entry.js +3 -3
  191. package/cjs/pn-titletag.cjs.entry.js.map +1 -1
  192. package/cjs/pn-usp-promoter.cjs.entry.js +3 -3
  193. package/cjs/pn-usp-promoter.cjs.entry.js.map +1 -1
  194. package/cjs/pn-usp-simple.cjs.entry.js +56 -0
  195. package/cjs/pn-usp-simple.cjs.entry.js.map +1 -0
  196. package/collection/collection-manifest.json +10 -1
  197. package/collection/components/animation/pn-animated-tile/pn-animated-tile.css +25 -0
  198. package/collection/components/animation/pn-play-on-scroll/pn-video-overlay/pn-video-overlay.css +25 -0
  199. package/collection/components/cards/pn-quote-card/pn-line-shape/pn-line-shape.css +25 -0
  200. package/collection/components/cards/pn-quote-card/pn-quote-card.css +25 -0
  201. package/collection/components/cards/pn-teaser-card/pn-teaser-card.css +25 -0
  202. package/collection/components/cards/pn-teaser-card/pn-teaser-card.js +8 -11
  203. package/collection/components/cards/pn-teaser-card/pn-teaser-card.js.map +1 -1
  204. package/collection/components/cards/pn-teaser-card/pn-teaser-card.stories.js +3 -3
  205. package/collection/components/charts/pn-chart/pn-chart.css +25 -0
  206. package/collection/components/charts/pn-charts-card/pn-charts-card.css +25 -0
  207. package/collection/components/cta/pn-cta-block/pn-cta-block.css +25 -0
  208. package/collection/components/cta/pn-parcel-tracker/pn-parcel-tracker.css +25 -0
  209. package/collection/components/cta/pn-quick-cta/pn-quick-cta.css +25 -0
  210. package/collection/components/cta/pn-share/pn-share-item.css +25 -0
  211. package/collection/components/cta/pn-share/pn-share.css +25 -0
  212. package/collection/components/cta/pn-spotlight/pn-spotlight.css +25 -0
  213. package/collection/components/data-visualization/pn-stats-info/pn-stats-info-data/pn-stats-info-data.css +25 -0
  214. package/collection/components/data-visualization/pn-stats-info/pn-stats-info.css +25 -0
  215. package/collection/components/input/pn-address-autofill/pn-address-autofill.css +31 -1
  216. package/collection/components/input/pn-address-autofill/pn-address-autofill.js +58 -68
  217. package/collection/components/input/pn-address-autofill/pn-address-autofill.js.map +1 -1
  218. package/collection/components/input/pn-address-autofill/pn-address-autofill.stories.js +2 -1
  219. package/collection/components/input/pn-address-autofill/translations.js +6 -3
  220. package/collection/components/input/pn-address-autofill/translations.js.map +1 -1
  221. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.css +25 -0
  222. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.css +25 -0
  223. package/collection/components/input/pn-choice-button/pn-choice-button.css +25 -0
  224. package/collection/components/input/pn-date-and-time/pn-date-and-time.css +25 -0
  225. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.css +25 -0
  226. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js +18 -6
  227. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js.map +1 -1
  228. package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.css +25 -0
  229. package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.css +25 -0
  230. package/collection/components/input/pn-filter-checkbox/pn-filter-checkbox.css +25 -0
  231. package/collection/components/input/pn-marketweb-input/pn-marketweb-input.css +25 -0
  232. package/collection/components/input/pn-marketweb-search/pn-marketweb-search.css +25 -0
  233. package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js +4 -3
  234. package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js.map +1 -1
  235. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.css +25 -0
  236. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.css +25 -0
  237. package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.css +50 -0
  238. package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js +1 -1
  239. package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js.map +1 -1
  240. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.css +25 -0
  241. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-links.css +25 -0
  242. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.css +25 -0
  243. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js +1 -0
  244. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js.map +1 -1
  245. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.css +25 -0
  246. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +1 -1
  247. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js.map +1 -1
  248. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.css +25 -0
  249. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js +1 -37
  250. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js.map +1 -1
  251. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.css +25 -0
  252. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +4 -4
  253. package/collection/components/media/pn-media-block/pn-media-block.css +25 -0
  254. package/collection/components/media/pn-media-block/pn-media-block.js +8 -8
  255. package/collection/components/media/pn-media-block/pn-media-block.js.map +1 -1
  256. package/collection/components/media/pn-media-block/pn-media-block.stories.js +76 -76
  257. package/collection/components/minor/pn-app-banner/pn-app-banner.css +25 -0
  258. package/collection/components/minor/pn-app-banner/pn-app-banner.js +1 -1
  259. package/collection/components/minor/pn-marketweb-icon/pn-marketweb-icon.css +25 -0
  260. package/collection/components/minor/pn-marketweb-icon/pn-marketweb-icon.js +1 -1
  261. package/collection/components/minor/pn-swan/pn-swan.css +25 -0
  262. package/collection/components/minor/pn-swan/pn-swan.js +1 -1
  263. package/collection/components/minor/pn-titletag/pn-titletag.css +25 -0
  264. package/collection/components/minor/pn-titletag/pn-titletag.js +1 -1
  265. package/collection/components/navigation/pn-language-selector/pn-language-selector-option.css +50 -0
  266. package/collection/components/navigation/pn-language-selector/pn-language-selector-option.js +1 -1
  267. package/collection/components/navigation/pn-language-selector/pn-language-selector.css +50 -0
  268. package/collection/components/navigation/pn-language-selector/pn-language-selector.js +1 -1
  269. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.css +25 -0
  270. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js +2 -2
  271. package/collection/components/navigation/pn-mainnav/pn-mainnav-link.css +25 -0
  272. package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js +1 -1
  273. package/collection/components/navigation/pn-mainnav/pn-mainnav-list.css +25 -0
  274. package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js +1 -1
  275. package/collection/components/navigation/pn-mainnav/pn-mainnav.css +25 -0
  276. package/collection/components/navigation/pn-mainnav/pn-mainnav.js +1 -1
  277. package/collection/components/navigation/pn-sidenav/pn-sidenav-level.css +25 -0
  278. package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js +1 -1
  279. package/collection/components/navigation/pn-sidenav/pn-sidenav-link.css +25 -0
  280. package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js +1 -1
  281. package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.css +25 -0
  282. package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js +1 -1
  283. package/collection/components/navigation/pn-sidenav/pn-sidenav.css +25 -0
  284. package/collection/components/navigation/pn-sidenav/pn-sidenav.js +1 -1
  285. package/collection/components/navigation/pn-site-footer/pn-site-footer-col.css +50 -0
  286. package/collection/components/navigation/pn-site-footer/pn-site-footer-col.js +1 -1
  287. package/collection/components/navigation/pn-site-footer/pn-site-footer.css +50 -0
  288. package/collection/components/navigation/pn-site-footer/pn-site-footer.js +1 -1
  289. package/collection/components/navigation/pn-site-selector/pn-site-selector-item.css +25 -0
  290. package/collection/components/navigation/pn-site-selector/pn-site-selector-item.js +1 -1
  291. package/collection/components/navigation/pn-site-selector/pn-site-selector.css +25 -0
  292. package/collection/components/navigation/pn-site-selector/pn-site-selector.js +1 -1
  293. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.css +25 -0
  294. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js +1 -1
  295. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.css +25 -0
  296. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js +1 -1
  297. package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.css +25 -0
  298. package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.js +1 -1
  299. package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.css +25 -0
  300. package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.js +2 -2
  301. package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.css +25 -0
  302. package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js +1 -1
  303. package/collection/components/profile/pn-profile-modal/pn-profile-modal.css +25 -0
  304. package/collection/components/profile/pn-profile-modal/pn-profile-modal.js +1 -1
  305. package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.css +25 -0
  306. package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js +1 -1
  307. package/collection/components/profile/pn-profile-selector/pn-profile-selector.css +25 -0
  308. package/collection/components/profile/pn-profile-selector/pn-profile-selector.js +1 -1
  309. package/collection/components/utilities/pn-breakpoints/pn-breakpoints.css +25 -0
  310. package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js +1 -1
  311. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.css +146 -0
  312. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js +118 -0
  313. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js.map +1 -0
  314. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.js +219 -0
  315. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.js.map +1 -0
  316. package/collection/components/widgets/pn-chat/pn-chat-stories-constants.js +243 -0
  317. package/collection/components/widgets/pn-chat/pn-chat-stories-constants.js.map +1 -0
  318. package/collection/components/widgets/pn-chat/pn-chat.css +238 -0
  319. package/collection/components/widgets/pn-chat/pn-chat.js +840 -0
  320. package/collection/components/widgets/pn-chat/pn-chat.js.map +1 -0
  321. package/collection/components/widgets/pn-chat/pn-chat.models.js +2 -0
  322. package/collection/components/widgets/pn-chat/pn-chat.models.js.map +1 -0
  323. package/collection/components/widgets/pn-chat/pn-chat.service.js +151 -0
  324. package/collection/components/widgets/pn-chat/pn-chat.service.js.map +1 -0
  325. package/collection/components/widgets/pn-chat/pn-chat.stories.js +116 -0
  326. package/collection/components/widgets/pn-chat/pn-chat.stories.js.map +1 -0
  327. package/collection/components/widgets/pn-chat/translations.js +78 -0
  328. package/collection/components/widgets/pn-chat/translations.js.map +1 -0
  329. package/collection/components/widgets/pn-chat/types.js +2 -0
  330. package/collection/components/widgets/pn-chat/types.js.map +1 -0
  331. package/collection/components/widgets/pn-find-price/pn-find-price-result.css +25 -0
  332. package/collection/components/widgets/pn-find-price/pn-find-price-result.js +1 -1
  333. package/collection/components/widgets/pn-find-price/pn-find-price.css +25 -0
  334. package/collection/components/widgets/pn-find-price/pn-find-price.js +2 -2
  335. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price-result.css +25 -0
  336. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price-result.js +1 -1
  337. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.css +25 -0
  338. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js +1 -1
  339. package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.css +25 -0
  340. package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js +1 -1
  341. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.css +94 -0
  342. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.js +262 -0
  343. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.js.map +1 -0
  344. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.js +31 -0
  345. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.js.map +1 -0
  346. package/collection/components/widgets/pn-level-up/pn-level-up.css +114 -0
  347. package/collection/components/widgets/pn-level-up/pn-level-up.js +476 -0
  348. package/collection/components/widgets/pn-level-up/pn-level-up.js.map +1 -0
  349. package/collection/components/widgets/pn-level-up/pn-level-up.models.js +2 -0
  350. package/collection/components/widgets/pn-level-up/pn-level-up.models.js.map +1 -0
  351. package/collection/components/widgets/pn-level-up/pn-level-up.service.js +65 -0
  352. package/collection/components/widgets/pn-level-up/pn-level-up.service.js.map +1 -0
  353. package/collection/components/widgets/pn-level-up/pn-level-up.stories.js +88 -0
  354. package/collection/components/widgets/pn-level-up/pn-level-up.stories.js.map +1 -0
  355. package/collection/components/widgets/pn-level-up/types.js +2 -0
  356. package/collection/components/widgets/pn-level-up/types.js.map +1 -0
  357. package/collection/components/widgets/pn-link-list/pn-link-list.css +25 -0
  358. package/collection/components/widgets/pn-link-list/pn-link-list.js +1 -1
  359. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.css +96 -0
  360. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.js +494 -0
  361. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.js.map +1 -0
  362. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.js +82 -0
  363. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.js.map +1 -0
  364. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.css +255 -0
  365. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js +701 -0
  366. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js.map +1 -0
  367. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.service.js +38 -0
  368. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.service.js.map +1 -0
  369. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.js +122 -0
  370. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.js.map +1 -0
  371. package/collection/components/widgets/pn-marketweb-table/translations.js +73 -0
  372. package/collection/components/widgets/pn-marketweb-table/translations.js.map +1 -0
  373. package/collection/components/widgets/pn-marketweb-table/types.js +2 -0
  374. package/collection/components/widgets/pn-marketweb-table/types.js.map +1 -0
  375. package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.css +25 -0
  376. package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js +1 -1
  377. package/collection/components/widgets/pn-product-card/pn-product-card-info.css +25 -0
  378. package/collection/components/widgets/pn-product-card/pn-product-card-price.css +25 -0
  379. package/collection/components/widgets/pn-product-card/pn-product-card.css +25 -0
  380. package/collection/components/widgets/pn-product-card/pn-product-card.js +1 -1
  381. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.css +25 -0
  382. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.js +1 -1
  383. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.css +25 -0
  384. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js +2 -2
  385. package/collection/components/widgets/pn-product-tile/pn-product-tile-info.css +25 -0
  386. package/collection/components/widgets/pn-product-tile/pn-product-tile-info.js +1 -1
  387. package/collection/components/widgets/pn-product-tile/pn-product-tile-price.css +25 -0
  388. package/collection/components/widgets/pn-product-tile/pn-product-tile.css +25 -0
  389. package/collection/components/widgets/pn-product-tile/pn-product-tile.js +1 -1
  390. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.css +25 -0
  391. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js +1 -1
  392. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.css +25 -0
  393. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js +3 -3
  394. package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.css +25 -0
  395. package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js +1 -1
  396. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-description.css +25 -0
  397. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-description.js +1 -1
  398. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-information.css +25 -0
  399. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-information.js +1 -1
  400. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-pricelink.css +25 -0
  401. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard.css +25 -0
  402. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard.js +1 -1
  403. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.css +61 -0
  404. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.js +198 -0
  405. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.js.map +1 -0
  406. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.js +29 -0
  407. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.js.map +1 -0
  408. package/collection/components/widgets/pn-search/pn-search.css +140 -0
  409. package/collection/components/widgets/pn-search/pn-search.js +368 -0
  410. package/collection/components/widgets/pn-search/pn-search.js.map +1 -0
  411. package/collection/components/widgets/pn-search/pn-search.stories.js +54 -0
  412. package/collection/components/widgets/pn-search/pn-search.stories.js.map +1 -0
  413. package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.css +25 -0
  414. package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js +1 -1
  415. package/collection/components/widgets/pn-usp-simple/pn-usp-simple.css +116 -0
  416. package/collection/components/widgets/pn-usp-simple/pn-usp-simple.js +269 -0
  417. package/collection/components/widgets/pn-usp-simple/pn-usp-simple.js.map +1 -0
  418. package/collection/components/widgets/pn-usp-simple/pn-usp-simple.stories.js +63 -0
  419. package/collection/components/widgets/pn-usp-simple/pn-usp-simple.stories.js.map +1 -0
  420. package/collection/globals/HeadingTag.js +2 -2
  421. package/collection/globals/HeadingTag.js.map +1 -1
  422. package/collection/globals/LocalStorageService.js +50 -0
  423. package/collection/globals/LocalStorageService.js.map +1 -0
  424. package/collection/globals/ScreensizeDetect.js +80 -0
  425. package/collection/globals/ScreensizeDetect.js.map +1 -0
  426. package/collection/globals/types.js +2 -0
  427. package/collection/globals/types.js.map +1 -0
  428. package/collection/utils/utils.js +11 -0
  429. package/collection/utils/utils.js.map +1 -1
  430. package/components/FetchHelper.js +1 -243
  431. package/components/FetchHelper.js.map +1 -1
  432. package/components/HeadingTag.js +10 -0
  433. package/components/HeadingTag.js.map +1 -0
  434. package/components/LocalStorageService.js +64 -0
  435. package/components/LocalStorageService.js.map +1 -0
  436. package/{esm/FetchHelper-746f2bb6.js → components/MarketWebContextService.js} +2 -82
  437. package/components/MarketWebContextService.js.map +1 -0
  438. package/components/alert_exclamation_circle.js +6 -0
  439. package/components/alert_exclamation_circle.js.map +1 -0
  440. package/components/angle_up.js +9 -0
  441. package/components/angle_up.js.map +1 -0
  442. package/components/close.js +6 -0
  443. package/components/close.js.map +1 -0
  444. package/components/pn-address-autofill.js +50 -73
  445. package/components/pn-address-autofill.js.map +1 -1
  446. package/components/pn-animated-tile.js +1 -1
  447. package/components/pn-animated-tile.js.map +1 -1
  448. package/components/pn-app-banner.js +2 -2
  449. package/components/pn-app-banner.js.map +1 -1
  450. package/components/pn-bonus-progressbar-level.js +1 -1
  451. package/components/pn-bonus-progressbar-level.js.map +1 -1
  452. package/components/pn-bonus-progressbar.js +1 -1
  453. package/components/pn-bonus-progressbar.js.map +1 -1
  454. package/components/pn-breakpoints.js +2 -2
  455. package/components/pn-breakpoints.js.map +1 -1
  456. package/components/pn-chart.js +1 -1
  457. package/components/pn-chart.js.map +1 -1
  458. package/components/pn-charts-card.js +1 -1
  459. package/components/pn-charts-card.js.map +1 -1
  460. package/components/pn-chat-message.d.ts +11 -0
  461. package/components/pn-chat-message.js +8 -0
  462. package/components/pn-chat-message.js.map +1 -0
  463. package/components/pn-chat-message2.js +69 -0
  464. package/components/pn-chat-message2.js.map +1 -0
  465. package/components/pn-chat.d.ts +11 -0
  466. package/components/pn-chat.js +534 -0
  467. package/components/pn-chat.js.map +1 -0
  468. package/components/pn-chat.service.js +155 -0
  469. package/components/pn-chat.service.js.map +1 -0
  470. package/components/pn-choice-button2.js +1 -1
  471. package/components/pn-choice-button2.js.map +1 -1
  472. package/components/pn-cta-block.js +1 -1
  473. package/components/pn-cta-block.js.map +1 -1
  474. package/components/pn-customernumber-selector-option.js +2 -2
  475. package/components/pn-customernumber-selector-option.js.map +1 -1
  476. package/components/pn-customernumber-selector.js +3 -8
  477. package/components/pn-customernumber-selector.js.map +1 -1
  478. package/components/pn-date-and-time.js +1 -1
  479. package/components/pn-date-and-time.js.map +1 -1
  480. package/components/pn-dropdown-choice-adds-row.js +19 -7
  481. package/components/pn-dropdown-choice-adds-row.js.map +1 -1
  482. package/components/pn-dropdown-with-multi-input-rows-row2.js +1 -1
  483. package/components/pn-dropdown-with-multi-input-rows-row2.js.map +1 -1
  484. package/components/pn-dropdown-with-multi-input-rows.js +1 -1
  485. package/components/pn-dropdown-with-multi-input-rows.js.map +1 -1
  486. package/components/pn-filter-checkbox2.js +1 -1
  487. package/components/pn-filter-checkbox2.js.map +1 -1
  488. package/components/pn-find-price-result2.js +2 -2
  489. package/components/pn-find-price-result2.js.map +1 -1
  490. package/components/pn-find-price.js +3 -3
  491. package/components/pn-find-price.js.map +1 -1
  492. package/components/pn-find-service-and-price-result2.js +2 -2
  493. package/components/pn-find-service-and-price-result2.js.map +1 -1
  494. package/components/pn-find-service-and-price.js +2 -2
  495. package/components/pn-find-service-and-price.js.map +1 -1
  496. package/components/pn-hero-block-international.js +2 -2
  497. package/components/pn-hero-block-international.js.map +1 -1
  498. package/components/pn-language-selector-option2.js +2 -2
  499. package/components/pn-language-selector-option2.js.map +1 -1
  500. package/components/pn-language-selector2.js +2 -2
  501. package/components/pn-language-selector2.js.map +1 -1
  502. package/components/pn-level-up-modal.d.ts +11 -0
  503. package/components/pn-level-up-modal.js +8 -0
  504. package/components/pn-level-up-modal.js.map +1 -0
  505. package/components/pn-level-up-modal2.js +170 -0
  506. package/components/pn-level-up-modal2.js.map +1 -0
  507. package/components/pn-level-up.d.ts +11 -0
  508. package/components/pn-level-up.js +185 -0
  509. package/components/pn-level-up.js.map +1 -0
  510. package/components/pn-line-shape.js +1 -1
  511. package/components/pn-line-shape.js.map +1 -1
  512. package/components/pn-link-list.js +2 -2
  513. package/components/pn-link-list.js.map +1 -1
  514. package/components/pn-mainnav-level2.js +3 -3
  515. package/components/pn-mainnav-level2.js.map +1 -1
  516. package/components/pn-mainnav-link2.js +2 -2
  517. package/components/pn-mainnav-link2.js.map +1 -1
  518. package/components/pn-mainnav-list2.js +2 -2
  519. package/components/pn-mainnav-list2.js.map +1 -1
  520. package/components/pn-mainnav2.js +3 -5
  521. package/components/pn-mainnav2.js.map +1 -1
  522. package/components/pn-marketweb-carousel.d.ts +11 -0
  523. package/components/pn-marketweb-carousel.js +8 -0
  524. package/components/pn-marketweb-carousel.js.map +1 -0
  525. package/components/pn-marketweb-carousel2.js +326 -0
  526. package/components/pn-marketweb-carousel2.js.map +1 -0
  527. package/components/pn-marketweb-icon.js +2 -2
  528. package/components/pn-marketweb-icon.js.map +1 -1
  529. package/components/pn-marketweb-input2.js +2 -4
  530. package/components/pn-marketweb-input2.js.map +1 -1
  531. package/components/pn-marketweb-search.js +1 -125
  532. package/components/pn-marketweb-search.js.map +1 -1
  533. package/components/pn-marketweb-search2.js +130 -0
  534. package/components/pn-marketweb-search2.js.map +1 -0
  535. package/components/pn-marketweb-sitefooter.js +6 -9
  536. package/components/pn-marketweb-sitefooter.js.map +1 -1
  537. package/components/pn-marketweb-siteheader-login-linklist2.js +1 -1
  538. package/components/pn-marketweb-siteheader-login-linklist2.js.map +1 -1
  539. package/components/pn-marketweb-siteheader-login-links2.js +1 -1
  540. package/components/pn-marketweb-siteheader-login-links2.js.map +1 -1
  541. package/components/pn-marketweb-siteheader-login-mypage-button.js +34 -1
  542. package/components/pn-marketweb-siteheader-login-mypage-button.js.map +1 -1
  543. package/components/pn-marketweb-siteheader-login-profileselection2.js +2 -1
  544. package/components/pn-marketweb-siteheader-login-profileselection2.js.map +1 -1
  545. package/components/pn-marketweb-siteheader-login2.js +8 -14
  546. package/components/pn-marketweb-siteheader-login2.js.map +1 -1
  547. package/components/pn-marketweb-siteheader-search2.js +1 -1
  548. package/components/pn-marketweb-siteheader-search2.js.map +1 -1
  549. package/components/pn-marketweb-siteheader-unified-login2.js +3 -13
  550. package/components/pn-marketweb-siteheader-unified-login2.js.map +1 -1
  551. package/components/pn-marketweb-siteheader.js +27 -32
  552. package/components/pn-marketweb-siteheader.js.map +1 -1
  553. package/components/pn-marketweb-table.d.ts +11 -0
  554. package/components/pn-marketweb-table.js +502 -0
  555. package/components/pn-marketweb-table.js.map +1 -0
  556. package/components/pn-media-block.js +6 -6
  557. package/components/pn-media-block.js.map +1 -1
  558. package/components/pn-multi-row-connected-dropdown-row2.js +1 -1
  559. package/components/pn-multi-row-connected-dropdown-row2.js.map +1 -1
  560. package/components/pn-multi-row-connected-dropdown.js +1 -1
  561. package/components/pn-multi-row-connected-dropdown.js.map +1 -1
  562. package/components/pn-parcel-tracker.js +1 -1
  563. package/components/pn-parcel-tracker.js.map +1 -1
  564. package/components/pn-pex-pricefinder.js +2 -2
  565. package/components/pn-pex-pricefinder.js.map +1 -1
  566. package/components/pn-product-card-info2.js +1 -1
  567. package/components/pn-product-card-info2.js.map +1 -1
  568. package/components/pn-product-card-price2.js +1 -1
  569. package/components/pn-product-card-price2.js.map +1 -1
  570. package/components/pn-product-card2.js +2 -2
  571. package/components/pn-product-card2.js.map +1 -1
  572. package/components/pn-product-pricelist-result.js +2 -2
  573. package/components/pn-product-pricelist-result.js.map +1 -1
  574. package/components/pn-product-pricelist.js +3 -3
  575. package/components/pn-product-pricelist.js.map +1 -1
  576. package/components/pn-product-tile-info2.js +2 -2
  577. package/components/pn-product-tile-info2.js.map +1 -1
  578. package/components/pn-product-tile-price2.js +1 -1
  579. package/components/pn-product-tile-price2.js.map +1 -1
  580. package/components/pn-product-tile.js +2 -2
  581. package/components/pn-product-tile.js.map +1 -1
  582. package/components/pn-profile-modal-customernumber.js +2 -2
  583. package/components/pn-profile-modal-customernumber.js.map +1 -1
  584. package/components/pn-profile-modal-profile.js +3 -3
  585. package/components/pn-profile-modal-profile.js.map +1 -1
  586. package/components/pn-profile-modal-type.js +2 -2
  587. package/components/pn-profile-modal-type.js.map +1 -1
  588. package/components/pn-profile-modal.js +2 -2
  589. package/components/pn-profile-modal.js.map +1 -1
  590. package/components/pn-profile-selector-option.js +2 -2
  591. package/components/pn-profile-selector-option.js.map +1 -1
  592. package/components/pn-profile-selector.js +2 -2
  593. package/components/pn-profile-selector.js.map +1 -1
  594. package/components/pn-proxio-findprice-result2.js +2 -2
  595. package/components/pn-proxio-findprice-result2.js.map +1 -1
  596. package/components/pn-proxio-findprice.js +6 -5
  597. package/components/pn-proxio-findprice.js.map +1 -1
  598. package/components/pn-proxio-pricegroup.js +4 -3
  599. package/components/pn-proxio-pricegroup.js.map +1 -1
  600. package/components/pn-proxio-productcard-description2.js +2 -2
  601. package/components/pn-proxio-productcard-description2.js.map +1 -1
  602. package/components/pn-proxio-productcard-information2.js +2 -2
  603. package/components/pn-proxio-productcard-information2.js.map +1 -1
  604. package/components/pn-proxio-productcard-pricelink2.js +1 -1
  605. package/components/pn-proxio-productcard-pricelink2.js.map +1 -1
  606. package/components/pn-proxio-productcard2.js +2 -2
  607. package/components/pn-proxio-productcard2.js.map +1 -1
  608. package/components/pn-qr-code-generator.d.ts +11 -0
  609. package/components/pn-qr-code-generator.js +8 -0
  610. package/components/pn-qr-code-generator.js.map +1 -0
  611. package/components/pn-qr-code-generator2.js +2967 -0
  612. package/components/pn-qr-code-generator2.js.map +1 -0
  613. package/components/pn-quick-cta.js +1 -1
  614. package/components/pn-quick-cta.js.map +1 -1
  615. package/components/pn-quote-card.js +1 -1
  616. package/components/pn-quote-card.js.map +1 -1
  617. package/components/pn-search.d.ts +11 -0
  618. package/components/pn-search.js +91 -0
  619. package/components/pn-search.js.map +1 -0
  620. package/components/pn-share-item2.js +1 -1
  621. package/components/pn-share-item2.js.map +1 -1
  622. package/components/pn-share.js +1 -1
  623. package/components/pn-share.js.map +1 -1
  624. package/components/pn-sidenav-level.js +2 -2
  625. package/components/pn-sidenav-level.js.map +1 -1
  626. package/components/pn-sidenav-link.js +2 -2
  627. package/components/pn-sidenav-link.js.map +1 -1
  628. package/components/pn-sidenav-togglebutton.js +2 -2
  629. package/components/pn-sidenav-togglebutton.js.map +1 -1
  630. package/components/pn-sidenav.js +2 -2
  631. package/components/pn-sidenav.js.map +1 -1
  632. package/components/pn-site-footer-col2.js +2 -2
  633. package/components/pn-site-footer-col2.js.map +1 -1
  634. package/components/pn-site-footer2.js +2 -2
  635. package/components/pn-site-footer2.js.map +1 -1
  636. package/components/pn-site-selector-item2.js +2 -2
  637. package/components/pn-site-selector-item2.js.map +1 -1
  638. package/components/pn-site-selector2.js +2 -2
  639. package/components/pn-site-selector2.js.map +1 -1
  640. package/components/pn-spotlight.js +1 -1
  641. package/components/pn-spotlight.js.map +1 -1
  642. package/components/pn-stats-info-data2.js +1 -1
  643. package/components/pn-stats-info-data2.js.map +1 -1
  644. package/components/pn-stats-info.js +1 -1
  645. package/components/pn-stats-info.js.map +1 -1
  646. package/components/pn-swan2.js +2 -2
  647. package/components/pn-swan2.js.map +1 -1
  648. package/components/pn-teaser-card.js +5 -9
  649. package/components/pn-teaser-card.js.map +1 -1
  650. package/components/pn-titletag2.js +2 -2
  651. package/components/pn-titletag2.js.map +1 -1
  652. package/components/pn-usp-promoter.js +2 -2
  653. package/components/pn-usp-promoter.js.map +1 -1
  654. package/components/pn-usp-simple.d.ts +11 -0
  655. package/components/pn-usp-simple.js +82 -0
  656. package/components/pn-usp-simple.js.map +1 -0
  657. package/components/pn-video-overlay2.js +1 -1
  658. package/components/pn-video-overlay2.js.map +1 -1
  659. package/esm/FetchHelper-4789695a.js +83 -0
  660. package/esm/FetchHelper-4789695a.js.map +1 -0
  661. package/esm/HeadingTag-e20016ab.js +10 -0
  662. package/esm/HeadingTag-e20016ab.js.map +1 -0
  663. package/esm/LocalStorageService-78b1794d.js +64 -0
  664. package/esm/LocalStorageService-78b1794d.js.map +1 -0
  665. package/esm/MarketWebContextService-16c15670.js +245 -0
  666. package/esm/MarketWebContextService-16c15670.js.map +1 -0
  667. package/esm/alert_exclamation_circle-f0fe7c7b.js +6 -0
  668. package/esm/alert_exclamation_circle-f0fe7c7b.js.map +1 -0
  669. package/esm/angle_up-b5f955ea.js +9 -0
  670. package/esm/angle_up-b5f955ea.js.map +1 -0
  671. package/esm/close-9e7bd787.js +6 -0
  672. package/esm/close-9e7bd787.js.map +1 -0
  673. package/esm/{index-89124075.js → index-ae60ebec.js} +2 -2
  674. package/esm/{index-89124075.js.map → index-ae60ebec.js.map} +1 -1
  675. package/esm/{index-51d67461.js → index-c311acd6.js} +65 -9
  676. package/esm/index-c311acd6.js.map +1 -0
  677. package/esm/index.js +1 -1
  678. package/esm/loader.js +3 -3
  679. package/esm/pn-address-autofill.entry.js +50 -74
  680. package/esm/pn-address-autofill.entry.js.map +1 -1
  681. package/esm/pn-animated-tile.entry.js +2 -2
  682. package/esm/pn-animated-tile.entry.js.map +1 -1
  683. package/esm/pn-app-banner.entry.js +3 -3
  684. package/esm/pn-app-banner.entry.js.map +1 -1
  685. package/esm/pn-bonus-progressbar-level.entry.js +2 -2
  686. package/esm/pn-bonus-progressbar-level.entry.js.map +1 -1
  687. package/esm/pn-bonus-progressbar.entry.js +2 -2
  688. package/esm/pn-bonus-progressbar.entry.js.map +1 -1
  689. package/esm/pn-breakpoints.entry.js +3 -3
  690. package/esm/pn-breakpoints.entry.js.map +1 -1
  691. package/esm/pn-chart.entry.js +2 -2
  692. package/esm/pn-chart.entry.js.map +1 -1
  693. package/esm/pn-charts-card.entry.js +2 -2
  694. package/esm/pn-charts-card.entry.js.map +1 -1
  695. package/esm/pn-chat-message_2.entry.js +341 -0
  696. package/esm/pn-chat-message_2.entry.js.map +1 -0
  697. package/esm/pn-chat.entry.js +470 -0
  698. package/esm/pn-chat.entry.js.map +1 -0
  699. package/esm/pn-chat.service-f4037d6f.js +155 -0
  700. package/esm/pn-chat.service-f4037d6f.js.map +1 -0
  701. package/esm/pn-choice-button.entry.js +2 -2
  702. package/esm/pn-choice-button.entry.js.map +1 -1
  703. package/esm/pn-cta-block.entry.js +2 -2
  704. package/esm/pn-cta-block.entry.js.map +1 -1
  705. package/esm/pn-customernumber-selector-option.entry.js +3 -3
  706. package/esm/pn-customernumber-selector-option.entry.js.map +1 -1
  707. package/esm/pn-customernumber-selector.entry.js +4 -9
  708. package/esm/pn-customernumber-selector.entry.js.map +1 -1
  709. package/esm/pn-date-and-time.entry.js +2 -2
  710. package/esm/pn-date-and-time.entry.js.map +1 -1
  711. package/esm/pn-dropdown-choice-adds-row.entry.js +20 -8
  712. package/esm/pn-dropdown-choice-adds-row.entry.js.map +1 -1
  713. package/esm/pn-dropdown-with-multi-input-rows-row.entry.js +2 -2
  714. package/esm/pn-dropdown-with-multi-input-rows-row.entry.js.map +1 -1
  715. package/esm/pn-dropdown-with-multi-input-rows.entry.js +2 -2
  716. package/esm/pn-dropdown-with-multi-input-rows.entry.js.map +1 -1
  717. package/esm/pn-filter-checkbox.entry.js +2 -2
  718. package/esm/pn-filter-checkbox.entry.js.map +1 -1
  719. package/esm/pn-find-price-result.entry.js +5 -5
  720. package/esm/pn-find-price-result.entry.js.map +1 -1
  721. package/esm/{pn-find-price-store-c9a9d3d4.js → pn-find-price-store-f97f2325.js} +2 -2
  722. package/esm/{pn-find-price-store-c9a9d3d4.js.map → pn-find-price-store-f97f2325.js.map} +1 -1
  723. package/esm/pn-find-price.entry.js +6 -6
  724. package/esm/pn-find-price.entry.js.map +1 -1
  725. package/esm/pn-find-service-and-price-result.entry.js +5 -5
  726. package/esm/pn-find-service-and-price-result.entry.js.map +1 -1
  727. package/esm/{pn-find-service-and-price-store-60aa5801.js → pn-find-service-and-price-store-6553566d.js} +2 -2
  728. package/esm/{pn-find-service-and-price-store-60aa5801.js.map → pn-find-service-and-price-store-6553566d.js.map} +1 -1
  729. package/esm/pn-find-service-and-price.entry.js +5 -5
  730. package/esm/pn-find-service-and-price.entry.js.map +1 -1
  731. package/esm/pn-hero-block-international.entry.js +3 -3
  732. package/esm/pn-hero-block-international.entry.js.map +1 -1
  733. package/esm/pn-language-selector_9.entry.js +25 -27
  734. package/esm/pn-language-selector_9.entry.js.map +1 -1
  735. package/esm/pn-level-up-modal.entry.js +73 -0
  736. package/esm/pn-level-up-modal.entry.js.map +1 -0
  737. package/esm/pn-level-up.entry.js +135 -0
  738. package/esm/pn-level-up.entry.js.map +1 -0
  739. package/esm/pn-level-up.service-5c602f23.js +69 -0
  740. package/esm/pn-level-up.service-5c602f23.js.map +1 -0
  741. package/esm/pn-line-shape.entry.js +2 -2
  742. package/esm/pn-line-shape.entry.js.map +1 -1
  743. package/esm/pn-link-list.entry.js +3 -3
  744. package/esm/pn-link-list.entry.js.map +1 -1
  745. package/esm/pn-mainnav-link.entry.js +5 -5
  746. package/esm/pn-mainnav-link.entry.js.map +1 -1
  747. package/esm/{pn-mainnav-store-9c42bc66.js → pn-mainnav-store-23387019.js} +2 -2
  748. package/esm/{pn-mainnav-store-9c42bc66.js.map → pn-mainnav-store-23387019.js.map} +1 -1
  749. package/esm/pn-market-web-components.js +3 -3
  750. package/esm/pn-marketweb-icon.entry.js +3 -3
  751. package/esm/pn-marketweb-icon.entry.js.map +1 -1
  752. package/esm/pn-marketweb-input.entry.js +3 -5
  753. package/esm/pn-marketweb-input.entry.js.map +1 -1
  754. package/esm/pn-marketweb-search.entry.js +6 -5
  755. package/esm/pn-marketweb-search.entry.js.map +1 -1
  756. package/esm/pn-marketweb-sitefooter.entry.js +6 -9
  757. package/esm/pn-marketweb-sitefooter.entry.js.map +1 -1
  758. package/esm/{pn-marketweb-siteheader-login-button_5.entry.js → pn-marketweb-siteheader-login-button_4.entry.js} +9 -26
  759. package/esm/pn-marketweb-siteheader-login-button_4.entry.js.map +1 -0
  760. package/esm/pn-marketweb-siteheader-login-linklist.entry.js +4 -4
  761. package/esm/pn-marketweb-siteheader-login-linklist.entry.js.map +1 -1
  762. package/esm/pn-marketweb-siteheader-login-mypage-button.entry.js +21 -0
  763. package/esm/pn-marketweb-siteheader-login-mypage-button.entry.js.map +1 -0
  764. package/esm/{pn-marketweb-siteheader-store-91f74255.js → pn-marketweb-siteheader-store-f60eb1e4.js} +2 -2
  765. package/esm/{pn-marketweb-siteheader-store-91f74255.js.map → pn-marketweb-siteheader-store-f60eb1e4.js.map} +1 -1
  766. package/esm/pn-marketweb-siteheader.entry.js +10 -9
  767. package/esm/pn-marketweb-siteheader.entry.js.map +1 -1
  768. package/esm/pn-marketweb-table.entry.js +455 -0
  769. package/esm/pn-marketweb-table.entry.js.map +1 -0
  770. package/esm/pn-media-block.entry.js +6 -6
  771. package/esm/pn-media-block.entry.js.map +1 -1
  772. package/esm/pn-multi-row-connected-dropdown-row.entry.js +2 -2
  773. package/esm/pn-multi-row-connected-dropdown-row.entry.js.map +1 -1
  774. package/esm/pn-multi-row-connected-dropdown.entry.js +2 -2
  775. package/esm/pn-multi-row-connected-dropdown.entry.js.map +1 -1
  776. package/esm/pn-multiple-input.entry.js +1 -1
  777. package/esm/pn-parcel-tracker.entry.js +2 -2
  778. package/esm/pn-parcel-tracker.entry.js.map +1 -1
  779. package/esm/pn-pex-pricefinder.entry.js +3 -3
  780. package/esm/pn-pex-pricefinder.entry.js.map +1 -1
  781. package/esm/pn-play-on-scroll.entry.js +1 -1
  782. package/esm/pn-product-card_3.entry.js +5 -5
  783. package/esm/pn-product-card_3.entry.js.map +1 -1
  784. package/esm/pn-product-pricelist-result.entry.js +4 -4
  785. package/esm/pn-product-pricelist-result.entry.js.map +1 -1
  786. package/esm/pn-product-pricelist.entry.js +6 -6
  787. package/esm/pn-product-pricelist.entry.js.map +1 -1
  788. package/esm/pn-product-tile-info_2.entry.js +4 -4
  789. package/esm/pn-product-tile-info_2.entry.js.map +1 -1
  790. package/esm/pn-product-tile.entry.js +3 -3
  791. package/esm/pn-product-tile.entry.js.map +1 -1
  792. package/esm/pn-profile-modal-customernumber.entry.js +3 -3
  793. package/esm/pn-profile-modal-customernumber.entry.js.map +1 -1
  794. package/esm/pn-profile-modal-profile.entry.js +6 -6
  795. package/esm/pn-profile-modal-profile.entry.js.map +1 -1
  796. package/esm/{pn-profile-modal-store-4655b124.js → pn-profile-modal-store-5d651bd5.js} +2 -2
  797. package/esm/{pn-profile-modal-store-4655b124.js.map → pn-profile-modal-store-5d651bd5.js.map} +1 -1
  798. package/esm/pn-profile-modal-type.entry.js +5 -5
  799. package/esm/pn-profile-modal-type.entry.js.map +1 -1
  800. package/esm/pn-profile-modal.entry.js +5 -5
  801. package/esm/pn-profile-modal.entry.js.map +1 -1
  802. package/esm/pn-profile-selector-option.entry.js +3 -3
  803. package/esm/pn-profile-selector-option.entry.js.map +1 -1
  804. package/esm/pn-profile-selector.entry.js +3 -3
  805. package/esm/pn-profile-selector.entry.js.map +1 -1
  806. package/esm/pn-proxio-findprice-result.entry.js +3 -3
  807. package/esm/pn-proxio-findprice-result.entry.js.map +1 -1
  808. package/esm/pn-proxio-findprice.entry.js +8 -7
  809. package/esm/pn-proxio-findprice.entry.js.map +1 -1
  810. package/esm/pn-proxio-pricegroup.entry.js +5 -4
  811. package/esm/pn-proxio-pricegroup.entry.js.map +1 -1
  812. package/esm/pn-proxio-productcard_4.entry.js +8 -8
  813. package/esm/pn-proxio-productcard_4.entry.js.map +1 -1
  814. package/esm/pn-qr-code-generator.entry.js +2941 -0
  815. package/esm/pn-qr-code-generator.entry.js.map +1 -0
  816. package/esm/pn-quick-cta.entry.js +2 -2
  817. package/esm/pn-quick-cta.entry.js.map +1 -1
  818. package/esm/pn-quote-card.entry.js +2 -2
  819. package/esm/pn-quote-card.entry.js.map +1 -1
  820. package/esm/pn-scroll_2.entry.js +2 -2
  821. package/esm/pn-scroll_2.entry.js.map +1 -1
  822. package/esm/pn-search.entry.js +50 -0
  823. package/esm/pn-search.entry.js.map +1 -0
  824. package/esm/pn-share-item.entry.js +2 -2
  825. package/esm/pn-share-item.entry.js.map +1 -1
  826. package/esm/pn-share.entry.js +2 -2
  827. package/esm/pn-share.entry.js.map +1 -1
  828. package/esm/pn-sidenav-level.entry.js +5 -5
  829. package/esm/pn-sidenav-level.entry.js.map +1 -1
  830. package/esm/pn-sidenav-link.entry.js +5 -5
  831. package/esm/pn-sidenav-link.entry.js.map +1 -1
  832. package/esm/{pn-sidenav-store-85bdb1e6.js → pn-sidenav-store-e2038d79.js} +2 -2
  833. package/esm/{pn-sidenav-store-85bdb1e6.js.map → pn-sidenav-store-e2038d79.js.map} +1 -1
  834. package/esm/pn-sidenav-togglebutton.entry.js +5 -5
  835. package/esm/pn-sidenav-togglebutton.entry.js.map +1 -1
  836. package/esm/pn-sidenav.entry.js +5 -5
  837. package/esm/pn-sidenav.entry.js.map +1 -1
  838. package/esm/pn-site-footer_3.entry.js +7 -7
  839. package/esm/pn-site-footer_3.entry.js.map +1 -1
  840. package/esm/pn-spotlight.entry.js +2 -2
  841. package/esm/pn-spotlight.entry.js.map +1 -1
  842. package/esm/pn-stats-info-data.entry.js +2 -2
  843. package/esm/pn-stats-info-data.entry.js.map +1 -1
  844. package/esm/pn-stats-info.entry.js +2 -2
  845. package/esm/pn-stats-info.entry.js.map +1 -1
  846. package/esm/pn-teaser-card.entry.js +5 -9
  847. package/esm/pn-teaser-card.entry.js.map +1 -1
  848. package/esm/pn-titletag.entry.js +3 -3
  849. package/esm/pn-titletag.entry.js.map +1 -1
  850. package/esm/pn-usp-promoter.entry.js +3 -3
  851. package/esm/pn-usp-promoter.entry.js.map +1 -1
  852. package/esm/pn-usp-simple.entry.js +52 -0
  853. package/esm/pn-usp-simple.entry.js.map +1 -0
  854. package/package.json +5 -3
  855. package/pn-market-web-components/index.esm.js +1 -1
  856. package/pn-market-web-components/index.esm.js.map +1 -1
  857. package/pn-market-web-components/p-015127bf.entry.js +2 -0
  858. package/pn-market-web-components/{p-c5772021.entry.js.map → p-015127bf.entry.js.map} +1 -1
  859. package/pn-market-web-components/p-04107723.entry.js +2 -0
  860. package/pn-market-web-components/p-04107723.entry.js.map +1 -0
  861. package/pn-market-web-components/p-08b473e0.entry.js +2 -0
  862. package/pn-market-web-components/{p-a38118be.entry.js.map → p-08b473e0.entry.js.map} +1 -1
  863. package/pn-market-web-components/p-0b5a125d.entry.js +2 -0
  864. package/pn-market-web-components/p-0b5a125d.entry.js.map +1 -0
  865. package/pn-market-web-components/p-0b920554.js +2 -0
  866. package/pn-market-web-components/p-0b920554.js.map +1 -0
  867. package/pn-market-web-components/p-0fc01d3f.entry.js +2 -0
  868. package/pn-market-web-components/{p-4fa5bc85.entry.js.map → p-0fc01d3f.entry.js.map} +1 -1
  869. package/pn-market-web-components/p-10776075.entry.js +2 -0
  870. package/pn-market-web-components/p-10776075.entry.js.map +1 -0
  871. package/pn-market-web-components/p-17c43a96.entry.js +2 -0
  872. package/pn-market-web-components/p-17c43a96.entry.js.map +1 -0
  873. package/pn-market-web-components/p-19bbac6d.entry.js +2 -0
  874. package/pn-market-web-components/{p-ea3d6f7e.entry.js.map → p-19bbac6d.entry.js.map} +1 -1
  875. package/pn-market-web-components/p-230ef9aa.entry.js +2 -0
  876. package/pn-market-web-components/{p-a419cd91.entry.js.map → p-230ef9aa.entry.js.map} +1 -1
  877. package/pn-market-web-components/p-268dc1fa.entry.js +2 -0
  878. package/pn-market-web-components/p-268dc1fa.entry.js.map +1 -0
  879. package/pn-market-web-components/p-28d2f7fa.entry.js +2 -0
  880. package/pn-market-web-components/p-28d2f7fa.entry.js.map +1 -0
  881. package/pn-market-web-components/p-292db484.entry.js +2 -0
  882. package/pn-market-web-components/{p-76e6708b.entry.js.map → p-292db484.entry.js.map} +1 -1
  883. package/pn-market-web-components/p-2a58d83b.entry.js +2 -0
  884. package/pn-market-web-components/{p-55643d76.entry.js.map → p-2a58d83b.entry.js.map} +1 -1
  885. package/pn-market-web-components/p-2c19edca.entry.js +2 -0
  886. package/pn-market-web-components/{p-72dbca40.entry.js.map → p-2c19edca.entry.js.map} +1 -1
  887. package/pn-market-web-components/p-2fd60147.entry.js +2 -0
  888. package/pn-market-web-components/p-2fd60147.entry.js.map +1 -0
  889. package/pn-market-web-components/p-3478f368.js +2 -0
  890. package/pn-market-web-components/p-3478f368.js.map +1 -0
  891. package/pn-market-web-components/p-34a98554.entry.js +2 -0
  892. package/pn-market-web-components/{p-cf39491b.entry.js.map → p-34a98554.entry.js.map} +1 -1
  893. package/pn-market-web-components/p-35847eda.entry.js +2 -0
  894. package/pn-market-web-components/{p-e6e012fb.entry.js.map → p-35847eda.entry.js.map} +1 -1
  895. package/pn-market-web-components/p-366fd15a.js +2 -0
  896. package/pn-market-web-components/p-366fd15a.js.map +1 -0
  897. package/pn-market-web-components/p-389a94e7.entry.js +2 -0
  898. package/pn-market-web-components/{p-190c6938.entry.js.map → p-389a94e7.entry.js.map} +1 -1
  899. package/pn-market-web-components/p-39b75c62.entry.js +2 -0
  900. package/pn-market-web-components/{p-530274ae.entry.js.map → p-39b75c62.entry.js.map} +1 -1
  901. package/pn-market-web-components/p-3d10bc37.entry.js +2 -0
  902. package/pn-market-web-components/{p-45d1e1be.entry.js.map → p-3d10bc37.entry.js.map} +1 -1
  903. package/pn-market-web-components/p-3e197670.entry.js +2 -0
  904. package/pn-market-web-components/{p-6a5f7dee.entry.js.map → p-3e197670.entry.js.map} +1 -1
  905. package/pn-market-web-components/p-40bce1b1.entry.js +2 -0
  906. package/pn-market-web-components/p-40bce1b1.entry.js.map +1 -0
  907. package/pn-market-web-components/p-41cdac85.entry.js +2 -0
  908. package/pn-market-web-components/{p-65ab3003.entry.js.map → p-41cdac85.entry.js.map} +1 -1
  909. package/pn-market-web-components/p-4aedb76c.entry.js +2 -0
  910. package/pn-market-web-components/{p-ea7b0d21.entry.js.map → p-4aedb76c.entry.js.map} +1 -1
  911. package/pn-market-web-components/p-4e924d13.entry.js +2 -0
  912. package/pn-market-web-components/p-4e924d13.entry.js.map +1 -0
  913. package/pn-market-web-components/p-4f639380.entry.js +2 -0
  914. package/pn-market-web-components/{p-aeeabb32.entry.js.map → p-4f639380.entry.js.map} +1 -1
  915. package/pn-market-web-components/p-51f136f3.entry.js +2 -0
  916. package/pn-market-web-components/p-51f136f3.entry.js.map +1 -0
  917. package/pn-market-web-components/p-542f949d.entry.js +2 -0
  918. package/pn-market-web-components/{p-77a35f5e.entry.js.map → p-542f949d.entry.js.map} +1 -1
  919. package/pn-market-web-components/p-5a981927.entry.js +2 -0
  920. package/pn-market-web-components/{p-b35cdbac.entry.js.map → p-5a981927.entry.js.map} +1 -1
  921. package/pn-market-web-components/p-5f4ccd8a.js +2 -0
  922. package/pn-market-web-components/p-5f4ccd8a.js.map +1 -0
  923. package/pn-market-web-components/p-60b77eed.entry.js +2 -0
  924. package/pn-market-web-components/{p-e916e99d.entry.js.map → p-60b77eed.entry.js.map} +1 -1
  925. package/pn-market-web-components/p-619f2143.entry.js +2 -0
  926. package/pn-market-web-components/{p-a6866467.entry.js.map → p-619f2143.entry.js.map} +1 -1
  927. package/pn-market-web-components/p-61bd81d7.entry.js +2 -0
  928. package/pn-market-web-components/{p-8c26b98d.entry.js.map → p-61bd81d7.entry.js.map} +1 -1
  929. package/pn-market-web-components/p-64851da0.entry.js +2 -0
  930. package/pn-market-web-components/{p-776f3d51.entry.js.map → p-64851da0.entry.js.map} +1 -1
  931. package/pn-market-web-components/p-659a4db5.entry.js +2 -0
  932. package/pn-market-web-components/{p-231b97e1.entry.js.map → p-659a4db5.entry.js.map} +1 -1
  933. package/pn-market-web-components/p-65a046be.entry.js +2 -0
  934. package/pn-market-web-components/{p-0ec8d040.entry.js.map → p-65a046be.entry.js.map} +1 -1
  935. package/pn-market-web-components/p-66da6e15.entry.js +2 -0
  936. package/pn-market-web-components/{p-62cabd1e.entry.js.map → p-66da6e15.entry.js.map} +1 -1
  937. package/pn-market-web-components/{p-65f243c1.js → p-6b1d045c.js} +2 -2
  938. package/pn-market-web-components/p-6b1d045c.js.map +1 -0
  939. package/pn-market-web-components/p-71db6836.entry.js +2 -0
  940. package/pn-market-web-components/{p-3fb8e665.entry.js.map → p-71db6836.entry.js.map} +1 -1
  941. package/pn-market-web-components/p-72828265.js +2 -0
  942. package/pn-market-web-components/p-72f57a04.entry.js +2 -0
  943. package/pn-market-web-components/{p-25d53df2.entry.js.map → p-72f57a04.entry.js.map} +1 -1
  944. package/pn-market-web-components/p-763a4e13.entry.js +2 -0
  945. package/pn-market-web-components/{p-fc157a1e.entry.js.map → p-763a4e13.entry.js.map} +1 -1
  946. package/pn-market-web-components/p-76c2c01f.js +2 -0
  947. package/pn-market-web-components/p-76c2c01f.js.map +1 -0
  948. package/pn-market-web-components/{p-e09a907b.js → p-793e1339.js} +2 -2
  949. package/pn-market-web-components/p-79e4715c.entry.js +2 -0
  950. package/pn-market-web-components/{p-6647d2c4.entry.js.map → p-79e4715c.entry.js.map} +1 -1
  951. package/pn-market-web-components/p-7b4f9fdf.entry.js +2 -0
  952. package/pn-market-web-components/{p-066e9db9.entry.js.map → p-7b4f9fdf.entry.js.map} +1 -1
  953. package/pn-market-web-components/p-7b7629c5.entry.js +2 -0
  954. package/pn-market-web-components/{p-24086c59.entry.js.map → p-7b7629c5.entry.js.map} +1 -1
  955. package/pn-market-web-components/p-7db6ef34.entry.js +2 -0
  956. package/pn-market-web-components/{p-4e3059dd.entry.js.map → p-7db6ef34.entry.js.map} +1 -1
  957. package/pn-market-web-components/p-809ed802.entry.js +2 -0
  958. package/pn-market-web-components/p-809ed802.entry.js.map +1 -0
  959. package/pn-market-web-components/p-82546a44.js +3 -0
  960. package/pn-market-web-components/p-82546a44.js.map +1 -0
  961. package/pn-market-web-components/p-84fc8e05.entry.js +2 -0
  962. package/pn-market-web-components/{p-25dfc349.entry.js.map → p-84fc8e05.entry.js.map} +1 -1
  963. package/pn-market-web-components/p-85b42b44.entry.js +2 -0
  964. package/pn-market-web-components/{p-e8278e9e.entry.js.map → p-85b42b44.entry.js.map} +1 -1
  965. package/pn-market-web-components/{p-2509d18d.js → p-8836de82.js} +2 -2
  966. package/pn-market-web-components/{p-560e5291.entry.js → p-8a651698.entry.js} +2 -2
  967. package/pn-market-web-components/p-8d78b631.js +2 -0
  968. package/pn-market-web-components/p-8d78b631.js.map +1 -0
  969. package/pn-market-web-components/p-8d874454.entry.js +2 -0
  970. package/pn-market-web-components/{p-b5a0275d.entry.js.map → p-8d874454.entry.js.map} +1 -1
  971. package/pn-market-web-components/p-8d98f709.entry.js +2 -0
  972. package/pn-market-web-components/{p-74fd7435.entry.js.map → p-8d98f709.entry.js.map} +1 -1
  973. package/pn-market-web-components/p-9088d3f5.entry.js +2 -0
  974. package/pn-market-web-components/{p-a72c2729.entry.js.map → p-9088d3f5.entry.js.map} +1 -1
  975. package/pn-market-web-components/p-920ce5f2.entry.js +2 -0
  976. package/pn-market-web-components/p-920ce5f2.entry.js.map +1 -0
  977. package/pn-market-web-components/{p-959a37d9.js → p-930e2943.js} +2 -2
  978. package/pn-market-web-components/p-9454075f.entry.js +2 -0
  979. package/pn-market-web-components/{p-45b8cadb.entry.js.map → p-9454075f.entry.js.map} +1 -1
  980. package/pn-market-web-components/p-95d32ab4.entry.js +2 -0
  981. package/pn-market-web-components/{p-758f1b53.entry.js.map → p-95d32ab4.entry.js.map} +1 -1
  982. package/pn-market-web-components/p-a079c496.js +2 -0
  983. package/pn-market-web-components/p-a079c496.js.map +1 -0
  984. package/pn-market-web-components/{p-eaee1dd6.entry.js → p-a73e4811.entry.js} +2 -2
  985. package/pn-market-web-components/{p-eaee1dd6.entry.js.map → p-a73e4811.entry.js.map} +1 -1
  986. package/pn-market-web-components/p-ad282b7c.entry.js +2 -0
  987. package/pn-market-web-components/{p-4d2ca281.entry.js.map → p-ad282b7c.entry.js.map} +1 -1
  988. package/pn-market-web-components/{p-155c2049.entry.js → p-ad9a7633.entry.js} +2 -2
  989. package/pn-market-web-components/p-b9590d81.entry.js +2 -0
  990. package/pn-market-web-components/{p-59549c74.entry.js.map → p-b9590d81.entry.js.map} +1 -1
  991. package/pn-market-web-components/p-c4e353b3.entry.js +2 -0
  992. package/pn-market-web-components/{p-5a1b6e6d.entry.js.map → p-c4e353b3.entry.js.map} +1 -1
  993. package/pn-market-web-components/p-c89cb749.entry.js +2 -0
  994. package/pn-market-web-components/{p-95519556.entry.js.map → p-c89cb749.entry.js.map} +1 -1
  995. package/pn-market-web-components/p-c9038b03.entry.js +2 -0
  996. package/pn-market-web-components/{p-64d0dbba.entry.js.map → p-c9038b03.entry.js.map} +1 -1
  997. package/pn-market-web-components/p-cbb1d57d.entry.js +2 -0
  998. package/pn-market-web-components/{p-6fdd5b5a.entry.js.map → p-cbb1d57d.entry.js.map} +1 -1
  999. package/pn-market-web-components/p-cc7c596e.entry.js +2 -0
  1000. package/pn-market-web-components/p-cc7c596e.entry.js.map +1 -0
  1001. package/pn-market-web-components/p-cda742ba.entry.js +2 -0
  1002. package/pn-market-web-components/p-cda742ba.entry.js.map +1 -0
  1003. package/pn-market-web-components/p-ce87ff8a.entry.js +2 -0
  1004. package/pn-market-web-components/{p-e2e3ac2f.entry.js.map → p-ce87ff8a.entry.js.map} +1 -1
  1005. package/pn-market-web-components/p-cf8a1fb9.js +2 -0
  1006. package/pn-market-web-components/p-cf8a1fb9.js.map +1 -0
  1007. package/pn-market-web-components/p-d17af75d.entry.js +2 -0
  1008. package/pn-market-web-components/{p-b693f78a.entry.js.map → p-d17af75d.entry.js.map} +1 -1
  1009. package/pn-market-web-components/p-d5c45da2.entry.js +2 -0
  1010. package/pn-market-web-components/{p-e5ae757f.entry.js.map → p-d5c45da2.entry.js.map} +1 -1
  1011. package/pn-market-web-components/p-d7170c0e.entry.js +2 -0
  1012. package/pn-market-web-components/{p-d0a085cc.entry.js.map → p-d7170c0e.entry.js.map} +1 -1
  1013. package/pn-market-web-components/p-d75a2f7c.entry.js +2 -0
  1014. package/pn-market-web-components/p-d75a2f7c.entry.js.map +1 -0
  1015. package/pn-market-web-components/p-daa74e60.entry.js +2 -0
  1016. package/pn-market-web-components/{p-7076038b.entry.js.map → p-daa74e60.entry.js.map} +1 -1
  1017. package/pn-market-web-components/p-dc2ee6f8.entry.js +2 -0
  1018. package/pn-market-web-components/p-dc2ee6f8.entry.js.map +1 -0
  1019. package/pn-market-web-components/p-e733f44f.entry.js +2 -0
  1020. package/pn-market-web-components/p-e733f44f.entry.js.map +1 -0
  1021. package/pn-market-web-components/p-e8622338.entry.js +2 -0
  1022. package/pn-market-web-components/{p-b9505c69.entry.js.map → p-e8622338.entry.js.map} +1 -1
  1023. package/pn-market-web-components/p-eb21f772.entry.js +2 -0
  1024. package/pn-market-web-components/p-eb21f772.entry.js.map +1 -0
  1025. package/pn-market-web-components/p-efab81a9.entry.js +2 -0
  1026. package/pn-market-web-components/p-efab81a9.entry.js.map +1 -0
  1027. package/pn-market-web-components/{p-278cda98.entry.js → p-f0df7694.entry.js} +4 -4
  1028. package/pn-market-web-components/{p-278cda98.entry.js.map → p-f0df7694.entry.js.map} +1 -1
  1029. package/pn-market-web-components/p-f21311ad.entry.js +2 -0
  1030. package/pn-market-web-components/{p-545c24c0.entry.js.map → p-f21311ad.entry.js.map} +1 -1
  1031. package/pn-market-web-components/p-f28059f4.entry.js +2 -0
  1032. package/pn-market-web-components/{p-856c235c.entry.js.map → p-f28059f4.entry.js.map} +1 -1
  1033. package/pn-market-web-components/p-f28d0971.entry.js +2 -0
  1034. package/pn-market-web-components/{p-54f3a3b6.entry.js.map → p-f28d0971.entry.js.map} +1 -1
  1035. package/pn-market-web-components/p-f4b14be8.entry.js +2 -0
  1036. package/pn-market-web-components/{p-1ec21bd6.entry.js.map → p-f4b14be8.entry.js.map} +1 -1
  1037. package/pn-market-web-components/p-f5d03222.entry.js +2 -0
  1038. package/pn-market-web-components/{p-90242f18.entry.js.map → p-f5d03222.entry.js.map} +1 -1
  1039. package/pn-market-web-components/{p-8af1b914.js → p-f9083b7a.js} +2 -2
  1040. package/pn-market-web-components/{p-cafe11a9.js → p-fb4cdf98.js} +2 -2
  1041. package/pn-market-web-components/p-fe466661.js +2 -0
  1042. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  1043. package/pn-market-web-components/pn-market-web-components.esm.js.map +1 -1
  1044. package/types/components/cards/pn-teaser-card/pn-teaser-card.d.ts +1 -1
  1045. package/types/components/input/pn-address-autofill/pn-address-autofill.d.ts +2 -3
  1046. package/types/components/input/pn-address-autofill/translations.d.ts +3 -0
  1047. package/types/components/input/pn-marketweb-search/pn-marketweb-search.d.ts +1 -1
  1048. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.d.ts +0 -2
  1049. package/types/components/media/pn-media-block/pn-media-block.d.ts +1 -1
  1050. package/types/components/widgets/pn-chat/pn-chat-message/pn-chat-message.d.ts +10 -0
  1051. package/types/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.d.ts +7 -0
  1052. package/types/components/widgets/pn-chat/pn-chat-stories-constants.d.ts +164 -0
  1053. package/types/components/widgets/pn-chat/pn-chat.d.ts +72 -0
  1054. package/types/components/widgets/pn-chat/pn-chat.models.d.ts +22 -0
  1055. package/types/components/widgets/pn-chat/pn-chat.service.d.ts +26 -0
  1056. package/types/components/widgets/pn-chat/pn-chat.stories.d.ts +8 -0
  1057. package/types/components/widgets/pn-chat/translations.d.ts +77 -0
  1058. package/types/components/widgets/pn-chat/types.d.ts +68 -0
  1059. package/types/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.d.ts +23 -0
  1060. package/types/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.d.ts +5 -0
  1061. package/types/components/widgets/pn-level-up/pn-level-up.d.ts +43 -0
  1062. package/types/components/widgets/pn-level-up/pn-level-up.models.d.ts +22 -0
  1063. package/types/components/widgets/pn-level-up/pn-level-up.service.d.ts +16 -0
  1064. package/types/components/widgets/pn-level-up/pn-level-up.stories.d.ts +7 -0
  1065. package/types/components/widgets/pn-level-up/types.d.ts +1 -0
  1066. package/types/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.d.ts +48 -0
  1067. package/types/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.d.ts +7 -0
  1068. package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.d.ts +55 -0
  1069. package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.service.d.ts +11 -0
  1070. package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.d.ts +26 -0
  1071. package/types/components/widgets/pn-marketweb-table/translations.d.ts +72 -0
  1072. package/types/components/widgets/pn-marketweb-table/types.d.ts +38 -0
  1073. package/types/components/widgets/pn-qr-code-generator/pn-qr-code-generator.d.ts +23 -0
  1074. package/types/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.d.ts +5 -0
  1075. package/types/components/widgets/pn-search/pn-search.d.ts +29 -0
  1076. package/types/components/widgets/pn-search/pn-search.stories.d.ts +7 -0
  1077. package/types/components/widgets/pn-usp-simple/pn-usp-simple.d.ts +19 -0
  1078. package/types/components/widgets/pn-usp-simple/pn-usp-simple.stories.d.ts +7 -0
  1079. package/types/components.d.ts +393 -8
  1080. package/types/globals/HeadingTag.d.ts +1 -1
  1081. package/types/globals/LocalStorageService.d.ts +14 -0
  1082. package/types/globals/ScreensizeDetect.d.ts +29 -0
  1083. package/types/globals/types.d.ts +18 -0
  1084. package/types/utils/utils.d.ts +1 -0
  1085. package/umd/pn-marketweb-init.js +1 -1
  1086. package/umd/pn-marketweb-salesforce.js +1 -1
  1087. package/vscode-data.json +677 -3
  1088. package/cjs/FetchHelper-e951824f.js.map +0 -1
  1089. package/cjs/index-34e1c673.js.map +0 -1
  1090. package/cjs/pn-marketweb-siteheader-login-button_5.cjs.entry.js.map +0 -1
  1091. package/components/pn-marketweb-siteheader-login-mypage-button2.js +0 -38
  1092. package/components/pn-marketweb-siteheader-login-mypage-button2.js.map +0 -1
  1093. package/esm/FetchHelper-746f2bb6.js.map +0 -1
  1094. package/esm/index-51d67461.js.map +0 -1
  1095. package/esm/pn-marketweb-siteheader-login-button_5.entry.js.map +0 -1
  1096. package/pn-market-web-components/p-066e9db9.entry.js +0 -2
  1097. package/pn-market-web-components/p-0ec8d040.entry.js +0 -2
  1098. package/pn-market-web-components/p-13190b30.js +0 -2
  1099. package/pn-market-web-components/p-190c6938.entry.js +0 -2
  1100. package/pn-market-web-components/p-1ec21bd6.entry.js +0 -2
  1101. package/pn-market-web-components/p-231b97e1.entry.js +0 -2
  1102. package/pn-market-web-components/p-23d69d70.entry.js +0 -2
  1103. package/pn-market-web-components/p-23d69d70.entry.js.map +0 -1
  1104. package/pn-market-web-components/p-24086c59.entry.js +0 -2
  1105. package/pn-market-web-components/p-25d53df2.entry.js +0 -2
  1106. package/pn-market-web-components/p-25dfc349.entry.js +0 -2
  1107. package/pn-market-web-components/p-2b03a4e1.entry.js +0 -2
  1108. package/pn-market-web-components/p-2b03a4e1.entry.js.map +0 -1
  1109. package/pn-market-web-components/p-3fb8e665.entry.js +0 -2
  1110. package/pn-market-web-components/p-45b8cadb.entry.js +0 -2
  1111. package/pn-market-web-components/p-45d1e1be.entry.js +0 -2
  1112. package/pn-market-web-components/p-4d2ca281.entry.js +0 -2
  1113. package/pn-market-web-components/p-4e3059dd.entry.js +0 -2
  1114. package/pn-market-web-components/p-4fa5bc85.entry.js +0 -2
  1115. package/pn-market-web-components/p-530274ae.entry.js +0 -2
  1116. package/pn-market-web-components/p-545c24c0.entry.js +0 -2
  1117. package/pn-market-web-components/p-54f3a3b6.entry.js +0 -2
  1118. package/pn-market-web-components/p-55643d76.entry.js +0 -2
  1119. package/pn-market-web-components/p-572c4d81.entry.js +0 -2
  1120. package/pn-market-web-components/p-572c4d81.entry.js.map +0 -1
  1121. package/pn-market-web-components/p-59549c74.entry.js +0 -2
  1122. package/pn-market-web-components/p-59cb7166.entry.js +0 -2
  1123. package/pn-market-web-components/p-59cb7166.entry.js.map +0 -1
  1124. package/pn-market-web-components/p-5a1b6e6d.entry.js +0 -2
  1125. package/pn-market-web-components/p-5d06e48f.entry.js +0 -2
  1126. package/pn-market-web-components/p-5d06e48f.entry.js.map +0 -1
  1127. package/pn-market-web-components/p-62cabd1e.entry.js +0 -2
  1128. package/pn-market-web-components/p-64d0dbba.entry.js +0 -2
  1129. package/pn-market-web-components/p-652f97b9.js +0 -2
  1130. package/pn-market-web-components/p-65ab3003.entry.js +0 -2
  1131. package/pn-market-web-components/p-65f243c1.js.map +0 -1
  1132. package/pn-market-web-components/p-6647d2c4.entry.js +0 -2
  1133. package/pn-market-web-components/p-6a5f7dee.entry.js +0 -2
  1134. package/pn-market-web-components/p-6fdd5b5a.entry.js +0 -2
  1135. package/pn-market-web-components/p-7076038b.entry.js +0 -2
  1136. package/pn-market-web-components/p-725aba56.entry.js +0 -2
  1137. package/pn-market-web-components/p-725aba56.entry.js.map +0 -1
  1138. package/pn-market-web-components/p-72dbca40.entry.js +0 -2
  1139. package/pn-market-web-components/p-74fd7435.entry.js +0 -2
  1140. package/pn-market-web-components/p-758f1b53.entry.js +0 -2
  1141. package/pn-market-web-components/p-76e6708b.entry.js +0 -2
  1142. package/pn-market-web-components/p-776f3d51.entry.js +0 -2
  1143. package/pn-market-web-components/p-77a35f5e.entry.js +0 -2
  1144. package/pn-market-web-components/p-7c3091eb.entry.js +0 -2
  1145. package/pn-market-web-components/p-7c3091eb.entry.js.map +0 -1
  1146. package/pn-market-web-components/p-856c235c.entry.js +0 -2
  1147. package/pn-market-web-components/p-8c26b98d.entry.js +0 -2
  1148. package/pn-market-web-components/p-90242f18.entry.js +0 -2
  1149. package/pn-market-web-components/p-94a69959.entry.js +0 -2
  1150. package/pn-market-web-components/p-94a69959.entry.js.map +0 -1
  1151. package/pn-market-web-components/p-95519556.entry.js +0 -2
  1152. package/pn-market-web-components/p-a38118be.entry.js +0 -2
  1153. package/pn-market-web-components/p-a419cd91.entry.js +0 -2
  1154. package/pn-market-web-components/p-a54a298b.entry.js +0 -2
  1155. package/pn-market-web-components/p-a54a298b.entry.js.map +0 -1
  1156. package/pn-market-web-components/p-a6866467.entry.js +0 -2
  1157. package/pn-market-web-components/p-a72c2729.entry.js +0 -2
  1158. package/pn-market-web-components/p-aeeabb32.entry.js +0 -2
  1159. package/pn-market-web-components/p-b35cdbac.entry.js +0 -2
  1160. package/pn-market-web-components/p-b5a0275d.entry.js +0 -2
  1161. package/pn-market-web-components/p-b693f78a.entry.js +0 -2
  1162. package/pn-market-web-components/p-b9340e9c.entry.js +0 -2
  1163. package/pn-market-web-components/p-b9340e9c.entry.js.map +0 -1
  1164. package/pn-market-web-components/p-b9505c69.entry.js +0 -2
  1165. package/pn-market-web-components/p-bb1c965e.js +0 -3
  1166. package/pn-market-web-components/p-bb1c965e.js.map +0 -1
  1167. package/pn-market-web-components/p-c5772021.entry.js +0 -2
  1168. package/pn-market-web-components/p-cf39491b.entry.js +0 -2
  1169. package/pn-market-web-components/p-d0a085cc.entry.js +0 -2
  1170. package/pn-market-web-components/p-e2e3ac2f.entry.js +0 -2
  1171. package/pn-market-web-components/p-e5ae757f.entry.js +0 -2
  1172. package/pn-market-web-components/p-e6e012fb.entry.js +0 -2
  1173. package/pn-market-web-components/p-e8278e9e.entry.js +0 -2
  1174. package/pn-market-web-components/p-e916e99d.entry.js +0 -2
  1175. package/pn-market-web-components/p-ea3d6f7e.entry.js +0 -2
  1176. package/pn-market-web-components/p-ea7b0d21.entry.js +0 -2
  1177. package/pn-market-web-components/p-fc157a1e.entry.js +0 -2
  1178. /package/pn-market-web-components/{p-652f97b9.js.map → p-72828265.js.map} +0 -0
  1179. /package/pn-market-web-components/{p-e09a907b.js.map → p-793e1339.js.map} +0 -0
  1180. /package/pn-market-web-components/{p-2509d18d.js.map → p-8836de82.js.map} +0 -0
  1181. /package/pn-market-web-components/{p-560e5291.entry.js.map → p-8a651698.entry.js.map} +0 -0
  1182. /package/pn-market-web-components/{p-959a37d9.js.map → p-930e2943.js.map} +0 -0
  1183. /package/pn-market-web-components/{p-155c2049.entry.js.map → p-ad9a7633.entry.js.map} +0 -0
  1184. /package/pn-market-web-components/{p-8af1b914.js.map → p-f9083b7a.js.map} +0 -0
  1185. /package/pn-market-web-components/{p-cafe11a9.js.map → p-fb4cdf98.js.map} +0 -0
  1186. /package/pn-market-web-components/{p-13190b30.js.map → p-fe466661.js.map} +0 -0
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, c as createEvent, g as getElement, h, d as Host } from './index-51d67461.js';
1
+ import { r as registerInstance, c as createEvent, g as getElement, h, d as Host } from './index-c311acd6.js';
2
2
  import { d as debounce } from './index-1190bec4.js';
3
3
 
4
- const pnDropdownChoiceAddsRowCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-dropdown-choice-adds-row{display:block;width:80rem}pn-dropdown-choice-adds-row .pn-row-select-dropdown{width:50%;margin-bottom:1rem}@media only screen and (max-width: 640px){pn-dropdown-choice-adds-row .pn-row-select-dropdown{width:100%}}pn-dropdown-choice-adds-row .pn-dropdown-choice-table{width:100%;border-spacing:0rem;border:none !important}pn-dropdown-choice-adds-row .pn-dropdown-choice-table thead th{text-align:left;padding:1rem 0.5rem}pn-dropdown-choice-adds-row .pn-dropdown-choice-table thead th label{color:#5e554a;font-size:1.4rem;font-weight:400}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .generated-table-row{display:flex;margin-bottom:2rem}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header{display:flex;margin:2rem 0 3rem 0;font-weight:500}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-dropdown,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-column,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-name,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-dropdown,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-column,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-name{padding-right:0.5rem;width:35%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-dropdown pn-select,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-column pn-select,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-name pn-select,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-dropdown pn-select,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-column pn-select,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-name pn-select{width:95%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-input,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-input{width:15%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-input pn-input,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-input pn-input{width:100%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-delete,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-delete{margin:1rem;width:15%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tbody td{padding:0.5rem}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tbody tr:nth-child(even){background-color:#effbff}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tbody .tr-delete{text-align:center}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tfoot td small{color:#a70707;vertical-align:middle}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tfoot td pn-icon{margin-right:0.25em;vertical-align:middle}";
4
+ const pnDropdownChoiceAddsRowCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-dropdown-choice-adds-row{display:block;width:80rem}pn-dropdown-choice-adds-row .pn-row-select-dropdown{width:50%;margin-bottom:1rem}@media only screen and (max-width: 640px){pn-dropdown-choice-adds-row .pn-row-select-dropdown{width:100%}}pn-dropdown-choice-adds-row .pn-dropdown-choice-table{width:100%;border-spacing:0rem;border:none !important}pn-dropdown-choice-adds-row .pn-dropdown-choice-table thead th{text-align:left;padding:1rem 0.5rem}pn-dropdown-choice-adds-row .pn-dropdown-choice-table thead th label{color:#5e554a;font-size:1.4rem;font-weight:400}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .generated-table-row{display:flex;margin-bottom:2rem}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header{display:flex;margin:2rem 0 3rem 0;font-weight:500}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-dropdown,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-column,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-name,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-dropdown,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-column,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-name{padding-right:0.5rem;width:35%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-dropdown pn-select,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-column pn-select,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-name pn-select,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-dropdown pn-select,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-column pn-select,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-name pn-select{width:95%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-input,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-input{width:15%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-input pn-input,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-input pn-input{width:100%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table .table-header-delete,pn-dropdown-choice-adds-row .pn-dropdown-choice-table .tr-delete{margin:1rem;width:15%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tbody td{padding:0.5rem}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tbody tr:nth-child(even){background-color:#effbff}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tbody .tr-delete{text-align:center}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tfoot td small{color:#a70707;vertical-align:middle}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tfoot td pn-icon{margin-right:0.25em;vertical-align:middle}";
5
5
  const PnDropdownChoiceAddsRowStyle0 = pnDropdownChoiceAddsRowCss;
6
6
 
7
7
  const pnDropdownChoiceAddsRow = class {
@@ -88,12 +88,14 @@ const pnDropdownChoiceAddsRow = class {
88
88
  this.rowvalues.emit('');
89
89
  return;
90
90
  }
91
+ let allRowsValid = true;
91
92
  const formValues = allRows.map(row => {
92
93
  const nameElm = row.querySelector('.tr-name');
93
94
  const dropdownElm = row.querySelector('.tr-dropdown');
94
95
  const inputElm = row.querySelector('.tr-input');
95
96
  if (!nameElm || !inputElm) {
96
- throw new Error('Required elements missing from row');
97
+ allRowsValid = false;
98
+ return null;
97
99
  }
98
100
  const rowData = {
99
101
  row: [
@@ -103,11 +105,14 @@ const pnDropdownChoiceAddsRow = class {
103
105
  }
104
106
  ]
105
107
  };
106
- if (dropdownElm) {
108
+ if (dropdownElm && dropdownElm.querySelector('pn-select')) {
107
109
  const pnSelect = dropdownElm.querySelector('pn-select');
108
110
  const nativeSelect = pnSelect?.querySelector('select');
109
111
  const dropdownSelection = nativeSelect?.value || '';
110
- if (dropdownSelection) {
112
+ if (!dropdownSelection) {
113
+ allRowsValid = false;
114
+ }
115
+ else {
111
116
  rowData.row.push({
112
117
  name: this.rowDropdownLabel,
113
118
  value: dropdownSelection
@@ -122,16 +127,22 @@ const pnDropdownChoiceAddsRow = class {
122
127
  value: inputValue.toString()
123
128
  });
124
129
  }
130
+ else {
131
+ allRowsValid = false;
132
+ }
125
133
  return rowData;
126
134
  });
127
- if (!formValues.length || formValues.length !== allRows.length) {
135
+ if (!allRowsValid || !formValues.length || formValues.includes(null)) {
128
136
  this.formValue = '';
137
+ this.rowvalues.emit('');
129
138
  return;
130
139
  }
131
140
  this.formValue = `PN-JSON|${JSON.stringify(formValues)}`;
132
141
  if (this.validateInputs()) {
133
142
  this.rowvalues.emit(this.formValue);
134
- return;
143
+ }
144
+ else {
145
+ this.rowvalues.emit('');
135
146
  }
136
147
  }
137
148
  catch (error) {
@@ -179,6 +190,7 @@ const pnDropdownChoiceAddsRow = class {
179
190
  this.tableBody.appendChild(newRow);
180
191
  this.updateRowSelectDropdown();
181
192
  this.nextRowIndex++;
193
+ selectedElement.value = '';
182
194
  }
183
195
  getCurrentRow(selectedValue) {
184
196
  return this.hostElement.querySelectorAll(`.tr-name[data-name='${selectedValue}'`);
@@ -317,7 +329,7 @@ const pnDropdownChoiceAddsRow = class {
317
329
  return true;
318
330
  }
319
331
  render() {
320
- return (h(Host, { key: 'fd91d96d714f89cab04d27588c78c933e4758a29' }, h("div", { key: '3c8c900cc143afe7331b5717649d0ceef3fb1b97', class: "dropdown-choice-form-row" }, h("pn-select", { key: '42cf006bfd234c61e115bb3fd90d8fa5bc9b937f', ref: el => (this.pnRowSelectDropdown = el), name: this.addRowDropdownName, label: this.addRowDropdownLabel, class: "pn-row-select-dropdown", language: this.languageCode }, h("option", { key: 'aa923ce23c5e94ac3ee98701b33a83461cdd40d9', value: "", selected: true, disabled: true }, this.addRowDropdownPlaceholder), this.rowSelectDropdownArr?.map((value) => h("option", { label: value, value: value }, value)))), h("div", { key: '41cd6fc5cca7544033bbb7e811da28a92f631f44', class: "dropdown-choice-form-row" }, h("div", { key: 'a76149b35b83be8964ac9e0177d5677f7bdb9c39', class: "pn-dropdown-choice-table" }, h("div", { key: '417b71529a5491b4e8900b800bbbf89fe2ef0c6d', ref: el => (this.tableHead = el) }, this.nextRowIndex === 0 ? null : (h("div", { class: "table-header" }, h("div", { class: "table-header-name" }, h("label", null, this.rowNameLabel)), h("div", { class: "table-header-dropdown" }, h("label", null, this.rowDropdownLabel)), h("div", { class: "table-header-input" }, h("label", null, this.rowInputLabel)), h("div", { class: "table-header-delete" })))), h("div", { key: '7ff98dc256a4aa7a613ac06474b18fc7f9458aeb', ref: el => (this.tableBody = el), class: "pn-dropdown-choice-table-slot" }, h("slot", { key: '659095efebf6f2b123b4586b2d2913431b1cc6c2' }))))));
332
+ return (h(Host, { key: '4d75a1a804885406d9bf70647ee031b283001316' }, h("div", { key: '4db2eab15b25d322bd8081f22fa0dfb4e40ff1d8', class: "dropdown-choice-form-row" }, h("pn-select", { key: '34479df6fd80391a95628b34a9d3d4007a43700a', ref: el => (this.pnRowSelectDropdown = el), name: this.addRowDropdownName, label: this.addRowDropdownLabel, class: "pn-row-select-dropdown", language: this.languageCode }, h("option", { key: 'c445488973b9c7127a55f0f83cfb46276f3a165e', value: "", selected: true, disabled: true }, this.addRowDropdownPlaceholder), this.rowSelectDropdownArr?.map((value) => h("option", { label: value, value: value }, value)))), h("div", { key: '15abdc5dae3056d3e81069c01e67245aacba5c59', class: "dropdown-choice-form-row" }, h("div", { key: '2386cfc37b14b5769e095596f191054b2fb3e0af', class: "pn-dropdown-choice-table" }, h("div", { key: '123b39e0fc0dba53aa35da0dea41178f77633c76', ref: el => (this.tableHead = el) }, this.nextRowIndex === 0 ? null : (h("div", { class: "table-header" }, h("div", { class: "table-header-name" }, h("label", null, this.rowNameLabel)), h("div", { class: "table-header-dropdown" }, h("label", null, this.rowDropdownLabel)), h("div", { class: "table-header-input" }, h("label", null, this.rowInputLabel)), h("div", { class: "table-header-delete" })))), h("div", { key: '8d6e932979cd2065cbf77a70e74e30d087351b24', ref: el => (this.tableBody = el), class: "pn-dropdown-choice-table-slot" }, h("slot", { key: '8957b9b3b30d090c51bc993ff4676f91a2846a15' }))))));
321
333
  }
322
334
  static get watchers() { return {
323
335
  "dropdownData": ["dropdownDataWatcher"]
@@ -1 +1 @@
1
- {"file":"pn-dropdown-choice-adds-row.entry.js","mappings":"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","names":[],"sources":["src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.scss?tag=pn-dropdown-choice-adds-row","src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-choice-adds-row {\n display: block;\n width: 80rem;\n\n .pn-row-select-dropdown {\n width: 50%;\n margin-bottom: 1rem;\n }\n\n @media only screen and (max-width: 640px) {\n .pn-row-select-dropdown {\n width: 100%;\n }\n }\n\n .pn-dropdown-choice-table {\n width: 100%;\n border-spacing: 0rem;\n border: none !important;\n\n thead {\n th {\n text-align: left;\n padding: 1rem 0.5rem;\n\n label {\n color: $gray700;\n font-size: 1.4rem;\n font-weight: 400;\n }\n }\n }\n \n .generated-table-row {\n display: flex;\n margin-bottom: 2rem;\n }\n\n .table-header {\n display: flex;\n margin: 2rem 0 3rem 0;\n font-weight: 500;\n }\n\n .table-header, .tr {\n &-dropdown, &-column, &-name {\n padding-right: 0.5rem;\n width: 35%;\n\n pn-select {\n width: 95%;\n }\n }\n\n &-input {\n width: 15%;\n\n pn-input {\n width: 100%;\n }\n }\n\n &-delete {\n margin: 1rem;\n width: 15%;\n }\n }\n\n tbody {\n td {\n padding: 0.5rem;\n }\n\n tr:nth-child(even) {\n background-color: #effbff;\n }\n\n .tr-delete {\n text-align: center;\n }\n }\n\n tfoot {\n td {\n small {\n color: $warning;\n vertical-align: middle;\n }\n\n pn-icon {\n margin-right: 0.25em;\n vertical-align: middle;\n }\n }\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter } from '@stencil/core';\nimport { FormValue, RowValue, Root } from './types';\nimport debounce from 'debounce';\n\n@Component({\n tag: 'pn-dropdown-choice-adds-row',\n styleUrl: 'pn-dropdown-choice-adds-row.scss',\n})\nexport class pnDropdownChoiceAddsRow {\n @Element() hostElement: Element;\n pnRowSelectDropdown: HTMLElement = null;\n tableHead: HTMLElement = null;\n tableBody: HTMLElement = null;\n private _dropdownData: Root[];\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() addRowDropdownName: string = '';\n @Prop() addRowDropdownPlaceholder: string = '';\n @Prop() addRowDropdownLabel: string = '';\n @Prop() rowNameLabel: string = '';\n @Prop() rowHasDropdown: boolean = true;\n @Prop() rowDropdownLabel: string = '';\n @Prop() rowDropdownPlaceholder: string = '';\n @Prop() rowInputLabel: string = '';\n @Prop() rowDeleteButtonText: string = '';\n @Prop() totalInputLimit: number = 0;\n @Prop() inputLimitWarning: string = null;\n @Prop() inputEmptyWarning: string = null;\n @Prop() dropdownEmptyWarning: string = null;\n\n @State() nextRowIndex: number = null;\n @State() rowSelectDropdownArr: string[] = null;\n @State() formValue: string = null;\n\n @Event() rowvalues: EventEmitter<string>;\n\n @Watch('dropdownData')\n dropdownDataWatcher() {\n if (typeof this.dropdownData === 'string') {\n this._dropdownData = JSON.parse(this.dropdownData);\n } else {\n this._dropdownData = this.dropdownData;\n }\n }\n\n componentWillLoad() {\n this.dropdownDataWatcher();\n }\n\n componentDidLoad() {\n this.setInitialValues();\n this.addEventHandlers();\n }\n\n addEventHandlers() {\n this.pnRowSelectDropdown.addEventListener('change', debounce(this.addRowElement.bind(this), 500));\n }\n\n setInitialValues() {\n this.nextRowIndex = 0;\n this.setRowSelectDropdownArr();\n }\n\n setRowSelectDropdownArr() {\n this.rowSelectDropdownArr = [];\n this._dropdownData.forEach(element => {\n this.rowSelectDropdownArr.push(element.label);\n });\n }\n\n formRowEvent = e => {\n const debouncedAddValue = debounce(this.updateHiddenFieldValue.bind(this), 500);\n\n if (e.target.matches('input')) {\n ['change', 'keyup'].forEach(eventName => {\n e.target.addEventListener(eventName, debouncedAddValue);\n });\n } else {\n const rowDropdown = e.target.closest('.generated-table-row')?.querySelector('pn-select') as HTMLElement;\n if (rowDropdown) {\n rowDropdown.addEventListener('change', debouncedAddValue);\n }\n }\n };\n\n updateHiddenFieldValue() {\n try {\n const allRows = [...this.tableBody.querySelectorAll('.generated-table-row')];\n const mainDropdown = this.hostElement.querySelector('.pn-row-select-dropdown');\n\n if (!mainDropdown) {\n return;\n }\n\n if (!allRows.length) {\n mainDropdown.setAttribute('error', `${this.dropdownEmptyWarning || \"This field cannot be empty\"}`);\n this.formValue = '';\n this.rowvalues.emit('');\n return;\n }\n\n const formValues = allRows.map(row => {\n const nameElm = row.querySelector('.tr-name');\n const dropdownElm = row.querySelector('.tr-dropdown');\n const inputElm = row.querySelector('.tr-input');\n\n if (!nameElm || !inputElm) {\n throw new Error('Required elements missing from row');\n }\n\n const rowData = {\n row: [\n {\n name: this.rowNameLabel,\n value: nameElm.innerHTML\n }\n ]\n };\n\n if (dropdownElm) {\n const pnSelect = dropdownElm.querySelector('pn-select');\n const nativeSelect = pnSelect?.querySelector('select');\n const dropdownSelection = nativeSelect?.value || '';\n if (dropdownSelection) {\n rowData.row.push({\n name: this.rowDropdownLabel,\n value: dropdownSelection\n });\n }\n }\n\n const input = inputElm.querySelector('input');\n const inputValue = parseInt(input?.value || '0', 10);\n if (inputValue > 0) {\n rowData.row.push({\n name: this.rowInputLabel,\n value: inputValue.toString()\n });\n }\n return rowData;\n });\n\n if (!formValues.length || formValues.length !== allRows.length) {\n this.formValue = '';\n return;\n }\n\n this.formValue = `PN-JSON|${JSON.stringify(formValues)}`;\n\n if (this.validateInputs()) {\n this.rowvalues.emit(this.formValue);\n return;\n }\n\n } catch (error) {\n console.error('Error updating field value: ', error);\n this.formValue = '';\n }\n }\n\n addRowElement(e: CustomEvent) {\n const selectedElement = e.target as HTMLSelectElement;\n const selectedValue = selectedElement?.value;\n\n if (!selectedValue) {\n return;\n }\n\n const mainDropdown = this.hostElement.querySelector('.pn-row-select-dropdown');\n mainDropdown?.removeAttribute('error');\n\n if (!this.tableBody) {\n console.error('tableBody is not defined.');\n return;\n }\n\n const newRow = document.createElement('div');\n newRow.setAttribute('index', `${this.nextRowIndex}`);\n newRow.className = 'generated-table-row';\n newRow.onclick = e => this.formRowEvent(e);\n\n const rowNameColumn = document.createElement('div');\n rowNameColumn.className = 'tr-name';\n rowNameColumn.innerHTML = selectedValue;\n rowNameColumn.dataset.name = selectedValue;\n newRow.appendChild(rowNameColumn);\n\n const selectedR = this._dropdownData?.find(item => item.label === selectedValue);\n\n if (selectedR?.values?.length) {\n this.rowHasDropdown = true;\n const dropdownCol = this.createDropdownColumn(selectedValue);\n newRow.appendChild(dropdownCol);\n } else {\n this.rowHasDropdown = false;\n const emptyDropdownCol = document.createElement('div');\n emptyDropdownCol.className = 'tr-column';\n newRow.appendChild(emptyDropdownCol);\n }\n\n const rowInputColumn = this.createInputColumn(selectedValue);\n newRow.appendChild(rowInputColumn);\n\n const deleteButton = this.createDeleteButtonColumn();\n newRow.appendChild(deleteButton);\n\n this.tableBody.appendChild(newRow);\n\n this.updateRowSelectDropdown();\n this.nextRowIndex++;\n }\n\n getCurrentRow(selectedValue: string) {\n return this.hostElement.querySelectorAll(`.tr-name[data-name='${selectedValue}'`);\n }\n\n createDropdownColumn(selectedValue: string) {\n const dropdownColumn = document.createElement('div');\n dropdownColumn.setAttribute('class', 'tr-dropdown');\n const selectedItem = this._dropdownData.find(arr => arr.label === selectedValue);\n const selectedOptionValues = [];\n const currentRow = this.getCurrentRow(selectedValue);\n\n currentRow.forEach(row => {\n selectedOptionValues.push(row.parentElement?.querySelector('.tr-dropdown [aria-selected=true]')?.textContent);\n });\n\n if (selectedItem.values.length) {\n const dropdown = document.createElement('pn-select');\n dropdown.setAttribute('name', `${selectedValue}-dropdown`);\n dropdown.setAttribute('placeholder', this.rowDropdownPlaceholder);\n dropdown.setAttribute('required', 'true');\n dropdown.setAttribute('error', '');\n\n const placeholder = document.createElement('option');\n placeholder.setAttribute(\"value\", \"\");\n placeholder.textContent = this.rowDropdownPlaceholder;\n placeholder.selected = true;\n placeholder.disabled = true;\n dropdown.appendChild(placeholder);\n\n selectedItem.values.forEach(childItem => {\n const childOption = document.createElement('option');\n childOption.setAttribute(\"label\", childItem.label);\n childOption.setAttribute(\"value\", childItem.label);\n childOption.textContent = childItem.label;\n dropdown.appendChild(childOption);\n });\n\n dropdownColumn.appendChild(dropdown);\n }\n\n return dropdownColumn;\n }\n\n createInputColumn(selectedValue: string) {\n const inputColumn = document.createElement('div');\n inputColumn.setAttribute('class', 'tr-input');\n const inputElm = document.createElement('pn-input');\n inputElm.setAttribute('type', 'number');\n inputElm.setAttribute('name', `${selectedValue}-input`);\n inputElm.setAttribute('placeholder', '0');\n if (this.totalInputLimit > 0) {\n inputElm.setAttribute('max', `${this.totalInputLimit}`);\n }\n inputElm.setAttribute('min', '0');\n inputElm.setAttribute('error', '');\n inputColumn.appendChild(inputElm);\n return inputColumn;\n }\n\n createDeleteButtonColumn() {\n const buttonColumn = document.createElement('div');\n buttonColumn.setAttribute('class', 'tr-delete');\n const buttonElm = document.createElement('pn-button');\n buttonElm.onclick = e => this.deleteRow(e);\n buttonElm.setAttribute('appearance', 'warning');\n buttonElm.setAttribute('small', 'true');\n buttonElm.appendChild(document.createTextNode(this.rowDeleteButtonText));\n buttonColumn.appendChild(buttonElm);\n return buttonColumn;\n }\n\n updateRowSelectDropdown() {\n type Row = { rowName: string; selectedValue: string; placeholder: string };\n\n const rows: Row[] = [].map.call(this.tableBody.querySelectorAll('.tr-name'), el => {\n const dropdownColumn = el?.parentElement?.querySelector('.tr-dropdown');\n const dropdownPlaceholder = dropdownColumn?.querySelector('.pn-select-content span')?.textContent;\n const row: Row = {\n rowName: el?.innerHTML,\n selectedValue: dropdownColumn?.querySelector('[aria-selected=true]')?.textContent,\n placeholder: dropdownPlaceholder,\n };\n return row;\n });\n\n const selectOptions = this.pnRowSelectDropdown.querySelectorAll('option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n }\n\n deleteRow(e: Event) {\n e.preventDefault();\n this.nextRowIndex--;\n const targetElm = e.currentTarget as HTMLButtonElement;\n const targetRow = targetElm.closest('.generated-table-row');\n targetRow.remove();\n const allRows = [...this.tableBody.querySelectorAll('.generated-table-row')];\n\n allRows.map((elm, index) => {\n elm.setAttribute('index', `${index}`);\n });\n this.updateHiddenFieldValue()\n this.updateRowSelectDropdown();\n }\n\n validateInputs() {\n const dropdownSelections = this.tableBody.querySelectorAll('pn-select');\n const numberInputs = this.tableBody.querySelectorAll('pn-input');\n let selectionEmpty = false;\n let showWarning = false;\n\n if (dropdownSelections) {\n dropdownSelections.forEach(dropdownElem => {\n if (!dropdownElem) {\n return;\n }\n\n const selection = dropdownElem.querySelector('select');\n const dropdownVal = selection?.value || '';\n\n if (dropdownVal === null || dropdownVal === \"\") {\n dropdownElem.setAttribute('error', `${this.dropdownEmptyWarning || \"This field cannot be empty\"}`);\n selectionEmpty = true;\n } else {\n dropdownElem.setAttribute('error', '');\n }\n });\n }\n\n if (numberInputs) {\n numberInputs.forEach(inputElem => {\n if (inputElem) {\n const currentNumber = inputElem.querySelector(\"input\");\n let currentValue = parseInt(currentNumber.value);\n\n if (this.totalInputLimit < currentValue && inputElem.hasAttribute('max')) {\n inputElem.setAttribute('error', `${this.inputLimitWarning || \"Amount too high\"}`);\n showWarning = true;\n } else if (currentValue <= 0 || isNaN(currentValue)) {\n inputElem.setAttribute('error', `${this.inputEmptyWarning || \"This field cannot be empty\"}`);\n showWarning = true;\n } else {\n inputElem.setAttribute('error', '');\n showWarning = false;\n }\n }\n });\n }\n\n if (selectionEmpty || showWarning) {\n return false;\n }\n\n return true;\n }\n\n render() {\n return (\n <Host>\n <div class=\"dropdown-choice-form-row\">\n <pn-select\n ref={el => (this.pnRowSelectDropdown = el as HTMLElement)}\n name={this.addRowDropdownName}\n label={this.addRowDropdownLabel}\n class=\"pn-row-select-dropdown\"\n language={this.languageCode}>\n <option value=\"\" selected disabled>{this.addRowDropdownPlaceholder}</option>\n {this.rowSelectDropdownArr?.map((value: string) => <option label={value} value={value}>{value}</option>)}\n </pn-select>\n </div>\n <div class=\"dropdown-choice-form-row\">\n <div class=\"pn-dropdown-choice-table\">\n <div ref={el => (this.tableHead = el as HTMLElement)}>\n {this.nextRowIndex === 0 ? null : (\n <div class=\"table-header\">\n <div class=\"table-header-name\">\n <label>{this.rowNameLabel}</label>\n </div>\n <div class=\"table-header-dropdown\">\n <label>{this.rowDropdownLabel}</label>\n </div>\n <div class=\"table-header-input\">\n <label>{this.rowInputLabel}</label>\n </div>\n <div class=\"table-header-delete\"></div>\n </div>\n )}\n </div>\n <div ref={el => (this.tableBody = el as HTMLElement)} class=\"pn-dropdown-choice-table-slot\">\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-dropdown-choice-adds-row.entry.js","mappings":"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","names":[],"sources":["src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.scss?tag=pn-dropdown-choice-adds-row","src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-choice-adds-row {\n display: block;\n width: 80rem;\n\n .pn-row-select-dropdown {\n width: 50%;\n margin-bottom: 1rem;\n }\n\n @media only screen and (max-width: 640px) {\n .pn-row-select-dropdown {\n width: 100%;\n }\n }\n\n .pn-dropdown-choice-table {\n width: 100%;\n border-spacing: 0rem;\n border: none !important;\n\n thead {\n th {\n text-align: left;\n padding: 1rem 0.5rem;\n\n label {\n color: $gray700;\n font-size: 1.4rem;\n font-weight: 400;\n }\n }\n }\n \n .generated-table-row {\n display: flex;\n margin-bottom: 2rem;\n }\n\n .table-header {\n display: flex;\n margin: 2rem 0 3rem 0;\n font-weight: 500;\n }\n\n .table-header, .tr {\n &-dropdown, &-column, &-name {\n padding-right: 0.5rem;\n width: 35%;\n\n pn-select {\n width: 95%;\n }\n }\n\n &-input {\n width: 15%;\n\n pn-input {\n width: 100%;\n }\n }\n\n &-delete {\n margin: 1rem;\n width: 15%;\n }\n }\n\n tbody {\n td {\n padding: 0.5rem;\n }\n\n tr:nth-child(even) {\n background-color: #effbff;\n }\n\n .tr-delete {\n text-align: center;\n }\n }\n\n tfoot {\n td {\n small {\n color: $warning;\n vertical-align: middle;\n }\n\n pn-icon {\n margin-right: 0.25em;\n vertical-align: middle;\n }\n }\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter } from '@stencil/core';\nimport { FormValue, RowValue, Root } from './types';\nimport debounce from 'debounce';\n\n@Component({\n tag: 'pn-dropdown-choice-adds-row',\n styleUrl: 'pn-dropdown-choice-adds-row.scss',\n})\nexport class pnDropdownChoiceAddsRow {\n @Element() hostElement: Element;\n pnRowSelectDropdown: HTMLElement = null;\n tableHead: HTMLElement = null;\n tableBody: HTMLElement = null;\n private _dropdownData: Root[];\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() addRowDropdownName: string = '';\n @Prop() addRowDropdownPlaceholder: string = '';\n @Prop() addRowDropdownLabel: string = '';\n @Prop() rowNameLabel: string = '';\n @Prop() rowHasDropdown: boolean = true;\n @Prop() rowDropdownLabel: string = '';\n @Prop() rowDropdownPlaceholder: string = '';\n @Prop() rowInputLabel: string = '';\n @Prop() rowDeleteButtonText: string = '';\n @Prop() totalInputLimit: number = 0;\n @Prop() inputLimitWarning: string = null;\n @Prop() inputEmptyWarning: string = null;\n @Prop() dropdownEmptyWarning: string = null;\n\n @State() nextRowIndex: number = null;\n @State() rowSelectDropdownArr: string[] = null;\n @State() formValue: string = null;\n\n @Event() rowvalues: EventEmitter<string>;\n\n @Watch('dropdownData')\n dropdownDataWatcher() {\n if (typeof this.dropdownData === 'string') {\n this._dropdownData = JSON.parse(this.dropdownData);\n } else {\n this._dropdownData = this.dropdownData;\n }\n }\n\n componentWillLoad() {\n this.dropdownDataWatcher();\n }\n\n componentDidLoad() {\n this.setInitialValues();\n this.addEventHandlers();\n }\n\n addEventHandlers() {\n this.pnRowSelectDropdown.addEventListener('change', debounce(this.addRowElement.bind(this), 500));\n }\n\n setInitialValues() {\n this.nextRowIndex = 0;\n this.setRowSelectDropdownArr();\n }\n\n setRowSelectDropdownArr() {\n this.rowSelectDropdownArr = [];\n this._dropdownData.forEach(element => {\n this.rowSelectDropdownArr.push(element.label);\n });\n }\n\n formRowEvent = e => {\n const debouncedAddValue = debounce(this.updateHiddenFieldValue.bind(this), 500);\n\n if (e.target.matches('input')) {\n ['change', 'keyup'].forEach(eventName => {\n e.target.addEventListener(eventName, debouncedAddValue);\n });\n } else {\n const rowDropdown = e.target.closest('.generated-table-row')?.querySelector('pn-select') as HTMLElement;\n if (rowDropdown) {\n rowDropdown.addEventListener('change', debouncedAddValue);\n }\n }\n };\n\n updateHiddenFieldValue() {\n try {\n const allRows = [...this.tableBody.querySelectorAll('.generated-table-row')];\n const mainDropdown = this.hostElement.querySelector('.pn-row-select-dropdown');\n\n if (!mainDropdown) {\n return;\n }\n\n if (!allRows.length) {\n mainDropdown.setAttribute('error', `${this.dropdownEmptyWarning || \"This field cannot be empty\"}`);\n this.formValue = '';\n this.rowvalues.emit('');\n return;\n }\n\n let allRowsValid = true;\n const formValues = allRows.map(row => {\n const nameElm = row.querySelector('.tr-name');\n const dropdownElm = row.querySelector('.tr-dropdown');\n const inputElm = row.querySelector('.tr-input');\n\n if (!nameElm || !inputElm) {\n allRowsValid = false;\n return null;\n }\n\n const rowData = {\n row: [\n {\n name: this.rowNameLabel,\n value: nameElm.innerHTML\n }\n ]\n };\n\n if (dropdownElm && dropdownElm.querySelector('pn-select')) {\n const pnSelect = dropdownElm.querySelector('pn-select');\n const nativeSelect = pnSelect?.querySelector('select');\n const dropdownSelection = nativeSelect?.value || '';\n if (!dropdownSelection) {\n allRowsValid = false;\n } else {\n rowData.row.push({\n name: this.rowDropdownLabel,\n value: dropdownSelection\n });\n }\n }\n\n const input = inputElm.querySelector('input');\n const inputValue = parseInt(input?.value || '0', 10);\n if (inputValue > 0) {\n rowData.row.push({\n name: this.rowInputLabel,\n value: inputValue.toString()\n });\n } else {\n allRowsValid = false;\n }\n return rowData;\n });\n\n if (!allRowsValid || !formValues.length || formValues.includes(null)) {\n this.formValue = '';\n this.rowvalues.emit('');\n return;\n }\n\n this.formValue = `PN-JSON|${JSON.stringify(formValues)}`;\n \n if (this.validateInputs()) {\n this.rowvalues.emit(this.formValue);\n } else {\n this.rowvalues.emit('');\n }\n\n } catch (error) {\n console.error('Error updating field value: ', error);\n this.formValue = '';\n }\n }\n\n addRowElement(e: CustomEvent) {\n const selectedElement = e.target as HTMLSelectElement;\n const selectedValue = selectedElement?.value;\n\n if (!selectedValue) {\n return;\n }\n\n const mainDropdown = this.hostElement.querySelector('.pn-row-select-dropdown');\n mainDropdown?.removeAttribute('error');\n\n if (!this.tableBody) {\n console.error('tableBody is not defined.');\n return;\n }\n\n const newRow = document.createElement('div');\n newRow.setAttribute('index', `${this.nextRowIndex}`);\n newRow.className = 'generated-table-row';\n newRow.onclick = e => this.formRowEvent(e);\n\n const rowNameColumn = document.createElement('div');\n rowNameColumn.className = 'tr-name';\n rowNameColumn.innerHTML = selectedValue;\n rowNameColumn.dataset.name = selectedValue;\n newRow.appendChild(rowNameColumn);\n\n const selectedR = this._dropdownData?.find(item => item.label === selectedValue);\n\n if (selectedR?.values?.length) {\n this.rowHasDropdown = true;\n const dropdownCol = this.createDropdownColumn(selectedValue);\n newRow.appendChild(dropdownCol);\n } else {\n this.rowHasDropdown = false;\n const emptyDropdownCol = document.createElement('div');\n emptyDropdownCol.className = 'tr-column';\n newRow.appendChild(emptyDropdownCol);\n }\n\n const rowInputColumn = this.createInputColumn(selectedValue);\n newRow.appendChild(rowInputColumn);\n\n const deleteButton = this.createDeleteButtonColumn();\n newRow.appendChild(deleteButton);\n\n this.tableBody.appendChild(newRow);\n\n this.updateRowSelectDropdown();\n this.nextRowIndex++;\n selectedElement.value = '';\n }\n\n getCurrentRow(selectedValue: string) {\n return this.hostElement.querySelectorAll(`.tr-name[data-name='${selectedValue}'`);\n }\n\n createDropdownColumn(selectedValue: string) {\n const dropdownColumn = document.createElement('div');\n dropdownColumn.setAttribute('class', 'tr-dropdown');\n const selectedItem = this._dropdownData.find(arr => arr.label === selectedValue);\n const selectedOptionValues = [];\n const currentRow = this.getCurrentRow(selectedValue);\n\n currentRow.forEach(row => {\n selectedOptionValues.push(row.parentElement?.querySelector('.tr-dropdown [aria-selected=true]')?.textContent);\n });\n\n if (selectedItem.values.length) {\n const dropdown = document.createElement('pn-select');\n dropdown.setAttribute('name', `${selectedValue}-dropdown`);\n dropdown.setAttribute('placeholder', this.rowDropdownPlaceholder);\n dropdown.setAttribute('required', 'true');\n dropdown.setAttribute('error', '');\n\n const placeholder = document.createElement('option');\n placeholder.setAttribute(\"value\", \"\");\n placeholder.textContent = this.rowDropdownPlaceholder;\n placeholder.selected = true;\n placeholder.disabled = true;\n dropdown.appendChild(placeholder);\n\n selectedItem.values.forEach(childItem => {\n const childOption = document.createElement('option');\n childOption.setAttribute(\"label\", childItem.label);\n childOption.setAttribute(\"value\", childItem.label);\n childOption.textContent = childItem.label;\n dropdown.appendChild(childOption);\n });\n\n dropdownColumn.appendChild(dropdown);\n }\n\n return dropdownColumn;\n }\n\n createInputColumn(selectedValue: string) {\n const inputColumn = document.createElement('div');\n inputColumn.setAttribute('class', 'tr-input');\n const inputElm = document.createElement('pn-input');\n inputElm.setAttribute('type', 'number');\n inputElm.setAttribute('name', `${selectedValue}-input`);\n inputElm.setAttribute('placeholder', '0');\n if (this.totalInputLimit > 0) {\n inputElm.setAttribute('max', `${this.totalInputLimit}`);\n }\n inputElm.setAttribute('min', '0');\n inputElm.setAttribute('error', '');\n inputColumn.appendChild(inputElm);\n return inputColumn;\n }\n\n createDeleteButtonColumn() {\n const buttonColumn = document.createElement('div');\n buttonColumn.setAttribute('class', 'tr-delete');\n const buttonElm = document.createElement('pn-button');\n buttonElm.onclick = e => this.deleteRow(e);\n buttonElm.setAttribute('appearance', 'warning');\n buttonElm.setAttribute('small', 'true');\n buttonElm.appendChild(document.createTextNode(this.rowDeleteButtonText));\n buttonColumn.appendChild(buttonElm);\n return buttonColumn;\n }\n\n updateRowSelectDropdown() {\n type Row = { rowName: string; selectedValue: string; placeholder: string };\n\n const rows: Row[] = [].map.call(this.tableBody.querySelectorAll('.tr-name'), el => {\n const dropdownColumn = el?.parentElement?.querySelector('.tr-dropdown');\n const dropdownPlaceholder = dropdownColumn?.querySelector('.pn-select-content span')?.textContent;\n const row: Row = {\n rowName: el?.innerHTML,\n selectedValue: dropdownColumn?.querySelector('[aria-selected=true]')?.textContent,\n placeholder: dropdownPlaceholder,\n };\n return row;\n });\n\n const selectOptions = this.pnRowSelectDropdown.querySelectorAll('option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n }\n\n deleteRow(e: Event) {\n e.preventDefault();\n this.nextRowIndex--;\n const targetElm = e.currentTarget as HTMLButtonElement;\n const targetRow = targetElm.closest('.generated-table-row');\n targetRow.remove();\n const allRows = [...this.tableBody.querySelectorAll('.generated-table-row')];\n\n allRows.map((elm, index) => {\n elm.setAttribute('index', `${index}`);\n });\n this.updateHiddenFieldValue()\n this.updateRowSelectDropdown();\n }\n\n validateInputs() {\n const dropdownSelections = this.tableBody.querySelectorAll('pn-select');\n const numberInputs = this.tableBody.querySelectorAll('pn-input');\n let selectionEmpty = false;\n let showWarning = false;\n\n if (dropdownSelections) {\n dropdownSelections.forEach(dropdownElem => {\n if (!dropdownElem) {\n return;\n }\n\n const selection = dropdownElem.querySelector('select');\n const dropdownVal = selection?.value || '';\n\n if (dropdownVal === null || dropdownVal === \"\") {\n dropdownElem.setAttribute('error', `${this.dropdownEmptyWarning || \"This field cannot be empty\"}`);\n selectionEmpty = true;\n } else {\n dropdownElem.setAttribute('error', '');\n }\n });\n }\n\n if (numberInputs) {\n numberInputs.forEach(inputElem => {\n if (inputElem) {\n const currentNumber = inputElem.querySelector(\"input\");\n let currentValue = parseInt(currentNumber.value);\n\n if (this.totalInputLimit < currentValue && inputElem.hasAttribute('max')) {\n inputElem.setAttribute('error', `${this.inputLimitWarning || \"Amount too high\"}`);\n showWarning = true;\n } else if (currentValue <= 0 || isNaN(currentValue)) {\n inputElem.setAttribute('error', `${this.inputEmptyWarning || \"This field cannot be empty\"}`);\n showWarning = true;\n } else {\n inputElem.setAttribute('error', '');\n showWarning = false;\n }\n }\n });\n }\n\n if (selectionEmpty || showWarning) {\n return false;\n }\n\n return true;\n }\n\n render() {\n return (\n <Host>\n <div class=\"dropdown-choice-form-row\">\n <pn-select\n ref={el => (this.pnRowSelectDropdown = el as HTMLElement)}\n name={this.addRowDropdownName}\n label={this.addRowDropdownLabel}\n class=\"pn-row-select-dropdown\"\n language={this.languageCode}>\n <option value=\"\" selected disabled>{this.addRowDropdownPlaceholder}</option>\n {this.rowSelectDropdownArr?.map((value: string) => <option label={value} value={value}>{value}</option>)}\n </pn-select>\n </div>\n <div class=\"dropdown-choice-form-row\">\n <div class=\"pn-dropdown-choice-table\">\n <div ref={el => (this.tableHead = el as HTMLElement)}>\n {this.nextRowIndex === 0 ? null : (\n <div class=\"table-header\">\n <div class=\"table-header-name\">\n <label>{this.rowNameLabel}</label>\n </div>\n <div class=\"table-header-dropdown\">\n <label>{this.rowDropdownLabel}</label>\n </div>\n <div class=\"table-header-input\">\n <label>{this.rowInputLabel}</label>\n </div>\n <div class=\"table-header-delete\"></div>\n </div>\n )}\n </div>\n <div ref={el => (this.tableBody = el as HTMLElement)} class=\"pn-dropdown-choice-table-slot\">\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,8 +1,8 @@
1
- import { r as registerInstance, c as createEvent, g as getElement, h, d as Host } from './index-51d67461.js';
1
+ import { r as registerInstance, c as createEvent, g as getElement, h, d as Host } from './index-c311acd6.js';
2
2
  import { d as debounce } from './index-1190bec4.js';
3
3
  import { m as minus } from './minus-2b8ae0b8.js';
4
4
 
5
- const pnDropdownWithMultiInputRowsRowCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-dropdown-with-multi-input-rows-row .input-element-row{display:flex;gap:1rem;margin-bottom:1rem}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container{width:30%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container pn-marketweb-input .input-container{width:100%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container pn-date-picker{width:100%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container{margin-top:0.3rem}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container__error{color:red;line-height:1}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container__warning{line-height:1}pn-dropdown-with-multi-input-rows-row .delete-button-contianer{margin-top:0.6rem}pn-dropdown-with-multi-input-rows-row label.pn-date-picker-label:has(span:empty){display:none}";
5
+ const pnDropdownWithMultiInputRowsRowCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-dropdown-with-multi-input-rows-row .input-element-row{display:flex;gap:1rem;margin-bottom:1rem}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container{width:30%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container pn-marketweb-input .input-container{width:100%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container pn-date-picker{width:100%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container{margin-top:0.3rem}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container__error{color:red;line-height:1}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container__warning{line-height:1}pn-dropdown-with-multi-input-rows-row .delete-button-contianer{margin-top:0.6rem}pn-dropdown-with-multi-input-rows-row label.pn-date-picker-label:has(span:empty){display:none}";
6
6
  const PnDropdownWithMultiInputRowsRowStyle0 = pnDropdownWithMultiInputRowsRowCss;
7
7
 
8
8
  const PnDropdownWithMultiInputRowsRow = class {
@@ -1 +1 @@
1
- {"file":"pn-dropdown-with-multi-input-rows-row.entry.js","mappings":"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","names":[],"sources":["src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.scss?tag=pn-dropdown-with-multi-input-rows-row","src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-with-multi-input-rows-row {\n .input-element-row {\n display: flex;\n gap: 1rem;\n margin-bottom: 1rem;\n\n .input-container {\n width: 30%;\n\n pn-marketweb-input {\n .input-container {\n width: 100%;\n }\n }\n\n pn-date-picker {\n width: 100%;\n }\n\n .input-element-message-container {\n margin-top: 0.3rem;\n &__error {\n color: red;\n line-height: 1;\n }\n\n &__warning {\n line-height: 1;\n }\n }\n }\n }\n\n .delete-button-contianer {\n margin-top: 0.6rem;\n }\n\n label.pn-date-picker-label:has(span:empty) {\n display: none;\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { FormValue, RowValue, Root, PredefinedValues } from './types';\nimport debounce from 'debounce';\nimport { minus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-dropdown-with-multi-input-rows-row',\n styleUrl: 'pn-dropdown-with-multi-input-rows-row.scss',\n})\nexport class PnDropdownWithMultiInputRowsRow {\n @Element() hostElement: Element;\n private _predefinedValue: PredefinedValues;\n pnFirstInputField: HTMLElement = null;\n pnSecondInputField: HTMLElement = null;\n pnDatePicker: HTMLElement = null;\n pnDeleteRowButton: HTMLElement = null;\n\n @Prop() languageCode: string = null;\n @Prop() firstInputPlaceholder: string = null;\n @Prop() firstInputMin: number = null;\n @Prop() firstInputMax: number = null;\n @Prop() firstInputWarning: number = null;\n @Prop() firstInputWarningText: string = null;\n @Prop() firstInputLowErrorText: string = null;\n @Prop() firstInputHighErrorText: string = null;\n @Prop() secondInputPlaceholder: string = null;\n @Prop() secondInputMin: number = null;\n @Prop() secondInputMax: number = null;\n @Prop() secondInputWarning: number = null;\n @Prop() secondInputWarningText: string = null;\n @Prop() secondInputLowErrorText: string = null;\n @Prop() secondInputHighErrorText: string = null;\n @Prop() dateLabel: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() firstValidDate: string = null;\n @Prop() lastValidDate: string = null;\n @Prop() predefinedValue: string = null;\n @Prop() rowIndex: number = null;\n @Prop() minRowCount: number = null;\n @Prop() disabledDates: string = null;\n\n @State() showFirstInputWarning: boolean = false;\n @State() showFirstInputLowError: boolean = false;\n @State() showFirstInputHighError: boolean = false;\n @State() showSecondInputWarning: boolean = false;\n @State() showSecondInputLowError: boolean = false;\n @State() showSecondInputHighError: boolean = false;\n\n @State() firstInputValue: string = '';\n @State() secondInputValue: string = '';\n @State() dateValue: string = '';\n\n @Event() rowValueChange: EventEmitter<PredefinedValues>;\n @Event() deleteRowEvent: EventEmitter<string>;\n @Event() firstInputChange: EventEmitter<PredefinedValues>;\n @Event() secondInputChange: EventEmitter<PredefinedValues>;\n\n componentWillLoad() {\n this.getPredefinedValues();\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.addEventHandlers();\n }\n\n getPredefinedValues() {\n this._predefinedValue = JSON.parse(this.predefinedValue);\n }\n\n @Watch('predefinedValue')\n applyPredefinedValue() {\n this.getPredefinedValues();\n this.setInitialValues();\n\n if (this.firstInputValue?.length) {\n this.validateFirstInput(parseInt(this.firstInputValue));\n }\n\n if (this.secondInputValue?.length) {\n this.validateSecondInput(parseInt(this.secondInputValue));\n }\n\n if (this.rowIndex >= this.minRowCount) {\n this.pnDeleteRowButton.addEventListener('click', this.deleteRow.bind(this));\n }\n }\n\n setInitialValues() {\n this.firstInputValue = this._predefinedValue.firstInput;\n this.secondInputValue = this._predefinedValue.secondInput;\n this.dateValue = this._predefinedValue.date;\n }\n\n addEventHandlers() {\n const emmitValues = debounce(this.emitRowValues.bind(this), 500);\n this.pnFirstInputField.addEventListener('keyup', debounce(this.handleFirstInput.bind(this), 500));\n this.pnSecondInputField.addEventListener('keyup', debounce(this.handleSecondInput.bind(this), 500));\n this.pnDatePicker.addEventListener('dateselection', this.handleDateChange.bind(this));\n this.pnDatePicker.addEventListener('dateselection', emmitValues);\n }\n\n handleFirstInput(e) {\n const elm = e.target;\n const value = parseInt(elm.value);\n\n if (value > 0) {\n this.firstInputValue = elm.value;\n this.firstInputChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n this.validateFirstInput(value);\n this.emitRowValues();\n }\n\n handleSecondInput(e) {\n const elm = e.target;\n const value = parseInt(elm.value);\n\n if (value > 0) {\n this.secondInputValue = elm.value;\n this.secondInputChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n this.validateSecondInput(value);\n this.emitRowValues();\n }\n\n validateFirstInput(input: number) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = false;\n this.showFirstInputHighError = false;\n\n if (input < this.firstInputWarning) {\n this.showFirstInputWarning = true;\n }\n\n if (input < this.firstInputMin) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = true;\n }\n\n if (input > this.firstInputMax) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = false;\n this.showFirstInputHighError = true;\n }\n }\n\n validateSecondInput(input: number) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = false;\n this.showSecondInputHighError = false;\n\n if (input < this.secondInputWarning) {\n this.showSecondInputWarning = true;\n }\n\n if (input < this.secondInputMin) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = true;\n }\n\n if (input > this.secondInputMax) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = false;\n this.showSecondInputHighError = true;\n }\n }\n\n handleDateChange(e) {\n const elm = e.target;\n if (elm === this.pnDatePicker) {\n this.dateValue = e.detail.start;\n }\n }\n\n emitRowValues() {\n this.rowValueChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n deleteRow() {\n this.deleteRowEvent.emit(this._predefinedValue.id);\n }\n\n render() {\n return (\n <Host>\n <div class=\"input-element-row\">\n <div class=\"input-container\">\n <pn-input\n ref={el => (this.pnFirstInputField = el as HTMLElement)}\n type=\"number\"\n placeholder={this.firstInputPlaceholder}\n value={this.firstInputValue}\n min=\"1\"\n ></pn-input>\n {this.showFirstInputLowError || this.showFirstInputHighError || this.showFirstInputWarning ? (\n <div class=\"input-element-message-container\">\n {this.showFirstInputLowError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.firstInputLowErrorText}</small>\n </div>\n ) : null}\n\n {this.showFirstInputHighError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.firstInputHighErrorText}</small>\n </div>\n ) : null}\n\n {this.showFirstInputWarning ? (\n <div class=\"input-element-message-container__warning\">\n <small>{this.firstInputWarningText}</small>\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n\n <div class=\"input-container\">\n <pn-input\n ref={el => (this.pnSecondInputField = el as HTMLElement)}\n type=\"number\"\n placeholder={this.secondInputPlaceholder}\n value={this.secondInputValue}\n min=\"1\"\n ></pn-input>\n {this.showSecondInputLowError || this.showSecondInputHighError || this.showSecondInputWarning ? (\n <div class=\"input-element-message-container\">\n {this.showSecondInputLowError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.secondInputLowErrorText}</small>\n </div>\n ) : null}\n\n {this.showSecondInputHighError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.secondInputHighErrorText}</small>\n </div>\n ) : null}\n\n {this.showSecondInputWarning ? (\n <div class=\"input-element-message-container__warning\">\n <small>{this.secondInputWarningText}</small>\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n\n <div class=\"input-container\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n disabled-dates={this.disabledDates}\n min-date={this.firstValidDate}\n max-date={this.lastValidDate}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.dateValue?.length ? this.dateValue : null}\n ></pn-date-picker>\n </div>\n\n {this.rowIndex >= this.minRowCount ? (\n <div class=\"delete-button-container\">\n <pn-button\n ref={el => (this.pnDeleteRowButton = el as HTMLElement)}\n small=\"true\"\n icon={minus}\n appearance=\"warning\"\n index={this.rowIndex}\n onClick={() => {\n this.deleteRow();\n }}\n >\n Delete\n </pn-button>\n </div>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-dropdown-with-multi-input-rows-row.entry.js","mappings":"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","names":[],"sources":["src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.scss?tag=pn-dropdown-with-multi-input-rows-row","src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-with-multi-input-rows-row {\n .input-element-row {\n display: flex;\n gap: 1rem;\n margin-bottom: 1rem;\n\n .input-container {\n width: 30%;\n\n pn-marketweb-input {\n .input-container {\n width: 100%;\n }\n }\n\n pn-date-picker {\n width: 100%;\n }\n\n .input-element-message-container {\n margin-top: 0.3rem;\n &__error {\n color: red;\n line-height: 1;\n }\n\n &__warning {\n line-height: 1;\n }\n }\n }\n }\n\n .delete-button-contianer {\n margin-top: 0.6rem;\n }\n\n label.pn-date-picker-label:has(span:empty) {\n display: none;\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { FormValue, RowValue, Root, PredefinedValues } from './types';\nimport debounce from 'debounce';\nimport { minus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-dropdown-with-multi-input-rows-row',\n styleUrl: 'pn-dropdown-with-multi-input-rows-row.scss',\n})\nexport class PnDropdownWithMultiInputRowsRow {\n @Element() hostElement: Element;\n private _predefinedValue: PredefinedValues;\n pnFirstInputField: HTMLElement = null;\n pnSecondInputField: HTMLElement = null;\n pnDatePicker: HTMLElement = null;\n pnDeleteRowButton: HTMLElement = null;\n\n @Prop() languageCode: string = null;\n @Prop() firstInputPlaceholder: string = null;\n @Prop() firstInputMin: number = null;\n @Prop() firstInputMax: number = null;\n @Prop() firstInputWarning: number = null;\n @Prop() firstInputWarningText: string = null;\n @Prop() firstInputLowErrorText: string = null;\n @Prop() firstInputHighErrorText: string = null;\n @Prop() secondInputPlaceholder: string = null;\n @Prop() secondInputMin: number = null;\n @Prop() secondInputMax: number = null;\n @Prop() secondInputWarning: number = null;\n @Prop() secondInputWarningText: string = null;\n @Prop() secondInputLowErrorText: string = null;\n @Prop() secondInputHighErrorText: string = null;\n @Prop() dateLabel: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() firstValidDate: string = null;\n @Prop() lastValidDate: string = null;\n @Prop() predefinedValue: string = null;\n @Prop() rowIndex: number = null;\n @Prop() minRowCount: number = null;\n @Prop() disabledDates: string = null;\n\n @State() showFirstInputWarning: boolean = false;\n @State() showFirstInputLowError: boolean = false;\n @State() showFirstInputHighError: boolean = false;\n @State() showSecondInputWarning: boolean = false;\n @State() showSecondInputLowError: boolean = false;\n @State() showSecondInputHighError: boolean = false;\n\n @State() firstInputValue: string = '';\n @State() secondInputValue: string = '';\n @State() dateValue: string = '';\n\n @Event() rowValueChange: EventEmitter<PredefinedValues>;\n @Event() deleteRowEvent: EventEmitter<string>;\n @Event() firstInputChange: EventEmitter<PredefinedValues>;\n @Event() secondInputChange: EventEmitter<PredefinedValues>;\n\n componentWillLoad() {\n this.getPredefinedValues();\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.addEventHandlers();\n }\n\n getPredefinedValues() {\n this._predefinedValue = JSON.parse(this.predefinedValue);\n }\n\n @Watch('predefinedValue')\n applyPredefinedValue() {\n this.getPredefinedValues();\n this.setInitialValues();\n\n if (this.firstInputValue?.length) {\n this.validateFirstInput(parseInt(this.firstInputValue));\n }\n\n if (this.secondInputValue?.length) {\n this.validateSecondInput(parseInt(this.secondInputValue));\n }\n\n if (this.rowIndex >= this.minRowCount) {\n this.pnDeleteRowButton.addEventListener('click', this.deleteRow.bind(this));\n }\n }\n\n setInitialValues() {\n this.firstInputValue = this._predefinedValue.firstInput;\n this.secondInputValue = this._predefinedValue.secondInput;\n this.dateValue = this._predefinedValue.date;\n }\n\n addEventHandlers() {\n const emmitValues = debounce(this.emitRowValues.bind(this), 500);\n this.pnFirstInputField.addEventListener('keyup', debounce(this.handleFirstInput.bind(this), 500));\n this.pnSecondInputField.addEventListener('keyup', debounce(this.handleSecondInput.bind(this), 500));\n this.pnDatePicker.addEventListener('dateselection', this.handleDateChange.bind(this));\n this.pnDatePicker.addEventListener('dateselection', emmitValues);\n }\n\n handleFirstInput(e) {\n const elm = e.target;\n const value = parseInt(elm.value);\n\n if (value > 0) {\n this.firstInputValue = elm.value;\n this.firstInputChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n this.validateFirstInput(value);\n this.emitRowValues();\n }\n\n handleSecondInput(e) {\n const elm = e.target;\n const value = parseInt(elm.value);\n\n if (value > 0) {\n this.secondInputValue = elm.value;\n this.secondInputChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n this.validateSecondInput(value);\n this.emitRowValues();\n }\n\n validateFirstInput(input: number) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = false;\n this.showFirstInputHighError = false;\n\n if (input < this.firstInputWarning) {\n this.showFirstInputWarning = true;\n }\n\n if (input < this.firstInputMin) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = true;\n }\n\n if (input > this.firstInputMax) {\n this.showFirstInputWarning = false;\n this.showFirstInputLowError = false;\n this.showFirstInputHighError = true;\n }\n }\n\n validateSecondInput(input: number) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = false;\n this.showSecondInputHighError = false;\n\n if (input < this.secondInputWarning) {\n this.showSecondInputWarning = true;\n }\n\n if (input < this.secondInputMin) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = true;\n }\n\n if (input > this.secondInputMax) {\n this.showSecondInputWarning = false;\n this.showSecondInputLowError = false;\n this.showSecondInputHighError = true;\n }\n }\n\n handleDateChange(e) {\n const elm = e.target;\n if (elm === this.pnDatePicker) {\n this.dateValue = e.detail.start;\n }\n }\n\n emitRowValues() {\n this.rowValueChange.emit({\n id: this._predefinedValue.id,\n firstInput: this.firstInputValue,\n secondInput: this.secondInputValue,\n date: this.dateValue,\n });\n }\n\n deleteRow() {\n this.deleteRowEvent.emit(this._predefinedValue.id);\n }\n\n render() {\n return (\n <Host>\n <div class=\"input-element-row\">\n <div class=\"input-container\">\n <pn-input\n ref={el => (this.pnFirstInputField = el as HTMLElement)}\n type=\"number\"\n placeholder={this.firstInputPlaceholder}\n value={this.firstInputValue}\n min=\"1\"\n ></pn-input>\n {this.showFirstInputLowError || this.showFirstInputHighError || this.showFirstInputWarning ? (\n <div class=\"input-element-message-container\">\n {this.showFirstInputLowError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.firstInputLowErrorText}</small>\n </div>\n ) : null}\n\n {this.showFirstInputHighError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.firstInputHighErrorText}</small>\n </div>\n ) : null}\n\n {this.showFirstInputWarning ? (\n <div class=\"input-element-message-container__warning\">\n <small>{this.firstInputWarningText}</small>\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n\n <div class=\"input-container\">\n <pn-input\n ref={el => (this.pnSecondInputField = el as HTMLElement)}\n type=\"number\"\n placeholder={this.secondInputPlaceholder}\n value={this.secondInputValue}\n min=\"1\"\n ></pn-input>\n {this.showSecondInputLowError || this.showSecondInputHighError || this.showSecondInputWarning ? (\n <div class=\"input-element-message-container\">\n {this.showSecondInputLowError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.secondInputLowErrorText}</small>\n </div>\n ) : null}\n\n {this.showSecondInputHighError ? (\n <div class=\"input-element-message-container__error\">\n <small>{this.secondInputHighErrorText}</small>\n </div>\n ) : null}\n\n {this.showSecondInputWarning ? (\n <div class=\"input-element-message-container__warning\">\n <small>{this.secondInputWarningText}</small>\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n\n <div class=\"input-container\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n disabled-dates={this.disabledDates}\n min-date={this.firstValidDate}\n max-date={this.lastValidDate}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.dateValue?.length ? this.dateValue : null}\n ></pn-date-picker>\n </div>\n\n {this.rowIndex >= this.minRowCount ? (\n <div class=\"delete-button-container\">\n <pn-button\n ref={el => (this.pnDeleteRowButton = el as HTMLElement)}\n small=\"true\"\n icon={minus}\n appearance=\"warning\"\n index={this.rowIndex}\n onClick={() => {\n this.deleteRow();\n }}\n >\n Delete\n </pn-button>\n </div>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { g as getElement, r as registerInstance, c as createEvent, h, d as Host } from './index-51d67461.js';
1
+ import { g as getElement, r as registerInstance, c as createEvent, h, d as Host } from './index-c311acd6.js';
2
2
  import { d as debounce } from './index-1190bec4.js';
3
3
  import { p as plus } from './plus-7ee93ae7.js';
4
4
  import { v as v4 } from './v4-964634d6.js';
@@ -15,7 +15,7 @@ const translations = {
15
15
  },
16
16
  };
17
17
 
18
- const pnDropdownWithMultiInputRowsCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__row{margin-bottom:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__delete{display:flex;gap:1rem;margin-bottom:1rem;padding:1rem;background-color:#f9f8f8}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__delete pn-button{margin-top:0.9rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__label-row{display:flex;gap:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__label{width:30%;font-size:0.875em;color:#5e554a}pn-dropdown-with-multi-input-rows .sum-row{display:flex;justify-content:space-between}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__dropdown{display:inline-flex;align-items:center}pn-dropdown-with-multi-input-rows small{max-width:70%;margin:1rem;align-self:center;position:relative;top:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__row .dropdown-with-multi-input-element__dropdown .pn-row-select-dropdown .pn-select .pn-select-input .pn-select-content{width:18rem}";
18
+ const pnDropdownWithMultiInputRowsCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__row{margin-bottom:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__delete{display:flex;gap:1rem;margin-bottom:1rem;padding:1rem;background-color:#f9f8f8}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__delete pn-button{margin-top:0.9rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__label-row{display:flex;gap:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__label{width:30%;font-size:0.875em;color:#5e554a}pn-dropdown-with-multi-input-rows .sum-row{display:flex;justify-content:space-between}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__dropdown{display:inline-flex;align-items:center}pn-dropdown-with-multi-input-rows small{max-width:70%;margin:1rem;align-self:center;position:relative;top:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-element__row .dropdown-with-multi-input-element__dropdown .pn-row-select-dropdown .pn-select .pn-select-input .pn-select-content{width:18rem}";
19
19
  const PnDropdownWithMultiInputRowsStyle0 = pnDropdownWithMultiInputRowsCss;
20
20
 
21
21
  const PnDropdownWithMultiInputRows = class {
@@ -1 +1 @@
1
- {"file":"pn-dropdown-with-multi-input-rows.entry.js","mappings":";;;;;AAAO,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE;QACJ,mBAAmB,EAAE,qBAAqB;KAC3C;IACD,IAAI,EAAE;QACJ,mBAAmB,EAAE,kBAAkB;KACxC;IACD,IAAI,EAAE;QACJ,mBAAmB,EAAE,kBAAkB;KACxC;CACF;;ACVD,MAAM,+BAA+B,GAAG,opCAAopC,CAAC;AAC7rC,2CAAe,+BAA+B;;MCUjC,4BAA4B;;IAEvC,eAAe,GAAgB,IAAI,CAAC;IACpC,gBAAgB,GAAgB,IAAI,CAAC;IACrC,UAAU,GAAgB,IAAI,CAAC;IAC/B,qBAAqB,GAAgB,IAAI,CAAC;IAC1C,mBAAmB,GAAgB,IAAI,CAAC;IAgD/B,aAAa,CAAuB;IAErC,uBAAuB,GAAW,IAAI,CAAC;IACvC,wBAAwB,GAAW,IAAI,CAAC;IAExC,WAAW,CAAmB;IAEtC;;;4BArDwC,IAAI;4BACb,IAAI;kCACE,IAAI;uCACC,IAAI;mCACR,IAAI;wCACC,IAAI;iCACX,IAAI;6CACQ,IAAI;uCACV,IAAI;qCACN,IAAI;+BACV,IAAI;qCACE,IAAI;6BACZ,IAAI;6BACJ,IAAI;iCACA,IAAI;qCACA,IAAI;sCACH,IAAI;uCACH,IAAI;gCACX,IAAI;sCACE,IAAI;8BACZ,IAAI;8BACJ,IAAI;kCACA,IAAI;sCACA,IAAI;uCACH,IAAI;wCACH,IAAI;6BACf,IAAI;yBACR,IAAI;+BACE,IAAI;iCACF,CAAC;mCACC,IAAI;6BACV,IAAI;0BACP,IAAI;iCACG,IAAI;gCAEJ,IAAI;iCACD,EAAE;uBACF,IAAI;0BACR,IAAI;oCACC,EAAE;mCACH,EAAE;sBACf,IAAI;2BACC,IAAI;iCACG,KAAK;;QAWzC,IAAI,CAAC,WAAW,GAAG;YACjB,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAC3B,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,IAAI,CAAC,kBAAkB,KAAK,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACvF,IAAI,EAAE,EAAE;SACT,CAAC;KACH;IAED,iBAAiB;QACf,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAGD,eAAe;QACb,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;KACnE;IAED,gBAAgB;QACd,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,eAAe;QACb,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;YACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACvD;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC;SAC3C;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE;YACjC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO;gBACnC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;oBAClB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;iBACnB;aACF,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9D,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACnD;KACF;IAED,oBAAoB;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE5B,KAAK,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE;YAC7E,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;KACF;IAED,mBAAmB,CAAC,GAAW,EAAE,OAAe;QAC9C,GAAG,CAAC,OAAO,CAAC,IAAI;YACd,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE;gBAC1B,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;KACZ;IAED,UAAU;QACR,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE;YAClE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAChD,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACvC;KACF;IAED,gBAAgB;QACd,OAAOA,EAAM,EAAE,CAAC;KACjB;IAED,iBAAiB;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC;QAElC,IAAI,CAAC,oBAAoB,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACjE,IAAI,CAAC,mBAAmB,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;KACpE;IAED,MAAM,CAAC,QAAgB;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAED,mBAAmB,GAAG,QAAQ,CAAC,CAAC,CAAQ;QACtC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAkC,CAAC;QACtD,MAAM,aAAa,GAAG,QAAQ,EAAE,KAAK,CAAC;QAEtC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;YAC1B,OAAO;SACR;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,aAAa,CAAC,CAAC;QAC5F,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC;QAEvC,IAAI,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,wBAAwB,EAAE;YACvD,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEnD,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;aACtC;SACF;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B,CAAC,CAAA;IAEF,oBAAoB,GAAG,QAAQ,CAAC,CAAC,CAAQ;QACvC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAkC,CAAC;QACpD,MAAM,cAAc,GAAG,MAAM,EAAE,KAAK,CAAC;QAErC,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO;SACR;QAED,MAAM,aAAa,GAAG,cAAc,CAAA;QAEpC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;YAC1B,OAAO;SACR;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEtC,IAAI,KAAK,GAAG,IAAI,CAAC,wBAAwB,EAAE;YACzC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;aAAM;YACL,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;aACtC;SACF;QAED,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QAEtC,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B,CAAC,CAAA;IAKF,qBAAqB,CAAC,CAAC;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAqB,CAAC,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG;YAC5B,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC;QAEF,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,aAAa,KAAK,CAAC,EAAE;YACxD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,aAAa,KAAK,CAAC,EAAE;YACzD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,sBAAsB,CAAC,KAAa;QAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;gBACpB,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtB,UAAU,EAAE,KAAK;aAClB,CAAC;SACH;KACF;IAED,uBAAuB,CAAC,KAAa;QACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;gBACpB,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtB,WAAW,EAAE,KAAK;aACnB,CAAC;SACH;KACF;IAGD,cAAc,CAAC,CAAC;QACd,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,aAAa,GAAG,CAAC,EAAE;YACrB,OAAO;SACR;QAED,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjC,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,SAAS;QACP,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO;YAC3B,IAAI,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE;gBAC/B,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;aACrC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;KAC9B;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,wBAAwB,KAAK,IAAI,EAAE;YAC1C,OAAO;SACR;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAC1E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,YAAY,EAAE,KAAK,EAAE,EAAE;YACjD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,eAAe;QACb,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;KAChC;IAED,iBAAiB;QACf,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI;YACxB,MAAM,QAAQ,GAAc,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE;gBACxC,MAAM,aAAa,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBACvG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAClC;YAED,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE;gBAC3B,MAAM,eAAe,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzF,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACpC;YAED,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE;gBAC5B,MAAM,gBAAgB,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5F,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aACrC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,MAAM,SAAS,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9B;YAED,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChC;SACF,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;YACnD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC1C;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC7B;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAC,mCAAmC,IAC7C,4DAAK,KAAK,EAAC,wCAAwC,IACjD,4DAAK,KAAK,EAAC,6CAA6C,IACtD,kEAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,eAAe,GAAG,EAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAC,2CAA2C,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,IAC3O,+DAAQ,KAAK,EAAC,EAAE,EAAC,QAAQ,QAAC,QAAQ,UAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAU,EAC1E,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,IAAI,MAC/B,cAAQ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,IAAI,CAAC,KAAK,CAAU,CACjD,CAAC,CACQ,EACX,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,iBAAQ,IAAI,CAAC,uBAAuB,CAAS,GAAG,IAAI,CACxF,CACF,EAEN,4DAAK,KAAK,EAAC,wCAAwC,IACjD,4DAAK,KAAK,EAAC,6CAA6C,IACtD,kEAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,gBAAgB,GAAG,EAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAC,2CAA2C,EAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,IAC9O,+DAAQ,KAAK,EAAC,EAAE,EAAC,QAAQ,QAAC,QAAQ,UAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAU,EAC1E,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,IAAI,MAChC,cAAQ,KAAK,EAAE,IAAI,IAAG,IAAI,CAAU,CACrC,CAAC,CACQ,EACX,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,iBAAQ,IAAI,CAAC,wBAAwB,CAAS,GAAG,IAAI,CAC1F,CACF,EAEL,IAAI,CAAC,iBAAiB,IACrB,WAAK,KAAK,EAAC,2CAA2C,IACpD,aAAI,IAAI,CAAC,6BAA6B,CAAK,EAC3C,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,qBAAqB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,UAAU,EAAC,SAAS,EAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAChJ,IAAI,CAAC,uBAAuB,CACnB,EACZ,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,mBAAmB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,UAAU,EAAC,OAAO,EAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAC3I,IAAI,CAAC,qBAAqB,CACjB,CACR,IACJ,IAAI,EAER,4DAAK,KAAK,EAAC,8CAA8C,IACvD,4DAAK,KAAK,EAAC,0CAA0C,IACnD,gEAAQ,IAAI,CAAC,eAAe,CAAS,CACjC,EACN,4DAAK,KAAK,EAAC,0CAA0C,IACnD,gEAAQ,IAAI,CAAC,gBAAgB,CAAS,CAClC,EACN,4DAAK,KAAK,EAAC,0CAA0C,IACnD,gEAAQ,IAAI,CAAC,SAAS,CAAS,CAC3B,CACF,EAEL,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,QACE,WAAK,KAAK,EAAE,uDAAuD,GAAG,CAAC,EAAE,EAAE,EAAE,gBAAgB,GAAG,CAAC,IAC/F,8DACiB,IAAI,CAAC,YAAY,6BACP,IAAI,CAAC,qBAAqB,qBAClC,IAAI,CAAC,aAAa,qBAClB,IAAI,CAAC,aAAa,yBACd,IAAI,CAAC,iBAAiB,8BACjB,IAAI,CAAC,qBAAqB,gCACxB,IAAI,CAAC,sBAAsB,iCAC1B,IAAI,CAAC,uBAAuB,8BAC/B,IAAI,CAAC,sBAAsB,sBACnC,IAAI,CAAC,cAAc,sBACnB,IAAI,CAAC,cAAc,0BACf,IAAI,CAAC,kBAAkB,+BAClB,IAAI,CAAC,sBAAsB,iCACzB,IAAI,CAAC,uBAAuB,kCAC3B,IAAI,CAAC,wBAAwB,EAC3D,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,cAAc,EAAE,IAAI,CAAC,oBAAoB,EACzC,aAAa,EAAE,IAAI,CAAC,mBAAmB,sBACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBACvB,IAAI,CAAC,WAAW,eACpB,CAAC,oBACI,IAAI,CAAC,aAAa,GACK,CACrC,EACN;SACH,CAAC,EAEF,4DAAK,KAAK,EAAC,gDAAgD,IACzD,iEAAU,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,UAAU,GAAG,EAAiB,CAAC,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,GAAa,EAEpJ,kEACE,OAAO,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,eACvC,MAAM,EAChB,SAAS,EAAC,KAAK,EACf,IAAI,EAAE,IAAI,EACV,UAAU,EAAC,OAAO,EAClB,OAAO,EAAC,YAAY,EACpB,KAAK,EAAC,kCAAkC,EACxC,OAAO,EAAE;gBACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;aACtC,IAEA,IAAI,CAAC,UAAU,CACN,CACR,EAEL,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,WAAK,KAAK,EAAC,wCAAwC,IAAE,IAAI,CAAC,iBAAiB,CAAO,GAAG,IAAI,CACtH,EACP;KACH;;;;;;;;;","names":["uuidv4"],"sources":["src/components/input/pn-dropdown-with-multi-input-rows/translations.ts","src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.scss?tag=pn-dropdown-with-multi-input-rows","src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.tsx"],"sourcesContent":["export const translations = {\n 'sv': {\n dropdownPlaceholder: 'Välj ett alternativ',\n },\n 'en': {\n dropdownPlaceholder: 'Select an option',\n },\n 'da': {\n dropdownPlaceholder: 'Vælg en mulighed',\n },\n};","@import '../../../globals/main.scss';\n\npn-dropdown-with-multi-input-rows {\n .dropdown-with-multi-input-element {\n &__row {\n margin-bottom: 1rem;\n }\n\n &__delete {\n display: flex;\n gap: 1rem;\n margin-bottom: 1rem;\n padding: 1rem;\n background-color: $gray25;\n\n pn-button {\n margin-top: 0.9rem;\n }\n }\n\n &__label-row {\n display: flex;\n gap: 1rem;\n }\n\n &__label {\n width: 30%;\n font-size: 0.875em;\n color: #5e554a;\n }\n }\n\n \n .sum-row {\n display: flex;\n justify-content: space-between;\n }\n \n .dropdown-with-multi-input-element__dropdown {\n display: inline-flex;\n align-items: center;\n }\n \n small {\n max-width: 70%;\n margin: 1rem;\n align-self: center;\n position: relative;\n top: 1rem;\n }\n \n .dropdown-with-multi-input-element__row \n .dropdown-with-multi-input-element__dropdown \n .pn-row-select-dropdown \n .pn-select \n .pn-select-input\n .pn-select-content {\n width: 18rem;\n }\n\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { FormValue, RowValue, Root, PredefinedValues, Translationsi18n } from './types';\nimport { v4 as uuidv4 } from 'uuid';\nimport debounce from 'debounce';\nimport { plus } from 'pn-design-assets/pn-assets/icons.js';\nimport { translations } from './translations';\n\n@Component({\n tag: 'pn-dropdown-with-multi-input-rows',\n styleUrl: 'pn-dropdown-with-multi-input-rows.scss',\n})\nexport class PnDropdownWithMultiInputRows {\n @Element() hostElement: Element;\n pnFirstDropdown: HTMLElement = null;\n pnSecondDropdown: HTMLElement = null;\n pnSumField: HTMLElement = null;\n pnConfirmDeleteButton: HTMLElement = null;\n pnAbortDeleteButton: HTMLElement = null;\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() firstDropdownLabel: string = null;\n @Prop() firstDropdownHelperText: string = null;\n @Prop() secondDropdownLabel: string = null;\n @Prop() secondDropdownHelperText: string = null;\n @Prop() secondDropdownMax: number = null;\n @Prop() deleteMultipleRowsWarningText: string = null;\n @Prop() confirmDeleteButtonText: string = null;\n @Prop() abortDeleteButtonText: string = null;\n @Prop() firstInputLabel: string = null;\n @Prop() firstInputPlaceholder: string = null;\n @Prop() firstInputMin: number = null;\n @Prop() firstInputMax: number = null;\n @Prop() firstInputWarning: number = null;\n @Prop() firstInputWarningText: string = null;\n @Prop() firstInputLowErrorText: string = null;\n @Prop() firstInputHighErrorText: string = null;\n @Prop() secondInputLabel: string = null;\n @Prop() secondInputPlaceholder: string = null;\n @Prop() secondInputMin: number = null;\n @Prop() secondInputMax: number = null;\n @Prop() secondInputWarning: number = null;\n @Prop() secondInputWarningText: string = null;\n @Prop() secondInputLowErrorText: string = null;\n @Prop() secondInputHighErrorText: string = null;\n @Prop() disabledDates: string = null;\n @Prop() dateLabel: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() dateDaysFromToday: number = 1;\n @Prop() yearsToAddToEndDate: number = null;\n @Prop() sumFieldLabel: string = null;\n @Prop() addRowText: string = null;\n @Prop() elementHelperText: string = null;\n\n @State() dropdownDataRoot: Root[] = null;\n @State() secondDropdownArr: number[] = [];\n @State() rowData: PredefinedValues[] = null;\n @State() formValues: FormValue[] = null;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n @State() rowSum: string = null;\n @State() minRowCount: number = null;\n @State() showDeleteConfirm: boolean = false;\n @State() i18n: Translationsi18n;\n\n @Event() allFormValues: EventEmitter<string>;\n\n private _firstDropdownSelection: string = null;\n private _secondDropdownSelection: number = null;\n\n private _defaultRow: PredefinedValues;\n\n constructor() {\n this._defaultRow = {\n id: this.generateUniqueId(),\n firstInput: '',\n secondInput: this.secondInputWarning !== null ? this.secondInputWarning.toString() : '',\n date: '',\n };\n }\n\n componentWillLoad() {\n this.formValues = [];\n this.setDropDownData();\n this.updateSecondDropdown();\n this.setRowData();\n this.setFirstValidDate();\n this.setTranslations();\n }\n\n @Watch('languageCode')\n setTranslations() {\n this.i18n = translations[this.languageCode] || translations['en'];\n }\n\n componentDidLoad() {\n this.updateSum();\n }\n\n setDropDownData() {\n if (typeof this.dropdownData === 'string') {\n this.dropdownDataRoot = JSON.parse(this.dropdownData);\n } else {\n this.dropdownDataRoot = this.dropdownData;\n }\n\n if (this.dropdownDataRoot?.length) {\n this.dropdownDataRoot.forEach(element => {\n if (!element.value) {\n element.value = 0;\n }\n });\n }\n\n if (this.dropdownDataRoot.length > 0) {\n this.dropdownDataRoot[0].checked = true;\n this._firstDropdownSelection = this.dropdownDataRoot[0].label;\n this._secondDropdownSelection = this.dropdownDataRoot[0].value;\n this.minRowCount = this.dropdownDataRoot[0].value;\n }\n }\n\n updateSecondDropdown() {\n const selectedItem = this.dropdownDataRoot.find(arr => arr.checked === true);\n this.secondDropdownArr = [];\n\n for (let index = selectedItem.value; index <= this.secondDropdownMax; index++) {\n this.secondDropdownArr.push(index);\n }\n }\n\n updateSelectItemArr(arr: Root[], caption: string) {\n arr.forEach(item => {\n if (item.label === caption) {\n item.checked = !item.checked;\n } else {\n item.checked = false;\n }\n });\n return arr;\n }\n\n setRowData() {\n this.rowData = [];\n for (let index = 0; index < this._secondDropdownSelection; index++) {\n const row = Object.assign({}, this._defaultRow);\n row.id = this.generateUniqueId();\n this.rowData = [...this.rowData, row];\n }\n }\n\n generateUniqueId() {\n return uuidv4();\n }\n\n setFirstValidDate() {\n const yearsToadd = this.yearsToAddToEndDate ? this.yearsToAddToEndDate : 2;\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + yearsToadd;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n addRow(newRowId: string) {\n const newRow = Object.assign({}, this.rowData[0]);\n newRow.id = newRowId ? newRowId : this.generateUniqueId();\n newRow.date = '';\n this.rowData = [...this.rowData, newRow];\n\n this.secondDropdownArr = [...this.secondDropdownArr];\n this.updateSum();\n this.emitValuesIfValid();\n }\n\n handleFirstDropdown = debounce((e: Event) => {\n const selected = e.target as HTMLSelectElement | null;\n const selectedValue = selected?.value;\n\n if (!selectedValue?.length) {\n return;\n }\n\n const selectionRoot = this.dropdownDataRoot.find(x => x.value.toString() === selectedValue);\n this.minRowCount = selectionRoot.value;\n\n if (selectionRoot.value > this._secondDropdownSelection) {\n this.dropdownDataRoot = [...this.dropdownDataRoot];\n\n for (let index = this.rowData?.length; index < selectionRoot.value; index++) {\n this.addRow(this.generateUniqueId());\n }\n }\n\n this.updateSecondDropdown();\n this.updateSum();\n this.emitValuesIfValid();\n })\n\n handleSecondDropdown = debounce((e: Event) => {\n const target = e.target as HTMLSelectElement | null;\n const selectedOption = target?.value;\n\n if (!selectedOption) {\n return;\n }\n\n const selectedValue = selectedOption\n\n if (!selectedValue?.length) {\n return;\n }\n\n const value = parseInt(selectedValue);\n\n if (value < this._secondDropdownSelection) {\n this.showDeleteConfirm = true;\n } else {\n for (let index = this.rowData?.length; index < value; index++) {\n this.addRow(this.generateUniqueId());\n }\n }\n\n this._secondDropdownSelection = value;\n\n this.updateSum();\n this.emitValuesIfValid();\n })\n\n @Listen('rowValueChange')\n @Listen('firstInputChange')\n @Listen('secondInputChange')\n predefinedValueChange(e) {\n const indexToUpdate = this.rowData?.findIndex(data => data.id === e.detail.id);\n const val: PredefinedValues = e.detail;\n this.rowData[indexToUpdate] = {\n ...this.rowData[indexToUpdate],\n firstInput: val.firstInput,\n secondInput: val.secondInput,\n date: val.date,\n };\n\n if (e.type === 'firstInputChange' && indexToUpdate === 0) {\n this.updateFirstInputOfRows(val.firstInput);\n }\n\n if (e.type === 'secondInputChange' && indexToUpdate === 0) {\n this.updateSecondInputOfRows(val.secondInput);\n }\n\n this.rowData = [...this.rowData];\n this.emitValuesIfValid();\n this.updateSum();\n }\n\n updateFirstInputOfRows(value: string) {\n for (let index = 1; index < this.rowData?.length; index++) {\n this.rowData[index] = {\n ...this.rowData[index],\n firstInput: value,\n };\n }\n }\n\n updateSecondInputOfRows(value: string) {\n for (let index = 1; index < this.rowData?.length; index++) {\n this.rowData[index] = {\n ...this.rowData[index],\n secondInput: value,\n };\n }\n }\n\n @Listen('deleteRowEvent')\n deleteRowEvent(e) {\n const indexToRemove = this.rowData?.findIndex(data => data.id === e.detail);\n if (indexToRemove < 0) {\n return;\n }\n\n this.rowData?.splice(indexToRemove, 1);\n this.rowData = [...this.rowData];\n\n this.secondDropdownArr = [...this.secondDropdownArr];\n this.emitValuesIfValid();\n this.updateSum();\n }\n\n updateSum() {\n this.rowSum = '';\n let sum = 0;\n this.rowData?.forEach(element => {\n if (element?.firstInput?.length) {\n sum += parseInt(element.firstInput);\n }\n });\n\n this.rowSum = sum.toString();\n }\n\n deleteExcessRows() {\n if (this._secondDropdownSelection === null) {\n return;\n }\n\n const rowsToDelete = this.rowData?.length - this._secondDropdownSelection;\n for (let index = 0; index < rowsToDelete; index++) {\n this.rowData?.pop();\n }\n this.rowData = [...this.rowData];\n this.showDeleteConfirm = false;\n this.updateSum();\n }\n\n abortDeleteRows() {\n this.showDeleteConfirm = false;\n }\n\n emitValuesIfValid() {\n this.formValues = [];\n this.rowData?.forEach(item => {\n const rowValue: FormValue = { row: [] };\n if (this._firstDropdownSelection?.length) {\n const dropDownValue: RowValue = { name: this.firstDropdownLabel, value: this._firstDropdownSelection };\n rowValue.row.push(dropDownValue);\n }\n\n if (item.firstInput?.length) {\n const firstInputValue: RowValue = { name: this.firstInputLabel, value: item.firstInput };\n rowValue.row.push(firstInputValue);\n }\n\n if (item.secondInput?.length) {\n const secondInputValue: RowValue = { name: this.secondInputLabel, value: item.secondInput };\n rowValue.row.push(secondInputValue);\n }\n\n if (item.date) {\n const dateValue: RowValue = { name: this.dateLabel, value: item.date };\n rowValue.row.push(dateValue);\n }\n\n if (rowValue.row.length === 4) {\n this.formValues.push(rowValue);\n }\n });\n\n if (this.formValues.length === this.rowData?.length) {\n const valueJsonString = JSON.stringify(this.formValues);\n this.allFormValues.emit(valueJsonString);\n } else {\n this.allFormValues.emit('');\n }\n }\n\n render() {\n return (\n <Host class=\"dropdown-with-multi-input-element\">\n <div class=\"dropdown-with-multi-input-element__row\">\n <div class=\"dropdown-with-multi-input-element__dropdown\">\n <pn-select ref={el => (this.pnFirstDropdown = el as HTMLElement)} onChange={debounce(this.handleFirstDropdown.bind(this), 500)} class=\"pn-row-select-dropdown dropDown1-dropdown\" label={this.firstDropdownLabel} language={this.languageCode}>\n <option value=\"\" disabled selected>{this.i18n.dropdownPlaceholder}</option>\n {this.dropdownDataRoot?.map((item) => (\n <option value={item.value}>{item.label}</option>\n ))}\n </pn-select>\n {this.firstDropdownHelperText?.length ? <small>{this.firstDropdownHelperText}</small> : null}\n </div>\n </div>\n\n <div class=\"dropdown-with-multi-input-element__row\">\n <div class=\"dropdown-with-multi-input-element__dropdown\">\n <pn-select ref={el => (this.pnSecondDropdown = el as HTMLElement)} onChange={debounce(this.handleSecondDropdown.bind(this), 500)} class=\"pn-row-select-dropdown dropDown2-dropdown\" label={this.secondDropdownLabel} language={this.languageCode}>\n <option value=\"\" disabled selected>{this.i18n.dropdownPlaceholder}</option>\n {this.secondDropdownArr?.map((item) => (\n <option value={item}>{item}</option>\n ))}\n </pn-select>\n {this.secondDropdownHelperText?.length ? <small>{this.secondDropdownHelperText}</small> : null}\n </div>\n </div>\n\n {this.showDeleteConfirm ? (\n <div class=\"dropdown-with-multi-input-element__delete\">\n <p>{this.deleteMultipleRowsWarningText}</p>\n <pn-button ref={el => (this.pnConfirmDeleteButton = el as HTMLElement)} small=\"true\" appearance=\"warning\" onClick={this.deleteExcessRows.bind(this)}>\n {this.confirmDeleteButtonText}\n </pn-button>\n <pn-button ref={el => (this.pnAbortDeleteButton = el as HTMLElement)} small=\"true\" appearance=\"light\" onClick={this.abortDeleteRows.bind(this)}>\n {this.abortDeleteButtonText}\n </pn-button>\n </div>\n ) : null}\n\n <div class=\"dropdown-with-multi-input-element__label-row\">\n <div class=\"dropdown-with-multi-input-element__label\">\n <label>{this.firstInputLabel}</label>\n </div>\n <div class=\"dropdown-with-multi-input-element__label\">\n <label>{this.secondInputLabel}</label>\n </div>\n <div class=\"dropdown-with-multi-input-element__label\">\n <label>{this.dateLabel}</label>\n </div>\n </div>\n\n {this.rowData?.map((data, i) => {\n return (\n <div class={'dropdown-with-multi-input-element__row generated-row-' + i} id={'generated-row-' + i}>\n <pn-dropdown-with-multi-input-rows-row\n language-code={this.languageCode}\n first-input-placeholder={this.firstInputPlaceholder}\n first-input-min={this.firstInputMin}\n first-input-max={this.firstInputMax}\n first-input-warning={this.firstInputWarning}\n first-input-warning-text={this.firstInputWarningText}\n first-input-low-error-text={this.firstInputLowErrorText}\n first-input-high-error-text={this.firstInputHighErrorText}\n second-input-placeholder={this.secondInputPlaceholder}\n second-input-min={this.secondInputMin}\n second-input-max={this.secondInputMax}\n second-input-warning={this.secondInputWarning}\n second-input-warning-text={this.secondInputWarningText}\n second-input-low-error-text={this.secondInputLowErrorText}\n second-input-high-error-text={this.secondInputHighErrorText}\n datePlaceholder={this.datePlaceholder}\n firstValidDate={this.firstValidDateString}\n lastValidDate={this.lastValidDateString}\n predefined-value={JSON.stringify(data)}\n min-row-count={this.minRowCount}\n row-index={i}\n disabled-dates={this.disabledDates}\n ></pn-dropdown-with-multi-input-rows-row>\n </div>\n );\n })}\n\n <div class=\"dropdown-with-multi-input-element__row sum-row\">\n <pn-input disabled={true} ref={el => (this.pnSumField = el as HTMLElement)} type=\"number\" value={this.rowSum} label={this.sumFieldLabel}></pn-input>\n\n <pn-button\n tooltip={this.addRowText ? this.addRowText : null}\n left-icon=\"true\"\n arialabel=\"Add\"\n icon={plus}\n appearance=\"light\"\n variant=\"borderless\"\n class=\"connected-dropdown__button-right\"\n onClick={() => {\n this.addRow(this.generateUniqueId());\n }}\n >\n {this.addRowText}\n </pn-button>\n </div>\n\n {this.elementHelperText?.length ? <div class=\"dropdown-with-multi-input-element__row\">{this.elementHelperText}</div> : null}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-dropdown-with-multi-input-rows.entry.js","mappings":"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","names":["uuidv4"],"sources":["src/components/input/pn-dropdown-with-multi-input-rows/translations.ts","src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.scss?tag=pn-dropdown-with-multi-input-rows","src/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.tsx"],"sourcesContent":["export const translations = {\n 'sv': {\n dropdownPlaceholder: 'Välj ett alternativ',\n },\n 'en': {\n dropdownPlaceholder: 'Select an option',\n },\n 'da': {\n dropdownPlaceholder: 'Vælg en mulighed',\n },\n};","@import '../../../globals/main.scss';\n\npn-dropdown-with-multi-input-rows {\n .dropdown-with-multi-input-element {\n &__row {\n margin-bottom: 1rem;\n }\n\n &__delete {\n display: flex;\n gap: 1rem;\n margin-bottom: 1rem;\n padding: 1rem;\n background-color: $gray25;\n\n pn-button {\n margin-top: 0.9rem;\n }\n }\n\n &__label-row {\n display: flex;\n gap: 1rem;\n }\n\n &__label {\n width: 30%;\n font-size: 0.875em;\n color: #5e554a;\n }\n }\n\n \n .sum-row {\n display: flex;\n justify-content: space-between;\n }\n \n .dropdown-with-multi-input-element__dropdown {\n display: inline-flex;\n align-items: center;\n }\n \n small {\n max-width: 70%;\n margin: 1rem;\n align-self: center;\n position: relative;\n top: 1rem;\n }\n \n .dropdown-with-multi-input-element__row \n .dropdown-with-multi-input-element__dropdown \n .pn-row-select-dropdown \n .pn-select \n .pn-select-input\n .pn-select-content {\n width: 18rem;\n }\n\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { FormValue, RowValue, Root, PredefinedValues, Translationsi18n } from './types';\nimport { v4 as uuidv4 } from 'uuid';\nimport debounce from 'debounce';\nimport { plus } from 'pn-design-assets/pn-assets/icons.js';\nimport { translations } from './translations';\n\n@Component({\n tag: 'pn-dropdown-with-multi-input-rows',\n styleUrl: 'pn-dropdown-with-multi-input-rows.scss',\n})\nexport class PnDropdownWithMultiInputRows {\n @Element() hostElement: Element;\n pnFirstDropdown: HTMLElement = null;\n pnSecondDropdown: HTMLElement = null;\n pnSumField: HTMLElement = null;\n pnConfirmDeleteButton: HTMLElement = null;\n pnAbortDeleteButton: HTMLElement = null;\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() firstDropdownLabel: string = null;\n @Prop() firstDropdownHelperText: string = null;\n @Prop() secondDropdownLabel: string = null;\n @Prop() secondDropdownHelperText: string = null;\n @Prop() secondDropdownMax: number = null;\n @Prop() deleteMultipleRowsWarningText: string = null;\n @Prop() confirmDeleteButtonText: string = null;\n @Prop() abortDeleteButtonText: string = null;\n @Prop() firstInputLabel: string = null;\n @Prop() firstInputPlaceholder: string = null;\n @Prop() firstInputMin: number = null;\n @Prop() firstInputMax: number = null;\n @Prop() firstInputWarning: number = null;\n @Prop() firstInputWarningText: string = null;\n @Prop() firstInputLowErrorText: string = null;\n @Prop() firstInputHighErrorText: string = null;\n @Prop() secondInputLabel: string = null;\n @Prop() secondInputPlaceholder: string = null;\n @Prop() secondInputMin: number = null;\n @Prop() secondInputMax: number = null;\n @Prop() secondInputWarning: number = null;\n @Prop() secondInputWarningText: string = null;\n @Prop() secondInputLowErrorText: string = null;\n @Prop() secondInputHighErrorText: string = null;\n @Prop() disabledDates: string = null;\n @Prop() dateLabel: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() dateDaysFromToday: number = 1;\n @Prop() yearsToAddToEndDate: number = null;\n @Prop() sumFieldLabel: string = null;\n @Prop() addRowText: string = null;\n @Prop() elementHelperText: string = null;\n\n @State() dropdownDataRoot: Root[] = null;\n @State() secondDropdownArr: number[] = [];\n @State() rowData: PredefinedValues[] = null;\n @State() formValues: FormValue[] = null;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n @State() rowSum: string = null;\n @State() minRowCount: number = null;\n @State() showDeleteConfirm: boolean = false;\n @State() i18n: Translationsi18n;\n\n @Event() allFormValues: EventEmitter<string>;\n\n private _firstDropdownSelection: string = null;\n private _secondDropdownSelection: number = null;\n\n private _defaultRow: PredefinedValues;\n\n constructor() {\n this._defaultRow = {\n id: this.generateUniqueId(),\n firstInput: '',\n secondInput: this.secondInputWarning !== null ? this.secondInputWarning.toString() : '',\n date: '',\n };\n }\n\n componentWillLoad() {\n this.formValues = [];\n this.setDropDownData();\n this.updateSecondDropdown();\n this.setRowData();\n this.setFirstValidDate();\n this.setTranslations();\n }\n\n @Watch('languageCode')\n setTranslations() {\n this.i18n = translations[this.languageCode] || translations['en'];\n }\n\n componentDidLoad() {\n this.updateSum();\n }\n\n setDropDownData() {\n if (typeof this.dropdownData === 'string') {\n this.dropdownDataRoot = JSON.parse(this.dropdownData);\n } else {\n this.dropdownDataRoot = this.dropdownData;\n }\n\n if (this.dropdownDataRoot?.length) {\n this.dropdownDataRoot.forEach(element => {\n if (!element.value) {\n element.value = 0;\n }\n });\n }\n\n if (this.dropdownDataRoot.length > 0) {\n this.dropdownDataRoot[0].checked = true;\n this._firstDropdownSelection = this.dropdownDataRoot[0].label;\n this._secondDropdownSelection = this.dropdownDataRoot[0].value;\n this.minRowCount = this.dropdownDataRoot[0].value;\n }\n }\n\n updateSecondDropdown() {\n const selectedItem = this.dropdownDataRoot.find(arr => arr.checked === true);\n this.secondDropdownArr = [];\n\n for (let index = selectedItem.value; index <= this.secondDropdownMax; index++) {\n this.secondDropdownArr.push(index);\n }\n }\n\n updateSelectItemArr(arr: Root[], caption: string) {\n arr.forEach(item => {\n if (item.label === caption) {\n item.checked = !item.checked;\n } else {\n item.checked = false;\n }\n });\n return arr;\n }\n\n setRowData() {\n this.rowData = [];\n for (let index = 0; index < this._secondDropdownSelection; index++) {\n const row = Object.assign({}, this._defaultRow);\n row.id = this.generateUniqueId();\n this.rowData = [...this.rowData, row];\n }\n }\n\n generateUniqueId() {\n return uuidv4();\n }\n\n setFirstValidDate() {\n const yearsToadd = this.yearsToAddToEndDate ? this.yearsToAddToEndDate : 2;\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + yearsToadd;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n addRow(newRowId: string) {\n const newRow = Object.assign({}, this.rowData[0]);\n newRow.id = newRowId ? newRowId : this.generateUniqueId();\n newRow.date = '';\n this.rowData = [...this.rowData, newRow];\n\n this.secondDropdownArr = [...this.secondDropdownArr];\n this.updateSum();\n this.emitValuesIfValid();\n }\n\n handleFirstDropdown = debounce((e: Event) => {\n const selected = e.target as HTMLSelectElement | null;\n const selectedValue = selected?.value;\n\n if (!selectedValue?.length) {\n return;\n }\n\n const selectionRoot = this.dropdownDataRoot.find(x => x.value.toString() === selectedValue);\n this.minRowCount = selectionRoot.value;\n\n if (selectionRoot.value > this._secondDropdownSelection) {\n this.dropdownDataRoot = [...this.dropdownDataRoot];\n\n for (let index = this.rowData?.length; index < selectionRoot.value; index++) {\n this.addRow(this.generateUniqueId());\n }\n }\n\n this.updateSecondDropdown();\n this.updateSum();\n this.emitValuesIfValid();\n })\n\n handleSecondDropdown = debounce((e: Event) => {\n const target = e.target as HTMLSelectElement | null;\n const selectedOption = target?.value;\n\n if (!selectedOption) {\n return;\n }\n\n const selectedValue = selectedOption\n\n if (!selectedValue?.length) {\n return;\n }\n\n const value = parseInt(selectedValue);\n\n if (value < this._secondDropdownSelection) {\n this.showDeleteConfirm = true;\n } else {\n for (let index = this.rowData?.length; index < value; index++) {\n this.addRow(this.generateUniqueId());\n }\n }\n\n this._secondDropdownSelection = value;\n\n this.updateSum();\n this.emitValuesIfValid();\n })\n\n @Listen('rowValueChange')\n @Listen('firstInputChange')\n @Listen('secondInputChange')\n predefinedValueChange(e) {\n const indexToUpdate = this.rowData?.findIndex(data => data.id === e.detail.id);\n const val: PredefinedValues = e.detail;\n this.rowData[indexToUpdate] = {\n ...this.rowData[indexToUpdate],\n firstInput: val.firstInput,\n secondInput: val.secondInput,\n date: val.date,\n };\n\n if (e.type === 'firstInputChange' && indexToUpdate === 0) {\n this.updateFirstInputOfRows(val.firstInput);\n }\n\n if (e.type === 'secondInputChange' && indexToUpdate === 0) {\n this.updateSecondInputOfRows(val.secondInput);\n }\n\n this.rowData = [...this.rowData];\n this.emitValuesIfValid();\n this.updateSum();\n }\n\n updateFirstInputOfRows(value: string) {\n for (let index = 1; index < this.rowData?.length; index++) {\n this.rowData[index] = {\n ...this.rowData[index],\n firstInput: value,\n };\n }\n }\n\n updateSecondInputOfRows(value: string) {\n for (let index = 1; index < this.rowData?.length; index++) {\n this.rowData[index] = {\n ...this.rowData[index],\n secondInput: value,\n };\n }\n }\n\n @Listen('deleteRowEvent')\n deleteRowEvent(e) {\n const indexToRemove = this.rowData?.findIndex(data => data.id === e.detail);\n if (indexToRemove < 0) {\n return;\n }\n\n this.rowData?.splice(indexToRemove, 1);\n this.rowData = [...this.rowData];\n\n this.secondDropdownArr = [...this.secondDropdownArr];\n this.emitValuesIfValid();\n this.updateSum();\n }\n\n updateSum() {\n this.rowSum = '';\n let sum = 0;\n this.rowData?.forEach(element => {\n if (element?.firstInput?.length) {\n sum += parseInt(element.firstInput);\n }\n });\n\n this.rowSum = sum.toString();\n }\n\n deleteExcessRows() {\n if (this._secondDropdownSelection === null) {\n return;\n }\n\n const rowsToDelete = this.rowData?.length - this._secondDropdownSelection;\n for (let index = 0; index < rowsToDelete; index++) {\n this.rowData?.pop();\n }\n this.rowData = [...this.rowData];\n this.showDeleteConfirm = false;\n this.updateSum();\n }\n\n abortDeleteRows() {\n this.showDeleteConfirm = false;\n }\n\n emitValuesIfValid() {\n this.formValues = [];\n this.rowData?.forEach(item => {\n const rowValue: FormValue = { row: [] };\n if (this._firstDropdownSelection?.length) {\n const dropDownValue: RowValue = { name: this.firstDropdownLabel, value: this._firstDropdownSelection };\n rowValue.row.push(dropDownValue);\n }\n\n if (item.firstInput?.length) {\n const firstInputValue: RowValue = { name: this.firstInputLabel, value: item.firstInput };\n rowValue.row.push(firstInputValue);\n }\n\n if (item.secondInput?.length) {\n const secondInputValue: RowValue = { name: this.secondInputLabel, value: item.secondInput };\n rowValue.row.push(secondInputValue);\n }\n\n if (item.date) {\n const dateValue: RowValue = { name: this.dateLabel, value: item.date };\n rowValue.row.push(dateValue);\n }\n\n if (rowValue.row.length === 4) {\n this.formValues.push(rowValue);\n }\n });\n\n if (this.formValues.length === this.rowData?.length) {\n const valueJsonString = JSON.stringify(this.formValues);\n this.allFormValues.emit(valueJsonString);\n } else {\n this.allFormValues.emit('');\n }\n }\n\n render() {\n return (\n <Host class=\"dropdown-with-multi-input-element\">\n <div class=\"dropdown-with-multi-input-element__row\">\n <div class=\"dropdown-with-multi-input-element__dropdown\">\n <pn-select ref={el => (this.pnFirstDropdown = el as HTMLElement)} onChange={debounce(this.handleFirstDropdown.bind(this), 500)} class=\"pn-row-select-dropdown dropDown1-dropdown\" label={this.firstDropdownLabel} language={this.languageCode}>\n <option value=\"\" disabled selected>{this.i18n.dropdownPlaceholder}</option>\n {this.dropdownDataRoot?.map((item) => (\n <option value={item.value}>{item.label}</option>\n ))}\n </pn-select>\n {this.firstDropdownHelperText?.length ? <small>{this.firstDropdownHelperText}</small> : null}\n </div>\n </div>\n\n <div class=\"dropdown-with-multi-input-element__row\">\n <div class=\"dropdown-with-multi-input-element__dropdown\">\n <pn-select ref={el => (this.pnSecondDropdown = el as HTMLElement)} onChange={debounce(this.handleSecondDropdown.bind(this), 500)} class=\"pn-row-select-dropdown dropDown2-dropdown\" label={this.secondDropdownLabel} language={this.languageCode}>\n <option value=\"\" disabled selected>{this.i18n.dropdownPlaceholder}</option>\n {this.secondDropdownArr?.map((item) => (\n <option value={item}>{item}</option>\n ))}\n </pn-select>\n {this.secondDropdownHelperText?.length ? <small>{this.secondDropdownHelperText}</small> : null}\n </div>\n </div>\n\n {this.showDeleteConfirm ? (\n <div class=\"dropdown-with-multi-input-element__delete\">\n <p>{this.deleteMultipleRowsWarningText}</p>\n <pn-button ref={el => (this.pnConfirmDeleteButton = el as HTMLElement)} small=\"true\" appearance=\"warning\" onClick={this.deleteExcessRows.bind(this)}>\n {this.confirmDeleteButtonText}\n </pn-button>\n <pn-button ref={el => (this.pnAbortDeleteButton = el as HTMLElement)} small=\"true\" appearance=\"light\" onClick={this.abortDeleteRows.bind(this)}>\n {this.abortDeleteButtonText}\n </pn-button>\n </div>\n ) : null}\n\n <div class=\"dropdown-with-multi-input-element__label-row\">\n <div class=\"dropdown-with-multi-input-element__label\">\n <label>{this.firstInputLabel}</label>\n </div>\n <div class=\"dropdown-with-multi-input-element__label\">\n <label>{this.secondInputLabel}</label>\n </div>\n <div class=\"dropdown-with-multi-input-element__label\">\n <label>{this.dateLabel}</label>\n </div>\n </div>\n\n {this.rowData?.map((data, i) => {\n return (\n <div class={'dropdown-with-multi-input-element__row generated-row-' + i} id={'generated-row-' + i}>\n <pn-dropdown-with-multi-input-rows-row\n language-code={this.languageCode}\n first-input-placeholder={this.firstInputPlaceholder}\n first-input-min={this.firstInputMin}\n first-input-max={this.firstInputMax}\n first-input-warning={this.firstInputWarning}\n first-input-warning-text={this.firstInputWarningText}\n first-input-low-error-text={this.firstInputLowErrorText}\n first-input-high-error-text={this.firstInputHighErrorText}\n second-input-placeholder={this.secondInputPlaceholder}\n second-input-min={this.secondInputMin}\n second-input-max={this.secondInputMax}\n second-input-warning={this.secondInputWarning}\n second-input-warning-text={this.secondInputWarningText}\n second-input-low-error-text={this.secondInputLowErrorText}\n second-input-high-error-text={this.secondInputHighErrorText}\n datePlaceholder={this.datePlaceholder}\n firstValidDate={this.firstValidDateString}\n lastValidDate={this.lastValidDateString}\n predefined-value={JSON.stringify(data)}\n min-row-count={this.minRowCount}\n row-index={i}\n disabled-dates={this.disabledDates}\n ></pn-dropdown-with-multi-input-rows-row>\n </div>\n );\n })}\n\n <div class=\"dropdown-with-multi-input-element__row sum-row\">\n <pn-input disabled={true} ref={el => (this.pnSumField = el as HTMLElement)} type=\"number\" value={this.rowSum} label={this.sumFieldLabel}></pn-input>\n\n <pn-button\n tooltip={this.addRowText ? this.addRowText : null}\n left-icon=\"true\"\n arialabel=\"Add\"\n icon={plus}\n appearance=\"light\"\n variant=\"borderless\"\n class=\"connected-dropdown__button-right\"\n onClick={() => {\n this.addRow(this.generateUniqueId());\n }}\n >\n {this.addRowText}\n </pn-button>\n </div>\n\n {this.elementHelperText?.length ? <div class=\"dropdown-with-multi-input-element__row\">{this.elementHelperText}</div> : null}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, g as getElement, h, d as Host } from './index-51d67461.js';
1
+ import { r as registerInstance, g as getElement, h, d as Host } from './index-c311acd6.js';
2
2
 
3
- const pnFilterCheckboxCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}:host{display:inline-block;user-select:none}:host input{opacity:0;position:absolute}:host input[type=checkbox]+label.pn-checkbox{width:1.5em;min-width:1.5em;height:1.5em;min-height:1.5em;background:#fff;display:flex;justify-content:center;align-items:center;position:relative;border:0.1rem solid #969087;cursor:pointer;border-radius:0.4rem;cursor:pointer;transition-duration:220ms;transition-timing-function:cubic-bezier(0.79, 0.14, 0.15, 0.86);transition-property:border, background, box-shadow}:host input[type=checkbox]+label.pn-checkbox svg{width:80%;fill:none}:host input[type=checkbox]+label.pn-checkbox svg polyline{stroke:#fff;transform-origin:0 0;stroke-linecap:round;stroke-dasharray:23;stroke-dashoffset:23;transition-delay:none;transition:stroke-dashoffset 180ms cubic-bezier(0.79, 0.14, 0.15, 0.86)}:host input[type=checkbox]:hover+label.pn-checkbox{border:0.1rem solid #005d92;background:#e0f8ff}:host input[type=checkbox]:checked+label.pn-checkbox,:host input[type=checkbox]:indeterminate+label.pn-checkbox{background:#005d92;border:0.1rem solid #005d92}:host input[type=checkbox]:checked+label.pn-checkbox svg polyline,:host input[type=checkbox]:indeterminate+label.pn-checkbox svg polyline{transition-delay:220ms}:host input[type=checkbox]:checked+label.pn-checkbox svg polyline.checkmark-path{stroke-dashoffset:0}:host input[type=checkbox]:indeterminate+label.pn-checkbox svg polyline.indeterminate-path{stroke-dashoffset:0}:host input[type=checkbox]:focus+label.pn-checkbox,:host input[type=checkbox]:active+label.pn-checkbox{box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem #005d92}:host input[type=checkbox]:disabled+label.pn-checkbox{background-color:#d3cecb;border:0.1rem solid #969087;cursor:not-allowed}:host input[type=checkbox]:disabled+label.pn-checkbox svg polyline{stroke:#969087}:host input[type=checkbox]:disabled:checked+label.pn-checkbox{border:0.1rem solid transparent}:host input[type=checkbox]:disabled:active+label.pn-checkbox{box-shadow:none}";
3
+ const pnFilterCheckboxCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}:host{display:inline-block;user-select:none}:host input{opacity:0;position:absolute}:host input[type=checkbox]+label.pn-checkbox{width:1.5em;min-width:1.5em;height:1.5em;min-height:1.5em;background:#fff;display:flex;justify-content:center;align-items:center;position:relative;border:0.1rem solid #969087;cursor:pointer;border-radius:0.4rem;cursor:pointer;transition-duration:220ms;transition-timing-function:cubic-bezier(0.79, 0.14, 0.15, 0.86);transition-property:border, background, box-shadow}:host input[type=checkbox]+label.pn-checkbox svg{width:80%;fill:none}:host input[type=checkbox]+label.pn-checkbox svg polyline{stroke:#fff;transform-origin:0 0;stroke-linecap:round;stroke-dasharray:23;stroke-dashoffset:23;transition-delay:none;transition:stroke-dashoffset 180ms cubic-bezier(0.79, 0.14, 0.15, 0.86)}:host input[type=checkbox]:hover+label.pn-checkbox{border:0.1rem solid #005d92;background:#e0f8ff}:host input[type=checkbox]:checked+label.pn-checkbox,:host input[type=checkbox]:indeterminate+label.pn-checkbox{background:#005d92;border:0.1rem solid #005d92}:host input[type=checkbox]:checked+label.pn-checkbox svg polyline,:host input[type=checkbox]:indeterminate+label.pn-checkbox svg polyline{transition-delay:220ms}:host input[type=checkbox]:checked+label.pn-checkbox svg polyline.checkmark-path{stroke-dashoffset:0}:host input[type=checkbox]:indeterminate+label.pn-checkbox svg polyline.indeterminate-path{stroke-dashoffset:0}:host input[type=checkbox]:focus+label.pn-checkbox,:host input[type=checkbox]:active+label.pn-checkbox{box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem #005d92}:host input[type=checkbox]:disabled+label.pn-checkbox{background-color:#d3cecb;border:0.1rem solid #969087;cursor:not-allowed}:host input[type=checkbox]:disabled+label.pn-checkbox svg polyline{stroke:#969087}:host input[type=checkbox]:disabled:checked+label.pn-checkbox{border:0.1rem solid transparent}:host input[type=checkbox]:disabled:active+label.pn-checkbox{box-shadow:none}";
4
4
  const PnFilterCheckboxStyle0 = pnFilterCheckboxCss;
5
5
 
6
6
  const PnFilterCheckbox = class {
@@ -1 +1 @@
1
- {"file":"pn-filter-checkbox.entry.js","mappings":"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","names":[],"sources":["src/components/input/pn-filter-checkbox/pn-filter-checkbox.scss?tag=pn-filter-checkbox&encapsulation=shadow","src/components/input/pn-filter-checkbox/pn-filter-checkbox.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n$check-timing: 180ms;\n$bg-timing: 220ms;\n$easing: cubic-bezier(0.79, 0.14, 0.15, 0.86);\n\n:host {\n display: inline-block;\n user-select: none;\n\n input {\n opacity: 0;\n position: absolute;\n }\n\n input[type='checkbox'] {\n & + label.pn-checkbox {\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n min-height: 1.5em;\n background: #fff;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n border: 0.1rem solid $gray400;\n cursor: pointer;\n border-radius: 0.4rem;\n cursor: pointer;\n transition-duration: $bg-timing;\n transition-timing-function: $easing;\n transition-property: border, background, box-shadow;\n\n svg {\n width: 80%;\n fill: none;\n\n polyline {\n stroke: #fff;\n transform-origin: 0 0;\n stroke-linecap: round;\n stroke-dasharray: 23;\n stroke-dashoffset: 23;\n transition-delay: none;\n transition: stroke-dashoffset $check-timing $easing;\n }\n }\n }\n\n &:hover + label.pn-checkbox {\n border: 0.1rem solid $blue700;\n background: $blue50;\n }\n\n &:checked + label.pn-checkbox,\n &:indeterminate + label.pn-checkbox {\n background: $blue700;\n border: 0.1rem solid $blue700;\n\n svg polyline {\n transition-delay: $bg-timing;\n }\n }\n\n &:checked + label.pn-checkbox {\n svg polyline.checkmark-path {\n stroke-dashoffset: 0;\n }\n }\n\n &:indeterminate + label.pn-checkbox {\n svg polyline.indeterminate-path {\n stroke-dashoffset: 0;\n }\n }\n\n &:focus + label.pn-checkbox,\n &:active + label.pn-checkbox {\n box-shadow:\n 0 0 0 0.1rem white,\n 0 0 0 0.3rem $blue700;\n }\n\n &:disabled + label.pn-checkbox {\n background-color: $gray200;\n border: 0.1rem solid $gray400;\n cursor: not-allowed;\n\n svg polyline {\n stroke: $gray400;\n }\n }\n\n &:disabled:checked + label.pn-checkbox {\n border: 0.1rem solid transparent;\n }\n\n &:disabled:active + label.pn-checkbox {\n box-shadow: none;\n }\n }\n}\n","import { Component, Prop, h, Host, Element, Listen } from '@stencil/core';\n\n@Component({\n tag: 'pn-filter-checkbox',\n styleUrl: 'pn-filter-checkbox.scss',\n shadow: true,\n})\nexport class PnFilterCheckbox {\n /** This will be emitted on change and input, like a native checkbox */\n @Prop({ reflect: true }) value: any;\n /** The name of the checkbox group */\n @Prop() name: string;\n /** The string you put here will be what you'd make the ID of a native radio button, you can't name props \"id\" because it's reserved\n * so we went with the more descriptive name \"checkboxid\", if you want to create labels for your checkbox, you will bind it to this ID\n */\n @Prop() checkboxid: string;\n @Prop() disabled?: boolean = false;\n @Prop() checked?: boolean = false;\n @Prop({ mutable: true }) indeterminate?: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n @Listen('change')\n handlechange() {\n this.indeterminate = false;\n }\n\n componentDidLoad() {\n this.checkAndSetIndeterminateState();\n this.bindEvents();\n }\n\n componentDidUpdate() {\n this.checkAndSetIndeterminateState();\n }\n\n bindEvents() {\n const labels = document.querySelectorAll('label[for=\"' + this.checkboxid + '\"]');\n labels.forEach(label => {\n label.addEventListener('click', () => {\n this.hostElement.shadowRoot.querySelector('label').click();\n });\n });\n\n const checkboxInput = this.hostElement.shadowRoot.querySelector('input');\n checkboxInput.addEventListener('change', this.onCheckboxChange.bind(this, checkboxInput));\n }\n\n onCheckboxChange(checkboxInput: HTMLInputElement) {\n let outsideInput: HTMLInputElement = this.hostElement.querySelector('input.hidden-' + this.checkboxid) as HTMLInputElement | null;\n if (outsideInput) {\n outsideInput.value = checkboxInput.checked ? this.value : '';\n outsideInput.dispatchEvent(new CustomEvent('change', { detail: outsideInput }));\n }\n }\n\n checkAndSetIndeterminateState() {\n let checkbox = this.hostElement.querySelector(`#${this.checkboxid}`) as HTMLInputElement;\n\n if (checkbox) {\n checkbox.indeterminate = this.indeterminate;\n }\n }\n\n private renderInputOutsideShadowRoot() {\n let input: HTMLInputElement = this.hostElement.querySelector('input.hidden-' + this.checkboxid) as HTMLInputElement | null;\n if (!input) {\n input = this.hostElement.ownerDocument.createElement('input');\n input.type = 'hidden';\n input.classList.add('hidden-' + this.checkboxid);\n this.hostElement.appendChild(input);\n }\n\n input.name = this.name ?? this.checkboxid;\n }\n\n render() {\n this.renderInputOutsideShadowRoot();\n\n return (\n <Host checked={this.checked} id={this.checkboxid}>\n <input type=\"checkbox\" id={this.checkboxid} value={this.value} name={this.name || this.checkboxid} disabled={this.disabled} checked={this.checked} />\n <label htmlFor={this.checkboxid} class=\"pn-checkbox\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\">\n <polyline class=\"checkmark-path\" points=\"4,12 9,17 20,6\" stroke-width=\"3\" />\n <polyline class=\"indeterminate-path\" points=\"4,12 20,12\" stroke-width=\"3\" />\n </svg>\n </label>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-filter-checkbox.entry.js","mappings":"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","names":[],"sources":["src/components/input/pn-filter-checkbox/pn-filter-checkbox.scss?tag=pn-filter-checkbox&encapsulation=shadow","src/components/input/pn-filter-checkbox/pn-filter-checkbox.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n$check-timing: 180ms;\n$bg-timing: 220ms;\n$easing: cubic-bezier(0.79, 0.14, 0.15, 0.86);\n\n:host {\n display: inline-block;\n user-select: none;\n\n input {\n opacity: 0;\n position: absolute;\n }\n\n input[type='checkbox'] {\n & + label.pn-checkbox {\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n min-height: 1.5em;\n background: #fff;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n border: 0.1rem solid $gray400;\n cursor: pointer;\n border-radius: 0.4rem;\n cursor: pointer;\n transition-duration: $bg-timing;\n transition-timing-function: $easing;\n transition-property: border, background, box-shadow;\n\n svg {\n width: 80%;\n fill: none;\n\n polyline {\n stroke: #fff;\n transform-origin: 0 0;\n stroke-linecap: round;\n stroke-dasharray: 23;\n stroke-dashoffset: 23;\n transition-delay: none;\n transition: stroke-dashoffset $check-timing $easing;\n }\n }\n }\n\n &:hover + label.pn-checkbox {\n border: 0.1rem solid $blue700;\n background: $blue50;\n }\n\n &:checked + label.pn-checkbox,\n &:indeterminate + label.pn-checkbox {\n background: $blue700;\n border: 0.1rem solid $blue700;\n\n svg polyline {\n transition-delay: $bg-timing;\n }\n }\n\n &:checked + label.pn-checkbox {\n svg polyline.checkmark-path {\n stroke-dashoffset: 0;\n }\n }\n\n &:indeterminate + label.pn-checkbox {\n svg polyline.indeterminate-path {\n stroke-dashoffset: 0;\n }\n }\n\n &:focus + label.pn-checkbox,\n &:active + label.pn-checkbox {\n box-shadow:\n 0 0 0 0.1rem white,\n 0 0 0 0.3rem $blue700;\n }\n\n &:disabled + label.pn-checkbox {\n background-color: $gray200;\n border: 0.1rem solid $gray400;\n cursor: not-allowed;\n\n svg polyline {\n stroke: $gray400;\n }\n }\n\n &:disabled:checked + label.pn-checkbox {\n border: 0.1rem solid transparent;\n }\n\n &:disabled:active + label.pn-checkbox {\n box-shadow: none;\n }\n }\n}\n","import { Component, Prop, h, Host, Element, Listen } from '@stencil/core';\n\n@Component({\n tag: 'pn-filter-checkbox',\n styleUrl: 'pn-filter-checkbox.scss',\n shadow: true,\n})\nexport class PnFilterCheckbox {\n /** This will be emitted on change and input, like a native checkbox */\n @Prop({ reflect: true }) value: any;\n /** The name of the checkbox group */\n @Prop() name: string;\n /** The string you put here will be what you'd make the ID of a native radio button, you can't name props \"id\" because it's reserved\n * so we went with the more descriptive name \"checkboxid\", if you want to create labels for your checkbox, you will bind it to this ID\n */\n @Prop() checkboxid: string;\n @Prop() disabled?: boolean = false;\n @Prop() checked?: boolean = false;\n @Prop({ mutable: true }) indeterminate?: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n @Listen('change')\n handlechange() {\n this.indeterminate = false;\n }\n\n componentDidLoad() {\n this.checkAndSetIndeterminateState();\n this.bindEvents();\n }\n\n componentDidUpdate() {\n this.checkAndSetIndeterminateState();\n }\n\n bindEvents() {\n const labels = document.querySelectorAll('label[for=\"' + this.checkboxid + '\"]');\n labels.forEach(label => {\n label.addEventListener('click', () => {\n this.hostElement.shadowRoot.querySelector('label').click();\n });\n });\n\n const checkboxInput = this.hostElement.shadowRoot.querySelector('input');\n checkboxInput.addEventListener('change', this.onCheckboxChange.bind(this, checkboxInput));\n }\n\n onCheckboxChange(checkboxInput: HTMLInputElement) {\n let outsideInput: HTMLInputElement = this.hostElement.querySelector('input.hidden-' + this.checkboxid) as HTMLInputElement | null;\n if (outsideInput) {\n outsideInput.value = checkboxInput.checked ? this.value : '';\n outsideInput.dispatchEvent(new CustomEvent('change', { detail: outsideInput }));\n }\n }\n\n checkAndSetIndeterminateState() {\n let checkbox = this.hostElement.querySelector(`#${this.checkboxid}`) as HTMLInputElement;\n\n if (checkbox) {\n checkbox.indeterminate = this.indeterminate;\n }\n }\n\n private renderInputOutsideShadowRoot() {\n let input: HTMLInputElement = this.hostElement.querySelector('input.hidden-' + this.checkboxid) as HTMLInputElement | null;\n if (!input) {\n input = this.hostElement.ownerDocument.createElement('input');\n input.type = 'hidden';\n input.classList.add('hidden-' + this.checkboxid);\n this.hostElement.appendChild(input);\n }\n\n input.name = this.name ?? this.checkboxid;\n }\n\n render() {\n this.renderInputOutsideShadowRoot();\n\n return (\n <Host checked={this.checked} id={this.checkboxid}>\n <input type=\"checkbox\" id={this.checkboxid} value={this.value} name={this.name || this.checkboxid} disabled={this.disabled} checked={this.checked} />\n <label htmlFor={this.checkboxid} class=\"pn-checkbox\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\">\n <polyline class=\"checkmark-path\" points=\"4,12 9,17 20,6\" stroke-width=\"3\" />\n <polyline class=\"indeterminate-path\" points=\"4,12 20,12\" stroke-width=\"3\" />\n </svg>\n </label>\n </Host>\n );\n }\n}\n"],"version":3}