@duetds/components 8.6.0 → 8.6.2

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 (118) hide show
  1. package/hydrate/index.js +52 -170
  2. package/lib/cjs/duet-action-button.cjs.entry.js +5 -6
  3. package/lib/cjs/duet-banner.cjs.entry.js +10 -7
  4. package/lib/cjs/duet-caption_4.cjs.entry.js +5 -2
  5. package/lib/cjs/duet-choice_2.cjs.entry.js +7 -0
  6. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +2 -34
  7. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -37
  8. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +2 -37
  9. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -5
  10. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -37
  11. package/lib/cjs/duet.cjs.js +1 -1
  12. package/lib/cjs/loader.cjs.js +1 -1
  13. package/lib/collection/components/duet-action-button/duet-action-button.js +6 -8
  14. package/lib/collection/components/duet-banner/duet-banner.css +113 -133
  15. package/lib/collection/components/duet-banner/duet-banner.js +9 -6
  16. package/lib/collection/components/duet-choice-group/duet-choice-group.e2e.js +15 -0
  17. package/lib/collection/components/duet-choice-group/duet-choice-group.js +31 -0
  18. package/lib/collection/components/duet-link/duet-link.css +3 -0
  19. package/lib/collection/components/duet-link/duet-link.js +39 -1
  20. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.css +10 -0
  21. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +1 -38
  22. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.css +10 -0
  23. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +1 -41
  24. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.css +10 -0
  25. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +1 -41
  26. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +10 -0
  27. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +2 -6
  28. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.css +10 -0
  29. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -41
  30. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +4 -0
  31. package/lib/collection/components/duet-upload-item/duet-upload-item.js +4 -0
  32. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  33. package/lib/dist-custom-elements/duet-banner.js +10 -7
  34. package/lib/dist-custom-elements/duet-choice-group.js +9 -1
  35. package/lib/dist-custom-elements/duet-contact-card.js +1 -1
  36. package/lib/dist-custom-elements/duet-date-picker.js +1 -1
  37. package/lib/dist-custom-elements/duet-editable-table.js +1 -1
  38. package/lib/dist-custom-elements/duet-link.js +1 -1
  39. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -35
  40. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -38
  41. package/lib/dist-custom-elements/duet-menu-bar-link.js +3 -39
  42. package/lib/dist-custom-elements/duet-pagination.js +1 -1
  43. package/lib/dist-custom-elements/duet-range-stepper.js +1 -1
  44. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -6
  45. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -39
  46. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  47. package/lib/dist-custom-elements/duet-upload.js +3 -3
  48. package/lib/dist-custom-elements/{p-68ba7bf1.js → p-2f410810.js} +7 -2
  49. package/lib/dist-custom-elements/{p-24693e9a.js → p-e10f446d.js} +2 -2
  50. package/lib/dist-custom-elements/{p-03152b20.js → p-f4ac6968.js} +5 -6
  51. package/lib/duet/duet.esm.js +1 -1
  52. package/lib/duet/{p-c9370d43.system.entry.js → p-0fc721ab.system.entry.js} +1 -1
  53. package/lib/duet/p-25048bf8.system.entry.js +4 -0
  54. package/lib/duet/{p-aba91113.system.entry.js → p-27363096.system.entry.js} +1 -1
  55. package/lib/duet/{p-83238fe7.entry.js → p-436fcaf7.entry.js} +1 -1
  56. package/lib/duet/p-51e3af7b.system.entry.js +4 -0
  57. package/lib/duet/p-5c8e3667.entry.js +4 -0
  58. package/lib/duet/p-6151635f.system.js +1 -1
  59. package/lib/duet/p-69e67b58.entry.js +4 -0
  60. package/lib/duet/p-70b705ad.entry.js +4 -0
  61. package/lib/duet/p-723e165b.system.entry.js +4 -0
  62. package/lib/duet/p-82d1fd63.system.entry.js +4 -0
  63. package/lib/duet/p-9065a864.entry.js +4 -0
  64. package/lib/duet/p-9ac25886.system.entry.js +4 -0
  65. package/lib/duet/{p-cd87960a.system.entry.js → p-a659cdb5.system.entry.js} +1 -1
  66. package/lib/duet/p-b02ca265.entry.js +4 -0
  67. package/lib/duet/p-c12d34fd.system.entry.js +4 -0
  68. package/lib/duet/p-c776e072.entry.js +4 -0
  69. package/lib/duet/p-d1d79e0c.entry.js +4 -0
  70. package/lib/duet/p-ffab115e.entry.js +4 -0
  71. package/lib/esm/duet-action-button.entry.js +5 -6
  72. package/lib/esm/duet-banner.entry.js +10 -7
  73. package/lib/esm/duet-caption_4.entry.js +5 -2
  74. package/lib/esm/duet-choice_2.entry.js +7 -0
  75. package/lib/esm/duet-menu-bar-button.entry.js +2 -34
  76. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -37
  77. package/lib/esm/duet-menu-bar-link.entry.js +2 -37
  78. package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -5
  79. package/lib/esm/duet-submenu-bar-link.entry.js +2 -37
  80. package/lib/esm/duet.js +1 -1
  81. package/lib/esm/loader.js +1 -1
  82. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  83. package/lib/esm-es5/duet-banner.entry.js +1 -1
  84. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  85. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  86. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  87. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  88. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  89. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +2 -2
  90. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  91. package/lib/esm-es5/duet.js +1 -1
  92. package/lib/esm-es5/loader.js +1 -1
  93. package/lib/types/components/duet-banner/duet-banner.d.ts +1 -1
  94. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +5 -0
  95. package/lib/types/components/duet-link/duet-link.d.ts +11 -0
  96. package/lib/types/components/duet-menu-bar-button/duet-menu-bar-button.d.ts +1 -7
  97. package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +1 -7
  98. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +1 -10
  99. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +1 -2
  100. package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +1 -10
  101. package/lib/types/components/duet-upload-aria-status/duet-upload-aria-status.d.ts +4 -0
  102. package/lib/types/components/duet-upload-item/duet-upload-item.d.ts +4 -0
  103. package/lib/types/components.d.ts +17 -0
  104. package/package.json +2 -2
  105. package/lib/duet/p-0de8d0c0.system.entry.js +0 -4
  106. package/lib/duet/p-29491f9f.entry.js +0 -4
  107. package/lib/duet/p-36f031e7.entry.js +0 -4
  108. package/lib/duet/p-3f2d14e3.system.entry.js +0 -4
  109. package/lib/duet/p-8cc30578.entry.js +0 -4
  110. package/lib/duet/p-9735b2f9.entry.js +0 -4
  111. package/lib/duet/p-9be9b4d2.entry.js +0 -4
  112. package/lib/duet/p-b2fc4b72.system.entry.js +0 -4
  113. package/lib/duet/p-bece15cd.system.entry.js +0 -4
  114. package/lib/duet/p-cba00852.entry.js +0 -4
  115. package/lib/duet/p-cc949a27.entry.js +0 -4
  116. package/lib/duet/p-e614e39f.system.entry.js +0 -4
  117. package/lib/duet/p-e7fd0d14.entry.js +0 -4
  118. package/lib/duet/p-e86cafa6.system.entry.js +0 -4
@@ -41,7 +41,7 @@ const DuetActionButton = class {
41
41
  this.iconName = "action-arrow-left-small";
42
42
  this.iconColor = "currentColor";
43
43
  this.iconSize = "xx-small";
44
- this.actionName = "default-action";
44
+ this.actionName = undefined;
45
45
  this.actionId = undefined;
46
46
  this.actionMeta = undefined;
47
47
  this.disabled = false;
@@ -69,14 +69,13 @@ const DuetActionButton = class {
69
69
  }
70
70
  //return readable title for the action-button
71
71
  getTitle() {
72
- let titleString = "";
73
72
  if (typeof this.accessibleTitle === "string") {
74
- titleString = this.accessibleTitle;
73
+ return this.accessibleTitle;
75
74
  }
76
- if (this.accessibleTitle === true) {
77
- titleString = tokenUtils.capitalizeFirstLetter(`${this.actionName}`);
75
+ if (this.accessibleTitle === true && this.actionName) {
76
+ return tokenUtils.capitalizeFirstLetter(`${this.actionName}`);
78
77
  }
79
- return titleString;
78
+ return null;
80
79
  }
81
80
  async onMouseHandler(e) {
82
81
  e.preventDefault();
@@ -19,12 +19,12 @@ const DuetPicture = ({ img, sources }) => {
19
19
  index.h("img", Object.assign({}, img))));
20
20
  };
21
21
 
22
- const duetBannerCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:36px !important;margin-bottom:36px !important;display:flex;justify-content:center;width:auto}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-banner{display:grid;width:100%;height:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;text-align:left;border-radius:24px}.duet-banner.duet-p-0{padding:0 !important}.duet-banner.duet-m-0{margin:0 !important}.duet-banner .visual{position:relative;overflow:hidden;border-top-left-radius:24px;border-top-right-radius:24px}.duet-banner .visual .image-container{position:relative;width:400px;height:400px;overflow:hidden;border-radius:20%;transform:rotate(7deg)}.duet-banner .visual .image{position:relative;top:20px;width:100%;height:100%;transform:rotate(-7deg);object-fit:cover}.duet-banner .visual .icon{position:absolute}.duet-banner .content{display:flex;flex-direction:column;gap:8px;padding:0 20px 36px}.duet-banner .content .description{hyphens:auto}.duet-banner .action{display:flex;flex-direction:column;flex-grow:1;align-items:flex-start;justify-content:flex-end;padding-top:16px}.duet-banner.small{grid-template-rows:335px 1fr;max-width:335px}.duet-banner.small .visual{border-top-left-radius:24px;border-top-right-radius:24px}.duet-banner.small .visual .image-container{top:-130px;left:-40px}.duet-banner.small .visual .icon{bottom:30px;left:15px}.duet-banner.medium{grid-template-rows:none;grid-template-columns:50% 50%;max-width:542px;height:288px}.duet-banner.medium .visual{border-top-left-radius:24px;border-bottom-left-radius:24px}.duet-banner.medium .visual .image-container{position:absolute;bottom:-72px;left:-178px}.duet-banner.medium .visual .image{width:auto;height:auto}.duet-banner.medium .visual .icon{top:36px;left:168px}.duet-banner.medium .content{align-items:flex-start;justify-content:center;padding:0 72px 0 0}.duet-banner.medium .action{flex-grow:0}.duet-banner.large{grid-template-rows:none;grid-template-columns:50% 50%;max-width:1112px;height:320px;max-height:none}.duet-banner.large .visual{border-top-left-radius:24px;border-bottom-left-radius:24px}.duet-banner.large .visual .image-container{position:relative;top:-30px;left:-30px}.duet-banner.large .visual .image{top:-15px;left:30px;width:100%;height:100%}.duet-banner.large .visual .icon{top:40px;bottom:auto;left:335px}.duet-banner.large .content{align-items:flex-start;justify-content:center;padding:0 72px 0 0}.duet-banner.large .action{flex-grow:0}.duet-banner.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-banner.duet-theme-turva .visual .image-container{width:526px;height:456px;transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}.duet-banner.duet-theme-turva .visual .image{transform:none}.duet-banner.duet-theme-turva.small .visual .image-container{top:-164px;left:-147px}.duet-banner.duet-theme-turva.small .visual .image{top:0;left:0}.duet-banner.duet-theme-turva.small .visual .icon{bottom:15px}.duet-banner.duet-theme-turva.medium .visual .image-container{top:-54.923px;left:-185px;width:410px;height:422px}.duet-banner.duet-theme-turva.medium .visual .image{top:0;left:0}.duet-banner.duet-theme-turva.large .visual .image-container{top:-54.923px;left:-147px;width:526px;height:456px}.duet-banner.duet-theme-turva.large .visual .image{top:0;left:0}.duet-banner.duet-theme-turva.large .visual .icon{bottom:auto;left:295px}";
22
+ const duetBannerCss = "*,\n*::after,\n*::before {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n}\n\n:host {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n margin-right: 36px !important;\n margin-bottom: 36px !important;\n display: flex;\n justify-content: center;\n width: auto;\n container: duet-banner-container;\n container-type: inline-size;\n}\n:host:last-child, :host:last-of-type {\n margin-right: 0 !important;\n}\n\n:host(.duet-m-0) {\n margin: 0 !important;\n}\n\n.duet-banner {\n display: grid;\n grid-template-rows: min-content 1fr;\n width: 100%;\n height: 100%;\n font-family: \"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n text-align: left;\n border-radius: 16px;\n /* stylelint-disable */\n /* stylelint-disable */\n /* stylelint-disable */\n}\n.duet-banner.duet-p-0 {\n padding: 0 !important;\n}\n.duet-banner.duet-m-0 {\n margin: 0 !important;\n}\n.duet-banner .visual {\n position: relative;\n display: none;\n overflow: hidden;\n /* stylelint-disable */\n}\n@container duet-banner-container (min-width: 0px) {\n .duet-banner .visual {\n /* stylelint-enable */\n display: block;\n }\n}\n.duet-banner .visual .image-container {\n position: relative;\n aspect-ratio: 2/1;\n overflow: hidden;\n}\n.duet-banner .visual .image {\n position: relative;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n.duet-banner .visual .icon {\n position: absolute;\n}\n.duet-banner .visual .brand-shape {\n position: absolute;\n top: 0;\n left: 72%;\n display: none;\n width: 100%;\n height: 100%;\n background: url(\"data:image/svg+xml,%3Csvg%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20344%22%20fill%3D%22none%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M2.72641e-07%2091.1902C0.000476976%2097.9034%200.626077%20104.726%201.92282%20111.592L42.7493%20327.771C43.8045%20333.358%2045.2667%20338.776%2047.0996%20344H160V0H51.1439C19.7799%2019.1253%200.00268143%2053.4178%202.72641e-07%2091.1749C-9.08807e-08%2091.18%20-9.08875e-08%2091.1851%202.72641e-07%2091.1902Z%22%20fill%3D%22%23E6F2F8%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E\");\n}\n.duet-banner .content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 16px 20px 28px;\n}\n.duet-banner .content .description {\n hyphens: auto;\n}\n.duet-banner .action {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n align-items: flex-start;\n justify-content: flex-end;\n padding-top: 16px;\n}\n.duet-banner .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n}\n.duet-banner .visual .image-container {\n width: 100%;\n height: auto;\n border-radius: 0;\n}\n.duet-banner .visual .icon {\n bottom: 30px;\n left: 15px;\n}\n.duet-banner.duet-theme-turva {\n font-family: \"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n.duet-banner.duet-theme-turva .visual .brand-shape {\n background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 160 344' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_7920_3801)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.58983 142.533C0.751086 155.147 0.0746585 167.857 0.00796847 179.225C0.00263853 179.814 0 180.409 0 181.007C0 194.845 1.41172 210.806 3.58065 223.171C5.6528 234.934 8.58716 246.495 12.5981 257.779C21.2249 282.059 34.0151 304.109 50.8401 323.977C56.7824 330.993 63.0921 337.68 69.8162 344H160V0H65.0733C52.1771 10.7866 41.4339 23.4177 32.7528 37.7978C21.1154 57.0822 14.0367 77.9583 9.75424 99.7913C9.09214 103.157 8.55049 106.545 8.00901 109.933C7.75185 111.542 7.49474 113.15 7.22478 114.756C6.74308 117.618 6.24543 120.479 5.74776 123.34C4.6361 129.729 3.52432 136.12 2.58983 142.533Z' fill='%23F5F5F7'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_7920_3801'%3E%3Crect width='160' height='344' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\");\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner {\n /* stylelint-enable */\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 16px;\n }\n .duet-banner .visual .image-container {\n height: 100%;\n }\n .duet-banner .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner .visual .icon {\n top: 36px;\n left: 168px;\n }\n .duet-banner .visual .brand-shape {\n display: block;\n }\n .duet-banner .content {\n align-items: flex-start;\n justify-content: center;\n padding: 28px 28px 28px 0;\n }\n .duet-banner .action {\n flex-grow: 0;\n }\n}\n@container duet-banner-container (min-width: 586px) {\n .duet-banner {\n /* stylelint-enable */\n }\n .duet-banner .visual .brand-shape {\n left: 80%;\n }\n}\n@container duet-banner-container (min-width: 900px) {\n .duet-banner {\n /* stylelint-enable */\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner .visual {\n border-top-left-radius: 16px;\n border-bottom-left-radius: 16px;\n }\n .duet-banner .visual .image-container {\n height: 100%;\n }\n .duet-banner .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner .visual .icon {\n top: 40px;\n bottom: auto;\n left: 335px;\n }\n .duet-banner .visual .brand-shape {\n display: block;\n }\n .duet-banner .content {\n align-items: flex-start;\n justify-content: center;\n padding: 48px 48px 48px 0;\n }\n .duet-banner .action {\n flex-grow: 0;\n }\n}";
23
23
 
24
24
  const DuetBanner = class {
25
25
  constructor(hostRef) {
26
26
  index.registerInstance(this, hostRef);
27
- this.checkBannerSize = () => {
27
+ this.checkCurrentSize = () => {
28
28
  const elementSize = this.element.clientWidth;
29
29
  if (elementSize < 500 || this.size === "small") {
30
30
  this.currentSize = "small";
@@ -41,12 +41,15 @@ const DuetBanner = class {
41
41
  * Default to smaller button size for small and medium banners.
42
42
  */
43
43
  this.setButtonSize = () => {
44
- if (this.hasActionSlot) {
44
+ if (this.hasActionSlot && this.currentSize) {
45
45
  const buttons = this.element.querySelectorAll("[slot='action'] duet-button, duet-button[slot='action']");
46
46
  for (const button of buttons) {
47
47
  if (button && button.getAttribute("size") === null && this.currentSize !== "large") {
48
48
  button.size = "small";
49
49
  }
50
+ else if (button && button.getAttribute("size") === null && this.currentSize === "large") {
51
+ button.size = "medium";
52
+ }
50
53
  }
51
54
  }
52
55
  };
@@ -75,13 +78,13 @@ const DuetBanner = class {
75
78
  this.setButtonSize();
76
79
  }
77
80
  connectedCallback() {
78
- window.addEventListener("resize", this.checkBannerSize);
81
+ window.addEventListener("resize", this.checkCurrentSize);
79
82
  }
80
83
  disconnectedCallback() {
81
- window.removeEventListener("resize", this.checkBannerSize);
84
+ window.removeEventListener("resize", this.checkCurrentSize);
82
85
  }
83
86
  componentDidRender() {
84
- this.checkBannerSize();
87
+ this.checkCurrentSize();
85
88
  }
86
89
  /**
87
90
  * render() function
@@ -102,7 +105,7 @@ const DuetBanner = class {
102
105
  "duet-banner": true,
103
106
  "duet-theme-turva": this.theme === "turva",
104
107
  [this.currentSize]: true,
105
- }, style: bannerStyles }, index.h("div", { class: "visual" }, index.h("div", { class: "image-container" }, this.image && index.h(DuetPicture, Object.assign({}, pictureSource))), this.icon && (index.h("duet-icon", { theme: this.theme, class: "icon", name: this.icon, shape: "brand", size: this.currentSize === "large" ? "xx-large" : "x-large", color: this.iconColor, background: this.iconBackgroundColor, "background-rotation": "7", "background-opacity": "0.85", margin: "none" }))), index.h("div", { class: "content" }, this.hasHeadingSlot && (index.h("div", { class: "heading" }, index.h("duet-heading", { theme: this.theme, level: this.headingLevel, "visual-level": this.currentSize === "large" ? "h2" : "h3", "fixed-size": true, margin: "none", color: this.textColor }, index.h("span", null, index.h("slot", { name: "heading" }))))), this.hasDescriptionSlot && (index.h("div", { class: "description", style: { color } }, index.h("slot", { name: "description" }))), this.hasActionSlot && (index.h("div", { class: "action" }, index.h("slot", { name: "action" })))))));
108
+ }, style: bannerStyles }, index.h("div", { class: "visual" }, index.h("div", { class: "image-container" }, this.image && index.h(DuetPicture, Object.assign({}, pictureSource))), 1 > 2 , index.h("div", { class: "brand-shape" })), index.h("div", { class: "content" }, this.hasHeadingSlot && (index.h("div", { class: "heading" }, index.h("duet-heading", { theme: this.theme, level: this.headingLevel, "visual-level": this.currentSize === "large" ? "h2" : "h3", "fixed-size": true, margin: "none", color: this.textColor }, index.h("span", null, index.h("slot", { name: "heading" }))))), this.hasDescriptionSlot && (index.h("div", { class: "description", style: { color } }, index.h("slot", { name: "description" }))), this.hasActionSlot && (index.h("div", { class: "action" }, index.h("slot", { name: "action" })))))));
106
109
  }
107
110
  get element() { return index.getElement(this); }
108
111
  };
@@ -95,7 +95,7 @@ DuetHeading.style = duetHeadingCss;
95
95
 
96
96
  var actionDownloadSmall={"title":"action-download-small","tags":"action download arrow down small","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M13.193 1.7c0-.658-.542-1.2-1.2-1.2-.657 0-1.199.542-1.199 1.2v8.922l-2.778-2.6a1.2 1.2 0 0 0-1.64 1.751l4.797 4.498c.458.43 1.183.43 1.64 0l4.798-4.498c.242-.228.379-.544.379-.875a1.2 1.2 0 0 0-2.02-.876l-2.777 2.603V1.699Z\"/><path d=\"M1.5 13.544a1.5 1.5 0 0 1 1.498 1.5v1.498a1.61 1.61 0 0 0 .418 1.096h-.003c0-.002.036.032.13.082.39.194.818.305 1.254.321H19.19a3.085 3.085 0 0 0 1.255-.32c.096-.051.13-.085.13-.085.27-.3.42-.69.414-1.096v-1.5c0-.822.677-1.498 1.5-1.498.822 0 1.499.676 1.499 1.499v1.499c0 1.16-.43 2.293-1.224 3.142-.518.557-1.235.876-1.791 1.056a5.976 5.976 0 0 1-1.783.302H4.797a6.053 6.053 0 0 1-1.782-.302c-.556-.18-1.274-.5-1.792-1.056A4.613 4.613 0 0 1 0 16.542v-1.499a1.5 1.5 0 0 1 1.5-1.499Z\"/></svg>"};
97
97
 
98
- const duetLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline}:host(.duet-link-block){display:block}:host(.duet-link-button){margin-right:8px !important;margin-bottom:12px !important;display:inline-block;width:100%}:host(.duet-link-button):last-child,:host(.duet-link-button):last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-link{display:inline;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:rgb(0, 98, 154);text-decoration:underline;border-radius:4px;transition:300ms ease}.duet-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-link:focus,.duet-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(173, 11, 43)}.duet-link:hover{color:rgb(0, 77, 128);text-decoration:none}.duet-link:hover.duet-theme-turva{color:rgb(148, 9, 37)}.duet-link:active{opacity:0.75;transition:none}button{font-size:inherit;cursor:pointer}.duet-link-is-external.duet-link:not(.block,.button),.duet-link-is-download.duet-link:not(.block,.button){text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button) .duet-link-content,.duet-link-is-download.duet-link:not(.block,.button) .duet-link-content{text-decoration:underline}.duet-link-is-external.duet-link:not(.block,.button):hover>.duet-link-content,.duet-link-is-download.duet-link:not(.block,.button):hover>.duet-link-content{text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button) .duet-link-icon-tail,.duet-link-is-download.duet-link:not(.block,.button) .duet-link-icon-tail{text-decoration:none;white-space:nowrap}.duet-tab-to-link{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:rgb(0, 119, 179);text-align:center;text-decoration:none;background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:none}.duet-tab-to-link.duet-theme-turva{min-width:120px;color:rgb(23, 28, 58)}@media (min-width: 106.25em){.duet-tab-to-link{margin-left:20px}}.duet-tab-to-link:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}.block.duet-link{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:16px;font-weight:600;color:rgb(0, 41, 77);text-decoration:none}.block.duet-link.duet-link-has-icon{grid-template-columns:auto 1fr auto}.block.duet-link.none{padding:0}.block .block__content{position:relative;bottom:2px}.block .block__chevron{align-self:center}.block .block__chevron-icon{transition:300ms ease}.block:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}.duet-link.button{display:flex;gap:12px;align-items:center;width:100%;min-height:48px;padding:12px;padding-right:20px;text-decoration:none;background-color:rgb(255, 255, 255);border:solid 1px rgb(207, 210, 212);border-radius:12px;outline:0 solid rgb(207, 210, 212);outline-offset:-2px;transition:all 300ms ease}.duet-link.button>*{flex-shrink:0}.duet-link.button .duet-link-content{flex-grow:1;flex-shrink:1;font-size:1rem;font-weight:600;color:rgb(0, 41, 77);text-align:left}.duet-link.button .icon-wrap{display:flex;align-items:center;justify-content:center}.duet-link.button.duet-link-has-icon-background{min-height:60px}.duet-link.button.duet-link-has-icon-background .icon-wrap{width:36px;height:36px;border-radius:8px}.duet-link.button:hover{border-color:rgb(0, 119, 179);outline:2px solid rgb(0, 119, 179)}@media (min-width: 48em){.duet-link.button{gap:16px;min-height:60px;border-radius:16px}.duet-link.button.duet-link-has-icon-background{min-height:72px}.duet-link.button.duet-link-has-icon-background .icon-wrap{width:48px;height:48px;border-radius:12px}.duet-link.button .duet-link-content{font-size:1.1rem}}.duet-link.button.duet-theme-turva{border-color:rgb(207, 207, 209)}.duet-link.button.duet-theme-turva .duet-link-content{color:rgb(23, 28, 58)}.duet-link.button.duet-theme-turva:hover{border-color:rgb(198, 12, 48);outline-color:rgb(198, 12, 48)}.duet-link.button:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}";
98
+ const duetLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline}:host(.duet-link-block){display:block}:host(.duet-link-button){margin-right:8px !important;margin-bottom:12px !important;display:inline-block;width:100%}:host(.duet-link-button):last-child,:host(.duet-link-button):last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-link{display:inline;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:rgb(0, 98, 154);text-decoration:underline;border-radius:4px;transition:300ms ease}.duet-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-link:focus,.duet-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(173, 11, 43)}.duet-link:hover{color:rgb(0, 77, 128);text-decoration:none}.duet-link:hover.duet-theme-turva{color:rgb(148, 9, 37)}.duet-link:active{opacity:0.75;transition:none}button{font-size:inherit;cursor:pointer}.duet-link-is-external.duet-link:not(.block,.button),.duet-link-is-download.duet-link:not(.block,.button){text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button) .duet-link-content,.duet-link-is-download.duet-link:not(.block,.button) .duet-link-content{text-decoration:underline}.duet-link-is-external.duet-link:not(.block,.button):hover>.duet-link-content,.duet-link-is-download.duet-link:not(.block,.button):hover>.duet-link-content{text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button) .duet-link-icon-tail,.duet-link-is-download.duet-link:not(.block,.button) .duet-link-icon-tail{text-decoration:none;white-space:nowrap}.duet-tab-to-link{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:rgb(0, 119, 179);text-align:center;text-decoration:none;background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:none}.duet-tab-to-link.duet-theme-turva{min-width:120px;color:rgb(23, 28, 58)}@media (min-width: 106.25em){.duet-tab-to-link{margin-left:20px}}.duet-tab-to-link:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}.block.duet-link{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:16px;font-weight:600;color:rgb(0, 41, 77);text-decoration:none}.block.duet-link.duet-link-has-icon{grid-template-columns:auto 1fr auto}.block.duet-link.none{padding:0}.block .block__icon{display:flex}.block .block__content{position:relative;bottom:2px}.block .block__chevron{align-self:center}.block .block__chevron-icon{transition:300ms ease}.block:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}.duet-link.button{display:flex;gap:12px;align-items:center;width:100%;min-height:48px;padding:12px;padding-right:20px;text-decoration:none;background-color:rgb(255, 255, 255);border:solid 1px rgb(207, 210, 212);border-radius:12px;outline:0 solid rgb(207, 210, 212);outline-offset:-2px;transition:all 300ms ease}.duet-link.button>*{flex-shrink:0}.duet-link.button .duet-link-content{flex-grow:1;flex-shrink:1;font-size:1rem;font-weight:600;color:rgb(0, 41, 77);text-align:left}.duet-link.button .icon-wrap{display:flex;align-items:center;justify-content:center}.duet-link.button.duet-link-has-icon-background{min-height:60px}.duet-link.button.duet-link-has-icon-background .icon-wrap{width:36px;height:36px;border-radius:8px}.duet-link.button:hover{border-color:rgb(0, 119, 179);outline:2px solid rgb(0, 119, 179)}@media (min-width: 48em){.duet-link.button{gap:16px;min-height:60px;border-radius:16px}.duet-link.button.duet-link-has-icon-background{min-height:72px}.duet-link.button.duet-link-has-icon-background .icon-wrap{width:48px;height:48px;border-radius:12px}.duet-link.button .duet-link-content{font-size:1.1rem}}.duet-link.button.duet-theme-turva{border-color:rgb(207, 207, 209)}.duet-link.button.duet-theme-turva .duet-link-content{color:rgb(23, 28, 58)}.duet-link.button.duet-theme-turva:hover{border-color:rgb(198, 12, 48);outline-color:rgb(198, 12, 48)}.duet-link.button:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}";
99
99
 
100
100
  const DuetLink = class {
101
101
  constructor(hostRef) {
@@ -107,6 +107,8 @@ const DuetLink = class {
107
107
  this.accessibleLabelExternal = languageUtils.getLocaleString(this.accessibleLabelExternalDefaults);
108
108
  this.accessibleLabelDownloadDefaults = commonStrings.DuetStringsDownloadLinkDefaults;
109
109
  this.accessibleLabelDownload = languageUtils.getLocaleString(this.accessibleLabelDownloadDefaults);
110
+ this.accessibleExpanded = undefined;
111
+ this.accessiblePopup = "false";
110
112
  this.identifier = undefined;
111
113
  this.theme = "";
112
114
  this.url = "#";
@@ -218,6 +220,7 @@ const DuetLink = class {
218
220
  */
219
221
  render() {
220
222
  const Tag = !this.url ? "button" : "a";
223
+ const isButton = Tag === "button";
221
224
  return (index.h(index.Host, { class: {
222
225
  [`duet-link-${this.variation}`]: true,
223
226
  "duet-m-0": this.margin === "none",
@@ -232,7 +235,7 @@ const DuetLink = class {
232
235
  "duet-p-0": this.padding === "none",
233
236
  [this.padding]: true,
234
237
  [this.variation]: true,
235
- }, target: this.download || !this.url ? null : this.external ? "_blank" : "_self", download: this.resolvedDownload, "aria-label": this.getAccessibleLabel(), id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.renderContent())));
238
+ }, target: this.download || !this.url ? null : this.external ? "_blank" : "_self", download: this.resolvedDownload, "aria-label": this.getAccessibleLabel(), "aria-expanded": this.accessibleExpanded != null && isButton ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null && isButton ? this.accessiblePopup.toString() : undefined, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.renderContent())));
236
239
  }
237
240
  static get delegatesFocus() { return true; }
238
241
  get element() { return index.getElement(this); }
@@ -365,6 +365,13 @@ const DuetChoiceGroup = class {
365
365
  this.initialValue = this.value;
366
366
  }
367
367
  }
368
+ /**
369
+ * @internal
370
+ * Get initial value
371
+ */
372
+ async getInitialValue() {
373
+ return this.initialValue;
374
+ }
368
375
  /**
369
376
  * Local methods
370
377
  */
@@ -6,25 +6,13 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-b77ebc31.js');
9
- const tokens = require('./tokens-d270c810.js');
10
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
11
10
 
12
- const duetMenuBarButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-menu-bar-button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:inherit;color:inherit;text-align:center;text-decoration:none;cursor:pointer}.duet-menu-bar-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-menu-bar-button:focus,.duet-menu-bar-button:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-button.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}@media (min-width: 62em){.duet-menu-bar-button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-button{padding:0 28px}}@media (min-width: 62em){.duet-menu-bar-button:hover{color:rgb(0, 119, 179)}.duet-menu-bar-button:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
11
+ const duetMenuBarButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-menu-bar-button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:inherit;color:inherit;text-align:center;text-decoration:none;cursor:pointer}.duet-menu-bar-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-menu-bar-button:focus,.duet-menu-bar-button:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-button .menu-bar-button-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-button .menu-bar-button-icon{width:16px;height:16px}}.duet-menu-bar-button.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}@media (min-width: 62em){.duet-menu-bar-button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-button{padding:0 28px}}@media (min-width: 62em){.duet-menu-bar-button:hover{color:rgb(0, 119, 179)}.duet-menu-bar-button:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
13
12
 
14
13
  const DuetMenuBarButton = class {
15
14
  constructor(hostRef) {
16
15
  index.registerInstance(this, hostRef);
17
- this.mql = [window.matchMedia(tokens.media_query_large.replace(/'/g, ""))];
18
- this.boundMqlFunctions = [];
19
- this.changeIconSize = () => {
20
- if (this.mql[0].matches) {
21
- this.iconSize = "x-small";
22
- }
23
- else {
24
- this.iconSize = "small";
25
- }
26
- };
27
- this.iconSize = "x-small";
28
16
  this.accessibleLabel = undefined;
29
17
  this.accessibleControls = undefined;
30
18
  this.accessiblePopup = "false";
@@ -45,26 +33,6 @@ const DuetMenuBarButton = class {
45
33
  componentWillLoad() {
46
34
  themeableComponent.inheritGlobalTheme(this);
47
35
  }
48
- connectedCallback() {
49
- this.changeIconSize();
50
- for (let i = 0; i < this.mql.length; i++) {
51
- // addEventListener is not available in Stencil hydrate
52
- if (this.mql[i].addEventListener) {
53
- const bound = this.changeIconSize.bind(this);
54
- this.mql[i].addEventListener("change", bound);
55
- this.boundMqlFunctions[i] = bound;
56
- }
57
- }
58
- }
59
- disconnectedCallback() {
60
- for (let i = 0; i < this.mql.length; i++) {
61
- // removeEventListener is not available in Stencil hydrate
62
- if (this.mql[i].removeEventListener) {
63
- this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
64
- }
65
- }
66
- this.boundMqlFunctions = [];
67
- }
68
36
  /**
69
37
  * Sets focus on underlying button element.
70
38
  */
@@ -81,7 +49,7 @@ const DuetMenuBarButton = class {
81
49
  return (index.h(index.Host, { role: "listitem", onfocus: () => this.setFocus() }, index.h("button", { ref: button => (this.nativeButton = button), class: {
82
50
  "duet-menu-bar-button": true,
83
51
  "duet-theme-turva": this.theme === "turva",
84
- }, "aria-controls": this.accessibleControls, "aria-label": this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined }, this.icon && (index.h("duet-icon", { theme: this.theme, size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" })), index.h("slot", null))));
52
+ }, "aria-controls": this.accessibleControls, "aria-label": this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined }, this.icon && (index.h("duet-icon", { class: "menu-bar-button-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), index.h("slot", null))));
85
53
  }
86
54
  get element() { return index.getElement(this); }
87
55
  };
@@ -6,28 +6,14 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-b77ebc31.js');
9
- const tokens = require('./tokens-d270c810.js');
10
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
11
10
  const keyboardUtils = require('./keyboard-utils-681e11ec.js');
12
11
 
13
- const duetMenuBarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}@media (min-width: 62em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 16px}}@media (min-width: 76.25em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 28px}}.duet-menu-bar-dropdown{position:relative;height:100%}.duet-menu-bar-dropdown button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 77, 128);text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){.duet-menu-bar-dropdown button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-dropdown button{padding:0 28px}}.duet-menu-bar-dropdown button:hover{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-menu-bar-dropdown button .label{display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-menu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button.active .caret{transform:rotate(180deg)}.duet-theme-turva .duet-menu-bar-dropdown button.active{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown button.active::after{position:absolute;top:auto;bottom:2px;left:0;display:block;width:100%;height:2px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(2px)}.duet-theme-turva .duet-menu-bar-dropdown button.active::after{background:rgb(198, 12, 48)}.duet-menu-bar-dropdown .items{position:absolute;top:70%;right:0%;left:auto;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:225px;padding:8px;color:rgb(0, 41, 77);background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15)}.duet-menu-bar-dropdown .items.hidden{display:none}.duet-menu-bar-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-menu-bar-dropdown.duet-theme-turva button:hover{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-dropdown.duet-theme-turva button.active{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva button.active::after{background:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}";
12
+ const duetMenuBarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}@media (min-width: 62em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 16px}}@media (min-width: 76.25em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 28px}}.duet-menu-bar-dropdown{position:relative;height:100%}.duet-menu-bar-dropdown button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 77, 128);text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){.duet-menu-bar-dropdown button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-dropdown button{padding:0 28px}}.duet-menu-bar-dropdown button:hover{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-menu-bar-dropdown button .label{display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-menu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button.active .caret{transform:rotate(180deg)}.duet-theme-turva .duet-menu-bar-dropdown button.active{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown button.active::after{position:absolute;top:auto;bottom:2px;left:0;display:block;width:100%;height:2px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(2px)}.duet-theme-turva .duet-menu-bar-dropdown button.active::after{background:rgb(198, 12, 48)}.duet-menu-bar-dropdown .menu-bar-dropdown-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-dropdown .menu-bar-dropdown-icon{width:16px;height:16px}}.duet-menu-bar-dropdown .items{position:absolute;top:70%;right:0%;left:auto;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:225px;padding:8px;color:rgb(0, 41, 77);background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15)}.duet-menu-bar-dropdown .items.hidden{display:none}.duet-menu-bar-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-menu-bar-dropdown.duet-theme-turva button:hover{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-dropdown.duet-theme-turva button.active{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva button.active::after{background:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}";
14
13
 
15
14
  const DuetMenuBarDropdown = class {
16
15
  constructor(hostRef) {
17
16
  index.registerInstance(this, hostRef);
18
- /**
19
- * Own Properties.
20
- */
21
- this.mql = [window.matchMedia(tokens.media_query_large.replace(/'/g, ""))];
22
- this.boundMqlFunctions = [];
23
- this.changeIconSize = () => {
24
- if (this.mql[0].matches) {
25
- this.iconSize = "x-small";
26
- }
27
- else {
28
- this.iconSize = "small";
29
- }
30
- };
31
17
  this.onClick = () => {
32
18
  this.open = !this.open;
33
19
  };
@@ -42,7 +28,6 @@ const DuetMenuBarDropdown = class {
42
28
  return "right";
43
29
  }
44
30
  };
45
- this.iconSize = "x-small";
46
31
  this.accessibleLabel = undefined;
47
32
  this.theme = "";
48
33
  this.open = false;
@@ -60,26 +45,6 @@ const DuetMenuBarDropdown = class {
60
45
  componentWillLoad() {
61
46
  themeableComponent.inheritGlobalTheme(this);
62
47
  }
63
- connectedCallback() {
64
- this.changeIconSize();
65
- for (let i = 0; i < this.mql.length; i++) {
66
- // addEventListener is not available in Stencil hydrate
67
- if (this.mql[i].addEventListener) {
68
- const bound = this.changeIconSize.bind(this);
69
- this.mql[i].addEventListener("change", bound);
70
- this.boundMqlFunctions[i] = bound;
71
- }
72
- }
73
- }
74
- disconnectedCallback() {
75
- for (let i = 0; i < this.mql.length; i++) {
76
- // removeEventListener is not available in Stencil hydrate
77
- if (this.mql[i].removeEventListener) {
78
- this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
79
- }
80
- }
81
- this.boundMqlFunctions = [];
82
- }
83
48
  handleEscape(e) {
84
49
  if (keyboardUtils.isEscapeKey(e)) {
85
50
  this.open = false;
@@ -104,7 +69,7 @@ const DuetMenuBarDropdown = class {
104
69
  [`duet-menu-bar-dropdown--slot-${this.getVariant()}`]: true,
105
70
  } }, index.h("button", { ref: element => (this.button = element), "aria-label": this.accessibleLabel, "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
106
71
  active: this.open,
107
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (index.h("duet-icon", { theme: this.theme, name: this.icon, size: this.iconSize, margin: "none", color: "currentColor" })), index.h("div", { class: "label" }, index.h("slot", { name: "label" }), index.h("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
72
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (index.h("duet-icon", { class: "menu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), index.h("div", { class: "label" }, index.h("slot", { name: "label" }), index.h("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
108
73
  items: true,
109
74
  hidden: !this.open,
110
75
  } }, index.h("slot", null)))));
@@ -6,28 +6,13 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-b77ebc31.js');
9
- const tokens = require('./tokens-d270c810.js');
10
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
11
10
 
12
- const duetMenuBarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-menu-bar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:inherit;text-align:center;text-decoration:none;white-space:nowrap}.duet-menu-bar-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-menu-bar-link:focus,.duet-menu-bar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}@media (min-width: 62em){.duet-menu-bar-link{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-link{padding:0 28px}}.duet-menu-bar-link.active{color:rgb(0, 119, 179)}.duet-menu-bar-link.active::after{position:absolute;top:auto;bottom:2px;left:0;z-index:1;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(2px)}@media (min-width: 62em){.duet-menu-bar-link.active::after{z-index:auto;height:2px}}.duet-menu-bar-link.active.duet-theme-turva{color:rgb(198, 12, 48)}.duet-menu-bar-link.active.duet-theme-turva::after{background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-menu-bar-link:hover{color:rgb(0, 119, 179)}.duet-menu-bar-link:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
11
+ const duetMenuBarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-menu-bar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:inherit;text-align:center;text-decoration:none;white-space:nowrap}.duet-menu-bar-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-menu-bar-link:focus,.duet-menu-bar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-link .menu-bar-link-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-link .menu-bar-link-icon{width:16px;height:16px}}.duet-menu-bar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}@media (min-width: 62em){.duet-menu-bar-link{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-link{padding:0 28px}}.duet-menu-bar-link.active{color:rgb(0, 119, 179)}.duet-menu-bar-link.active::after{position:absolute;top:auto;bottom:2px;left:0;z-index:1;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(2px)}@media (min-width: 62em){.duet-menu-bar-link.active::after{z-index:auto;height:2px}}.duet-menu-bar-link.active.duet-theme-turva{color:rgb(198, 12, 48)}.duet-menu-bar-link.active.duet-theme-turva::after{background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-menu-bar-link:hover{color:rgb(0, 119, 179)}.duet-menu-bar-link:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
13
12
 
14
13
  const DuetMenuBarLink = class {
15
14
  constructor(hostRef) {
16
15
  index.registerInstance(this, hostRef);
17
- /**
18
- * Own Properties.
19
- */
20
- this.mql = [window.matchMedia(tokens.media_query_large.replace(/'/g, ""))];
21
- this.boundMqlFunctions = [];
22
- this.changeIconSize = () => {
23
- if (this.mql[0].matches) {
24
- this.iconSize = "x-small";
25
- }
26
- else {
27
- this.iconSize = "small";
28
- }
29
- };
30
- this.iconSize = "x-small";
31
16
  this.theme = "";
32
17
  this.active = false;
33
18
  this.href = "#";
@@ -40,26 +25,6 @@ const DuetMenuBarLink = class {
40
25
  componentWillLoad() {
41
26
  themeableComponent.inheritGlobalTheme(this);
42
27
  }
43
- connectedCallback() {
44
- this.changeIconSize();
45
- for (let i = 0; i < this.mql.length; i++) {
46
- // addEventListener is not available in Stencil hydrate
47
- if (this.mql[i].addEventListener) {
48
- const bound = this.changeIconSize.bind(this);
49
- this.mql[i].addEventListener("change", bound);
50
- this.boundMqlFunctions[i] = bound;
51
- }
52
- }
53
- }
54
- disconnectedCallback() {
55
- for (let i = 0; i < this.mql.length; i++) {
56
- // removeEventListener is not available in Stencil hydrate
57
- if (this.mql[i].removeEventListener) {
58
- this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
59
- }
60
- }
61
- this.boundMqlFunctions = [];
62
- }
63
28
  /**
64
29
  * render() function
65
30
  * Always the last one in the class.
@@ -69,7 +34,7 @@ const DuetMenuBarLink = class {
69
34
  "duet-menu-bar-link": true,
70
35
  "duet-theme-turva": this.theme === "turva",
71
36
  active: this.active,
72
- }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (index.h("duet-icon", { theme: this.theme, size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" })), index.h("slot", null))));
37
+ }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (index.h("duet-icon", { class: "menu-bar-link-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), index.h("slot", null))));
73
38
  }
74
39
  get element() { return index.getElement(this); }
75
40
  };
@@ -10,7 +10,7 @@ const tokens = require('./tokens-d270c810.js');
10
10
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
11
11
  const keyboardUtils = require('./keyboard-utils-681e11ec.js');
12
12
 
13
- const duetSubmenuBarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-dropdown{position:relative;height:100%}.duet-submenu-bar-dropdown button{position:relative;display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:12px 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77);text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){.duet-submenu-bar-dropdown button{flex-direction:column;gap:5px;align-items:center;justify-content:center;width:auto;font-size:0.875rem;color:rgb(0, 77, 128)}}.duet-submenu-bar-dropdown button .label{display:flex;gap:5px;align-items:center;justify-content:center}@media (min-width: 62em){.duet-submenu-bar-dropdown button.open{background:rgb(230, 242, 248)}}.duet-submenu-bar-dropdown button.open .caret{transform:rotate(180deg)}.duet-submenu-bar-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-submenu-bar-dropdown button.active .label-text{position:relative}.duet-submenu-bar-dropdown button.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-dropdown button.active .label-text::after{display:none}}@media (min-width: 62em){.duet-submenu-bar-dropdown button .caret{position:absolute;right:12px}.duet-submenu-bar-dropdown button:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}.duet-submenu-bar-dropdown button:hover.active{color:rgb(0, 41, 77)}.duet-theme-turva .duet-submenu-bar-dropdown button:hover.active{color:rgb(23, 28, 58)}.duet-submenu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-theme-turva .duet-submenu-bar-dropdown button.active{color:rgb(198, 12, 48)}.duet-submenu-bar-dropdown button.active::after,.duet-submenu-bar-dropdown button.open::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}.duet-theme-turva .duet-submenu-bar-dropdown button.active::after,.duet-theme-turva .duet-submenu-bar-dropdown button.open::after{background:rgb(198, 12, 48)}}.duet-submenu-bar-dropdown .items{display:flex;flex-direction:column;align-items:center;justify-content:center;max-height:1000px;padding:4px 0 16px;overflow-y:auto;color:rgb(0, 41, 77);visibility:visible;transition:max-height 0.3s ease-in, padding 0.3s ease-in;-ms-overflow-style:none;scrollbar-width:none}.duet-submenu-bar-dropdown .items::-webkit-scrollbar{display:none}@media (min-width: 62em){.duet-submenu-bar-dropdown .items{position:absolute;top:93%;z-index:600;min-width:320px;padding:8px;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);transition:none}}.duet-submenu-bar-dropdown .items.hidden{max-height:0;padding:0;overflow:hidden;visibility:hidden;transition:max-height 0.3s ease-in, padding 0.3s ease-in}.duet-submenu-bar-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button:hover{background:rgb(228, 228, 230)}}.duet-submenu-bar-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-submenu-bar-dropdown.duet-theme-turva button.active .label-text::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open .label-text::after{background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.active,.duet-submenu-bar-dropdown.duet-theme-turva button.open{color:rgb(148, 9, 37)}}.duet-submenu-bar-dropdown.duet-theme-turva button.active::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open::after{background:rgb(148, 9, 37)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.open{background:rgb(228, 228, 230)}}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}}";
13
+ const duetSubmenuBarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-dropdown{position:relative;height:100%}.duet-submenu-bar-dropdown button{position:relative;display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:12px 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77);text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){.duet-submenu-bar-dropdown button{flex-direction:column;gap:5px;align-items:center;justify-content:center;width:auto;font-size:0.875rem;color:rgb(0, 77, 128)}}.duet-submenu-bar-dropdown button .label{display:flex;gap:5px;align-items:center;justify-content:center}@media (min-width: 62em){.duet-submenu-bar-dropdown button.open{background:rgb(230, 242, 248)}}.duet-submenu-bar-dropdown button.open .caret{transform:rotate(180deg)}.duet-submenu-bar-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-submenu-bar-dropdown button.active .label-text{position:relative}.duet-submenu-bar-dropdown button.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-dropdown button.active .label-text::after{display:none}}@media (min-width: 62em){.duet-submenu-bar-dropdown button .caret{position:absolute;right:12px}.duet-submenu-bar-dropdown button:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}.duet-submenu-bar-dropdown button:hover.active{color:rgb(0, 41, 77)}.duet-theme-turva .duet-submenu-bar-dropdown button:hover.active{color:rgb(23, 28, 58)}.duet-submenu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-theme-turva .duet-submenu-bar-dropdown button.active{color:rgb(198, 12, 48)}.duet-submenu-bar-dropdown button.active::after,.duet-submenu-bar-dropdown button.open::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}.duet-theme-turva .duet-submenu-bar-dropdown button.active::after,.duet-theme-turva .duet-submenu-bar-dropdown button.open::after{background:rgb(198, 12, 48)}}.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon{width:16px;height:16px}}.duet-submenu-bar-dropdown .items{display:flex;flex-direction:column;align-items:center;justify-content:center;max-height:1000px;padding:4px 0 16px;overflow-y:auto;color:rgb(0, 41, 77);visibility:visible;transition:max-height 0.3s ease-in, padding 0.3s ease-in;-ms-overflow-style:none;scrollbar-width:none}.duet-submenu-bar-dropdown .items::-webkit-scrollbar{display:none}@media (min-width: 62em){.duet-submenu-bar-dropdown .items{position:absolute;top:93%;z-index:600;min-width:320px;padding:8px;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);transition:none}}.duet-submenu-bar-dropdown .items.hidden{max-height:0;padding:0;overflow:hidden;visibility:hidden;transition:max-height 0.3s ease-in, padding 0.3s ease-in}.duet-submenu-bar-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button:hover{background:rgb(228, 228, 230)}}.duet-submenu-bar-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-submenu-bar-dropdown.duet-theme-turva button.active .label-text::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open .label-text::after{background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.active,.duet-submenu-bar-dropdown.duet-theme-turva button.open{color:rgb(148, 9, 37)}}.duet-submenu-bar-dropdown.duet-theme-turva button.active::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open::after{background:rgb(148, 9, 37)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.open{background:rgb(228, 228, 230)}}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}}";
14
14
 
15
15
  const DuetSubmenuBarDropdown = class {
16
16
  constructor(hostRef) {
@@ -23,11 +23,9 @@ const DuetSubmenuBarDropdown = class {
23
23
  this.checkIsDesktop = () => {
24
24
  if (this.mql[0].matches) {
25
25
  this.isDesktop = true;
26
- this.iconSize = "x-small";
27
26
  }
28
27
  else {
29
28
  this.isDesktop = false;
30
- this.iconSize = "small";
31
29
  }
32
30
  };
33
31
  this.onClick = () => {
@@ -46,7 +44,6 @@ const DuetSubmenuBarDropdown = class {
46
44
  }
47
45
  };
48
46
  this.isDesktop = false;
49
- this.iconSize = "small";
50
47
  this.theme = "";
51
48
  this.active = false;
52
49
  this.open = false;
@@ -115,7 +112,7 @@ const DuetSubmenuBarDropdown = class {
115
112
  } }, index.h("button", { ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
116
113
  open: this.open,
117
114
  active: this.active,
118
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (index.h("duet-icon", { theme: this.theme, name: this.icon, size: this.iconSize, margin: "none", color: "currentColor" })), index.h("div", { class: "label" }, index.h("span", { class: "label-text" }, index.h("slot", { name: "label" })), index.h("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
115
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (index.h("duet-icon", { class: "submenu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), index.h("div", { class: "label" }, index.h("span", { class: "label-text" }, index.h("slot", { name: "label" })), index.h("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
119
116
  items: true,
120
117
  hidden: !this.open,
121
118
  } }, index.h("slot", null)))));
@@ -6,29 +6,14 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-b77ebc31.js');
9
- const tokens = require('./tokens-d270c810.js');
10
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
11
10
  const keyboardUtils = require('./keyboard-utils-681e11ec.js');
12
11
 
13
- const duetSubmenuBarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-link{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;height:100%;padding:12px 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77);text-align:center;text-decoration:none}.duet-submenu-bar-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-submenu-bar-link:focus,.duet-submenu-bar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){.duet-submenu-bar-link{flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:0.875rem;color:rgb(0, 77, 128)}}@media (min-width: 62em){.duet-submenu-bar-link.active{color:rgb(0, 119, 179)}.duet-submenu-bar-link.active.duet-theme-turva{color:rgb(148, 9, 37)}}.duet-submenu-bar-link.active .label{position:relative}.duet-submenu-bar-link.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-link.active .label::after{display:none}.duet-submenu-bar-link.active::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}}.duet-submenu-bar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-submenu-bar-link.duet-theme-turva.active .label::after{background:rgb(148, 9, 37)}.duet-submenu-bar-link.duet-theme-turva.active::after{background:rgb(148, 9, 37)}@media (min-width: 62em){.duet-submenu-bar-link:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}.duet-submenu-bar-link:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(228, 228, 230)}.duet-submenu-bar-link:hover.duet-theme-turva.active{color:rgb(148, 9, 37)}}";
12
+ const duetSubmenuBarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-link{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;height:100%;padding:12px 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77);text-align:center;text-decoration:none}.duet-submenu-bar-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-submenu-bar-link:focus,.duet-submenu-bar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-submenu-bar-link .submenu-bar-link-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-link .submenu-bar-link-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-submenu-bar-link{flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:0.875rem;color:rgb(0, 77, 128)}}@media (min-width: 62em){.duet-submenu-bar-link.active{color:rgb(0, 119, 179)}.duet-submenu-bar-link.active.duet-theme-turva{color:rgb(148, 9, 37)}}.duet-submenu-bar-link.active .label{position:relative}.duet-submenu-bar-link.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-link.active .label::after{display:none}.duet-submenu-bar-link.active::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}}.duet-submenu-bar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-submenu-bar-link.duet-theme-turva.active .label::after{background:rgb(148, 9, 37)}.duet-submenu-bar-link.duet-theme-turva.active::after{background:rgb(148, 9, 37)}@media (min-width: 62em){.duet-submenu-bar-link:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}.duet-submenu-bar-link:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(228, 228, 230)}.duet-submenu-bar-link:hover.duet-theme-turva.active{color:rgb(148, 9, 37)}}";
14
13
 
15
14
  const DuetSubmenuBarLink = class {
16
15
  constructor(hostRef) {
17
16
  index.registerInstance(this, hostRef);
18
- /**
19
- * Own Properties.
20
- */
21
- this.mql = [window.matchMedia(tokens.media_query_large.replace(/'/g, ""))];
22
- this.boundMqlFunctions = [];
23
- this.changeIconSize = () => {
24
- if (this.mql[0].matches) {
25
- this.iconSize = "x-small";
26
- }
27
- else {
28
- this.iconSize = "small";
29
- }
30
- };
31
- this.iconSize = "small";
32
17
  this.theme = "";
33
18
  this.active = false;
34
19
  this.href = "#";
@@ -40,26 +25,6 @@ const DuetSubmenuBarLink = class {
40
25
  componentWillLoad() {
41
26
  themeableComponent.inheritGlobalTheme(this);
42
27
  }
43
- connectedCallback() {
44
- this.changeIconSize();
45
- for (let i = 0; i < this.mql.length; i++) {
46
- // addEventListener is not available in Stencil hydrate
47
- if (this.mql[i].addEventListener) {
48
- const bound = this.changeIconSize.bind(this);
49
- this.mql[i].addEventListener("change", bound);
50
- this.boundMqlFunctions[i] = bound;
51
- }
52
- }
53
- }
54
- disconnectedCallback() {
55
- for (let i = 0; i < this.mql.length; i++) {
56
- // removeEventListener is not available in Stencil hydrate
57
- if (this.mql[i].removeEventListener) {
58
- this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
59
- }
60
- }
61
- this.boundMqlFunctions = [];
62
- }
63
28
  handleEscape(e) {
64
29
  if (keyboardUtils.isEscapeKey(e)) {
65
30
  const dropdown = this.element.closest("duet-submenu-bar");
@@ -72,7 +37,7 @@ const DuetSubmenuBarLink = class {
72
37
  * Always the last one in the class.
73
38
  */
74
39
  render() {
75
- return (index.h(index.Host, null, index.h("a", { class: { "duet-submenu-bar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false" }, this.icon && (index.h("duet-icon", { theme: this.theme, name: this.icon, size: this.iconSize, margin: "none", color: "currentColor" })), index.h("span", { class: "label" }, index.h("slot", null)))));
40
+ return (index.h(index.Host, null, index.h("a", { class: { "duet-submenu-bar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false" }, this.icon && (index.h("duet-icon", { class: "submenu-bar-link-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), index.h("span", { class: "label" }, index.h("slot", null)))));
76
41
  }
77
42
  get element() { return index.getElement(this); }
78
43
  };