@postnord/pn-marketweb-components 3.5.2 → 3.5.3

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 (400) hide show
  1. package/cjs/alert_exclamation_circle-24f29a5b.js +8 -0
  2. package/cjs/alert_exclamation_circle-24f29a5b.js.map +1 -0
  3. package/cjs/loader.cjs.js +1 -1
  4. package/cjs/pn-address-autofill.cjs.entry.js +47 -72
  5. package/cjs/pn-address-autofill.cjs.entry.js.map +1 -1
  6. package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js +18 -6
  7. package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js.map +1 -1
  8. package/cjs/pn-market-web-components.cjs.js +1 -1
  9. package/cjs/pn-marketweb-input.cjs.entry.js +2 -4
  10. package/cjs/pn-marketweb-input.cjs.entry.js.map +1 -1
  11. package/collection/components/input/pn-address-autofill/pn-address-autofill.css +6 -1
  12. package/collection/components/input/pn-address-autofill/pn-address-autofill.js +58 -68
  13. package/collection/components/input/pn-address-autofill/pn-address-autofill.js.map +1 -1
  14. package/collection/components/input/pn-address-autofill/pn-address-autofill.stories.js +2 -1
  15. package/collection/components/input/pn-address-autofill/translations.js +6 -3
  16. package/collection/components/input/pn-address-autofill/translations.js.map +1 -1
  17. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js +18 -6
  18. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js.map +1 -1
  19. package/components/alert_exclamation_circle.js +6 -0
  20. package/components/alert_exclamation_circle.js.map +1 -0
  21. package/components/pn-address-autofill.js +48 -72
  22. package/components/pn-address-autofill.js.map +1 -1
  23. package/components/pn-dropdown-choice-adds-row.js +18 -6
  24. package/components/pn-dropdown-choice-adds-row.js.map +1 -1
  25. package/components/pn-marketweb-input2.js +1 -3
  26. package/components/pn-marketweb-input2.js.map +1 -1
  27. package/esm/alert_exclamation_circle-f0fe7c7b.js +6 -0
  28. package/esm/alert_exclamation_circle-f0fe7c7b.js.map +1 -0
  29. package/esm/loader.js +1 -1
  30. package/esm/pn-address-autofill.entry.js +47 -72
  31. package/esm/pn-address-autofill.entry.js.map +1 -1
  32. package/esm/pn-dropdown-choice-adds-row.entry.js +18 -6
  33. package/esm/pn-dropdown-choice-adds-row.entry.js.map +1 -1
  34. package/esm/pn-market-web-components.js +1 -1
  35. package/esm/pn-marketweb-input.entry.js +1 -3
  36. package/esm/pn-marketweb-input.entry.js.map +1 -1
  37. package/package.json +1 -1
  38. package/pn-market-web-components/p-0ac30ee9.entry.js +2 -0
  39. package/pn-market-web-components/p-0ac30ee9.entry.js.map +1 -0
  40. package/pn-market-web-components/p-15d70aaf.entry.js +2 -0
  41. package/pn-market-web-components/p-15d70aaf.entry.js.map +1 -0
  42. package/pn-market-web-components/p-76c2c01f.js +2 -0
  43. package/pn-market-web-components/p-76c2c01f.js.map +1 -0
  44. package/pn-market-web-components/p-a11fdf9f.entry.js +2 -0
  45. package/pn-market-web-components/p-a11fdf9f.entry.js.map +1 -0
  46. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  47. package/pn-market-web-components/pn-market-web-components.esm.js.map +1 -1
  48. package/types/components/input/pn-address-autofill/pn-address-autofill.d.ts +2 -3
  49. package/types/components/input/pn-address-autofill/translations.d.ts +3 -0
  50. package/types/components.d.ts +2 -0
  51. package/umd/modules/@postnord/web-components/cjs/{angle_down-0b63ebde.js → chevron_down-83e72319.js} +3 -3
  52. package/umd/modules/@postnord/web-components/cjs/chevron_down-83e72319.js.map +1 -0
  53. package/umd/modules/@postnord/web-components/cjs/{angle_right-c8c55b43.js → chevron_right-aeb6aef3.js} +5 -5
  54. package/umd/modules/@postnord/web-components/cjs/chevron_right-aeb6aef3.js.map +1 -0
  55. package/umd/modules/@postnord/web-components/cjs/loader.cjs.js +1 -1
  56. package/umd/modules/@postnord/web-components/cjs/pn-accordion-row.cjs.entry.js +2 -2
  57. package/umd/modules/@postnord/web-components/cjs/pn-accordion-row.cjs.entry.js.map +1 -1
  58. package/umd/modules/@postnord/web-components/cjs/pn-action-menu.cjs.entry.js +42 -12
  59. package/umd/modules/@postnord/web-components/cjs/pn-action-menu.cjs.entry.js.map +1 -1
  60. package/umd/modules/@postnord/web-components/cjs/pn-button_2.cjs.entry.js +1 -1
  61. package/umd/modules/@postnord/web-components/cjs/pn-card.cjs.entry.js +1 -1
  62. package/umd/modules/@postnord/web-components/cjs/pn-checkbox.cjs.entry.js +1 -1
  63. package/umd/modules/@postnord/web-components/cjs/pn-choice-chip.cjs.entry.js +1 -1
  64. package/umd/modules/@postnord/web-components/cjs/pn-counter.cjs.entry.js +1 -1
  65. package/umd/modules/@postnord/web-components/cjs/pn-date-picker.cjs.entry.js +22 -6
  66. package/umd/modules/@postnord/web-components/cjs/pn-date-picker.cjs.entry.js.map +1 -1
  67. package/umd/modules/@postnord/web-components/cjs/pn-fieldset.cjs.entry.js +1 -1
  68. package/umd/modules/@postnord/web-components/cjs/pn-file-upload.cjs.entry.js +1 -1
  69. package/umd/modules/@postnord/web-components/cjs/pn-footer.cjs.entry.js +1 -1
  70. package/umd/modules/@postnord/web-components/cjs/pn-header.cjs.entry.js +1 -1
  71. package/umd/modules/@postnord/web-components/cjs/pn-input.cjs.entry.js +2 -2
  72. package/umd/modules/@postnord/web-components/cjs/pn-modal.cjs.entry.js +21 -7
  73. package/umd/modules/@postnord/web-components/cjs/pn-modal.cjs.entry.js.map +1 -1
  74. package/umd/modules/@postnord/web-components/cjs/pn-multiselect.cjs.entry.js +2 -2
  75. package/umd/modules/@postnord/web-components/cjs/pn-multiselect.cjs.entry.js.map +1 -1
  76. package/umd/modules/@postnord/web-components/cjs/pn-ocr-search.cjs.entry.js +1 -1
  77. package/umd/modules/@postnord/web-components/cjs/pn-page-nav-dropdown-item.cjs.entry.js +1 -1
  78. package/umd/modules/@postnord/web-components/cjs/pn-page-nav-item.cjs.entry.js +1 -1
  79. package/umd/modules/@postnord/web-components/cjs/pn-page-nav.cjs.entry.js +2 -2
  80. package/umd/modules/@postnord/web-components/cjs/pn-page-nav.cjs.entry.js.map +1 -1
  81. package/umd/modules/@postnord/web-components/cjs/pn-pagination.cjs.entry.js +1 -1
  82. package/umd/modules/@postnord/web-components/cjs/pn-progress-bar.cjs.entry.js +1 -1
  83. package/umd/modules/@postnord/web-components/cjs/pn-progress-indicator-step.cjs.entry.js +1 -1
  84. package/umd/modules/@postnord/web-components/cjs/pn-progress-indicator-step.cjs.entry.js.map +1 -1
  85. package/umd/modules/@postnord/web-components/cjs/pn-progress-indicator.cjs.entry.js +1 -1
  86. package/umd/modules/@postnord/web-components/cjs/pn-progress-indicator.cjs.entry.js.map +1 -1
  87. package/umd/modules/@postnord/web-components/cjs/pn-progress-stepper.cjs.entry.js +26 -41
  88. package/umd/modules/@postnord/web-components/cjs/pn-progress-stepper.cjs.entry.js.map +1 -1
  89. package/umd/modules/@postnord/web-components/cjs/pn-radio-button.cjs.entry.js +1 -1
  90. package/umd/modules/@postnord/web-components/cjs/pn-search-field.cjs.entry.js +1 -1
  91. package/umd/modules/@postnord/web-components/cjs/pn-segment.cjs.entry.js +1 -1
  92. package/umd/modules/@postnord/web-components/cjs/pn-segmented-control.cjs.entry.js +1 -1
  93. package/umd/modules/@postnord/web-components/cjs/pn-select.cjs.entry.js +2 -2
  94. package/umd/modules/@postnord/web-components/cjs/pn-select.cjs.entry.js.map +1 -1
  95. package/umd/modules/@postnord/web-components/cjs/pn-tab.cjs.entry.js +1 -1
  96. package/umd/modules/@postnord/web-components/cjs/pn-tablist.cjs.entry.js +2 -2
  97. package/umd/modules/@postnord/web-components/cjs/pn-tablist.cjs.entry.js.map +1 -1
  98. package/umd/modules/@postnord/web-components/cjs/pn-text-link.cjs.entry.js +1 -1
  99. package/umd/modules/@postnord/web-components/cjs/pn-textarea.cjs.entry.js +1 -1
  100. package/umd/modules/@postnord/web-components/cjs/pn-tile.cjs.entry.js +1 -1
  101. package/umd/modules/@postnord/web-components/cjs/pn-toast.cjs.entry.js +25 -16
  102. package/umd/modules/@postnord/web-components/cjs/pn-toast.cjs.entry.js.map +1 -1
  103. package/umd/modules/@postnord/web-components/cjs/pn-toggle-switch.cjs.entry.js +1 -1
  104. package/umd/modules/@postnord/web-components/cjs/pn-tooltip.cjs.entry.js +1 -1
  105. package/umd/modules/@postnord/web-components/cjs/pn-zipcode-search.cjs.entry.js +1 -1
  106. package/umd/modules/@postnord/web-components/cjs/postnord-web-components.cjs.js +1 -1
  107. package/umd/modules/@postnord/web-components/collection/components/buttons/pn-action-menu/pn-action-menu.js +41 -11
  108. package/umd/modules/@postnord/web-components/collection/components/buttons/pn-action-menu/pn-action-menu.js.map +1 -1
  109. package/umd/modules/@postnord/web-components/collection/components/content/pn-accordion/row/pn-accordion-row.js +2 -2
  110. package/umd/modules/@postnord/web-components/collection/components/content/pn-accordion/row/pn-accordion-row.js.map +1 -1
  111. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-modal/pn-modal.css +92 -40
  112. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-modal/pn-modal.js +35 -9
  113. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-modal/pn-modal.js.map +1 -1
  114. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-bar/pn-progress-bar.js +1 -1
  115. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-indicator/pn-progress-indicator-step/pn-progress-indicator-step.js +5 -1
  116. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-indicator/pn-progress-indicator-step/pn-progress-indicator-step.js.map +1 -1
  117. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-indicator/pn-progress-indicator.js +5 -1
  118. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-indicator/pn-progress-indicator.js.map +1 -1
  119. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-stepper/pn-progress-stepper.css +85 -9
  120. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-stepper/pn-progress-stepper.js +100 -97
  121. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-stepper/pn-progress-stepper.js.map +1 -1
  122. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-spinner/pn-spinner.js +1 -1
  123. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-toast/pn-toast.css +0 -1
  124. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-toast/pn-toast.js +24 -15
  125. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-toast/pn-toast.js.map +1 -1
  126. package/umd/modules/@postnord/web-components/collection/components/feedback/pn-tooltip/pn-tooltip.js +1 -1
  127. package/umd/modules/@postnord/web-components/collection/components/input/pn-checkbox/pn-checkbox.js +1 -1
  128. package/umd/modules/@postnord/web-components/collection/components/input/pn-choice-chip/pn-choice-chip.js +1 -1
  129. package/umd/modules/@postnord/web-components/collection/components/input/pn-counter/pn-counter.js +1 -1
  130. package/umd/modules/@postnord/web-components/collection/components/input/pn-date-picker/pn-date-picker.css +2 -3
  131. package/umd/modules/@postnord/web-components/collection/components/input/pn-date-picker/pn-date-picker.js +22 -6
  132. package/umd/modules/@postnord/web-components/collection/components/input/pn-date-picker/pn-date-picker.js.map +1 -1
  133. package/umd/modules/@postnord/web-components/collection/components/input/pn-fieldset/pn-fieldset.js +1 -1
  134. package/umd/modules/@postnord/web-components/collection/components/input/pn-file-upload/pn-file-upload.js +1 -1
  135. package/umd/modules/@postnord/web-components/collection/components/input/pn-input/pn-input.js +2 -2
  136. package/umd/modules/@postnord/web-components/collection/components/input/pn-multiselect/pn-multiselect.js +2 -2
  137. package/umd/modules/@postnord/web-components/collection/components/input/pn-multiselect/pn-multiselect.js.map +1 -1
  138. package/umd/modules/@postnord/web-components/collection/components/input/pn-radio-button/pn-radio-button.js +1 -1
  139. package/umd/modules/@postnord/web-components/collection/components/input/pn-search-field/pn-search-field.js +1 -1
  140. package/umd/modules/@postnord/web-components/collection/components/input/pn-segmented-control/pn-segmented-control.js +1 -1
  141. package/umd/modules/@postnord/web-components/collection/components/input/pn-segmented-control/segment/pn-segment.js +1 -1
  142. package/umd/modules/@postnord/web-components/collection/components/input/pn-select/pn-select.js +2 -2
  143. package/umd/modules/@postnord/web-components/collection/components/input/pn-select/pn-select.js.map +1 -1
  144. package/umd/modules/@postnord/web-components/collection/components/input/pn-textarea/pn-textarea.js +1 -1
  145. package/umd/modules/@postnord/web-components/collection/components/input/pn-toggle-switch/pn-toggle-switch.js +1 -1
  146. package/umd/modules/@postnord/web-components/collection/components/layout/pn-header/pn-header.js +1 -1
  147. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-card/pn-card.js +1 -1
  148. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-footer/pn-footer.js +1 -1
  149. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-page-nav/dropdown-item/pn-page-nav-dropdown-item.js +1 -1
  150. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-page-nav/item/pn-page-nav-item.js +1 -1
  151. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-page-nav/menu/pn-page-nav.js +2 -2
  152. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-page-nav/menu/pn-page-nav.js.map +1 -1
  153. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-pagination/pn-pagination.js +1 -1
  154. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-tablist/pn-tablist.js +2 -2
  155. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-tablist/pn-tablist.js.map +1 -1
  156. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-tablist/tab/pn-tab.js +1 -1
  157. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-text-link/pn-text-link.js +1 -1
  158. package/umd/modules/@postnord/web-components/collection/components/navigation/pn-tile/pn-tile.js +1 -1
  159. package/umd/modules/@postnord/web-components/collection/components/web-components/pn-ocr-search/pn-ocr-search.js +1 -1
  160. package/umd/modules/@postnord/web-components/collection/components/web-components/pn-zipcode-search/pn-zipcode-search.js +1 -1
  161. package/umd/modules/@postnord/web-components/collection/globals/types.js.map +1 -1
  162. package/umd/modules/@postnord/web-components/components/{angle_down.js → chevron_down.js} +3 -3
  163. package/umd/modules/@postnord/web-components/components/chevron_down.js.map +1 -0
  164. package/umd/modules/@postnord/web-components/{esm/angle_right-b52095c9.js → components/chevron_right.js} +4 -4
  165. package/umd/modules/@postnord/web-components/components/chevron_right.js.map +1 -0
  166. package/umd/modules/@postnord/web-components/components/pn-accordion-row.js +2 -2
  167. package/umd/modules/@postnord/web-components/components/pn-accordion-row.js.map +1 -1
  168. package/umd/modules/@postnord/web-components/components/pn-action-menu.js +42 -12
  169. package/umd/modules/@postnord/web-components/components/pn-action-menu.js.map +1 -1
  170. package/umd/modules/@postnord/web-components/components/pn-card.js +1 -1
  171. package/umd/modules/@postnord/web-components/components/pn-checkbox.js +1 -1
  172. package/umd/modules/@postnord/web-components/components/pn-choice-chip.js +1 -1
  173. package/umd/modules/@postnord/web-components/components/pn-counter.js +1 -1
  174. package/umd/modules/@postnord/web-components/components/pn-date-picker.js +23 -7
  175. package/umd/modules/@postnord/web-components/components/pn-date-picker.js.map +1 -1
  176. package/umd/modules/@postnord/web-components/components/pn-fieldset.js +1 -1
  177. package/umd/modules/@postnord/web-components/components/pn-file-upload.js +1 -1
  178. package/umd/modules/@postnord/web-components/components/pn-footer.js +1 -1
  179. package/umd/modules/@postnord/web-components/components/pn-header.js +1 -1
  180. package/umd/modules/@postnord/web-components/components/pn-input.js +2 -2
  181. package/umd/modules/@postnord/web-components/components/pn-modal.js +25 -10
  182. package/umd/modules/@postnord/web-components/components/pn-modal.js.map +1 -1
  183. package/umd/modules/@postnord/web-components/components/pn-multiselect.js +2 -2
  184. package/umd/modules/@postnord/web-components/components/pn-multiselect.js.map +1 -1
  185. package/umd/modules/@postnord/web-components/components/pn-ocr-search.js +1 -1
  186. package/umd/modules/@postnord/web-components/components/pn-page-nav-dropdown-item.js +1 -1
  187. package/umd/modules/@postnord/web-components/components/pn-page-nav-item.js +1 -1
  188. package/umd/modules/@postnord/web-components/components/pn-page-nav.js +2 -2
  189. package/umd/modules/@postnord/web-components/components/pn-page-nav.js.map +1 -1
  190. package/umd/modules/@postnord/web-components/components/pn-pagination.js +1 -1
  191. package/umd/modules/@postnord/web-components/components/pn-progress-bar2.js +1 -1
  192. package/umd/modules/@postnord/web-components/components/pn-progress-indicator-step.js +1 -1
  193. package/umd/modules/@postnord/web-components/components/pn-progress-indicator-step.js.map +1 -1
  194. package/umd/modules/@postnord/web-components/components/pn-progress-indicator.js +1 -1
  195. package/umd/modules/@postnord/web-components/components/pn-progress-indicator.js.map +1 -1
  196. package/umd/modules/@postnord/web-components/components/pn-progress-stepper.js +34 -48
  197. package/umd/modules/@postnord/web-components/components/pn-progress-stepper.js.map +1 -1
  198. package/umd/modules/@postnord/web-components/components/pn-radio-button.js +1 -1
  199. package/umd/modules/@postnord/web-components/components/pn-search-field2.js +1 -1
  200. package/umd/modules/@postnord/web-components/components/pn-segment.js +1 -1
  201. package/umd/modules/@postnord/web-components/components/pn-segmented-control.js +1 -1
  202. package/umd/modules/@postnord/web-components/components/pn-select2.js +2 -2
  203. package/umd/modules/@postnord/web-components/components/pn-select2.js.map +1 -1
  204. package/umd/modules/@postnord/web-components/components/pn-spinner2.js +1 -1
  205. package/umd/modules/@postnord/web-components/components/pn-tab.js +1 -1
  206. package/umd/modules/@postnord/web-components/components/pn-tablist.js +2 -2
  207. package/umd/modules/@postnord/web-components/components/pn-tablist.js.map +1 -1
  208. package/umd/modules/@postnord/web-components/components/pn-text-link2.js +1 -1
  209. package/umd/modules/@postnord/web-components/components/pn-textarea.js +1 -1
  210. package/umd/modules/@postnord/web-components/components/pn-tile.js +1 -1
  211. package/umd/modules/@postnord/web-components/components/pn-toast.js +25 -16
  212. package/umd/modules/@postnord/web-components/components/pn-toast.js.map +1 -1
  213. package/umd/modules/@postnord/web-components/components/pn-toggle-switch.js +1 -1
  214. package/umd/modules/@postnord/web-components/components/pn-tooltip.js +1 -1
  215. package/umd/modules/@postnord/web-components/components/pn-zipcode-search.js +1 -1
  216. package/umd/modules/@postnord/web-components/esm/{angle_down-d788f691.js → chevron_down-6e3fb42f.js} +3 -3
  217. package/umd/modules/@postnord/web-components/esm/chevron_down-6e3fb42f.js.map +1 -0
  218. package/umd/modules/@postnord/web-components/{components/angle_right.js → esm/chevron_right-9d9305e8.js} +4 -4
  219. package/umd/modules/@postnord/web-components/esm/chevron_right-9d9305e8.js.map +1 -0
  220. package/umd/modules/@postnord/web-components/esm/loader.js +1 -1
  221. package/umd/modules/@postnord/web-components/esm/pn-accordion-row.entry.js +2 -2
  222. package/umd/modules/@postnord/web-components/esm/pn-accordion-row.entry.js.map +1 -1
  223. package/umd/modules/@postnord/web-components/esm/pn-action-menu.entry.js +42 -12
  224. package/umd/modules/@postnord/web-components/esm/pn-action-menu.entry.js.map +1 -1
  225. package/umd/modules/@postnord/web-components/esm/pn-button_2.entry.js +1 -1
  226. package/umd/modules/@postnord/web-components/esm/pn-card.entry.js +1 -1
  227. package/umd/modules/@postnord/web-components/esm/pn-checkbox.entry.js +1 -1
  228. package/umd/modules/@postnord/web-components/esm/pn-choice-chip.entry.js +1 -1
  229. package/umd/modules/@postnord/web-components/esm/pn-counter.entry.js +1 -1
  230. package/umd/modules/@postnord/web-components/esm/pn-date-picker.entry.js +23 -7
  231. package/umd/modules/@postnord/web-components/esm/pn-date-picker.entry.js.map +1 -1
  232. package/umd/modules/@postnord/web-components/esm/pn-fieldset.entry.js +1 -1
  233. package/umd/modules/@postnord/web-components/esm/pn-file-upload.entry.js +1 -1
  234. package/umd/modules/@postnord/web-components/esm/pn-footer.entry.js +1 -1
  235. package/umd/modules/@postnord/web-components/esm/pn-header.entry.js +1 -1
  236. package/umd/modules/@postnord/web-components/esm/pn-input.entry.js +2 -2
  237. package/umd/modules/@postnord/web-components/esm/pn-modal.entry.js +22 -8
  238. package/umd/modules/@postnord/web-components/esm/pn-modal.entry.js.map +1 -1
  239. package/umd/modules/@postnord/web-components/esm/pn-multiselect.entry.js +2 -2
  240. package/umd/modules/@postnord/web-components/esm/pn-multiselect.entry.js.map +1 -1
  241. package/umd/modules/@postnord/web-components/esm/pn-ocr-search.entry.js +1 -1
  242. package/umd/modules/@postnord/web-components/esm/pn-page-nav-dropdown-item.entry.js +1 -1
  243. package/umd/modules/@postnord/web-components/esm/pn-page-nav-item.entry.js +1 -1
  244. package/umd/modules/@postnord/web-components/esm/pn-page-nav.entry.js +2 -2
  245. package/umd/modules/@postnord/web-components/esm/pn-page-nav.entry.js.map +1 -1
  246. package/umd/modules/@postnord/web-components/esm/pn-pagination.entry.js +1 -1
  247. package/umd/modules/@postnord/web-components/esm/pn-progress-bar.entry.js +1 -1
  248. package/umd/modules/@postnord/web-components/esm/pn-progress-indicator-step.entry.js +1 -1
  249. package/umd/modules/@postnord/web-components/esm/pn-progress-indicator-step.entry.js.map +1 -1
  250. package/umd/modules/@postnord/web-components/esm/pn-progress-indicator.entry.js +1 -1
  251. package/umd/modules/@postnord/web-components/esm/pn-progress-indicator.entry.js.map +1 -1
  252. package/umd/modules/@postnord/web-components/esm/pn-progress-stepper.entry.js +26 -41
  253. package/umd/modules/@postnord/web-components/esm/pn-progress-stepper.entry.js.map +1 -1
  254. package/umd/modules/@postnord/web-components/esm/pn-radio-button.entry.js +1 -1
  255. package/umd/modules/@postnord/web-components/esm/pn-search-field.entry.js +1 -1
  256. package/umd/modules/@postnord/web-components/esm/pn-segment.entry.js +1 -1
  257. package/umd/modules/@postnord/web-components/esm/pn-segmented-control.entry.js +1 -1
  258. package/umd/modules/@postnord/web-components/esm/pn-select.entry.js +2 -2
  259. package/umd/modules/@postnord/web-components/esm/pn-select.entry.js.map +1 -1
  260. package/umd/modules/@postnord/web-components/esm/pn-tab.entry.js +1 -1
  261. package/umd/modules/@postnord/web-components/esm/pn-tablist.entry.js +2 -2
  262. package/umd/modules/@postnord/web-components/esm/pn-tablist.entry.js.map +1 -1
  263. package/umd/modules/@postnord/web-components/esm/pn-text-link.entry.js +1 -1
  264. package/umd/modules/@postnord/web-components/esm/pn-textarea.entry.js +1 -1
  265. package/umd/modules/@postnord/web-components/esm/pn-tile.entry.js +1 -1
  266. package/umd/modules/@postnord/web-components/esm/pn-toast.entry.js +25 -16
  267. package/umd/modules/@postnord/web-components/esm/pn-toast.entry.js.map +1 -1
  268. package/umd/modules/@postnord/web-components/esm/pn-toggle-switch.entry.js +1 -1
  269. package/umd/modules/@postnord/web-components/esm/pn-tooltip.entry.js +1 -1
  270. package/umd/modules/@postnord/web-components/esm/pn-zipcode-search.entry.js +1 -1
  271. package/umd/modules/@postnord/web-components/esm/postnord-web-components.js +1 -1
  272. package/umd/modules/@postnord/web-components/hydrate/index.js +204 -137
  273. package/umd/modules/@postnord/web-components/hydrate/index.mjs +204 -137
  274. package/umd/modules/@postnord/web-components/package.json +16 -14
  275. package/umd/modules/@postnord/web-components/postnord-web-components/{p-7e88df1f.entry.js → p-01472170.entry.js} +2 -2
  276. package/umd/modules/@postnord/web-components/postnord-web-components/{p-ed4271af.entry.js → p-06c7e91b.entry.js} +2 -2
  277. package/umd/modules/@postnord/web-components/postnord-web-components/p-06c7e91b.entry.js.map +1 -0
  278. package/umd/modules/@postnord/web-components/postnord-web-components/{p-8773152d.entry.js → p-10532427.entry.js} +2 -2
  279. package/umd/modules/@postnord/web-components/postnord-web-components/{p-ffe79fa4.entry.js → p-11ef58ab.entry.js} +2 -2
  280. package/umd/modules/@postnord/web-components/postnord-web-components/p-16fb83d9.entry.js +6 -0
  281. package/umd/modules/@postnord/web-components/postnord-web-components/p-16fb83d9.entry.js.map +1 -0
  282. package/umd/modules/@postnord/web-components/postnord-web-components/{p-d74ccbb2.entry.js → p-1cd57319.entry.js} +2 -2
  283. package/umd/modules/@postnord/web-components/postnord-web-components/{p-adc6404b.entry.js → p-1e7c31ed.entry.js} +2 -2
  284. package/umd/modules/@postnord/web-components/postnord-web-components/p-1e7c31ed.entry.js.map +1 -0
  285. package/umd/modules/@postnord/web-components/postnord-web-components/{p-c2bbbcaa.entry.js → p-1fe6fc61.entry.js} +2 -2
  286. package/umd/modules/@postnord/web-components/postnord-web-components/{p-203ad7de.entry.js → p-23fdc4b6.entry.js} +2 -2
  287. package/umd/modules/@postnord/web-components/postnord-web-components/p-23fdc4b6.entry.js.map +1 -0
  288. package/umd/modules/@postnord/web-components/postnord-web-components/p-240f6613.entry.js +6 -0
  289. package/umd/modules/@postnord/web-components/postnord-web-components/{p-7ae9c053.entry.js.map → p-240f6613.entry.js.map} +1 -1
  290. package/umd/modules/@postnord/web-components/postnord-web-components/{p-4f67fffa.entry.js → p-28357e12.entry.js} +2 -2
  291. package/umd/modules/@postnord/web-components/postnord-web-components/p-28357e12.entry.js.map +1 -0
  292. package/umd/modules/@postnord/web-components/postnord-web-components/{p-c96ff403.js → p-2f7bb5e8.js} +2 -2
  293. package/umd/modules/@postnord/web-components/postnord-web-components/p-2f7bb5e8.js.map +1 -0
  294. package/umd/modules/@postnord/web-components/postnord-web-components/{p-5b0000e9.entry.js → p-363f578a.entry.js} +2 -2
  295. package/umd/modules/@postnord/web-components/postnord-web-components/{p-c0d19737.entry.js → p-37297b9a.entry.js} +2 -2
  296. package/umd/modules/@postnord/web-components/postnord-web-components/p-49a39ea1.entry.js +6 -0
  297. package/umd/modules/@postnord/web-components/postnord-web-components/p-49a39ea1.entry.js.map +1 -0
  298. package/umd/modules/@postnord/web-components/postnord-web-components/{p-bc95d4b0.entry.js → p-49f5fdd2.entry.js} +2 -2
  299. package/umd/modules/@postnord/web-components/postnord-web-components/p-49f5fdd2.entry.js.map +1 -0
  300. package/umd/modules/@postnord/web-components/postnord-web-components/{p-b556b835.entry.js → p-4d371963.entry.js} +2 -2
  301. package/umd/modules/@postnord/web-components/postnord-web-components/{p-ab29b9c0.entry.js → p-4eaab357.entry.js} +2 -2
  302. package/umd/modules/@postnord/web-components/postnord-web-components/{p-da713fc1.entry.js → p-5ed7e9b7.entry.js} +2 -2
  303. package/umd/modules/@postnord/web-components/postnord-web-components/p-617a946d.entry.js +6 -0
  304. package/umd/modules/@postnord/web-components/postnord-web-components/p-617a946d.entry.js.map +1 -0
  305. package/umd/modules/@postnord/web-components/postnord-web-components/{p-e087c5c5.entry.js → p-63aa3911.entry.js} +2 -2
  306. package/umd/modules/@postnord/web-components/postnord-web-components/p-65ae6360.entry.js +6 -0
  307. package/umd/modules/@postnord/web-components/postnord-web-components/p-65ae6360.entry.js.map +1 -0
  308. package/umd/modules/@postnord/web-components/postnord-web-components/{p-bf015c0f.entry.js → p-699b7bde.entry.js} +2 -2
  309. package/umd/modules/@postnord/web-components/postnord-web-components/{p-9bc1d14f.entry.js → p-6f9a21be.entry.js} +2 -2
  310. package/umd/modules/@postnord/web-components/postnord-web-components/p-75c5fb41.entry.js +6 -0
  311. package/umd/modules/@postnord/web-components/postnord-web-components/p-75c5fb41.entry.js.map +1 -0
  312. package/umd/modules/@postnord/web-components/postnord-web-components/{p-bd14cdca.entry.js → p-8e07bc17.entry.js} +2 -2
  313. package/umd/modules/@postnord/web-components/postnord-web-components/{p-7bd6d804.entry.js → p-8eaa2540.entry.js} +2 -2
  314. package/umd/modules/@postnord/web-components/postnord-web-components/{p-bf967b50.js → p-99600bc7.js} +2 -2
  315. package/umd/modules/@postnord/web-components/postnord-web-components/p-99600bc7.js.map +1 -0
  316. package/umd/modules/@postnord/web-components/postnord-web-components/{p-ff068744.entry.js → p-9cecd28d.entry.js} +2 -2
  317. package/umd/modules/@postnord/web-components/postnord-web-components/{p-605d99df.entry.js → p-a440734f.entry.js} +2 -2
  318. package/umd/modules/@postnord/web-components/postnord-web-components/{p-b9a494ae.entry.js → p-ab553e80.entry.js} +2 -2
  319. package/umd/modules/@postnord/web-components/postnord-web-components/{p-936ed2a1.entry.js → p-ae04e001.entry.js} +2 -2
  320. package/umd/modules/@postnord/web-components/postnord-web-components/p-ae04e001.entry.js.map +1 -0
  321. package/umd/modules/@postnord/web-components/postnord-web-components/{p-a4df55c4.entry.js → p-b202a599.entry.js} +2 -2
  322. package/umd/modules/@postnord/web-components/postnord-web-components/p-b83e6373.entry.js +6 -0
  323. package/umd/modules/@postnord/web-components/postnord-web-components/p-b83e6373.entry.js.map +1 -0
  324. package/umd/modules/@postnord/web-components/postnord-web-components/{p-fcd5028f.entry.js → p-bdb9bdc3.entry.js} +2 -2
  325. package/umd/modules/@postnord/web-components/postnord-web-components/{p-81f9f367.entry.js → p-cebe3a25.entry.js} +2 -2
  326. package/umd/modules/@postnord/web-components/postnord-web-components/{p-76b020f0.entry.js → p-d2f7b4a9.entry.js} +2 -2
  327. package/umd/modules/@postnord/web-components/postnord-web-components/{p-c45dc75d.entry.js → p-e8050420.entry.js} +2 -2
  328. package/umd/modules/@postnord/web-components/postnord-web-components/{p-412fc8d6.entry.js → p-eee2d131.entry.js} +2 -2
  329. package/umd/modules/@postnord/web-components/postnord-web-components/{p-d3521b5d.entry.js → p-fb5d6d47.entry.js} +2 -2
  330. package/umd/modules/@postnord/web-components/postnord-web-components/postnord-web-components.esm.js +1 -1
  331. package/umd/modules/@postnord/web-components/postnord-web-components/postnord-web-components.esm.js.map +1 -1
  332. package/umd/modules/@postnord/web-components/types/components/buttons/pn-action-menu/pn-action-menu.d.ts +3 -0
  333. package/umd/modules/@postnord/web-components/types/components/feedback/pn-modal/pn-modal.d.ts +12 -2
  334. package/umd/modules/@postnord/web-components/types/components/feedback/pn-progress-indicator/pn-progress-indicator-step/pn-progress-indicator-step.d.ts +4 -0
  335. package/umd/modules/@postnord/web-components/types/components/feedback/pn-progress-indicator/pn-progress-indicator.d.ts +4 -0
  336. package/umd/modules/@postnord/web-components/types/components/feedback/pn-progress-stepper/pn-progress-stepper.d.ts +27 -22
  337. package/umd/modules/@postnord/web-components/types/components/feedback/pn-toast/pn-toast.d.ts +2 -1
  338. package/umd/modules/@postnord/web-components/types/components.d.ts +60 -12
  339. package/umd/modules/@postnord/web-components/types/globals/types.d.ts +2 -1
  340. package/umd/modules/@postnord/web-components/vscode-data.json +7 -3
  341. package/vscode-data.json +4 -0
  342. package/pn-market-web-components/p-59cb7166.entry.js +0 -2
  343. package/pn-market-web-components/p-59cb7166.entry.js.map +0 -1
  344. package/pn-market-web-components/p-7c3091eb.entry.js +0 -2
  345. package/pn-market-web-components/p-7c3091eb.entry.js.map +0 -1
  346. package/pn-market-web-components/p-94a69959.entry.js +0 -2
  347. package/pn-market-web-components/p-94a69959.entry.js.map +0 -1
  348. package/umd/modules/@postnord/web-components/cjs/angle_down-0b63ebde.js.map +0 -1
  349. package/umd/modules/@postnord/web-components/cjs/angle_right-c8c55b43.js.map +0 -1
  350. package/umd/modules/@postnord/web-components/components/angle_down.js.map +0 -1
  351. package/umd/modules/@postnord/web-components/components/angle_right.js.map +0 -1
  352. package/umd/modules/@postnord/web-components/esm/angle_down-d788f691.js.map +0 -1
  353. package/umd/modules/@postnord/web-components/esm/angle_right-b52095c9.js.map +0 -1
  354. package/umd/modules/@postnord/web-components/postnord-web-components/p-203ad7de.entry.js.map +0 -1
  355. package/umd/modules/@postnord/web-components/postnord-web-components/p-2615282e.entry.js +0 -6
  356. package/umd/modules/@postnord/web-components/postnord-web-components/p-2615282e.entry.js.map +0 -1
  357. package/umd/modules/@postnord/web-components/postnord-web-components/p-3bd59ac8.entry.js +0 -6
  358. package/umd/modules/@postnord/web-components/postnord-web-components/p-3bd59ac8.entry.js.map +0 -1
  359. package/umd/modules/@postnord/web-components/postnord-web-components/p-4f67fffa.entry.js.map +0 -1
  360. package/umd/modules/@postnord/web-components/postnord-web-components/p-514107a5.entry.js +0 -6
  361. package/umd/modules/@postnord/web-components/postnord-web-components/p-514107a5.entry.js.map +0 -1
  362. package/umd/modules/@postnord/web-components/postnord-web-components/p-6a30576b.entry.js +0 -6
  363. package/umd/modules/@postnord/web-components/postnord-web-components/p-6a30576b.entry.js.map +0 -1
  364. package/umd/modules/@postnord/web-components/postnord-web-components/p-7ae9c053.entry.js +0 -6
  365. package/umd/modules/@postnord/web-components/postnord-web-components/p-8bc8f614.entry.js +0 -6
  366. package/umd/modules/@postnord/web-components/postnord-web-components/p-8bc8f614.entry.js.map +0 -1
  367. package/umd/modules/@postnord/web-components/postnord-web-components/p-936ed2a1.entry.js.map +0 -1
  368. package/umd/modules/@postnord/web-components/postnord-web-components/p-adc6404b.entry.js.map +0 -1
  369. package/umd/modules/@postnord/web-components/postnord-web-components/p-bc95d4b0.entry.js.map +0 -1
  370. package/umd/modules/@postnord/web-components/postnord-web-components/p-bf967b50.js.map +0 -1
  371. package/umd/modules/@postnord/web-components/postnord-web-components/p-c96ff403.js.map +0 -1
  372. package/umd/modules/@postnord/web-components/postnord-web-components/p-ed4271af.entry.js.map +0 -1
  373. package/umd/modules/@postnord/web-components/postnord-web-components/p-fc5f9092.entry.js +0 -6
  374. package/umd/modules/@postnord/web-components/postnord-web-components/p-fc5f9092.entry.js.map +0 -1
  375. package/umd/modules/@postnord/web-components/readme.md +0 -32
  376. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-7e88df1f.entry.js.map → p-01472170.entry.js.map} +0 -0
  377. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-8773152d.entry.js.map → p-10532427.entry.js.map} +0 -0
  378. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-ffe79fa4.entry.js.map → p-11ef58ab.entry.js.map} +0 -0
  379. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-d74ccbb2.entry.js.map → p-1cd57319.entry.js.map} +0 -0
  380. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-c2bbbcaa.entry.js.map → p-1fe6fc61.entry.js.map} +0 -0
  381. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-5b0000e9.entry.js.map → p-363f578a.entry.js.map} +0 -0
  382. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-c0d19737.entry.js.map → p-37297b9a.entry.js.map} +0 -0
  383. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-b556b835.entry.js.map → p-4d371963.entry.js.map} +0 -0
  384. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-ab29b9c0.entry.js.map → p-4eaab357.entry.js.map} +0 -0
  385. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-da713fc1.entry.js.map → p-5ed7e9b7.entry.js.map} +0 -0
  386. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-e087c5c5.entry.js.map → p-63aa3911.entry.js.map} +0 -0
  387. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-bf015c0f.entry.js.map → p-699b7bde.entry.js.map} +0 -0
  388. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-9bc1d14f.entry.js.map → p-6f9a21be.entry.js.map} +0 -0
  389. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-bd14cdca.entry.js.map → p-8e07bc17.entry.js.map} +0 -0
  390. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-7bd6d804.entry.js.map → p-8eaa2540.entry.js.map} +0 -0
  391. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-ff068744.entry.js.map → p-9cecd28d.entry.js.map} +0 -0
  392. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-605d99df.entry.js.map → p-a440734f.entry.js.map} +0 -0
  393. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-b9a494ae.entry.js.map → p-ab553e80.entry.js.map} +0 -0
  394. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-a4df55c4.entry.js.map → p-b202a599.entry.js.map} +0 -0
  395. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-fcd5028f.entry.js.map → p-bdb9bdc3.entry.js.map} +0 -0
  396. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-81f9f367.entry.js.map → p-cebe3a25.entry.js.map} +0 -0
  397. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-76b020f0.entry.js.map → p-d2f7b4a9.entry.js.map} +0 -0
  398. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-c45dc75d.entry.js.map → p-e8050420.entry.js.map} +0 -0
  399. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-412fc8d6.entry.js.map → p-eee2d131.entry.js.map} +0 -0
  400. /package/umd/modules/@postnord/web-components/postnord-web-components/{p-d3521b5d.entry.js.map → p-fb5d6d47.entry.js.map} +0 -0
@@ -7,11 +7,11 @@
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { Components, PnActionMenuItem, PnButtonAppearance, PnButtonVariant, PnColors, PnLanguages, PnMultiselectOption, PnZipCodeSearchLanguages } from "./index";
9
9
  import { Event } from "./stencil-public-runtime";
10
- import { PnLanguages as PnLanguages1, PnMarkets, PnSteps, PnUploadFileItem } from "./globals/types";
10
+ import { PnLanguages as PnLanguages1, PnMarkets, PnUploadFileItem } from "./globals/types";
11
11
  import { CalendarView, PnDatePickerSelectEvent } from "./globals/date/index";
12
12
  export { Components, PnActionMenuItem, PnButtonAppearance, PnButtonVariant, PnColors, PnLanguages, PnMultiselectOption, PnZipCodeSearchLanguages } from "./index";
13
13
  export { Event } from "./stencil-public-runtime";
14
- export { PnLanguages as PnLanguages1, PnMarkets, PnSteps, PnUploadFileItem } from "./globals/types";
14
+ export { PnLanguages as PnLanguages1, PnMarkets, PnUploadFileItem } from "./globals/types";
15
15
  export { CalendarView, PnDatePickerSelectEvent } from "./globals/date/index";
16
16
  export namespace Components {
17
17
  /**
@@ -1367,12 +1367,20 @@ export namespace Components {
1367
1367
  */
1368
1368
  "successText"?: string;
1369
1369
  }
1370
+ /**
1371
+ * @deprecated This component will be removed in v8. Please use the `pn-progress-stepper` instead.
1372
+ * @see {@link https://portal.postnord.com/web-components/?path=/docs/components-feedback-progress-stepper--docs Use `pn-progress-stepper` instead.}
1373
+ */
1370
1374
  interface PnProgressIndicator {
1371
1375
  /**
1372
1376
  * Takes the index of the active step
1373
1377
  */
1374
1378
  "activeStep": number;
1375
1379
  }
1380
+ /**
1381
+ * @deprecated This component will be removed in v8. Please use the `pn-progress-stepper` instead.
1382
+ * @see {@link https://portal.postnord.com/web-components/?path=/docs/components-feedback-progress-stepper--docs Use `pn-progress-stepper` instead.}
1383
+ */
1376
1384
  interface PnProgressIndicatorStep {
1377
1385
  /**
1378
1386
  * Set by the parent component. Do not use manually.
@@ -1404,14 +1412,20 @@ export namespace Components {
1404
1412
  interface PnProgressStepper {
1405
1413
  /**
1406
1414
  * The current step of the progress stepper.
1415
+ * @category Steps
1407
1416
  */
1408
- "currentStep": PnSteps;
1417
+ "currentStep": number;
1409
1418
  /**
1410
- * Set custom label for the stepper, recommended default label is "Step".
1419
+ * Use the dots visual, instead of the bar. This will hide the label from view, but is still accessible to screenreaders.
1420
+ * @category Visual
1421
+ */
1422
+ "dots": boolean;
1423
+ /**
1424
+ * Set custom label for the stepper, default label is "Step".
1411
1425
  */
1412
1426
  "label"?: string;
1413
1427
  /**
1414
- * Set the language manually, only use this prop if the pnTopbar is not loaded. Will not overwrite the `label` prop if used.
1428
+ * Set the language manually, only use this prop if the pnTopbar is not loaded. Will not overwrite the custom `label` prop if used.
1415
1429
  */
1416
1430
  "language"?: PnLanguages;
1417
1431
  /**
@@ -1420,12 +1434,14 @@ export namespace Components {
1420
1434
  "progressStepperId"?: string;
1421
1435
  /**
1422
1436
  * You can add a custom optional string to the label if you need a name for the current step.
1437
+ * @category Steps
1423
1438
  */
1424
1439
  "stepName"?: string;
1425
1440
  /**
1426
- * Set total amount of steps, maximum `7` is allowed.
1441
+ * Set total amount of steps, maximum allowed is `7`.
1442
+ * @category Steps
1427
1443
  */
1428
- "totalSteps": PnSteps;
1444
+ "totalSteps": number;
1429
1445
  }
1430
1446
  /**
1431
1447
  * The `pn-radio-button` is built with a native `input[type="radio"]` in the background.
@@ -2707,6 +2723,10 @@ declare global {
2707
2723
  interface HTMLPnProgressIndicatorElementEventMap {
2708
2724
  "progresschange": number;
2709
2725
  }
2726
+ /**
2727
+ * @deprecated This component will be removed in v8. Please use the `pn-progress-stepper` instead.
2728
+ * @see {@link https://portal.postnord.com/web-components/?path=/docs/components-feedback-progress-stepper--docs Use `pn-progress-stepper` instead.}
2729
+ */
2710
2730
  interface HTMLPnProgressIndicatorElement extends Components.PnProgressIndicator, HTMLStencilElement {
2711
2731
  addEventListener<K extends keyof HTMLPnProgressIndicatorElementEventMap>(type: K, listener: (this: HTMLPnProgressIndicatorElement, ev: PnProgressIndicatorCustomEvent<HTMLPnProgressIndicatorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2712
2732
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -2724,6 +2744,10 @@ declare global {
2724
2744
  interface HTMLPnProgressIndicatorStepElementEventMap {
2725
2745
  "setactivestep": number;
2726
2746
  }
2747
+ /**
2748
+ * @deprecated This component will be removed in v8. Please use the `pn-progress-stepper` instead.
2749
+ * @see {@link https://portal.postnord.com/web-components/?path=/docs/components-feedback-progress-stepper--docs Use `pn-progress-stepper` instead.}
2750
+ */
2727
2751
  interface HTMLPnProgressIndicatorStepElement extends Components.PnProgressIndicatorStep, HTMLStencilElement {
2728
2752
  addEventListener<K extends keyof HTMLPnProgressIndicatorStepElementEventMap>(type: K, listener: (this: HTMLPnProgressIndicatorStepElement, ev: PnProgressIndicatorStepCustomEvent<HTMLPnProgressIndicatorStepElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2729
2753
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -4543,6 +4567,10 @@ declare namespace LocalJSX {
4543
4567
  */
4544
4568
  "successText"?: string;
4545
4569
  }
4570
+ /**
4571
+ * @deprecated This component will be removed in v8. Please use the `pn-progress-stepper` instead.
4572
+ * @see {@link https://portal.postnord.com/web-components/?path=/docs/components-feedback-progress-stepper--docs Use `pn-progress-stepper` instead.}
4573
+ */
4546
4574
  interface PnProgressIndicator {
4547
4575
  /**
4548
4576
  * Takes the index of the active step
@@ -4553,6 +4581,10 @@ declare namespace LocalJSX {
4553
4581
  */
4554
4582
  "onProgresschange"?: (event: PnProgressIndicatorCustomEvent<number>) => void;
4555
4583
  }
4584
+ /**
4585
+ * @deprecated This component will be removed in v8. Please use the `pn-progress-stepper` instead.
4586
+ * @see {@link https://portal.postnord.com/web-components/?path=/docs/components-feedback-progress-stepper--docs Use `pn-progress-stepper` instead.}
4587
+ */
4556
4588
  interface PnProgressIndicatorStep {
4557
4589
  /**
4558
4590
  * Set by the parent component. Do not use manually.
@@ -4585,14 +4617,20 @@ declare namespace LocalJSX {
4585
4617
  interface PnProgressStepper {
4586
4618
  /**
4587
4619
  * The current step of the progress stepper.
4620
+ * @category Steps
4588
4621
  */
4589
- "currentStep"?: PnSteps;
4622
+ "currentStep"?: number;
4590
4623
  /**
4591
- * Set custom label for the stepper, recommended default label is "Step".
4624
+ * Use the dots visual, instead of the bar. This will hide the label from view, but is still accessible to screenreaders.
4625
+ * @category Visual
4626
+ */
4627
+ "dots"?: boolean;
4628
+ /**
4629
+ * Set custom label for the stepper, default label is "Step".
4592
4630
  */
4593
4631
  "label"?: string;
4594
4632
  /**
4595
- * Set the language manually, only use this prop if the pnTopbar is not loaded. Will not overwrite the `label` prop if used.
4633
+ * Set the language manually, only use this prop if the pnTopbar is not loaded. Will not overwrite the custom `label` prop if used.
4596
4634
  */
4597
4635
  "language"?: PnLanguages;
4598
4636
  /**
@@ -4601,12 +4639,14 @@ declare namespace LocalJSX {
4601
4639
  "progressStepperId"?: string;
4602
4640
  /**
4603
4641
  * You can add a custom optional string to the label if you need a name for the current step.
4642
+ * @category Steps
4604
4643
  */
4605
4644
  "stepName"?: string;
4606
4645
  /**
4607
- * Set total amount of steps, maximum `7` is allowed.
4646
+ * Set total amount of steps, maximum allowed is `7`.
4647
+ * @category Steps
4608
4648
  */
4609
- "totalSteps"?: PnSteps;
4649
+ "totalSteps"?: number;
4610
4650
  }
4611
4651
  /**
4612
4652
  * The `pn-radio-button` is built with a native `input[type="radio"]` in the background.
@@ -5584,7 +5624,15 @@ declare module "@stencil/core" {
5584
5624
  */
5585
5625
  "pn-pagination": LocalJSX.PnPagination & JSXBase.HTMLAttributes<HTMLPnPaginationElement>;
5586
5626
  "pn-progress-bar": LocalJSX.PnProgressBar & JSXBase.HTMLAttributes<HTMLPnProgressBarElement>;
5627
+ /**
5628
+ * @deprecated This component will be removed in v8. Please use the `pn-progress-stepper` instead.
5629
+ * @see {@link https://portal.postnord.com/web-components/?path=/docs/components-feedback-progress-stepper--docs Use `pn-progress-stepper` instead.}
5630
+ */
5587
5631
  "pn-progress-indicator": LocalJSX.PnProgressIndicator & JSXBase.HTMLAttributes<HTMLPnProgressIndicatorElement>;
5632
+ /**
5633
+ * @deprecated This component will be removed in v8. Please use the `pn-progress-stepper` instead.
5634
+ * @see {@link https://portal.postnord.com/web-components/?path=/docs/components-feedback-progress-stepper--docs Use `pn-progress-stepper` instead.}
5635
+ */
5588
5636
  "pn-progress-indicator-step": LocalJSX.PnProgressIndicatorStep & JSXBase.HTMLAttributes<HTMLPnProgressIndicatorStepElement>;
5589
5637
  /**
5590
5638
  * The `pn-progress-stepper` is used to visualize the users progress through a flow (checkout/survey, etc...).
@@ -19,7 +19,8 @@ export type PnLanguages = '' | typeof sv | typeof en | typeof da | typeof fi | t
19
19
  export type PnButtonAppearance = '' | 'light' | 'warning';
20
20
  export type PnButtonVariant = '' | 'outlined' | 'borderless';
21
21
  export type PnColors = keyof typeof colors;
22
- export type PnSteps = 1 | 2 | 3 | 4 | 5 | 6 | 7;
22
+ /** @deprecated Its just numbers now. */
23
+ export type PnSteps = number;
23
24
  export type PnStepProps = 'totalSteps' | 'currentStep';
24
25
  export interface PnTopbar {
25
26
  hasLoaded: boolean;
@@ -1705,13 +1705,17 @@
1705
1705
  "name": "current-step",
1706
1706
  "description": "The current step of the progress stepper."
1707
1707
  },
1708
+ {
1709
+ "name": "dots",
1710
+ "description": "Use the dots visual, instead of the bar.\n\nThis will hide the label from view, but is still accessible to screenreaders."
1711
+ },
1708
1712
  {
1709
1713
  "name": "label",
1710
- "description": "Set custom label for the stepper, recommended default label is \"Step\"."
1714
+ "description": "Set custom label for the stepper, default label is \"Step\"."
1711
1715
  },
1712
1716
  {
1713
1717
  "name": "language",
1714
- "description": "Set the language manually, only use this prop if the pnTopbar is not loaded.\nWill not overwrite the `label` prop if used.",
1718
+ "description": "Set the language manually, only use this prop if the pnTopbar is not loaded.\nWill not overwrite the custom `label` prop if used.",
1715
1719
  "values": [
1716
1720
  {
1717
1721
  "name": "da"
@@ -1740,7 +1744,7 @@
1740
1744
  },
1741
1745
  {
1742
1746
  "name": "total-steps",
1743
- "description": "Set total amount of steps, maximum `7` is allowed."
1747
+ "description": "Set total amount of steps, maximum allowed is `7`."
1744
1748
  }
1745
1749
  ]
1746
1750
  },
package/vscode-data.json CHANGED
@@ -8,6 +8,10 @@
8
8
  "value": ""
9
9
  },
10
10
  "attributes": [
11
+ {
12
+ "name": "address-not-found-error",
13
+ "description": ""
14
+ },
11
15
  {
12
16
  "name": "cache",
13
17
  "description": ""
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,g as s,h as i,d as o}from"./p-bb1c965e.js";import{F as r,M as n}from"./p-65f243c1.js";import{d as l}from"./p-3e4d9396.js";const a={sv:{errorEmpty:"Får inte vara tom",errorPostalCode:"Kan inte hitta postkoden",required:"obligatoriskt"},en:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode",required:"required"},da:{errorEmpty:"Kan ikke være tom",errorPostalCode:"Kunne ikke finde postnummeret",required:"påkrævet"},no:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode"},fi:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode",required:"pakollinen"},de:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode"},zh:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode"},fr:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode"},es:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode"},nl:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode"},it:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode"},tr:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode"},pl:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode"},pt:{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode"},"pt-BR":{errorEmpty:"Cannot be empty",errorPostalCode:"Could not find postalcode"}};const h="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-address-autofill pn-marketweb-input{width:50%}pn-address-autofill .input-container-row{display:flex;gap:1rem;margin-bottom:1rem}pn-address-autofill .label-container{color:#5e554a;font-size:0.875em;display:flex;justify-content:space-between;align-items:flex-end}pn-address-autofill .autocomplete-items{position:absolute;border-radius:0.8rem;border:0.1rem solid #5e554a;width:100%;max-height:30rem;overflow-y:auto}pn-address-autofill .autocomplete-items:hover,pn-address-autofill .autocomplete-items :focus{border:0.1rem solid #00a0d6}pn-address-autofill .autocomplete-items div{padding:1.6rem;cursor:pointer;background-color:#fff;border:0.1rem solid transparent}pn-address-autofill .autocomplete-items div:first-child{border-radius:0.8rem 0.8rem 0 0}pn-address-autofill .autocomplete-items div:last-child{border-radius:0 0 0.8rem 0.8rem}pn-address-autofill .autocomplete-items div:hover{background-color:#e0f8ff}pn-address-autofill .autocomplete-items .autocomplete-active{background-color:#e0f8ff}pn-address-autofill .autocomplete-items:empty{display:none}pn-address-autofill pn-input{max-width:25rem;width:100%}";const d=h;const u=class{constructor(s){t(this,s);this.addresscomplete=e(this,"addresscomplete",7);this.market=null;this.environment=null;this.endpoint=null;this.cache=true;this.countryCode=null;this.language=null;this.postalCodeProps=null;this.cityProps=null;this.streetAddressProps=null;this.streetNumberProps=null;this.postalCode=null;this.city=null;this.streetAddress=null;this.streetNumber=null;this.validAddress=false;this.translation=undefined;this.postalCodeRequiredLabel=null;this.streetRequiredLabel=null;this.fullAddress=null;this.isLoading=true}get hostElement(){return s(this)}pnInputPostalCode=null;pnInputCity=null;pnInputStreetAddress=null;pnInputStreetNumber=null;postalCodeInputField=null;streetAddressInputField=null;streetNumberInputField=null;pnInputHiddenValue=null;endpointPath="/api/location/get-by-postalcode";locationEndpointPath="/api/location/get-by-location";_postalCodeProps=null;_cityProps=null;_streetAddressProps=null;_streetNumberProps=null;addresscomplete;fetchHelper=new r("PostalCodeCityAutofill");componentWillLoad(){this.setInitialValues();this._postalCodeProps=this.setProps(this.postalCodeProps);this._cityProps=this.setProps(this.cityProps);this._streetAddressProps=this.setProps(this.streetAddressProps);this._streetNumberProps=this.setProps(this.streetNumberProps)}setProps(t){if(typeof t==="string"){return JSON.parse(t)}else{return t}}componentDidLoad(){this.postalCodeInputField=this.pnInputPostalCode.querySelector("input");this.streetAddressInputField=this.pnInputStreetAddress.querySelector("input");this.streetNumberInputField=this.pnInputStreetNumber.querySelector("input");this.addEventHandlers()}async setInitialValues(t=window.location.href){const e=new n(t);if(!this.environment){this.environment=await e.getEnvironmentName()}if(!this.endpoint&&this.environment?.indexOf("local")===-1){this.endpoint=await e.getEndpoint(this.environment,this.market)}if(!this.endpoint){this.endpoint=""}if(!this.language){this.language=await e.getLanguage()}this.setTranslations();this.postalCodeRequiredLabel="";this.streetRequiredLabel="";if(this._postalCodeProps.postalCodeInputRequired===true){this.postalCodeRequiredLabel=" ("+this.translation.required+")"}if(this._streetAddressProps.streetAddressInputRequired===true){this.streetRequiredLabel=" ("+this.translation.required+")"}}setTranslations(){if(this.language==="nb"){this.language="no"}if(this.language&&a[this.language]){this.translation=a[this.language]}}addEventHandlers(){let t;this.postalCodeInputField.addEventListener("keyup",(e=>{this.isLoading=true;clearTimeout(t);t=window.setTimeout((()=>{this.fetchPostalCodeData(e)}),300)}));this.streetAddressInputField.addEventListener("blur",this.handleAddressDropdown.bind(this));this.streetNumberInputField.addEventListener("blur",this.handleAddressDropdown.bind(this));this.addFormFieldEvent()}addFormFieldEvent(){const t=this.hostElement.querySelectorAll("input");t.forEach((t=>{["keyup","change","blur"].forEach((e=>{const s=l(this.updateHiddenValue.bind(this),1e3);t.addEventListener(e,s)}))}))}updateHiddenValue(t){if(t.target===this.streetNumberInputField){this.streetNumber=this.streetNumberInputField.value}if(this.validAddress&&this.postalCode&&this.city&&this.streetAddress&&this.streetNumber){this.fullAddress=`${this.streetAddress} ${this.streetNumber}, ${this.city} ${this.postalCode}`}else{this.fullAddress=""}this.addresscomplete.emit(this.fullAddress)}async fetchPostalCodeData(t){if(!t){return}const e=this.postalCodeInputField.value;var s=4;if(e.length<s){this.resetFields();return}if(this.postalCode===e){return}this.resetFields();this.postalCode=e;var i=await this.fetchPostalCode(e);const o=i.addresses?.find((t=>t.postalCode===e));this.city=o?.city||null;this.isLoading=false}async fetchPostalCode(t){const e=this.endpoint.endsWith("/")?this.endpoint.slice(0,-1):this.endpoint;const s=`${e}${this.endpointPath}?countryCode=${this.countryCode}&postalCode=${t}`;try{const t=await this.fetchHelper.fetchJson(s,{mode:"cors"},this.cache);if(!t?.addresses?.length){this.pnInputPostalCode.setAttribute("error",this._postalCodeProps.postalCodeInputError);return}return t}catch(t){console.error("Error fetching address data:",t);this.isLoading=true;return null}}async fetchAddress(){const t=this.endpoint.endsWith("/")?this.endpoint.slice(0,-1):this.endpoint;var e=this.streetAddress+" "+this.streetNumber;const s=`${t}${this.locationEndpointPath}?countryCode=${this.countryCode}&query=${e}`;try{const t=await this.fetchHelper.fetchJson(s,{mode:"cors"},this.cache);return t}catch(t){console.error("Error fetching address data:",t);this.isLoading=true;return null}}resetFields(){this.streetAddressInputField.value="";this.streetNumberInputField.value="";this.city=null;this.streetAddress=null;this.streetNumber=null;this.validAddress=false;let t=document.getElementsByTagName("pn-input");Array.from(t).forEach((t=>{t.removeAttribute("error")}))}async handleAddressDropdown(t){const e=this.streetAddressInputField.value;const s=this.streetNumberInputField.value;if(!e&&!s){return}if(this.streetAddress===e&&this.streetNumber===s){return}if(e){this.streetAddress=e}if(s){this.streetNumber=s}var i=await this.fetchAddress();var o=false;var r=false;if(!i?.addresses?.length){if(t.target===this.streetAddressInputField){o=true}if(t.target===this.streetNumberInputField){r=true}}else{if(this.streetAddress&&!i.addresses.find((t=>this.normalizeChar(t.street)===this.normalizeChar(this.streetAddress)&&t.postalCode===this.postalCode))){o=true}if(this.streetNumber&&!i.addresses.find((t=>t.houseNumber.toLowerCase()===this.streetNumber.toLowerCase()&&t.postalCode===this.postalCode))){r=true}}this.pnInputStreetAddress.removeAttribute("error");this.pnInputStreetAddress.setAttribute("helpertext",this._streetAddressProps.streetAddressInputHelpertext);this.pnInputStreetNumber.removeAttribute("error");this.pnInputStreetNumber.setAttribute("helpertext",this._streetNumberProps.streetNumberInputHelpertext);this.validAddress=true;if(o){this.pnInputStreetAddress.setAttribute("error",this._streetAddressProps.streetAddressInputError);this.pnInputStreetAddress.setAttribute("helpertext",this._streetAddressProps.streetAddressInputError);this.validAddress=false}if(r){this.pnInputStreetNumber.setAttribute("error",this._streetNumberProps.streetNumberInputError);this.pnInputStreetNumber.setAttribute("helpertext",this._streetNumberProps.streetNumberInputError);this.validAddress=false}}normalizeChar(t){const e={ø:"o",Ø:"o",æ:"ae",Æ:"ae"};var s=t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").split("").map((t=>e[t]||t)).join("").toLowerCase();return s}render(){return i(o,{key:"144d390d30ab4ed791c6e1c89753cf185ec22528",class:"pn-address-autofill"},this._postalCodeProps?.postalCodeCityLabel?i("div",{class:"label-container"},i("label",null,`${this._postalCodeProps.postalCodeCityLabel+" "+this.postalCodeRequiredLabel}`)):null,i("div",{key:"f50c6de42b8c582769e6c6f03736106462e1023d",class:"input-container-row"},i("pn-input",{key:"c777d9f11e090940d8fad9471027200116c79fec",type:"number",name:this._postalCodeProps?.postalCodeInputName,required:this._postalCodeProps?.postalCodeInputRequired,placeholder:this._postalCodeProps?.postalCodeInputPlaceholder,ref:t=>this.pnInputPostalCode=t,autocomplete:"off",helpertext:this._postalCodeProps?.postalCodeInputHelpertext}),i("pn-input",{key:"317888fa29d61168e8fac41f58adf3bab7a5d16c",type:"text",name:this._cityProps?.cityInputName,disabled:true,value:this.city,placeholder:this._cityProps?.cityInputPlaceholder,autocomplete:"off",helpertext:this._cityProps?.cityInputHelpertext})),this._streetAddressProps?.streetAddressNumberLabel?i("div",{class:"label-container"},i("label",null,`${this._streetAddressProps.streetAddressNumberLabel+" "+this.streetRequiredLabel}`)):null,i("div",{key:"df079570278fe8910dd5e6bccf8f04585ad14243",class:"input-container-row"},i("pn-input",{key:"3ebdce3b0a90fba067c023c80d5c6d2374885082",type:"text",name:this._streetAddressProps?.streetAddressInputName,required:this._streetAddressProps?.streetAddressInputRequired,value:this.streetAddress,placeholder:this._streetAddressProps?.streetAddressInputPlaceholder,ref:t=>this.pnInputStreetAddress=t,autocomplete:"off",helpertext:this._streetAddressProps?.streetAddressInputHelpertext,disabled:this.isLoading}),i("pn-input",{key:"d48f305425656296711248b2c808b5a259e9730e",type:"text",name:this._streetNumberProps?.streetNumberInputName,required:this._streetNumberProps?.streetNumberInputRequired,value:this.streetNumber,placeholder:this._streetNumberProps?.streetNumberInputPlaceholder,ref:t=>this.pnInputStreetNumber=t,autocomplete:"off",helpertext:this._streetNumberProps?.streetNumberInputHelpertext,disabled:this.isLoading})))}};u.style=d;export{u as pn_address_autofill};
2
- //# sourceMappingURL=p-59cb7166.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["translations","sv","errorEmpty","errorPostalCode","required","en","da","no","fi","de","zh","fr","es","nl","it","tr","pl","pt","pnAddressAutofillCss","PnAddressAutofillStyle0","PnAddressAutofill","pnInputPostalCode","pnInputCity","pnInputStreetAddress","pnInputStreetNumber","postalCodeInputField","streetAddressInputField","streetNumberInputField","pnInputHiddenValue","endpointPath","locationEndpointPath","_postalCodeProps","_cityProps","_streetAddressProps","_streetNumberProps","addresscomplete","fetchHelper","FetchHelper","componentWillLoad","this","setInitialValues","setProps","postalCodeProps","cityProps","streetAddressProps","streetNumberProps","props","JSON","parse","componentDidLoad","querySelector","addEventHandlers","href","window","location","marketWebContextService","MarketWebContextService","environment","getEnvironmentName","endpoint","indexOf","getEndpoint","market","language","getLanguage","setTranslations","postalCodeRequiredLabel","streetRequiredLabel","postalCodeInputRequired","translation","streetAddressInputRequired","debounceTimeout","addEventListener","e","isLoading","clearTimeout","setTimeout","fetchPostalCodeData","handleAddressDropdown","bind","addFormFieldEvent","allInputs","hostElement","querySelectorAll","forEach","element","eventName","debounceUpdate","debounce","updateHiddenValue","target","streetNumber","value","validAddress","postalCode","city","streetAddress","fullAddress","emit","postalCodeLength","length","resetFields","data","fetchPostalCode","cityInfo","addresses","find","addr","endpointBase","endsWith","slice","fetchUrl","countryCode","fetchJson","mode","cache","setAttribute","postalCodeInputError","error","console","fetchAddress","locationSearch","inputs","document","getElementsByTagName","Array","from","removeAttribute","showStreetAddressError","showStreetNumberError","normalizeChar","street","houseNumber","toLowerCase","streetAddressInputHelpertext","streetNumberInputHelpertext","streetAddressInputError","streetNumberInputError","str","specialCharMap","str1","normalize","replace","split","map","char","join","render","h","Host","key","class","postalCodeCityLabel","type","name","postalCodeInputName","placeholder","postalCodeInputPlaceholder","ref","el","autocomplete","helpertext","postalCodeInputHelpertext","cityInputName","disabled","cityInputPlaceholder","cityInputHelpertext","streetAddressNumberLabel","streetAddressInputName","streetAddressInputPlaceholder","streetNumberInputName","streetNumberInputRequired","streetNumberInputPlaceholder"],"sources":["src/components/input/pn-address-autofill/translations.ts","src/components/input/pn-address-autofill/pn-address-autofill.scss?tag=pn-address-autofill","src/components/input/pn-address-autofill/pn-address-autofill.tsx"],"sourcesContent":["export const translations = {\n 'sv': {\n errorEmpty: 'Får inte vara tom',\n errorPostalCode: 'Kan inte hitta postkoden',\n required: 'obligatoriskt'\n },\n 'en': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n required: 'required'\n\n },\n 'da': {\n errorEmpty: 'Kan ikke være tom',\n errorPostalCode: 'Kunne ikke finde postnummeret',\n required: 'påkrævet'\n },\n 'no': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n },\n 'fi': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n required: 'pakollinen'\n },\n 'de': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n },\n 'zh': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n },\n 'fr': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n },\n 'es': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n },\n 'nl': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n },\n 'it': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n },\n 'tr': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n },\n 'pl': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n },\n 'pt': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n },\n 'pt-BR': {\n errorEmpty: 'Cannot be empty',\n errorPostalCode: 'Could not find postalcode',\n },\n};\n","@import '../../../globals/main.scss';\n\npn-address-autofill {\n pn-marketweb-input {\n width: 50%;\n }\n\n .input-container-row {\n display: flex;\n //flex-grow: 1;\n gap: 1rem;\n margin-bottom: 1rem;\n }\n\n .label-container {\n color: $gray700;\n font-size: 0.875em;\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n }\n\n .autocomplete-items {\n position: absolute;\n border-radius: 0.8rem;\n border: 0.1rem solid $gray700;\n width: 100%;\n max-height: 30rem;\n overflow-y: auto;\n\n &:hover,\n :focus {\n border: 0.1rem solid $blue400;\n }\n\n div {\n padding: 1.6rem;\n cursor: pointer;\n background-color: #fff;\n border: 0.1rem solid transparent;\n\n &:first-child {\n border-radius: 0.8rem 0.8rem 0 0;\n }\n\n &:last-child {\n border-radius: 0 0 0.8rem 0.8rem;\n }\n\n &:hover {\n background-color: #e0f8ff;\n }\n }\n\n .autocomplete-active {\n background-color: #e0f8ff;\n }\n }\n \n .autocomplete-items:empty {\n display: none;\n }\n\n pn-input {\n max-width: 25rem;\n width: 100%;\n }\n}\n","import { Component, Prop, h, Element, State, Host, EventEmitter, Event } from '@stencil/core';\nimport { MarketWebContextService } from '../../../globals/MarketWebContextService';\nimport { FetchHelper } from '../../../globals/FetchHelper';\nimport { Root, PostalCodeProps, CityProps, StreetAddressProps, StreetNumberProps } from './types';\nimport debounce from 'debounce';\nimport { translations } from './translations';\n\n@Component({\n tag: 'pn-address-autofill',\n styleUrl: 'pn-address-autofill.scss',\n})\nexport class PnAddressAutofill {\n @Element() hostElement: Element;\n pnInputPostalCode: HTMLElement = null;\n pnInputCity: HTMLElement = null;\n pnInputStreetAddress: HTMLElement = null;\n pnInputStreetNumber: HTMLElement = null;\n postalCodeInputField: HTMLInputElement = null;\n streetAddressInputField: HTMLInputElement = null;\n streetNumberInputField: HTMLInputElement = null;\n pnInputHiddenValue: HTMLElement = null;\n endpointPath = '/api/location/get-by-postalcode';\n locationEndpointPath = '/api/location/get-by-location';\n private _postalCodeProps: PostalCodeProps = null;\n private _cityProps: CityProps = null;\n private _streetAddressProps: StreetAddressProps = null;\n private _streetNumberProps: StreetNumberProps = null;\n\n /** Specifies which market we want to show (se,dk,fi,no,com) */\n @Prop({ mutable: true, reflect: true }) market: string = null; //se\n /** Specifies which environment we're fetching data from. (production, preproduction, integration, localhost) */\n @Prop({ mutable: true, reflect: true }) environment: string = null; //sv\n @Prop() endpoint: string = null;\n @Prop() cache: boolean = true;\n @Prop() countryCode: string = null;\n @Prop() language: string = null;\n\n @Prop() postalCodeProps: string | PostalCodeProps = null;\n @Prop() cityProps: string | CityProps = null;\n @Prop() streetAddressProps: string | StreetAddressProps = null;\n @Prop() streetNumberProps: string | StreetNumberProps = null;\n\n @State() postalCode: string = null;\n @State() city: string = null;\n @State() streetAddress: string = null;\n @State() streetNumber: string = null;\n @State() validAddress: boolean = false;\n @State() translation: any;\n @State() postalCodeRequiredLabel: string = null;\n @State() streetRequiredLabel: string = null;\n\n @State() fullAddress: string = null;\n @State() isLoading: boolean = true;\n\n @Event() addresscomplete: EventEmitter<string>;\n\n fetchHelper = new FetchHelper('PostalCodeCityAutofill');\n\n componentWillLoad() {\n this.setInitialValues();\n this._postalCodeProps = this.setProps(this.postalCodeProps);\n this._cityProps = this.setProps(this.cityProps);\n this._streetAddressProps = this.setProps(this.streetAddressProps);\n this._streetNumberProps = this.setProps(this.streetNumberProps);\n }\n\n setProps(props) {\n if (typeof props === 'string') {\n return JSON.parse(props);\n } else {\n return props;\n }\n }\n\n componentDidLoad() {\n this.postalCodeInputField = this.pnInputPostalCode.querySelector('input');\n this.streetAddressInputField = this.pnInputStreetAddress.querySelector('input');\n this.streetNumberInputField = this.pnInputStreetNumber.querySelector('input');\n\n this.addEventHandlers();\n }\n\n async setInitialValues(href = window.location.href) {\n const marketWebContextService = new MarketWebContextService(href);\n\n if (!this.environment) {\n this.environment = await marketWebContextService.getEnvironmentName();\n }\n\n if (!this.endpoint && this.environment?.indexOf('local') === -1) {\n this.endpoint = await marketWebContextService.getEndpoint(this.environment, this.market);\n }\n\n if (!this.endpoint) {\n this.endpoint = '';\n }\n\n if (!this.language) {\n this.language = await marketWebContextService.getLanguage();\n }\n\n this.setTranslations()\n\n this.postalCodeRequiredLabel = \"\";\n this.streetRequiredLabel = \"\";\n\n if(this._postalCodeProps.postalCodeInputRequired === true) {\n this.postalCodeRequiredLabel = \" (\" + this.translation.required + \")\"; \n }\n\n if(this._streetAddressProps.streetAddressInputRequired === true) {\n this.streetRequiredLabel = \" (\" + this.translation.required + \")\"; \n }\n }\n\n setTranslations() {\n if (this.language === 'nb') {\n this.language = 'no';\n }\n if (this.language && translations[this.language]) {\n this.translation = translations[this.language];\n }\n }\n\n addEventHandlers() {\n let debounceTimeout: number | undefined;\n\n this.postalCodeInputField.addEventListener('keyup', (e) => {\n this.isLoading = true;\n clearTimeout(debounceTimeout);\n debounceTimeout = window.setTimeout(() => {\n this.fetchPostalCodeData(e);\n }, 300);\n });\n\n this.streetAddressInputField.addEventListener('blur', this.handleAddressDropdown.bind(this));\n this.streetNumberInputField.addEventListener('blur', this.handleAddressDropdown.bind(this));\n this.addFormFieldEvent();\n }\n\n addFormFieldEvent() {\n const allInputs = this.hostElement.querySelectorAll('input');\n allInputs.forEach(element => {\n ['keyup', 'change', 'blur'].forEach(eventName => {\n const debounceUpdate = debounce(this.updateHiddenValue.bind(this), 1000);\n element.addEventListener(eventName, debounceUpdate);\n });\n });\n }\n\n updateHiddenValue(e) {\n if (e.target === this.streetNumberInputField) {\n this.streetNumber = this.streetNumberInputField.value;\n }\n\n if (this.validAddress && this.postalCode && this.city && this.streetAddress && this.streetNumber) {\n this.fullAddress = `${this.streetAddress} ${this.streetNumber}, ${this.city} ${this.postalCode}`;\n } else {\n this.fullAddress = '';\n }\n\n this.addresscomplete.emit(this.fullAddress);\n }\n\n async fetchPostalCodeData(e: Event) {\n if (!e) {\n return;\n }\n const postalCode = this.postalCodeInputField.value;\n\n var postalCodeLength = 4;\n\n if (postalCode.length < postalCodeLength) {\n this.resetFields();\n return;\n }\n\n if (this.postalCode === postalCode) {\n return;\n }\n\n this.resetFields();\n this.postalCode = postalCode;\n\n var data = (await this.fetchPostalCode(postalCode));\n\n const cityInfo = data.addresses?.find(addr => addr.postalCode === postalCode);\n this.city = cityInfo?.city || null;\n\n this.isLoading = false;\n }\n\n\n async fetchPostalCode(postalCode) {\n const endpointBase = this.endpoint.endsWith('/')\n ? this.endpoint.slice(0, -1)\n : this.endpoint;\n\n const fetchUrl = `${endpointBase}${this.endpointPath}?countryCode=${this.countryCode}&postalCode=${postalCode}`;\n\n try {\n const data = await this.fetchHelper.fetchJson(fetchUrl, { mode: 'cors' }, this.cache) as Root;\n\n if (!data?.addresses?.length) {\n this.pnInputPostalCode.setAttribute('error', this._postalCodeProps.postalCodeInputError);\n return;\n }\n return data;\n }\n catch (error) {\n console.error(\"Error fetching address data:\", error);\n this.isLoading = true;\n return null;\n }\n }\n\n\n async fetchAddress() {\n const endpointBase = this.endpoint.endsWith('/')\n ? this.endpoint.slice(0, -1)\n : this.endpoint;\n\n //merge street and number\n var locationSearch = this.streetAddress + ' ' + this.streetNumber;\n\n //this is Air search api which will return the address, without postcode, postalcode verification is done in handleAddressDropdown\n const fetchUrl = `${endpointBase}${this.locationEndpointPath}?countryCode=${this.countryCode}&query=${locationSearch}`;\n\n try {\n const data = await this.fetchHelper.fetchJson(fetchUrl, { mode: 'cors' }, this.cache) as Root;\n return data;\n }\n catch (error) {\n console.error(\"Error fetching address data:\", error);\n this.isLoading = true;\n return null;\n }\n\n }\n\n private resetFields() {\n this.streetAddressInputField.value = '';\n this.streetNumberInputField.value = '';\n this.city = null;\n this.streetAddress = null;\n this.streetNumber = null;\n this.validAddress = false;\n\n let inputs = document.getElementsByTagName('pn-input');\n\n Array.from(inputs).forEach(element => {\n element.removeAttribute('error');\n });\n }\n\n async handleAddressDropdown(e: Event) {\n const streetAddress = this.streetAddressInputField.value;\n const streetNumber = this.streetNumberInputField.value;\n\n //no data fetching if both the inputs are empty\n if (!streetAddress && !streetNumber) {\n return;\n }\n\n //skip the data fetch if there is no change in input\n if (this.streetAddress === streetAddress && this.streetNumber === streetNumber) {\n return;\n }\n\n //set the values\n if (streetAddress) {\n this.streetAddress = streetAddress;\n }\n if (streetNumber) {\n this.streetNumber = streetNumber;\n }\n\n //fetch data\n var data = await this.fetchAddress();\n\n //verify the error\n var showStreetAddressError = false;\n var showStreetNumberError = false;\n\n if (!data?.addresses?.length) {\n if (e.target === this.streetAddressInputField) {\n showStreetAddressError = true;\n }\n if (e.target === this.streetNumberInputField) {\n showStreetNumberError = true;\n }\n } else {\n if (this.streetAddress && !data.addresses.find(addr => this.normalizeChar(addr.street) === this.normalizeChar(this.streetAddress) && addr.postalCode === this.postalCode)) {\n showStreetAddressError = true;\n }\n if (this.streetNumber && !data.addresses.find(addr => addr.houseNumber.toLowerCase() === this.streetNumber.toLowerCase() && addr.postalCode === this.postalCode)) {\n showStreetNumberError = true;\n }\n }\n\n //helpertext changes are temp fix to show the error text, this can be removed once the upgrade is done and fixes this issue.\n this.pnInputStreetAddress.removeAttribute('error');\n this.pnInputStreetAddress.setAttribute('helpertext', this._streetAddressProps.streetAddressInputHelpertext);\n\n this.pnInputStreetNumber.removeAttribute('error');\n this.pnInputStreetNumber.setAttribute('helpertext', this._streetNumberProps.streetNumberInputHelpertext);\n\n this.validAddress = true;\n\n if (showStreetAddressError) {\n this.pnInputStreetAddress.setAttribute('error', this._streetAddressProps.streetAddressInputError);\n this.pnInputStreetAddress.setAttribute('helpertext', this._streetAddressProps.streetAddressInputError);\n this.validAddress = false;\n }\n if (showStreetNumberError) {\n this.pnInputStreetNumber.setAttribute('error', this._streetNumberProps.streetNumberInputError);\n this.pnInputStreetNumber.setAttribute('helpertext', this._streetNumberProps.streetNumberInputError);\n this.validAddress = false;\n }\n }\n\n //this function is added to compare the street input values if entered without special characters like é, ø ect\n normalizeChar(str) {\n\n const specialCharMap = {\n 'ø': 'o',\n 'Ø': 'o',\n 'æ': 'ae',\n 'Æ': 'ae',\n // Add more as needed\n };\n\n var str1 = str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n .split('').map(char => specialCharMap[char] || char)\n .join('').toLowerCase()\n return str1;\n }\n\n render() {\n return (\n <Host class=\"pn-address-autofill\">\n {this._postalCodeProps?.postalCodeCityLabel ? (\n <div class=\"label-container\">\n <label>{`${this._postalCodeProps.postalCodeCityLabel + ' ' + this.postalCodeRequiredLabel}`}</label>\n </div>\n ) : null}\n <div class=\"input-container-row\">\n <pn-input\n type=\"number\"\n name={this._postalCodeProps?.postalCodeInputName}\n required={this._postalCodeProps?.postalCodeInputRequired}\n placeholder={this._postalCodeProps?.postalCodeInputPlaceholder}\n ref={el => (this.pnInputPostalCode = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._postalCodeProps?.postalCodeInputHelpertext}\n ></pn-input>\n\n <pn-input\n type=\"text\"\n name={this._cityProps?.cityInputName}\n disabled\n value={this.city}\n placeholder={this._cityProps?.cityInputPlaceholder}\n autocomplete=\"off\"\n helpertext={this._cityProps?.cityInputHelpertext}\n ></pn-input>\n </div>\n\n {this._streetAddressProps?.streetAddressNumberLabel ? (\n <div class=\"label-container\">\n <label>{`${this._streetAddressProps.streetAddressNumberLabel + ' ' + this.streetRequiredLabel}`}</label>\n </div>\n ) : null}\n <div class=\"input-container-row\">\n <pn-input\n type=\"text\"\n name={this._streetAddressProps?.streetAddressInputName}\n required={this._streetAddressProps?.streetAddressInputRequired}\n value={this.streetAddress}\n placeholder={this._streetAddressProps?.streetAddressInputPlaceholder}\n ref={el => (this.pnInputStreetAddress = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._streetAddressProps?.streetAddressInputHelpertext}\n disabled={this.isLoading}\n ></pn-input>\n\n <pn-input\n type=\"text\"\n name={this._streetNumberProps?.streetNumberInputName}\n required={this._streetNumberProps?.streetNumberInputRequired}\n value={this.streetNumber}\n placeholder={this._streetNumberProps?.streetNumberInputPlaceholder}\n ref={el => (this.pnInputStreetNumber = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._streetNumberProps?.streetNumberInputHelpertext}\n disabled={this.isLoading}\n ></pn-input>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,h as e,d as i}from"./p-bb1c965e.js";const n='<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0m8-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m1.4 5.497-.334 5.005a1.069 1.069 0 0 1-2.133 0L10.6 7.497a1.403 1.403 0 1 1 2.8 0M12 18a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3" clip-rule="evenodd"/></svg>';const r=n;const o="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn--marketweb-input{display:inline-flex;flex-direction:column}pn-marketweb-input input{padding:0.75em;font-size:1em;font-weight:500;-webkit-font-smoothing:antialiased;outline:none;border-radius:0.8rem;border:0.1rem solid #5e554a;transition:box-shadow 0.15s, border 0.15s;color:#000000;width:100%}pn-marketweb-input input::placeholder{color:#969087;font-weight:normal}pn-marketweb-input input:focus{border:0.1rem solid #005d92;box-shadow:0 0 0 0.2rem #fff, 0 0 0 0.4rem #005d92}pn-marketweb-input input:hover{border:0.1rem solid #00a0d6}pn-marketweb-input input:disabled{background:#f3f2f2;border:none}pn-marketweb-input>.input-container{position:relative}pn-marketweb-input>.input-container>button{position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#005d92;padding:0.6rem;border-radius:0.8rem;outline:none;transition:border 0.1s, background 0.2s, color 0.1s;border:0.1rem solid transparent}pn-marketweb-input>.input-container>button:focus{border:0.1rem solid #005d92}pn-marketweb-input>.input-container>button:hover{background:#e0f8ff}pn-marketweb-input>.input-container>button:active{background:#005d92;color:white}pn-marketweb-input>.input-container>svg{position:absolute;right:0.75em;top:50%;transform:translateY(-50%);height:1.5em;width:1.5em;pointer-events:none}pn-marketweb-input>.input-container>svg polyline{stroke-linecap:round;transition:stroke-dashoffset 0.2s cubic-bezier(0.79, 0.14, 0.15, 0.86)}pn-marketweb-input>.input-container>svg.pn-input-checkmark polyline{stroke:#005e41;stroke-dashoffset:23;stroke-dasharray:23}pn-marketweb-input .label-container{margin-bottom:0.4rem;color:#5e554a;font-size:0.875em;display:flex;justify-content:space-between;align-items:flex-end}pn-marketweb-input .label-container label{cursor:pointer;transition:color 0.2s}.label-container label.char-count{flex-shrink:0;padding-left:0.5em}pn-marketweb-input small{font-size:0.75em;font-size:max(.6em, 1.2rem);transition:transform 0.2s cubic-bezier(0.79, 0.14, 0.15, 0.86);margin-top:0.5em;color:#5e554a}pn-input.error{color:#a70707}pn-input.error label{color:#a70707}pn-input.error small{color:#a70707}pn-input.error small>pn-icon{margin-right:0.25em}pn-input.error input{border:0.1rem solid #a70707}pn-input.error input:focus{border:0.1rem solid #a70707;box-shadow:0 0 0 0.2rem #fff, 0 0 0 0.4rem #a70707}pn-input.error input:hover{border:0.1rem solid #f06365}pn-input.valid{color:#005e41}pn-input.valid .input-container>svg.pn-input-checkmark polyline{stroke-dashoffset:0}pn-input.valid label{color:#005e41}pn-input.valid input{border:0.1rem solid #005e41}pn-input.valid input:focus{border:0.1rem solid #005e41;box-shadow:0 0 0 0.2rem #fff, 0 0 0 0.4rem #005e41}pn-input.valid input:hover{border:0.1rem solid #5ec584}pn-marketweb-input.password input{padding-right:4em}pn-marketweb-input.icon input{padding-right:2.3em}";const s=o;const a=class{constructor(e){t(this,e);this.disabled=false;this.error="";this.invalid=false;this.helpertext="";this.label="";this.placeholder="";this.inputid=`${Math.random()}`;this.name="";this.required=false;this.type="text";this.autocomplete="";this.valid=null;this.value="";this.maxlength="";this.min="";this.max="";this.step="";this.pattern="";this.showText=false}getTextMessage(){if(this.error)return this.error;if(this.helpertext)return this.helpertext;return null}toggleTextVisibility(){this.showText=!this.showText}getInputType(){let t=["text","password","url","tel","search","number","email","date","datetime-local","month","week","time"];return t.includes(this.type)&&!this.showText?this.type:"text"}setVal(t){const e=t.composedPath?.()[0];this.value=e.value}getClassNames(){let t="pn-input ";if(this.error.length>0||this.invalid)t+="error ";if(this.valid)t+="valid ";if(this.type==="password")t+="password ";if(this.error||this.invalid||this.valid)t+="icon ";return t}render(){return e(i,{key:"4f7f8f34c1ee53c4afb001753391d4c157e1478b",class:this.getClassNames()},(this.label||this.maxlength)&&e("div",{key:"47d1c694771fc809834c83b1862479fd8a9e9d8d",class:"label-container"},this.label&&e("label",{key:"0fc212d7f191e9a14fbfc125c5f6f8170f89fa9a",htmlFor:this.inputid},this.label),parseInt(this.maxlength)>0&&e("label",{key:"b80c0e7c3a0303ab9f86c0a29869d65e0db2bc60",class:"char-count",htmlFor:this.inputid},`${this.value.length}/${this.maxlength}`)),e("div",{key:"ff9cc8c88c7bd113bae6e70973705fd3e79720e1",class:"input-container"},e("input",{key:"9d7032bf457b824ab3e8e9e4a26f5676f10fd75f",type:this.getInputType(),value:this.value,id:this.inputid,name:this.name,placeholder:this.placeholder,disabled:this.disabled,required:this.required,autocomplete:this.autocomplete,onInput:t=>this.setVal(t),maxlength:this.maxlength?this.maxlength:null,min:this.min?this.min:null,max:this.max?this.max:null,step:this.step?this.step:null,pattern:this.pattern?this.pattern:null}),e("svg",{key:"32edd92bb708da7494c80e21163321c976753506",class:"pn-input-checkmark",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none"},e("polyline",{key:"c7a4e9e801dd98d2f392954ce1f4cf38f4be59d0",class:"checkmark-path",points:"4,12 9,17 20,6","stroke-width":"3"})),this.type==="password"&&!this.disabled&&e("button",{key:"1afd953b2b8f429ef82978649382c969b47b3c52",onClick:()=>this.toggleTextVisibility()},"Show")),this.getTextMessage()&&e("small",{key:"8e10536b12bf476a98e54202c5302c8816d28f74"},this.error&&e("pn-icon",{key:"a86e347e28f92a4b8437e964fbf9d3784dcdf158",icon:r,small:true,color:"warning"}),this.getTextMessage()))}};a.style=s;export{a as pn_marketweb_input};
2
- //# sourceMappingURL=p-7c3091eb.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icon","alert_exclamation_circle","pnMarketwebInputCss","PnMarketwebInputStyle0","PnMarketwebInput","Math","random","getTextMessage","this","error","helpertext","toggleTextVisibility","showText","getInputType","types","includes","type","setVal","e","target","composedPath","value","getClassNames","classNames","length","invalid","valid","render","h","Host","key","class","label","maxlength","htmlFor","inputid","parseInt","id","name","placeholder","disabled","required","autocomplete","onInput","min","max","step","pattern","xmlns","viewBox","fill","points","onClick","small","color"],"sources":["node_modules/pn-design-assets/pn-assets/icons/alert_exclamation_circle.js","src/components/input/pn-marketweb-input/pn-marketweb-input.scss?tag=pn-marketweb-input","src/components/input/pn-marketweb-input/pn-marketweb-input.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0m8-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m1.4 5.497-.334 5.005a1.069 1.069 0 0 1-2.133 0L10.6 7.497a1.403 1.403 0 1 1 2.8 0M12 18a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\" clip-rule=\"evenodd\"/></svg>';\nexport const alert_exclamation_circle = icon;\nexport const alertExclamationCircle = icon;\n","@import '../../../globals/main.scss';\n\npn--marketweb-input {\n display: inline-flex;\n flex-direction: column;\n}\n\npn-marketweb-input input {\n padding: 0.75em;\n font-size: 1em;\n font-weight: 500;\n -webkit-font-smoothing: antialiased;\n outline: none;\n border-radius: 0.8rem;\n border: 0.1rem solid $gray700;\n transition:\n box-shadow 0.15s,\n border 0.15s;\n color: $black;\n width: 100%;\n\n &::placeholder {\n color: $gray400;\n font-weight: normal;\n }\n\n &:focus {\n border: 0.1rem solid $blue700;\n box-shadow:\n 0 0 0 0.2rem #fff,\n 0 0 0 0.4rem $blue700;\n }\n\n &:hover {\n border: 0.1rem solid $blue400;\n }\n\n &:disabled {\n background: $gray50;\n border: none;\n }\n}\n\npn-marketweb-input > .input-container {\n position: relative;\n\n > button {\n position: absolute;\n right: 1.2rem;\n top: 50%;\n transform: translateY(-50%);\n background: none;\n border: none;\n cursor: pointer;\n color: $blue700;\n padding: 0.6rem;\n border-radius: 0.8rem;\n outline: none;\n transition:\n border 0.1s,\n background 0.2s,\n color 0.1s;\n border: 0.1rem solid transparent;\n\n &:focus {\n border: 0.1rem solid $blue700;\n }\n\n &:hover {\n background: $blue50;\n }\n\n &:active {\n background: $blue700;\n color: white;\n }\n }\n\n > svg {\n position: absolute;\n right: 0.75em;\n top: 50%;\n transform: translateY(-50%);\n height: 1.5em;\n width: 1.5em;\n pointer-events: none;\n\n polyline {\n stroke-linecap: round;\n transition: stroke-dashoffset 0.2s cubic-bezier(0.79, 0.14, 0.15, 0.86);\n }\n }\n\n > svg.pn-input-checkmark polyline {\n stroke: $green700;\n stroke-dashoffset: 23;\n stroke-dasharray: 23;\n }\n}\n\npn-marketweb-input .label-container {\n margin-bottom: 0.4rem;\n color: $gray700;\n font-size: 0.875em;\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n\n label {\n cursor: pointer;\n transition: color 0.2s;\n }\n}\n\n.label-container label.char-count {\n flex-shrink: 0;\n padding-left: 0.5em;\n}\n\npn-marketweb-input small {\n font-size: 0.75em;\n font-size: unquote('max(.6em, 1.2rem)');\n transition: transform 0.2s cubic-bezier(0.79, 0.14, 0.15, 0.86);\n margin-top: 0.5em;\n color: $gray700;\n}\n\npn-input.error {\n color: $warning;\n\n label {\n color: $warning;\n }\n\n small {\n color: $warning;\n }\n\n small > pn-icon {\n margin-right: 0.25em;\n }\n\n input {\n border: 0.1rem solid $warning;\n\n &:focus {\n border: 0.1rem solid $warning;\n box-shadow:\n 0 0 0 0.2rem #fff,\n 0 0 0 0.4rem $warning;\n }\n\n &:hover {\n border: 0.1rem solid $coral400;\n }\n }\n}\n\npn-input.valid {\n color: $green700;\n\n .input-container > svg.pn-input-checkmark polyline {\n stroke-dashoffset: 0;\n }\n\n label {\n color: $green700;\n }\n\n input {\n border: 0.1rem solid $green700;\n\n &:focus {\n border: 0.1rem solid $green700;\n box-shadow:\n 0 0 0 0.2rem #fff,\n 0 0 0 0.4rem $green700;\n }\n\n &:hover {\n border: 0.1rem solid $green400;\n }\n }\n}\n\npn-marketweb-input.password input {\n padding-right: 4em;\n}\n\npn-marketweb-input.icon input {\n padding-right: 2.3em;\n}\n","import { Component, Prop, h, Host, State } from '@stencil/core';\nimport { alert_exclamation_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-input',\n styleUrl: 'pn-marketweb-input.scss',\n})\nexport class PnMarketwebInput {\n @Prop() disabled: boolean = false;\n /** Error message; will take precedence over helpertext if both are provided (applies invalid styles automatically) */\n @Prop() error: string = '';\n /** Error state without message (If you want to control the error messaging on your own) */\n @Prop() invalid: boolean = false;\n /** Text message placed underneath the input field */\n @Prop() helpertext: string = '';\n /** Text label placed above the input field */\n @Prop() label: string = '';\n @Prop() placeholder: string = '';\n @Prop() inputid: string = `${Math.random()}`;\n @Prop() name: string = '';\n @Prop() required: boolean = false;\n @Prop({ mutable: true }) type: string = 'text';\n @Prop() autocomplete: string = '';\n @Prop() valid: boolean = null;\n @Prop() value: string = '';\n /** The maximum number of characters the user should be able to add, also adds a visible counter */\n @Prop() maxlength: string = '';\n @Prop() min: string = '';\n @Prop() max: string = '';\n @Prop() step: string = '';\n @Prop() pattern: string = '';\n\n getTextMessage() {\n if (this.error) return this.error;\n if (this.helpertext) return this.helpertext;\n\n return null;\n }\n\n @State() showText: boolean = false;\n toggleTextVisibility() {\n this.showText = !this.showText;\n }\n\n getInputType() {\n let types = ['text', 'password', 'url', 'tel', 'search', 'number', 'email', 'date', 'datetime-local', 'month', 'week', 'time'];\n\n return types.includes(this.type) && !this.showText ? this.type : 'text';\n }\n\n setVal(e) {\n const target: HTMLInputElement = e.composedPath?.()[0] as HTMLInputElement;\n this.value = target.value;\n }\n\n getClassNames() {\n let classNames = 'pn-input ';\n if (this.error.length > 0 || this.invalid) classNames += 'error ';\n if (this.valid) classNames += 'valid ';\n if (this.type === 'password') classNames += 'password ';\n if (this.error || this.invalid || this.valid) classNames += 'icon ';\n\n return classNames;\n }\n\n render() {\n return (\n <Host class={this.getClassNames()}>\n {(this.label || this.maxlength) && (\n <div class=\"label-container\">\n {this.label && <label htmlFor={this.inputid}>{this.label}</label>}\n {parseInt(this.maxlength) > 0 && (\n <label class=\"char-count\" htmlFor={this.inputid}>\n {`${this.value.length}/${this.maxlength}`}\n </label>\n )}\n </div>\n )}\n <div class=\"input-container\">\n <input\n type={this.getInputType()}\n value={this.value}\n id={this.inputid}\n name={this.name}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n autocomplete={this.autocomplete}\n onInput={e => this.setVal(e)}\n maxlength={this.maxlength ? this.maxlength : null}\n min={this.min ? this.min : null}\n max={this.max ? this.max : null}\n step={this.step ? this.step : null}\n pattern={this.pattern ? this.pattern : null}\n />\n <svg class=\"pn-input-checkmark\" 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 </svg>\n\n {this.type === 'password' && !this.disabled && <button onClick={() => this.toggleTextVisibility()}>Show</button>}\n </div>\n\n {this.getTextMessage() && (\n <small>\n {this.error && <pn-icon icon={alert_exclamation_circle} small color=\"warning\"></pn-icon>}\n {this.getTextMessage()}\n </small>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAO,0YACN,MAAMC,EAA2BD,ECDxC,MAAME,EAAsB,+4FAC5B,MAAAC,EAAeD,E,MCMFE,EAAgB,M,uCACC,M,WAEJ,G,aAEG,M,gBAEE,G,WAEL,G,iBACM,G,aACJ,GAAGC,KAAKC,W,UACX,G,cACK,M,UACY,O,kBACT,G,WACN,K,WACD,G,eAEI,G,SACN,G,SACA,G,UACC,G,aACG,G,cASG,K,CAP7B,cAAAC,GACE,GAAIC,KAAKC,MAAO,OAAOD,KAAKC,MAC5B,GAAID,KAAKE,WAAY,OAAOF,KAAKE,WAEjC,OAAO,I,CAIT,oBAAAC,GACEH,KAAKI,UAAYJ,KAAKI,Q,CAGxB,YAAAC,GACE,IAAIC,EAAQ,CAAC,OAAQ,WAAY,MAAO,MAAO,SAAU,SAAU,QAAS,OAAQ,iBAAkB,QAAS,OAAQ,QAEvH,OAAOA,EAAMC,SAASP,KAAKQ,QAAUR,KAAKI,SAAWJ,KAAKQ,KAAO,M,CAGnE,MAAAC,CAAOC,GACL,MAAMC,EAA2BD,EAAEE,iBAAiB,GACpDZ,KAAKa,MAAQF,EAAOE,K,CAGtB,aAAAC,GACE,IAAIC,EAAa,YACjB,GAAIf,KAAKC,MAAMe,OAAS,GAAKhB,KAAKiB,QAASF,GAAc,SACzD,GAAIf,KAAKkB,MAAOH,GAAc,SAC9B,GAAIf,KAAKQ,OAAS,WAAYO,GAAc,YAC5C,GAAIf,KAAKC,OAASD,KAAKiB,SAAWjB,KAAKkB,MAAOH,GAAc,QAE5D,OAAOA,C,CAGT,MAAAI,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOvB,KAAKc,kBACdd,KAAKwB,OAASxB,KAAKyB,YACnBL,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACRvB,KAAKwB,OAASJ,EAAA,SAAAE,IAAA,2CAAOI,QAAS1B,KAAK2B,SAAU3B,KAAKwB,OAClDI,SAAS5B,KAAKyB,WAAa,GAC1BL,EAAA,SAAAE,IAAA,2CAAOC,MAAM,aAAaG,QAAS1B,KAAK2B,SACrC,GAAG3B,KAAKa,MAAMG,UAAUhB,KAAKyB,cAKtCL,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACTH,EAAA,SAAAE,IAAA,2CACEd,KAAMR,KAAKK,eACXQ,MAAOb,KAAKa,MACZgB,GAAI7B,KAAK2B,QACTG,KAAM9B,KAAK8B,KACXC,YAAa/B,KAAK+B,YAClBC,SAAUhC,KAAKgC,SACfC,SAAUjC,KAAKiC,SACfC,aAAclC,KAAKkC,aACnBC,QAASzB,GAAKV,KAAKS,OAAOC,GAC1Be,UAAWzB,KAAKyB,UAAYzB,KAAKyB,UAAY,KAC7CW,IAAKpC,KAAKoC,IAAMpC,KAAKoC,IAAM,KAC3BC,IAAKrC,KAAKqC,IAAMrC,KAAKqC,IAAM,KAC3BC,KAAMtC,KAAKsC,KAAOtC,KAAKsC,KAAO,KAC9BC,QAASvC,KAAKuC,QAAUvC,KAAKuC,QAAU,OAEzCnB,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qBAAqBiB,MAAM,6BAA6BC,QAAQ,YAAYC,KAAK,QAC1FtB,EAAA,YAAAE,IAAA,2CAAUC,MAAM,iBAAiBoB,OAAO,iBAAgB,eAAc,OAGvE3C,KAAKQ,OAAS,aAAeR,KAAKgC,UAAYZ,EAAA,UAAAE,IAAA,2CAAQsB,QAAS,IAAM5C,KAAKG,wBAAsB,SAGlGH,KAAKD,kBACJqB,EAAA,SAAAE,IAAA,4CACGtB,KAAKC,OAASmB,EAAA,WAAAE,IAAA,2CAAS9B,KAAMC,EAA0BoD,MAAK,KAACC,MAAM,YACnE9C,KAAKD,kB","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as o,g as t,h as n,d}from"./p-bb1c965e.js";import{d as r}from"./p-3e4d9396.js";const c="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}";const i=c;const s=class{constructor(t){e(this,t);this.rowvalues=o(this,"rowvalues",7);this.dropdownData=null;this.languageCode=null;this.addRowDropdownName="";this.addRowDropdownPlaceholder="";this.addRowDropdownLabel="";this.rowNameLabel="";this.rowHasDropdown=true;this.rowDropdownLabel="";this.rowDropdownPlaceholder="";this.rowInputLabel="";this.rowDeleteButtonText="";this.totalInputLimit=0;this.inputLimitWarning=null;this.inputEmptyWarning=null;this.dropdownEmptyWarning=null;this.nextRowIndex=null;this.rowSelectDropdownArr=null;this.formValue=null}get hostElement(){return t(this)}pnRowSelectDropdown=null;tableHead=null;tableBody=null;_dropdownData;rowvalues;dropdownDataWatcher(){if(typeof this.dropdownData==="string"){this._dropdownData=JSON.parse(this.dropdownData)}else{this._dropdownData=this.dropdownData}}componentWillLoad(){this.dropdownDataWatcher()}componentDidLoad(){this.setInitialValues();this.addEventHandlers()}addEventHandlers(){this.pnRowSelectDropdown.addEventListener("change",r(this.addRowElement.bind(this),500))}setInitialValues(){this.nextRowIndex=0;this.setRowSelectDropdownArr()}setRowSelectDropdownArr(){this.rowSelectDropdownArr=[];this._dropdownData.forEach((e=>{this.rowSelectDropdownArr.push(e.label)}))}formRowEvent=e=>{const o=r(this.updateHiddenFieldValue.bind(this),500);if(e.target.matches("input")){["change","keyup"].forEach((t=>{e.target.addEventListener(t,o)}))}else{const t=e.target.closest(".generated-table-row")?.querySelector("pn-select");if(t){t.addEventListener("change",o)}}};updateHiddenFieldValue(){try{const e=[...this.tableBody.querySelectorAll(".generated-table-row")];const o=this.hostElement.querySelector(".pn-row-select-dropdown");if(!o){return}if(!e.length){o.setAttribute("error",`${this.dropdownEmptyWarning||"This field cannot be empty"}`);this.formValue="";this.rowvalues.emit("");return}const t=e.map((e=>{const o=e.querySelector(".tr-name");const t=e.querySelector(".tr-dropdown");const n=e.querySelector(".tr-input");if(!o||!n){throw new Error("Required elements missing from row")}const d={row:[{name:this.rowNameLabel,value:o.innerHTML}]};if(t){const e=t.querySelector("pn-select");const o=e?.querySelector("select");const n=o?.value||"";if(n){d.row.push({name:this.rowDropdownLabel,value:n})}}const r=n.querySelector("input");const c=parseInt(r?.value||"0",10);if(c>0){d.row.push({name:this.rowInputLabel,value:c.toString()})}return d}));if(!t.length||t.length!==e.length){this.formValue="";return}this.formValue=`PN-JSON|${JSON.stringify(t)}`;if(this.validateInputs()){this.rowvalues.emit(this.formValue);return}}catch(e){console.error("Error updating field value: ",e);this.formValue=""}}addRowElement(e){const o=e.target;const t=o?.value;if(!t){return}const n=this.hostElement.querySelector(".pn-row-select-dropdown");n?.removeAttribute("error");if(!this.tableBody){console.error("tableBody is not defined.");return}const d=document.createElement("div");d.setAttribute("index",`${this.nextRowIndex}`);d.className="generated-table-row";d.onclick=e=>this.formRowEvent(e);const r=document.createElement("div");r.className="tr-name";r.innerHTML=t;r.dataset.name=t;d.appendChild(r);const c=this._dropdownData?.find((e=>e.label===t));if(c?.values?.length){this.rowHasDropdown=true;const e=this.createDropdownColumn(t);d.appendChild(e)}else{this.rowHasDropdown=false;const e=document.createElement("div");e.className="tr-column";d.appendChild(e)}const i=this.createInputColumn(t);d.appendChild(i);const s=this.createDeleteButtonColumn();d.appendChild(s);this.tableBody.appendChild(d);this.updateRowSelectDropdown();this.nextRowIndex++}getCurrentRow(e){return this.hostElement.querySelectorAll(`.tr-name[data-name='${e}'`)}createDropdownColumn(e){const o=document.createElement("div");o.setAttribute("class","tr-dropdown");const t=this._dropdownData.find((o=>o.label===e));const n=[];const d=this.getCurrentRow(e);d.forEach((e=>{n.push(e.parentElement?.querySelector(".tr-dropdown [aria-selected=true]")?.textContent)}));if(t.values.length){const n=document.createElement("pn-select");n.setAttribute("name",`${e}-dropdown`);n.setAttribute("placeholder",this.rowDropdownPlaceholder);n.setAttribute("required","true");n.setAttribute("error","");const d=document.createElement("option");d.setAttribute("value","");d.textContent=this.rowDropdownPlaceholder;d.selected=true;d.disabled=true;n.appendChild(d);t.values.forEach((e=>{const o=document.createElement("option");o.setAttribute("label",e.label);o.setAttribute("value",e.label);o.textContent=e.label;n.appendChild(o)}));o.appendChild(n)}return o}createInputColumn(e){const o=document.createElement("div");o.setAttribute("class","tr-input");const t=document.createElement("pn-input");t.setAttribute("type","number");t.setAttribute("name",`${e}-input`);t.setAttribute("placeholder","0");if(this.totalInputLimit>0){t.setAttribute("max",`${this.totalInputLimit}`)}t.setAttribute("min","0");t.setAttribute("error","");o.appendChild(t);return o}createDeleteButtonColumn(){const e=document.createElement("div");e.setAttribute("class","tr-delete");const o=document.createElement("pn-button");o.onclick=e=>this.deleteRow(e);o.setAttribute("appearance","warning");o.setAttribute("small","true");o.appendChild(document.createTextNode(this.rowDeleteButtonText));e.appendChild(o);return e}updateRowSelectDropdown(){[].map.call(this.tableBody.querySelectorAll(".tr-name"),(e=>{const o=e?.parentElement?.querySelector(".tr-dropdown");const t=o?.querySelector(".pn-select-content span")?.textContent;const n={rowName:e?.innerHTML,selectedValue:o?.querySelector("[aria-selected=true]")?.textContent,placeholder:t};return n}));const e=this.pnRowSelectDropdown.querySelectorAll("option");e.forEach((e=>{e.removeAttribute("selected")}))}deleteRow(e){e.preventDefault();this.nextRowIndex--;const o=e.currentTarget;const t=o.closest(".generated-table-row");t.remove();const n=[...this.tableBody.querySelectorAll(".generated-table-row")];n.map(((e,o)=>{e.setAttribute("index",`${o}`)}));this.updateHiddenFieldValue();this.updateRowSelectDropdown()}validateInputs(){const e=this.tableBody.querySelectorAll("pn-select");const o=this.tableBody.querySelectorAll("pn-input");let t=false;let n=false;if(e){e.forEach((e=>{if(!e){return}const o=e.querySelector("select");const n=o?.value||"";if(n===null||n===""){e.setAttribute("error",`${this.dropdownEmptyWarning||"This field cannot be empty"}`);t=true}else{e.setAttribute("error","")}}))}if(o){o.forEach((e=>{if(e){const o=e.querySelector("input");let t=parseInt(o.value);if(this.totalInputLimit<t&&e.hasAttribute("max")){e.setAttribute("error",`${this.inputLimitWarning||"Amount too high"}`);n=true}else if(t<=0||isNaN(t)){e.setAttribute("error",`${this.inputEmptyWarning||"This field cannot be empty"}`);n=true}else{e.setAttribute("error","");n=false}}}))}if(t||n){return false}return true}render(){return n(d,{key:"fd91d96d714f89cab04d27588c78c933e4758a29"},n("div",{key:"3c8c900cc143afe7331b5717649d0ceef3fb1b97",class:"dropdown-choice-form-row"},n("pn-select",{key:"42cf006bfd234c61e115bb3fd90d8fa5bc9b937f",ref:e=>this.pnRowSelectDropdown=e,name:this.addRowDropdownName,label:this.addRowDropdownLabel,class:"pn-row-select-dropdown",language:this.languageCode},n("option",{key:"aa923ce23c5e94ac3ee98701b33a83461cdd40d9",value:"",selected:true,disabled:true},this.addRowDropdownPlaceholder),this.rowSelectDropdownArr?.map((e=>n("option",{label:e,value:e},e))))),n("div",{key:"41cd6fc5cca7544033bbb7e811da28a92f631f44",class:"dropdown-choice-form-row"},n("div",{key:"a76149b35b83be8964ac9e0177d5677f7bdb9c39",class:"pn-dropdown-choice-table"},n("div",{key:"417b71529a5491b4e8900b800bbbf89fe2ef0c6d",ref:e=>this.tableHead=e},this.nextRowIndex===0?null:n("div",{class:"table-header"},n("div",{class:"table-header-name"},n("label",null,this.rowNameLabel)),n("div",{class:"table-header-dropdown"},n("label",null,this.rowDropdownLabel)),n("div",{class:"table-header-input"},n("label",null,this.rowInputLabel)),n("div",{class:"table-header-delete"}))),n("div",{key:"7ff98dc256a4aa7a613ac06474b18fc7f9458aeb",ref:e=>this.tableBody=e,class:"pn-dropdown-choice-table-slot"},n("slot",{key:"659095efebf6f2b123b4586b2d2913431b1cc6c2"})))))}static get watchers(){return{dropdownData:["dropdownDataWatcher"]}}};s.style=i;export{s as pn_dropdown_choice_adds_row};
2
- //# sourceMappingURL=p-94a69959.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["pnDropdownChoiceAddsRowCss","PnDropdownChoiceAddsRowStyle0","pnDropdownChoiceAddsRow","pnRowSelectDropdown","tableHead","tableBody","_dropdownData","rowvalues","dropdownDataWatcher","this","dropdownData","JSON","parse","componentWillLoad","componentDidLoad","setInitialValues","addEventHandlers","addEventListener","debounce","addRowElement","bind","nextRowIndex","setRowSelectDropdownArr","rowSelectDropdownArr","forEach","element","push","label","formRowEvent","e","debouncedAddValue","updateHiddenFieldValue","target","matches","eventName","rowDropdown","closest","querySelector","allRows","querySelectorAll","mainDropdown","hostElement","length","setAttribute","dropdownEmptyWarning","formValue","emit","formValues","map","row","nameElm","dropdownElm","inputElm","Error","rowData","name","rowNameLabel","value","innerHTML","pnSelect","nativeSelect","dropdownSelection","rowDropdownLabel","input","inputValue","parseInt","rowInputLabel","toString","stringify","validateInputs","error","console","selectedElement","selectedValue","removeAttribute","newRow","document","createElement","className","onclick","rowNameColumn","dataset","appendChild","selectedR","find","item","values","rowHasDropdown","dropdownCol","createDropdownColumn","emptyDropdownCol","rowInputColumn","createInputColumn","deleteButton","createDeleteButtonColumn","updateRowSelectDropdown","getCurrentRow","dropdownColumn","selectedItem","arr","selectedOptionValues","currentRow","parentElement","textContent","dropdown","rowDropdownPlaceholder","placeholder","selected","disabled","childItem","childOption","inputColumn","totalInputLimit","buttonColumn","buttonElm","deleteRow","createTextNode","rowDeleteButtonText","call","el","dropdownPlaceholder","rowName","selectOptions","elm","preventDefault","targetElm","currentTarget","targetRow","remove","index","dropdownSelections","numberInputs","selectionEmpty","showWarning","dropdownElem","selection","dropdownVal","inputElem","currentNumber","currentValue","hasAttribute","inputLimitWarning","isNaN","inputEmptyWarning","render","h","Host","key","class","ref","addRowDropdownName","addRowDropdownLabel","language","languageCode","addRowDropdownPlaceholder"],"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"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"file":"angle_down-0b63ebde.js","mappings":";;;;;;AAAA,MAAM,IAAI,GAAG,4QAA4Q,CAAC;AAC9Q,MAAC,UAAU,GAAG;;;;","names":[],"sources":["node_modules/pn-design-assets/pn-assets/icons/angle_down.js"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M12.707 16.707a1 1 0 0 1-1.414 0l-8-8a1 1 0 0 1 1.414-1.414L12 14.586l7.293-7.293a1 1 0 1 1 1.414 1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_down = icon;\nexport const angleDown = icon;\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"angle_right-c8c55b43.js","mappings":";;;;;;AAAA,MAAMA,MAAI,GAAG,yQAAyQ,CAAC;AAC3Q,MAAC,UAAU,GAAGA;;ACD1B,MAAM,IAAI,GAAG,4QAA4Q,CAAC;AAC9Q,MAAC,WAAW,GAAG;;;;;","names":["icon"],"sources":["node_modules/pn-design-assets/pn-assets/icons/angle_left.js","node_modules/pn-design-assets/pn-assets/icons/angle_right.js"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M6.293 12.707a1 1 0 0 1 0-1.414l8-8a1 1 0 1 1 1.414 1.414L8.414 12l7.293 7.293a1 1 0 0 1-1.414 1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_left = icon;\nexport const angleLeft = icon;\n","const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M17.707 11.293a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414-1.414L15.586 12 8.293 4.707a1 1 0 0 1 1.414-1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_right = icon;\nexport const angleRight = icon;\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"angle_down.js","mappings":";;;;AAAA,MAAM,IAAI,GAAG,4QAA4Q,CAAC;AAC9Q,MAAC,UAAU,GAAG;;;;","names":[],"sources":["node_modules/pn-design-assets/pn-assets/icons/angle_down.js"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M12.707 16.707a1 1 0 0 1-1.414 0l-8-8a1 1 0 0 1 1.414-1.414L12 14.586l7.293-7.293a1 1 0 1 1 1.414 1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_down = icon;\nexport const angleDown = icon;\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"angle_right.js","mappings":";;;;AAAA,MAAMA,MAAI,GAAG,yQAAyQ,CAAC;AAC3Q,MAAC,UAAU,GAAGA;;ACD1B,MAAM,IAAI,GAAG,4QAA4Q,CAAC;AAC9Q,MAAC,WAAW,GAAG;;;;","names":["icon"],"sources":["node_modules/pn-design-assets/pn-assets/icons/angle_left.js","node_modules/pn-design-assets/pn-assets/icons/angle_right.js"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M6.293 12.707a1 1 0 0 1 0-1.414l8-8a1 1 0 1 1 1.414 1.414L8.414 12l7.293 7.293a1 1 0 0 1-1.414 1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_left = icon;\nexport const angleLeft = icon;\n","const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M17.707 11.293a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414-1.414L15.586 12 8.293 4.707a1 1 0 0 1 1.414-1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_right = icon;\nexport const angleRight = icon;\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"angle_down-d788f691.js","mappings":";;;;AAAA,MAAM,IAAI,GAAG,4QAA4Q,CAAC;AAC9Q,MAAC,UAAU,GAAG;;;;","names":[],"sources":["node_modules/pn-design-assets/pn-assets/icons/angle_down.js"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M12.707 16.707a1 1 0 0 1-1.414 0l-8-8a1 1 0 0 1 1.414-1.414L12 14.586l7.293-7.293a1 1 0 1 1 1.414 1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_down = icon;\nexport const angleDown = icon;\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"angle_right-b52095c9.js","mappings":";;;;AAAA,MAAMA,MAAI,GAAG,yQAAyQ,CAAC;AAC3Q,MAAC,UAAU,GAAGA;;ACD1B,MAAM,IAAI,GAAG,4QAA4Q,CAAC;AAC9Q,MAAC,WAAW,GAAG;;;;","names":["icon"],"sources":["node_modules/pn-design-assets/pn-assets/icons/angle_left.js","node_modules/pn-design-assets/pn-assets/icons/angle_right.js"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M6.293 12.707a1 1 0 0 1 0-1.414l8-8a1 1 0 1 1 1.414 1.414L8.414 12l7.293 7.293a1 1 0 0 1-1.414 1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_left = icon;\nexport const angleLeft = icon;\n","const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M17.707 11.293a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414-1.414L15.586 12 8.293 4.707a1 1 0 0 1 1.414-1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_right = icon;\nexport const angleRight = icon;\n"],"version":3}
@@ -1 +0,0 @@
1
- {"version":3,"names":["pnAccordionRowCss","PnAccordionRowStyle0","PnAccordionRow","details","summary","content","animation","defaultAnimationDuration","animationDuration","this","togglerow","handleRowState","event","detail","state","style","overflow","closeAccordion","componentWillLoad","slottedLabel","hostElement","querySelector","label","toggleOpen","open","emit","element","clickHandler","e","preventDefault","isClosing","openAccordion","x","width","y","top","getBoundingClientRect","clientCor","clientX","clientY","ripple","height","offsetHeight","requestAnimationFrame","isExpanding","startHeight","endHeight","cancelAnimations","animate","reduceMotion","duration","easing","onfinish","animationFinish","oncancel","cancel","render","h","Host","key","class","ref","el","id","buttonid","onClick","transparent","name","icon","angle_down","contentid"],"sources":["src/components/content/pn-accordion/row/pn-accordion-row.scss?tag=pn-accordion-row","src/components/content/pn-accordion/row/pn-accordion-row.tsx"],"sourcesContent":["@use 'src/globals/main';\n\npn-accordion-row {\n position: relative;\n margin: 0 -0.25em 0;\n}\n\npn-accordion-row .pn-accordion-row {\n width: 100%;\n display: flex;\n flex-direction: column;\n\n &-summary {\n color: main.$gray900;\n position: relative;\n border: none;\n outline: 0;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n\n width: 100%;\n padding: 0.25em;\n font-size: 1em;\n font-weight: 400;\n border-radius: 0.5em;\n\n list-style: none;\n\n &:hover > .pn-accordion-row-text {\n background-color: main.$blue50;\n }\n\n &:focus-visible > .pn-accordion-row-text {\n @include main.pn-focus-visible();\n }\n\n &::-webkit-details-marker {\n display: none;\n }\n }\n\n &-text {\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: 0.75em;\n background-color: main.$white;\n border-radius: 0.5em;\n -webkit-tap-highlight-color: transparent;\n\n &[data-transparent] {\n background-color: transparent;\n }\n\n @include main.pn-focus-base();\n @include main.pn-transition('background-color, outline-color');\n @include main.pn-ripple(main.$blue700);\n }\n\n &-icon {\n margin-left: auto;\n flex-shrink: 0;\n @include main.pn-transition('transform');\n path {\n fill: main.$blue700;\n }\n }\n\n &[open] .pn-accordion-row-icon {\n transform: rotate(-180deg);\n }\n\n &-content {\n color: main.$gray900;\n display: block;\n padding: 1em;\n }\n}\n","import { Component, h, Host, Element, Event, EventEmitter, Prop, State, Listen } from '@stencil/core';\nimport { angle_down } from 'pn-design-assets/pn-assets/icons.js';\nimport { reduceMotion, ripple } from '@/index';\n\n/**\n * Use this row component inside a `pn-accordion` to create an accordion group.\n *\n * **Note**: you can use the `pn-accordion-row` without the parent accordion.\n * But you will have to style the gap between each row.\n *\n * @slot label - Include your own HTML as the label.\n * ```\n * <h3 slot=\"label\">Custom title</h3>\n * ```\n */\n@Component({\n tag: 'pn-accordion-row',\n styleUrl: 'pn-accordion-row.scss',\n})\nexport class PnAccordionRow {\n private details: HTMLDetailsElement;\n private summary: HTMLElement;\n private content: HTMLDivElement;\n private animation: Animation;\n\n private readonly defaultAnimationDuration: number = 400;\n private animationDuration: number = this.defaultAnimationDuration;\n\n @Element() hostElement: HTMLElement;\n\n @State() isClosing = false;\n @State() isExpanding = false;\n\n /** The label/title of the accordion row, you can also pass a slot with the name \"label\" if you want to put custom HTML content in there. */\n @Prop({ mutable: true }) label: string;\n /** The open/close status of the accordion row. */\n @Prop({ mutable: true }) state?: boolean = false;\n\n /** Optional unique id for the `summary` element. @category ID */\n @Prop() buttonid?: string;\n /** Optional unique id for the `div` element containing the content. @category ID */\n @Prop() contentid?: string;\n /** Optional prop that removes the default white background on the accordion row */\n @Prop() transparent: boolean = false;\n\n /** Dispatched every time the row is toggled. Includes the row element and the boolean `state` prop. */\n @Event() togglerow: EventEmitter<{ element: HTMLElement; state: Boolean }>;\n\n /** Internal function for closing rows when using the `single` prop on the `pn-accordion`. */\n @Listen('rowstate')\n handleRowState(event: CustomEvent) {\n if (event.detail !== this.state) {\n this.details.style.overflow = 'hidden';\n this.closeAccordion();\n }\n }\n\n componentWillLoad() {\n const slottedLabel = !!this.hostElement.querySelector('[slot=\"label\"]');\n this.label = slottedLabel ? null : this.label;\n }\n\n private toggleOpen(open?: boolean) {\n const state = open ?? !this.state;\n if (this.state !== open) this.togglerow.emit({ element: this.details, state });\n this.state = state;\n }\n\n private clickHandler(e: MouseEvent) {\n e.preventDefault();\n\n this.details.style.overflow = 'hidden';\n\n if (this.isClosing || !this.state) this.openAccordion();\n else if (this.isClosing || this.state) this.closeAccordion();\n\n const { x, width, y, top } = this.hostElement.getBoundingClientRect();\n const clientCor = e.clientX === 0 && e.clientY === 0 ? { clientX: x + width - 24, clientY: y - top } : e;\n\n ripple(clientCor, this.hostElement, '.pn-accordion-row-text');\n }\n\n private openAccordion() {\n this.details.style.height = `${this.details.offsetHeight}px`;\n this.toggleOpen(true);\n\n requestAnimationFrame(() => {\n this.isExpanding = true;\n\n const startHeight = `${this.details.offsetHeight}px`;\n const endHeight = `${this.summary.offsetHeight + this.content.offsetHeight}px`;\n\n this.cancelAnimations();\n\n this.animate(true, startHeight, endHeight);\n });\n }\n\n private closeAccordion() {\n this.isClosing = true;\n\n const startHeight = `${this.details.offsetHeight}px`;\n const endHeight = `${this.summary.offsetHeight}px`;\n\n this.cancelAnimations();\n\n this.animate(false, startHeight, endHeight);\n }\n\n private animate(open: boolean, startHeight: string, endHeight: string) {\n if (reduceMotion()) this.animationDuration = 0;\n else this.animationDuration = this.defaultAnimationDuration;\n\n this.animation = this.details.animate(\n {\n height: [startHeight, endHeight],\n },\n {\n duration: this.animationDuration,\n easing: 'cubic-bezier(0.6, 0, 0.2, 1)',\n },\n );\n\n this.animation.onfinish = () => this.animationFinish(open);\n\n this.animation.oncancel = () => {\n if (open) this.isExpanding = false;\n else this.isClosing = false;\n };\n }\n\n private animationFinish(open: boolean) {\n this.toggleOpen(open);\n this.cancelAnimations();\n\n this.isClosing = false;\n this.isExpanding = false;\n\n this.details.style.height = '';\n this.details.style.overflow = '';\n }\n\n private cancelAnimations() {\n if (this.animation) this.animation.cancel();\n }\n\n render() {\n return (\n <Host>\n <details class=\"pn-accordion-row\" open={this.state} ref={(el: HTMLDetailsElement) => (this.details = el)}>\n <summary\n id={this.buttonid}\n class=\"pn-accordion-row-summary\"\n onClick={e => this.clickHandler(e)}\n ref={el => (this.summary = el)}\n >\n <div class=\"pn-accordion-row-text\" data-transparent={this.transparent}>\n {this.label ? this.label : ''}\n <slot name=\"label\" />\n\n <pn-icon class=\"pn-accordion-row-icon\" icon={angle_down} />\n </div>\n </summary>\n\n <div id={this.contentid} class=\"pn-accordion-row-content\" ref={(el: HTMLDivElement) => (this.content = el)}>\n <slot />\n </div>\n </details>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- /*!
2
- * Built with Stencil
3
- * By PostNord.
4
- */
5
- import{r as n,c as a,g as t,f as o,h as e,a as i}from"./p-43660913.js";import{r as s,k as l,e as d}from"./p-f64d17a6.js";import{c as r}from"./p-92b0338a.js";const m={CLOSE_MODAL:{en:"Close dialog",sv:"Stäng dialogrutan",da:"Luk dialogboks",fi:"Sulje valintaikkuna",no:"Lukk dialogboksen"}};const c="/* Global utility variables */\n/* Input styles */\n/* Transition variables */\npn-modal .pn-modal {\n --pn-modal-max-width: 45em;\n --pn-modal-overflow: hidden auto;\n z-index: 10000;\n position: fixed;\n top: 0;\n inset-block-start: 0;\n inset-block-end: 0;\n margin: auto;\n overflow: var(--pn-modal-overflow);\n max-width: var(--pn-modal-max-width);\n max-height: 85vh;\n padding: clamp(1em, 5vw, 1.5em) 0;\n border: 0.0625em solid #f3f2f2;\n border-radius: 0.5em;\n flex-direction: column;\n align-items: stretch;\n gap: 0.75em;\n box-shadow: 0 0.25em 0.875em rgba(0, 0, 0, 0.18), 0 1.625em 3.5em rgba(0, 0, 0, 0.22);\n background-color: #ffffff;\n display: none;\n opacity: 0;\n transform: translate(0%, 20%);\n outline: 0.2rem solid transparent;\n outline-offset: 0.2rem;\n transition-property: opacity, overlay, display, transform, outline-color;\n transition-duration: 0.4s;\n transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);\n transition-behavior: allow-discrete;\n}\npn-modal .pn-modal:focus-visible {\n outline-color: #ffffff;\n}\npn-modal .pn-modal::-webkit-scrollbar {\n background-color: #ffffff;\n width: 0.875em;\n border-radius: 0.5em;\n}\npn-modal .pn-modal::-webkit-scrollbar-track {\n background-color: #ffffff;\n border-radius: 0.5em;\n}\npn-modal .pn-modal::-webkit-scrollbar-thumb {\n cursor: pointer;\n background-color: #969087;\n border-radius: 1em;\n border: 0.25em solid #ffffff;\n}\npn-modal .pn-modal::-webkit-scrollbar-thumb:hover {\n background-color: #5e554a;\n}\npn-modal .pn-modal::-webkit-scrollbar-corner, pn-modal .pn-modal::-webkit-scrollbar-button {\n display: none;\n}\n@media (prefers-reduced-motion: reduce) {\n pn-modal .pn-modal {\n transition-duration: 0s;\n transition-delay: 0s;\n }\n}\npn-modal .pn-modal[data-sheet] {\n margin: 0 0 0 auto;\n height: 100%;\n max-height: unset;\n border-radius: 0.5em 0 0 0.5em;\n transform: translate(20%, 0%);\n}\npn-modal .pn-modal[open] {\n display: flex;\n opacity: 1;\n transform: translate(0%, 0%);\n}\n@starting-style {\n pn-modal .pn-modal[open] {\n display: flex;\n opacity: 0;\n transform: translate(0%, 20%);\n }\n}\npn-modal .pn-modal[open][data-sheet] {\n transform: translate(0%, 0%);\n}\n@starting-style {\n pn-modal .pn-modal[open][data-sheet] {\n transform: translate(20%, 0%);\n }\n}\npn-modal .pn-modal::backdrop {\n background-color: rgba(0, 0, 0, 0);\n transition-property: opacity, background-color, overlay, display;\n transition-duration: 0.4s;\n transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);\n transition-behavior: allow-discrete;\n}\n@media (prefers-reduced-motion: reduce) {\n pn-modal .pn-modal::backdrop {\n transition-duration: 0s;\n transition-delay: 0s;\n }\n}\npn-modal .pn-modal[open]::backdrop {\n background-color: rgba(0, 0, 0, 0.55);\n}\n@starting-style {\n pn-modal .pn-modal[open]::backdrop {\n background-color: rgba(0, 0, 0, 0);\n }\n}\npn-modal .pn-modal-close-button {\n position: absolute;\n right: 0.5em;\n top: 0.5em;\n}\npn-modal .pn-modal-header {\n display: flex;\n flex-direction: column;\n gap: 0.5em;\n padding: 0 clamp(1em, 5vw, 1.5em);\n}\npn-modal .pn-modal-label {\n line-height: 1.5;\n padding-right: 1.5em;\n margin: 0;\n}\npn-modal .pn-modal-text {\n margin: 0;\n}\npn-modal .pn-modal-content {\n padding: 0 clamp(1em, 5vw, 1.5em);\n}\npn-modal .pn-modal-buttons {\n background-color: #ffffff;\n border-top: 0.0625em solid #d3cecb;\n padding: clamp(1em, 5vw, 1.5em) clamp(1em, 5vw, 1.5em) 0;\n display: flex;\n justify-content: flex-end;\n gap: 0.5em;\n}\npn-modal .pn-modal-buttons [slot=buttons]:not(pn-button) {\n display: flex;\n justify-content: flex-end;\n gap: 0.5em;\n}\npn-modal .pn-modal-buttons:empty {\n display: none;\n}\n\n@media (max-width: 30em) {\n pn-modal .pn-modal {\n width: 100%;\n max-height: 95vh;\n margin-bottom: 0;\n bottom: 0;\n transform: translate(0%, 20%);\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n}";const p=c;const h=class{constructor(t){n(this,t);this.modalToggle=a(this,"modalToggle",7);this.modalVisiblity=a(this,"modalVisiblity",7);this.close=a(this,"close",7);this.isClosing=false;this.isOpening=false;this.label=undefined;this.helpertext=undefined;this.language=null;this.open=false;this.persistent=false;this.hideClose=false;this.allowOverflow=false;this.sheet=false;this.maxWidth=null}mo;standardAnimationDuration=400;animationDuration=this.standardAnimationDuration;modalTimeout;modalElement;get hostElement(){return t(this)}handleOpen(){if(this.open)this.openModal();else{this.closeModal();this.close.emit(true)}this.handleOverflow();clearTimeout(this.modalTimeout);this.isClosing=!this.open&&true;if(s())this.animationDuration=0;else this.animationDuration=this.standardAnimationDuration;this.modalTimeout=setTimeout((()=>{this.isClosing=false;this.modalVisiblity.emit({visible:this.open})}),this.animationDuration)}handleMaxWidth(){const n=this.maxWidth||"45em";this.modalElement.style.setProperty("--pn-modal-max-width",n)}modalToggle;modalVisiblity;close;connectedCallback(){this.mo=new MutationObserver((()=>o(this.hostElement)));this.mo.observe(this.hostElement,{childList:true,subtree:true})}disconnectedCallback(){if(this.mo)this.mo.disconnect()}async componentWillLoad(){if(this.language===null)await l(this.hostElement)}componentDidLoad(){this.handleMaxWidth();if(this.open)this.openModal()}translate(n){return m?.[n]?.[this.language||d]||n}handleOverflow(){if(!this.allowOverflow)return;const n=this.modalElement.scrollHeight>innerHeight*.85?"hidden auto":"unset";this.modalElement.style.setProperty("--pn-modal-overflow",n)}isSameModal(n){return this.modalElement.isSameNode(n)}handleKeyboard(n){if(n.key!=="Escape")return;n.preventDefault();n.stopImmediatePropagation();if(!this.persistent)this.setModalClose()}clickModalBackground(n){const{clientY:a,clientX:t}=n;const o=n.target.localName!==this.modalElement.localName;const e=!this.isSameModal(n.target);if(o||e)return;const{top:i,left:s,height:l,width:d}=this.modalElement.getBoundingClientRect();const r=i<=a&&a<=i+l&&s<=t&&t<=s+d;if(!r&&!this.persistent)this.toggleOpen(false)}setModalClose(){this.toggleOpen(false)}closeModal(){this.modalElement.close()}openModal(){this.modalElement.showModal()}toggleOpen(n){this.open=n??!this.open}render(){return e(i,{key:"6bf631cc88584b24782904a9918091736e27c3d6"},e("dialog",{key:"543806f18626bd7f8f6983a5c3769f8bf0422544",class:"pn-modal","data-closing":this.isClosing,"data-sheet":this.sheet,onClose:()=>this.setModalClose(),onCancel:()=>this.setModalClose(),onToggle:()=>this.modalToggle.emit({open:this.open}),onKeyDown:n=>this.handleKeyboard(n),onClick:n=>this.clickModalBackground(n),ref:n=>this.modalElement=n},!this.hideClose&&e("pn-button",{key:"60350dfcac19aa570b78e4fb82ca2a0a288de1b7",small:true,class:"pn-modal-close-button",icon:r,iconOnly:true,arialabel:this.translate("CLOSE_MODAL"),appearance:"light",variant:"borderless",type:"button",onPnClick:()=>this.setModalClose()}),e("header",{key:"ba3d857e5f0b57c9567b045843f3b3a1aee9f06d",class:"pn-modal-header"},this.label&&e("h2",{key:"524b36cbeb3f1e0274fb29a3656638c4c221cec9",class:"pn-modal-label"},this.label),this.helpertext&&e("p",{key:"330777c3c194177f7fc811eb45f2ee3a585894fc",class:"pn-modal-text"},this.helpertext),e("slot",{key:"62dbf64100d4e62974a18752423a781db737333f",name:"header"})),e("section",{key:"57618a994095a9f24c7a142d86fa788cca531062",class:"pn-modal-content"},e("slot",{key:"14f533135af35a88d1fb03b8e57cd133d3981629"})),e("nav",{key:"d355d6c0024893a26b1e17bf187a7d0e3142b766",class:"pn-modal-buttons"},e("slot",{key:"20020f7fd89b706bfaf5825090d6a0470e91b577",name:"buttons"}))))}static get watchers(){return{open:["handleOpen"],maxWidth:["handleMaxWidth"]}}};h.style=p;export{h as pn_modal};
6
- //# sourceMappingURL=p-2615282e.entry.js.map