@duetds/components 8.5.5 → 8.6.1

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 (274) hide show
  1. package/hydrate/index.js +315 -273
  2. package/lib/cjs/duet-action-button.cjs.entry.js +5 -6
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-banner.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-callout.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-chip.cjs.entry.js +9 -2
  7. package/lib/cjs/duet-choice_2.cjs.entry.js +8 -1
  8. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-combobox.cjs.entry.js +260 -127
  10. package/lib/cjs/duet-date-picker.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-input_2.cjs.entry.js +39 -3
  14. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +2 -34
  15. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -37
  16. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +2 -37
  17. package/lib/cjs/duet-modal.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-multiselect.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-promo-card.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-slideout-panel.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-slideout.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -5
  27. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -37
  28. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  29. package/lib/cjs/duet.cjs.js +1 -1
  30. package/lib/cjs/loader.cjs.js +1 -1
  31. package/lib/cjs/{slot-utils-f5073417.js → slot-utils-03a40c78.js} +3 -1
  32. package/lib/collection/components/duet-action-button/duet-action-button.js +6 -8
  33. package/lib/collection/components/duet-chip/duet-chip.css +7 -0
  34. package/lib/collection/components/duet-chip/duet-chip.js +29 -2
  35. package/lib/collection/components/duet-choice-group/duet-choice-group.e2e.js +15 -0
  36. package/lib/collection/components/duet-choice-group/duet-choice-group.js +31 -0
  37. package/lib/collection/components/duet-combobox/duet-combobox-select-single.js +2 -2
  38. package/lib/collection/components/duet-combobox/duet-combobox.css +10 -2
  39. package/lib/collection/components/duet-combobox/duet-combobox.e2e.js +81 -51
  40. package/lib/collection/components/duet-combobox/duet-combobox.js +321 -142
  41. package/lib/collection/components/duet-input/duet-input.css +29 -0
  42. package/lib/collection/components/duet-input/duet-input.js +159 -3
  43. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.css +10 -0
  44. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +1 -38
  45. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.css +10 -0
  46. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +1 -41
  47. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.css +10 -0
  48. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +1 -41
  49. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +10 -0
  50. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +2 -6
  51. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.css +10 -0
  52. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -41
  53. package/lib/collection/utils/slot-utils.js +3 -1
  54. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  55. package/lib/dist-custom-elements/duet-alert.js +1 -1
  56. package/lib/dist-custom-elements/duet-banner.js +1 -1
  57. package/lib/dist-custom-elements/duet-breadcrumb.js +1 -1
  58. package/lib/dist-custom-elements/duet-callout.js +1 -1
  59. package/lib/dist-custom-elements/duet-card.js +1 -1
  60. package/lib/dist-custom-elements/duet-chip.js +1 -273
  61. package/lib/dist-custom-elements/duet-choice-group.js +14 -6
  62. package/lib/dist-custom-elements/duet-choice.js +2 -2
  63. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  64. package/lib/dist-custom-elements/duet-combobox.js +326 -132
  65. package/lib/dist-custom-elements/duet-cookie-consent.js +1 -1
  66. package/lib/dist-custom-elements/duet-date-picker.js +6 -6
  67. package/lib/dist-custom-elements/duet-editable-table.js +2 -2
  68. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  69. package/lib/dist-custom-elements/duet-footer.js +1 -1
  70. package/lib/dist-custom-elements/duet-header.js +1 -1
  71. package/lib/dist-custom-elements/duet-hero.js +1 -1
  72. package/lib/dist-custom-elements/duet-input.js +1 -1
  73. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -35
  74. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +1 -1
  75. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +3 -39
  76. package/lib/dist-custom-elements/duet-menu-bar-link.js +3 -39
  77. package/lib/dist-custom-elements/duet-modal.js +2 -2
  78. package/lib/dist-custom-elements/duet-multiselect.js +5 -5
  79. package/lib/dist-custom-elements/duet-notification-drawer.js +1 -1
  80. package/lib/dist-custom-elements/duet-notification.js +1 -1
  81. package/lib/dist-custom-elements/duet-number-input.js +6 -6
  82. package/lib/dist-custom-elements/duet-pagination.js +6 -6
  83. package/lib/dist-custom-elements/duet-popup-menu.js +1 -1
  84. package/lib/dist-custom-elements/duet-promo-card.js +1 -1
  85. package/lib/dist-custom-elements/duet-radio-group.js +5 -5
  86. package/lib/dist-custom-elements/duet-range-slider.js +1 -1
  87. package/lib/dist-custom-elements/duet-range-stepper.js +2 -2
  88. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  89. package/lib/dist-custom-elements/duet-select.js +1 -1
  90. package/lib/dist-custom-elements/duet-show-more.js +1 -1
  91. package/lib/dist-custom-elements/duet-slideout-panel.js +1 -1
  92. package/lib/dist-custom-elements/duet-slideout.js +2 -2
  93. package/lib/dist-custom-elements/duet-step.js +1 -1
  94. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +1 -1
  95. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -7
  96. package/lib/dist-custom-elements/duet-submenu-bar-item.js +1 -1
  97. package/lib/dist-custom-elements/duet-submenu-bar-link.js +4 -40
  98. package/lib/dist-custom-elements/duet-tab-group.js +6 -6
  99. package/lib/dist-custom-elements/duet-tab.js +1 -1
  100. package/lib/dist-custom-elements/duet-textarea.js +4 -4
  101. package/lib/dist-custom-elements/duet-toggle.js +1 -1
  102. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +1 -1
  103. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +1 -1
  104. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  105. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  106. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  107. package/lib/dist-custom-elements/duet-tray.js +1 -1
  108. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  109. package/lib/dist-custom-elements/duet-upload.js +5 -5
  110. package/lib/dist-custom-elements/{p-cff358b0.js → p-014c1177.js} +49 -8
  111. package/lib/dist-custom-elements/{p-d87f6dd5.js → p-06e608ae.js} +3 -1
  112. package/lib/dist-custom-elements/{p-9cdbc360.js → p-0cee8a12.js} +1 -1
  113. package/lib/dist-custom-elements/{p-9a833e56.js → p-28ec3461.js} +1 -1
  114. package/lib/dist-custom-elements/{p-d191ba9e.js → p-45fd4d84.js} +1 -1
  115. package/lib/dist-custom-elements/{p-89d58b60.js → p-6d366100.js} +3 -3
  116. package/lib/dist-custom-elements/p-755dd68f.js +285 -0
  117. package/lib/dist-custom-elements/{p-e44c0eff.js → p-785686e3.js} +1 -1
  118. package/lib/dist-custom-elements/{p-e00d43f3.js → p-92a16064.js} +1 -1
  119. package/lib/dist-custom-elements/{p-f9f9e33d.js → p-a02e62f3.js} +3 -3
  120. package/lib/dist-custom-elements/{p-0d5c0a22.js → p-c8415e2f.js} +1 -1
  121. package/lib/dist-custom-elements/{p-12a0876b.js → p-cb694530.js} +1 -1
  122. package/lib/dist-custom-elements/{p-d848b48d.js → p-e702eb52.js} +4 -4
  123. package/lib/dist-custom-elements/{p-c3d02eb2.js → p-f4ac6968.js} +6 -7
  124. package/lib/duet/duet.esm.js +1 -1
  125. package/lib/duet/{p-88a46585.system.entry.js → p-061f4be0.system.entry.js} +1 -1
  126. package/lib/duet/p-06e608ae.js +4 -0
  127. package/lib/duet/{p-8ca813cb.system.entry.js → p-0778ccde.system.entry.js} +1 -1
  128. package/lib/duet/p-07ac7f3e.system.entry.js +4 -0
  129. package/lib/duet/p-15e24bf0.entry.js +4 -0
  130. package/lib/duet/{p-0dac34a4.system.entry.js → p-1ef0e5ca.system.entry.js} +1 -1
  131. package/lib/duet/{p-c9781f22.entry.js → p-2084a65f.entry.js} +1 -1
  132. package/lib/duet/{p-fd0bb0bf.entry.js → p-23cecf9f.entry.js} +1 -1
  133. package/lib/duet/p-25048bf8.system.entry.js +4 -0
  134. package/lib/duet/{p-09e4195f.system.entry.js → p-257800b7.system.entry.js} +1 -1
  135. package/lib/duet/{p-892a5644.system.entry.js → p-27363096.system.entry.js} +1 -1
  136. package/lib/duet/{p-1afd901a.entry.js → p-29491f9f.entry.js} +1 -1
  137. package/lib/duet/{p-3b5ff822.entry.js → p-3302d75d.entry.js} +1 -1
  138. package/lib/duet/{p-7629cd0a.entry.js → p-40375e30.entry.js} +1 -1
  139. package/lib/duet/{p-480f37b6.entry.js → p-436fcaf7.entry.js} +1 -1
  140. package/lib/duet/{p-ba4445cf.system.entry.js → p-45bb3cd0.system.entry.js} +1 -1
  141. package/lib/duet/p-4781cd58.entry.js +4 -0
  142. package/lib/duet/p-4cb5943c.entry.js +4 -0
  143. package/lib/duet/{p-b2f2992f.system.entry.js → p-4de910bd.system.entry.js} +1 -1
  144. package/lib/duet/p-51e3af7b.system.entry.js +4 -0
  145. package/lib/duet/p-6151635f.system.js +1 -1
  146. package/lib/duet/{p-d349dd93.entry.js → p-67382632.entry.js} +1 -1
  147. package/lib/duet/p-70b705ad.entry.js +4 -0
  148. package/lib/duet/{p-699a98b4.entry.js → p-76e54ff5.entry.js} +1 -1
  149. package/lib/duet/{p-4d2ef0e2.entry.js → p-7a161455.entry.js} +1 -1
  150. package/lib/duet/{p-3d38079c.entry.js → p-7ca15c93.entry.js} +1 -1
  151. package/lib/duet/{p-bb09fff0.system.entry.js → p-7de614df.system.entry.js} +1 -1
  152. package/lib/duet/p-82d1fd63.system.entry.js +4 -0
  153. package/lib/duet/{p-7c1db591.system.entry.js → p-8a4ba903.system.entry.js} +1 -1
  154. package/lib/duet/{p-4f32a7ee.entry.js → p-8ba91848.entry.js} +1 -1
  155. package/lib/duet/p-9065a864.entry.js +4 -0
  156. package/lib/duet/{p-708359ec.system.entry.js → p-999fff8d.system.entry.js} +1 -1
  157. package/lib/duet/p-9ac25886.system.entry.js +4 -0
  158. package/lib/duet/{p-9d91a1dd.system.entry.js → p-9e75e5d8.system.entry.js} +1 -1
  159. package/lib/duet/{p-343d037e.entry.js → p-a3afb1af.entry.js} +1 -1
  160. package/lib/duet/{p-2ca6a8a0.system.entry.js → p-a3e90064.system.entry.js} +1 -1
  161. package/lib/duet/{p-cd87960a.system.entry.js → p-a659cdb5.system.entry.js} +1 -1
  162. package/lib/duet/p-ae21ad57.system.js +4 -0
  163. package/lib/duet/p-b02ca265.entry.js +4 -0
  164. package/lib/duet/{p-ce05fe6d.system.entry.js → p-b2fc4b72.system.entry.js} +1 -1
  165. package/lib/duet/{p-84778369.entry.js → p-b5595969.entry.js} +1 -1
  166. package/lib/duet/p-c12d34fd.system.entry.js +4 -0
  167. package/lib/duet/{p-bf51f8a5.system.entry.js → p-c68602c9.system.entry.js} +1 -1
  168. package/lib/duet/p-c776e072.entry.js +4 -0
  169. package/lib/duet/p-d1d79e0c.entry.js +4 -0
  170. package/lib/duet/{p-f6530332.system.entry.js → p-d5721f0d.system.entry.js} +1 -1
  171. package/lib/duet/{p-c00fe4ed.entry.js → p-dc133655.entry.js} +1 -1
  172. package/lib/duet/p-de5054b6.system.entry.js +4 -0
  173. package/lib/duet/{p-61feb701.entry.js → p-df345202.entry.js} +1 -1
  174. package/lib/duet/{p-2628a322.entry.js → p-e0907f29.entry.js} +1 -1
  175. package/lib/duet/p-e333b9fc.system.entry.js +4 -0
  176. package/lib/duet/p-e411627f.entry.js +4 -0
  177. package/lib/duet/{p-da51c71f.system.entry.js → p-eafed149.system.entry.js} +1 -1
  178. package/lib/duet/p-f2279e1e.entry.js +4 -0
  179. package/lib/duet/{p-b1ab1664.system.entry.js → p-fa311641.system.entry.js} +1 -1
  180. package/lib/duet/{p-320318de.system.entry.js → p-fa72c79b.system.entry.js} +1 -1
  181. package/lib/duet/p-ffab115e.entry.js +4 -0
  182. package/lib/esm/duet-action-button.entry.js +5 -6
  183. package/lib/esm/duet-alert.entry.js +1 -1
  184. package/lib/esm/duet-banner.entry.js +1 -1
  185. package/lib/esm/duet-callout.entry.js +1 -1
  186. package/lib/esm/duet-chip.entry.js +9 -2
  187. package/lib/esm/duet-choice_2.entry.js +8 -1
  188. package/lib/esm/duet-collapsible.entry.js +1 -1
  189. package/lib/esm/duet-combobox.entry.js +261 -128
  190. package/lib/esm/duet-date-picker.entry.js +1 -1
  191. package/lib/esm/duet-fieldset.entry.js +1 -1
  192. package/lib/esm/duet-hero.entry.js +1 -1
  193. package/lib/esm/duet-input_2.entry.js +39 -3
  194. package/lib/esm/duet-menu-bar-button.entry.js +2 -34
  195. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -37
  196. package/lib/esm/duet-menu-bar-link.entry.js +2 -37
  197. package/lib/esm/duet-modal.entry.js +1 -1
  198. package/lib/esm/duet-multiselect.entry.js +1 -1
  199. package/lib/esm/duet-number-input.entry.js +1 -1
  200. package/lib/esm/duet-promo-card.entry.js +1 -1
  201. package/lib/esm/duet-radio_2.entry.js +1 -1
  202. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  203. package/lib/esm/duet-select.entry.js +1 -1
  204. package/lib/esm/duet-slideout-panel.entry.js +1 -1
  205. package/lib/esm/duet-slideout.entry.js +1 -1
  206. package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -5
  207. package/lib/esm/duet-submenu-bar-link.entry.js +2 -37
  208. package/lib/esm/duet-textarea.entry.js +1 -1
  209. package/lib/esm/duet.js +1 -1
  210. package/lib/esm/loader.js +1 -1
  211. package/lib/esm/{slot-utils-1115a819.js → slot-utils-b50aaef5.js} +3 -1
  212. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  213. package/lib/esm-es5/duet-alert.entry.js +1 -1
  214. package/lib/esm-es5/duet-banner.entry.js +1 -1
  215. package/lib/esm-es5/duet-callout.entry.js +1 -1
  216. package/lib/esm-es5/duet-chip.entry.js +1 -1
  217. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  218. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  219. package/lib/esm-es5/duet-combobox.entry.js +2 -2
  220. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  221. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  222. package/lib/esm-es5/duet-hero.entry.js +1 -1
  223. package/lib/esm-es5/duet-input_2.entry.js +2 -2
  224. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  225. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  226. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  227. package/lib/esm-es5/duet-modal.entry.js +1 -1
  228. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  229. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  230. package/lib/esm-es5/duet-promo-card.entry.js +2 -2
  231. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  232. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  233. package/lib/esm-es5/duet-select.entry.js +1 -1
  234. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  235. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  236. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +2 -2
  237. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  238. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  239. package/lib/esm-es5/duet.js +1 -1
  240. package/lib/esm-es5/loader.js +1 -1
  241. package/lib/esm-es5/slot-utils-b50aaef5.js +4 -0
  242. package/lib/types/components/duet-chip/duet-chip.d.ts +4 -0
  243. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +5 -0
  244. package/lib/types/components/duet-combobox/duet-combobox.d.ts +49 -35
  245. package/lib/types/components/duet-input/duet-input.d.ts +30 -0
  246. package/lib/types/components/duet-menu-bar-button/duet-menu-bar-button.d.ts +1 -7
  247. package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +1 -7
  248. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +1 -10
  249. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +1 -2
  250. package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +1 -10
  251. package/lib/types/components.d.ts +45 -21
  252. package/package.json +2 -2
  253. package/lib/duet/p-0de8d0c0.system.entry.js +0 -4
  254. package/lib/duet/p-3f2d14e3.system.entry.js +0 -4
  255. package/lib/duet/p-7cf03aa8.system.js +0 -4
  256. package/lib/duet/p-8cc30578.entry.js +0 -4
  257. package/lib/duet/p-92e1181c.entry.js +0 -4
  258. package/lib/duet/p-9735b2f9.entry.js +0 -4
  259. package/lib/duet/p-985c0c67.system.entry.js +0 -4
  260. package/lib/duet/p-9be9b4d2.entry.js +0 -4
  261. package/lib/duet/p-9d27bc65.entry.js +0 -4
  262. package/lib/duet/p-afe29a3e.entry.js +0 -4
  263. package/lib/duet/p-bece15cd.system.entry.js +0 -4
  264. package/lib/duet/p-cba00852.entry.js +0 -4
  265. package/lib/duet/p-cc4a8964.entry.js +0 -4
  266. package/lib/duet/p-cc949a27.entry.js +0 -4
  267. package/lib/duet/p-d50ad3ed.entry.js +0 -4
  268. package/lib/duet/p-d87f6dd5.js +0 -4
  269. package/lib/duet/p-e614e39f.system.entry.js +0 -4
  270. package/lib/duet/p-e7fd0d14.entry.js +0 -4
  271. package/lib/duet/p-e86cafa6.system.entry.js +0 -4
  272. package/lib/duet/p-f1b01db9.system.entry.js +0 -4
  273. package/lib/duet/p-fa21a3b6.system.entry.js +0 -4
  274. package/lib/esm-es5/slot-utils-1115a819.js +0 -4
package/hydrate/index.js CHANGED
@@ -8367,7 +8367,7 @@ class DuetActionButton {
8367
8367
  this.iconName = "action-arrow-left-small";
8368
8368
  this.iconColor = "currentColor";
8369
8369
  this.iconSize = "xx-small";
8370
- this.actionName = "default-action";
8370
+ this.actionName = undefined;
8371
8371
  this.actionId = undefined;
8372
8372
  this.actionMeta = undefined;
8373
8373
  this.disabled = false;
@@ -8395,14 +8395,13 @@ class DuetActionButton {
8395
8395
  }
8396
8396
  //return readable title for the action-button
8397
8397
  getTitle() {
8398
- let titleString = "";
8399
8398
  if (typeof this.accessibleTitle === "string") {
8400
- titleString = this.accessibleTitle;
8399
+ return this.accessibleTitle;
8401
8400
  }
8402
- if (this.accessibleTitle === true) {
8403
- titleString = capitalizeFirstLetter(`${this.actionName}`);
8401
+ if (this.accessibleTitle === true && this.actionName) {
8402
+ return capitalizeFirstLetter(`${this.actionName}`);
8404
8403
  }
8405
- return titleString;
8404
+ return null;
8406
8405
  }
8407
8406
  async onMouseHandler(e) {
8408
8407
  e.preventDefault();
@@ -8525,7 +8524,9 @@ const getElementsFromDefaultSlot = (element) => {
8525
8524
  return childElements.filter(el => !el.getAttribute("slot"));
8526
8525
  };
8527
8526
  const hasSlot = (element, slotName) => {
8528
- return getElementsFromNamedSlot(element, slotName).length > 0;
8527
+ return slotName
8528
+ ? getElementsFromNamedSlot(element, slotName).length > 0
8529
+ : getElementsFromDefaultSlot(element).length > 0;
8529
8530
  };
8530
8531
  /**
8531
8532
  * Check if the slotted element matches the given selector.
@@ -9724,12 +9725,13 @@ class DuetCheckmark {
9724
9725
  }; }
9725
9726
  }
9726
9727
 
9727
- const duetChipCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-chip,*.sc-duet-chip::after,*.sc-duet-chip::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-chip-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;display:inline-block;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}/*!@:host:last-child, :host:last-of-type*/.sc-duet-chip-h:last-child,.sc-duet-chip-h:last-of-type{margin-right:0 !important}/*!@.duet-chip-container*/.duet-chip-container.sc-duet-chip{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:1px;hyphens:none;line-height:1.1;color:rgb(0, 41, 77) !important;text-align:center;cursor:pointer;background:rgb(255, 255, 255);border-color:rgb(207, 210, 212);border-style:solid;border-width:1px;border-radius:8px;transition:background-color 300ms ease, color 300ms ease, border-color 300ms ease}/*!@.duet-chip-container.duet-p-0*/.duet-chip-container.duet-p-0.sc-duet-chip{padding:0 !important}/*!@.duet-chip-container.duet-m-0*/.duet-chip-container.duet-m-0.sc-duet-chip{margin:0 !important}/*!@.duet-chip-container.duet-theme-turva*/.duet-chip-container.duet-theme-turva.sc-duet-chip{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255);border-color:rgb(207, 207, 209)}/*!@.duet-chip-container.duet-theme-turva:hover*/.duet-chip-container.duet-theme-turva.sc-duet-chip:hover{border-color:rgb(198, 12, 48)}/*!@.duet-chip-container:hover*/.duet-chip-container.sc-duet-chip:hover{padding:0 !important;border-color:rgb(0, 119, 179);border-width:2px}/*!@.duet-chip-container.duet-chip-disabled*/.duet-chip-container.duet-chip-disabled.sc-duet-chip{color:rgb(101, 119, 135) !important;cursor:default;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important}/*!@.duet-chip-container.duet-chip-disabled.duet-theme-turva*/.duet-chip-container.duet-chip-disabled.duet-theme-turva.sc-duet-chip{color:rgb(116, 116, 117) !important;background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container.duet-chip-disabled:hover*/.duet-chip-container.duet-chip-disabled.sc-duet-chip:hover{background:rgb(245, 248, 250);border-color:rgb(245, 248, 250)}/*!@.duet-chip-container.duet-chip-disabled:hover.duet-theme-turva*/.duet-chip-container.duet-chip-disabled.sc-duet-chip:hover.duet-theme-turva{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container.duet-chip-disabled button,\n.duet-chip-container.duet-chip-disabled label*/.duet-chip-container.duet-chip-disabled.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-disabled.sc-duet-chip label.sc-duet-chip{cursor:default}/*!@.duet-chip-container button,\n.duet-chip-container label*/.duet-chip-container.sc-duet-chip button.sc-duet-chip,.duet-chip-container.sc-duet-chip label.sc-duet-chip{display:flex;align-items:center;width:100%;height:100%;padding:8px 14px;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:600;line-height:1rem;color:rgb(0, 41, 77) !important;cursor:pointer}/*!@.duet-chip-container button:focus,\n.duet-chip-container label:focus*/.duet-chip-container.sc-duet-chip button.sc-duet-chip:focus,.duet-chip-container.sc-duet-chip label.sc-duet-chip:focus{outline:none}/*!@.duet-chip-container .duet-chip-icon-container*/.duet-chip-container.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{display:flex;align-items:center;height:16px;padding:0;transition:padding 300ms ease}/*!@.duet-chip-container.duet-chip-has-icon .duet-chip-icon-container*/.duet-chip-container.duet-chip-has-icon.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{width:24px;height:16px;padding-right:10px}/*!@.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked .duet-chip-icon-container, .duet-chip-container.duet-chip-has-icon.duet-chip-radio-checked .duet-chip-icon-container*/.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip,.duet-chip-container.duet-chip-has-icon.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{padding-right:11px;padding-left:3px}/*!@.duet-chip-container.duet-chip-has-icon button,\n.duet-chip-container.duet-chip-has-icon label*/.duet-chip-container.duet-chip-has-icon.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-has-icon.sc-duet-chip label.sc-duet-chip{padding-left:10px}/*!@.duet-chip-container.duet-chip-has-popup button,\n.duet-chip-container.duet-chip-has-popup label*/.duet-chip-container.duet-chip-has-popup.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-has-popup.sc-duet-chip label.sc-duet-chip{padding-right:8px}/*!@.duet-chip-container duet-icon:not(.check-mark)*/.duet-chip-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark){width:auto;visibility:visible;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}/*!@.duet-chip-container duet-icon.check-mark*/.duet-chip-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip{width:0;overflow:hidden;visibility:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}/*!@.duet-chip-container.duet-chip-filter-checked, .duet-chip-container.duet-chip-radio-checked*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip{padding:0 !important;background:rgb(230, 242, 248);border-color:rgb(0, 119, 179);border-width:2px}/*!@.duet-chip-container.duet-chip-filter-checked:hover, .duet-chip-container.duet-chip-radio-checked:hover*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip:hover,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip:hover{background:rgb(205, 229, 241)}/*!@.duet-chip-container.duet-chip-filter-checked.chip-has-icon button,\n.duet-chip-container.duet-chip-filter-checked.chip-has-icon label, .duet-chip-container.duet-chip-radio-checked.chip-has-icon button,\n.duet-chip-container.duet-chip-radio-checked.chip-has-icon label*/.duet-chip-container.duet-chip-filter-checked.chip-has-icon.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-filter-checked.chip-has-icon.sc-duet-chip label.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.chip-has-icon.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.chip-has-icon.sc-duet-chip label.sc-duet-chip{padding-left:10px}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container, .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{padding-right:10px}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon:not(.check-mark), .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon:not(.check-mark)*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark),.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark){width:0;overflow:hidden;visibility:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon.check-mark, .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon.check-mark*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip{width:auto;visibility:visible;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}/*!@.duet-chip-container.duet-chip-filter-checked.duet-theme-turva, .duet-chip-container.duet-chip-radio-checked.duet-theme-turva*/.duet-chip-container.duet-chip-filter-checked.duet-theme-turva.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva.sc-duet-chip{background:rgb(245, 245, 247);border-color:rgb(198, 12, 48)}/*!@.duet-chip-container.duet-chip-filter-checked.duet-theme-turva:hover, .duet-chip-container.duet-chip-radio-checked.duet-theme-turva:hover*/.duet-chip-container.duet-chip-filter-checked.duet-theme-turva.sc-duet-chip:hover,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva.sc-duet-chip:hover{background:rgb(228, 228, 230)}/*!@.duet-chip-container .duet-chip-popup-disclosure*/.duet-chip-container.sc-duet-chip .duet-chip-popup-disclosure.sc-duet-chip{padding-right:4.5px;padding-left:12.5px}/*!@.duet-chip-container .duet-chip-popup-disclosure duet-icon*/.duet-chip-container.sc-duet-chip .duet-chip-popup-disclosure.sc-duet-chip duet-icon.sc-duet-chip{transition:transform 300ms ease}/*!@.duet-chip-container.duet-chip-filter-popup-open*/.duet-chip-container.duet-chip-filter-popup-open.sc-duet-chip{background:rgb(243, 249, 252);border-color:rgb(243, 249, 252)}/*!@.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva*/.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva.sc-duet-chip{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container.duet-chip-filter-popup-open .duet-chip-popup-disclosure duet-icon*/.duet-chip-container.duet-chip-filter-popup-open.sc-duet-chip .duet-chip-popup-disclosure.sc-duet-chip duet-icon.sc-duet-chip{transform:rotate(180deg)}/*!@.duet-chip-container.duet-chip-input*/.duet-chip-container.duet-chip-input.sc-duet-chip{display:flex;align-items:center;padding-right:0 !important}/*!@.duet-chip-container.duet-chip-input .duet-chip-input-button*/.duet-chip-container.duet-chip-input.sc-duet-chip .duet-chip-input-button.sc-duet-chip{flex-grow:1}/*!@.duet-chip-container.duet-chip-input .duet-chip-remove-button*/.duet-chip-container.duet-chip-input.sc-duet-chip .duet-chip-remove-button.sc-duet-chip{width:26px;padding:8px 16px 8px 0;margin:-8px 0}/*!@.duet-chip-container.large button,\n.duet-chip-container.large label*/.duet-chip-container.large.sc-duet-chip button.sc-duet-chip,.duet-chip-container.large.sc-duet-chip label.sc-duet-chip{padding:15px 22px}/*!@:host(.user-is-tabbing) .duet-chip-focus*/.user-is-tabbing.sc-duet-chip-h .duet-chip-focus.sc-duet-chip{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-chip-focus.duet-theme-turva*/.user-is-tabbing.sc-duet-chip-h .duet-chip-focus.duet-theme-turva.sc-duet-chip{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-chip-container input*/.duet-chip-container.sc-duet-chip input.sc-duet-chip{position:absolute !important;top:0;left:0;z-index:-1;width:100%;height:100%;cursor:pointer;opacity:0}";
9728
+ const duetChipCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-chip,*.sc-duet-chip::after,*.sc-duet-chip::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-chip-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;display:inline-block;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}/*!@:host:last-child, :host:last-of-type*/.sc-duet-chip-h:last-child,.sc-duet-chip-h:last-of-type{margin-right:0 !important}/*!@:host(.input)*/.input.sc-duet-chip-h{margin-top:6px !important;margin-right:0 !important;margin-bottom:6px !important;margin-left:4px !important}/*!@.duet-chip-container*/.duet-chip-container.sc-duet-chip{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:1px;hyphens:none;line-height:1.1;color:rgb(0, 41, 77) !important;text-align:center;cursor:pointer;background:rgb(255, 255, 255);border-color:rgb(207, 210, 212);border-style:solid;border-width:1px;border-radius:8px;transition:background-color 300ms ease, color 300ms ease, border-color 300ms ease}/*!@.duet-chip-container.duet-p-0*/.duet-chip-container.duet-p-0.sc-duet-chip{padding:0 !important}/*!@.duet-chip-container.duet-m-0*/.duet-chip-container.duet-m-0.sc-duet-chip{margin:0 !important}/*!@.duet-chip-container.duet-theme-turva*/.duet-chip-container.duet-theme-turva.sc-duet-chip{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255);border-color:rgb(207, 207, 209)}/*!@.duet-chip-container.duet-theme-turva:hover*/.duet-chip-container.duet-theme-turva.sc-duet-chip:hover{border-color:rgb(198, 12, 48)}/*!@.duet-chip-container:hover*/.duet-chip-container.sc-duet-chip:hover{padding:0 !important;border-color:rgb(0, 119, 179);border-width:2px}/*!@.duet-chip-container.duet-chip-disabled*/.duet-chip-container.duet-chip-disabled.sc-duet-chip{color:rgb(101, 119, 135) !important;cursor:default;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important}/*!@.duet-chip-container.duet-chip-disabled.duet-theme-turva*/.duet-chip-container.duet-chip-disabled.duet-theme-turva.sc-duet-chip{color:rgb(116, 116, 117) !important;background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container.duet-chip-disabled:hover*/.duet-chip-container.duet-chip-disabled.sc-duet-chip:hover{background:rgb(245, 248, 250);border-color:rgb(245, 248, 250)}/*!@.duet-chip-container.duet-chip-disabled:hover.duet-theme-turva*/.duet-chip-container.duet-chip-disabled.sc-duet-chip:hover.duet-theme-turva{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container.duet-chip-disabled button,\n.duet-chip-container.duet-chip-disabled label*/.duet-chip-container.duet-chip-disabled.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-disabled.sc-duet-chip label.sc-duet-chip{cursor:default}/*!@.duet-chip-container button,\n.duet-chip-container label*/.duet-chip-container.sc-duet-chip button.sc-duet-chip,.duet-chip-container.sc-duet-chip label.sc-duet-chip{display:flex;align-items:center;width:100%;height:100%;padding:8px 14px;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:600;line-height:1rem;color:rgb(0, 41, 77) !important;cursor:pointer}/*!@.duet-chip-container button:focus,\n.duet-chip-container label:focus*/.duet-chip-container.sc-duet-chip button.sc-duet-chip:focus,.duet-chip-container.sc-duet-chip label.sc-duet-chip:focus{outline:none}/*!@.duet-chip-container .duet-chip-icon-container*/.duet-chip-container.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{display:flex;align-items:center;height:16px;padding:0;transition:padding 300ms ease}/*!@.duet-chip-container.duet-chip-has-icon .duet-chip-icon-container*/.duet-chip-container.duet-chip-has-icon.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{width:24px;height:16px;padding-right:10px}/*!@.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked .duet-chip-icon-container, .duet-chip-container.duet-chip-has-icon.duet-chip-radio-checked .duet-chip-icon-container*/.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip,.duet-chip-container.duet-chip-has-icon.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{padding-right:11px;padding-left:3px}/*!@.duet-chip-container.duet-chip-has-icon button,\n.duet-chip-container.duet-chip-has-icon label*/.duet-chip-container.duet-chip-has-icon.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-has-icon.sc-duet-chip label.sc-duet-chip{padding-left:10px}/*!@.duet-chip-container.duet-chip-has-popup button,\n.duet-chip-container.duet-chip-has-popup label*/.duet-chip-container.duet-chip-has-popup.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-has-popup.sc-duet-chip label.sc-duet-chip{padding-right:8px}/*!@.duet-chip-container duet-icon:not(.check-mark)*/.duet-chip-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark){width:auto;visibility:visible;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}/*!@.duet-chip-container duet-icon.check-mark*/.duet-chip-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip{width:0;overflow:hidden;visibility:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}/*!@.duet-chip-container.duet-chip-filter-checked, .duet-chip-container.duet-chip-radio-checked*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip{padding:0 !important;background:rgb(230, 242, 248);border-color:rgb(0, 119, 179);border-width:2px}/*!@.duet-chip-container.duet-chip-filter-checked:hover, .duet-chip-container.duet-chip-radio-checked:hover*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip:hover,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip:hover{background:rgb(205, 229, 241)}/*!@.duet-chip-container.duet-chip-filter-checked.chip-has-icon button,\n.duet-chip-container.duet-chip-filter-checked.chip-has-icon label, .duet-chip-container.duet-chip-radio-checked.chip-has-icon button,\n.duet-chip-container.duet-chip-radio-checked.chip-has-icon label*/.duet-chip-container.duet-chip-filter-checked.chip-has-icon.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-filter-checked.chip-has-icon.sc-duet-chip label.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.chip-has-icon.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.chip-has-icon.sc-duet-chip label.sc-duet-chip{padding-left:10px}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container, .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{padding-right:10px}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon:not(.check-mark), .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon:not(.check-mark)*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark),.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark){width:0;overflow:hidden;visibility:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon.check-mark, .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon.check-mark*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip{width:auto;visibility:visible;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}/*!@.duet-chip-container.duet-chip-filter-checked.duet-theme-turva, .duet-chip-container.duet-chip-radio-checked.duet-theme-turva*/.duet-chip-container.duet-chip-filter-checked.duet-theme-turva.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva.sc-duet-chip{background:rgb(245, 245, 247);border-color:rgb(198, 12, 48)}/*!@.duet-chip-container.duet-chip-filter-checked.duet-theme-turva:hover, .duet-chip-container.duet-chip-radio-checked.duet-theme-turva:hover*/.duet-chip-container.duet-chip-filter-checked.duet-theme-turva.sc-duet-chip:hover,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva.sc-duet-chip:hover{background:rgb(228, 228, 230)}/*!@.duet-chip-container .duet-chip-popup-disclosure*/.duet-chip-container.sc-duet-chip .duet-chip-popup-disclosure.sc-duet-chip{padding-right:4.5px;padding-left:12.5px}/*!@.duet-chip-container .duet-chip-popup-disclosure duet-icon*/.duet-chip-container.sc-duet-chip .duet-chip-popup-disclosure.sc-duet-chip duet-icon.sc-duet-chip{transition:transform 300ms ease}/*!@.duet-chip-container.duet-chip-filter-popup-open*/.duet-chip-container.duet-chip-filter-popup-open.sc-duet-chip{background:rgb(243, 249, 252);border-color:rgb(243, 249, 252)}/*!@.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva*/.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva.sc-duet-chip{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container.duet-chip-filter-popup-open .duet-chip-popup-disclosure duet-icon*/.duet-chip-container.duet-chip-filter-popup-open.sc-duet-chip .duet-chip-popup-disclosure.sc-duet-chip duet-icon.sc-duet-chip{transform:rotate(180deg)}/*!@.duet-chip-container.duet-chip-input*/.duet-chip-container.duet-chip-input.sc-duet-chip{display:flex;align-items:center;padding-right:0 !important}/*!@.duet-chip-container.duet-chip-input .duet-chip-input-button*/.duet-chip-container.duet-chip-input.sc-duet-chip .duet-chip-input-button.sc-duet-chip{flex-grow:1}/*!@.duet-chip-container.duet-chip-input .duet-chip-remove-button*/.duet-chip-container.duet-chip-input.sc-duet-chip .duet-chip-remove-button.sc-duet-chip{width:26px;padding:8px 16px 8px 0;margin:-8px 0}/*!@.duet-chip-container.large button,\n.duet-chip-container.large label*/.duet-chip-container.large.sc-duet-chip button.sc-duet-chip,.duet-chip-container.large.sc-duet-chip label.sc-duet-chip{padding:15px 22px}/*!@:host(.user-is-tabbing) .duet-chip-focus*/.user-is-tabbing.sc-duet-chip-h .duet-chip-focus.sc-duet-chip{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-chip-focus.duet-theme-turva*/.user-is-tabbing.sc-duet-chip-h .duet-chip-focus.duet-theme-turva.sc-duet-chip{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-chip-container input*/.duet-chip-container.sc-duet-chip input.sc-duet-chip{position:absolute !important;top:0;left:0;z-index:-1;width:100%;height:100%;cursor:pointer;opacity:0}";
9728
9729
 
9729
9730
  class DuetChip {
9730
9731
  constructor(hostRef) {
9731
9732
  registerInstance(this, hostRef);
9732
9733
  this.duetChange = createEvent$2(this, "duetChange", 3);
9734
+ this.duetRemove = createEvent$2(this, "duetRemove", 3);
9733
9735
  this.duetFocus = createEvent$2(this, "duetFocus", 7);
9734
9736
  this.duetBlur = createEvent$2(this, "duetBlur", 7);
9735
9737
  /**
@@ -9856,6 +9858,12 @@ class DuetChip {
9856
9858
  this.onRemoveClick = (evt) => {
9857
9859
  evt.stopPropagation();
9858
9860
  evt.preventDefault();
9861
+ this.duetRemove.emit({
9862
+ originalEvent: evt,
9863
+ checked: this.checked,
9864
+ value: this.value,
9865
+ component: "duet-chip",
9866
+ });
9859
9867
  this.element.remove();
9860
9868
  };
9861
9869
  this.focus = false;
@@ -9943,7 +9951,7 @@ class DuetChip {
9943
9951
  onBlur: this.onBlur,
9944
9952
  ref: el => (this.focusableElement = el),
9945
9953
  };
9946
- return (hAsync(Host, null, this.variation === "button" && (hAsync("span", { class: classes }, hAsync("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel, "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), hAsync("span", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)))), this.variation === "input" && (hAsync("span", { class: classes }, hAsync("button", Object.assign({ id: identifier, class: "duet-chip-input-button", "aria-label": this.accessibleLabel }, focusHandlers), hAsync("span", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)), hAsync("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, hAsync("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (hAsync("span", { class: classes }, hAsync("input", Object.assign({ "aria-haspopup": this.getAccessiblePopup(), "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), hAsync("label", { htmlFor: identifier }, this.icon && (hAsync("span", { class: "duet-chip-icon-container" }, hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), hAsync("slot", null), this.popupElement && (hAsync("span", { class: "duet-chip-popup-disclosure" }, hAsync("duet-icon", { name: "action-arrow-down-small", size: "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (hAsync("span", { class: classes }, hAsync("input", Object.assign({ "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "radio", name: this.name, value: this.value, checked: this.checked, onChange: this.onRadioChange, onClick: this.disabled ? evt => evt.preventDefault() : undefined }, focusHandlers)), hAsync("label", { htmlFor: identifier }, this.icon && (hAsync("span", { class: "duet-chip-icon-container" }, hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), hAsync("slot", null))))));
9954
+ return (hAsync(Host, { class: { [this.variation]: true } }, this.variation === "button" && (hAsync("span", { class: classes }, hAsync("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel, "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), hAsync("span", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)))), this.variation === "input" && (hAsync("span", { class: classes }, hAsync("button", Object.assign({ id: identifier, class: "duet-chip-input-button", value: this.value, "aria-label": this.accessibleLabel }, focusHandlers), hAsync("span", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)), hAsync("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, hAsync("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (hAsync("span", { class: classes }, hAsync("input", Object.assign({ "aria-haspopup": this.getAccessiblePopup(), "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), hAsync("label", { htmlFor: identifier }, this.icon && (hAsync("span", { class: "duet-chip-icon-container" }, hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), hAsync("slot", null), this.popupElement && (hAsync("span", { class: "duet-chip-popup-disclosure" }, hAsync("duet-icon", { name: "action-arrow-down-small", size: "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (hAsync("span", { class: classes }, hAsync("input", Object.assign({ "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "radio", name: this.name, value: this.value, checked: this.checked, onChange: this.onRadioChange, onClick: this.disabled ? evt => evt.preventDefault() : undefined }, focusHandlers)), hAsync("label", { htmlFor: identifier }, this.icon && (hAsync("span", { class: "duet-chip-icon-container" }, hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), hAsync("slot", null))))));
9947
9955
  }
9948
9956
  get element() { return getElement(this); }
9949
9957
  static get watchers() { return {
@@ -9961,7 +9969,7 @@ class DuetChip {
9961
9969
  "icon": [1],
9962
9970
  "theme": [1025],
9963
9971
  "identifier": [1],
9964
- "value": [1025],
9972
+ "value": [1537],
9965
9973
  "name": [1],
9966
9974
  "checked": [1540],
9967
9975
  "disabled": [4],
@@ -9974,7 +9982,7 @@ class DuetChip {
9974
9982
  },
9975
9983
  "$listeners$": undefined,
9976
9984
  "$lazyBundleId$": "-",
9977
- "$attrsToReflect$": [["checked", "checked"], ["accessibleExpanded", "accessible-expanded"], ["accessiblePopup", "accessible-popup"]]
9985
+ "$attrsToReflect$": [["value", "value"], ["checked", "checked"], ["accessibleExpanded", "accessible-expanded"], ["accessiblePopup", "accessible-popup"]]
9978
9986
  }; }
9979
9987
  }
9980
9988
 
@@ -10358,6 +10366,13 @@ class DuetChoiceGroup {
10358
10366
  this.initialValue = this.value;
10359
10367
  }
10360
10368
  }
10369
+ /**
10370
+ * @internal
10371
+ * Get initial value
10372
+ */
10373
+ async getInitialValue() {
10374
+ return this.initialValue;
10375
+ }
10361
10376
  /**
10362
10377
  * Local methods
10363
10378
  */
@@ -10428,7 +10443,8 @@ class DuetChoiceGroup {
10428
10443
  "value": [1537],
10429
10444
  "disabled": [4],
10430
10445
  "required": [4],
10431
- "accessibleLiveError": [1, "accessible-live-error"]
10446
+ "accessibleLiveError": [1, "accessible-live-error"],
10447
+ "getInitialValue": [64]
10432
10448
  },
10433
10449
  "$listeners$": undefined,
10434
10450
  "$lazyBundleId$": "-",
@@ -11067,7 +11083,7 @@ class DuetCollapsible {
11067
11083
  }; }
11068
11084
  }
11069
11085
 
11070
- const duetComboboxCss = ".sc-duet-combobox-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:inline-block;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(0, 41, 77)}.sc-duet-combobox-h a.sc-duet-combobox{color:rgb(0, 41, 77);transition:none}.duet-theme-turva.sc-duet-combobox-h{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-theme-turva.sc-duet-combobox-h a.sc-duet-combobox{color:rgb(23, 28, 58)}.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-tags.sc-duet-combobox{color:rgb(116, 116, 117)}.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.option.selected.sc-duet-combobox{background:rgb(244, 207, 214)}.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover{color:rgb(255, 255, 255);background:rgb(198, 12, 48)}.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox .option-tags.sc-duet-combobox,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus .option-tags.sc-duet-combobox,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover .option-tags.sc-duet-combobox{color:rgb(255, 255, 255)}.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox a.sc-duet-combobox,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus a.sc-duet-combobox,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover a.sc-duet-combobox{color:rgb(255, 255, 255)}.duet-combobox-list.sc-duet-combobox{position:absolute;top:calc(100% - 12px);z-index:700;display:none;background:rgb(255, 255, 255);border-radius:0 4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.1)}.duet-combobox-list.open.sc-duet-combobox{display:block}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox{max-height:200px;padding:0.75rem 0;margin:0;overflow-y:scroll;font-weight:600;list-style:none;cursor:pointer;scroll-behavior:smooth}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox{padding:4px 0}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected){padding-left:16px}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected) .highlight.sc-duet-combobox{text-decoration:underline}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-tags.sc-duet-combobox{float:right;padding-right:0.875rem;font-weight:400;color:rgb(144, 149, 153)}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.selected.sc-duet-combobox{padding-left:0;background:rgb(205, 229, 241)}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-icon.sc-duet-combobox{padding:0 8px 0 8px}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-tags.sc-duet-combobox{color:rgb(144, 149, 153)}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover{color:rgb(255, 255, 255);background:rgb(0, 119, 179)}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover .option-tags.sc-duet-combobox{color:rgb(255, 255, 255)}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox a.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus a.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover a.sc-duet-combobox{color:rgb(255, 255, 255)}";
11086
+ const duetComboboxCss = ".sc-duet-combobox-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:inline-block;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(0, 41, 77)}.sc-duet-combobox-h a.sc-duet-combobox{color:rgb(0, 41, 77);transition:none}.duet-theme-turva.sc-duet-combobox-h{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-theme-turva.sc-duet-combobox-h a.sc-duet-combobox{color:rgb(23, 28, 58)}.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-tags.sc-duet-combobox{color:rgb(116, 116, 117)}.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.option.selected.sc-duet-combobox{background:rgb(244, 207, 214)}.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover{color:rgb(255, 255, 255);background:rgb(198, 12, 48)}.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox .option-tags.sc-duet-combobox,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus .option-tags.sc-duet-combobox,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover .option-tags.sc-duet-combobox{color:rgb(255, 255, 255)}.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox a.sc-duet-combobox,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus a.sc-duet-combobox,.duet-theme-turva.sc-duet-combobox-h .duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover a.sc-duet-combobox{color:rgb(255, 255, 255)}.duet-combobox-list.sc-duet-combobox{position:absolute;top:calc(100% - 12px);z-index:700;margin:8px 0 0;visibility:hidden;background:rgb(255, 255, 255);border-radius:0 4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.1);opacity:0;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right}.duet-combobox-list.open.sc-duet-combobox{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(0)}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox{max-height:200px;padding:0.75rem 0;margin:0;overflow-y:scroll;font-weight:600;list-style:none;cursor:pointer;scroll-behavior:smooth}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox{padding:4px 0}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected){padding-left:16px}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected) .highlight.sc-duet-combobox{text-decoration:underline}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-tags.sc-duet-combobox{float:right;padding-right:0.875rem;font-weight:400;color:rgb(144, 149, 153)}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.selected.sc-duet-combobox{padding-left:0;background:rgb(205, 229, 241)}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-icon.sc-duet-combobox{padding:0 8px 0 8px}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-tags.sc-duet-combobox{color:rgb(144, 149, 153)}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover{color:rgb(255, 255, 255);background:rgb(0, 119, 179)}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover .option-tags.sc-duet-combobox{color:rgb(255, 255, 255)}.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.active.sc-duet-combobox a.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus a.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .duet-combobox-listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover a.sc-duet-combobox{color:rgb(255, 255, 255)}";
11071
11087
 
11072
11088
  class DuetCombobox {
11073
11089
  constructor(hostRef) {
@@ -11083,24 +11099,63 @@ class DuetCombobox {
11083
11099
  // this.listElement.style.width = `${currentWidth + 1}px`
11084
11100
  }
11085
11101
  }, 100));
11086
- this.handleInputKeyDownEvent = (e) => {
11102
+ this.onInputChange = async (e) => {
11103
+ const newValue = e.detail.value;
11104
+ this.inputValue = newValue;
11105
+ };
11106
+ this.onInputClick = () => {
11107
+ var _a, _b;
11108
+ if (this.openListOnClick) {
11109
+ this.listOpen = !this.listOpen;
11110
+ }
11111
+ else {
11112
+ this.listOpen = ((_a = this.inputValue) === null || _a === void 0 ? void 0 : _a.length) >= this.minCharacters;
11113
+ }
11114
+ if (!((_b = this.getFilteredItems()) === null || _b === void 0 ? void 0 : _b.length)) {
11115
+ this.listOpen = false;
11116
+ }
11117
+ };
11118
+ this.onInputTyping = async (e) => {
11119
+ var _a;
11120
+ const newValue = e.detail.value;
11121
+ if (!this.force && !this.multiple && this.selectedItems.size > 0 && newValue !== this.getSelectedItemLabel()) {
11122
+ this.selectedItems.clear();
11123
+ }
11124
+ this.listOpen = String(newValue).length >= this.minCharacters && ((_a = this.getFilteredItems()) === null || _a === void 0 ? void 0 : _a.length) > 0;
11125
+ };
11126
+ this.onKeyDown = (e) => {
11087
11127
  //if selection is made, close the list and update internal and external values
11128
+ const listItems = this.returnFilteredOrNonFiltered();
11088
11129
  // this should be set to undefined on everything BUT up/down arrow according to the aria 1.1 specs
11089
11130
  // https://www.w3.org/TR/wai-aria-practices-1.1/#combobox
11090
11131
  this.input.accessibleActiveDescendant = undefined;
11091
11132
  if (isEnterKey(e)) {
11092
11133
  e.preventDefault();
11093
- this.selectActiveItem();
11094
- this.updateInputText(false);
11134
+ if (this.listOpen && this.activeItem !== undefined && listItems[this.activeItem]) {
11135
+ if (this.multiple) {
11136
+ this.addSelectedItem(listItems[this.activeItem].id, true);
11137
+ }
11138
+ else {
11139
+ this.updateSelectedItem(listItems[this.activeItem].id, true);
11140
+ }
11141
+ }
11142
+ this.activeItem = undefined;
11095
11143
  this.listOpen = false;
11096
11144
  return;
11097
11145
  }
11098
- //tabbing out or escaping, restore initial state
11099
11146
  if (isEscapeKey(e) || isTabKey(e)) {
11100
11147
  this.updateInputText(true);
11148
+ this.activeItem = undefined;
11101
11149
  this.listOpen = false;
11102
11150
  return;
11103
11151
  }
11152
+ if (isBackspaceKey(e) && this.inputValue === "") {
11153
+ if (this.multiple && this.selectedItems.size > 0) {
11154
+ const lastItem = Array.from(this.selectedItems).pop();
11155
+ this.removeSelectedItem(lastItem, true);
11156
+ }
11157
+ return;
11158
+ }
11104
11159
  //handle arrow up/down navigation
11105
11160
  let nextActiveItem = this.activeItem;
11106
11161
  if (isArrowUpKey(e)) {
@@ -11113,7 +11168,6 @@ class DuetCombobox {
11113
11168
  this.listOpen = true;
11114
11169
  }
11115
11170
  if (isArrowDownKey(e) || isArrowUpKey(e)) {
11116
- const listItems = this.shouldListBeFiltered() ? this.getFilteredItems() : this.processedItems;
11117
11171
  if (nextActiveItem < 0 || !nextActiveItem) {
11118
11172
  nextActiveItem = 0;
11119
11173
  }
@@ -11126,13 +11180,10 @@ class DuetCombobox {
11126
11180
  this.activeItem = nextActiveItem;
11127
11181
  this.scrollToActive();
11128
11182
  }
11129
- this.announceActive();
11130
11183
  return;
11131
11184
  };
11132
11185
  this.processedItems = null;
11133
- this.inputWidth = 0;
11134
11186
  this.inputValue = "";
11135
- this.selectionMsg = "";
11136
11187
  this.listOpen = false;
11137
11188
  this.selectedItems = new Set();
11138
11189
  this.activeItem = undefined;
@@ -11154,8 +11205,11 @@ class DuetCombobox {
11154
11205
  },
11155
11206
  };
11156
11207
  this.accessibleLabels = getLocaleString(this.accessibleLabelDefaults, getLanguage());
11208
+ this.label = "";
11209
+ this.caption = "";
11157
11210
  this.theme = "";
11158
11211
  this.force = false;
11212
+ this.multiple = false;
11159
11213
  this.items = undefined;
11160
11214
  this.formatter = (item) => item && item.name ? item.name : "";
11161
11215
  this.value = undefined;
@@ -11171,7 +11225,7 @@ class DuetCombobox {
11171
11225
  const path = e.composedPath();
11172
11226
  const isClickOutside = path.every(el => el !== this.element);
11173
11227
  if (isClickOutside) {
11174
- this.updateInputText(true, true);
11228
+ this.updateInputText(true);
11175
11229
  this.listOpen = false;
11176
11230
  }
11177
11231
  }
@@ -11182,17 +11236,67 @@ class DuetCombobox {
11182
11236
  async formatItem(item) {
11183
11237
  return this.formatter(item);
11184
11238
  }
11185
- async processItems() {
11186
- this.items = this.processedItems = parsePossibleJSON(this.items);
11187
- await this.updateInputText();
11239
+ processItems() {
11240
+ const ids = [];
11241
+ this.processedItems = parsePossibleJSON(this.items);
11242
+ if (!Array.isArray(this.processedItems)) {
11243
+ console.error("DuetCombobox: Items should be an array");
11244
+ return;
11245
+ }
11246
+ if (this.processedItems.length !== new Set([...this.processedItems]).size) {
11247
+ console.warn("DuetCombobox: Duplicate item values found in the list");
11248
+ }
11249
+ this.processedItems = this.processedItems.map((item, index) => {
11250
+ if (typeof item === "string") {
11251
+ item = { name: item, value: item };
11252
+ }
11253
+ if (item.id !== undefined) {
11254
+ item.id = String(item.id);
11255
+ }
11256
+ else {
11257
+ item.id = `${JSON.stringify(item.value)}-${item.name}`;
11258
+ }
11259
+ if (ids.includes(item.id)) {
11260
+ console.warn("DuetCombobox: Duplicate item id found in the list, postfixed with index");
11261
+ item.id = `${item.id}-${index}`;
11262
+ }
11263
+ ids.push(item.id);
11264
+ return item;
11265
+ });
11266
+ // remove any item selections that are no longer in the items list
11267
+ const selectionsMissing = Array.from(this.selectedItems).filter(id => !this.processedItems.find(item => item.id === id));
11268
+ if (selectionsMissing.length) {
11269
+ if (this.multiple) {
11270
+ selectionsMissing.forEach(id => this.removeSelectedItem(id));
11271
+ }
11272
+ else {
11273
+ this.updateSelectedItem(selectionsMissing[0], true);
11274
+ }
11275
+ }
11188
11276
  }
11189
- async processValue() {
11190
- if (this.value) {
11191
- const selectedItem = this.items.find(item => item.value === this.value);
11192
- this.updateSelectedItems(selectedItem.id);
11277
+ processValue() {
11278
+ // empty string may be valid item value
11279
+ if (this.value !== "" && !this.value) {
11280
+ this.selectedItems.clear();
11281
+ return;
11282
+ }
11283
+ const values = Array.isArray(this.value) ? this.value : [this.value];
11284
+ const ids = this.processedItems.filter(item => values.includes(item.value)).map(item => item.id);
11285
+ // if value corresponds to the selectedItems, do nothing
11286
+ if (ids.length === this.selectedItems.size && ids.every(id => this.selectedItems.has(id))) {
11287
+ return;
11288
+ }
11289
+ if (this.multiple) {
11290
+ this.selectedItems.clear();
11291
+ this.input.clearChips();
11292
+ ids.forEach(id => this.addSelectedItem(id));
11293
+ }
11294
+ else {
11295
+ const selectedItem = this.processedItems.find(item => item.value === this.value);
11296
+ this.updateSelectedItem(selectedItem.id);
11193
11297
  }
11194
11298
  }
11195
- async processListOpenChange() {
11299
+ processListOpenChange() {
11196
11300
  if (this.openListOnClick) {
11197
11301
  this.input.icon = this.listOpen ? "action-arrow-up" : "action-arrow-down";
11198
11302
  }
@@ -11217,30 +11321,14 @@ class DuetCombobox {
11217
11321
  componentDidLoad() {
11218
11322
  // observe resize events to dynamically adjust size of dropdown area
11219
11323
  this.resizeObserver.observe(this.input);
11220
- this.listElement.addEventListener("click", e => {
11221
- e.stopPropagation();
11222
- });
11223
11324
  this.processValue();
11224
11325
  }
11225
- /**
11226
- * Updates the input text based on the selected/clicked items.
11227
- * @param event - event
11228
- *'param item: DuetComboboxItem - the item that was selected
11229
- */
11230
- onListClick(e, item) {
11231
- e.preventDefault();
11232
- // update selected item with id
11233
- this.updateSelectedItems(item.id, true);
11234
- this.listOpen = false;
11235
- return this.listOpen;
11236
- }
11237
11326
  /**
11238
11327
  * Helper function that checks inputs in the field, compares it with the item list and returns true when inputvalue matches selectedItem id
11239
- * TODO: this should be disabled in multiple mode
11240
11328
  */
11241
11329
  shouldListBeFiltered() {
11242
- if (this.selectedItems.size && this.input.value === this.inputValue) {
11243
- const item = this.items.filter(item => this.selectedItems.has(item.id));
11330
+ if (!this.multiple && this.selectedItems.size && this.input.value === this.inputValue) {
11331
+ const item = this.processedItems.find(item => this.selectedItems.has(item.id));
11244
11332
  return !(this.formatter(item).toLowerCase() === this.input.value.toLowerCase());
11245
11333
  }
11246
11334
  return true;
@@ -11255,91 +11343,135 @@ class DuetCombobox {
11255
11343
  : this.sortFilteredItems(this.processedItems)
11256
11344
  : [];
11257
11345
  }
11346
+ emitChangeEvent(id) {
11347
+ const item = this.processedItems.find(item => item.id === id);
11348
+ this.duetChange.emit({
11349
+ item,
11350
+ value: this.value,
11351
+ component: "duet-combobox",
11352
+ });
11353
+ }
11258
11354
  /**
11259
- * Updates the selected items based on the item id.
11260
- * @param id
11261
- * @private
11355
+ * Updates the value after selected items have changed for multiple selection.
11262
11356
  */
11263
- async updateSelectedItems(id, emitEvent) {
11264
- // for a multiple scenario wrap this in an if/else and just don't clear here
11265
- this.selectedItems.clear();
11266
- if (this.selectedItems) {
11267
- if (this.selectedItems.has(id)) {
11268
- this.selectedItems.delete(id);
11269
- }
11270
- else {
11271
- this.selectedItems.add(id);
11272
- }
11357
+ updateMultipleValue() {
11358
+ this.value = this.processedItems.filter(item => this.selectedItems.has(item.id)).map(item => item.value);
11359
+ this.input.value = "";
11360
+ this.updateChips();
11361
+ }
11362
+ /**
11363
+ * Add item with id to the selectedItems set. Used only when multiple is true.
11364
+ */
11365
+ addSelectedItem(id, emitEvent) {
11366
+ if (this.selectedItems.has(id)) {
11367
+ return;
11273
11368
  }
11369
+ this.selectedItems.add(id);
11370
+ this.updateMultipleValue();
11274
11371
  if (emitEvent) {
11275
- const item = this.selectedItems.size === 0 ? [] : this.items.filter(item => this.selectedItems.has(item.id));
11276
- this.duetChange.emit({
11277
- value: item[0].value,
11278
- item: item[0],
11279
- component: "duet-combobox",
11280
- });
11372
+ this.emitChangeEvent(id);
11281
11373
  }
11282
- await this.updateInputText();
11283
11374
  }
11284
11375
  /**
11285
- * Updates the input text based on the selected/clicked items.
11286
- * @param bool -override to clear if invoked by "click outside"
11376
+ * Remove item with id from the selectedItems set. Used only when multiple is true.
11287
11377
  */
11288
- async updateInputText(isBlurred = false, isClickOutside = false) {
11289
- const item = this.selectedItems.size === 0 ? [] : this.items.filter(item => this.selectedItems.has(item.id));
11290
- //if items changed and given id no longer exists
11291
- if (item.length === 0 && this.selectedItems.size > 0) {
11292
- this.selectedItems.clear();
11293
- this.input.value = "";
11378
+ removeSelectedItem(id, emitEvent) {
11379
+ if (!this.selectedItems.has(id)) {
11380
+ return;
11381
+ }
11382
+ this.selectedItems.delete(id);
11383
+ this.updateMultipleValue();
11384
+ if (emitEvent) {
11385
+ this.emitChangeEvent(id);
11386
+ }
11387
+ }
11388
+ /**
11389
+ * Updates the selected item based on the item id. Used only when multiple is false.
11390
+ */
11391
+ async updateSelectedItem(id, emitEvent) {
11392
+ if (this.selectedItems.has(id)) {
11393
+ this.selectedItems.delete(id);
11294
11394
  this.value = undefined;
11295
- this.activeItem = undefined;
11296
11395
  }
11297
- if (!isClickOutside && this.selectedItems.size === 1) {
11298
- this.input.value = ""; // set value to empty so that cursor position follows accordingly
11299
- this.input.value = await this.formatItem(item[0]);
11300
- this.input.scrollLeft = this.input.scrollWidth;
11301
- this.activeItem = undefined;
11302
- this.value = item[0].value;
11396
+ else {
11397
+ this.selectedItems.clear();
11398
+ this.selectedItems.add(id);
11399
+ this.value = this.processedItems.find(item => item.id === id).value;
11303
11400
  }
11304
- if (isBlurred) {
11305
- if (this.selectedItems.size === 0) {
11306
- this.activeItem = undefined;
11307
- if (this.force) {
11308
- this.inputValue = "";
11309
- this.input.value = "";
11310
- }
11401
+ if (emitEvent) {
11402
+ this.emitChangeEvent(id);
11403
+ }
11404
+ await this.updateInputText();
11405
+ }
11406
+ /**
11407
+ * Add or remove chips of the input based on the selectedItems Set.
11408
+ */
11409
+ async updateChips() {
11410
+ const ids = Array.from(this.selectedItems);
11411
+ const chips = await this.input.getChips();
11412
+ ids.forEach(async (id) => {
11413
+ const item = this.processedItems.find(i => i.id === id);
11414
+ const text = await this.formatItem(item);
11415
+ const chipExists = await this.input.hasChip({ value: `${id}`, text });
11416
+ if (!chipExists) {
11417
+ const chip = document.createElement("duet-chip");
11418
+ chip.variation = "input";
11419
+ chip.value = `${id}`;
11420
+ chip.textContent = text;
11421
+ chip.addEventListener("duetRemove", evt => {
11422
+ const id = evt.detail.value;
11423
+ this.removeSelectedItem(id, true);
11424
+ });
11425
+ this.input.addChip(chip);
11311
11426
  }
11312
- else if (this.force) {
11313
- const selectedValueIndex = [...this.selectedItems][0];
11314
- const selectedValueLabel = await this.formatItem(this.items[selectedValueIndex]);
11315
- this.inputValue = selectedValueLabel;
11316
- this.input.value = selectedValueLabel;
11427
+ });
11428
+ chips.forEach(chip => {
11429
+ if (!ids.includes(chip.value)) {
11430
+ chip.remove();
11317
11431
  }
11318
- }
11319
- this.listOpen = false;
11432
+ });
11320
11433
  }
11321
- updateInputValue(e) {
11322
- var _a;
11323
- this.inputValue = e.detail.value;
11324
- this.listOpen = String(this.inputValue).length >= this.minCharacters && ((_a = this.getFilteredItems()) === null || _a === void 0 ? void 0 : _a.length) > 0;
11434
+ async getSelectedItemLabel() {
11435
+ const item = this.processedItems.find(item => this.selectedItems.has(item.id));
11436
+ const label = item ? await this.formatItem(item) : "";
11437
+ return label;
11325
11438
  }
11326
- selectActiveItem() {
11327
- if (this.activeItem === undefined) {
11439
+ /**
11440
+ * Updates the input text when the combobox loses focus or when a selection is made.
11441
+ */
11442
+ async updateInputText(isBlurred = false) {
11443
+ if (isBlurred && this.multiple) {
11444
+ this.input.value = "";
11328
11445
  return;
11329
11446
  }
11330
- const filteredItem = this.returnFilteredOrNonFiltered();
11331
- const item = filteredItem[this.activeItem];
11332
- this.updateSelectedItems(item.id, true);
11447
+ if (isBlurred && this.force) {
11448
+ if (this.selectedItems.size === 0) {
11449
+ this.input.value = "";
11450
+ }
11451
+ else {
11452
+ this.input.value = await this.getSelectedItemLabel();
11453
+ }
11454
+ }
11455
+ if (!isBlurred && this.selectedItems.size > 0) {
11456
+ this.input.value = ""; // set value to empty so that cursor position follows accordingly
11457
+ this.input.value = await this.getSelectedItemLabel();
11458
+ this.input.scrollLeft = this.input.scrollWidth;
11459
+ }
11333
11460
  }
11334
- announceActive(items) {
11335
- if (!items) {
11336
- items = this.returnFilteredOrNonFiltered();
11461
+ // Event handlers
11462
+ onListClick(e, item) {
11463
+ e.preventDefault();
11464
+ e.stopPropagation();
11465
+ // update selected item with id
11466
+ if (this.multiple) {
11467
+ this.addSelectedItem(item.id, true);
11337
11468
  }
11338
- if (this.activeItem === undefined || this.activeItem === -1) {
11339
- return;
11469
+ else {
11470
+ this.updateSelectedItem(item.id, true);
11340
11471
  }
11341
- const item = items[this.activeItem];
11342
- this.selectionMsg = structuredClone(this.formatLabel(item, items.length, this.items.length));
11472
+ this.activeItem = undefined;
11473
+ this.listOpen = false;
11474
+ return this.listOpen;
11343
11475
  }
11344
11476
  //function that scrolls to the li element with the class "active"
11345
11477
  scrollToActive() {
@@ -11367,16 +11499,27 @@ class DuetCombobox {
11367
11499
  */
11368
11500
  getFilteredItems() {
11369
11501
  // filter items based on user inputs
11370
- const filteredItems = this.processedItems.filter(item => {
11371
- var _a, _b, _c, _d;
11502
+ const filteredItems = this.processedItems
11503
+ .filter(item => {
11504
+ var _a, _b, _c, _d, _e;
11372
11505
  // filter by name and value
11373
11506
  // if value contains inputvalue
11374
11507
  return ((_a = String(item.value)) === null || _a === void 0 ? void 0 : _a.toLowerCase()[this.filterType]((_b = this.inputValue) === null || _b === void 0 ? void 0 : _b.toLowerCase())) ||
11375
11508
  (
11376
11509
  // if name contains input value
11377
11510
  (_c = String(item.name)) === null || _c === void 0 ? void 0 : _c.toLowerCase()[this.filterType]((_d = this.inputValue) === null || _d === void 0 ? void 0 : _d.toLowerCase())) ||
11511
+ // if name contains input value
11512
+ this.formatter(item).toLowerCase()[this.filterType]((_e = this.inputValue) === null || _e === void 0 ? void 0 : _e.toLowerCase()) ||
11378
11513
  // if the item is selected
11379
11514
  this.selectedItems.has(item.id);
11515
+ })
11516
+ // if multiple, filter out the selected items
11517
+ .filter(item => {
11518
+ let include = true;
11519
+ if (this.multiple && this.selectedItems.has(item.id)) {
11520
+ include = false;
11521
+ }
11522
+ return include;
11380
11523
  });
11381
11524
  return this.sortFilteredItems(filteredItems);
11382
11525
  }
@@ -11418,8 +11561,11 @@ class DuetCombobox {
11418
11561
  "$members$": {
11419
11562
  "accessibleLabelDefaults": [1, "accessible-label-defaults"],
11420
11563
  "accessibleLabels": [1040],
11564
+ "label": [1],
11565
+ "caption": [1],
11421
11566
  "theme": [1025],
11422
11567
  "force": [4],
11568
+ "multiple": [4],
11423
11569
  "items": [1032],
11424
11570
  "formatter": [16],
11425
11571
  "value": [1537],
@@ -11427,9 +11573,7 @@ class DuetCombobox {
11427
11573
  "openListOnClick": [4, "open-list-on-click"],
11428
11574
  "filterType": [1, "filter-type"],
11429
11575
  "processedItems": [32],
11430
- "inputWidth": [32],
11431
11576
  "inputValue": [32],
11432
- "selectionMsg": [32],
11433
11577
  "listOpen": [32],
11434
11578
  "selectedItems": [32],
11435
11579
  "activeItem": [32],
@@ -14183,7 +14327,7 @@ function cleanValue(input, regex) {
14183
14327
  return newValue;
14184
14328
  }
14185
14329
 
14186
- const duetInputCss = "*.sc-duet-input,*.sc-duet-input::after,*.sc-duet-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-input-h:last-child,.sc-duet-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-input-h{width:100% !important}.duet-m-0.sc-duet-input-h{margin:0 !important}input[type=search].sc-duet-input::-webkit-search-cancel-button{-webkit-appearance:none}duet-tooltip.sc-duet-input,.sc-duet-input-s>duet-tooltip{position:relative;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-input,.sc-duet-input-s>duet-tooltip{right:auto}}duet-caption.sc-duet-input:not(:last-of-type){margin-bottom:0}.duet-input-placeholder.sc-duet-input{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-input-icon.sc-duet-input{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:rgb(0, 41, 77);pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-input .duet-input-icon.sc-duet-input{color:rgb(23, 28, 58)}.duet-input-container.sc-duet-input{position:relative;width:100%;height:100%}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input{position:relative;z-index:250}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input{position:absolute;top:-24px;right:-24px;min-width:48px;min-height:48px;color:rgb(0, 77, 128)}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-input .duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus,.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:active{opacity:0.75;transition:none}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-single.sc-duet-input button.sc-duet-input{top:-48px;right:0}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-double.sc-duet-input button.sc-duet-input{top:-24px;right:12px}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-button.sc-duet-input button.sc-duet-input{top:-24px;right:0}.duet-input-container.has-clear.has-icon.sc-duet-input .duet-input-clear-icon.sc-duet-input{top:-24px;right:24px}.duet-input-container.duet-theme-turva.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input{color:rgb(0, 41, 77)}.duet-input-label-container.sc-duet-input{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between}@media (min-width: 48em){.duet-input-label-container.sc-duet-input{justify-content:flex-start}}.duet-input.sc-duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;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:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:rgb(0, 41, 77) !important;cursor:initial !important;background:rgb(255, 255, 255) !important;background-clip:initial !important;border:1px solid rgb(144, 149, 153) !important;border-radius:4px !important;box-shadow:initial !important;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-input.is-number.sc-duet-input{padding-right:112px !important}.duet-input.is-date.sc-duet-input{padding-right:64px !important}.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:rgb(222, 35, 98) !important}.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:rgb(222, 35, 98) !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:rgb(224, 42, 13) !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:rgb(224, 42, 13) !important}.has-icon.sc-duet-input .duet-input.sc-duet-input{padding-right:48px !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input{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) !important;border-color:rgb(116, 116, 117) !important}.duet-input.sc-duet-input::-ms-clear{display:none}.duet-input.sc-duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input.sc-duet-input::-webkit-input-placeholder{color:rgb(101, 119, 135);opacity:1 !important;transition:color 300ms ease}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-webkit-input-placeholder{color:rgb(116, 116, 117)}.duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:rgb(207, 210, 212)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:rgb(207, 207, 209)}.duet-input.sc-duet-input::-moz-placeholder{color:rgb(101, 119, 135);opacity:1 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-moz-placeholder{color:rgb(116, 116, 117)}.duet-input.sc-duet-input:focus::-moz-placeholder{color:rgb(207, 210, 212)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-moz-placeholder{color:rgb(207, 207, 209)}.duet-input.sc-duet-input:-ms-input-placeholder{color:rgb(101, 119, 135)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:-ms-input-placeholder{color:rgb(116, 116, 117)}.duet-input.sc-duet-input:focus:-ms-input-placeholder{color:rgb(207, 210, 212)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus:-ms-input-placeholder{color:rgb(207, 207, 209)}.duet-input[disabled].sc-duet-input{color:rgb(0, 41, 77) !important;cursor:not-allowed !important;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:rgb(0, 41, 77) !important}.duet-theme-turva.sc-duet-input .duet-input[disabled].sc-duet-input{color:rgb(23, 28, 58) !important;background:rgb(245, 245, 247) !important;border-color:rgb(245, 245, 247) !important;-webkit-text-fill-color:rgb(23, 28, 58) !important}.duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #909599 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #747475 !important}.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #e55039}.duet-input.sc-duet-input:focus{border-color:rgb(0, 119, 179) !important;outline:0;box-shadow:0 0 0 1px #0077b3 !important;transition:none}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus{border-color:rgb(23, 28, 58) !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:rgb(23, 28, 58)}.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #e55039}.duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:rgb(0, 119, 179)}.duet-input[type=search].sc-duet-input:not(:placeholder-shown):focus+.duet-input-icon.sc-duet-input{display:none}.duet-input.sc-duet-input:not(:focus):not(:hover):invalid{box-shadow:none !important}.duet-input[type=number].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=number].sc-duet-input::-webkit-outer-spin-button,.duet-input[type=time].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=time].sc-duet-input::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input.sc-duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help.sc-duet-input{display:block;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(101, 119, 135);border-radius:4px}.duet-input-help.sc-duet-input span.sc-duet-input{display:block;margin-top:8px}.duet-theme-turva.sc-duet-input .duet-input-help.sc-duet-input{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(116, 116, 117)}.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:rgb(222, 35, 98)}.duet-theme-turva.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:rgb(224, 42, 13)}.duet-label-hidden.sc-duet-input duet-label.sc-duet-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-input-relative.sc-duet-input{position:relative;width:100%}.duet-input-variation-button.sc-duet-input{position:relative;width:100%}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input duet-button.sc-duet-input{z-index:250;margin-bottom:0}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{border-right-width:0 !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.duet-input-variation-revealable.sc-duet-input{position:relative;width:100%}.duet-input-variation-revealable.sc-duet-input .sc-duet-input::-ms-reveal{display:none}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;border:1px solid rgb(144, 149, 153);border-radius:4px;box-shadow:initial;transition:box-shadow 150ms ease, border 150ms ease}.duet-theme-turva.sc-duet-input .duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(116, 116, 117)}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input duet-button.sc-duet-input{z-index:250;margin-bottom:0}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{border-width:0 !important}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:focus,.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:hover{border-width:0 !important;box-shadow:none !important}.duet-input-variation-revealable.disabled.sc-duet-input .duet-input-relative.sc-duet-input{background:rgb(245, 248, 250);border-color:rgb(225, 227, 230);box-shadow:none}.duet-input-variation-revealable.has-error.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(222, 35, 98)}.duet-input-variation-revealable.duet-theme-turva.has-error.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(224, 42, 13)}.duet-input-variation-revealable.has-focus.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(0, 119, 179);box-shadow:0 0 0 1px #0077b3 !important}.duet-input-variation-revealable.duet-theme-turva.has-focus.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(23, 28, 58);box-shadow:0 0 0 1px #171c3a !important}.duet-input-variation-revealable.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #909599}.duet-input-variation-revealable.duet-theme-turva.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #747475}.duet-input-variation-revealable.has-error.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #de2362}.duet-input-variation-revealable.duet-theme-turva.has-error.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #e55039}";
14330
+ const duetInputCss = "*.sc-duet-input,*.sc-duet-input::after,*.sc-duet-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-input-h:last-child,.sc-duet-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-input-h{width:100% !important}.duet-m-0.sc-duet-input-h{margin:0 !important}input[type=search].sc-duet-input::-webkit-search-cancel-button{-webkit-appearance:none}duet-tooltip.sc-duet-input,.sc-duet-input-s>duet-tooltip{position:relative;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-input,.sc-duet-input-s>duet-tooltip{right:auto}}duet-caption.sc-duet-input:not(:last-of-type){margin-bottom:0}.duet-input-placeholder.sc-duet-input{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-input-icon.sc-duet-input{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:rgb(0, 41, 77);pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-input .duet-input-icon.sc-duet-input{color:rgb(23, 28, 58)}.duet-input-container.sc-duet-input{position:relative;width:100%;height:100%}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input{position:relative;z-index:250}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input{position:absolute;top:-24px;right:-24px;min-width:48px;min-height:48px;color:rgb(0, 77, 128)}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-input .duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus,.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:active{opacity:0.75;transition:none}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-single.sc-duet-input button.sc-duet-input{top:-48px;right:0}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-double.sc-duet-input button.sc-duet-input{top:-24px;right:12px}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-button.sc-duet-input button.sc-duet-input{top:-24px;right:0}.duet-input-container.has-clear.has-icon.sc-duet-input .duet-input-clear-icon.sc-duet-input{top:-24px;right:24px}.duet-input-container.duet-theme-turva.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input{color:rgb(0, 41, 77)}.duet-input-label-container.sc-duet-input{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between}@media (min-width: 48em){.duet-input-label-container.sc-duet-input{justify-content:flex-start}}.duet-input.sc-duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;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:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:rgb(0, 41, 77) !important;cursor:initial !important;background:rgb(255, 255, 255) !important;background-clip:initial !important;border:1px solid rgb(144, 149, 153) !important;border-radius:4px !important;box-shadow:initial !important;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-input.is-number.sc-duet-input{padding-right:112px !important}.duet-input.is-date.sc-duet-input{padding-right:64px !important}.duet-input.after-chip.sc-duet-input{padding-left:8px !important}.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:rgb(222, 35, 98) !important}.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:rgb(222, 35, 98) !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:rgb(224, 42, 13) !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:rgb(224, 42, 13) !important}.has-icon.sc-duet-input .duet-input.sc-duet-input{padding-right:48px !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input{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) !important;border-color:rgb(116, 116, 117) !important}.duet-input.sc-duet-input::-ms-clear{display:none}.duet-input.sc-duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input.sc-duet-input::-webkit-input-placeholder{color:rgb(101, 119, 135);opacity:1 !important;transition:color 300ms ease}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-webkit-input-placeholder{color:rgb(116, 116, 117)}.duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:rgb(207, 210, 212)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:rgb(207, 207, 209)}.duet-input.sc-duet-input::-moz-placeholder{color:rgb(101, 119, 135);opacity:1 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-moz-placeholder{color:rgb(116, 116, 117)}.duet-input.sc-duet-input:focus::-moz-placeholder{color:rgb(207, 210, 212)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-moz-placeholder{color:rgb(207, 207, 209)}.duet-input.sc-duet-input:-ms-input-placeholder{color:rgb(101, 119, 135)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:-ms-input-placeholder{color:rgb(116, 116, 117)}.duet-input.sc-duet-input:focus:-ms-input-placeholder{color:rgb(207, 210, 212)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus:-ms-input-placeholder{color:rgb(207, 207, 209)}.duet-input[disabled].sc-duet-input{color:rgb(0, 41, 77) !important;cursor:not-allowed !important;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:rgb(0, 41, 77) !important}.duet-theme-turva.sc-duet-input .duet-input[disabled].sc-duet-input{color:rgb(23, 28, 58) !important;background:rgb(245, 245, 247) !important;border-color:rgb(245, 245, 247) !important;-webkit-text-fill-color:rgb(23, 28, 58) !important}.duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #909599 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #747475 !important}.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #e55039}.duet-input.sc-duet-input:focus{border-color:rgb(0, 119, 179) !important;outline:0;box-shadow:0 0 0 1px #0077b3 !important;transition:none}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus{border-color:rgb(23, 28, 58) !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:rgb(23, 28, 58)}.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #e55039}.duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:rgb(0, 119, 179)}.duet-input[type=search].sc-duet-input:not(:placeholder-shown):focus+.duet-input-icon.sc-duet-input{display:none}.duet-input.sc-duet-input:not(:focus):not(:hover):invalid{box-shadow:none !important}.duet-input[type=number].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=number].sc-duet-input::-webkit-outer-spin-button,.duet-input[type=time].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=time].sc-duet-input::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input.sc-duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help.sc-duet-input{display:block;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(101, 119, 135);border-radius:4px}.duet-input-help.sc-duet-input span.sc-duet-input{display:block;margin-top:8px}.duet-theme-turva.sc-duet-input .duet-input-help.sc-duet-input{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(116, 116, 117)}.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:rgb(222, 35, 98)}.duet-theme-turva.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:rgb(224, 42, 13)}.duet-label-hidden.sc-duet-input duet-label.sc-duet-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-input-relative.sc-duet-input{position:relative;width:100%}.duet-input-variation-button.sc-duet-input{position:relative;width:100%}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input duet-button.sc-duet-input{z-index:250;margin-bottom:0}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{border-right-width:0 !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.duet-input-variation-revealable.sc-duet-input{position:relative;width:100%}.duet-input-variation-revealable.sc-duet-input .sc-duet-input::-ms-reveal{display:none}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;border:1px solid rgb(144, 149, 153);border-radius:4px;box-shadow:initial;transition:box-shadow 150ms ease, border 150ms ease}.duet-theme-turva.sc-duet-input .duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(116, 116, 117)}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input duet-button.sc-duet-input{z-index:250;margin-bottom:0}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{border-width:0 !important}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:focus,.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:hover{border-width:0 !important;box-shadow:none !important}.duet-input-variation-revealable.disabled.sc-duet-input .duet-input-relative.sc-duet-input{background:rgb(245, 248, 250);border-color:rgb(225, 227, 230);box-shadow:none}.duet-input-variation-revealable.has-error.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(222, 35, 98)}.duet-input-variation-revealable.duet-theme-turva.has-error.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(224, 42, 13)}.duet-input-variation-revealable.has-focus.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(0, 119, 179);box-shadow:0 0 0 1px #0077b3 !important}.duet-input-variation-revealable.duet-theme-turva.has-focus.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(23, 28, 58);box-shadow:0 0 0 1px #171c3a !important}.duet-input-variation-revealable.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #909599}.duet-input-variation-revealable.duet-theme-turva.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #747475}.duet-input-variation-revealable.has-error.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #de2362}.duet-input-variation-revealable.duet-theme-turva.has-error.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #e55039}.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;border:1px solid rgb(144, 149, 153);border-radius:4px;box-shadow:initial;transition:box-shadow 150ms ease, border 150ms ease}.duet-theme-turva.sc-duet-input .duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(116, 116, 117)}.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{flex-basis:4rem;flex-grow:1;border-width:0 !important}.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:focus,.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:hover{border-width:0 !important;box-shadow:none !important}";
14187
14331
 
14188
14332
  /**
14189
14333
  * @slot tooltip - Use to place a tooltip alongside the label.
@@ -14350,6 +14494,7 @@ class DuetInput {
14350
14494
  this.required = false;
14351
14495
  this.type = "text";
14352
14496
  this.variation = "default";
14497
+ this.chips = false;
14353
14498
  this.label = "Label";
14354
14499
  this.labelColor = undefined;
14355
14500
  this.labelWeight = undefined;
@@ -14378,7 +14523,7 @@ class DuetInput {
14378
14523
  if (((_a = this === null || this === void 0 ? void 0 : this.nativeInput) === null || _a === void 0 ? void 0 : _a.value) !== this.value) {
14379
14524
  const restoreCursor = resetCursor(this.nativeInput);
14380
14525
  this.nativeInput.value = this.value;
14381
- // restore selection position after having set value
14526
+ // restore selection position after having set valuea
14382
14527
  // (in webkit based browsers settings value trigger cursor position and will set it to EndOfText)
14383
14528
  restoreCursor();
14384
14529
  }
@@ -14448,6 +14593,39 @@ class DuetInput {
14448
14593
  this.value = "";
14449
14594
  }
14450
14595
  }
14596
+ getAllChips() {
14597
+ return Array.from(this.element.querySelectorAll(".duet-input-relative duet-chip"));
14598
+ }
14599
+ /**
14600
+ * @internal
14601
+ * Add a chip to the input
14602
+ */
14603
+ async addChip(chip) {
14604
+ const container = this.element.querySelector(".duet-input-relative");
14605
+ const input = container.querySelector("input");
14606
+ container.insertBefore(chip, input);
14607
+ }
14608
+ /**
14609
+ * @internal
14610
+ * Does the input have a chip with the given value and text
14611
+ */
14612
+ async hasChip({ value, text }) {
14613
+ return this.getAllChips().some(chip => chip.value === value && chip.textContent === text);
14614
+ }
14615
+ /**
14616
+ * @internal
14617
+ * Get all chips from the input
14618
+ */
14619
+ async getChips() {
14620
+ return this.getAllChips();
14621
+ }
14622
+ /**
14623
+ * @internal
14624
+ * Remove all chips from the input
14625
+ */
14626
+ async clearChips() {
14627
+ this.getAllChips().forEach(chip => chip.remove());
14628
+ }
14451
14629
  /**
14452
14630
  * render() function
14453
14631
  * Always the last one in the class.
@@ -14490,6 +14668,7 @@ class DuetInput {
14490
14668
  "required": [4],
14491
14669
  "type": [1],
14492
14670
  "variation": [1],
14671
+ "chips": [4],
14493
14672
  "label": [1025],
14494
14673
  "labelColor": [1025, "label-color"],
14495
14674
  "labelWeight": [1025, "label-weight"],
@@ -14514,7 +14693,11 @@ class DuetInput {
14514
14693
  "isFocused": [32],
14515
14694
  "setFocus": [64],
14516
14695
  "resetCursor": [64],
14517
- "clearInput": [64]
14696
+ "clearInput": [64],
14697
+ "addChip": [64],
14698
+ "hasChip": [64],
14699
+ "getChips": [64],
14700
+ "clearChips": [64]
14518
14701
  },
14519
14702
  "$listeners$": undefined,
14520
14703
  "$lazyBundleId$": "-",
@@ -15210,22 +15393,11 @@ class DuetMenuBar {
15210
15393
  }; }
15211
15394
  }
15212
15395
 
15213
- const duetMenuBarButtonCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-button,*.sc-duet-menu-bar-button::after,*.sc-duet-menu-bar-button::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-button-h{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*/.duet-menu-bar-button.sc-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*/.duet-menu-bar-button.sc-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*/.duet-theme-turva.sc-duet-menu-bar-button .duet-menu-bar-button.sc-duet-menu-bar-button:focus,.duet-menu-bar-button.sc-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*/.duet-menu-bar-button.duet-theme-turva.sc-duet-menu-bar-button{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*/.duet-menu-bar-button.sc-duet-menu-bar-button{padding:0 16px}}@media (min-width: 76.25em){/*!@.duet-menu-bar-button*/.duet-menu-bar-button.sc-duet-menu-bar-button{padding:0 28px}}@media (min-width: 62em){/*!@.duet-menu-bar-button:hover*/.duet-menu-bar-button.sc-duet-menu-bar-button:hover{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-button:hover.duet-theme-turva*/.duet-menu-bar-button.sc-duet-menu-bar-button:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
15396
+ const duetMenuBarButtonCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-button,*.sc-duet-menu-bar-button::after,*.sc-duet-menu-bar-button::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-button-h{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*/.duet-menu-bar-button.sc-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*/.duet-menu-bar-button.sc-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*/.duet-theme-turva.sc-duet-menu-bar-button .duet-menu-bar-button.sc-duet-menu-bar-button:focus,.duet-menu-bar-button.sc-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*/.duet-menu-bar-button.sc-duet-menu-bar-button .menu-bar-button-icon.sc-duet-menu-bar-button{width:20px;height:20px}@media (min-width: 62em){/*!@.duet-menu-bar-button .menu-bar-button-icon*/.duet-menu-bar-button.sc-duet-menu-bar-button .menu-bar-button-icon.sc-duet-menu-bar-button{width:16px;height:16px}}/*!@.duet-menu-bar-button.duet-theme-turva*/.duet-menu-bar-button.duet-theme-turva.sc-duet-menu-bar-button{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*/.duet-menu-bar-button.sc-duet-menu-bar-button{padding:0 16px}}@media (min-width: 76.25em){/*!@.duet-menu-bar-button*/.duet-menu-bar-button.sc-duet-menu-bar-button{padding:0 28px}}@media (min-width: 62em){/*!@.duet-menu-bar-button:hover*/.duet-menu-bar-button.sc-duet-menu-bar-button:hover{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-button:hover.duet-theme-turva*/.duet-menu-bar-button.sc-duet-menu-bar-button:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
15214
15397
 
15215
15398
  class DuetMenuBarButton {
15216
15399
  constructor(hostRef) {
15217
15400
  registerInstance(this, hostRef);
15218
- this.mql = [window.matchMedia(media_query_large.replace(/'/g, ""))];
15219
- this.boundMqlFunctions = [];
15220
- this.changeIconSize = () => {
15221
- if (this.mql[0].matches) {
15222
- this.iconSize = "x-small";
15223
- }
15224
- else {
15225
- this.iconSize = "small";
15226
- }
15227
- };
15228
- this.iconSize = "x-small";
15229
15401
  this.accessibleLabel = undefined;
15230
15402
  this.accessibleControls = undefined;
15231
15403
  this.accessiblePopup = "false";
@@ -15246,26 +15418,6 @@ class DuetMenuBarButton {
15246
15418
  componentWillLoad() {
15247
15419
  inheritGlobalTheme(this);
15248
15420
  }
15249
- connectedCallback() {
15250
- this.changeIconSize();
15251
- for (let i = 0; i < this.mql.length; i++) {
15252
- // addEventListener is not available in Stencil hydrate
15253
- if (this.mql[i].addEventListener) {
15254
- const bound = this.changeIconSize.bind(this);
15255
- this.mql[i].addEventListener("change", bound);
15256
- this.boundMqlFunctions[i] = bound;
15257
- }
15258
- }
15259
- }
15260
- disconnectedCallback() {
15261
- for (let i = 0; i < this.mql.length; i++) {
15262
- // removeEventListener is not available in Stencil hydrate
15263
- if (this.mql[i].removeEventListener) {
15264
- this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
15265
- }
15266
- }
15267
- this.boundMqlFunctions = [];
15268
- }
15269
15421
  /**
15270
15422
  * Sets focus on underlying button element.
15271
15423
  */
@@ -15282,7 +15434,7 @@ class DuetMenuBarButton {
15282
15434
  return (hAsync(Host, { role: "listitem", onfocus: () => this.setFocus() }, hAsync("button", { ref: button => (this.nativeButton = button), class: {
15283
15435
  "duet-menu-bar-button": true,
15284
15436
  "duet-theme-turva": this.theme === "turva",
15285
- }, "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 && (hAsync("duet-icon", { theme: this.theme, size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" })), hAsync("slot", null))));
15437
+ }, "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 && (hAsync("duet-icon", { class: "menu-bar-button-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), hAsync("slot", null))));
15286
15438
  }
15287
15439
  get element() { return getElement(this); }
15288
15440
  static get style() { return duetMenuBarButtonCss; }
@@ -15303,7 +15455,6 @@ class DuetMenuBarButton {
15303
15455
  "accessiblePressed": [4, "accessible-pressed"],
15304
15456
  "theme": [1025],
15305
15457
  "icon": [1537],
15306
- "iconSize": [32],
15307
15458
  "setFocus": [64]
15308
15459
  },
15309
15460
  "$listeners$": undefined,
@@ -15312,24 +15463,11 @@ class DuetMenuBarButton {
15312
15463
  }; }
15313
15464
  }
15314
15465
 
15315
- const duetMenuBarDropdownCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-dropdown,*.sc-duet-menu-bar-dropdown::after,*.sc-duet-menu-bar-dropdown::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-dropdown-h{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*/.sc-duet-menu-bar-dropdown-h:last-child .duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{padding:0 16px 0 16px}}@media (min-width: 76.25em){/*!@:host(:last-child) .duet-menu-bar-dropdown button*/.sc-duet-menu-bar-dropdown-h:last-child .duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{padding:0 16px 0 28px}}/*!@.duet-menu-bar-dropdown*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown{position:relative;height:100%}/*!@.duet-menu-bar-dropdown button*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{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*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{padding:0 16px}}@media (min-width: 76.25em){/*!@.duet-menu-bar-dropdown button*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{padding:0 28px}}/*!@.duet-menu-bar-dropdown button:hover*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown:hover{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-dropdown button:focus*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown: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*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown .label.sc-duet-menu-bar-dropdown{display:flex;gap:0.5rem;align-items:center;justify-content:center}/*!@.duet-menu-bar-dropdown button.active*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-dropdown button.active .caret*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown .caret.sc-duet-menu-bar-dropdown{transform:rotate(180deg)}/*!@.duet-theme-turva .duet-menu-bar-dropdown button.active*/.duet-theme-turva.sc-duet-menu-bar-dropdown .duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown{color:rgb(198, 12, 48)}/*!@.duet-menu-bar-dropdown button.active::after*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown::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*/.duet-theme-turva.sc-duet-menu-bar-dropdown .duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown::after{background:rgb(198, 12, 48)}/*!@.duet-menu-bar-dropdown .items*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown .items.sc-duet-menu-bar-dropdown{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*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown .items.hidden.sc-duet-menu-bar-dropdown{display:none}/*!@.duet-menu-bar-dropdown.duet-theme-turva button*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{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*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown:hover{color:rgb(198, 12, 48)}/*!@.duet-menu-bar-dropdown.duet-theme-turva button:focus*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown: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*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown{color:rgb(198, 12, 48)}/*!@.duet-menu-bar-dropdown.duet-theme-turva button.active::after*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown::after{background:rgb(198, 12, 48)}/*!@.duet-menu-bar-dropdown.duet-theme-turva .items*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown .items.sc-duet-menu-bar-dropdown{background:rgb(255, 255, 255)}";
15466
+ const duetMenuBarDropdownCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-dropdown,*.sc-duet-menu-bar-dropdown::after,*.sc-duet-menu-bar-dropdown::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-dropdown-h{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*/.sc-duet-menu-bar-dropdown-h:last-child .duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{padding:0 16px 0 16px}}@media (min-width: 76.25em){/*!@:host(:last-child) .duet-menu-bar-dropdown button*/.sc-duet-menu-bar-dropdown-h:last-child .duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{padding:0 16px 0 28px}}/*!@.duet-menu-bar-dropdown*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown{position:relative;height:100%}/*!@.duet-menu-bar-dropdown button*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{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*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{padding:0 16px}}@media (min-width: 76.25em){/*!@.duet-menu-bar-dropdown button*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{padding:0 28px}}/*!@.duet-menu-bar-dropdown button:hover*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown:hover{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-dropdown button:focus*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown: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*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown .label.sc-duet-menu-bar-dropdown{display:flex;gap:0.5rem;align-items:center;justify-content:center}/*!@.duet-menu-bar-dropdown button.active*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-dropdown button.active .caret*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown .caret.sc-duet-menu-bar-dropdown{transform:rotate(180deg)}/*!@.duet-theme-turva .duet-menu-bar-dropdown button.active*/.duet-theme-turva.sc-duet-menu-bar-dropdown .duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown{color:rgb(198, 12, 48)}/*!@.duet-menu-bar-dropdown button.active::after*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown::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*/.duet-theme-turva.sc-duet-menu-bar-dropdown .duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown::after{background:rgb(198, 12, 48)}/*!@.duet-menu-bar-dropdown .menu-bar-dropdown-icon*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown .menu-bar-dropdown-icon.sc-duet-menu-bar-dropdown{width:20px;height:20px}@media (min-width: 62em){/*!@.duet-menu-bar-dropdown .menu-bar-dropdown-icon*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown .menu-bar-dropdown-icon.sc-duet-menu-bar-dropdown{width:16px;height:16px}}/*!@.duet-menu-bar-dropdown .items*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown .items.sc-duet-menu-bar-dropdown{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*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown .items.hidden.sc-duet-menu-bar-dropdown{display:none}/*!@.duet-menu-bar-dropdown.duet-theme-turva button*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{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*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown:hover{color:rgb(198, 12, 48)}/*!@.duet-menu-bar-dropdown.duet-theme-turva button:focus*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown: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*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown{color:rgb(198, 12, 48)}/*!@.duet-menu-bar-dropdown.duet-theme-turva button.active::after*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown::after{background:rgb(198, 12, 48)}/*!@.duet-menu-bar-dropdown.duet-theme-turva .items*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown .items.sc-duet-menu-bar-dropdown{background:rgb(255, 255, 255)}";
15316
15467
 
15317
15468
  class DuetMenuBarDropdown {
15318
15469
  constructor(hostRef) {
15319
15470
  registerInstance(this, hostRef);
15320
- /**
15321
- * Own Properties.
15322
- */
15323
- this.mql = [window.matchMedia(media_query_large.replace(/'/g, ""))];
15324
- this.boundMqlFunctions = [];
15325
- this.changeIconSize = () => {
15326
- if (this.mql[0].matches) {
15327
- this.iconSize = "x-small";
15328
- }
15329
- else {
15330
- this.iconSize = "small";
15331
- }
15332
- };
15333
15471
  this.onClick = () => {
15334
15472
  this.open = !this.open;
15335
15473
  };
@@ -15344,7 +15482,6 @@ class DuetMenuBarDropdown {
15344
15482
  return "right";
15345
15483
  }
15346
15484
  };
15347
- this.iconSize = "x-small";
15348
15485
  this.accessibleLabel = undefined;
15349
15486
  this.theme = "";
15350
15487
  this.open = false;
@@ -15362,26 +15499,6 @@ class DuetMenuBarDropdown {
15362
15499
  componentWillLoad() {
15363
15500
  inheritGlobalTheme(this);
15364
15501
  }
15365
- connectedCallback() {
15366
- this.changeIconSize();
15367
- for (let i = 0; i < this.mql.length; i++) {
15368
- // addEventListener is not available in Stencil hydrate
15369
- if (this.mql[i].addEventListener) {
15370
- const bound = this.changeIconSize.bind(this);
15371
- this.mql[i].addEventListener("change", bound);
15372
- this.boundMqlFunctions[i] = bound;
15373
- }
15374
- }
15375
- }
15376
- disconnectedCallback() {
15377
- for (let i = 0; i < this.mql.length; i++) {
15378
- // removeEventListener is not available in Stencil hydrate
15379
- if (this.mql[i].removeEventListener) {
15380
- this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
15381
- }
15382
- }
15383
- this.boundMqlFunctions = [];
15384
- }
15385
15502
  handleEscape(e) {
15386
15503
  if (isEscapeKey(e)) {
15387
15504
  this.open = false;
@@ -15406,7 +15523,7 @@ class DuetMenuBarDropdown {
15406
15523
  [`duet-menu-bar-dropdown--slot-${this.getVariant()}`]: true,
15407
15524
  } }, hAsync("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: {
15408
15525
  active: this.open,
15409
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { theme: this.theme, name: this.icon, size: this.iconSize, margin: "none", color: "currentColor" })), hAsync("div", { class: "label" }, hAsync("slot", { name: "label" }), hAsync("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
15526
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { class: "menu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { class: "label" }, hAsync("slot", { name: "label" }), hAsync("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
15410
15527
  items: true,
15411
15528
  hidden: !this.open,
15412
15529
  } }, hAsync("slot", null)))));
@@ -15421,7 +15538,6 @@ class DuetMenuBarDropdown {
15421
15538
  "theme": [1025],
15422
15539
  "open": [1540],
15423
15540
  "icon": [1537],
15424
- "iconSize": [32],
15425
15541
  "setFocus": [64]
15426
15542
  },
15427
15543
  "$listeners$": [[8, "click", "handleFocus"]],
@@ -15556,25 +15672,11 @@ class DuetMenuBarItem {
15556
15672
  }; }
15557
15673
  }
15558
15674
 
15559
- const duetMenuBarLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-link,*.sc-duet-menu-bar-link::after,*.sc-duet-menu-bar-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-link-h{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*/.duet-menu-bar-link.sc-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*/.duet-menu-bar-link.sc-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*/.duet-theme-turva.sc-duet-menu-bar-link .duet-menu-bar-link.sc-duet-menu-bar-link:focus,.duet-menu-bar-link.sc-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*/.duet-menu-bar-link.duet-theme-turva.sc-duet-menu-bar-link{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*/.duet-menu-bar-link.sc-duet-menu-bar-link{padding:0 16px}}@media (min-width: 76.25em){/*!@.duet-menu-bar-link*/.duet-menu-bar-link.sc-duet-menu-bar-link{padding:0 28px}}/*!@.duet-menu-bar-link.active*/.duet-menu-bar-link.active.sc-duet-menu-bar-link{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-link.active::after*/.duet-menu-bar-link.active.sc-duet-menu-bar-link::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*/.duet-menu-bar-link.active.sc-duet-menu-bar-link::after{z-index:auto;height:2px}}/*!@.duet-menu-bar-link.active.duet-theme-turva*/.duet-menu-bar-link.active.duet-theme-turva.sc-duet-menu-bar-link{color:rgb(198, 12, 48)}/*!@.duet-menu-bar-link.active.duet-theme-turva::after*/.duet-menu-bar-link.active.duet-theme-turva.sc-duet-menu-bar-link::after{background:rgb(198, 12, 48)}@media (min-width: 62em){/*!@.duet-menu-bar-link:hover*/.duet-menu-bar-link.sc-duet-menu-bar-link:hover{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-link:hover.duet-theme-turva*/.duet-menu-bar-link.sc-duet-menu-bar-link:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
15675
+ const duetMenuBarLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-link,*.sc-duet-menu-bar-link::after,*.sc-duet-menu-bar-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-link-h{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*/.duet-menu-bar-link.sc-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*/.duet-menu-bar-link.sc-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*/.duet-theme-turva.sc-duet-menu-bar-link .duet-menu-bar-link.sc-duet-menu-bar-link:focus,.duet-menu-bar-link.sc-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*/.duet-menu-bar-link.sc-duet-menu-bar-link .menu-bar-link-icon.sc-duet-menu-bar-link{width:20px;height:20px}@media (min-width: 62em){/*!@.duet-menu-bar-link .menu-bar-link-icon*/.duet-menu-bar-link.sc-duet-menu-bar-link .menu-bar-link-icon.sc-duet-menu-bar-link{width:16px;height:16px}}/*!@.duet-menu-bar-link.duet-theme-turva*/.duet-menu-bar-link.duet-theme-turva.sc-duet-menu-bar-link{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*/.duet-menu-bar-link.sc-duet-menu-bar-link{padding:0 16px}}@media (min-width: 76.25em){/*!@.duet-menu-bar-link*/.duet-menu-bar-link.sc-duet-menu-bar-link{padding:0 28px}}/*!@.duet-menu-bar-link.active*/.duet-menu-bar-link.active.sc-duet-menu-bar-link{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-link.active::after*/.duet-menu-bar-link.active.sc-duet-menu-bar-link::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*/.duet-menu-bar-link.active.sc-duet-menu-bar-link::after{z-index:auto;height:2px}}/*!@.duet-menu-bar-link.active.duet-theme-turva*/.duet-menu-bar-link.active.duet-theme-turva.sc-duet-menu-bar-link{color:rgb(198, 12, 48)}/*!@.duet-menu-bar-link.active.duet-theme-turva::after*/.duet-menu-bar-link.active.duet-theme-turva.sc-duet-menu-bar-link::after{background:rgb(198, 12, 48)}@media (min-width: 62em){/*!@.duet-menu-bar-link:hover*/.duet-menu-bar-link.sc-duet-menu-bar-link:hover{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-link:hover.duet-theme-turva*/.duet-menu-bar-link.sc-duet-menu-bar-link:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
15560
15676
 
15561
15677
  class DuetMenuBarLink {
15562
15678
  constructor(hostRef) {
15563
15679
  registerInstance(this, hostRef);
15564
- /**
15565
- * Own Properties.
15566
- */
15567
- this.mql = [window.matchMedia(media_query_large.replace(/'/g, ""))];
15568
- this.boundMqlFunctions = [];
15569
- this.changeIconSize = () => {
15570
- if (this.mql[0].matches) {
15571
- this.iconSize = "x-small";
15572
- }
15573
- else {
15574
- this.iconSize = "small";
15575
- }
15576
- };
15577
- this.iconSize = "x-small";
15578
15680
  this.theme = "";
15579
15681
  this.active = false;
15580
15682
  this.href = "#";
@@ -15587,26 +15689,6 @@ class DuetMenuBarLink {
15587
15689
  componentWillLoad() {
15588
15690
  inheritGlobalTheme(this);
15589
15691
  }
15590
- connectedCallback() {
15591
- this.changeIconSize();
15592
- for (let i = 0; i < this.mql.length; i++) {
15593
- // addEventListener is not available in Stencil hydrate
15594
- if (this.mql[i].addEventListener) {
15595
- const bound = this.changeIconSize.bind(this);
15596
- this.mql[i].addEventListener("change", bound);
15597
- this.boundMqlFunctions[i] = bound;
15598
- }
15599
- }
15600
- }
15601
- disconnectedCallback() {
15602
- for (let i = 0; i < this.mql.length; i++) {
15603
- // removeEventListener is not available in Stencil hydrate
15604
- if (this.mql[i].removeEventListener) {
15605
- this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
15606
- }
15607
- }
15608
- this.boundMqlFunctions = [];
15609
- }
15610
15692
  /**
15611
15693
  * render() function
15612
15694
  * Always the last one in the class.
@@ -15616,7 +15698,7 @@ class DuetMenuBarLink {
15616
15698
  "duet-menu-bar-link": true,
15617
15699
  "duet-theme-turva": this.theme === "turva",
15618
15700
  active: this.active,
15619
- }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (hAsync("duet-icon", { theme: this.theme, size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" })), hAsync("slot", null))));
15701
+ }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (hAsync("duet-icon", { class: "menu-bar-link-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), hAsync("slot", null))));
15620
15702
  }
15621
15703
  get element() { return getElement(this); }
15622
15704
  static get style() { return duetMenuBarLinkCss; }
@@ -15628,8 +15710,7 @@ class DuetMenuBarLink {
15628
15710
  "active": [1028],
15629
15711
  "href": [1025],
15630
15712
  "icon": [1537],
15631
- "accessibleLabel": [1, "accessible-label"],
15632
- "iconSize": [32]
15713
+ "accessibleLabel": [1, "accessible-label"]
15633
15714
  },
15634
15715
  "$listeners$": undefined,
15635
15716
  "$lazyBundleId$": "-",
@@ -21418,7 +21499,7 @@ class DuetSubmenuBar {
21418
21499
  }; }
21419
21500
  }
21420
21501
 
21421
- const duetSubmenuBarDropdownCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-submenu-bar-dropdown,*.sc-duet-submenu-bar-dropdown::after,*.sc-duet-submenu-bar-dropdown::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-submenu-bar-dropdown-h{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*/.sc-duet-submenu-bar-dropdown-h{width:auto}}/*!@.duet-submenu-bar-dropdown*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown{position:relative;height:100%}/*!@.duet-submenu-bar-dropdown button*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown .label.sc-duet-submenu-bar-dropdown{display:flex;gap:5px;align-items:center;justify-content:center}@media (min-width: 62em){/*!@.duet-submenu-bar-dropdown button.open*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown{background:rgb(230, 242, 248)}}/*!@.duet-submenu-bar-dropdown button.open .caret*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown .caret.sc-duet-submenu-bar-dropdown{transform:rotate(180deg)}/*!@.duet-submenu-bar-dropdown button:focus*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown: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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown .label-text.sc-duet-submenu-bar-dropdown{position:relative}/*!@.duet-submenu-bar-dropdown button.active .label-text::after*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown .label-text.sc-duet-submenu-bar-dropdown::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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown .label-text.sc-duet-submenu-bar-dropdown::after{display:none}}@media (min-width: 62em){/*!@.duet-submenu-bar-dropdown button .caret*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown .caret.sc-duet-submenu-bar-dropdown{position:absolute;right:12px}/*!@.duet-submenu-bar-dropdown button:hover*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}/*!@.duet-submenu-bar-dropdown button:hover.active*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown:hover.active{color:rgb(0, 41, 77)}/*!@.duet-theme-turva .duet-submenu-bar-dropdown button:hover.active*/.duet-theme-turva.sc-duet-submenu-bar-dropdown .duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown:hover.active{color:rgb(23, 28, 58)}/*!@.duet-submenu-bar-dropdown button.active*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown{color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-submenu-bar-dropdown button.active*/.duet-theme-turva.sc-duet-submenu-bar-dropdown .duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown{color:rgb(198, 12, 48)}/*!@.duet-submenu-bar-dropdown button.active::after, .duet-submenu-bar-dropdown button.open::after*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown::after,.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown::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*/.duet-theme-turva.sc-duet-submenu-bar-dropdown .duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown::after,.duet-theme-turva.sc-duet-submenu-bar-dropdown .duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown::after{background:rgb(198, 12, 48)}}/*!@.duet-submenu-bar-dropdown .items*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown .items.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown .items.sc-duet-submenu-bar-dropdown::-webkit-scrollbar{display:none}@media (min-width: 62em){/*!@.duet-submenu-bar-dropdown .items*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown .items.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown .items.hidden.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown:hover{background:rgb(228, 228, 230)}}/*!@.duet-submenu-bar-dropdown.duet-theme-turva button:focus*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown: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*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown .label-text.sc-duet-submenu-bar-dropdown::after,.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown .label-text.sc-duet-submenu-bar-dropdown::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*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown,.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown::after,.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown::after{background:rgb(148, 9, 37)}@media (min-width: 62em){/*!@.duet-submenu-bar-dropdown.duet-theme-turva button.open*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown{background:rgb(228, 228, 230)}}@media (min-width: 62em){/*!@.duet-submenu-bar-dropdown.duet-theme-turva .items*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown .items.sc-duet-submenu-bar-dropdown{background:rgb(255, 255, 255)}}";
21502
+ const duetSubmenuBarDropdownCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-submenu-bar-dropdown,*.sc-duet-submenu-bar-dropdown::after,*.sc-duet-submenu-bar-dropdown::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-submenu-bar-dropdown-h{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*/.sc-duet-submenu-bar-dropdown-h{width:auto}}/*!@.duet-submenu-bar-dropdown*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown{position:relative;height:100%}/*!@.duet-submenu-bar-dropdown button*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown .label.sc-duet-submenu-bar-dropdown{display:flex;gap:5px;align-items:center;justify-content:center}@media (min-width: 62em){/*!@.duet-submenu-bar-dropdown button.open*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown{background:rgb(230, 242, 248)}}/*!@.duet-submenu-bar-dropdown button.open .caret*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown .caret.sc-duet-submenu-bar-dropdown{transform:rotate(180deg)}/*!@.duet-submenu-bar-dropdown button:focus*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown: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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown .label-text.sc-duet-submenu-bar-dropdown{position:relative}/*!@.duet-submenu-bar-dropdown button.active .label-text::after*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown .label-text.sc-duet-submenu-bar-dropdown::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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown .label-text.sc-duet-submenu-bar-dropdown::after{display:none}}@media (min-width: 62em){/*!@.duet-submenu-bar-dropdown button .caret*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown .caret.sc-duet-submenu-bar-dropdown{position:absolute;right:12px}/*!@.duet-submenu-bar-dropdown button:hover*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}/*!@.duet-submenu-bar-dropdown button:hover.active*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown:hover.active{color:rgb(0, 41, 77)}/*!@.duet-theme-turva .duet-submenu-bar-dropdown button:hover.active*/.duet-theme-turva.sc-duet-submenu-bar-dropdown .duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown:hover.active{color:rgb(23, 28, 58)}/*!@.duet-submenu-bar-dropdown button.active*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown{color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-submenu-bar-dropdown button.active*/.duet-theme-turva.sc-duet-submenu-bar-dropdown .duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown{color:rgb(198, 12, 48)}/*!@.duet-submenu-bar-dropdown button.active::after, .duet-submenu-bar-dropdown button.open::after*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown::after,.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown::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*/.duet-theme-turva.sc-duet-submenu-bar-dropdown .duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown::after,.duet-theme-turva.sc-duet-submenu-bar-dropdown .duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown::after{background:rgb(198, 12, 48)}}/*!@.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown .submenu-bar-dropdown-icon.sc-duet-submenu-bar-dropdown{width:20px;height:20px}@media (min-width: 62em){/*!@.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown .submenu-bar-dropdown-icon.sc-duet-submenu-bar-dropdown{width:16px;height:16px}}/*!@.duet-submenu-bar-dropdown .items*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown .items.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown .items.sc-duet-submenu-bar-dropdown::-webkit-scrollbar{display:none}@media (min-width: 62em){/*!@.duet-submenu-bar-dropdown .items*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown .items.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.sc-duet-submenu-bar-dropdown .items.hidden.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown:hover{background:rgb(228, 228, 230)}}/*!@.duet-submenu-bar-dropdown.duet-theme-turva button:focus*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.sc-duet-submenu-bar-dropdown: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*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown .label-text.sc-duet-submenu-bar-dropdown::after,.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown .label-text.sc-duet-submenu-bar-dropdown::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*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown,.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown{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*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.active.sc-duet-submenu-bar-dropdown::after,.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown::after{background:rgb(148, 9, 37)}@media (min-width: 62em){/*!@.duet-submenu-bar-dropdown.duet-theme-turva button.open*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown button.open.sc-duet-submenu-bar-dropdown{background:rgb(228, 228, 230)}}@media (min-width: 62em){/*!@.duet-submenu-bar-dropdown.duet-theme-turva .items*/.duet-submenu-bar-dropdown.duet-theme-turva.sc-duet-submenu-bar-dropdown .items.sc-duet-submenu-bar-dropdown{background:rgb(255, 255, 255)}}";
21422
21503
 
21423
21504
  class DuetSubmenuBarDropdown {
21424
21505
  constructor(hostRef) {
@@ -21431,11 +21512,9 @@ class DuetSubmenuBarDropdown {
21431
21512
  this.checkIsDesktop = () => {
21432
21513
  if (this.mql[0].matches) {
21433
21514
  this.isDesktop = true;
21434
- this.iconSize = "x-small";
21435
21515
  }
21436
21516
  else {
21437
21517
  this.isDesktop = false;
21438
- this.iconSize = "small";
21439
21518
  }
21440
21519
  };
21441
21520
  this.onClick = () => {
@@ -21454,7 +21533,6 @@ class DuetSubmenuBarDropdown {
21454
21533
  }
21455
21534
  };
21456
21535
  this.isDesktop = false;
21457
- this.iconSize = "small";
21458
21536
  this.theme = "";
21459
21537
  this.active = false;
21460
21538
  this.open = false;
@@ -21523,7 +21601,7 @@ class DuetSubmenuBarDropdown {
21523
21601
  } }, hAsync("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: {
21524
21602
  open: this.open,
21525
21603
  active: this.active,
21526
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { theme: this.theme, name: this.icon, size: this.iconSize, margin: "none", color: "currentColor" })), hAsync("div", { class: "label" }, hAsync("span", { class: "label-text" }, hAsync("slot", { name: "label" })), hAsync("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
21604
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { class: "submenu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { class: "label" }, hAsync("span", { class: "label-text" }, hAsync("slot", { name: "label" })), hAsync("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
21527
21605
  items: true,
21528
21606
  hidden: !this.open,
21529
21607
  } }, hAsync("slot", null)))));
@@ -21539,7 +21617,6 @@ class DuetSubmenuBarDropdown {
21539
21617
  "open": [1540],
21540
21618
  "icon": [1537],
21541
21619
  "isDesktop": [32],
21542
- "iconSize": [32],
21543
21620
  "setFocus": [64]
21544
21621
  },
21545
21622
  "$listeners$": [[8, "click", "handleFocus"]],
@@ -21671,25 +21748,11 @@ class DuetSubmenuBarItem {
21671
21748
  }; }
21672
21749
  }
21673
21750
 
21674
- const duetSubmenuBarLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-submenu-bar-link,*.sc-duet-submenu-bar-link::after,*.sc-duet-submenu-bar-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-submenu-bar-link-h{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*/.sc-duet-submenu-bar-link-h{width:auto}}/*!@.duet-submenu-bar-link*/.duet-submenu-bar-link.sc-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*/.duet-submenu-bar-link.sc-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*/.duet-theme-turva.sc-duet-submenu-bar-link .duet-submenu-bar-link.sc-duet-submenu-bar-link:focus,.duet-submenu-bar-link.sc-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*/.duet-submenu-bar-link.sc-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*/.duet-submenu-bar-link.active.sc-duet-submenu-bar-link{color:rgb(0, 119, 179)}/*!@.duet-submenu-bar-link.active.duet-theme-turva*/.duet-submenu-bar-link.active.duet-theme-turva.sc-duet-submenu-bar-link{color:rgb(148, 9, 37)}}/*!@.duet-submenu-bar-link.active .label*/.duet-submenu-bar-link.active.sc-duet-submenu-bar-link .label.sc-duet-submenu-bar-link{position:relative}/*!@.duet-submenu-bar-link.active .label::after*/.duet-submenu-bar-link.active.sc-duet-submenu-bar-link .label.sc-duet-submenu-bar-link::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*/.duet-submenu-bar-link.active.sc-duet-submenu-bar-link .label.sc-duet-submenu-bar-link::after{display:none}/*!@.duet-submenu-bar-link.active::after*/.duet-submenu-bar-link.active.sc-duet-submenu-bar-link::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*/.duet-submenu-bar-link.duet-theme-turva.sc-duet-submenu-bar-link{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*/.duet-submenu-bar-link.duet-theme-turva.active.sc-duet-submenu-bar-link .label.sc-duet-submenu-bar-link::after{background:rgb(148, 9, 37)}/*!@.duet-submenu-bar-link.duet-theme-turva.active::after*/.duet-submenu-bar-link.duet-theme-turva.active.sc-duet-submenu-bar-link::after{background:rgb(148, 9, 37)}@media (min-width: 62em){/*!@.duet-submenu-bar-link:hover*/.duet-submenu-bar-link.sc-duet-submenu-bar-link:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}/*!@.duet-submenu-bar-link:hover.duet-theme-turva*/.duet-submenu-bar-link.sc-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*/.duet-submenu-bar-link.sc-duet-submenu-bar-link:hover.duet-theme-turva.active{color:rgb(148, 9, 37)}}";
21751
+ const duetSubmenuBarLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-submenu-bar-link,*.sc-duet-submenu-bar-link::after,*.sc-duet-submenu-bar-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-submenu-bar-link-h{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*/.sc-duet-submenu-bar-link-h{width:auto}}/*!@.duet-submenu-bar-link*/.duet-submenu-bar-link.sc-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*/.duet-submenu-bar-link.sc-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*/.duet-theme-turva.sc-duet-submenu-bar-link .duet-submenu-bar-link.sc-duet-submenu-bar-link:focus,.duet-submenu-bar-link.sc-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*/.duet-submenu-bar-link.sc-duet-submenu-bar-link .submenu-bar-link-icon.sc-duet-submenu-bar-link{width:20px;height:20px}@media (min-width: 62em){/*!@.duet-submenu-bar-link .submenu-bar-link-icon*/.duet-submenu-bar-link.sc-duet-submenu-bar-link .submenu-bar-link-icon.sc-duet-submenu-bar-link{width:16px;height:16px}}@media (min-width: 62em){/*!@.duet-submenu-bar-link*/.duet-submenu-bar-link.sc-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*/.duet-submenu-bar-link.active.sc-duet-submenu-bar-link{color:rgb(0, 119, 179)}/*!@.duet-submenu-bar-link.active.duet-theme-turva*/.duet-submenu-bar-link.active.duet-theme-turva.sc-duet-submenu-bar-link{color:rgb(148, 9, 37)}}/*!@.duet-submenu-bar-link.active .label*/.duet-submenu-bar-link.active.sc-duet-submenu-bar-link .label.sc-duet-submenu-bar-link{position:relative}/*!@.duet-submenu-bar-link.active .label::after*/.duet-submenu-bar-link.active.sc-duet-submenu-bar-link .label.sc-duet-submenu-bar-link::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*/.duet-submenu-bar-link.active.sc-duet-submenu-bar-link .label.sc-duet-submenu-bar-link::after{display:none}/*!@.duet-submenu-bar-link.active::after*/.duet-submenu-bar-link.active.sc-duet-submenu-bar-link::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*/.duet-submenu-bar-link.duet-theme-turva.sc-duet-submenu-bar-link{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*/.duet-submenu-bar-link.duet-theme-turva.active.sc-duet-submenu-bar-link .label.sc-duet-submenu-bar-link::after{background:rgb(148, 9, 37)}/*!@.duet-submenu-bar-link.duet-theme-turva.active::after*/.duet-submenu-bar-link.duet-theme-turva.active.sc-duet-submenu-bar-link::after{background:rgb(148, 9, 37)}@media (min-width: 62em){/*!@.duet-submenu-bar-link:hover*/.duet-submenu-bar-link.sc-duet-submenu-bar-link:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}/*!@.duet-submenu-bar-link:hover.duet-theme-turva*/.duet-submenu-bar-link.sc-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*/.duet-submenu-bar-link.sc-duet-submenu-bar-link:hover.duet-theme-turva.active{color:rgb(148, 9, 37)}}";
21675
21752
 
21676
21753
  class DuetSubmenuBarLink {
21677
21754
  constructor(hostRef) {
21678
21755
  registerInstance(this, hostRef);
21679
- /**
21680
- * Own Properties.
21681
- */
21682
- this.mql = [window.matchMedia(media_query_large.replace(/'/g, ""))];
21683
- this.boundMqlFunctions = [];
21684
- this.changeIconSize = () => {
21685
- if (this.mql[0].matches) {
21686
- this.iconSize = "x-small";
21687
- }
21688
- else {
21689
- this.iconSize = "small";
21690
- }
21691
- };
21692
- this.iconSize = "small";
21693
21756
  this.theme = "";
21694
21757
  this.active = false;
21695
21758
  this.href = "#";
@@ -21701,26 +21764,6 @@ class DuetSubmenuBarLink {
21701
21764
  componentWillLoad() {
21702
21765
  inheritGlobalTheme(this);
21703
21766
  }
21704
- connectedCallback() {
21705
- this.changeIconSize();
21706
- for (let i = 0; i < this.mql.length; i++) {
21707
- // addEventListener is not available in Stencil hydrate
21708
- if (this.mql[i].addEventListener) {
21709
- const bound = this.changeIconSize.bind(this);
21710
- this.mql[i].addEventListener("change", bound);
21711
- this.boundMqlFunctions[i] = bound;
21712
- }
21713
- }
21714
- }
21715
- disconnectedCallback() {
21716
- for (let i = 0; i < this.mql.length; i++) {
21717
- // removeEventListener is not available in Stencil hydrate
21718
- if (this.mql[i].removeEventListener) {
21719
- this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
21720
- }
21721
- }
21722
- this.boundMqlFunctions = [];
21723
- }
21724
21767
  handleEscape(e) {
21725
21768
  if (isEscapeKey(e)) {
21726
21769
  const dropdown = this.element.closest("duet-submenu-bar");
@@ -21733,7 +21776,7 @@ class DuetSubmenuBarLink {
21733
21776
  * Always the last one in the class.
21734
21777
  */
21735
21778
  render() {
21736
- return (hAsync(Host, null, hAsync("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 && (hAsync("duet-icon", { theme: this.theme, name: this.icon, size: this.iconSize, margin: "none", color: "currentColor" })), hAsync("span", { class: "label" }, hAsync("slot", null)))));
21779
+ return (hAsync(Host, null, hAsync("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 && (hAsync("duet-icon", { class: "submenu-bar-link-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("span", { class: "label" }, hAsync("slot", null)))));
21737
21780
  }
21738
21781
  get element() { return getElement(this); }
21739
21782
  static get style() { return duetSubmenuBarLinkCss; }
@@ -21744,8 +21787,7 @@ class DuetSubmenuBarLink {
21744
21787
  "theme": [1025],
21745
21788
  "active": [1028],
21746
21789
  "href": [1025],
21747
- "icon": [1537],
21748
- "iconSize": [32]
21790
+ "icon": [1537]
21749
21791
  },
21750
21792
  "$listeners$": undefined,
21751
21793
  "$lazyBundleId$": "-",