@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
@@ -1 +1 @@
1
- {"version":3,"file":"pn-multiselect.js","sourceRoot":"","sources":["../../../../src/components/input/pn-multiselect/pn-multiselect.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Element, Watch, Prop, State, EventEmitter, Event, Listen } from '@stencil/core';\n\nimport { translations } from './translations';\n\nimport { close, alert_exclamation_circle, angle_down } from 'pn-design-assets/pn-assets/icons.js';\n\nimport { uuidv4, awaitTopbar, ripple, en, getTotalHeightOffset, reduceMotion } from '@/index';\nimport type { PnLanguages, PnMultiselectOption } from '@/index';\n\n/**\n * The `pn-multiselect` gets its options via javascript.\n *\n * Native HTML does not accept arrays of objects. Most frameworks solves this automatically (Vue, react, etc...),\n * but keep this in mind if you use this component outside of a framework environment.\n *\n * @nativeChange The `pn-multiselect` is built with `input[type=checkbox]` elements, so the `change` event works. However, we recommend the customEvents described above.\n *\n * @see {@link https://portal.postnord.com/web-components/?path=/docs/components-input-multiselect--docs#pn-multiselect%20(options) Options documentation}\n */\n@Component({\n tag: 'pn-multiselect',\n styleUrl: 'pn-multiselect.scss',\n})\nexport class PnMultiselect {\n private readonly id: string = `pn-multiselect-${uuidv4()}`;\n private idLegend: string = `${this.id}-legend`;\n private idButton: string = `${this.id}-button`;\n private idOptions: string = `${this.id}-options`;\n private idHelper: string = `${this.id}-text`;\n private idChips: string = `${this.id}-chips`;\n private idSr: string = `${this.id}-sr`;\n\n private elGroup: HTMLDivElement;\n private elButton: HTMLButtonElement;\n private elInput: HTMLInputElement;\n private elList: HTMLUListElement;\n private elChips: HTMLUListElement;\n\n private srTimer: NodeJS.Timeout;\n\n private animation: Animation;\n private animationDurationDefault: number = 400;\n private animationDuration: number = this.animationDurationDefault;\n\n @Element() hostElement: HTMLElement;\n\n @State() private isSearching: boolean = false;\n\n /** Layout state. */\n @State() private open: boolean = false;\n @State() private upwards: boolean = false;\n\n @State() private srMessage?: string;\n\n @State() private isClosing: boolean = false;\n @State() private isExpanding: boolean = false;\n\n /** Label placed above the select */\n @Prop() label!: string;\n /** Display a helper text underneath the select */\n @Prop() helpertext?: string;\n /**\n * This is what will be shown on load if no value is used.\n * The `placeholder` will override the default text used if you have the `search` prop active.\n */\n @Prop() placeholder?: string;\n /** HTML name of the checkbox elements. Used for each checkbox inside the multiselect. */\n @Prop() name?: string;\n /** Select HTML id */\n @Prop() selectId?: string = this.id;\n /** HTML name of the input element.*/\n @Prop() selectName?: string;\n /** Display an icon to the left of the select input */\n @Prop() icon?: string;\n /** Manually set the language, not needed if you have the pnTopbar available */\n @Prop() language?: PnLanguages = null;\n /**\n * Array of options.\n * @hide true\n **/\n @Prop({ mutable: true }) options!: PnMultiselectOption[];\n\n /**\n * Adds a \"Select all\" option into the list.\n * If you use the search feature at the same time, clicking this option will only toggle the options found.\n * @see {@link search}\n * @category Features\n **/\n @Prop() selectAll?: boolean = false;\n /**\n * Set a custom value for the \"Select all value\" option.\n * @see {@link selectAll}\n * @category Features\n */\n @Prop() allValue?: string = 'pn_multiselect_all';\n /**\n * Allow the user to search among the options.\n * The selected options will now display underneath the multiselect element.\n *\n * @category Features\n **/\n @Prop() search?: boolean = false;\n /** Set the search query of the multiselect.\n *\n * @see {@link search}\n * @category Features\n */\n @Prop({ mutable: true }) searchQuery?: string = '';\n /**\n * Decide how many items should be shown before ellipsis. Requires the `search` prop to work.\n *\n * @see {@link search}\n * @category Features\n **/\n @Prop() itemCount?: number = 5;\n /**\n * Use a custom max-height for the dropdown list.\n * @description The component will automatically set the max height of the dropdown list on its own.\n * It takes the `pn-topbar` into account and will open in the direction that fits best.\n * Use this prop to override this behaviour and use a custom max-height.\n * @category Features\n **/\n @Prop() maxHeight?: string;\n /**\n * Force the dropdown to always open upwards.\n * @category Features\n **/\n @Prop() top?: boolean = false;\n /**\n * Force the dropdown to always open downwards.\n * @category Features\n **/\n @Prop() bottom?: boolean = false;\n\n /** Set the select as required. @category Validation */\n @Prop() required?: boolean = false;\n /** Disable the select. @category Validation */\n @Prop() disabled?: boolean = false;\n /** Trigger the invalid state. @category Validation */\n @Prop() invalid?: boolean = false;\n /** Display an error message and trigger the invalid state. @category Validation */\n @Prop() error?: string;\n\n @Watch('open')\n handleOpen() {\n if (this.open) {\n this.addGlobalEventListeners();\n\n this.handleDirection();\n this.handleMaxHeight();\n this.handleWidth();\n requestAnimationFrame(() => this.openGrid());\n } else {\n this.closeGrid();\n this.removeGlobalEventListeners();\n }\n }\n\n @Watch('search')\n handleSearch() {\n if (!this.search)\n this.options = [\n ...this.options.map(option => {\n const item = {\n ...option,\n hide: false,\n };\n\n if (item?.group?.length) item.group.map(opt => ({ ...opt, hide: false }));\n\n return item;\n }),\n ];\n }\n\n @Watch('searchQuery')\n handleSearchQuery() {\n if (this.search && typeof this.searchQuery === 'string') this.handleInputSearch();\n }\n\n @Watch('selectId')\n handleSelectId() {\n const id = this.selectId;\n this.idLegend = `${id}-legend`;\n this.idButton = `${id}-button`;\n this.idOptions = `${id}-options`;\n this.idHelper = `${id}-text`;\n this.idChips = `${id}-chips`;\n this.idSr = `${id}-sr`;\n }\n\n /**\n * If the select is open and you resize the window.\n * Remove all css props and disable the animations entierly.\n **/\n @Listen('resize', { target: 'window' })\n handleResize() {\n if (!this.open) return;\n this.toggleOpen(false);\n\n this.elList.style.removeProperty('--pn-select-options-width');\n this.elList.style.removeProperty('--pn-select-max-height');\n }\n\n /** Dispatched everytime the multiselect is opened or closed. */\n @Event() toggleSelect: EventEmitter<{ open: boolean }>;\n /** This event contains the entire options array with the new props. Dispatched everytime you make changes to any option. */\n @Event() allOptions: EventEmitter<PnMultiselectOption[]>;\n /** Dispatched when you toggle an option. Includes all the props of the option. */\n @Event() selectedOption: EventEmitter<PnMultiselectOption>;\n /**\n * This event is dispatched when the user toggles the \"Choose all options\" box.\n * Also triggers when you click the \"Select {number} options\" if you are performing a search at the same time.\n **/\n @Event() selectedAllOptions: EventEmitter<{\n checked: boolean;\n searching: boolean;\n query?: string;\n found?: PnMultiselectOption[];\n }>;\n /**\n * Contains the search text and the options found for that query.\n * Dispacthed everytime you change the search query.\n **/\n @Event() searchInput: EventEmitter<{\n query: string;\n found?: PnMultiselectOption[];\n }>;\n\n async componentWillLoad() {\n this.handleSelectId();\n if (this.language === null) await awaitTopbar(this.hostElement);\n }\n\n componentDidLoad() {\n if (!!this.searchQuery?.length) this.handleSearchQuery();\n }\n\n private globalEvents = (event: PointerEvent | KeyboardEvent) => {\n const target = event.target as HTMLElement;\n const isWithinCalendar = target?.closest(this.hostElement.localName);\n if (!isWithinCalendar) this.toggleOpen(false);\n };\n\n private addGlobalEventListeners() {\n const root: Document = this.hostElement.getRootNode() as Document;\n\n root.addEventListener('click', this.globalEvents);\n }\n\n private removeGlobalEventListeners() {\n const root: Document = this.hostElement.getRootNode() as Document;\n\n root.removeEventListener('click', this.globalEvents);\n }\n\n private openGrid() {\n requestAnimationFrame(() => {\n const { clientHeight, scrollHeight } = this.elList;\n const height = this.isClosing ? clientHeight : 0;\n this.elList.style.height = `${scrollHeight}px`;\n\n this.isExpanding = true;\n this.animateGrid(true, `${height}px`, this.maxHeight || `${this.elList.scrollHeight}px`);\n });\n }\n\n private closeGrid() {\n const { scrollHeight, clientHeight } = this.elList;\n const height = this.isExpanding ? clientHeight : scrollHeight;\n this.elList.style.height = `0px`;\n\n this.isClosing = true;\n this.animateGrid(false, `${height}px`, `0px`);\n }\n\n private animateGrid(open: boolean, startHeight: string, endHeight: string) {\n this.cancelAnimations();\n\n if (reduceMotion()) this.animationDuration = 0;\n else this.animationDuration = this.animationDurationDefault;\n\n this.animation = this.elList.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 this.animation.onfinish = () => this.animationFinish();\n this.animation.oncancel = () => (open ? (this.isExpanding = false) : (this.isClosing = false));\n }\n\n private animationFinish() {\n this.cancelAnimations();\n this.elList.style.height = this.isClosing ? '0px' : '';\n this.isClosing = false;\n this.isExpanding = false;\n }\n\n private cancelAnimations() {\n if (this.animation) this.animation.cancel();\n }\n\n private emitEvents(option?: PnMultiselectOption, all?: boolean) {\n this.allOptions.emit(this.options);\n\n if (option) return this.selectedOption.emit(option);\n\n const data: { checked: boolean; searching: boolean; query?: string; found?: PnMultiselectOption[] } = {\n checked: all,\n searching: this.isSearching,\n };\n\n if (this.search && this.optionsTotal() !== this.optionsSearch().length) {\n data.query = this.searchQuery;\n data.found = this.optionsSearch();\n }\n\n this.selectedAllOptions.emit(data);\n }\n\n private optionsChecked(): PnMultiselectOption[] {\n const list = this.options?.reduce((sum, item) => {\n const subgroup = item.group ? [...item.group.filter(({ checked }) => checked)] : [];\n\n if (item.checked) sum.push(item);\n\n if (subgroup?.length) sum.push(...subgroup);\n\n return sum;\n }, []);\n\n return list;\n }\n\n private optionsTotal(): number {\n return this.options?.reduce((sum, item) => sum + (item?.group?.length ? item.group.length + 1 : 1), 0);\n }\n\n private optionsIndex(val: string): { indexGroup: number; indexNested?: number } {\n const findNested = ({ group = [] }: PnMultiselectOption) => group?.findIndex(({ value }) => value === val);\n\n const indexGroup = this.options.findIndex(option => option.value === val || findNested(option) !== -1);\n const indexNested = findNested(this.options?.[indexGroup]);\n\n return {\n indexGroup,\n indexNested,\n };\n }\n\n private optionsCheckedTotal(): number {\n return this.optionsChecked()?.length;\n }\n\n private optionsCheckedPreview(): PnMultiselectOption[] {\n return this.optionsChecked()?.slice(0, this.itemCount);\n }\n\n private optionsCheckedLabels(): string {\n return this.optionsChecked()\n ?.map(({ label }) => label)\n ?.join(', ');\n }\n\n private optionsSearch(): PnMultiselectOption[] {\n const list = this.options?.reduce((sum, item) => {\n const subgroup = item.group ? [...item.group.filter(({ hide }) => !hide)] : [];\n if (!item.hide) sum.push(item);\n if (subgroup?.length) sum.push(...subgroup);\n return sum;\n }, []);\n\n return list;\n }\n\n private noResults() {\n return this.optionsSearch()?.length === 0;\n }\n\n private isIndeterminate(groupIndex: number): boolean {\n const option = this.options?.[groupIndex];\n if (option?.group?.length) {\n const all = option.group.every(({ checked }) => checked);\n const none = option.group.every(({ checked }) => !checked);\n\n return !(all || none);\n }\n return false;\n }\n\n private optionSelect({ val, checked, chip }: { val: string; checked: boolean; chip?: number }) {\n if (val === this.allValue) return this.optionSelectAll(checked);\n\n const options = this.options;\n\n const { indexGroup, indexNested } = this.optionsIndex(val);\n\n const group = options[indexGroup]?.group;\n const nested = group?.[indexNested];\n\n if (nested?.value) {\n options[indexGroup].group[indexNested].checked = checked;\n\n const allSiblingsChecked = group?.every(({ checked }) => checked);\n\n if (allSiblingsChecked) options[indexGroup].checked = true;\n else options[indexGroup].checked = false;\n } else {\n options[indexGroup].checked = checked;\n if (group?.length) options[indexGroup].group = group?.map(opt => ({ ...opt, checked: checked }));\n }\n\n const option = indexNested === -1 ? options[indexGroup] : options[indexGroup].group[indexNested];\n\n this.emitEvents(option);\n\n this.options = [...options];\n\n if (typeof chip === 'number') {\n this.handleSrMesssage(`${this.translate('REMOVED')} ${option.label}`);\n\n requestAnimationFrame(() => {\n const index = chip === this.optionsCheckedTotal() ? chip - 1 : chip;\n const btn = Array.from(this.elChips.children)?.[index];\n btn?.querySelector('button').focus({ preventScroll: true });\n });\n }\n }\n\n private optionSelectAll(checked: boolean) {\n this.options = [\n ...this.options.map(option => {\n const opt = {\n ...option,\n checked: this.isSearching ? (option.hide ? option.checked : checked) : checked,\n };\n\n if (opt.group)\n opt.group = [\n ...opt.group.map(item => ({\n ...item,\n checked: this.isSearching ? (item.hide ? item.checked : checked) : checked,\n })),\n ];\n\n const allChecked = opt?.group?.every(({ checked }) => checked);\n if (opt?.group?.length) opt.checked = allChecked;\n\n return opt;\n }),\n ];\n\n this.emitEvents(null, checked);\n }\n\n private optionSelected(val: string): boolean {\n return !!this.optionsChecked()?.find(({ value, checked }) => value === val && checked);\n }\n\n private translate(prop: string): string {\n const text = translations?.[prop]?.[this.language || en];\n if (text.includes('{number}')) return text.replace('{number}', this.optionsSearch().length);\n return text;\n }\n\n private getRect(element: HTMLElement): DOMRect {\n return element?.getBoundingClientRect();\n }\n\n private ripple({ clientX, clientY, target }: MouseEvent) {\n const isKeyboard = clientX === 0 && clientY === 0;\n const element = (target as HTMLInputElement).nextElementSibling;\n const { x, width, y, top } = this.getRect(element as HTMLElement);\n const clientCor = isKeyboard ? { clientX: x + width - 24, clientY: y - top } : { clientX, clientY };\n\n ripple(clientCor, element as HTMLElement);\n }\n\n private handleSrMesssage(text: string) {\n this.srMessage = text;\n clearTimeout(this.srTimer);\n this.srTimer = setTimeout(() => (this.srMessage = null), 2000);\n }\n\n private handleDirection() {\n if (this.top) return (this.upwards = true);\n if (this.bottom) return (this.upwards = false);\n\n const { bottom, top } = this.getRect(this.elInput);\n\n const oneEm = 16;\n\n /*\n * Take the inner window height and subtract the elements bottom and 1em (16px)\n * If the max height of this calculation is less than the space above the element, open it upwards.\n * Do another calculation with the top value - 1em.\n */\n const offsetTop = window.innerHeight - bottom - oneEm;\n const offsetBottom = top - oneEm;\n\n /** Always point downwards, unless the space to the bottom is less than half of the top offset space. */\n this.upwards = offsetBottom / 2 > offsetTop;\n }\n\n private handleMaxHeight() {\n if (this.maxHeight) return this.elGroup.style.setProperty('--pn-select-max-height', this.maxHeight);\n\n const { bottom, top } = this.getRect(this.elInput);\n const inputHeight = this.upwards ? top : bottom;\n\n const offsetTop = getTotalHeightOffset();\n\n const offset = this.upwards ? offsetTop + 16 : 16;\n\n const maxHeight = this.upwards ? inputHeight - offset : window.innerHeight - inputHeight - offset;\n\n this.elGroup.style.setProperty('--pn-select-max-height', `${Math.ceil(maxHeight)}px`);\n }\n\n private handleWidth() {\n const { width } = this.getRect(this.elInput);\n this.elGroup.style.setProperty('--pn-select-options-width', `${Math.ceil(width)}px`);\n }\n\n private setFocus() {\n if (this.search) this.elInput.focus({ preventScroll: true });\n else this.elButton.focus({ preventScroll: true });\n }\n\n private hasError(): boolean {\n return this.invalid || !!this.error;\n }\n\n private hasMessage(): boolean {\n return !!this.helpertext || !!this.error;\n }\n\n private toggleOpen(state?: boolean) {\n if (typeof state === 'boolean' && state === this.open) return;\n this.open = state ?? !this.open;\n this.toggleSelect.emit({ open: this.open });\n }\n\n private handleInputKeyboard(event: KeyboardEvent) {\n event.stopImmediatePropagation();\n\n const { code } = event;\n\n if (code === 'Escape') return this.toggleOpen(false);\n if (!this.open && code.match(/^(Space|Enter)$|Arrow|^Key.*$/)) this.toggleOpen();\n }\n\n private setSearchQuery(value: string) {\n if (!this.open) this.toggleOpen(true);\n this.searchQuery = value;\n }\n\n private handleInputSearch() {\n if (this.isEmpty()) return;\n\n const term = this.searchQuery;\n const performSearch = ({ label, helpertext, value }: PnMultiselectOption): boolean => {\n return `${label} ${helpertext} ${value}`.trim().toLowerCase().includes(term.toLowerCase());\n };\n\n const options = this.options.map(option => {\n const foundNested = option?.group?.map(item => ({ ...item, hide: !performSearch(item) })) || [];\n\n const found = performSearch(option) || foundNested?.some(({ hide }) => !hide);\n\n option.hide = !found;\n if (option?.group?.length) option.group = [...foundNested];\n\n return option;\n });\n\n this.isSearching = term !== '';\n\n this.options = [...options];\n\n this.searchInput.emit({ query: term, found: this.optionsSearch() });\n }\n\n private getListItem(index: number): HTMLInputElement {\n const { value } = this.options[index];\n return this.elList.querySelector<HTMLInputElement>(`.pn-multiselect-option-input[value='${value}']`);\n }\n\n private getOptionIndex(val: string, triggers: (boolean | number)[], code?: string) {\n const total = this.optionsTotal() - 1;\n\n if (code === 'End') return total;\n if (code === 'Home') return 0;\n\n const valIndex = this.options.findIndex(({ value }) => value === val);\n\n const count = triggers.find(item => typeof item === 'number') as number;\n const index = valIndex + count;\n\n if (index >= total) return total;\n if (index <= 0) return 0;\n\n return index;\n }\n\n private checkboxNav(e: KeyboardEvent, val: string) {\n const { code } = e;\n\n const arrowUp = code === 'ArrowUp' && -1;\n const arrowDown = code === 'ArrowDown' && 1;\n const pageUp = code === 'PageUp' && -10;\n const pageDown = code === 'PageDown' && 10;\n const home = code === 'Home' && 0;\n const end = code === 'End' && this.optionsTotal() - 1;\n const tab = code === 'Tab';\n const space = code === 'Space';\n const enter = code === 'Enter';\n const escape = code === 'Escape';\n\n const triggers = [arrowUp, arrowDown, pageUp, pageDown, home, end, tab, space, enter, escape];\n\n if (!triggers.some(item => typeof item === 'number' || item)) return;\n\n if (tab || space || enter) return;\n\n e.stopImmediatePropagation();\n e.preventDefault();\n\n if (escape) {\n this.setFocus();\n return this.toggleOpen(false);\n }\n\n const item = this.getOptionIndex(val, triggers, code);\n return this.getListItem(item)?.focus();\n }\n\n private handleBlur(event: FocusEvent) {\n const target = event.target as HTMLElement;\n const related = event.relatedTarget as HTMLElement;\n\n const jumpingToChips = (related || target)?.className === 'pn-multiselect-chip-button';\n\n if (jumpingToChips) this.toggleOpen(false);\n }\n\n private handleLabel() {\n if (this.disabled) return;\n this.setFocus();\n }\n\n /** Check if there are no options in the list. */\n private isEmpty(): boolean {\n return (this.options?.length || 0) === 0;\n }\n\n private showSelectAll(): boolean {\n return this.selectAll && !this.isEmpty() && !this.noResults();\n }\n\n /** Check if the empty/nothing found should be visible. */\n private showEmptyOption() {\n return (this.isSearching && this.noResults()) || this.isEmpty();\n }\n\n private getPlaceholder(): string {\n const autoTranslation = this.search ? 'SEARCH' : 'SELECT_AN_OPTION';\n return this.placeholder || this.translate(autoTranslation);\n }\n\n private handleChange({ target }: InputEvent) {\n const { value, checked } = target as HTMLInputElement;\n this.optionSelect({ val: value, checked });\n }\n\n /** Display the \"X more selected options\" text. */\n private additonalOptions() {\n const count = this.optionsCheckedTotal() - this.itemCount;\n const single = `MORE_OPTION${count === 1 ? '' : 'S'}`;\n return `${count} ${this.translate(single)}`;\n }\n\n private describedBy(): string {\n const list = [this.search && this.idChips, this.srMessage && this.idSr, !!this.helpertext && this.idHelper].filter(\n Boolean,\n );\n if (list.length) return list.join(' ');\n return null;\n }\n\n private renderOption(\n {\n label,\n value,\n checked,\n helpertext,\n icon,\n id = `${this.selectId}-${value || label}`,\n invalid,\n disabled,\n hide,\n group,\n }: PnMultiselectOption,\n indexGroup?: number,\n indexNested?: number,\n ): HTMLLIElement {\n return (\n <li class=\"pn-multiselect-option\" key={id} hidden={hide}>\n <input\n type=\"checkbox\"\n id={id}\n class=\"pn-multiselect-option-input\"\n checked={checked ?? this.optionSelected(value)}\n indeterminate={indexNested === undefined && this.isIndeterminate(indexGroup)}\n name={this.name}\n value={value}\n disabled={this.disabled || disabled}\n required={this.required}\n aria-invalid={invalid ? 'true' : null}\n aria-describedby={helpertext ? `${id}-helper` : null}\n onClick={(event: MouseEvent) => this.ripple(event)}\n onKeyDown={(event: KeyboardEvent) => this.checkboxNav(event, value)}\n onBlur={(event: FocusEvent) => this.handleBlur(event)}\n />\n <div class=\"pn-multiselect-option-content\">\n {!!icon && <pn-icon icon={icon} color=\"blue900\" />}\n <div class=\"pn-multiselect-option-text\">\n <label class=\"pn-multiselect-option-label\" htmlFor={id}>\n <span>{label}</span>\n </label>\n {helpertext && (\n <p class=\"pn-multiselect-option-helper\" id={`${id}-helper`}>\n {helpertext}\n </p>\n )}\n </div>\n <div class=\"pn-multiselect-option-checkbox\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\">\n <polyline\n class=\"pn-multiselect-option-checkbox-checkmark-path\"\n points=\"4,12 9,17 20,6\"\n stroke-width=\"3\"\n />\n <polyline\n class=\"pn-multiselect-option-checkbox-indeterminate-path\"\n points=\"4,12 20,12\"\n stroke-width=\"3\"\n />\n </svg>\n </div>\n </div>\n {group?.length && (\n <ul class=\"pn-multiselect-optgroup\">{group?.map((option, i) => this.renderOption(option, indexGroup, i))}</ul>\n )}\n </li>\n );\n }\n\n private renderOptions(): HTMLUListElement {\n return (\n <ul\n id={this.idOptions}\n class=\"pn-multiselect-options\"\n data-open={this.open}\n data-upwards={this.upwards}\n data-moving={this.isClosing || this.isExpanding}\n onChange={(event: InputEvent) => this.handleChange(event)}\n style={{ height: '0px' }}\n ref={el => (this.elList = el)}\n >\n {this.showSelectAll() &&\n this.renderOption({\n label: this.translate(`SELECT_${this.isSearching ? 'FOUND' : 'ALL'}_OPTIONS`),\n value: this.allValue,\n checked: this.optionsTotal() === this.optionsCheckedTotal(),\n })}\n\n {this.options?.map((option, index) => this.renderOption(option, index))}\n\n {this.showEmptyOption() && (\n <li class=\"pn-multiselect-option\">\n <div class=\"pn-multiselect-option-content\" role=\"alert\">\n <div class=\"pn-multiselect-option-text\">\n <span class=\"pn-multiselect-option-label\">\n {this.translate(this.isEmpty() ? 'NO_OPTIONS' : 'NO_SEARCH_RESULTS')}\n </span>\n </div>\n </div>\n </li>\n )}\n </ul>\n );\n }\n\n private renderChips(): HTMLUListElement {\n return (\n <ul\n id={this.idChips}\n class=\"pn-multiselect-chips\"\n aria-label={this.translate('SELECTED_OPTIONS')}\n ref={el => (this.elChips = el)}\n >\n {this.optionsCheckedPreview()?.map(({ label, value }, index) => (\n <li\n class=\"pn-multiselect-chip\"\n aria-setsize={this.optionsCheckedTotal()}\n aria-posinset={index + 1}\n key={`${label}-${value}`}\n >\n <span class=\"pn-multiselect-chip-label\">{label}</span>\n <button\n type=\"button\"\n class=\"pn-multiselect-chip-button\"\n aria-label={`${this.translate('REMOVE')} ${label}`}\n onClick={() => this.optionSelect({ val: value, checked: false, chip: index })}\n >\n <pn-icon icon={close} small color=\"blue700\" />\n </button>\n </li>\n ))}\n {this.optionsCheckedTotal() > this.itemCount && (\n <li class=\"pn-multiselect-chip\" data-count>\n <span class=\"pn-multiselect-chip-label\">+ {this.additonalOptions()}</span>\n </li>\n )}\n </ul>\n );\n }\n\n render() {\n return (\n <Host>\n <fieldset class=\"pn-multiselect\" data-icon={!!this.icon} data-error={this.hasError()} disabled={this.disabled}>\n {this.label && (\n <legend id={this.idLegend} class=\"pn-multiselect-label\" onClick={() => this.handleLabel()}>\n <span>{this.label}</span>\n\n {!!this.optionsChecked()?.length && (\n <span>\n {this.optionsCheckedTotal()}/{this.optionsTotal()}\n </span>\n )}\n </legend>\n )}\n <div class=\"pn-multiselect-group\" ref={el => (this.elGroup = el)}>\n <div class=\"pn-multiselect-input\">\n {!!this.icon && <pn-icon class=\"pn-multiselect-icon\" data-custom icon={this.icon} />}\n\n <input\n tabindex={this.search ? null : '-1'}\n type={this.search ? 'search' : 'input'}\n id={this.selectId}\n class=\"pn-multiselect-element\"\n value={this.search ? this.searchQuery : this.optionsCheckedLabels()}\n name={this.selectName}\n placeholder={this.getPlaceholder()}\n required={this.search ? null : this.required}\n aria-labelledby={this.idLegend}\n aria-describedby={this.describedBy()}\n aria-controls={`${this.idOptions} ${this.search ? this.idChips : ''}`}\n aria-invalid={this.hasError()?.toString()}\n disabled={this.disabled}\n readonly={!this.search}\n onClick={() => (this.search && this.open ? null : this.toggleOpen())}\n onKeyDown={e => this.handleInputKeyboard(e)}\n onBlur={e => this.handleBlur(e)}\n onInput={e => this.search && this.setSearchQuery((e.target as HTMLInputElement).value)}\n ref={el => (this.elInput = el)}\n />\n\n {this.hasError() && (\n <pn-icon class=\"pn-multiselect-icon\" data-error icon={alert_exclamation_circle} color=\"warning\" />\n )}\n\n <button\n id={this.idButton}\n type=\"button\"\n class=\"pn-multiselect-button\"\n aria-label={this.translate(`BUTTON_${this.open ? 'CLOSE' : 'OPEN'}`)}\n aria-describedby={this.search ? null : this.selectId}\n aria-controls={this.idOptions}\n aria-expanded={this.open.toString()}\n onClick={() => this.toggleOpen()}\n ref={el => (this.elButton = el)}\n >\n <pn-icon class=\"pn-multiselect-icon\" icon={angle_down} color=\"blue700\" />\n </button>\n </div>\n\n {this.renderOptions()}\n </div>\n\n {this.hasMessage() && (\n <p id={this.idHelper} class=\"pn-multiselect-description\" role={!!this.error ? 'alert' : null}>\n <span>{this.error || this.helpertext}</span>\n </p>\n )}\n\n {this.search && this.renderChips()}\n\n <slot />\n\n {this.search && (\n <p id={this.idSr} class=\"pn-multiselect-sr-only\" role=\"alert\" aria-live=\"assertive\">\n {this.srMessage && <span>{this.srMessage}</span>}\n </p>\n )}\n </fieldset>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"pn-multiselect.js","sourceRoot":"","sources":["../../../../src/components/input/pn-multiselect/pn-multiselect.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Element, Watch, Prop, State, EventEmitter, Event, Listen } from '@stencil/core';\n\nimport { translations } from './translations';\n\nimport { close, alert_exclamation_circle, chevron_down } from 'pn-design-assets/pn-assets/icons.js';\n\nimport { uuidv4, awaitTopbar, ripple, en, getTotalHeightOffset, reduceMotion } from '@/index';\nimport type { PnLanguages, PnMultiselectOption } from '@/index';\n\n/**\n * The `pn-multiselect` gets its options via javascript.\n *\n * Native HTML does not accept arrays of objects. Most frameworks solves this automatically (Vue, react, etc...),\n * but keep this in mind if you use this component outside of a framework environment.\n *\n * @nativeChange The `pn-multiselect` is built with `input[type=checkbox]` elements, so the `change` event works. However, we recommend the customEvents described above.\n *\n * @see {@link https://portal.postnord.com/web-components/?path=/docs/components-input-multiselect--docs#pn-multiselect%20(options) Options documentation}\n */\n@Component({\n tag: 'pn-multiselect',\n styleUrl: 'pn-multiselect.scss',\n})\nexport class PnMultiselect {\n private readonly id: string = `pn-multiselect-${uuidv4()}`;\n private idLegend: string = `${this.id}-legend`;\n private idButton: string = `${this.id}-button`;\n private idOptions: string = `${this.id}-options`;\n private idHelper: string = `${this.id}-text`;\n private idChips: string = `${this.id}-chips`;\n private idSr: string = `${this.id}-sr`;\n\n private elGroup: HTMLDivElement;\n private elButton: HTMLButtonElement;\n private elInput: HTMLInputElement;\n private elList: HTMLUListElement;\n private elChips: HTMLUListElement;\n\n private srTimer: NodeJS.Timeout;\n\n private animation: Animation;\n private animationDurationDefault: number = 400;\n private animationDuration: number = this.animationDurationDefault;\n\n @Element() hostElement: HTMLElement;\n\n @State() private isSearching: boolean = false;\n\n /** Layout state. */\n @State() private open: boolean = false;\n @State() private upwards: boolean = false;\n\n @State() private srMessage?: string;\n\n @State() private isClosing: boolean = false;\n @State() private isExpanding: boolean = false;\n\n /** Label placed above the select */\n @Prop() label!: string;\n /** Display a helper text underneath the select */\n @Prop() helpertext?: string;\n /**\n * This is what will be shown on load if no value is used.\n * The `placeholder` will override the default text used if you have the `search` prop active.\n */\n @Prop() placeholder?: string;\n /** HTML name of the checkbox elements. Used for each checkbox inside the multiselect. */\n @Prop() name?: string;\n /** Select HTML id */\n @Prop() selectId?: string = this.id;\n /** HTML name of the input element.*/\n @Prop() selectName?: string;\n /** Display an icon to the left of the select input */\n @Prop() icon?: string;\n /** Manually set the language, not needed if you have the pnTopbar available */\n @Prop() language?: PnLanguages = null;\n /**\n * Array of options.\n * @hide true\n **/\n @Prop({ mutable: true }) options!: PnMultiselectOption[];\n\n /**\n * Adds a \"Select all\" option into the list.\n * If you use the search feature at the same time, clicking this option will only toggle the options found.\n * @see {@link search}\n * @category Features\n **/\n @Prop() selectAll?: boolean = false;\n /**\n * Set a custom value for the \"Select all value\" option.\n * @see {@link selectAll}\n * @category Features\n */\n @Prop() allValue?: string = 'pn_multiselect_all';\n /**\n * Allow the user to search among the options.\n * The selected options will now display underneath the multiselect element.\n *\n * @category Features\n **/\n @Prop() search?: boolean = false;\n /** Set the search query of the multiselect.\n *\n * @see {@link search}\n * @category Features\n */\n @Prop({ mutable: true }) searchQuery?: string = '';\n /**\n * Decide how many items should be shown before ellipsis. Requires the `search` prop to work.\n *\n * @see {@link search}\n * @category Features\n **/\n @Prop() itemCount?: number = 5;\n /**\n * Use a custom max-height for the dropdown list.\n * @description The component will automatically set the max height of the dropdown list on its own.\n * It takes the `pn-topbar` into account and will open in the direction that fits best.\n * Use this prop to override this behaviour and use a custom max-height.\n * @category Features\n **/\n @Prop() maxHeight?: string;\n /**\n * Force the dropdown to always open upwards.\n * @category Features\n **/\n @Prop() top?: boolean = false;\n /**\n * Force the dropdown to always open downwards.\n * @category Features\n **/\n @Prop() bottom?: boolean = false;\n\n /** Set the select as required. @category Validation */\n @Prop() required?: boolean = false;\n /** Disable the select. @category Validation */\n @Prop() disabled?: boolean = false;\n /** Trigger the invalid state. @category Validation */\n @Prop() invalid?: boolean = false;\n /** Display an error message and trigger the invalid state. @category Validation */\n @Prop() error?: string;\n\n @Watch('open')\n handleOpen() {\n if (this.open) {\n this.addGlobalEventListeners();\n\n this.handleDirection();\n this.handleMaxHeight();\n this.handleWidth();\n requestAnimationFrame(() => this.openGrid());\n } else {\n this.closeGrid();\n this.removeGlobalEventListeners();\n }\n }\n\n @Watch('search')\n handleSearch() {\n if (!this.search)\n this.options = [\n ...this.options.map(option => {\n const item = {\n ...option,\n hide: false,\n };\n\n if (item?.group?.length) item.group.map(opt => ({ ...opt, hide: false }));\n\n return item;\n }),\n ];\n }\n\n @Watch('searchQuery')\n handleSearchQuery() {\n if (this.search && typeof this.searchQuery === 'string') this.handleInputSearch();\n }\n\n @Watch('selectId')\n handleSelectId() {\n const id = this.selectId;\n this.idLegend = `${id}-legend`;\n this.idButton = `${id}-button`;\n this.idOptions = `${id}-options`;\n this.idHelper = `${id}-text`;\n this.idChips = `${id}-chips`;\n this.idSr = `${id}-sr`;\n }\n\n /**\n * If the select is open and you resize the window.\n * Remove all css props and disable the animations entierly.\n **/\n @Listen('resize', { target: 'window' })\n handleResize() {\n if (!this.open) return;\n this.toggleOpen(false);\n\n this.elList.style.removeProperty('--pn-select-options-width');\n this.elList.style.removeProperty('--pn-select-max-height');\n }\n\n /** Dispatched everytime the multiselect is opened or closed. */\n @Event() toggleSelect: EventEmitter<{ open: boolean }>;\n /** This event contains the entire options array with the new props. Dispatched everytime you make changes to any option. */\n @Event() allOptions: EventEmitter<PnMultiselectOption[]>;\n /** Dispatched when you toggle an option. Includes all the props of the option. */\n @Event() selectedOption: EventEmitter<PnMultiselectOption>;\n /**\n * This event is dispatched when the user toggles the \"Choose all options\" box.\n * Also triggers when you click the \"Select {number} options\" if you are performing a search at the same time.\n **/\n @Event() selectedAllOptions: EventEmitter<{\n checked: boolean;\n searching: boolean;\n query?: string;\n found?: PnMultiselectOption[];\n }>;\n /**\n * Contains the search text and the options found for that query.\n * Dispacthed everytime you change the search query.\n **/\n @Event() searchInput: EventEmitter<{\n query: string;\n found?: PnMultiselectOption[];\n }>;\n\n async componentWillLoad() {\n this.handleSelectId();\n if (this.language === null) await awaitTopbar(this.hostElement);\n }\n\n componentDidLoad() {\n if (!!this.searchQuery?.length) this.handleSearchQuery();\n }\n\n private globalEvents = (event: PointerEvent | KeyboardEvent) => {\n const target = event.target as HTMLElement;\n const isWithinCalendar = target?.closest(this.hostElement.localName);\n if (!isWithinCalendar) this.toggleOpen(false);\n };\n\n private addGlobalEventListeners() {\n const root: Document = this.hostElement.getRootNode() as Document;\n\n root.addEventListener('click', this.globalEvents);\n }\n\n private removeGlobalEventListeners() {\n const root: Document = this.hostElement.getRootNode() as Document;\n\n root.removeEventListener('click', this.globalEvents);\n }\n\n private openGrid() {\n requestAnimationFrame(() => {\n const { clientHeight, scrollHeight } = this.elList;\n const height = this.isClosing ? clientHeight : 0;\n this.elList.style.height = `${scrollHeight}px`;\n\n this.isExpanding = true;\n this.animateGrid(true, `${height}px`, this.maxHeight || `${this.elList.scrollHeight}px`);\n });\n }\n\n private closeGrid() {\n const { scrollHeight, clientHeight } = this.elList;\n const height = this.isExpanding ? clientHeight : scrollHeight;\n this.elList.style.height = `0px`;\n\n this.isClosing = true;\n this.animateGrid(false, `${height}px`, `0px`);\n }\n\n private animateGrid(open: boolean, startHeight: string, endHeight: string) {\n this.cancelAnimations();\n\n if (reduceMotion()) this.animationDuration = 0;\n else this.animationDuration = this.animationDurationDefault;\n\n this.animation = this.elList.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 this.animation.onfinish = () => this.animationFinish();\n this.animation.oncancel = () => (open ? (this.isExpanding = false) : (this.isClosing = false));\n }\n\n private animationFinish() {\n this.cancelAnimations();\n this.elList.style.height = this.isClosing ? '0px' : '';\n this.isClosing = false;\n this.isExpanding = false;\n }\n\n private cancelAnimations() {\n if (this.animation) this.animation.cancel();\n }\n\n private emitEvents(option?: PnMultiselectOption, all?: boolean) {\n this.allOptions.emit(this.options);\n\n if (option) return this.selectedOption.emit(option);\n\n const data: { checked: boolean; searching: boolean; query?: string; found?: PnMultiselectOption[] } = {\n checked: all,\n searching: this.isSearching,\n };\n\n if (this.search && this.optionsTotal() !== this.optionsSearch().length) {\n data.query = this.searchQuery;\n data.found = this.optionsSearch();\n }\n\n this.selectedAllOptions.emit(data);\n }\n\n private optionsChecked(): PnMultiselectOption[] {\n const list = this.options?.reduce((sum, item) => {\n const subgroup = item.group ? [...item.group.filter(({ checked }) => checked)] : [];\n\n if (item.checked) sum.push(item);\n\n if (subgroup?.length) sum.push(...subgroup);\n\n return sum;\n }, []);\n\n return list;\n }\n\n private optionsTotal(): number {\n return this.options?.reduce((sum, item) => sum + (item?.group?.length ? item.group.length + 1 : 1), 0);\n }\n\n private optionsIndex(val: string): { indexGroup: number; indexNested?: number } {\n const findNested = ({ group = [] }: PnMultiselectOption) => group?.findIndex(({ value }) => value === val);\n\n const indexGroup = this.options.findIndex(option => option.value === val || findNested(option) !== -1);\n const indexNested = findNested(this.options?.[indexGroup]);\n\n return {\n indexGroup,\n indexNested,\n };\n }\n\n private optionsCheckedTotal(): number {\n return this.optionsChecked()?.length;\n }\n\n private optionsCheckedPreview(): PnMultiselectOption[] {\n return this.optionsChecked()?.slice(0, this.itemCount);\n }\n\n private optionsCheckedLabels(): string {\n return this.optionsChecked()\n ?.map(({ label }) => label)\n ?.join(', ');\n }\n\n private optionsSearch(): PnMultiselectOption[] {\n const list = this.options?.reduce((sum, item) => {\n const subgroup = item.group ? [...item.group.filter(({ hide }) => !hide)] : [];\n if (!item.hide) sum.push(item);\n if (subgroup?.length) sum.push(...subgroup);\n return sum;\n }, []);\n\n return list;\n }\n\n private noResults() {\n return this.optionsSearch()?.length === 0;\n }\n\n private isIndeterminate(groupIndex: number): boolean {\n const option = this.options?.[groupIndex];\n if (option?.group?.length) {\n const all = option.group.every(({ checked }) => checked);\n const none = option.group.every(({ checked }) => !checked);\n\n return !(all || none);\n }\n return false;\n }\n\n private optionSelect({ val, checked, chip }: { val: string; checked: boolean; chip?: number }) {\n if (val === this.allValue) return this.optionSelectAll(checked);\n\n const options = this.options;\n\n const { indexGroup, indexNested } = this.optionsIndex(val);\n\n const group = options[indexGroup]?.group;\n const nested = group?.[indexNested];\n\n if (nested?.value) {\n options[indexGroup].group[indexNested].checked = checked;\n\n const allSiblingsChecked = group?.every(({ checked }) => checked);\n\n if (allSiblingsChecked) options[indexGroup].checked = true;\n else options[indexGroup].checked = false;\n } else {\n options[indexGroup].checked = checked;\n if (group?.length) options[indexGroup].group = group?.map(opt => ({ ...opt, checked: checked }));\n }\n\n const option = indexNested === -1 ? options[indexGroup] : options[indexGroup].group[indexNested];\n\n this.emitEvents(option);\n\n this.options = [...options];\n\n if (typeof chip === 'number') {\n this.handleSrMesssage(`${this.translate('REMOVED')} ${option.label}`);\n\n requestAnimationFrame(() => {\n const index = chip === this.optionsCheckedTotal() ? chip - 1 : chip;\n const btn = Array.from(this.elChips.children)?.[index];\n btn?.querySelector('button').focus({ preventScroll: true });\n });\n }\n }\n\n private optionSelectAll(checked: boolean) {\n this.options = [\n ...this.options.map(option => {\n const opt = {\n ...option,\n checked: this.isSearching ? (option.hide ? option.checked : checked) : checked,\n };\n\n if (opt.group)\n opt.group = [\n ...opt.group.map(item => ({\n ...item,\n checked: this.isSearching ? (item.hide ? item.checked : checked) : checked,\n })),\n ];\n\n const allChecked = opt?.group?.every(({ checked }) => checked);\n if (opt?.group?.length) opt.checked = allChecked;\n\n return opt;\n }),\n ];\n\n this.emitEvents(null, checked);\n }\n\n private optionSelected(val: string): boolean {\n return !!this.optionsChecked()?.find(({ value, checked }) => value === val && checked);\n }\n\n private translate(prop: string): string {\n const text = translations?.[prop]?.[this.language || en];\n if (text.includes('{number}')) return text.replace('{number}', this.optionsSearch().length);\n return text;\n }\n\n private getRect(element: HTMLElement): DOMRect {\n return element?.getBoundingClientRect();\n }\n\n private ripple({ clientX, clientY, target }: MouseEvent) {\n const isKeyboard = clientX === 0 && clientY === 0;\n const element = (target as HTMLInputElement).nextElementSibling;\n const { x, width, y, top } = this.getRect(element as HTMLElement);\n const clientCor = isKeyboard ? { clientX: x + width - 24, clientY: y - top } : { clientX, clientY };\n\n ripple(clientCor, element as HTMLElement);\n }\n\n private handleSrMesssage(text: string) {\n this.srMessage = text;\n clearTimeout(this.srTimer);\n this.srTimer = setTimeout(() => (this.srMessage = null), 2000);\n }\n\n private handleDirection() {\n if (this.top) return (this.upwards = true);\n if (this.bottom) return (this.upwards = false);\n\n const { bottom, top } = this.getRect(this.elInput);\n\n const oneEm = 16;\n\n /*\n * Take the inner window height and subtract the elements bottom and 1em (16px)\n * If the max height of this calculation is less than the space above the element, open it upwards.\n * Do another calculation with the top value - 1em.\n */\n const offsetTop = window.innerHeight - bottom - oneEm;\n const offsetBottom = top - oneEm;\n\n /** Always point downwards, unless the space to the bottom is less than half of the top offset space. */\n this.upwards = offsetBottom / 2 > offsetTop;\n }\n\n private handleMaxHeight() {\n if (this.maxHeight) return this.elGroup.style.setProperty('--pn-select-max-height', this.maxHeight);\n\n const { bottom, top } = this.getRect(this.elInput);\n const inputHeight = this.upwards ? top : bottom;\n\n const offsetTop = getTotalHeightOffset();\n\n const offset = this.upwards ? offsetTop + 16 : 16;\n\n const maxHeight = this.upwards ? inputHeight - offset : window.innerHeight - inputHeight - offset;\n\n this.elGroup.style.setProperty('--pn-select-max-height', `${Math.ceil(maxHeight)}px`);\n }\n\n private handleWidth() {\n const { width } = this.getRect(this.elInput);\n this.elGroup.style.setProperty('--pn-select-options-width', `${Math.ceil(width)}px`);\n }\n\n private setFocus() {\n if (this.search) this.elInput.focus({ preventScroll: true });\n else this.elButton.focus({ preventScroll: true });\n }\n\n private hasError(): boolean {\n return this.invalid || !!this.error;\n }\n\n private hasMessage(): boolean {\n return !!this.helpertext || !!this.error;\n }\n\n private toggleOpen(state?: boolean) {\n if (typeof state === 'boolean' && state === this.open) return;\n this.open = state ?? !this.open;\n this.toggleSelect.emit({ open: this.open });\n }\n\n private handleInputKeyboard(event: KeyboardEvent) {\n event.stopImmediatePropagation();\n\n const { code } = event;\n\n if (code === 'Escape') return this.toggleOpen(false);\n if (!this.open && code.match(/^(Space|Enter)$|Arrow|^Key.*$/)) this.toggleOpen();\n }\n\n private setSearchQuery(value: string) {\n if (!this.open) this.toggleOpen(true);\n this.searchQuery = value;\n }\n\n private handleInputSearch() {\n if (this.isEmpty()) return;\n\n const term = this.searchQuery;\n const performSearch = ({ label, helpertext, value }: PnMultiselectOption): boolean => {\n return `${label} ${helpertext} ${value}`.trim().toLowerCase().includes(term.toLowerCase());\n };\n\n const options = this.options.map(option => {\n const foundNested = option?.group?.map(item => ({ ...item, hide: !performSearch(item) })) || [];\n\n const found = performSearch(option) || foundNested?.some(({ hide }) => !hide);\n\n option.hide = !found;\n if (option?.group?.length) option.group = [...foundNested];\n\n return option;\n });\n\n this.isSearching = term !== '';\n\n this.options = [...options];\n\n this.searchInput.emit({ query: term, found: this.optionsSearch() });\n }\n\n private getListItem(index: number): HTMLInputElement {\n const { value } = this.options[index];\n return this.elList.querySelector<HTMLInputElement>(`.pn-multiselect-option-input[value='${value}']`);\n }\n\n private getOptionIndex(val: string, triggers: (boolean | number)[], code?: string) {\n const total = this.optionsTotal() - 1;\n\n if (code === 'End') return total;\n if (code === 'Home') return 0;\n\n const valIndex = this.options.findIndex(({ value }) => value === val);\n\n const count = triggers.find(item => typeof item === 'number') as number;\n const index = valIndex + count;\n\n if (index >= total) return total;\n if (index <= 0) return 0;\n\n return index;\n }\n\n private checkboxNav(e: KeyboardEvent, val: string) {\n const { code } = e;\n\n const arrowUp = code === 'ArrowUp' && -1;\n const arrowDown = code === 'ArrowDown' && 1;\n const pageUp = code === 'PageUp' && -10;\n const pageDown = code === 'PageDown' && 10;\n const home = code === 'Home' && 0;\n const end = code === 'End' && this.optionsTotal() - 1;\n const tab = code === 'Tab';\n const space = code === 'Space';\n const enter = code === 'Enter';\n const escape = code === 'Escape';\n\n const triggers = [arrowUp, arrowDown, pageUp, pageDown, home, end, tab, space, enter, escape];\n\n if (!triggers.some(item => typeof item === 'number' || item)) return;\n\n if (tab || space || enter) return;\n\n e.stopImmediatePropagation();\n e.preventDefault();\n\n if (escape) {\n this.setFocus();\n return this.toggleOpen(false);\n }\n\n const item = this.getOptionIndex(val, triggers, code);\n return this.getListItem(item)?.focus();\n }\n\n private handleBlur(event: FocusEvent) {\n const target = event.target as HTMLElement;\n const related = event.relatedTarget as HTMLElement;\n\n const jumpingToChips = (related || target)?.className === 'pn-multiselect-chip-button';\n\n if (jumpingToChips) this.toggleOpen(false);\n }\n\n private handleLabel() {\n if (this.disabled) return;\n this.setFocus();\n }\n\n /** Check if there are no options in the list. */\n private isEmpty(): boolean {\n return (this.options?.length || 0) === 0;\n }\n\n private showSelectAll(): boolean {\n return this.selectAll && !this.isEmpty() && !this.noResults();\n }\n\n /** Check if the empty/nothing found should be visible. */\n private showEmptyOption() {\n return (this.isSearching && this.noResults()) || this.isEmpty();\n }\n\n private getPlaceholder(): string {\n const autoTranslation = this.search ? 'SEARCH' : 'SELECT_AN_OPTION';\n return this.placeholder || this.translate(autoTranslation);\n }\n\n private handleChange({ target }: InputEvent) {\n const { value, checked } = target as HTMLInputElement;\n this.optionSelect({ val: value, checked });\n }\n\n /** Display the \"X more selected options\" text. */\n private additonalOptions() {\n const count = this.optionsCheckedTotal() - this.itemCount;\n const single = `MORE_OPTION${count === 1 ? '' : 'S'}`;\n return `${count} ${this.translate(single)}`;\n }\n\n private describedBy(): string {\n const list = [this.search && this.idChips, this.srMessage && this.idSr, !!this.helpertext && this.idHelper].filter(\n Boolean,\n );\n if (list.length) return list.join(' ');\n return null;\n }\n\n private renderOption(\n {\n label,\n value,\n checked,\n helpertext,\n icon,\n id = `${this.selectId}-${value || label}`,\n invalid,\n disabled,\n hide,\n group,\n }: PnMultiselectOption,\n indexGroup?: number,\n indexNested?: number,\n ): HTMLLIElement {\n return (\n <li class=\"pn-multiselect-option\" key={id} hidden={hide}>\n <input\n type=\"checkbox\"\n id={id}\n class=\"pn-multiselect-option-input\"\n checked={checked ?? this.optionSelected(value)}\n indeterminate={indexNested === undefined && this.isIndeterminate(indexGroup)}\n name={this.name}\n value={value}\n disabled={this.disabled || disabled}\n required={this.required}\n aria-invalid={invalid ? 'true' : null}\n aria-describedby={helpertext ? `${id}-helper` : null}\n onClick={(event: MouseEvent) => this.ripple(event)}\n onKeyDown={(event: KeyboardEvent) => this.checkboxNav(event, value)}\n onBlur={(event: FocusEvent) => this.handleBlur(event)}\n />\n <div class=\"pn-multiselect-option-content\">\n {!!icon && <pn-icon icon={icon} color=\"blue900\" />}\n <div class=\"pn-multiselect-option-text\">\n <label class=\"pn-multiselect-option-label\" htmlFor={id}>\n <span>{label}</span>\n </label>\n {helpertext && (\n <p class=\"pn-multiselect-option-helper\" id={`${id}-helper`}>\n {helpertext}\n </p>\n )}\n </div>\n <div class=\"pn-multiselect-option-checkbox\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\">\n <polyline\n class=\"pn-multiselect-option-checkbox-checkmark-path\"\n points=\"4,12 9,17 20,6\"\n stroke-width=\"3\"\n />\n <polyline\n class=\"pn-multiselect-option-checkbox-indeterminate-path\"\n points=\"4,12 20,12\"\n stroke-width=\"3\"\n />\n </svg>\n </div>\n </div>\n {group?.length && (\n <ul class=\"pn-multiselect-optgroup\">{group?.map((option, i) => this.renderOption(option, indexGroup, i))}</ul>\n )}\n </li>\n );\n }\n\n private renderOptions(): HTMLUListElement {\n return (\n <ul\n id={this.idOptions}\n class=\"pn-multiselect-options\"\n data-open={this.open}\n data-upwards={this.upwards}\n data-moving={this.isClosing || this.isExpanding}\n onChange={(event: InputEvent) => this.handleChange(event)}\n style={{ height: '0px' }}\n ref={el => (this.elList = el)}\n >\n {this.showSelectAll() &&\n this.renderOption({\n label: this.translate(`SELECT_${this.isSearching ? 'FOUND' : 'ALL'}_OPTIONS`),\n value: this.allValue,\n checked: this.optionsTotal() === this.optionsCheckedTotal(),\n })}\n\n {this.options?.map((option, index) => this.renderOption(option, index))}\n\n {this.showEmptyOption() && (\n <li class=\"pn-multiselect-option\">\n <div class=\"pn-multiselect-option-content\" role=\"alert\">\n <div class=\"pn-multiselect-option-text\">\n <span class=\"pn-multiselect-option-label\">\n {this.translate(this.isEmpty() ? 'NO_OPTIONS' : 'NO_SEARCH_RESULTS')}\n </span>\n </div>\n </div>\n </li>\n )}\n </ul>\n );\n }\n\n private renderChips(): HTMLUListElement {\n return (\n <ul\n id={this.idChips}\n class=\"pn-multiselect-chips\"\n aria-label={this.translate('SELECTED_OPTIONS')}\n ref={el => (this.elChips = el)}\n >\n {this.optionsCheckedPreview()?.map(({ label, value }, index) => (\n <li\n class=\"pn-multiselect-chip\"\n aria-setsize={this.optionsCheckedTotal()}\n aria-posinset={index + 1}\n key={`${label}-${value}`}\n >\n <span class=\"pn-multiselect-chip-label\">{label}</span>\n <button\n type=\"button\"\n class=\"pn-multiselect-chip-button\"\n aria-label={`${this.translate('REMOVE')} ${label}`}\n onClick={() => this.optionSelect({ val: value, checked: false, chip: index })}\n >\n <pn-icon icon={close} small color=\"blue700\" />\n </button>\n </li>\n ))}\n {this.optionsCheckedTotal() > this.itemCount && (\n <li class=\"pn-multiselect-chip\" data-count>\n <span class=\"pn-multiselect-chip-label\">+ {this.additonalOptions()}</span>\n </li>\n )}\n </ul>\n );\n }\n\n render() {\n return (\n <Host>\n <fieldset class=\"pn-multiselect\" data-icon={!!this.icon} data-error={this.hasError()} disabled={this.disabled}>\n {this.label && (\n <legend id={this.idLegend} class=\"pn-multiselect-label\" onClick={() => this.handleLabel()}>\n <span>{this.label}</span>\n\n {!!this.optionsChecked()?.length && (\n <span>\n {this.optionsCheckedTotal()}/{this.optionsTotal()}\n </span>\n )}\n </legend>\n )}\n <div class=\"pn-multiselect-group\" ref={el => (this.elGroup = el)}>\n <div class=\"pn-multiselect-input\">\n {!!this.icon && <pn-icon class=\"pn-multiselect-icon\" data-custom icon={this.icon} />}\n\n <input\n tabindex={this.search ? null : '-1'}\n type={this.search ? 'search' : 'input'}\n id={this.selectId}\n class=\"pn-multiselect-element\"\n value={this.search ? this.searchQuery : this.optionsCheckedLabels()}\n name={this.selectName}\n placeholder={this.getPlaceholder()}\n required={this.search ? null : this.required}\n aria-labelledby={this.idLegend}\n aria-describedby={this.describedBy()}\n aria-controls={`${this.idOptions} ${this.search ? this.idChips : ''}`}\n aria-invalid={this.hasError()?.toString()}\n disabled={this.disabled}\n readonly={!this.search}\n onClick={() => (this.search && this.open ? null : this.toggleOpen())}\n onKeyDown={e => this.handleInputKeyboard(e)}\n onBlur={e => this.handleBlur(e)}\n onInput={e => this.search && this.setSearchQuery((e.target as HTMLInputElement).value)}\n ref={el => (this.elInput = el)}\n />\n\n {this.hasError() && (\n <pn-icon class=\"pn-multiselect-icon\" data-error icon={alert_exclamation_circle} color=\"warning\" />\n )}\n\n <button\n id={this.idButton}\n type=\"button\"\n class=\"pn-multiselect-button\"\n aria-label={this.translate(`BUTTON_${this.open ? 'CLOSE' : 'OPEN'}`)}\n aria-describedby={this.search ? null : this.selectId}\n aria-controls={this.idOptions}\n aria-expanded={this.open.toString()}\n onClick={() => this.toggleOpen()}\n ref={el => (this.elButton = el)}\n >\n <pn-icon class=\"pn-multiselect-icon\" icon={chevron_down} color=\"blue700\" />\n </button>\n </div>\n\n {this.renderOptions()}\n </div>\n\n {this.hasMessage() && (\n <p id={this.idHelper} class=\"pn-multiselect-description\" role={!!this.error ? 'alert' : null}>\n <span>{this.error || this.helpertext}</span>\n </p>\n )}\n\n {this.search && this.renderChips()}\n\n <slot />\n\n {this.search && (\n <p id={this.idSr} class=\"pn-multiselect-sr-only\" role=\"alert\" aria-live=\"assertive\">\n {this.srMessage && <span>{this.srMessage}</span>}\n </p>\n )}\n </fieldset>\n </Host>\n );\n }\n}\n"]}
@@ -34,7 +34,7 @@ export class PnRadioButton {
34
34
  this.handleId();
35
35
  }
36
36
  render() {
37
- return (h(Host, { key: 'ae520e0cfb3de29899ac40377cbb55061cd01b68' }, h("input", { key: 'd2195982014090f751f36f46687dc9c1e049e32d', type: "radio", id: this.radioid, value: this.value, name: this.name, disabled: this.disabled, required: this.required, checked: this.checked, "aria-describedby": !!this.helpertext && this.idHelper, "aria-invalid": this.invalid?.toString() }), h("div", { key: '0ebb9fa07ebb3b896e8efd3545bc7fe295c56d05', class: "pn-radio", "data-tile": this.tile, "data-invalid": this.invalid }, h("div", { key: 'a76dd992f2b3f2afb54e1db31ee50638002d5b4a', class: "pn-radio-container" }, h("div", { key: 'e456252ee2011d1dee97aff66f6ba4c122a5ca80', class: "pn-radio-outer" }, h("div", { key: 'dd7aee8305f27590d524b63336c619d7b440a781', class: "pn-radio-inner" }))), (this.label || this.helpertext) && (h("p", { key: '664c532213f996509cf6abe4a9d557b21ba60464', class: "pn-radio-content" }, this.label && (h("label", { key: '090e79852aa459100d0a382778bc30b75e61fe32', htmlFor: this.radioid, class: "pn-radio-label" }, this.label)), this.helpertext && (h("span", { key: '1785f82b7d25eff5117587777db5d02584609885', id: this.idHelper, class: "pn-radio-helpertext" }, this.helpertext)))), this.tile && this.icon && h("pn-icon", { key: '2902b6b37407a1b3dc7b60d47405de5ead710a57', color: "gray900", icon: this.icon }))));
37
+ return (h(Host, { key: '8bb634e145b549e4cd83b716dee01ef0473d6ab0' }, h("input", { key: 'b3d28e2d722957d18f9ea2f6567917627f54c1f1', type: "radio", id: this.radioid, value: this.value, name: this.name, disabled: this.disabled, required: this.required, checked: this.checked, "aria-describedby": !!this.helpertext && this.idHelper, "aria-invalid": this.invalid?.toString() }), h("div", { key: '84789bb4bdb07b5c9ae2a5512e70b22236b9efba', class: "pn-radio", "data-tile": this.tile, "data-invalid": this.invalid }, h("div", { key: '3a8d38272a31df6d779dbc0c04f25d7d514405c2', class: "pn-radio-container" }, h("div", { key: '1c13d1d254e1fe915604acd957ba21bd6217b345', class: "pn-radio-outer" }, h("div", { key: '6b576e1ae441544ad56f14d4cae0ab3f407a4200', class: "pn-radio-inner" }))), (this.label || this.helpertext) && (h("p", { key: '2f03734659b55b522e49f5daca3f9e494fa873f5', class: "pn-radio-content" }, this.label && (h("label", { key: '0fd0b95621317be2f320e359118abdb9c3556100', htmlFor: this.radioid, class: "pn-radio-label" }, this.label)), this.helpertext && (h("span", { key: '8a0dea7825a3e71f54b896a93331f374f1811c65', id: this.idHelper, class: "pn-radio-helpertext" }, this.helpertext)))), this.tile && this.icon && h("pn-icon", { key: '695a8edf949944d8a86cbdaba665a048fafed99b', color: "gray900", icon: this.icon }))));
38
38
  }
39
39
  static get is() { return "pn-radio-button"; }
40
40
  static get originalStyleUrls() {
@@ -69,7 +69,7 @@ export class PnSearchField {
69
69
  return classNames;
70
70
  }
71
71
  render() {
72
- return (h(Host, { key: 'e37e5e244250cfa6f2f042b2c4b78952fa7d9a79', class: this.getClassNames() }, h("div", { key: 'eed981fb9d9fb396fbd18242e54efb2f7d7045aa', class: "input-container" }, h("input", { key: '218ba7784220d2709d65ed94b818e14d9d49c08a', type: "search", value: this.value, id: this.searchid, name: this.name, "aria-label": this.label, placeholder: this.placeholder, disabled: this.disabled, required: this.required, autocomplete: this.autocomplete, list: this.list, ref: el => (this.searchElement = el), onKeyDown: e => this.emitSearch({ button: e }), onInput: e => this.setVal(e) }), h("div", { key: '90487db137ea5f86500d4cebe40c101085aa6dff', class: "button-container" }, (this.button === 'none' || this.button === 'icon-inline') && (h("pn-button", { key: 'db7bd6327c382b49b3a3f1d4ae355273b64f01b3', small: true, class: "search", type: "button", appearance: "light", icon: search, iconOnly: true, noTab: this.button !== 'icon-inline', arialabel: this.translate('SEARCH'), onPnClick: e => this.emitSearch({ click: e.detail }) })), this.button !== 'icon-inline' && (h("pn-button", { key: '44b876f97d6a961b12363c0e3e342399ddccad1f', small: true, class: "clear", type: "button", appearance: "light", icon: close_small, iconOnly: true, arialabel: this.translate('CLEAR'), noTab: this.value && (!this.loading || this.button !== 'none'), onPnClick: () => this.clearInput() })), this.button === 'none' || (this.button === 'icon-inline' && h("pn-spinner", { key: '8f116b75dee2226c3efb89bbc4df1a1cf1e21175' })))), this.button !== 'none' && this.button !== 'icon-inline' && (h("pn-button", { key: 'a952f2dce26f841f3e934d2195649ab8c584c297', label: this.buttonLabel, appearance: this.buttonLight ? 'light' : null, icon: search, iconOnly: true, arialabel: this.button === 'icon' ? this.buttonLabel : null, loading: this.loading, onPnClick: e => this.emitSearch({ click: e.detail }) }))));
72
+ return (h(Host, { key: '8326d2235579e0cb7a92c864c373bfe10ac93f98', class: this.getClassNames() }, h("div", { key: '51875e4b1e11e77646b1f81f25d57472acb61c93', class: "input-container" }, h("input", { key: '04fb6a318e2ba6afa3e20b9a132f0b1d84775fc9', type: "search", value: this.value, id: this.searchid, name: this.name, "aria-label": this.label, placeholder: this.placeholder, disabled: this.disabled, required: this.required, autocomplete: this.autocomplete, list: this.list, ref: el => (this.searchElement = el), onKeyDown: e => this.emitSearch({ button: e }), onInput: e => this.setVal(e) }), h("div", { key: '0ff204aee2d455d3800d5b2fa8107b27db647587', class: "button-container" }, (this.button === 'none' || this.button === 'icon-inline') && (h("pn-button", { key: 'f820315a99ae3ec92ffd3c7e82098442722a6be0', small: true, class: "search", type: "button", appearance: "light", icon: search, iconOnly: true, noTab: this.button !== 'icon-inline', arialabel: this.translate('SEARCH'), onPnClick: e => this.emitSearch({ click: e.detail }) })), this.button !== 'icon-inline' && (h("pn-button", { key: '2cb9544a3339ed88bc966b2e01430bc49238d885', small: true, class: "clear", type: "button", appearance: "light", icon: close_small, iconOnly: true, arialabel: this.translate('CLEAR'), noTab: this.value && (!this.loading || this.button !== 'none'), onPnClick: () => this.clearInput() })), this.button === 'none' || (this.button === 'icon-inline' && h("pn-spinner", { key: '019aaa565d24b635a012ae8c4f6ceaebbc0b74c6' })))), this.button !== 'none' && this.button !== 'icon-inline' && (h("pn-button", { key: 'e0567545bdb6982aaf9dbf989cd5cbbae72c2054', label: this.buttonLabel, appearance: this.buttonLight ? 'light' : null, icon: search, iconOnly: true, arialabel: this.button === 'icon' ? this.buttonLabel : null, loading: this.loading, onPnClick: e => this.emitSearch({ click: e.detail }) }))));
73
73
  }
74
74
  static get is() { return "pn-search-field"; }
75
75
  static get originalStyleUrls() {
@@ -124,7 +124,7 @@ export class PnSegmentedControl {
124
124
  }
125
125
  /*---------------------------------------/SCROLL ARROW LOGIC-------------------------------------------*/
126
126
  render() {
127
- return (h(Host, { key: '58ff89aa0cbb4ee126d5b61f5061df51eef69df0' }, h("div", { key: '45e92ad1f5169facf2681d831cfee5c36a6696ca', class: "pn-segmented-control", ref: el => (this.segmentContainer = el) }, h("slot", { key: '80561deedd796d18ca9fde389fbcfb0f8d761403' }), h("div", { key: 'b4e95afa434f77eb399616732afc9d3434dc724e', class: "pn-sc-bg", "data-active": true, ref: el => (this.activeBg = el) }), h("div", { key: '6889b7c2306eac3c0028c53736ce1cd279fc113f', class: "pn-sc-bg", "data-hover": true, ref: el => (this.hoverBg = el) })), h("div", { key: '5afb0f9778f422b093f3137e1a1af7cbbaef6dcc', class: this.scrollArrowClasses(), hidden: !this.showScrollArrows }, h("button", { key: '12a9a28a37b94a2bcd6021874add132ef5d1e9fe', "aria-label": "Left", class: "pn-sc-arrow pn-sc-arrow-left", onClick: () => this.scroll(-120), tabindex: "-1" }, h("pn-icon", { key: '9013d57af659c0e90442c4773e9b1632cea91a94', icon: arrow_left })), h("button", { key: '6eb71575e552897cb49dda3011e61b6ce8016198', "aria-label": "Right", class: "pn-sc-arrow pn-sc-arrow-right", onClick: () => this.scroll(120), tabindex: "-1" }, h("pn-icon", { key: '8729b2e9885ec045bb3c847347dc34c44042a824', icon: arrow_right })))));
127
+ return (h(Host, { key: 'aea003dbcf14cb96c8c3e7820918e1363dcdfca8' }, h("div", { key: '42ecbc84057db97c23a7c25b9d687134a75cfcce', class: "pn-segmented-control", ref: el => (this.segmentContainer = el) }, h("slot", { key: '5f32c7aca5758f22d940c8940c2b7f23742f9631' }), h("div", { key: 'a9a1726d5de7a5732b154c6614e8156ad9ad458c', class: "pn-sc-bg", "data-active": true, ref: el => (this.activeBg = el) }), h("div", { key: 'd93f75665a4a1c8d8e1e9d65ea1a6aa7adc9b2e5', class: "pn-sc-bg", "data-hover": true, ref: el => (this.hoverBg = el) })), h("div", { key: '10d3355188c2e76da5cfa78a98917491002427df', class: this.scrollArrowClasses(), hidden: !this.showScrollArrows }, h("button", { key: 'cfea6659a62e3dba6a8b294e8cffd423f39a97f6', "aria-label": "Left", class: "pn-sc-arrow pn-sc-arrow-left", onClick: () => this.scroll(-120), tabindex: "-1" }, h("pn-icon", { key: 'e14140c5d410a33d2f2ea826d636a350463b4437', icon: arrow_left })), h("button", { key: 'c0bad9bdf701ae1cc1e31f39478cfafc87be8ec6', "aria-label": "Right", class: "pn-sc-arrow pn-sc-arrow-right", onClick: () => this.scroll(120), tabindex: "-1" }, h("pn-icon", { key: '3ac708d78f09c4b3ac6cc6b2ab3de79ebfbb9920', icon: arrow_right })))));
128
128
  }
129
129
  static get is() { return "pn-segmented-control"; }
130
130
  static get originalStyleUrls() {
@@ -26,7 +26,7 @@ export class PnSegment {
26
26
  this.segmentHover.emit(mouse);
27
27
  }
28
28
  render() {
29
- return (h(Host, { key: 'c04c9f14d3b5436efb16cd391eb2bbc64be74b38', onMouseEnter: (event) => this.handleHover(event) }, h("input", { key: '8e755a9c00f5f058e6dcacfb14000fa6ea2916a8', class: "pn-segment", id: this.segmentid, name: this.name, checked: this.selected, type: "radio", value: this.value, disabled: this.disabled }), h("label", { key: 'dc13164594408f0cc3da2812fec29c280d09423b', htmlFor: this.segmentid, class: "pn-segment-label" }, this.icon && h("pn-icon", { key: 'cb77aa8a7b2595b6a99eb2ff5f58230c934d3bc0', icon: this.icon, color: "blue700" }), h("span", { key: 'a4368885dfc0b2d78d0c76df7e7dcaf2de479697', class: "pn-segment-text" }, this.label, h("slot", { key: '20e1385578b7f7e52b3a1cc637b84461aa1ef216' })))));
29
+ return (h(Host, { key: 'aefe64a8e024e1677b3816973b9a91dc1048cb56', onMouseEnter: (event) => this.handleHover(event) }, h("input", { key: '4d36074e76de1648020c31d30ad38d8a67ca3984', class: "pn-segment", id: this.segmentid, name: this.name, checked: this.selected, type: "radio", value: this.value, disabled: this.disabled }), h("label", { key: '1e6e54d9140bd27266d426ad4e9ecf68f505a7ee', htmlFor: this.segmentid, class: "pn-segment-label" }, this.icon && h("pn-icon", { key: '5733ce0a43d33337785771da3071c0c9043fbdde', icon: this.icon, color: "blue700" }), h("span", { key: '07759d481e84a914e8c0525d0b21fcc85356c3db', class: "pn-segment-text" }, this.label, h("slot", { key: 'de3a243b862d18555f1073165f1b8b817d86aa04' })))));
30
30
  }
31
31
  static get is() { return "pn-segment"; }
32
32
  static get originalStyleUrls() {
@@ -3,7 +3,7 @@
3
3
  * By PostNord.
4
4
  */
5
5
  import { h, Host, forceUpdate } from "@stencil/core";
6
- import { alert_exclamation_circle, angle_down } from "pn-design-assets/pn-assets/icons.js";
6
+ import { alert_exclamation_circle, chevron_down } from "pn-design-assets/pn-assets/icons.js";
7
7
  import { uuidv4 } from "../../../index";
8
8
  /**
9
9
  * The `pn-select` uses a native `select` element under the hood.
@@ -47,7 +47,7 @@ export class PnSelect {
47
47
  return !!this.helpertext || !!this.error;
48
48
  }
49
49
  render() {
50
- return (h(Host, { key: '1e9048eda53ecaa901689f0164cba2a389f543df' }, h("div", { key: 'e24db0f74c4d3657bb1ee6903160fcdaf2910da4', class: "pn-select", "data-error": this.hasError() }, this.label && (h("label", { key: 'c4e6c6c613df6392b0a67123d46f9474ae0e305f', htmlFor: this.selectId, class: "pn-select-label" }, h("span", { key: '58965840227667a57d624538702990125c5f7dca' }, this.label))), h("div", { key: 'd48cef7cd8ceb7cc7fafce1da20574d933d9413f', class: "pn-select-input" }, this.icon && h("pn-icon", { key: 'f4021fd781fb67e2df267606b165607369fd0371', class: "pn-select-icon", icon: this.icon, "data-custom": true, "aria-hidden": "true" }), this.hasError() && (h("pn-icon", { key: 'e7d35d9f8191aec7c0ced7442b2419c9dc88fb44', class: "pn-select-icon", icon: alert_exclamation_circle, color: "warning", "data-error": true, "aria-hidden": "true" })), h("select", { key: '1b2bd070a7d12e7504bfddfb389d1cb3e9a9053f', id: this.selectId, class: "pn-select-element", name: this.name, form: this.form, autocomplete: this.autocomplete, "aria-describedby": this.hasMessage() && this.idHelpertext, "aria-invalid": this.hasError().toString(), disabled: this.disabled, "data-placeholder": this.select?.value === '', ref: el => (this.select = el) }, h("slot", { key: 'b9d68ad6844d3c0444f4a4c0f53e7f4c98ce41f7' })), h("pn-icon", { key: '66bc82e862821f70b7f62559c00a9937301b3715', class: "pn-select-icon", icon: angle_down, color: "blue700", "data-default": true, "aria-hidden": "true" })), this.hasMessage() && (h("p", { key: '100c25db7cb319a1ae7389bc862ffbcdb6b8f6d3', id: this.idHelpertext, class: "pn-select-helper", role: !!this.error ? 'alert' : null }, h("span", { key: '73a0373c059ee9d0ec9abd4bcbf99a48409d8112' }, this.error || this.helpertext))))));
50
+ return (h(Host, { key: '557d5e0407e14089b58198108c6ac44f90db21ab' }, h("div", { key: 'd322762f5c51b96cb35a9e023b4082812113a273', class: "pn-select", "data-error": this.hasError() }, this.label && (h("label", { key: '2dcf2247ba943591055418cdf38735be3e8386f8', htmlFor: this.selectId, class: "pn-select-label" }, h("span", { key: '29401388d7065dc6ade239f0307c5df9cc61629b' }, this.label))), h("div", { key: '725851becae25fd36ebaeed7262b732c7a2cd05e', class: "pn-select-input" }, this.icon && h("pn-icon", { key: '4c40b12865b8019bdeca9dcae62bf4767f3cdb90', class: "pn-select-icon", icon: this.icon, "data-custom": true, "aria-hidden": "true" }), this.hasError() && (h("pn-icon", { key: '8b0d2445db71a83aafbcf7ad34a08aea692cab5c', class: "pn-select-icon", icon: alert_exclamation_circle, color: "warning", "data-error": true, "aria-hidden": "true" })), h("select", { key: '8d1555e92ceaffa72a7c12e1911c683a60a4fe42', id: this.selectId, class: "pn-select-element", name: this.name, form: this.form, autocomplete: this.autocomplete, "aria-describedby": this.hasMessage() && this.idHelpertext, "aria-invalid": this.hasError().toString(), disabled: this.disabled, "data-placeholder": this.select?.value === '', ref: el => (this.select = el) }, h("slot", { key: 'e0ca451783c2e2736c06b13097331058fec82118' })), h("pn-icon", { key: '37d957e3319d281848cfa35b68cc5fa6cb0789cc', class: "pn-select-icon", icon: chevron_down, color: "blue700", "data-default": true, "aria-hidden": "true" })), this.hasMessage() && (h("p", { key: 'f98839737c466c368f1f5e4db3aaf77ec45ab236', id: this.idHelpertext, class: "pn-select-helper", role: !!this.error ? 'alert' : null }, h("span", { key: '8622d967db51059efb8a96e4bc661ede16e36730' }, this.error || this.helpertext))))));
51
51
  }
52
52
  static get is() { return "pn-select"; }
53
53
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"pn-select.js","sourceRoot":"","sources":["../../../../src/components/input/pn-select/pn-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Element, Prop, forceUpdate } from '@stencil/core';\nimport { alert_exclamation_circle, angle_down } from 'pn-design-assets/pn-assets/icons.js';\nimport { uuidv4 } from '@/index';\n\n/**\n * The `pn-select` uses a native `select` element under the hood.\n * Use the slot to include `option` elements.\n *\n * Just like a regular `select`, you can use the `selected` prop on the nested option elements to preselect an option.\n *\n * @slot - This is the default slot, where the `option` elements go.\n *\n * @nativeChange Use the `change` event to listen to changes on the select element.\n */\n@Component({\n tag: 'pn-select',\n styleUrl: 'pn-select.scss',\n})\nexport class PnSelect {\n id: string = `pn-select-${uuidv4()}`;\n idHelpertext: string = `${this.id}-text`;\n\n select: HTMLSelectElement;\n\n mo: MutationObserver;\n\n @Element() hostElement: HTMLElement;\n\n /** Label placed above the select. */\n @Prop() label!: string;\n /** Display a helper text underneath the select. */\n @Prop() helpertext?: string;\n /** Select HTML id */\n @Prop() selectId: string = this.id;\n /** Display an icon to the left of the select input. */\n @Prop() icon?: string;\n\n /** HTML select name. @category HTML */\n @Prop() name: string;\n /** HTML form name. @category HTML */\n @Prop() form: string;\n /** HTML autocomplete. @category HTML */\n @Prop() autocomplete: string;\n /**\n * Set the select as required.\n * @category Validation\n */\n @Prop() required?: boolean = false;\n /**\n * Disable the select.\n * @category Validation\n */\n @Prop() disabled?: boolean = false;\n /**\n * Trigger the invalid state.\n * @category Validation\n */\n @Prop() invalid?: boolean = false;\n /**\n * Display an error message and trigger the invalid state.\n * @category Validation\n */\n @Prop() error?: string;\n\n componentDidLoad() {\n if (this.mo) this.mo.disconnect();\n\n this.mo = new MutationObserver(() => forceUpdate(this.hostElement));\n\n this.mo.observe(this.hostElement, { childList: true, subtree: true });\n }\n\n hasError() {\n return this.invalid || !!this.error;\n }\n\n hasMessage() {\n return !!this.helpertext || !!this.error;\n }\n\n render() {\n return (\n <Host>\n <div class=\"pn-select\" data-error={this.hasError()}>\n {this.label && (\n <label htmlFor={this.selectId} class=\"pn-select-label\">\n <span>{this.label}</span>\n </label>\n )}\n <div class=\"pn-select-input\">\n {this.icon && <pn-icon class=\"pn-select-icon\" icon={this.icon} data-custom aria-hidden=\"true\" />}\n\n {this.hasError() && (\n <pn-icon\n class=\"pn-select-icon\"\n icon={alert_exclamation_circle}\n color=\"warning\"\n data-error\n aria-hidden=\"true\"\n />\n )}\n\n <select\n id={this.selectId}\n class=\"pn-select-element\"\n name={this.name}\n form={this.form}\n autocomplete={this.autocomplete}\n aria-describedby={this.hasMessage() && this.idHelpertext}\n aria-invalid={this.hasError().toString()}\n disabled={this.disabled}\n data-placeholder={this.select?.value === ''}\n ref={el => (this.select = el)}\n >\n <slot />\n </select>\n\n <pn-icon class=\"pn-select-icon\" icon={angle_down} color=\"blue700\" data-default aria-hidden=\"true\" />\n </div>\n\n {this.hasMessage() && (\n <p id={this.idHelpertext} class=\"pn-select-helper\" role={!!this.error ? 'alert' : null}>\n <span>{this.error || this.helpertext}</span>\n </p>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"pn-select.js","sourceRoot":"","sources":["../../../../src/components/input/pn-select/pn-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Element, Prop, forceUpdate } from '@stencil/core';\nimport { alert_exclamation_circle, chevron_down } from 'pn-design-assets/pn-assets/icons.js';\nimport { uuidv4 } from '@/index';\n\n/**\n * The `pn-select` uses a native `select` element under the hood.\n * Use the slot to include `option` elements.\n *\n * Just like a regular `select`, you can use the `selected` prop on the nested option elements to preselect an option.\n *\n * @slot - This is the default slot, where the `option` elements go.\n *\n * @nativeChange Use the `change` event to listen to changes on the select element.\n */\n@Component({\n tag: 'pn-select',\n styleUrl: 'pn-select.scss',\n})\nexport class PnSelect {\n id: string = `pn-select-${uuidv4()}`;\n idHelpertext: string = `${this.id}-text`;\n\n select: HTMLSelectElement;\n\n mo: MutationObserver;\n\n @Element() hostElement: HTMLElement;\n\n /** Label placed above the select. */\n @Prop() label!: string;\n /** Display a helper text underneath the select. */\n @Prop() helpertext?: string;\n /** Select HTML id */\n @Prop() selectId: string = this.id;\n /** Display an icon to the left of the select input. */\n @Prop() icon?: string;\n\n /** HTML select name. @category HTML */\n @Prop() name: string;\n /** HTML form name. @category HTML */\n @Prop() form: string;\n /** HTML autocomplete. @category HTML */\n @Prop() autocomplete: string;\n /**\n * Set the select as required.\n * @category Validation\n */\n @Prop() required?: boolean = false;\n /**\n * Disable the select.\n * @category Validation\n */\n @Prop() disabled?: boolean = false;\n /**\n * Trigger the invalid state.\n * @category Validation\n */\n @Prop() invalid?: boolean = false;\n /**\n * Display an error message and trigger the invalid state.\n * @category Validation\n */\n @Prop() error?: string;\n\n componentDidLoad() {\n if (this.mo) this.mo.disconnect();\n\n this.mo = new MutationObserver(() => forceUpdate(this.hostElement));\n\n this.mo.observe(this.hostElement, { childList: true, subtree: true });\n }\n\n hasError() {\n return this.invalid || !!this.error;\n }\n\n hasMessage() {\n return !!this.helpertext || !!this.error;\n }\n\n render() {\n return (\n <Host>\n <div class=\"pn-select\" data-error={this.hasError()}>\n {this.label && (\n <label htmlFor={this.selectId} class=\"pn-select-label\">\n <span>{this.label}</span>\n </label>\n )}\n <div class=\"pn-select-input\">\n {this.icon && <pn-icon class=\"pn-select-icon\" icon={this.icon} data-custom aria-hidden=\"true\" />}\n\n {this.hasError() && (\n <pn-icon\n class=\"pn-select-icon\"\n icon={alert_exclamation_circle}\n color=\"warning\"\n data-error\n aria-hidden=\"true\"\n />\n )}\n\n <select\n id={this.selectId}\n class=\"pn-select-element\"\n name={this.name}\n form={this.form}\n autocomplete={this.autocomplete}\n aria-describedby={this.hasMessage() && this.idHelpertext}\n aria-invalid={this.hasError().toString()}\n disabled={this.disabled}\n data-placeholder={this.select?.value === ''}\n ref={el => (this.select = el)}\n >\n <slot />\n </select>\n\n <pn-icon class=\"pn-select-icon\" icon={chevron_down} color=\"blue700\" data-default aria-hidden=\"true\" />\n </div>\n\n {this.hasMessage() && (\n <p id={this.idHelpertext} class=\"pn-select-helper\" role={!!this.error ? 'alert' : null}>\n <span>{this.error || this.helpertext}</span>\n </p>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -53,7 +53,7 @@ export class PnTextarea {
53
53
  return !!(this.helpertext?.length || this.error?.length);
54
54
  }
55
55
  render() {
56
- return (h(Host, { key: 'c8cd0f74604646f7ac3ed6e8d4e7846b6d818b02' }, h("div", { key: '48fb0a2c6c30968079633a36b5d6a85ee8a07366', class: "pn-textarea", "data-valid": this.valid, "data-error": this.hasError(), "data-resize": this.resize }, h("label", { key: 'fbe7eac959225c7ee7d2a13fc3bdc75aca42363a', class: "pn-textarea-label", htmlFor: this.textareaid }, h("span", { key: '6d433af86539e7bb9b0bdd673f33f3297f79aa69' }, this.label), this.maxlength >= 1 && h("span", { key: '12e7c0a22af8e92136d7c893685d80e741d0c9f1' }, `${this.value?.length || 0}/${this.maxlength}`)), h("textarea", { key: 'c7dca374bf36de54afc9e2183ddb95c0c78c9f61', class: "pn-textarea-element", id: this.textareaid, name: this.name, rows: this.rows, cols: this.cols, wrap: this.wrap, autocomplete: this.autocomplete, spellcheck: this.spellcheck, placeholder: this.placeholder, maxlength: this.maxlength, required: this.required, disabled: this.disabled, readonly: this.readonly, "aria-describedby": this.hasMessage() ? this.idHelper : null, "aria-invalid": this.hasError().toString(), onInput: e => this.setVal(e), value: this.value }), this.hasMessage() && (h("p", { key: '9a5c29b6db59b4b881fe4b76f3cfd6dd69d79249', id: this.idHelper, class: "pn-textarea-text", role: this.error?.length ? 'alert' : null }, h("span", { key: '25a43d7f4ba47550623e4937ae4b8bf830fda6c0' }, this.error || this.helpertext))))));
56
+ return (h(Host, { key: 'f6402df35f4bd3995044899cdbb88c12a3b0d769' }, h("div", { key: 'a29993e5382b5b6d99d301bab1fb7266439fe83b', class: "pn-textarea", "data-valid": this.valid, "data-error": this.hasError(), "data-resize": this.resize }, h("label", { key: '23c3bc4dd4f9cf3ebfbfaedaa864dfdab9b69480', class: "pn-textarea-label", htmlFor: this.textareaid }, h("span", { key: '422340deb784b2c633d9da8b45a8a91e7bfaaed1' }, this.label), this.maxlength >= 1 && h("span", { key: '9dcabac30990f71ba1fbebed9cd7adc6ca0ffd3d' }, `${this.value?.length || 0}/${this.maxlength}`)), h("textarea", { key: '49020658e51cdf29c4da81aacfd588a016bb57b8', class: "pn-textarea-element", id: this.textareaid, name: this.name, rows: this.rows, cols: this.cols, wrap: this.wrap, autocomplete: this.autocomplete, spellcheck: this.spellcheck, placeholder: this.placeholder, maxlength: this.maxlength, required: this.required, disabled: this.disabled, readonly: this.readonly, "aria-describedby": this.hasMessage() ? this.idHelper : null, "aria-invalid": this.hasError().toString(), onInput: e => this.setVal(e), value: this.value }), this.hasMessage() && (h("p", { key: '68c4dd53d3b63e90fb4ea586120874c39baedcdf', id: this.idHelper, class: "pn-textarea-text", role: this.error?.length ? 'alert' : null }, h("span", { key: 'e7dd508206ca9dfb965e47e8ab35fede65e6bf19' }, this.error || this.helpertext))))));
57
57
  }
58
58
  static get is() { return "pn-textarea"; }
59
59
  static get originalStyleUrls() {
@@ -49,7 +49,7 @@ export class PnToggleSwitch {
49
49
  return this.showHelpertext() ? this.idHelper : null;
50
50
  }
51
51
  render() {
52
- return (h(Host, { key: '9806bc50780935f442660701539941efd05d92d5' }, h("div", { key: 'a2babfadbf6443da619b35f9d8cb09a7b0bd4a59', class: "pn-toggle" }, this.label && (h("div", { key: '525510807f8f7e505b589c8055f277b196f813cd', class: "pn-toggle-content" }, h("label", { key: 'cc58536e57de5a852762de90c5edf0ad2f92a05f', htmlFor: this.toggleid, class: "pn-toggle-label" }, h("span", { key: 'a43dba51d8becebf1f508300ccb72530400535c7' }, this.label)), h("p", { key: 'd86c250e53ceb45830444a13a8f2c609173542de', id: this.idHelper, class: "pn-toggle-helper", hidden: !this.showHelpertext() }, this.hasHelpertextProp() && h("span", { key: '02a55f8a4c9da87b33b31ecd3d30ad6a73d70714' }, this.helpertext), h("slot", { key: '065675c0046d2cbdd581ef0c5ec745a5b03393eb', name: "helpertext" })))), h("div", { key: '6cbc83780caacb03d778aa2b9f882858231206ca', class: "pn-toggle-button", "data-small": this.small, "data-large": this.large, "data-loading": this.loading }, h("input", { key: '1a7062923c2668cb41b4c4b14f948c4074cf416e', id: this.toggleid, class: "pn-toggle-element", type: "checkbox", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, "aria-describedby": this.describedBy() }), h("div", { key: '3a85ff013cb29f5c7bef3d088ec782a53b3924ac', class: "pn-toggle-bg" }), h("div", { key: '955a78cfd16980bd437e03e51f3cde49185fe954', class: "pn-toggle-circle" }, h("svg", { key: 'fc0802cf056f5413c1228584c53abae8b21a8813', class: "pn-toggle-check", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none" }, h("polyline", { key: 'e881ac5ae0b5838293ac2e5af74a0c56ddd85687', points: "4,12 9,17 20,6", "stroke-width": "3" })), h("pn-spinner", { key: '78e5dd0484be70fc75315475daffed5b2e63c8bb', size: 1.125 }))))));
52
+ return (h(Host, { key: 'ab6fe1d4472bf8a817d28c503dd4268af259c34d' }, h("div", { key: 'f16a8d97ba68161a192f1b1b3b254c21f0ff804b', class: "pn-toggle" }, this.label && (h("div", { key: 'c3666dc49b09637cc10b0bdc12e573d57e005268', class: "pn-toggle-content" }, h("label", { key: '977c13dfd61a8b10a8dd2606a750d0716fe30adb', htmlFor: this.toggleid, class: "pn-toggle-label" }, h("span", { key: '3c4399a7456fc446f8279dd7d46b06e5fe663e06' }, this.label)), h("p", { key: 'e300cfac23f9f290641f8fc345611a1cebf5b173', id: this.idHelper, class: "pn-toggle-helper", hidden: !this.showHelpertext() }, this.hasHelpertextProp() && h("span", { key: '15f3b3bceafb9f868d16d4623cc977b58add2a6c' }, this.helpertext), h("slot", { key: '6a19bcbc616bf74371d145545605bfbe6873a707', name: "helpertext" })))), h("div", { key: '6b4590a7e6b32a684d11661baa9ced6b482b17d3', class: "pn-toggle-button", "data-small": this.small, "data-large": this.large, "data-loading": this.loading }, h("input", { key: 'afa8576dfd3ae59631ae54049b95a268dc139e95', id: this.toggleid, class: "pn-toggle-element", type: "checkbox", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, "aria-describedby": this.describedBy() }), h("div", { key: 'ad9ae48c3b5f2a72b5067f71b34f8410766f09c8', class: "pn-toggle-bg" }), h("div", { key: '644f991914000783c81dc3f3c0a84406e117c177', class: "pn-toggle-circle" }, h("svg", { key: '9d6c808e21fb87486ceec83deb990fcbc738a8f7', class: "pn-toggle-check", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none" }, h("polyline", { key: '796e5a93439baf1bbb88cf7ac50f2960a7ca819c', points: "4,12 9,17 20,6", "stroke-width": "3" })), h("pn-spinner", { key: '55995adf95f2de9658a54f06dd6156fd006aed4b', size: 1.125 }))))));
53
53
  }
54
54
  static get is() { return "pn-toggle-switch"; }
55
55
  static get originalStyleUrls() {
@@ -65,7 +65,7 @@ export class PnHeader {
65
65
  return this.hasBreadcrumb || !!this.goBackHref?.length;
66
66
  }
67
67
  render() {
68
- return (h(Host, { key: '8493b17c1f553672941e7bddf7382e3e80377c71' }, h("header", { key: '2026f9c75dde59abda45a0e376c24907657fe8e7', class: "pn-header" }, h("div", { key: 'dbf01bc588ed38cccb0f951fed4047c9e8192354', class: "pn-header-container" }, h("div", { key: '115a52c44b0e5addf49e4807b21adeb84a531de9', class: "pn-header-breadcrumbs", hidden: !this.showBreadcrumb() }, this.goBackHref && (h("pn-text-link", { key: 'b2cce5ed46b6dcdb10a72bb806c5a406b6ff5e15', label: this.goBackTextTranslated, href: this.goBackHref, icon: arrow_left, leftIcon: true })), h("slot", { key: '27a3d3c38b30cba6d51c79a2c0bd18c6afa13a4c', name: "breadcrumb" })), h("div", { key: '8134ae8b844e9db548cb3db6bf995479c404fff1', class: "pn-header-content" }, this.heading && h("h1", { key: '3bf46740c66ca137adbc50fe6cdde178e82bfdbc' }, this.heading), h("slot", { key: '94ee53b3dee5a388ef84ae91c54a5b96c14a2661' })), h("div", { key: 'd44728888d295fd84285b28102b348da90ba5d80', class: "pn-header-buttons", hidden: !this.hasButtons }, h("slot", { key: '7af9da3f81bedb69639f7f723c24d93caebaba24', name: "buttons" })), h("slot", { key: '6c55a22b94293e59c8fdb33906c2d4612d067cc4', name: "menu" })))));
68
+ return (h(Host, { key: '0c5653c92c6502f2f3ee2db0595be669a5588dd7' }, h("header", { key: 'fdc4a48ee31a83e86cbba171677d09d5845c6e0f', class: "pn-header" }, h("div", { key: 'dca702aad4ca3c0b658bf16ecd2621094db8e893', class: "pn-header-container" }, h("div", { key: '6da162eb32c0a76e9cd631559d522c82b8e682b9', class: "pn-header-breadcrumbs", hidden: !this.showBreadcrumb() }, this.goBackHref && (h("pn-text-link", { key: '02e7658941132a034bd058b0e3e716f32cba7f98', label: this.goBackTextTranslated, href: this.goBackHref, icon: arrow_left, leftIcon: true })), h("slot", { key: '1f358d45875bc7e7382e34eb00d845f34c3ae33f', name: "breadcrumb" })), h("div", { key: '402dcd759dc7e200899a61ac5f198105e28c8202', class: "pn-header-content" }, this.heading && h("h1", { key: '6b5755ad86d300f4e070b5444a04399fa497ac6f' }, this.heading), h("slot", { key: 'c51eb23c6e206762395cf40f86fe870ae8eb8afb' })), h("div", { key: '5beec993b7da17304cdeb31cafb5850adb878611', class: "pn-header-buttons", hidden: !this.hasButtons }, h("slot", { key: 'd38cec8bea8f49c85a1ed504f197aad06c8fee6d', name: "buttons" })), h("slot", { key: '31c06cf9cfbcf4b0b76bb0356db4b736aa8a9a81', name: "menu" })))));
69
69
  }
70
70
  static get is() { return "pn-header"; }
71
71
  static get originalStyleUrls() {
@@ -81,7 +81,7 @@ export class PnCard {
81
81
  }
82
82
  render() {
83
83
  const TitleTag = this.getHeadingTag();
84
- return (h(Host, { key: '4c1a897e5b6fd69663aa076de44231cbde9b85b1' }, h("article", { key: 'a93fb7255cd352eed29814f010f0111eebcf0d46', id: this.cardId, class: "pn-card", "data-link": !!this.href, "data-horizontal": this.horizontal, "data-reverse": this.reverse, "data-focus": this.visibleOutline }, h("div", { key: '1861f3a85267df00d8d974ed2f014fb097288d4c', class: "pn-card-image" }, h("picture", { key: 'd0acfe747efd63762ddb0dd7cbe67baadb7ad4e1', class: "pn-card-picture", style: { '--pn-card-aspect-ratio': this.aspectRatio || 'unset' } }, h("slot", { key: 'e8360ba8b54d5ad376b549189102eb6412fb6a3e', name: "image" }))), h("div", { key: '1b613813ac38d257cd2c64cb3e7f053950b8d58a', class: "pn-card-content" }, h("header", { key: '4048f0f93b62c71f3caa553ba0f217064f1f8b80', class: "pn-card-header" }, h("div", { key: '071f1f13e492909e27aa4fb860c8ba3a9e88efc4', class: "pn-card-tags" }, h("slot", { key: 'bb4ad165fc8443b55784fcad35d8733f89e34b55', name: "tags" })), !!this.overline && h("p", { key: 'c75cfc0045739d7dfa4c2c6aef79dd57d64ccbc1', class: "pn-card-label-overline" }, this.overline), !!this.label && (h(TitleTag, { key: 'e65289e4307c08f8c92e9b83b3981cd8413a63d4', id: this.getTitleId(), class: "pn-card-label" }, this.label)), h("slot", { key: 'd901c192ed2e029f9b2a0a7df421d6c008f80ea6', name: "header" })), h("section", { key: 'da99e7c8a01924e670a9cbee424ac899870c1a8f', class: "pn-card-section" }, !!this.text && h("p", { key: 'c27938d4704111825dca3ab621133bdd99e401f0', class: "pn-card-section-paragraph" }, this.text), h("slot", { key: '6dfd91ac2b404b23522812c22247d01c5da6a557' })), h("nav", { key: '10252f1454848d360a727c2a85b9ab5461d73b0b', class: "pn-card-navigation" }, this.showHref() && (h("a", { key: '82640b1972e9f740694a5c135857e8b3c87e7a2b', class: "pn-card-link", href: this.href, target: this.target, rel: this.rel, "aria-labelledby": this.getLabelledby(), onClick: event => this.handleClick(event), onFocus: event => this.handleFocus(event), onBlur: event => this.handleFocus(event) }, this.hrefLabel, h("pn-icon", { key: '50d3021b2f7f2722426f5299fea249b596e8f28b', color: "blue700", icon: this.getIcon() }))), h("slot", { key: 'be97f6fc934ccd5f55fb577028c52757ada6c128', name: "navigation" }))))));
84
+ return (h(Host, { key: '821cee3f202421ab0e60bbba012b8ad8dbb05793' }, h("article", { key: '41ff1c612af9e2be99b446b549088e5892771fb2', id: this.cardId, class: "pn-card", "data-link": !!this.href, "data-horizontal": this.horizontal, "data-reverse": this.reverse, "data-focus": this.visibleOutline }, h("div", { key: '780140151f04b678c9c74bb722a9b45447f66645', class: "pn-card-image" }, h("picture", { key: '94f932a7b6bf22e6f13789c1bae776cbcf99291d', class: "pn-card-picture", style: { '--pn-card-aspect-ratio': this.aspectRatio || 'unset' } }, h("slot", { key: 'ccb5f90249e4f5cd73924a15fcd86ccb1ce08f87', name: "image" }))), h("div", { key: '2cc59cc4c75444be12802a3bc723f59c225b4336', class: "pn-card-content" }, h("header", { key: '4f5824bad2bff67c416c177138703ec6b2e9baeb', class: "pn-card-header" }, h("div", { key: 'cef69f9a720f8cd69df4f5dbc34973b3ebc2750a', class: "pn-card-tags" }, h("slot", { key: 'c6b93db08c9b0bcd268b6d9faaf9f4a8d9cd86c6', name: "tags" })), !!this.overline && h("p", { key: 'ca27f600423daf37e77cfefec9e8ab9710998d98', class: "pn-card-label-overline" }, this.overline), !!this.label && (h(TitleTag, { key: 'c6c4803f194c727c9bc3f0bf6592a4ea77e99a4a', id: this.getTitleId(), class: "pn-card-label" }, this.label)), h("slot", { key: 'cb5757f5575590542047bd07282481601c5f399f', name: "header" })), h("section", { key: '19c80b379dff1a6c3f734498b6b32a0a486d0183', class: "pn-card-section" }, !!this.text && h("p", { key: 'b807218d4d0554ea65462caf013e0208dcfd340d', class: "pn-card-section-paragraph" }, this.text), h("slot", { key: '15638a8de80d16b8779415aa2d23cdf0a56e08c9' })), h("nav", { key: 'ff50a2c165936be2feff4cb0f1f821c60e6da204', class: "pn-card-navigation" }, this.showHref() && (h("a", { key: '7994139742f0a623e0e9ce17a8cd3f1088f9753d', class: "pn-card-link", href: this.href, target: this.target, rel: this.rel, "aria-labelledby": this.getLabelledby(), onClick: event => this.handleClick(event), onFocus: event => this.handleFocus(event), onBlur: event => this.handleFocus(event) }, this.hrefLabel, h("pn-icon", { key: 'bfac7739393db47a446b987a631143601ca33ceb', color: "blue700", icon: this.getIcon() }))), h("slot", { key: '3fab25b3c69c45c6b09536a6454f20a0735f80e2', name: "navigation" }))))));
85
85
  }
86
86
  static get is() { return "pn-card"; }
87
87
  static get originalStyleUrls() {
@@ -42,7 +42,7 @@ export class PnFooter {
42
42
  }
43
43
  }
44
44
  render() {
45
- return (h(Host, { key: '058cc2657df17548123ef669430f182ca5938fb3' }, h("div", { key: '342b9994cd820a210c6a2340a7f380cd413dd445', class: "pn-footer-row" }, h("p", { key: '32fc92b37a3a30cc713ad95f3e76089fcd5555c2' }, this.getText('questions')), this.renderLink('contact')), h("div", { key: 'dbe0d3496fb83b2a437ea52a6c7785c30fbd7a2c', class: "pn-footer-row" }, this.market !== NO && this.renderLink('terms'), this.renderLink('privacy'), this.renderLink('cookies')), h("div", { key: '41bccfb8d19a869f15622be57e7b03beccc43d90', class: "pn-footer-row" }, h("p", { key: 'b9d133af8a47f8a97925200994a91a174595dea1' }, this.getText('info')), this.renderLink('domain'))));
45
+ return (h(Host, { key: 'eb51a2359d790d67d2a655fe98b1315e57558cb9' }, h("div", { key: 'e5c3ca2d99668b56a51f4cff35512c87a649fc8e', class: "pn-footer-row" }, h("p", { key: 'e0e95967f2f2a58875109acf64682ab6c34df81d' }, this.getText('questions')), this.renderLink('contact')), h("div", { key: 'c8c8770491f39445575f0770a2d52bb392d7095e', class: "pn-footer-row" }, this.market !== NO && this.renderLink('terms'), this.renderLink('privacy'), this.renderLink('cookies')), h("div", { key: '944d4f4f3a3baa245da8a6ba25837314d385b4f8', class: "pn-footer-row" }, h("p", { key: '3e35f3e9f882c07ba3b074a02c7752dc021d31b3' }, this.getText('info')), this.renderLink('domain'))));
46
46
  }
47
47
  static get is() { return "pn-footer"; }
48
48
  static get originalStyleUrls() {
@@ -36,7 +36,7 @@ export class PnPageNavDropdownItem {
36
36
  }
37
37
  render() {
38
38
  const TagName = this.getTagName();
39
- return (h("li", { key: '118b8decf6fe97a27767bc70926ccc3b350bea31' }, h(TagName, { key: '1417fbd74d2bd8119789b1ddb5f395cf5ea5571d', href: this.href || '#', class: this.setClassnames(), type: this.getType(), onClick: e => this.select(e), tabindex: "-1" }, h("slot", { key: '51bdce9d5a7cdc1a7481ea13c49c11f073ae7660' }), h("pn-icon", { key: '63252ed87b9aaa6c2f26c4fe503e71b3d08169e9', icon: arrow_right, color: "white" })), h("hr", { key: 'c7b2d942886b0aaafa859f3d564ba920ea07ca79' })));
39
+ return (h("li", { key: 'f4bdc8d41ea761f0fcca047fe70678cb83a0d0ad' }, h(TagName, { key: 'facd7296d4d26b872548c21491a901719e3bb278', href: this.href || '#', class: this.setClassnames(), type: this.getType(), onClick: e => this.select(e), tabindex: "-1" }, h("slot", { key: 'c70b49d7079403d41fe68d799f621b58a0f377c4' }), h("pn-icon", { key: '3731f2a595d7234c78fe33458f1d2cdb3544aa20', icon: arrow_right, color: "white" })), h("hr", { key: 'f5da263701f5b73566353a58268cbe59c48db725' })));
40
40
  }
41
41
  static get is() { return "pn-page-nav-dropdown-item"; }
42
42
  static get originalStyleUrls() {
@@ -22,7 +22,7 @@ export class PnPageNavItem {
22
22
  this.itemselection.emit(this.value);
23
23
  }
24
24
  render() {
25
- return (h(Host, { key: 'a2dcede0a4f6789eda151fa2fcd5496588897361' }, h("li", { key: '029058cffbfbf1c04d57c7605b9e887cce0abbd1' }, h("a", { key: '38f2a5a9e15bc96a9efb91d85c9d67b21d27b40b', href: this.href || '#', class: "pn-page-nav-item", onClick: e => this.select(e) }, this.icon && h("pn-icon", { key: '110592957f990a4c9594820d748aa1c6458742a5', icon: this.icon, color: "white" }), h("slot", { key: '9b72c3dc62e9dfc9fe7cc0415d0ea0f67ea0d47f' })))));
25
+ return (h(Host, { key: '661feb5107ecf8dadaa62f137d8dd8ca54e83de7' }, h("li", { key: '39f97a818c74ab3740592d997fc0ea9cf7ae9129' }, h("a", { key: 'a5528e3389075f88328bc8f64d608830f9c882ba', href: this.href || '#', class: "pn-page-nav-item", onClick: e => this.select(e) }, this.icon && h("pn-icon", { key: 'bee33613667acc22c223ed8192a0751df8186129', icon: this.icon, color: "white" }), h("slot", { key: '15d6a38762c81898f15f93f99eac390b92dc6209' })))));
26
26
  }
27
27
  static get is() { return "pn-page-nav-item"; }
28
28
  static get originalStyleUrls() {
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { h, Host, forceUpdate, } from "@stencil/core";
6
6
  import { uuidv4 } from "../../../../globals/helpers";
7
- import { angle_down, arrow_left, arrow_right } from "pn-design-assets/pn-assets/icons.js";
7
+ import { chevron_down, arrow_left, arrow_right } from "pn-design-assets/pn-assets/icons.js";
8
8
  /**
9
9
  * @deprecated This component will be removed in v8. Please use the `pn-tablist` instead.
10
10
  * @see {@link https://portal.postnord.com/web-components/?path=/docs/components-navigation-tablist--docs} Use `pn-tablist` instead.
@@ -292,7 +292,7 @@ export class PnPageNav {
292
292
  }
293
293
  /* ---------------------------------------/DROPDOWN LOGIC--------------------------------------- */
294
294
  render() {
295
- return (h(Host, { key: '78363e8727ce2d9b1525572a8d909b65141c4932' }, h("div", { key: '1cdb635b439f40cf77df3a77432d542f3055e952', class: "pn-page-nav-wrapper" }, h("nav", { key: '13ae19bf916612a04990edade8d7325665a91060', class: "pn-page-nav" }, this.dropdownActive && (h("button", { key: '802fbae4d73a7b26a34ed4e41e5b5a6efd3ba101', type: "button", class: this.dropdownButtonClasses(), onClick: () => this.toggleDropdown(), "aria-controls": "page-nav-dropdown", "aria-expanded": `${this.dropdownOpen}` }, this.dropdown, h("pn-icon", { key: 'ac26e1ec6b9feeb52a898d7f80d2c4356423e93d', icon: angle_down, color: "white", small: true }), h("div", { key: 'c040e7c7ac1db10687b53ad6f59f6c3ded1d8e8a', class: "pn-page-nav-divider" }))), h("ul", { key: '4bf5dc223bd55b0fb81fedebfa09fbe5db42569d', class: "pn-page-nav-items" }, h("slot", { key: '3b77f7bd7a09700b860df10927b3889072e3bc34' }), h("li", { key: '71f85348e913043ca037efbe523f25a00bf8d211', class: "pn-pn-bg pn-pn-active", role: "presentation" }), h("li", { key: '462f8b0e8e1c788143d4ffaf5011b030ff100f5f', class: "pn-pn-bg pn-pn-hover", role: "presentation" }))), this.showScrollArrows && (h("div", { key: 'c69db4a2202a5b5f9da49f72466bfa2d68eec0c8', class: this.scrollArrowClasses() }, h("button", { key: 'eb809646459a703b8ea984ef6f9ec8b23ea34029', class: "pn-pn-arrow-left", onClick: () => this.scroll(-120), tabindex: "-1" }, h("pn-icon", { key: '4d797edf6525213134b3acc0e36876ade74952a8', icon: arrow_left, color: "white" })), h("button", { key: '612286fcac6b7608a1162aa5b8ad3d6ff401bf87', class: "pn-pn-arrow-right", onClick: () => this.scroll(120), tabindex: "-1" }, h("pn-icon", { key: '5a336276c0b4256fb976fc2bdc9037ec25cbc382', icon: arrow_right, color: "blue700" }))))), this.dropdownActive && (h("ul", { key: '518b79ad7c1a7ff8652a5fb909f8285f94405a4a', id: this.navid, class: this.dropdownClasses() }, h("slot", { key: '7d03ba12daffea62b0b0a7c0f1a1c1c006a125c4', name: "dropdown-item" })))));
295
+ return (h(Host, { key: '2d472afc87973db1b342badc82b707f5767834e9' }, h("div", { key: 'a76c352f5e14f65d8bec6fa42ed25b2b287d7280', class: "pn-page-nav-wrapper" }, h("nav", { key: '20ed1bb324c0fb4800c9f8f07d0d40100721e5e9', class: "pn-page-nav" }, this.dropdownActive && (h("button", { key: '7dbbafa6c70b16cbad1fe832df007aa65c077ec7', type: "button", class: this.dropdownButtonClasses(), onClick: () => this.toggleDropdown(), "aria-controls": "page-nav-dropdown", "aria-expanded": `${this.dropdownOpen}` }, this.dropdown, h("pn-icon", { key: 'b2785a4afaa0f2f9ce19c890c6aebb0d2b7e0042', icon: chevron_down, color: "white", small: true }), h("div", { key: '876b33ce6d6a3bd0b83d5f8d97d63d24c0530074', class: "pn-page-nav-divider" }))), h("ul", { key: 'b4a29a198ac5e38baef3ed74b12e3aca14c8cc9b', class: "pn-page-nav-items" }, h("slot", { key: '947c3412a48a441a0677a7815d7973ca448515c3' }), h("li", { key: '90141ec24493bcda61698d15b448f9910d70e2ed', class: "pn-pn-bg pn-pn-active", role: "presentation" }), h("li", { key: '02f007fe38b1512749971b0b4c006a3589517788', class: "pn-pn-bg pn-pn-hover", role: "presentation" }))), this.showScrollArrows && (h("div", { key: 'ca4ea70291ecf8d9b7d3dc59b27c72176cc96938', class: this.scrollArrowClasses() }, h("button", { key: 'f6ff58345a9e44be31fbf8c22492710fb76e24a3', class: "pn-pn-arrow-left", onClick: () => this.scroll(-120), tabindex: "-1" }, h("pn-icon", { key: 'c1b090b80ab3b3aa387bc7d550ee8ffdb7c769ad', icon: arrow_left, color: "white" })), h("button", { key: '2be256cd45c2355563a9ad239f3709619790f1ad', class: "pn-pn-arrow-right", onClick: () => this.scroll(120), tabindex: "-1" }, h("pn-icon", { key: 'afb76fc849b335ef1c216273301dd4d95a0b4cee', icon: arrow_right, color: "blue700" }))))), this.dropdownActive && (h("ul", { key: '941559a72118dd220f684ece2151ace9c4c3e292', id: this.navid, class: this.dropdownClasses() }, h("slot", { key: '9e546d81c3f8f98ac3978646a865f406e673d0e3', name: "dropdown-item" })))));
296
296
  }
297
297
  static get is() { return "pn-page-nav"; }
298
298
  static get originalStyleUrls() {