@postnord/pn-marketweb-components 2.4.16 → 2.4.17

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 (293) hide show
  1. package/cjs/index-4199ff85.js +4 -0
  2. package/cjs/loader.cjs.js +1 -1
  3. package/cjs/pn-date-and-time.cjs.entry.js +150 -0
  4. package/cjs/pn-market-web-components.cjs.js +1 -1
  5. package/collection/collection-manifest.json +1 -0
  6. package/collection/components/input/pn-date-and-time/pn-date-and-time.css +22 -0
  7. package/collection/components/input/pn-date-and-time/pn-date-and-time.js +349 -0
  8. package/collection/components/input/pn-date-and-time/pn-date-and-time.stories.js +39 -0
  9. package/components/index.d.ts +1 -0
  10. package/components/index.js +1 -0
  11. package/components/pn-date-and-time.d.ts +11 -0
  12. package/components/pn-date-and-time.js +186 -0
  13. package/esm/{index-7f77b0ba.js → index-b71e0f8e.js} +1 -1
  14. package/esm/{index-c118284d.js → index-ee44c065.js} +5 -1
  15. package/esm/loader.js +3 -3
  16. package/esm/pn-animated-tile.entry.js +1 -1
  17. package/esm/pn-bonus-progressbar-level.entry.js +1 -1
  18. package/esm/pn-bonus-progressbar.entry.js +1 -1
  19. package/esm/pn-breakpoints.entry.js +1 -1
  20. package/esm/pn-chart.entry.js +1 -1
  21. package/esm/pn-charts-card.entry.js +1 -1
  22. package/esm/pn-choice-button.entry.js +1 -1
  23. package/esm/pn-customernumber-selector-option.entry.js +1 -1
  24. package/esm/pn-customernumber-selector.entry.js +1 -1
  25. package/esm/pn-date-and-time.entry.js +146 -0
  26. package/esm/pn-filter-checkbox.entry.js +1 -1
  27. package/esm/pn-find-price-result.entry.js +3 -3
  28. package/esm/{pn-find-price-store-e13b6651.js → pn-find-price-store-5810a2b9.js} +1 -1
  29. package/esm/pn-find-price.entry.js +3 -3
  30. package/esm/pn-find-service-and-price-result.entry.js +3 -3
  31. package/esm/{pn-find-service-and-price-store-f09ca219.js → pn-find-service-and-price-store-0b1b3ab7.js} +1 -1
  32. package/esm/pn-find-service-and-price.entry.js +3 -3
  33. package/esm/pn-language-selector_9.entry.js +4 -4
  34. package/esm/pn-line-shape.entry.js +1 -1
  35. package/esm/pn-mainnav-link.entry.js +3 -3
  36. package/esm/{pn-mainnav-store-5d91f523.js → pn-mainnav-store-8c221c2f.js} +1 -1
  37. package/esm/pn-market-web-components.js +3 -3
  38. package/esm/pn-marketweb-input.entry.js +1 -1
  39. package/esm/pn-marketweb-search.entry.js +1 -1
  40. package/esm/pn-marketweb-sitefooter.entry.js +1 -1
  41. package/esm/pn-marketweb-siteheader-login-button_5.entry.js +3 -3
  42. package/esm/pn-marketweb-siteheader-login-linklist.entry.js +3 -3
  43. package/esm/{pn-marketweb-siteheader-store-9df5290d.js → pn-marketweb-siteheader-store-cea5016e.js} +1 -1
  44. package/esm/pn-marketweb-siteheader.entry.js +3 -3
  45. package/esm/pn-multi-formfield.entry.js +1 -1
  46. package/esm/pn-parcel-tracker.entry.js +1 -1
  47. package/esm/pn-pex-pricefinder.entry.js +1 -1
  48. package/esm/pn-play-on-scroll.entry.js +1 -1
  49. package/esm/pn-product-card_3.entry.js +1 -1
  50. package/esm/pn-product-pricelist-result.entry.js +2 -2
  51. package/esm/pn-product-pricelist.entry.js +3 -3
  52. package/esm/pn-product-tile-info_2.entry.js +1 -1
  53. package/esm/pn-product-tile.entry.js +1 -1
  54. package/esm/pn-profile-modal-customernumber.entry.js +1 -1
  55. package/esm/pn-profile-modal-profile.entry.js +3 -3
  56. package/esm/{pn-profile-modal-store-81f53310.js → pn-profile-modal-store-e08316b5.js} +1 -1
  57. package/esm/pn-profile-modal-type.entry.js +3 -3
  58. package/esm/pn-profile-modal.entry.js +3 -3
  59. package/esm/pn-profile-selector-option.entry.js +1 -1
  60. package/esm/pn-profile-selector.entry.js +1 -1
  61. package/esm/pn-proxio-findprice-result.entry.js +1 -1
  62. package/esm/pn-proxio-findprice.entry.js +2 -2
  63. package/esm/pn-proxio-pricegroup.entry.js +1 -1
  64. package/esm/pn-proxio-productcard_4.entry.js +1 -1
  65. package/esm/pn-quick-cta.entry.js +1 -1
  66. package/esm/pn-quote-card.entry.js +1 -1
  67. package/esm/pn-scroll_2.entry.js +1 -1
  68. package/esm/pn-share-item.entry.js +1 -1
  69. package/esm/pn-share.entry.js +1 -1
  70. package/esm/pn-sidenav-level.entry.js +3 -3
  71. package/esm/pn-sidenav-link.entry.js +3 -3
  72. package/esm/{pn-sidenav-store-94be19c8.js → pn-sidenav-store-9530b0da.js} +1 -1
  73. package/esm/pn-sidenav-togglebutton.entry.js +3 -3
  74. package/esm/pn-sidenav.entry.js +3 -3
  75. package/esm/pn-site-footer_3.entry.js +1 -1
  76. package/esm/pn-spotlight.entry.js +1 -1
  77. package/esm/pn-stats-info-data.entry.js +1 -1
  78. package/esm/pn-stats-info.entry.js +1 -1
  79. package/esm/pn-teaser-card.entry.js +1 -1
  80. package/esm/pn-titletag.entry.js +1 -1
  81. package/esm-es5/{index-7f77b0ba.js → index-b71e0f8e.js} +1 -1
  82. package/esm-es5/{index-c118284d.js → index-ee44c065.js} +1 -1
  83. package/esm-es5/loader.js +1 -1
  84. package/esm-es5/pn-animated-tile.entry.js +1 -1
  85. package/esm-es5/pn-bonus-progressbar-level.entry.js +1 -1
  86. package/esm-es5/pn-bonus-progressbar.entry.js +1 -1
  87. package/esm-es5/pn-breakpoints.entry.js +1 -1
  88. package/esm-es5/pn-chart.entry.js +1 -1
  89. package/esm-es5/pn-charts-card.entry.js +1 -1
  90. package/esm-es5/pn-choice-button.entry.js +1 -1
  91. package/esm-es5/pn-customernumber-selector-option.entry.js +1 -1
  92. package/esm-es5/pn-customernumber-selector.entry.js +1 -1
  93. package/esm-es5/pn-date-and-time.entry.js +1 -0
  94. package/esm-es5/pn-filter-checkbox.entry.js +1 -1
  95. package/esm-es5/pn-find-price-result.entry.js +1 -1
  96. package/esm-es5/{pn-find-price-store-e13b6651.js → pn-find-price-store-5810a2b9.js} +1 -1
  97. package/esm-es5/pn-find-price.entry.js +1 -1
  98. package/esm-es5/pn-find-service-and-price-result.entry.js +1 -1
  99. package/esm-es5/{pn-find-service-and-price-store-f09ca219.js → pn-find-service-and-price-store-0b1b3ab7.js} +1 -1
  100. package/esm-es5/pn-find-service-and-price.entry.js +1 -1
  101. package/esm-es5/pn-language-selector_9.entry.js +1 -1
  102. package/esm-es5/pn-line-shape.entry.js +1 -1
  103. package/esm-es5/pn-mainnav-link.entry.js +1 -1
  104. package/esm-es5/{pn-mainnav-store-5d91f523.js → pn-mainnav-store-8c221c2f.js} +1 -1
  105. package/esm-es5/pn-market-web-components.js +1 -1
  106. package/esm-es5/pn-marketweb-input.entry.js +1 -1
  107. package/esm-es5/pn-marketweb-search.entry.js +1 -1
  108. package/esm-es5/pn-marketweb-sitefooter.entry.js +1 -1
  109. package/esm-es5/pn-marketweb-siteheader-login-button_5.entry.js +1 -1
  110. package/esm-es5/pn-marketweb-siteheader-login-linklist.entry.js +1 -1
  111. package/esm-es5/pn-marketweb-siteheader-store-cea5016e.js +1 -0
  112. package/esm-es5/pn-marketweb-siteheader.entry.js +1 -1
  113. package/esm-es5/pn-multi-formfield.entry.js +1 -1
  114. package/esm-es5/pn-parcel-tracker.entry.js +1 -1
  115. package/esm-es5/pn-pex-pricefinder.entry.js +1 -1
  116. package/esm-es5/pn-play-on-scroll.entry.js +1 -1
  117. package/esm-es5/pn-product-card_3.entry.js +1 -1
  118. package/esm-es5/pn-product-pricelist-result.entry.js +1 -1
  119. package/esm-es5/pn-product-pricelist.entry.js +1 -1
  120. package/esm-es5/pn-product-tile-info_2.entry.js +1 -1
  121. package/esm-es5/pn-product-tile.entry.js +1 -1
  122. package/esm-es5/pn-profile-modal-customernumber.entry.js +1 -1
  123. package/esm-es5/pn-profile-modal-profile.entry.js +1 -1
  124. package/esm-es5/{pn-profile-modal-store-81f53310.js → pn-profile-modal-store-e08316b5.js} +1 -1
  125. package/esm-es5/pn-profile-modal-type.entry.js +1 -1
  126. package/esm-es5/pn-profile-modal.entry.js +1 -1
  127. package/esm-es5/pn-profile-selector-option.entry.js +1 -1
  128. package/esm-es5/pn-profile-selector.entry.js +1 -1
  129. package/esm-es5/pn-proxio-findprice-result.entry.js +1 -1
  130. package/esm-es5/pn-proxio-findprice.entry.js +1 -1
  131. package/esm-es5/pn-proxio-pricegroup.entry.js +1 -1
  132. package/esm-es5/pn-proxio-productcard_4.entry.js +1 -1
  133. package/esm-es5/pn-quick-cta.entry.js +1 -1
  134. package/esm-es5/pn-quote-card.entry.js +1 -1
  135. package/esm-es5/pn-scroll_2.entry.js +1 -1
  136. package/esm-es5/pn-share-item.entry.js +1 -1
  137. package/esm-es5/pn-share.entry.js +1 -1
  138. package/esm-es5/pn-sidenav-level.entry.js +1 -1
  139. package/esm-es5/pn-sidenav-link.entry.js +1 -1
  140. package/esm-es5/{pn-sidenav-store-94be19c8.js → pn-sidenav-store-9530b0da.js} +1 -1
  141. package/esm-es5/pn-sidenav-togglebutton.entry.js +1 -1
  142. package/esm-es5/pn-sidenav.entry.js +1 -1
  143. package/esm-es5/pn-site-footer_3.entry.js +1 -1
  144. package/esm-es5/pn-spotlight.entry.js +1 -1
  145. package/esm-es5/pn-stats-info-data.entry.js +1 -1
  146. package/esm-es5/pn-stats-info.entry.js +1 -1
  147. package/esm-es5/pn-teaser-card.entry.js +1 -1
  148. package/esm-es5/pn-titletag.entry.js +1 -1
  149. package/package.json +1 -1
  150. package/pn-market-web-components/{p-dbd7837e.entry.js → p-00287dc7.entry.js} +1 -1
  151. package/pn-market-web-components/{p-c1d9a064.entry.js → p-01a37a82.entry.js} +1 -1
  152. package/pn-market-web-components/{p-f7cb2ef9.system.entry.js → p-0739fdcf.system.entry.js} +1 -1
  153. package/pn-market-web-components/{p-8cefd900.system.entry.js → p-0ae0b140.system.entry.js} +1 -1
  154. package/pn-market-web-components/{p-3afc3173.entry.js → p-0be5cbf5.entry.js} +1 -1
  155. package/pn-market-web-components/{p-ffe18938.system.entry.js → p-0c1a0814.system.entry.js} +1 -1
  156. package/pn-market-web-components/{p-ad836c55.system.js → p-0d0e9547.system.js} +1 -1
  157. package/pn-market-web-components/{p-6eabccbc.system.entry.js → p-1135350f.system.entry.js} +1 -1
  158. package/pn-market-web-components/{p-54544560.system.entry.js → p-14d13eaa.system.entry.js} +1 -1
  159. package/pn-market-web-components/{p-545a40a7.system.entry.js → p-153b4454.system.entry.js} +1 -1
  160. package/pn-market-web-components/{p-9a1c267d.entry.js → p-169ccf69.entry.js} +1 -1
  161. package/pn-market-web-components/{p-b0102ff6.entry.js → p-16fedd71.entry.js} +1 -1
  162. package/pn-market-web-components/{p-87d904e0.entry.js → p-1a8d7eb8.entry.js} +1 -1
  163. package/pn-market-web-components/{p-44c05fba.entry.js → p-1afc6f8f.entry.js} +1 -1
  164. package/pn-market-web-components/{p-589a9a4c.system.entry.js → p-1b4a75b3.system.entry.js} +1 -1
  165. package/pn-market-web-components/{p-beefd9f7.entry.js → p-1bd7e641.entry.js} +1 -1
  166. package/pn-market-web-components/{p-ac62dc33.entry.js → p-1bf35bf0.entry.js} +1 -1
  167. package/pn-market-web-components/{p-b890f3f9.system.entry.js → p-1dc6c4ac.system.entry.js} +1 -1
  168. package/pn-market-web-components/p-2156e251.entry.js +1 -0
  169. package/pn-market-web-components/{p-c5643358.system.entry.js → p-21bf0e64.system.entry.js} +1 -1
  170. package/pn-market-web-components/{p-e8dad7fe.entry.js → p-220140a0.entry.js} +1 -1
  171. package/pn-market-web-components/{p-b35ab163.entry.js → p-267fc52b.entry.js} +1 -1
  172. package/pn-market-web-components/{p-d5ae9797.entry.js → p-2744b30a.entry.js} +1 -1
  173. package/pn-market-web-components/{p-ef721555.system.entry.js → p-28912c0c.system.entry.js} +1 -1
  174. package/pn-market-web-components/{p-6b46c15c.entry.js → p-2cc52ba6.entry.js} +1 -1
  175. package/pn-market-web-components/{p-4ef54288.entry.js → p-2ee328d2.entry.js} +1 -1
  176. package/pn-market-web-components/{p-8d041ecf.system.entry.js → p-37abc8d3.system.entry.js} +1 -1
  177. package/pn-market-web-components/{p-396b254a.system.js → p-38183dee.system.js} +1 -1
  178. package/pn-market-web-components/{p-78543a18.system.entry.js → p-38c861d5.system.entry.js} +1 -1
  179. package/pn-market-web-components/{p-49f60496.entry.js → p-3aef506c.entry.js} +1 -1
  180. package/pn-market-web-components/{p-3a0d8f2e.entry.js → p-3ba2a479.entry.js} +1 -1
  181. package/pn-market-web-components/{p-29d0ec91.system.entry.js → p-3bc31e82.system.entry.js} +1 -1
  182. package/pn-market-web-components/{p-c5031e21.system.entry.js → p-3c38a67e.system.entry.js} +1 -1
  183. package/pn-market-web-components/{p-02632961.system.entry.js → p-3e5d59f2.system.entry.js} +1 -1
  184. package/pn-market-web-components/{p-47d717a3.entry.js → p-3f2bc920.entry.js} +1 -1
  185. package/pn-market-web-components/{p-5d67f772.system.entry.js → p-3fab06aa.system.entry.js} +1 -1
  186. package/pn-market-web-components/{p-8f32fa2b.system.entry.js → p-41f5086b.system.entry.js} +1 -1
  187. package/pn-market-web-components/{p-3a450371.system.js → p-420c307b.system.js} +1 -1
  188. package/pn-market-web-components/{p-15e680a8.entry.js → p-436857a8.entry.js} +1 -1
  189. package/pn-market-web-components/{p-2145d5e0.system.entry.js → p-4529f4b7.system.entry.js} +1 -1
  190. package/pn-market-web-components/{p-2bd40797.system.entry.js → p-46a4dbdd.system.entry.js} +1 -1
  191. package/pn-market-web-components/{p-8079dfd5.system.entry.js → p-47576a14.system.entry.js} +1 -1
  192. package/pn-market-web-components/{p-5a506356.system.entry.js → p-4b71d79d.system.entry.js} +1 -1
  193. package/pn-market-web-components/{p-e4961116.system.entry.js → p-4bd36d2c.system.entry.js} +1 -1
  194. package/pn-market-web-components/{p-1646c170.system.entry.js → p-4d2d81b8.system.entry.js} +1 -1
  195. package/pn-market-web-components/{p-6b5ff47f.entry.js → p-4f1df02c.entry.js} +1 -1
  196. package/pn-market-web-components/{p-7d992089.entry.js → p-4f2bdae2.entry.js} +1 -1
  197. package/pn-market-web-components/{p-6525a912.entry.js → p-4fbea675.entry.js} +1 -1
  198. package/pn-market-web-components/{p-156fedd7.entry.js → p-5032302f.entry.js} +1 -1
  199. package/pn-market-web-components/{p-874db3bd.entry.js → p-5427a6ba.entry.js} +1 -1
  200. package/pn-market-web-components/{p-5e768b73.entry.js → p-56ac01d0.entry.js} +1 -1
  201. package/pn-market-web-components/{p-73ee3141.entry.js → p-57957809.entry.js} +1 -1
  202. package/pn-market-web-components/{p-7c1b31e8.js → p-57d37022.js} +1 -1
  203. package/pn-market-web-components/{p-c668f453.entry.js → p-59d44719.entry.js} +1 -1
  204. package/pn-market-web-components/{p-833bab34.entry.js → p-5afd892a.entry.js} +1 -1
  205. package/pn-market-web-components/{p-1d50340b.system.entry.js → p-612adfb3.system.entry.js} +1 -1
  206. package/pn-market-web-components/{p-658f6ff7.system.entry.js → p-62bceebe.system.entry.js} +1 -1
  207. package/pn-market-web-components/{p-853e6559.system.entry.js → p-62de103d.system.entry.js} +1 -1
  208. package/pn-market-web-components/{p-386d72ea.entry.js → p-6e11edfe.entry.js} +1 -1
  209. package/pn-market-web-components/p-6f2e839c.js +1 -0
  210. package/pn-market-web-components/{p-6d050c3a.system.entry.js → p-6fe471aa.system.entry.js} +1 -1
  211. package/pn-market-web-components/{p-fca11f16.system.entry.js → p-70cc4002.system.entry.js} +1 -1
  212. package/pn-market-web-components/{p-14af3f96.system.entry.js → p-70ef1b2d.system.entry.js} +1 -1
  213. package/pn-market-web-components/{p-939b5792.system.entry.js → p-7364721d.system.entry.js} +1 -1
  214. package/pn-market-web-components/{p-1fb4eae4.system.entry.js → p-738c179b.system.entry.js} +1 -1
  215. package/pn-market-web-components/{p-9010c32a.system.entry.js → p-759a2b20.system.entry.js} +1 -1
  216. package/pn-market-web-components/{p-abfed655.system.entry.js → p-7877ce39.system.entry.js} +1 -1
  217. package/pn-market-web-components/{p-68324e6f.system.entry.js → p-793bb22f.system.entry.js} +1 -1
  218. package/pn-market-web-components/{p-ed81a6d6.system.entry.js → p-794af3d3.system.entry.js} +1 -1
  219. package/pn-market-web-components/{p-e2abebd7.entry.js → p-7a33e360.entry.js} +1 -1
  220. package/pn-market-web-components/{p-34c0b146.entry.js → p-7bf30d19.entry.js} +1 -1
  221. package/pn-market-web-components/{p-494aa2d2.entry.js → p-7c1e5042.entry.js} +1 -1
  222. package/pn-market-web-components/{p-c761dd91.system.entry.js → p-7e99f631.system.entry.js} +1 -1
  223. package/pn-market-web-components/{p-a5faec68.system.js → p-7ffa5533.system.js} +1 -1
  224. package/pn-market-web-components/{p-aaa94bee.system.entry.js → p-81608e33.system.entry.js} +1 -1
  225. package/pn-market-web-components/{p-8ca063a9.system.entry.js → p-81902554.system.entry.js} +1 -1
  226. package/pn-market-web-components/{p-34f2fb92.entry.js → p-83f39020.entry.js} +1 -1
  227. package/pn-market-web-components/{p-d6ee168b.system.entry.js → p-85ce2d47.system.entry.js} +1 -1
  228. package/pn-market-web-components/p-8ac445d6.entry.js +1 -0
  229. package/pn-market-web-components/{p-e7f43cc2.entry.js → p-8aec3e9e.entry.js} +1 -1
  230. package/pn-market-web-components/{p-71895c6f.entry.js → p-8cc12089.entry.js} +1 -1
  231. package/pn-market-web-components/{p-463e2743.system.entry.js → p-8e9abd24.system.entry.js} +1 -1
  232. package/pn-market-web-components/{p-507f8886.entry.js → p-8e9e0c04.entry.js} +1 -1
  233. package/pn-market-web-components/{p-2e507907.system.entry.js → p-9482937b.system.entry.js} +1 -1
  234. package/pn-market-web-components/{p-0159804c.system.entry.js → p-96729f36.system.entry.js} +1 -1
  235. package/pn-market-web-components/{p-0fbcacf3.system.entry.js → p-969d310d.system.entry.js} +1 -1
  236. package/pn-market-web-components/{p-82db879c.entry.js → p-9d517155.entry.js} +1 -1
  237. package/pn-market-web-components/{p-d702aede.entry.js → p-9e47435e.entry.js} +1 -1
  238. package/pn-market-web-components/{p-37d26cef.entry.js → p-a400365f.entry.js} +1 -1
  239. package/pn-market-web-components/{p-e4fbd06c.entry.js → p-a4fcfc3c.entry.js} +1 -1
  240. package/pn-market-web-components/{p-a1a58fe4.js → p-a7d52aee.js} +1 -1
  241. package/pn-market-web-components/{p-4d561de4.system.entry.js → p-a8aff7ab.system.entry.js} +1 -1
  242. package/pn-market-web-components/{p-9f0f1dd8.system.entry.js → p-ad7a00b6.system.entry.js} +1 -1
  243. package/pn-market-web-components/{p-0f1115aa.entry.js → p-af1be0d9.entry.js} +1 -1
  244. package/pn-market-web-components/{p-8ebe7b15.system.entry.js → p-b28cf3a3.system.entry.js} +1 -1
  245. package/pn-market-web-components/{p-9ed7a18f.entry.js → p-b3831534.entry.js} +1 -1
  246. package/pn-market-web-components/{p-d34c9be2.system.js → p-ba06f541.system.js} +1 -1
  247. package/pn-market-web-components/{p-c576ac3e.system.entry.js → p-bbcd8889.system.entry.js} +1 -1
  248. package/pn-market-web-components/{p-fe0d832d.system.entry.js → p-bed03b9c.system.entry.js} +1 -1
  249. package/pn-market-web-components/{p-dc598ef8.entry.js → p-c02fc405.entry.js} +1 -1
  250. package/pn-market-web-components/{p-864fe276.entry.js → p-c2415b38.entry.js} +1 -1
  251. package/pn-market-web-components/{p-773b59c0.entry.js → p-c86c624a.entry.js} +1 -1
  252. package/pn-market-web-components/{p-7dff99ed.entry.js → p-c954c090.entry.js} +1 -1
  253. package/pn-market-web-components/{p-8fee0115.system.entry.js → p-ca04e415.system.entry.js} +1 -1
  254. package/pn-market-web-components/{p-2a5cd298.entry.js → p-cde2fce7.entry.js} +1 -1
  255. package/pn-market-web-components/{p-c1565c47.entry.js → p-ce1805f0.entry.js} +1 -1
  256. package/pn-market-web-components/{p-e0e45eb0.system.entry.js → p-d1150166.system.entry.js} +1 -1
  257. package/pn-market-web-components/{p-bdd1ec55.entry.js → p-d2ba5b69.entry.js} +1 -1
  258. package/pn-market-web-components/{p-e737c51d.system.entry.js → p-d2ebaf52.system.entry.js} +1 -1
  259. package/pn-market-web-components/{p-17fb8d9e.entry.js → p-d3511e86.entry.js} +1 -1
  260. package/pn-market-web-components/p-d8e0d7e7.js +1 -0
  261. package/pn-market-web-components/{p-1545fb34.entry.js → p-e00b1afa.entry.js} +1 -1
  262. package/pn-market-web-components/{p-752616b7.system.entry.js → p-e247fdf4.system.entry.js} +1 -1
  263. package/pn-market-web-components/{p-1590ae58.system.entry.js → p-e2613cc5.system.entry.js} +1 -1
  264. package/pn-market-web-components/p-e3a65e18.js +1 -0
  265. package/pn-market-web-components/{p-9f95b3c9.system.entry.js → p-e47abff1.system.entry.js} +1 -1
  266. package/pn-market-web-components/{p-441249d9.system.js → p-e5d994ff.system.js} +1 -1
  267. package/pn-market-web-components/{p-48c74c53.entry.js → p-e6e7e18a.entry.js} +1 -1
  268. package/pn-market-web-components/{p-548b62a8.system.entry.js → p-e8b144ff.system.entry.js} +1 -1
  269. package/pn-market-web-components/{p-4b2e76e9.entry.js → p-eab25822.entry.js} +1 -1
  270. package/pn-market-web-components/{p-38f135fd.entry.js → p-f0078106.entry.js} +1 -1
  271. package/pn-market-web-components/{p-13d2d138.system.js → p-f074da8f.system.js} +1 -1
  272. package/pn-market-web-components/{p-c5727e83.js → p-f1962610.js} +1 -1
  273. package/pn-market-web-components/{p-f453732e.entry.js → p-f45f034b.entry.js} +1 -1
  274. package/pn-market-web-components/{p-6f1d6a1a.system.js → p-f4adb442.system.js} +1 -1
  275. package/pn-market-web-components/p-f5eddbe2.js +1 -0
  276. package/pn-market-web-components/{p-a8671fc6.system.entry.js → p-f7165a26.system.entry.js} +1 -1
  277. package/pn-market-web-components/{p-3d8925bd.entry.js → p-f7867310.entry.js} +1 -1
  278. package/pn-market-web-components/{p-1a9b2a0e.system.entry.js → p-f9b8baf0.system.entry.js} +1 -1
  279. package/pn-market-web-components/p-fbae553c.system.entry.js +1 -0
  280. package/pn-market-web-components/p-fcdb7381.system.js +1 -0
  281. package/pn-market-web-components/{p-8666d14d.js → p-fdb1905d.js} +1 -1
  282. package/pn-market-web-components/{p-d70e685c.entry.js → p-fec3dc66.entry.js} +1 -1
  283. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  284. package/pn-market-web-components/pn-market-web-components.js +1 -1
  285. package/types/components/input/pn-date-and-time/pn-date-and-time.d.ts +45 -0
  286. package/types/components.d.ts +36 -0
  287. package/esm-es5/pn-marketweb-siteheader-store-9df5290d.js +0 -1
  288. package/pn-market-web-components/p-44f58f15.js +0 -1
  289. package/pn-market-web-components/p-5a6761da.js +0 -1
  290. package/pn-market-web-components/p-a799fee1.entry.js +0 -1
  291. package/pn-market-web-components/p-c0db1ffd.js +0 -1
  292. package/pn-market-web-components/p-d295ef71.system.js +0 -1
  293. package/pn-market-web-components/p-ecaad0c1.js +0 -1
@@ -0,0 +1,349 @@
1
+ import { h, Host } from '@stencil/core';
2
+ export class PnDateAndTime {
3
+ constructor() {
4
+ this.pnDatePicker = null;
5
+ this.pnTimeFromHourDropdown = null;
6
+ this.pnTimeFromMinuteDropdown = null;
7
+ this.pnTimeToHourDropdown = null;
8
+ this.pnTimeToMinuteDropdown = null;
9
+ this.languageCode = null;
10
+ this.dateAndTimeLabel = '';
11
+ this.dateDaysFromToday = 0;
12
+ this.validTimeRangeMinutes = 0;
13
+ this.errorMessage = '';
14
+ this.dateHelperText = '';
15
+ this.timeHelperText = '';
16
+ this.disableWeekends = false;
17
+ this.datePlacehodler = '';
18
+ this.language = null;
19
+ this.hourArr = null;
20
+ this.minuteArr = null;
21
+ this.formValue = null;
22
+ this.invalidTimespan = false;
23
+ this.selectedDate = null;
24
+ this.selectedFromHour = null;
25
+ this.selectedFromMin = null;
26
+ this.selectedToHour = null;
27
+ this.selectedToMin = null;
28
+ this.firstValidDateString = '';
29
+ this.lastValidDateString = '';
30
+ }
31
+ componentWillLoad() {
32
+ this.setInitialValues();
33
+ }
34
+ componentDidLoad() {
35
+ this.setDefaultHiddenValue();
36
+ this.addEventHandlers();
37
+ }
38
+ async setInitialValues() {
39
+ this.setLangugaeCode();
40
+ this.setFirstValidDate();
41
+ this.hourArr = this.getNumbersAsStringArr(6, 22, 1);
42
+ this.minuteArr = this.getNumbersAsStringArr(0, 50, 10);
43
+ }
44
+ setFirstValidDate() {
45
+ var _a;
46
+ const date = new Date();
47
+ date.setDate((_a = date.getDate() + this.dateDaysFromToday) !== null && _a !== void 0 ? _a : 0);
48
+ const year = date.getFullYear();
49
+ const month = (date.getMonth() + 1).toString().padStart(2, '0');
50
+ const day = date.getDate().toString().padStart(2, '0');
51
+ const endYear = year + 2;
52
+ this.firstValidDateString = `${year.toString()}-${month}-${day}`;
53
+ this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;
54
+ }
55
+ setLangugaeCode() {
56
+ if (typeof this.languageCode === 'string' && this.languageCode.trim() === '') {
57
+ this.language = document.querySelector('html').lang;
58
+ }
59
+ else {
60
+ this.language = this.languageCode;
61
+ }
62
+ }
63
+ setDefaultHiddenValue() {
64
+ this.selectedFromHour = parseInt(this.hourArr[8]);
65
+ this.selectedFromMin = 0;
66
+ this.selectedToHour = parseInt(this.hourArr[12]);
67
+ this.selectedToMin = 0;
68
+ this.updateHiddenValue();
69
+ }
70
+ addEventHandlers() {
71
+ this.pnDatePicker.addEventListener('dateselection', this.handleChange.bind(this));
72
+ this.pnTimeFromHourDropdown.addEventListener('selectchange', this.handleChange.bind(this));
73
+ this.pnTimeFromMinuteDropdown.addEventListener('selectchange', this.handleChange.bind(this));
74
+ this.pnTimeToHourDropdown.addEventListener('selectchange', this.handleChange.bind(this));
75
+ this.pnTimeToMinuteDropdown.addEventListener('selectchange', this.handleChange.bind(this));
76
+ }
77
+ handleChange(e) {
78
+ const target = e.target;
79
+ if (target === this.pnDatePicker) {
80
+ this.selectedDate = e.detail;
81
+ }
82
+ if (target === this.pnTimeFromHourDropdown || target === this.pnTimeFromMinuteDropdown || target === this.pnTimeToHourDropdown || target === this.pnTimeToMinuteDropdown) {
83
+ this.handleTimeChange();
84
+ }
85
+ this.updateHiddenValue();
86
+ }
87
+ handleTimeChange() {
88
+ var _a, _b, _c, _d;
89
+ const fromHourString = (_a = this.pnTimeFromHourDropdown.querySelector('.current-selection .pn-option-content')) === null || _a === void 0 ? void 0 : _a.textContent;
90
+ const fromMinString = (_b = this.pnTimeFromMinuteDropdown.querySelector('.current-selection .pn-option-content')) === null || _b === void 0 ? void 0 : _b.textContent;
91
+ const toHourString = (_c = this.pnTimeToHourDropdown.querySelector('.current-selection .pn-option-content')) === null || _c === void 0 ? void 0 : _c.textContent;
92
+ const toMinString = (_d = this.pnTimeToMinuteDropdown.querySelector('.current-selection .pn-option-content')) === null || _d === void 0 ? void 0 : _d.textContent;
93
+ this.selectedFromHour = parseInt(fromHourString);
94
+ this.selectedFromMin = parseInt(fromMinString);
95
+ this.selectedToHour = parseInt(toHourString);
96
+ this.selectedToMin = parseInt(toMinString);
97
+ }
98
+ updateHiddenValue() {
99
+ const date = new Date();
100
+ const dateFrom = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedFromHour, this.selectedFromMin, 0, 0);
101
+ const dateTo = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedToHour, this.selectedToMin, 0, 0);
102
+ this.validateTimeRange(dateFrom.getTime(), dateTo.getTime());
103
+ if (this.invalidTimespan || !this.selectedDate) {
104
+ this.formValue = '';
105
+ }
106
+ else {
107
+ const fromMin = this.selectedFromMin.toString().padStart(2, '0');
108
+ const toMin = this.selectedToMin.toString().padStart(2, '0');
109
+ this.formValue = `${this.selectedDate}, ${this.selectedFromHour}:${fromMin}-${this.selectedToHour}:${toMin}`;
110
+ }
111
+ this.dateandtimerange.emit(this.formValue);
112
+ }
113
+ validateTimeRange(from, to) {
114
+ let differenceValue = (to - from) / 1000;
115
+ differenceValue /= 60;
116
+ this.invalidTimespan = differenceValue < this.validTimeRangeMinutes ? true : false;
117
+ }
118
+ getNumbersAsStringArr(start, stop, step) {
119
+ const arr = Array.from({ length: (stop - start) / step + 1 }, (_, index) => start + index * step);
120
+ const result = [];
121
+ arr.forEach(item => {
122
+ const itemAsString = item.toString().padStart(2, '0');
123
+ result.push(itemAsString);
124
+ });
125
+ return result;
126
+ }
127
+ removePnOptionSelected() {
128
+ const selectOptions = this.hostElement.querySelectorAll('pn-option');
129
+ selectOptions.forEach(elm => {
130
+ elm.removeAttribute('selected');
131
+ });
132
+ }
133
+ render() {
134
+ var _a, _b, _c, _d;
135
+ return (h(Host, null, h("div", { class: "date-and-time-group" }, this.dateAndTimeLabel ? (h("div", { class: "date-and-time-row" }, h("label", null, this.dateAndTimeLabel))) : null, h("div", { class: "date-and-time-row" }, h("pn-date-picker", { ref: el => (this.pnDatePicker = el), range: "false", "disable-weekends": this.disableWeekends, "min-date": this.firstValidDateString, "max-date": this.lastValidDateString, language: this.language, placeholder: this.datePlacehodler })), this.dateHelperText ? h("small", { class: "date-and-time-row helper-text" }, this.dateHelperText) : null), h("div", { class: "date-and-time-group" }, h("div", { class: "date-and-time-row" }, h("pn-select", { ref: el => (this.pnTimeFromHourDropdown = el), name: "date-and-time-from-houre", placeholder: this.hourArr[8], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, (_a = this.hourArr) === null || _a === void 0 ? void 0 : _a.map((hour) => (h("pn-option", null, hour)))), h("pn-select", { ref: el => (this.pnTimeFromMinuteDropdown = el), name: "date-and-time-from-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, (_b = this.minuteArr) === null || _b === void 0 ? void 0 : _b.map((minute) => (h("pn-option", null, minute)))), h("div", { class: "time-separator" }, h("span", null, "-")), h("pn-select", { ref: el => (this.pnTimeToHourDropdown = el), name: "date-and-time-to-hour", placeholder: this.hourArr[12], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, (_c = this.hourArr) === null || _c === void 0 ? void 0 : _c.map((hour) => (h("pn-option", null, hour)))), h("pn-select", { ref: el => (this.pnTimeToMinuteDropdown = el), name: "date-and-time-to-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, (_d = this.minuteArr) === null || _d === void 0 ? void 0 : _d.map((minute) => (h("pn-option", null, minute))))), this.timeHelperText ? h("small", { class: "date-and-time-row helper-text" }, this.timeHelperText) : null, this.invalidTimespan && this.errorMessage ? (h("small", { class: "date-and-time-row error-message" }, h("pn-icon", { symbol: "alert-info-circle", small: "false", color: "warning" }), this.errorMessage)) : null)));
136
+ }
137
+ static get is() { return "pn-date-and-time"; }
138
+ static get originalStyleUrls() {
139
+ return {
140
+ "$": ["pn-date-and-time.scss"]
141
+ };
142
+ }
143
+ static get styleUrls() {
144
+ return {
145
+ "$": ["pn-date-and-time.css"]
146
+ };
147
+ }
148
+ static get properties() {
149
+ return {
150
+ "languageCode": {
151
+ "type": "string",
152
+ "mutable": false,
153
+ "complexType": {
154
+ "original": "string",
155
+ "resolved": "string",
156
+ "references": {}
157
+ },
158
+ "required": false,
159
+ "optional": false,
160
+ "docs": {
161
+ "tags": [],
162
+ "text": ""
163
+ },
164
+ "attribute": "language-code",
165
+ "reflect": false,
166
+ "defaultValue": "null"
167
+ },
168
+ "dateAndTimeLabel": {
169
+ "type": "string",
170
+ "mutable": false,
171
+ "complexType": {
172
+ "original": "string",
173
+ "resolved": "string",
174
+ "references": {}
175
+ },
176
+ "required": false,
177
+ "optional": false,
178
+ "docs": {
179
+ "tags": [],
180
+ "text": ""
181
+ },
182
+ "attribute": "date-and-time-label",
183
+ "reflect": false,
184
+ "defaultValue": "''"
185
+ },
186
+ "dateDaysFromToday": {
187
+ "type": "number",
188
+ "mutable": false,
189
+ "complexType": {
190
+ "original": "number",
191
+ "resolved": "number",
192
+ "references": {}
193
+ },
194
+ "required": false,
195
+ "optional": false,
196
+ "docs": {
197
+ "tags": [],
198
+ "text": ""
199
+ },
200
+ "attribute": "date-days-from-today",
201
+ "reflect": false,
202
+ "defaultValue": "0"
203
+ },
204
+ "validTimeRangeMinutes": {
205
+ "type": "number",
206
+ "mutable": false,
207
+ "complexType": {
208
+ "original": "number",
209
+ "resolved": "number",
210
+ "references": {}
211
+ },
212
+ "required": false,
213
+ "optional": false,
214
+ "docs": {
215
+ "tags": [],
216
+ "text": ""
217
+ },
218
+ "attribute": "valid-time-range-minutes",
219
+ "reflect": false,
220
+ "defaultValue": "0"
221
+ },
222
+ "errorMessage": {
223
+ "type": "string",
224
+ "mutable": false,
225
+ "complexType": {
226
+ "original": "string",
227
+ "resolved": "string",
228
+ "references": {}
229
+ },
230
+ "required": false,
231
+ "optional": false,
232
+ "docs": {
233
+ "tags": [],
234
+ "text": ""
235
+ },
236
+ "attribute": "error-message",
237
+ "reflect": false,
238
+ "defaultValue": "''"
239
+ },
240
+ "dateHelperText": {
241
+ "type": "string",
242
+ "mutable": false,
243
+ "complexType": {
244
+ "original": "string",
245
+ "resolved": "string",
246
+ "references": {}
247
+ },
248
+ "required": false,
249
+ "optional": false,
250
+ "docs": {
251
+ "tags": [],
252
+ "text": ""
253
+ },
254
+ "attribute": "date-helper-text",
255
+ "reflect": false,
256
+ "defaultValue": "''"
257
+ },
258
+ "timeHelperText": {
259
+ "type": "string",
260
+ "mutable": false,
261
+ "complexType": {
262
+ "original": "string",
263
+ "resolved": "string",
264
+ "references": {}
265
+ },
266
+ "required": false,
267
+ "optional": false,
268
+ "docs": {
269
+ "tags": [],
270
+ "text": ""
271
+ },
272
+ "attribute": "time-helper-text",
273
+ "reflect": false,
274
+ "defaultValue": "''"
275
+ },
276
+ "disableWeekends": {
277
+ "type": "boolean",
278
+ "mutable": false,
279
+ "complexType": {
280
+ "original": "boolean",
281
+ "resolved": "boolean",
282
+ "references": {}
283
+ },
284
+ "required": false,
285
+ "optional": false,
286
+ "docs": {
287
+ "tags": [],
288
+ "text": ""
289
+ },
290
+ "attribute": "disable-weekends",
291
+ "reflect": false,
292
+ "defaultValue": "false"
293
+ },
294
+ "datePlacehodler": {
295
+ "type": "string",
296
+ "mutable": false,
297
+ "complexType": {
298
+ "original": "string",
299
+ "resolved": "string",
300
+ "references": {}
301
+ },
302
+ "required": false,
303
+ "optional": false,
304
+ "docs": {
305
+ "tags": [],
306
+ "text": ""
307
+ },
308
+ "attribute": "date-placehodler",
309
+ "reflect": false,
310
+ "defaultValue": "''"
311
+ }
312
+ };
313
+ }
314
+ static get states() {
315
+ return {
316
+ "language": {},
317
+ "hourArr": {},
318
+ "minuteArr": {},
319
+ "formValue": {},
320
+ "invalidTimespan": {},
321
+ "selectedDate": {},
322
+ "selectedFromHour": {},
323
+ "selectedFromMin": {},
324
+ "selectedToHour": {},
325
+ "selectedToMin": {},
326
+ "firstValidDateString": {},
327
+ "lastValidDateString": {}
328
+ };
329
+ }
330
+ static get events() {
331
+ return [{
332
+ "method": "dateandtimerange",
333
+ "name": "dateandtimerange",
334
+ "bubbles": true,
335
+ "cancelable": true,
336
+ "composed": true,
337
+ "docs": {
338
+ "tags": [],
339
+ "text": ""
340
+ },
341
+ "complexType": {
342
+ "original": "string",
343
+ "resolved": "string",
344
+ "references": {}
345
+ }
346
+ }];
347
+ }
348
+ static get elementRef() { return "hostElement"; }
349
+ }
@@ -0,0 +1,39 @@
1
+ import readme from './readme.md';
2
+
3
+ export default {
4
+ title: 'input/Date and Time',
5
+ parameters: {
6
+ notes: readme,
7
+ layout: 'centered',
8
+ },
9
+ };
10
+
11
+ const Template = ({ ...args }) => {
12
+ return `
13
+ <pn-date-and-time
14
+ language-code="${args.languageCode}"
15
+ date-and-time-label="${args.dateAndTimeLabel}"
16
+ date-days-from-today="${args.dateDaysFromToday}"
17
+ valid-time-range-minutes="${args.validTimeRangeMinutes}"
18
+ error-message="${args.errorMessage}"
19
+ date-helper-text="${args.dateHelpertext}"
20
+ time-helper-text="${args.timeHelpertext}"
21
+ disable-weekends="${args.disableWeekends}"
22
+ date-placehodler="${args.datePlacehodler}"
23
+ >
24
+ </pn-date-and-time>
25
+ `;
26
+ };
27
+
28
+ export const Primary = Template.bind({});
29
+ Primary.args = {
30
+ languageCode: 'sv',
31
+ dateAndTimeLabel: 'Label Text',
32
+ dateDaysFromToday: 1,
33
+ validTimeRangeMinutes: 30,
34
+ errorMessage: 'Error message',
35
+ dateHelpertext: 'Date helpertext',
36
+ timeHelpertext: 'Time helpertext',
37
+ disableWeekends: 'true',
38
+ datePlacehodler: 'YYYY-MM-DD',
39
+ };
@@ -8,6 +8,7 @@ export { PnChartsCard as PnChartsCard } from '../types/components/charts/pn-char
8
8
  export { PnChoiceButton as PnChoiceButton } from '../types/components/input/pn-choice-button/pn-choice-button';
9
9
  export { PnCustomernumberSelector as PnCustomernumberSelector } from '../types/components/profile/pn-customernumber-selector/pn-customernumber-selector';
10
10
  export { PnProfileSelectorOption as PnCustomernumberSelectorOption } from '../types/components/profile/pn-customernumber-selector/pn-customernumber-selector-option';
11
+ export { PnDateAndTime as PnDateAndTime } from '../types/components/input/pn-date-and-time/pn-date-and-time';
11
12
  export { PnFilterCheckbox as PnFilterCheckbox } from '../types/components/input/pn-filter-checkbox/pn-filter-checkbox';
12
13
  export { PnfindPrice as PnFindPrice } from '../types/components/widgets/pn-find-price/pn-find-price';
13
14
  export { PnfindPriceResult as PnFindPriceResult } from '../types/components/widgets/pn-find-price/pn-find-price-result';
@@ -8,6 +8,7 @@ export { PnChartsCard, defineCustomElement as defineCustomElementPnChartsCard }
8
8
  export { PnChoiceButton, defineCustomElement as defineCustomElementPnChoiceButton } from './pn-choice-button.js';
9
9
  export { PnCustomernumberSelector, defineCustomElement as defineCustomElementPnCustomernumberSelector } from './pn-customernumber-selector.js';
10
10
  export { PnCustomernumberSelectorOption, defineCustomElement as defineCustomElementPnCustomernumberSelectorOption } from './pn-customernumber-selector-option.js';
11
+ export { PnDateAndTime, defineCustomElement as defineCustomElementPnDateAndTime } from './pn-date-and-time.js';
11
12
  export { PnFilterCheckbox, defineCustomElement as defineCustomElementPnFilterCheckbox } from './pn-filter-checkbox.js';
12
13
  export { PnFindPrice, defineCustomElement as defineCustomElementPnFindPrice } from './pn-find-price.js';
13
14
  export { PnFindPriceResult, defineCustomElement as defineCustomElementPnFindPriceResult } from './pn-find-price-result.js';
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface PnDateAndTime extends Components.PnDateAndTime, HTMLElement {}
4
+ export const PnDateAndTime: {
5
+ prototype: PnDateAndTime;
6
+ new (): PnDateAndTime;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,186 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const pnDateAndTimeCss = "pn-date-and-time label{color:#5E554A;font-size:1.4rem}pn-date-and-time .time-separator{margin:auto}pn-date-and-time .date-and-time-group{margin-bottom:1rem}pn-date-and-time .date-and-time-row{display:-ms-flexbox;display:flex;gap:1rem}pn-date-and-time .helper-text{margin-top:0.2rem;color:#5E554A;display:block}pn-date-and-time .error-message{color:#a70707}";
4
+
5
+ const PnDateAndTime$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.dateandtimerange = createEvent(this, "dateandtimerange", 7);
10
+ this.pnDatePicker = null;
11
+ this.pnTimeFromHourDropdown = null;
12
+ this.pnTimeFromMinuteDropdown = null;
13
+ this.pnTimeToHourDropdown = null;
14
+ this.pnTimeToMinuteDropdown = null;
15
+ this.languageCode = null;
16
+ this.dateAndTimeLabel = '';
17
+ this.dateDaysFromToday = 0;
18
+ this.validTimeRangeMinutes = 0;
19
+ this.errorMessage = '';
20
+ this.dateHelperText = '';
21
+ this.timeHelperText = '';
22
+ this.disableWeekends = false;
23
+ this.datePlacehodler = '';
24
+ this.language = null;
25
+ this.hourArr = null;
26
+ this.minuteArr = null;
27
+ this.formValue = null;
28
+ this.invalidTimespan = false;
29
+ this.selectedDate = null;
30
+ this.selectedFromHour = null;
31
+ this.selectedFromMin = null;
32
+ this.selectedToHour = null;
33
+ this.selectedToMin = null;
34
+ this.firstValidDateString = '';
35
+ this.lastValidDateString = '';
36
+ }
37
+ componentWillLoad() {
38
+ this.setInitialValues();
39
+ }
40
+ componentDidLoad() {
41
+ this.setDefaultHiddenValue();
42
+ this.addEventHandlers();
43
+ }
44
+ async setInitialValues() {
45
+ this.setLangugaeCode();
46
+ this.setFirstValidDate();
47
+ this.hourArr = this.getNumbersAsStringArr(6, 22, 1);
48
+ this.minuteArr = this.getNumbersAsStringArr(0, 50, 10);
49
+ }
50
+ setFirstValidDate() {
51
+ var _a;
52
+ const date = new Date();
53
+ date.setDate((_a = date.getDate() + this.dateDaysFromToday) !== null && _a !== void 0 ? _a : 0);
54
+ const year = date.getFullYear();
55
+ const month = (date.getMonth() + 1).toString().padStart(2, '0');
56
+ const day = date.getDate().toString().padStart(2, '0');
57
+ const endYear = year + 2;
58
+ this.firstValidDateString = `${year.toString()}-${month}-${day}`;
59
+ this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;
60
+ }
61
+ setLangugaeCode() {
62
+ if (typeof this.languageCode === 'string' && this.languageCode.trim() === '') {
63
+ this.language = document.querySelector('html').lang;
64
+ }
65
+ else {
66
+ this.language = this.languageCode;
67
+ }
68
+ }
69
+ setDefaultHiddenValue() {
70
+ this.selectedFromHour = parseInt(this.hourArr[8]);
71
+ this.selectedFromMin = 0;
72
+ this.selectedToHour = parseInt(this.hourArr[12]);
73
+ this.selectedToMin = 0;
74
+ this.updateHiddenValue();
75
+ }
76
+ addEventHandlers() {
77
+ this.pnDatePicker.addEventListener('dateselection', this.handleChange.bind(this));
78
+ this.pnTimeFromHourDropdown.addEventListener('selectchange', this.handleChange.bind(this));
79
+ this.pnTimeFromMinuteDropdown.addEventListener('selectchange', this.handleChange.bind(this));
80
+ this.pnTimeToHourDropdown.addEventListener('selectchange', this.handleChange.bind(this));
81
+ this.pnTimeToMinuteDropdown.addEventListener('selectchange', this.handleChange.bind(this));
82
+ }
83
+ handleChange(e) {
84
+ const target = e.target;
85
+ if (target === this.pnDatePicker) {
86
+ this.selectedDate = e.detail;
87
+ }
88
+ if (target === this.pnTimeFromHourDropdown || target === this.pnTimeFromMinuteDropdown || target === this.pnTimeToHourDropdown || target === this.pnTimeToMinuteDropdown) {
89
+ this.handleTimeChange();
90
+ }
91
+ this.updateHiddenValue();
92
+ }
93
+ handleTimeChange() {
94
+ var _a, _b, _c, _d;
95
+ const fromHourString = (_a = this.pnTimeFromHourDropdown.querySelector('.current-selection .pn-option-content')) === null || _a === void 0 ? void 0 : _a.textContent;
96
+ const fromMinString = (_b = this.pnTimeFromMinuteDropdown.querySelector('.current-selection .pn-option-content')) === null || _b === void 0 ? void 0 : _b.textContent;
97
+ const toHourString = (_c = this.pnTimeToHourDropdown.querySelector('.current-selection .pn-option-content')) === null || _c === void 0 ? void 0 : _c.textContent;
98
+ const toMinString = (_d = this.pnTimeToMinuteDropdown.querySelector('.current-selection .pn-option-content')) === null || _d === void 0 ? void 0 : _d.textContent;
99
+ this.selectedFromHour = parseInt(fromHourString);
100
+ this.selectedFromMin = parseInt(fromMinString);
101
+ this.selectedToHour = parseInt(toHourString);
102
+ this.selectedToMin = parseInt(toMinString);
103
+ }
104
+ updateHiddenValue() {
105
+ const date = new Date();
106
+ const dateFrom = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedFromHour, this.selectedFromMin, 0, 0);
107
+ const dateTo = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedToHour, this.selectedToMin, 0, 0);
108
+ this.validateTimeRange(dateFrom.getTime(), dateTo.getTime());
109
+ if (this.invalidTimespan || !this.selectedDate) {
110
+ this.formValue = '';
111
+ }
112
+ else {
113
+ const fromMin = this.selectedFromMin.toString().padStart(2, '0');
114
+ const toMin = this.selectedToMin.toString().padStart(2, '0');
115
+ this.formValue = `${this.selectedDate}, ${this.selectedFromHour}:${fromMin}-${this.selectedToHour}:${toMin}`;
116
+ }
117
+ this.dateandtimerange.emit(this.formValue);
118
+ }
119
+ validateTimeRange(from, to) {
120
+ let differenceValue = (to - from) / 1000;
121
+ differenceValue /= 60;
122
+ this.invalidTimespan = differenceValue < this.validTimeRangeMinutes ? true : false;
123
+ }
124
+ getNumbersAsStringArr(start, stop, step) {
125
+ const arr = Array.from({ length: (stop - start) / step + 1 }, (_, index) => start + index * step);
126
+ const result = [];
127
+ arr.forEach(item => {
128
+ const itemAsString = item.toString().padStart(2, '0');
129
+ result.push(itemAsString);
130
+ });
131
+ return result;
132
+ }
133
+ removePnOptionSelected() {
134
+ const selectOptions = this.hostElement.querySelectorAll('pn-option');
135
+ selectOptions.forEach(elm => {
136
+ elm.removeAttribute('selected');
137
+ });
138
+ }
139
+ render() {
140
+ var _a, _b, _c, _d;
141
+ return (h(Host, null, h("div", { class: "date-and-time-group" }, this.dateAndTimeLabel ? (h("div", { class: "date-and-time-row" }, h("label", null, this.dateAndTimeLabel))) : null, h("div", { class: "date-and-time-row" }, h("pn-date-picker", { ref: el => (this.pnDatePicker = el), range: "false", "disable-weekends": this.disableWeekends, "min-date": this.firstValidDateString, "max-date": this.lastValidDateString, language: this.language, placeholder: this.datePlacehodler })), this.dateHelperText ? h("small", { class: "date-and-time-row helper-text" }, this.dateHelperText) : null), h("div", { class: "date-and-time-group" }, h("div", { class: "date-and-time-row" }, h("pn-select", { ref: el => (this.pnTimeFromHourDropdown = el), name: "date-and-time-from-houre", placeholder: this.hourArr[8], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, (_a = this.hourArr) === null || _a === void 0 ? void 0 : _a.map((hour) => (h("pn-option", null, hour)))), h("pn-select", { ref: el => (this.pnTimeFromMinuteDropdown = el), name: "date-and-time-from-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, (_b = this.minuteArr) === null || _b === void 0 ? void 0 : _b.map((minute) => (h("pn-option", null, minute)))), h("div", { class: "time-separator" }, h("span", null, "-")), h("pn-select", { ref: el => (this.pnTimeToHourDropdown = el), name: "date-and-time-to-hour", placeholder: this.hourArr[12], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, (_c = this.hourArr) === null || _c === void 0 ? void 0 : _c.map((hour) => (h("pn-option", null, hour)))), h("pn-select", { ref: el => (this.pnTimeToMinuteDropdown = el), name: "date-and-time-to-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, (_d = this.minuteArr) === null || _d === void 0 ? void 0 : _d.map((minute) => (h("pn-option", null, minute))))), this.timeHelperText ? h("small", { class: "date-and-time-row helper-text" }, this.timeHelperText) : null, this.invalidTimespan && this.errorMessage ? (h("small", { class: "date-and-time-row error-message" }, h("pn-icon", { symbol: "alert-info-circle", small: "false", color: "warning" }), this.errorMessage)) : null)));
142
+ }
143
+ get hostElement() { return this; }
144
+ static get style() { return pnDateAndTimeCss; }
145
+ }, [0, "pn-date-and-time", {
146
+ "languageCode": [1, "language-code"],
147
+ "dateAndTimeLabel": [1, "date-and-time-label"],
148
+ "dateDaysFromToday": [2, "date-days-from-today"],
149
+ "validTimeRangeMinutes": [2, "valid-time-range-minutes"],
150
+ "errorMessage": [1, "error-message"],
151
+ "dateHelperText": [1, "date-helper-text"],
152
+ "timeHelperText": [1, "time-helper-text"],
153
+ "disableWeekends": [4, "disable-weekends"],
154
+ "datePlacehodler": [1, "date-placehodler"],
155
+ "language": [32],
156
+ "hourArr": [32],
157
+ "minuteArr": [32],
158
+ "formValue": [32],
159
+ "invalidTimespan": [32],
160
+ "selectedDate": [32],
161
+ "selectedFromHour": [32],
162
+ "selectedFromMin": [32],
163
+ "selectedToHour": [32],
164
+ "selectedToMin": [32],
165
+ "firstValidDateString": [32],
166
+ "lastValidDateString": [32]
167
+ }]);
168
+ function defineCustomElement$1() {
169
+ if (typeof customElements === "undefined") {
170
+ return;
171
+ }
172
+ const components = ["pn-date-and-time"];
173
+ components.forEach(tagName => { switch (tagName) {
174
+ case "pn-date-and-time":
175
+ if (!customElements.get(tagName)) {
176
+ customElements.define(tagName, PnDateAndTime$1);
177
+ }
178
+ break;
179
+ } });
180
+ }
181
+ defineCustomElement$1();
182
+
183
+ const PnDateAndTime = PnDateAndTime$1;
184
+ const defineCustomElement = defineCustomElement$1;
185
+
186
+ export { PnDateAndTime, defineCustomElement };
@@ -1,4 +1,4 @@
1
- import { c as getRenderingRef, f as forceUpdate } from './index-c118284d.js';
1
+ import { e as getRenderingRef, f as forceUpdate } from './index-ee44c065.js';
2
2
 
3
3
  const appendToMap = (map, propName, value) => {
4
4
  const items = map.get(propName);
@@ -2133,6 +2133,10 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2133
2133
  return import(
2134
2134
  /* webpackMode: "lazy" */
2135
2135
  './pn-customernumber-selector-option.entry.js').then(processMod, consoleError);
2136
+ case 'pn-date-and-time':
2137
+ return import(
2138
+ /* webpackMode: "lazy" */
2139
+ './pn-date-and-time.entry.js').then(processMod, consoleError);
2136
2140
  case 'pn-filter-checkbox':
2137
2141
  return import(
2138
2142
  /* webpackMode: "lazy" */
@@ -2411,4 +2415,4 @@ const flush = () => {
2411
2415
  const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
2412
2416
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
2413
2417
 
2414
- export { H, NAMESPACE as N, Host as a, bootstrapLazy as b, getRenderingRef as c, doc as d, createEvent as e, forceUpdate as f, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s, win as w };
2418
+ export { H, NAMESPACE as N, Host as a, bootstrapLazy as b, createEvent as c, doc as d, getRenderingRef as e, forceUpdate as f, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s, win as w };