@postnord/pn-marketweb-components 1.0.37 → 1.0.41

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 (170) hide show
  1. package/cjs/{index-ea886985.js → index-31d574c5.js} +1 -1
  2. package/cjs/{index-0404c97e.js → index-cd08e313.js} +4 -0
  3. package/cjs/loader.cjs.js +2 -2
  4. package/cjs/mockresponse-c40ea527.js +24 -0
  5. package/cjs/pn-bonus-progressbar-level.cjs.entry.js +42 -0
  6. package/cjs/pn-bonus-progressbar.cjs.entry.js +90 -0
  7. package/cjs/pn-choice-button_2.cjs.entry.js +3 -3
  8. package/cjs/pn-filter-checkbox.cjs.entry.js +1 -1
  9. package/cjs/pn-filter-search.cjs.entry.js +1 -1
  10. package/cjs/{pn-find-service-and-price-store-df7890f3.js → pn-find-service-and-price-store-bded912f.js} +1 -1
  11. package/cjs/pn-find-service-and-price.cjs.entry.js +3 -3
  12. package/cjs/pn-language-selector_9.cjs.entry.js +3 -3
  13. package/cjs/pn-mainnav-link.cjs.entry.js +3 -3
  14. package/cjs/{pn-mainnav-store-87a95686.js → pn-mainnav-store-4a3492cd.js} +1 -1
  15. package/cjs/pn-market-web-components.cjs.js +2 -2
  16. package/cjs/pn-marketweb-sitefooter.cjs.entry.js +1 -1
  17. package/cjs/pn-marketweb-siteheader.cjs.entry.js +7 -3
  18. package/cjs/pn-pex-pricefinder.cjs.entry.js +121 -0
  19. package/cjs/pn-product-pricelist-result.cjs.entry.js +3 -3
  20. package/cjs/{pn-product-pricelist-store-3a956b18.js → pn-product-pricelist-store-8dda97db.js} +1 -1
  21. package/cjs/pn-product-pricelist.cjs.entry.js +3 -3
  22. package/cjs/pn-product-tile_3.cjs.entry.js +1 -1
  23. package/cjs/pn-profile-selector.cjs.entry.js +1 -1
  24. package/cjs/pn-sidenav-level.cjs.entry.js +3 -3
  25. package/cjs/pn-sidenav-link.cjs.entry.js +3 -3
  26. package/cjs/{pn-sidenav-store-ac7b8608.js → pn-sidenav-store-044d6595.js} +1 -1
  27. package/cjs/pn-sidenav.cjs.entry.js +3 -3
  28. package/cjs/pn-site-footer_2.cjs.entry.js +1 -1
  29. package/collection/collection-manifest.json +3 -0
  30. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.css +48 -0
  31. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.js +120 -0
  32. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.css +77 -0
  33. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.js +254 -0
  34. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.stories.js +79 -0
  35. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +6 -2
  36. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.js +14 -0
  37. package/collection/components/widgets/pn-pex-pricefinder/pex-pricefinder.stories.js +22 -0
  38. package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.css +59 -0
  39. package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js +188 -0
  40. package/collection/components/widgets/pn-pex-pricefinder/translations.js +22 -0
  41. package/collection/components/widgets/pn-pex-pricefinder/types.js +1 -0
  42. package/custom-elements/index.d.ts +18 -0
  43. package/custom-elements/index.js +264 -19
  44. package/custom-elements/mockresponse.js +20 -0
  45. package/esm/{index-e34aec9d.js → index-94746173.js} +1 -1
  46. package/esm/{index-1537f439.js → index-b26d0794.js} +4 -0
  47. package/esm/loader.js +2 -2
  48. package/esm/mockresponse-e2c08e66.js +20 -0
  49. package/esm/pn-bonus-progressbar-level.entry.js +38 -0
  50. package/esm/pn-bonus-progressbar.entry.js +86 -0
  51. package/esm/pn-choice-button_2.entry.js +3 -3
  52. package/esm/pn-filter-checkbox.entry.js +1 -1
  53. package/esm/pn-filter-search.entry.js +1 -1
  54. package/esm/{pn-find-service-and-price-store-ae3cddfb.js → pn-find-service-and-price-store-2ddc6cfa.js} +1 -1
  55. package/esm/pn-find-service-and-price.entry.js +3 -3
  56. package/esm/pn-language-selector_9.entry.js +3 -3
  57. package/esm/pn-mainnav-link.entry.js +3 -3
  58. package/esm/{pn-mainnav-store-8e518460.js → pn-mainnav-store-c14ad7e8.js} +1 -1
  59. package/esm/pn-market-web-components.js +2 -2
  60. package/esm/pn-marketweb-sitefooter.entry.js +1 -1
  61. package/esm/pn-marketweb-siteheader.entry.js +7 -3
  62. package/esm/pn-pex-pricefinder.entry.js +117 -0
  63. package/esm/pn-product-pricelist-result.entry.js +3 -3
  64. package/esm/{pn-product-pricelist-store-b59d0cba.js → pn-product-pricelist-store-a287a3f5.js} +1 -1
  65. package/esm/pn-product-pricelist.entry.js +3 -3
  66. package/esm/pn-product-tile_3.entry.js +1 -1
  67. package/esm/pn-profile-selector.entry.js +1 -1
  68. package/esm/pn-sidenav-level.entry.js +3 -3
  69. package/esm/pn-sidenav-link.entry.js +3 -3
  70. package/esm/{pn-sidenav-store-c46b24d2.js → pn-sidenav-store-6f25eef9.js} +1 -1
  71. package/esm/pn-sidenav.entry.js +3 -3
  72. package/esm/pn-site-footer_2.entry.js +1 -1
  73. package/esm-es5/{index-e34aec9d.js → index-94746173.js} +1 -1
  74. package/esm-es5/{index-1537f439.js → index-b26d0794.js} +1 -1
  75. package/esm-es5/loader.js +1 -1
  76. package/esm-es5/mockresponse-e2c08e66.js +1 -0
  77. package/esm-es5/pn-bonus-progressbar-level.entry.js +1 -0
  78. package/esm-es5/pn-bonus-progressbar.entry.js +1 -0
  79. package/esm-es5/pn-choice-button_2.entry.js +1 -1
  80. package/esm-es5/pn-filter-checkbox.entry.js +1 -1
  81. package/esm-es5/pn-filter-search.entry.js +1 -1
  82. package/esm-es5/{pn-find-service-and-price-store-ae3cddfb.js → pn-find-service-and-price-store-2ddc6cfa.js} +1 -1
  83. package/esm-es5/pn-find-service-and-price.entry.js +1 -1
  84. package/esm-es5/pn-language-selector_9.entry.js +1 -1
  85. package/esm-es5/pn-mainnav-link.entry.js +1 -1
  86. package/esm-es5/{pn-mainnav-store-8e518460.js → pn-mainnav-store-c14ad7e8.js} +1 -1
  87. package/esm-es5/pn-market-web-components.js +1 -1
  88. package/esm-es5/pn-marketweb-sitefooter.entry.js +1 -1
  89. package/esm-es5/pn-marketweb-siteheader.entry.js +1 -1
  90. package/esm-es5/pn-pex-pricefinder.entry.js +1 -0
  91. package/esm-es5/pn-product-pricelist-result.entry.js +1 -1
  92. package/esm-es5/{pn-product-pricelist-store-b59d0cba.js → pn-product-pricelist-store-a287a3f5.js} +1 -1
  93. package/esm-es5/pn-product-pricelist.entry.js +1 -1
  94. package/esm-es5/pn-product-tile_3.entry.js +1 -1
  95. package/esm-es5/pn-profile-selector.entry.js +1 -1
  96. package/esm-es5/pn-sidenav-level.entry.js +1 -1
  97. package/esm-es5/pn-sidenav-link.entry.js +1 -1
  98. package/esm-es5/{pn-sidenav-store-c46b24d2.js → pn-sidenav-store-6f25eef9.js} +1 -1
  99. package/esm-es5/pn-sidenav.entry.js +1 -1
  100. package/esm-es5/pn-site-footer_2.entry.js +1 -1
  101. package/package.json +28 -28
  102. package/pn-market-web-components/{p-8dad5ed9.js → p-020f1667.js} +1 -1
  103. package/pn-market-web-components/{p-7071b45d.system.entry.js → p-02a985d9.system.entry.js} +1 -1
  104. package/pn-market-web-components/{p-2713500f.entry.js → p-02c8dcd0.entry.js} +1 -1
  105. package/pn-market-web-components/p-038b8060.system.js +1 -0
  106. package/pn-market-web-components/{p-e3fb52a6.system.entry.js → p-043f460c.system.entry.js} +1 -1
  107. package/pn-market-web-components/{p-57e4ced3.system.entry.js → p-0ba9ae69.system.entry.js} +1 -1
  108. package/pn-market-web-components/{p-88d82a49.entry.js → p-0d975e39.entry.js} +1 -1
  109. package/pn-market-web-components/p-12297437.system.entry.js +1 -0
  110. package/pn-market-web-components/p-1caf4231.system.entry.js +1 -0
  111. package/pn-market-web-components/{p-9718752b.system.entry.js → p-21463fc1.system.entry.js} +1 -1
  112. package/pn-market-web-components/{p-d2c98a81.system.js → p-26f72169.system.js} +1 -1
  113. package/pn-market-web-components/{p-f14cff8e.js → p-3359dac6.js} +1 -1
  114. package/pn-market-web-components/p-33cefc5e.system.entry.js +1 -0
  115. package/pn-market-web-components/{p-71d3db79.entry.js → p-37801e32.entry.js} +1 -1
  116. package/pn-market-web-components/p-3cf489ac.js +1 -0
  117. package/pn-market-web-components/p-3f876199.entry.js +1 -0
  118. package/pn-market-web-components/{p-4feb3557.system.entry.js → p-478ac9b4.system.entry.js} +1 -1
  119. package/pn-market-web-components/{p-2e71089b.js → p-4832a520.js} +1 -1
  120. package/pn-market-web-components/{p-dc471243.entry.js → p-4aa3b95d.entry.js} +1 -1
  121. package/pn-market-web-components/p-52787ac9.entry.js +1 -0
  122. package/pn-market-web-components/{p-1d9a3108.entry.js → p-53e14b27.entry.js} +1 -1
  123. package/pn-market-web-components/{p-8e8fe71e.system.js → p-5510f188.system.js} +1 -1
  124. package/pn-market-web-components/p-772c078c.entry.js +1 -0
  125. package/pn-market-web-components/{p-423807b2.entry.js → p-77d43e30.entry.js} +1 -1
  126. package/pn-market-web-components/{p-492ba223.js → p-789e1b30.js} +1 -1
  127. package/pn-market-web-components/p-7d92e5c7.system.entry.js +1 -0
  128. package/pn-market-web-components/p-84d9f552.system.js +1 -0
  129. package/pn-market-web-components/{p-d70008da.entry.js → p-861210ae.entry.js} +1 -1
  130. package/pn-market-web-components/{p-d9465a21.system.js → p-915cef83.system.js} +1 -1
  131. package/pn-market-web-components/p-942f590f.entry.js +1 -0
  132. package/pn-market-web-components/{p-86a9f853.system.js → p-98bc5c17.system.js} +1 -1
  133. package/pn-market-web-components/{p-1649b94a.entry.js → p-9aca0bae.entry.js} +1 -1
  134. package/pn-market-web-components/p-a22df959.system.js +1 -0
  135. package/pn-market-web-components/{p-1411f767.entry.js → p-a25fc106.entry.js} +1 -1
  136. package/pn-market-web-components/{p-015a433e.entry.js → p-a37ea453.entry.js} +1 -1
  137. package/pn-market-web-components/p-a924001f.system.entry.js +1 -0
  138. package/pn-market-web-components/{p-7b4c721f.system.entry.js → p-ac36097e.system.entry.js} +1 -1
  139. package/pn-market-web-components/{p-daa6ddb3.system.entry.js → p-b2383083.system.entry.js} +1 -1
  140. package/pn-market-web-components/{p-a65b61d6.system.entry.js → p-b7fdc5cb.system.entry.js} +1 -1
  141. package/pn-market-web-components/{p-32f4efa6.entry.js → p-b8af690a.entry.js} +1 -1
  142. package/pn-market-web-components/{p-79611456.system.entry.js → p-c127e22c.system.entry.js} +1 -1
  143. package/pn-market-web-components/p-c25ada49.js +1 -0
  144. package/pn-market-web-components/{p-22cd41df.entry.js → p-cce32042.entry.js} +1 -1
  145. package/pn-market-web-components/p-cec6130e.system.js +1 -0
  146. package/pn-market-web-components/{p-96ef731c.entry.js → p-d1053abf.entry.js} +1 -1
  147. package/pn-market-web-components/{p-4921fcc3.entry.js → p-dde2cf1c.entry.js} +1 -1
  148. package/pn-market-web-components/{p-e695c8e8.system.entry.js → p-e04f8d34.system.entry.js} +1 -1
  149. package/pn-market-web-components/{p-5a155773.system.entry.js → p-e6a209c6.system.entry.js} +1 -1
  150. package/pn-market-web-components/{p-03fb0285.entry.js → p-e9d8a991.entry.js} +1 -1
  151. package/pn-market-web-components/{p-a5b178b5.system.entry.js → p-eb049e9d.system.entry.js} +1 -1
  152. package/pn-market-web-components/p-ec0adffe.js +1 -0
  153. package/pn-market-web-components/{p-cb10d64f.system.entry.js → p-ec1127de.system.entry.js} +1 -1
  154. package/pn-market-web-components/{p-a983c263.system.entry.js → p-f4fda846.system.entry.js} +1 -1
  155. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  156. package/pn-market-web-components/pn-market-web-components.js +1 -1
  157. package/types/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.d.ts +14 -0
  158. package/types/components/input/pn-bonus-progressbar/pn-bonus-progressbar.d.ts +20 -0
  159. package/types/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.d.ts +30 -0
  160. package/types/components/widgets/pn-pex-pricefinder/translations.d.ts +22 -0
  161. package/types/components/widgets/pn-pex-pricefinder/types.d.ts +27 -0
  162. package/types/components.d.ts +87 -0
  163. package/pn-market-web-components/p-02a1466e.system.js +0 -1
  164. package/pn-market-web-components/p-25bdf3f8.system.js +0 -1
  165. package/pn-market-web-components/p-2e4a6bc7.system.entry.js +0 -1
  166. package/pn-market-web-components/p-5f256546.entry.js +0 -1
  167. package/pn-market-web-components/p-6db8065f.system.entry.js +0 -1
  168. package/pn-market-web-components/p-8be38a7e.system.js +0 -1
  169. package/pn-market-web-components/p-a14f54af.js +0 -1
  170. package/pn-market-web-components/p-d319f735.js +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-0404c97e.js');
5
+ const index = require('./index-cd08e313.js');
6
6
 
7
7
  const pnProductTileCss = "pn-product-tile{margin-bottom:1em;border:0.1rem solid #D3CECB;outline:none;background:white;-webkit-box-shadow:0px 0.6px 1.8px rgba(0, 0, 0, 0.1), 0px 3.2px 7.2px rgba(0, 0, 0, 0.13);box-shadow:0px 0.6px 1.8px rgba(0, 0, 0, 0.1), 0px 3.2px 7.2px rgba(0, 0, 0, 0.13);display:-ms-flexbox;display:flex;padding:1.5em;word-break:break-word;text-decoration:none;border-radius:0.8rem}pn-product-tile [slot=content] h3{display:-ms-flexbox;display:flex;width:100%;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:0.5em}pn-product-tile>pn-illustration{min-width:8rem;width:8rem;height:8rem;margin-right:3rem;-ms-flex-item-align:center;align-self:center}pn-product-tile .tilecontent{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center;-ms-flex-positive:1;flex-grow:1}pn-product-tile .details{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:100%}pn-product-tile .info{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-positive:1;flex-grow:1;max-width:66.6666666667%;-ms-flex-flow:wrap;flex-flow:wrap}pn-product-tile .info>*{min-width:6em;margin:0.2em 1em 0.2em 0}";
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-0404c97e.js');
5
+ const index = require('./index-cd08e313.js');
6
6
  const MarketWebContextService = require('./MarketWebContextService-bdc46f40.js');
7
7
  const MarketWebLoginManager = require('./MarketWebLoginManager-859590e2.js');
8
8
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-0404c97e.js');
6
- const pnSidenavStore = require('./pn-sidenav-store-ac7b8608.js');
7
- require('./index-ea886985.js');
5
+ const index = require('./index-cd08e313.js');
6
+ const pnSidenavStore = require('./pn-sidenav-store-044d6595.js');
7
+ require('./index-31d574c5.js');
8
8
 
9
9
  const pnSidenavLevelCss = "pn-sidenav-level{display:block;-ms-flex-preferred-size:100%;flex-basis:100%}pn-sidenav-level[data-level=\"2\"]{padding-left:2.5em;overflow:hidden;-webkit-transition:max-height ease 0.2s;transition:max-height ease 0.2s;max-height:40em}pn-sidenav-level[data-level=\"2\"][aria-hidden=true]{max-height:0}";
10
10
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-0404c97e.js');
6
- const pnSidenavStore = require('./pn-sidenav-store-ac7b8608.js');
7
- require('./index-ea886985.js');
5
+ const index = require('./index-cd08e313.js');
6
+ const pnSidenavStore = require('./pn-sidenav-store-044d6595.js');
7
+ require('./index-31d574c5.js');
8
8
 
9
9
  const pnSidenavLinkCss = "pn-sidenav-link{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.pn-sidenav-link{font-weight:normal;position:relative;border:0 none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;background-color:transparent;color:#005D92;font-size:1em;padding:1.1rem 1.5rem 1.1rem;overflow:hidden;text-decoration:none;cursor:pointer;-ms-flex-positive:1;flex-grow:1}.pn-sidenav-link::before{content:\"\";display:block;width:0.4rem;border-top-right-radius:0.3rem;border-bottom-right-radius:0.3rem;height:100%;position:absolute;left:0;top:0;bottom:0;-webkit-transform:translateX(-0.4rem);transform:translateX(-0.4rem);background:#005D92;-webkit-transition:-webkit-transform linear 0.35s;transition:-webkit-transform linear 0.35s;transition:transform linear 0.35s;transition:transform linear 0.35s, -webkit-transform linear 0.35s}.pn-sidenav-link:hover,.pn-sidenav-link:focus,[current=true]>.pn-sidenav-link{background-color:#E0F8FF;color:#005D92;outline:0;-webkit-box-shadow:none;box-shadow:none}.pn-sidenav-link:hover::before,.pn-sidenav-link:focus::before,[current=true]>.pn-sidenav-link::before{-webkit-transform:none;transform:none}.pn-sidenav-link:active{background-color:#F3F2F2;color:#00A0D6;-webkit-box-shadow:none;box-shadow:none}.pn-sidenav-link>pn-icon{padding-right:1em}.pn-sidenav-link-expand{margin-left:auto;border:0;font-size:1em;background:transparent;outline:0;padding:0 1em 0 0.5em;cursor:pointer}.pn-sidenav-link-expand:hover,.pn-sidenav-link-expand:focus,[current=true]>.pn-sidenav-link-expand{background-color:#E0F8FF;color:#005D92;outline:0;-webkit-box-shadow:none;box-shadow:none}.pn-sidenav-link-expand:hover::before,.pn-sidenav-link-expand:focus::before,[current=true]>.pn-sidenav-link-expand::before{-webkit-transform:none;transform:none}button>.pn-sidenav-link-expand{padding-right:0}.pn-sidenav-link-expand pn-icon{width:14px}";
10
10
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-ea886985.js');
3
+ const index = require('./index-31d574c5.js');
4
4
 
5
5
  // Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store
6
6
  const { state, onChange } = index.createStore({
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-0404c97e.js');
6
- const pnSidenavStore = require('./pn-sidenav-store-ac7b8608.js');
7
- require('./index-ea886985.js');
5
+ const index = require('./index-cd08e313.js');
6
+ const pnSidenavStore = require('./pn-sidenav-store-044d6595.js');
7
+ require('./index-31d574c5.js');
8
8
 
9
9
  const translations = {
10
10
  'sv': {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-0404c97e.js');
5
+ const index = require('./index-cd08e313.js');
6
6
 
7
7
  const pnSiteFooterCss = "pn-site-footer{display:block;line-height:1.5}pn-site-footer a{color:#005D92}pn-site-footer a:hover{color:#0D234B;text-decoration:underline}pn-site-footer h3{font-size:2.4rem;margin-bottom:0.5rem;line-height:1.2}pn-site-footer p{font-size:1.6rem}pn-site-footer ul.social-media{display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row}pn-site-footer ul.social-media li{margin-right:1.6rem}pn-site-footer>svg{display:block}pn-site-footer>div{background:#F3F2F2}.pn-sitefooter-top{display:-ms-flexbox;display:flex}.pn-sitefooter-cols{-ms-flex-item-align:center;align-self:center;-ms-flex-pack:center;justify-content:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin:0 auto;max-width:90em}.pn-sitefooter-bottom [slot=bottom]{max-width:90em;margin:0 auto;padding:1.6rem 0;display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap;border-top:1px solid #D3CECB;border-bottom:1px solid #D3CECB}.pn-sitefooter-bottom [slot=bottom] span,.pn-sitefooter-bottom [slot=bottom] a{line-height:2;margin:0 1.6rem;text-decoration:none}.pn-sitefooter-bottom [slot=bottom] li{line-height:2em;margin:0 1.6rem}.pn-sitefooter-logo{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;padding:3rem}.pn-sitefooter-logo svg{display:block;width:13.3rem;height:2.6rem}";
8
8
 
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "entries": [
3
+ "./components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.js",
4
+ "./components/input/pn-bonus-progressbar/pn-bonus-progressbar.js",
3
5
  "./components/input/pn-choice-button/pn-choice-button.js",
4
6
  "./components/input/pn-filter-checkbox/pn-filter-checkbox.js",
5
7
  "./components/input/pn-filter-search/pn-filter-search.js",
@@ -23,6 +25,7 @@
23
25
  "./components/navigation/pn-site-selector/pn-site-selector.js",
24
26
  "./components/widgets/pn-find-service-and-price/pn-find-service-and-price-result.js",
25
27
  "./components/widgets/pn-find-service-and-price/pn-find-service-and-price.js",
28
+ "./components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js",
26
29
  "./components/widgets/pn-product-pricelist/pn-product-pricelist-result.js",
27
30
  "./components/widgets/pn-product-pricelist/pn-product-pricelist.js",
28
31
  "./components/widgets/pn-product-tile/pn-product-tile-info.js",
@@ -0,0 +1,48 @@
1
+ pn-bonus-progressbar-level {
2
+ position: absolute;
3
+ width: 0.1rem;
4
+ left: 50%;
5
+ }
6
+ pn-bonus-progressbar-level::after {
7
+ content: "";
8
+ width: 0.1rem;
9
+ position: absolute;
10
+ left: 0;
11
+ border-left: 1px dashed #9B1C2E;
12
+ top: 50%;
13
+ transform: translateY(-50%);
14
+ height: 3rem;
15
+ }
16
+ pn-bonus-progressbar-level:not([current]):nth-child(even)::after {
17
+ height: 7rem;
18
+ margin-top: 0.6rem;
19
+ }
20
+
21
+ .progressbar-level-percentage {
22
+ font-size: 0.75em;
23
+ position: absolute;
24
+ left: 50%;
25
+ transform: translateX(-50%);
26
+ top: -3.2rem;
27
+ }
28
+ [current] > .progressbar-level-percentage {
29
+ display: none;
30
+ }
31
+ pn-bonus-progressbar-level:not([current]):nth-child(even) .progressbar-level-percentage {
32
+ top: -4.8rem;
33
+ }
34
+
35
+ .progressbar-level-value {
36
+ font-size: 0.75em;
37
+ white-space: nowrap;
38
+ position: absolute;
39
+ left: 50%;
40
+ transform: translateX(-50%);
41
+ top: 2.3rem;
42
+ }
43
+ [current] > .progressbar-level-value {
44
+ top: -3.2rem;
45
+ }
46
+ pn-bonus-progressbar-level:not([current]):nth-child(even) .progressbar-level-value {
47
+ top: 4.2rem;
48
+ }
@@ -0,0 +1,120 @@
1
+ import { Component, Prop, h, Host, State, Element } from "@stencil/core";
2
+ export class PnBonusProgressbarLevel {
3
+ constructor() {
4
+ this.current = false;
5
+ this.value = 0;
6
+ this.bonuspercentage = "";
7
+ this.visualpercentage = 0;
8
+ this.percentage = 0;
9
+ this.max = 0;
10
+ this.min = 0;
11
+ this.currency = "";
12
+ }
13
+ componentWillLoad() {
14
+ this.max = parseInt(this.hostElement.parentElement.parentElement.getAttribute("max"), 10);
15
+ this.min = parseInt(this.hostElement.parentElement.parentElement.getAttribute("min"), 10);
16
+ this.currency = this.hostElement.parentElement.parentElement.getAttribute("currency");
17
+ this.percentage = (this.value / this.max) * 100;
18
+ if (this.visualpercentage > 0) {
19
+ // Visual percentage has been overriden
20
+ return;
21
+ }
22
+ this.visualpercentage = ((this.value - this.min) / (this.max - this.min)) * 100;
23
+ }
24
+ formatValue() {
25
+ return `${this.value.toLocaleString('sv-SE', { maximumFractionDigits: 0 })} ${this.currency}`;
26
+ }
27
+ render() {
28
+ return (h(Host, { style: { 'left': `${this.visualpercentage}%` } },
29
+ h("div", { class: "progressbar-level-percentage" }, this.bonuspercentage),
30
+ h("div", { class: "progressbar-level-value" }, this.formatValue())));
31
+ }
32
+ static get is() { return "pn-bonus-progressbar-level"; }
33
+ static get originalStyleUrls() { return {
34
+ "$": ["pn-bonus-progressbar-level.scss"]
35
+ }; }
36
+ static get styleUrls() { return {
37
+ "$": ["pn-bonus-progressbar-level.css"]
38
+ }; }
39
+ static get properties() { return {
40
+ "current": {
41
+ "type": "boolean",
42
+ "mutable": false,
43
+ "complexType": {
44
+ "original": "boolean",
45
+ "resolved": "boolean",
46
+ "references": {}
47
+ },
48
+ "required": false,
49
+ "optional": false,
50
+ "docs": {
51
+ "tags": [],
52
+ "text": ""
53
+ },
54
+ "attribute": "current",
55
+ "reflect": true,
56
+ "defaultValue": "false"
57
+ },
58
+ "value": {
59
+ "type": "number",
60
+ "mutable": true,
61
+ "complexType": {
62
+ "original": "number",
63
+ "resolved": "number",
64
+ "references": {}
65
+ },
66
+ "required": false,
67
+ "optional": false,
68
+ "docs": {
69
+ "tags": [],
70
+ "text": ""
71
+ },
72
+ "attribute": "value",
73
+ "reflect": true,
74
+ "defaultValue": "0"
75
+ },
76
+ "bonuspercentage": {
77
+ "type": "string",
78
+ "mutable": true,
79
+ "complexType": {
80
+ "original": "string",
81
+ "resolved": "string",
82
+ "references": {}
83
+ },
84
+ "required": false,
85
+ "optional": false,
86
+ "docs": {
87
+ "tags": [],
88
+ "text": ""
89
+ },
90
+ "attribute": "bonuspercentage",
91
+ "reflect": true,
92
+ "defaultValue": "\"\""
93
+ },
94
+ "visualpercentage": {
95
+ "type": "number",
96
+ "mutable": true,
97
+ "complexType": {
98
+ "original": "number",
99
+ "resolved": "number",
100
+ "references": {}
101
+ },
102
+ "required": false,
103
+ "optional": false,
104
+ "docs": {
105
+ "tags": [],
106
+ "text": ""
107
+ },
108
+ "attribute": "visualpercentage",
109
+ "reflect": true,
110
+ "defaultValue": "0"
111
+ }
112
+ }; }
113
+ static get states() { return {
114
+ "percentage": {},
115
+ "max": {},
116
+ "min": {},
117
+ "currency": {}
118
+ }; }
119
+ static get elementRef() { return "hostElement"; }
120
+ }
@@ -0,0 +1,77 @@
1
+ pn-bonus-progressbar {
2
+ width: 100%;
3
+ }
4
+
5
+ .bonusprogressbar-top {
6
+ display: flex;
7
+ align-items: center;
8
+ }
9
+
10
+ .bonusprogressbar-top-icon {
11
+ border-radius: 100%;
12
+ height: 5rem;
13
+ width: 5rem;
14
+ padding: 1rem;
15
+ display: inline-flex;
16
+ margin-right: 1em;
17
+ margin-left: 0.5em;
18
+ background-color: #E0F8FF;
19
+ }
20
+ [theme=red] .bonusprogressbar-top-icon {
21
+ background-color: #FBC2C1;
22
+ }
23
+ .bonusprogressbar-top-icon pn-icon svg {
24
+ width: 100%;
25
+ height: 100%;
26
+ }
27
+
28
+ .bonusprogressbar-top-percentage {
29
+ margin-left: auto;
30
+ padding: 0.5em;
31
+ }
32
+
33
+ .bonusprogressbar-wrapper {
34
+ position: relative;
35
+ display: flex;
36
+ min-height: 5em;
37
+ align-items: center;
38
+ }
39
+
40
+ .bonusprogressbar-currentlevel {
41
+ position: absolute;
42
+ }
43
+
44
+ .bonusprogressbar-progress[value] {
45
+ -webkit-appearance: none;
46
+ -moz-appearance: none;
47
+ appearance: none;
48
+ width: 100%;
49
+ height: 1.7rem;
50
+ border: 0.1rem solid #00A0D6;
51
+ border-radius: 1.7rem;
52
+ padding: 0;
53
+ margin: 0;
54
+ overflow: hidden;
55
+ }
56
+ [theme=red] .bonusprogressbar-progress[value] {
57
+ border-color: #F06365;
58
+ }
59
+ .bonusprogressbar-progress[value]::-webkit-progress-bar {
60
+ border: 0;
61
+ border-radius: 1.7rem;
62
+ margin: 0;
63
+ padding: 0;
64
+ background: #E0F8FF;
65
+ }
66
+ [theme=red] .bonusprogressbar-progress[value]::-webkit-progress-bar {
67
+ background: #FDEFEE;
68
+ }
69
+ .bonusprogressbar-progress[value]::-webkit-progress-value {
70
+ margin: 0;
71
+ padding: 0;
72
+ border-radius: 1.7rem;
73
+ background: #00A0D6;
74
+ }
75
+ [theme=red] .bonusprogressbar-progress[value]::-webkit-progress-value {
76
+ background: #F06365;
77
+ }
@@ -0,0 +1,254 @@
1
+ import { Component, Prop, h, Host, State, Element, Watch } from "@stencil/core";
2
+ export class PnBonusProgressbar {
3
+ constructor() {
4
+ this.icon = null;
5
+ this.heading = "";
6
+ this.theme = "blue";
7
+ this.bonuspercentage = "0%";
8
+ this.currency = "kr";
9
+ this.value = 0;
10
+ this.min = 0;
11
+ this.max = 0;
12
+ this.valuepercentage = 0;
13
+ this.progresspercentage = 0;
14
+ this.levelValues = [];
15
+ this.currentLevelAdjustedValue = 0;
16
+ }
17
+ componentWillLoad() {
18
+ this.setInitialValues();
19
+ this.setValuePercentage();
20
+ }
21
+ setInitialValues() {
22
+ const levelElements = Array.from(this.hostElement.querySelectorAll('pn-bonus-progressbar-level:not([current])'));
23
+ this.currentLevelAdjustedValue = this.value;
24
+ this.levelValues = levelElements.map((elm) => {
25
+ return parseInt(elm.getAttribute("value"), 10);
26
+ });
27
+ if (!this.max) {
28
+ if (this.levelValues && this.levelValues.length > 0) {
29
+ const newMax = this.levelValues.slice(-1)[0];
30
+ this.max = Math.floor(newMax * 1.05);
31
+ }
32
+ }
33
+ if (!this.min) {
34
+ const suggestedMin = Math.floor(this.value * 0.9);
35
+ if (suggestedMin > 0) {
36
+ this.min = suggestedMin;
37
+ }
38
+ }
39
+ if (this.value > this.max) {
40
+ this.currentLevelAdjustedValue = 100;
41
+ }
42
+ }
43
+ setValuePercentage() {
44
+ this.valuepercentage = (this.value / (this.max)) * 100;
45
+ this.progresspercentage = ((this.value - this.min) / (this.max - this.min)) * 100;
46
+ if (this.progresspercentage < 0) {
47
+ if (this.levelValues && this.levelValues.length && this.levelValues[0] < this.value) {
48
+ this.min = Math.floor(this.levelValues[0] * .95);
49
+ }
50
+ else {
51
+ this.min = Math.floor(this.value * .95);
52
+ }
53
+ }
54
+ if (this.progresspercentage > 100) {
55
+ this.progresspercentage = 100;
56
+ const newMax = this.levelValues.slice(-1)[0];
57
+ this.max = Math.floor(newMax * 1.05);
58
+ }
59
+ }
60
+ iconColor() {
61
+ switch (this.theme) {
62
+ case 'red':
63
+ return 'coral700';
64
+ case 'blue':
65
+ default:
66
+ return 'blue700';
67
+ }
68
+ }
69
+ render() {
70
+ return (h(Host, null,
71
+ h("div", { class: "bonusprogressbar-top" },
72
+ this.icon ? (h("div", { class: "bonusprogressbar-top-icon" },
73
+ h("pn-icon", { symbol: "stamp", small: "false", color: this.iconColor() }))) : {},
74
+ h("h4", { class: "bonusprogressbar-top-heading" }, this.heading),
75
+ h("strong", { class: "bonusprogressbar-top-percentage" }, this.bonuspercentage)),
76
+ h("div", { class: "bonusprogressbar-wrapper" },
77
+ h("progress", { class: "bonusprogressbar-progress", value: this.progresspercentage, max: "100" }),
78
+ h("pn-bonus-progressbar-level", { current: true, value: this.value, visualpercentage: this.currentLevelAdjustedValue, bonuspercentage: this.bonuspercentage }),
79
+ h("slot", null))));
80
+ }
81
+ static get is() { return "pn-bonus-progressbar"; }
82
+ static get originalStyleUrls() { return {
83
+ "$": ["pn-bonus-progressbar.scss"]
84
+ }; }
85
+ static get styleUrls() { return {
86
+ "$": ["pn-bonus-progressbar.css"]
87
+ }; }
88
+ static get properties() { return {
89
+ "icon": {
90
+ "type": "string",
91
+ "mutable": false,
92
+ "complexType": {
93
+ "original": "string",
94
+ "resolved": "string",
95
+ "references": {}
96
+ },
97
+ "required": false,
98
+ "optional": false,
99
+ "docs": {
100
+ "tags": [],
101
+ "text": ""
102
+ },
103
+ "attribute": "icon",
104
+ "reflect": false,
105
+ "defaultValue": "null"
106
+ },
107
+ "heading": {
108
+ "type": "string",
109
+ "mutable": false,
110
+ "complexType": {
111
+ "original": "string",
112
+ "resolved": "string",
113
+ "references": {}
114
+ },
115
+ "required": false,
116
+ "optional": false,
117
+ "docs": {
118
+ "tags": [],
119
+ "text": ""
120
+ },
121
+ "attribute": "heading",
122
+ "reflect": false,
123
+ "defaultValue": "\"\""
124
+ },
125
+ "theme": {
126
+ "type": "string",
127
+ "mutable": false,
128
+ "complexType": {
129
+ "original": "string",
130
+ "resolved": "string",
131
+ "references": {}
132
+ },
133
+ "required": false,
134
+ "optional": false,
135
+ "docs": {
136
+ "tags": [],
137
+ "text": ""
138
+ },
139
+ "attribute": "theme",
140
+ "reflect": true,
141
+ "defaultValue": "\"blue\""
142
+ },
143
+ "bonuspercentage": {
144
+ "type": "string",
145
+ "mutable": false,
146
+ "complexType": {
147
+ "original": "string",
148
+ "resolved": "string",
149
+ "references": {}
150
+ },
151
+ "required": false,
152
+ "optional": false,
153
+ "docs": {
154
+ "tags": [],
155
+ "text": ""
156
+ },
157
+ "attribute": "bonuspercentage",
158
+ "reflect": false,
159
+ "defaultValue": "\"0%\""
160
+ },
161
+ "currency": {
162
+ "type": "string",
163
+ "mutable": false,
164
+ "complexType": {
165
+ "original": "string",
166
+ "resolved": "string",
167
+ "references": {}
168
+ },
169
+ "required": false,
170
+ "optional": false,
171
+ "docs": {
172
+ "tags": [],
173
+ "text": ""
174
+ },
175
+ "attribute": "currency",
176
+ "reflect": true,
177
+ "defaultValue": "\"kr\""
178
+ },
179
+ "value": {
180
+ "type": "number",
181
+ "mutable": true,
182
+ "complexType": {
183
+ "original": "number",
184
+ "resolved": "number",
185
+ "references": {}
186
+ },
187
+ "required": false,
188
+ "optional": false,
189
+ "docs": {
190
+ "tags": [],
191
+ "text": ""
192
+ },
193
+ "attribute": "value",
194
+ "reflect": true,
195
+ "defaultValue": "0"
196
+ },
197
+ "min": {
198
+ "type": "number",
199
+ "mutable": true,
200
+ "complexType": {
201
+ "original": "number",
202
+ "resolved": "number",
203
+ "references": {}
204
+ },
205
+ "required": false,
206
+ "optional": false,
207
+ "docs": {
208
+ "tags": [],
209
+ "text": ""
210
+ },
211
+ "attribute": "min",
212
+ "reflect": true,
213
+ "defaultValue": "0"
214
+ },
215
+ "max": {
216
+ "type": "number",
217
+ "mutable": true,
218
+ "complexType": {
219
+ "original": "number",
220
+ "resolved": "number",
221
+ "references": {}
222
+ },
223
+ "required": false,
224
+ "optional": false,
225
+ "docs": {
226
+ "tags": [],
227
+ "text": ""
228
+ },
229
+ "attribute": "max",
230
+ "reflect": true,
231
+ "defaultValue": "0"
232
+ }
233
+ }; }
234
+ static get states() { return {
235
+ "valuepercentage": {},
236
+ "progresspercentage": {},
237
+ "levelValues": {},
238
+ "currentLevelAdjustedValue": {}
239
+ }; }
240
+ static get elementRef() { return "hostElement"; }
241
+ static get watchers() { return [{
242
+ "propName": "currentLevelAdjustedValue",
243
+ "methodName": "setValuePercentage"
244
+ }, {
245
+ "propName": "value",
246
+ "methodName": "setValuePercentage"
247
+ }, {
248
+ "propName": "min",
249
+ "methodName": "setValuePercentage"
250
+ }, {
251
+ "propName": "max",
252
+ "methodName": "setValuePercentage"
253
+ }]; }
254
+ }
@@ -0,0 +1,79 @@
1
+ import readme from "./readme.md";
2
+
3
+ export default {
4
+ title: "input/Bonus progressbar",
5
+ parameters: {
6
+ notes: readme,
7
+ layout: 'centered'
8
+ },
9
+ };
10
+
11
+ const Template = ({ ...args }) => {
12
+ return `
13
+ <div style="width:380px;margin-bottom:3em;">
14
+ <pn-bonus-progressbar
15
+ value="125000"
16
+
17
+ icon="stamp"
18
+ theme="blue"
19
+ bonuspercentage="7%"
20
+ heading="Din rabatt på frimärken">
21
+ <pn-bonus-progressbar-level value="250000" bonuspercentage="7.5%"></pn-bonus-progressbar-level>
22
+ <pn-bonus-progressbar-level value="265000" bonuspercentage="8%"></pn-bonus-progressbar-level>
23
+ <pn-bonus-progressbar-level value="300000" bonuspercentage="9%"></pn-bonus-progressbar-level>
24
+ </pn-bonus-progressbar>
25
+ </div>
26
+ <div style="width:380px;margin-bottom:3em;">
27
+ <pn-bonus-progressbar
28
+ value="50000"
29
+ icon="stamp"
30
+ theme="blue"
31
+ bonuspercentage="7%"
32
+ heading="Din rabatt på frimärken">
33
+ <pn-bonus-progressbar-level value="250000" bonuspercentage="7.5%"></pn-bonus-progressbar-level>
34
+ <pn-bonus-progressbar-level value="265000" bonuspercentage="8%"></pn-bonus-progressbar-level>
35
+ <pn-bonus-progressbar-level value="300000" bonuspercentage="9%"></pn-bonus-progressbar-level>
36
+ </pn-bonus-progressbar>
37
+ </div>
38
+
39
+ <div style="width:380px;margin-bottom:3em;">
40
+ <pn-bonus-progressbar
41
+ value="200000"
42
+ icon="stamp"
43
+ theme="blue"
44
+ bonuspercentage="7%"
45
+ heading="Din rabatt på frimärken">
46
+ <pn-bonus-progressbar-level value="250000" bonuspercentage="7.5%"></pn-bonus-progressbar-level>
47
+ <pn-bonus-progressbar-level value="265000" bonuspercentage="8%"></pn-bonus-progressbar-level>
48
+ <pn-bonus-progressbar-level value="300000" bonuspercentage="9%"></pn-bonus-progressbar-level>
49
+ </pn-bonus-progressbar>
50
+ </div>
51
+ <div style="width:380px;margin-bottom:3em;">
52
+ <pn-bonus-progressbar
53
+ value="500000"
54
+ icon="stamp"
55
+ bonuspercentage="9%"
56
+ heading="Din rabatt på frimärken">
57
+ <pn-bonus-progressbar-level value="250000" bonuspercentage="7.5%"></pn-bonus-progressbar-level>
58
+ <pn-bonus-progressbar-level value="400000" bonuspercentage="8%"></pn-bonus-progressbar-level>
59
+ </pn-bonus-progressbar>
60
+ </div>
61
+ <div style="width:380px;margin-bottom:3em;">
62
+ <pn-bonus-progressbar
63
+ value="50000"
64
+ icon="box"
65
+ theme="red"
66
+ bonuspercentage="7%"
67
+ heading="Din rabatt på varor">
68
+ <pn-bonus-progressbar-level value="250000" bonuspercentage="7.5%"></pn-bonus-progressbar-level>
69
+ <pn-bonus-progressbar-level value="265000" bonuspercentage="8%"></pn-bonus-progressbar-level>
70
+ <pn-bonus-progressbar-level value="300000" bonuspercentage="9%"></pn-bonus-progressbar-level>
71
+ </pn-bonus-progressbar>
72
+ </div>
73
+ `;
74
+ };
75
+
76
+ export const Primary = Template.bind({});
77
+ Primary.args = {
78
+
79
+ };