@duetds/components 8.5.5 → 8.6.0

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 (212) hide show
  1. package/hydrate/index.js +289 -113
  2. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  3. package/lib/cjs/duet-banner.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-callout.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-chip.cjs.entry.js +9 -2
  6. package/lib/cjs/duet-choice_2.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-combobox.cjs.entry.js +260 -127
  9. package/lib/cjs/duet-date-picker.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-input_2.cjs.entry.js +39 -3
  13. package/lib/cjs/duet-modal.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-multiselect.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  16. package/lib/cjs/duet-promo-card.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-slideout-panel.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-slideout.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  23. package/lib/cjs/duet.cjs.js +1 -1
  24. package/lib/cjs/loader.cjs.js +1 -1
  25. package/lib/cjs/{slot-utils-f5073417.js → slot-utils-03a40c78.js} +3 -1
  26. package/lib/collection/components/duet-chip/duet-chip.css +7 -0
  27. package/lib/collection/components/duet-chip/duet-chip.js +29 -2
  28. package/lib/collection/components/duet-combobox/duet-combobox-select-single.js +2 -2
  29. package/lib/collection/components/duet-combobox/duet-combobox.css +10 -2
  30. package/lib/collection/components/duet-combobox/duet-combobox.e2e.js +81 -51
  31. package/lib/collection/components/duet-combobox/duet-combobox.js +321 -142
  32. package/lib/collection/components/duet-input/duet-input.css +29 -0
  33. package/lib/collection/components/duet-input/duet-input.js +159 -3
  34. package/lib/collection/utils/slot-utils.js +3 -1
  35. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  36. package/lib/dist-custom-elements/duet-alert.js +1 -1
  37. package/lib/dist-custom-elements/duet-banner.js +1 -1
  38. package/lib/dist-custom-elements/duet-breadcrumb.js +1 -1
  39. package/lib/dist-custom-elements/duet-callout.js +1 -1
  40. package/lib/dist-custom-elements/duet-card.js +1 -1
  41. package/lib/dist-custom-elements/duet-chip.js +1 -273
  42. package/lib/dist-custom-elements/duet-choice-group.js +5 -5
  43. package/lib/dist-custom-elements/duet-choice.js +2 -2
  44. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  45. package/lib/dist-custom-elements/duet-combobox.js +326 -132
  46. package/lib/dist-custom-elements/duet-cookie-consent.js +1 -1
  47. package/lib/dist-custom-elements/duet-date-picker.js +6 -6
  48. package/lib/dist-custom-elements/duet-editable-table.js +2 -2
  49. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  50. package/lib/dist-custom-elements/duet-footer.js +1 -1
  51. package/lib/dist-custom-elements/duet-header.js +1 -1
  52. package/lib/dist-custom-elements/duet-hero.js +1 -1
  53. package/lib/dist-custom-elements/duet-input.js +1 -1
  54. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +1 -1
  55. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +1 -1
  56. package/lib/dist-custom-elements/duet-modal.js +2 -2
  57. package/lib/dist-custom-elements/duet-multiselect.js +5 -5
  58. package/lib/dist-custom-elements/duet-notification-drawer.js +1 -1
  59. package/lib/dist-custom-elements/duet-notification.js +1 -1
  60. package/lib/dist-custom-elements/duet-number-input.js +6 -6
  61. package/lib/dist-custom-elements/duet-pagination.js +6 -6
  62. package/lib/dist-custom-elements/duet-popup-menu.js +1 -1
  63. package/lib/dist-custom-elements/duet-promo-card.js +1 -1
  64. package/lib/dist-custom-elements/duet-radio-group.js +5 -5
  65. package/lib/dist-custom-elements/duet-range-slider.js +1 -1
  66. package/lib/dist-custom-elements/duet-range-stepper.js +2 -2
  67. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  68. package/lib/dist-custom-elements/duet-select.js +1 -1
  69. package/lib/dist-custom-elements/duet-show-more.js +1 -1
  70. package/lib/dist-custom-elements/duet-slideout-panel.js +1 -1
  71. package/lib/dist-custom-elements/duet-slideout.js +2 -2
  72. package/lib/dist-custom-elements/duet-step.js +1 -1
  73. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +1 -1
  74. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +1 -1
  75. package/lib/dist-custom-elements/duet-submenu-bar-item.js +1 -1
  76. package/lib/dist-custom-elements/duet-submenu-bar-link.js +1 -1
  77. package/lib/dist-custom-elements/duet-tab-group.js +6 -6
  78. package/lib/dist-custom-elements/duet-tab.js +1 -1
  79. package/lib/dist-custom-elements/duet-textarea.js +4 -4
  80. package/lib/dist-custom-elements/duet-toggle.js +1 -1
  81. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +1 -1
  82. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +1 -1
  83. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  84. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  85. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  86. package/lib/dist-custom-elements/duet-tray.js +1 -1
  87. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  88. package/lib/dist-custom-elements/duet-upload.js +5 -5
  89. package/lib/dist-custom-elements/{p-cff358b0.js → p-014c1177.js} +49 -8
  90. package/lib/dist-custom-elements/{p-c3d02eb2.js → p-03152b20.js} +1 -1
  91. package/lib/dist-custom-elements/{p-d87f6dd5.js → p-06e608ae.js} +3 -1
  92. package/lib/dist-custom-elements/{p-9cdbc360.js → p-0cee8a12.js} +1 -1
  93. package/lib/dist-custom-elements/{p-12a0876b.js → p-24693e9a.js} +1 -1
  94. package/lib/dist-custom-elements/{p-9a833e56.js → p-28ec3461.js} +1 -1
  95. package/lib/dist-custom-elements/{p-d191ba9e.js → p-45fd4d84.js} +1 -1
  96. package/lib/dist-custom-elements/{p-89d58b60.js → p-6d366100.js} +3 -3
  97. package/lib/dist-custom-elements/p-755dd68f.js +285 -0
  98. package/lib/dist-custom-elements/{p-e44c0eff.js → p-785686e3.js} +1 -1
  99. package/lib/dist-custom-elements/{p-e00d43f3.js → p-92a16064.js} +1 -1
  100. package/lib/dist-custom-elements/{p-f9f9e33d.js → p-a02e62f3.js} +3 -3
  101. package/lib/dist-custom-elements/{p-0d5c0a22.js → p-c8415e2f.js} +1 -1
  102. package/lib/dist-custom-elements/{p-d848b48d.js → p-e702eb52.js} +4 -4
  103. package/lib/duet/duet.esm.js +1 -1
  104. package/lib/duet/{p-88a46585.system.entry.js → p-061f4be0.system.entry.js} +1 -1
  105. package/lib/duet/p-06e608ae.js +4 -0
  106. package/lib/duet/{p-8ca813cb.system.entry.js → p-0778ccde.system.entry.js} +1 -1
  107. package/lib/duet/p-07ac7f3e.system.entry.js +4 -0
  108. package/lib/duet/p-15e24bf0.entry.js +4 -0
  109. package/lib/duet/{p-0dac34a4.system.entry.js → p-1ef0e5ca.system.entry.js} +1 -1
  110. package/lib/duet/{p-c9781f22.entry.js → p-2084a65f.entry.js} +1 -1
  111. package/lib/duet/{p-fd0bb0bf.entry.js → p-23cecf9f.entry.js} +1 -1
  112. package/lib/duet/{p-09e4195f.system.entry.js → p-257800b7.system.entry.js} +1 -1
  113. package/lib/duet/{p-1afd901a.entry.js → p-29491f9f.entry.js} +1 -1
  114. package/lib/duet/{p-3b5ff822.entry.js → p-3302d75d.entry.js} +1 -1
  115. package/lib/duet/{p-7629cd0a.entry.js → p-40375e30.entry.js} +1 -1
  116. package/lib/duet/{p-ba4445cf.system.entry.js → p-45bb3cd0.system.entry.js} +1 -1
  117. package/lib/duet/p-4781cd58.entry.js +4 -0
  118. package/lib/duet/p-4cb5943c.entry.js +4 -0
  119. package/lib/duet/{p-b2f2992f.system.entry.js → p-4de910bd.system.entry.js} +1 -1
  120. package/lib/duet/p-6151635f.system.js +1 -1
  121. package/lib/duet/{p-d349dd93.entry.js → p-67382632.entry.js} +1 -1
  122. package/lib/duet/{p-699a98b4.entry.js → p-76e54ff5.entry.js} +1 -1
  123. package/lib/duet/{p-4d2ef0e2.entry.js → p-7a161455.entry.js} +1 -1
  124. package/lib/duet/{p-3d38079c.entry.js → p-7ca15c93.entry.js} +1 -1
  125. package/lib/duet/{p-bb09fff0.system.entry.js → p-7de614df.system.entry.js} +1 -1
  126. package/lib/duet/{p-480f37b6.entry.js → p-83238fe7.entry.js} +1 -1
  127. package/lib/duet/{p-7c1db591.system.entry.js → p-8a4ba903.system.entry.js} +1 -1
  128. package/lib/duet/{p-4f32a7ee.entry.js → p-8ba91848.entry.js} +1 -1
  129. package/lib/duet/{p-708359ec.system.entry.js → p-999fff8d.system.entry.js} +1 -1
  130. package/lib/duet/{p-9d91a1dd.system.entry.js → p-9e75e5d8.system.entry.js} +1 -1
  131. package/lib/duet/{p-343d037e.entry.js → p-a3afb1af.entry.js} +1 -1
  132. package/lib/duet/{p-2ca6a8a0.system.entry.js → p-a3e90064.system.entry.js} +1 -1
  133. package/lib/duet/{p-892a5644.system.entry.js → p-aba91113.system.entry.js} +1 -1
  134. package/lib/duet/p-ae21ad57.system.js +4 -0
  135. package/lib/duet/{p-ce05fe6d.system.entry.js → p-b2fc4b72.system.entry.js} +1 -1
  136. package/lib/duet/{p-84778369.entry.js → p-b5595969.entry.js} +1 -1
  137. package/lib/duet/{p-bf51f8a5.system.entry.js → p-c68602c9.system.entry.js} +1 -1
  138. package/lib/duet/{p-f6530332.system.entry.js → p-d5721f0d.system.entry.js} +1 -1
  139. package/lib/duet/{p-c00fe4ed.entry.js → p-dc133655.entry.js} +1 -1
  140. package/lib/duet/p-de5054b6.system.entry.js +4 -0
  141. package/lib/duet/{p-61feb701.entry.js → p-df345202.entry.js} +1 -1
  142. package/lib/duet/{p-2628a322.entry.js → p-e0907f29.entry.js} +1 -1
  143. package/lib/duet/p-e333b9fc.system.entry.js +4 -0
  144. package/lib/duet/p-e411627f.entry.js +4 -0
  145. package/lib/duet/{p-da51c71f.system.entry.js → p-eafed149.system.entry.js} +1 -1
  146. package/lib/duet/p-f2279e1e.entry.js +4 -0
  147. package/lib/duet/{p-b1ab1664.system.entry.js → p-fa311641.system.entry.js} +1 -1
  148. package/lib/duet/{p-320318de.system.entry.js → p-fa72c79b.system.entry.js} +1 -1
  149. package/lib/esm/duet-alert.entry.js +1 -1
  150. package/lib/esm/duet-banner.entry.js +1 -1
  151. package/lib/esm/duet-callout.entry.js +1 -1
  152. package/lib/esm/duet-chip.entry.js +9 -2
  153. package/lib/esm/duet-choice_2.entry.js +1 -1
  154. package/lib/esm/duet-collapsible.entry.js +1 -1
  155. package/lib/esm/duet-combobox.entry.js +261 -128
  156. package/lib/esm/duet-date-picker.entry.js +1 -1
  157. package/lib/esm/duet-fieldset.entry.js +1 -1
  158. package/lib/esm/duet-hero.entry.js +1 -1
  159. package/lib/esm/duet-input_2.entry.js +39 -3
  160. package/lib/esm/duet-modal.entry.js +1 -1
  161. package/lib/esm/duet-multiselect.entry.js +1 -1
  162. package/lib/esm/duet-number-input.entry.js +1 -1
  163. package/lib/esm/duet-promo-card.entry.js +1 -1
  164. package/lib/esm/duet-radio_2.entry.js +1 -1
  165. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  166. package/lib/esm/duet-select.entry.js +1 -1
  167. package/lib/esm/duet-slideout-panel.entry.js +1 -1
  168. package/lib/esm/duet-slideout.entry.js +1 -1
  169. package/lib/esm/duet-textarea.entry.js +1 -1
  170. package/lib/esm/duet.js +1 -1
  171. package/lib/esm/loader.js +1 -1
  172. package/lib/esm/{slot-utils-1115a819.js → slot-utils-b50aaef5.js} +3 -1
  173. package/lib/esm-es5/duet-alert.entry.js +1 -1
  174. package/lib/esm-es5/duet-banner.entry.js +1 -1
  175. package/lib/esm-es5/duet-callout.entry.js +1 -1
  176. package/lib/esm-es5/duet-chip.entry.js +1 -1
  177. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  178. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  179. package/lib/esm-es5/duet-combobox.entry.js +2 -2
  180. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  181. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  182. package/lib/esm-es5/duet-hero.entry.js +1 -1
  183. package/lib/esm-es5/duet-input_2.entry.js +2 -2
  184. package/lib/esm-es5/duet-modal.entry.js +1 -1
  185. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  186. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  187. package/lib/esm-es5/duet-promo-card.entry.js +2 -2
  188. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  189. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  190. package/lib/esm-es5/duet-select.entry.js +1 -1
  191. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  192. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  193. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  194. package/lib/esm-es5/duet.js +1 -1
  195. package/lib/esm-es5/loader.js +1 -1
  196. package/lib/esm-es5/slot-utils-b50aaef5.js +4 -0
  197. package/lib/types/components/duet-chip/duet-chip.d.ts +4 -0
  198. package/lib/types/components/duet-combobox/duet-combobox.d.ts +49 -35
  199. package/lib/types/components/duet-input/duet-input.d.ts +30 -0
  200. package/lib/types/components.d.ts +44 -21
  201. package/package.json +2 -2
  202. package/lib/duet/p-7cf03aa8.system.js +0 -4
  203. package/lib/duet/p-92e1181c.entry.js +0 -4
  204. package/lib/duet/p-985c0c67.system.entry.js +0 -4
  205. package/lib/duet/p-9d27bc65.entry.js +0 -4
  206. package/lib/duet/p-afe29a3e.entry.js +0 -4
  207. package/lib/duet/p-cc4a8964.entry.js +0 -4
  208. package/lib/duet/p-d50ad3ed.entry.js +0 -4
  209. package/lib/duet/p-d87f6dd5.js +0 -4
  210. package/lib/duet/p-f1b01db9.system.entry.js +0 -4
  211. package/lib/duet/p-fa21a3b6.system.entry.js +0 -4
  212. package/lib/esm-es5/slot-utils-1115a819.js +0 -4
@@ -4,7 +4,7 @@
4
4
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-e98f9bb0.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
6
  import { c as createID } from './p-5e59e970.js';
7
- import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './p-e44c0eff.js';
7
+ import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './p-785686e3.js';
8
8
  import { d as defineCustomElement$2 } from './p-e3d597b6.js';
9
9
 
10
10
  const duetToggleCss = "*.sc-duet-toggle,*.sc-duet-toggle::after,*.sc-duet-toggle::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-toggle-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;-webkit-user-select:none;user-select:none;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-toggle-h:last-child,.sc-duet-toggle-h:last-of-type{margin-right:0 !important}.duet-m-0.sc-duet-toggle-h{margin:0 !important}duet-label.sc-duet-toggle{display:block !important;width:100% !important}.duet-side-label.sc-duet-toggle{display:flex;gap:12px;align-items:center}.duet-side-label.sc-duet-toggle duet-label.sc-duet-toggle{width:auto !important}.duet-reverse-label.sc-duet-toggle{flex-direction:row-reverse}.duet-switch.sc-duet-toggle{position:relative;display:block;width:48px;height:28px}.duet-switch.sc-duet-toggle input.sc-duet-toggle{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle{background-color:rgb(0, 119, 179);box-shadow:none}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle{background-color:rgb(198, 12, 48)}.duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle::before{background-color:rgb(255, 255, 255);box-shadow:-1px 0 2px #004467;transform:translateX(20px)}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle::before{background-color:rgb(255, 255, 255);box-shadow:-1px 0 2px #660619}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled+.duet-slider.sc-duet-toggle{cursor:default}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled+.duet-slider.sc-duet-toggle::before{box-shadow:none}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled+.duet-slider.sc-duet-toggle::before{box-shadow:none}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle{background:#c8cacc}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle::before{background:rgb(255, 255, 255);box-shadow:none}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle{background:#bababa}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle::before{background:rgb(255, 255, 255)}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:checked+.duet-slider.sc-duet-toggle{background:#80bbd9}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:checked+.duet-slider.sc-duet-toggle{background:#e38698}.user-is-tabbing.sc-duet-toggle-h .duet-switch.sc-duet-toggle input.sc-duet-toggle:focus+.duet-slider.sc-duet-toggle{box-shadow:0 0 0 1px #fff, 0 0 0 3px rgba(0, 119, 179, 0.75)}.user-is-tabbing.sc-duet-toggle-h .duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:focus+.duet-slider.sc-duet-toggle{box-shadow:0 0 0 1px #fff, 0 0 0 3px rgba(23, 28, 58, 0.75)}.duet-slider.sc-duet-toggle{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background-color:rgb(144, 149, 153);border-radius:24px;transition:background-color 300ms ease}.duet-slider.sc-duet-toggle::before{position:absolute;bottom:2px;left:2px;width:24px;height:24px;content:\"\";background-color:rgb(255, 255, 255);border-radius:50%;box-shadow:1px 0 2px 0 #5d6266;transition:300ms ease}.duet-theme-turva.sc-duet-toggle .duet-slider.sc-duet-toggle{background-color:rgb(116, 116, 117)}.duet-theme-turva.sc-duet-toggle .duet-slider.sc-duet-toggle::before{background-color:rgb(255, 255, 255);box-shadow:1px 0 2px 0 #00334d}";
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { p as proxyCustomElement, H, h, d as Host } from './p-e98f9bb0.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
- import { b as isEscapeKey } from './p-e44c0eff.js';
6
+ import { b as isEscapeKey } from './p-785686e3.js';
7
7
  import { d as defineCustomElement$2 } from './p-667579b0.js';
8
8
 
9
9
  const duetToolbarDropdownLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}.duet-toolbar-dropdown-link{display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:flex-start;height:100%;padding:0.5rem 8px;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;line-height:1.5;color:rgb(0, 41, 77);text-align:center;text-decoration:none}.duet-toolbar-dropdown-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-toolbar-dropdown-link:focus,.duet-toolbar-dropdown-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-toolbar-dropdown-link .label{flex:1;text-align:left}.duet-toolbar-dropdown-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-toolbar-dropdown-link.active{background:rgb(243, 249, 252)}.duet-toolbar-dropdown-link.active.duet-theme-turva{background:rgb(245, 245, 247)}.duet-toolbar-dropdown-link:hover{background:rgb(230, 242, 248)}.duet-toolbar-dropdown-link:hover.duet-theme-turva{background:rgb(228, 228, 230)}";
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { p as proxyCustomElement, H, h, d as Host } from './p-e98f9bb0.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
- import { b as isEscapeKey } from './p-e44c0eff.js';
6
+ import { b as isEscapeKey } from './p-785686e3.js';
7
7
  import { d as defineCustomElement$2 } from './p-667579b0.js';
8
8
 
9
9
  const duetToolbarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-toolbar-dropdown{position:relative;height:100%}.duet-toolbar-dropdown button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 16px;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}.duet-toolbar-dropdown button .label{display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-toolbar-dropdown button:hover{color:rgb(0, 41, 77);background:rgb(243, 249, 252)}.duet-toolbar-dropdown button.open .caret{transform:rotate(180deg)}.duet-toolbar-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-toolbar-dropdown button.active,.duet-toolbar-dropdown button.open{color:rgb(0, 41, 77)}.duet-toolbar-dropdown button.active::after,.duet-toolbar-dropdown button.open::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}.duet-toolbar-dropdown .items{position:absolute;top:93%;right:0%;left:auto;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:175px;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-toolbar-dropdown .items.hidden{display:none}.duet-toolbar-dropdown.right .items{right:auto;left:0%}.duet-toolbar-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-toolbar-dropdown.duet-theme-turva button:hover{color:rgb(23, 28, 58);background:rgb(245, 245, 247)}.duet-toolbar-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-toolbar-dropdown.duet-theme-turva button.active,.duet-toolbar-dropdown.duet-theme-turva button.open{color:rgb(23, 28, 58)}.duet-toolbar-dropdown.duet-theme-turva button.active::after,.duet-toolbar-dropdown.duet-theme-turva button.open::after{background:rgb(198, 12, 48)}.duet-toolbar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}.duet-toolbar-dropdown.negative button{color:rgb(255, 255, 255)}.duet-toolbar-dropdown.negative button:hover{color:rgb(255, 255, 255);background:rgba(0, 41, 77, 0.2)}.duet-toolbar-dropdown.negative button.active{font-weight:600;color:rgb(255, 255, 255);background:rgba(0, 41, 77, 0.2)}.duet-toolbar-dropdown.negative button.open{color:rgb(255, 255, 255);background:rgba(0, 41, 77, 0.2)}.duet-toolbar-dropdown.negative button duet-icon{color:rgb(205, 229, 241)}.duet-toolbar-dropdown.duet-theme-turva.negative button{color:rgb(255, 255, 255)}.duet-toolbar-dropdown.duet-theme-turva.negative button:hover{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}.duet-toolbar-dropdown.duet-theme-turva.negative button.active{font-weight:600;color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}.duet-toolbar-dropdown.duet-theme-turva.negative button.open{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}.duet-toolbar-dropdown.duet-theme-turva.negative button duet-icon{color:rgb(244, 207, 214)}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetTooltipButton$1, d as defineCustomElement$1 } from './p-0d5c0a22.js';
4
+ import { D as DuetTooltipButton$1, d as defineCustomElement$1 } from './p-c8415e2f.js';
5
5
 
6
6
  const DuetTooltipButton = DuetTooltipButton$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetTooltipPopup$1, d as defineCustomElement$1 } from './p-9cdbc360.js';
4
+ import { D as DuetTooltipPopup$1, d as defineCustomElement$1 } from './p-0cee8a12.js';
5
5
 
6
6
  const DuetTooltipPopup = DuetTooltipPopup$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetTooltip$1, d as defineCustomElement$1 } from './p-f9f9e33d.js';
4
+ import { D as DuetTooltip$1, d as defineCustomElement$1 } from './p-a02e62f3.js';
5
5
 
6
6
  const DuetTooltip = DuetTooltip$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -5,7 +5,7 @@ import { p as proxyCustomElement, H, h, F as Fragment } from './p-e98f9bb0.js';
5
5
  import { i as sizeHeader } from './p-0c564379.js';
6
6
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
7
7
  import { c as createID } from './p-5e59e970.js';
8
- import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './p-e44c0eff.js';
8
+ import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './p-785686e3.js';
9
9
  import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './p-2e36d5bf.js';
10
10
  import { d as defineCustomElement$3 } from './p-667579b0.js';
11
11
  import { d as defineCustomElement$2 } from './p-d1815d2a.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetUploadItem$1, d as defineCustomElement$1 } from './p-12a0876b.js';
4
+ import { D as DuetUploadItem$1, d as defineCustomElement$1 } from './p-24693e9a.js';
5
5
 
6
6
  const DuetUploadItem = DuetUploadItem$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -7,21 +7,21 @@ import { c as createID } from './p-5e59e970.js';
7
7
  import { d as debounce } from './p-9e371678.js';
8
8
  import { g as getLocaleString, s as sanitizeString } from './p-2e36d5bf.js';
9
9
  import { p as parsePossibleJSON } from './p-0e052642.js';
10
- import { g as getError, d as defineCustomElement$3, a as getI18nError } from './p-12a0876b.js';
10
+ import { g as getError, d as defineCustomElement$3, a as getI18nError } from './p-24693e9a.js';
11
11
  import { h } from './p-33937fd7.js';
12
- import { d as defineCustomElement$j } from './p-c3d02eb2.js';
13
- import { d as defineCustomElement$i } from './p-89d58b60.js';
12
+ import { d as defineCustomElement$j } from './p-03152b20.js';
13
+ import { d as defineCustomElement$i } from './p-6d366100.js';
14
14
  import { d as defineCustomElement$h } from './p-971b25c0.js';
15
15
  import { d as defineCustomElement$g } from './p-83231ea8.js';
16
16
  import { d as defineCustomElement$f } from './p-b6322d8d.js';
17
17
  import { d as defineCustomElement$e } from './p-a829df6e.js';
18
- import { d as defineCustomElement$d } from './p-d191ba9e.js';
18
+ import { d as defineCustomElement$d } from './p-45fd4d84.js';
19
19
  import { d as defineCustomElement$c } from './p-a167e2a0.js';
20
20
  import { d as defineCustomElement$b } from './p-667579b0.js';
21
21
  import { d as defineCustomElement$a } from './p-68ba7bf1.js';
22
22
  import { d as defineCustomElement$9 } from './p-17ed32c8.js';
23
23
  import { d as defineCustomElement$8 } from './p-a4a10570.js';
24
- import { d as defineCustomElement$7 } from './p-e00d43f3.js';
24
+ import { d as defineCustomElement$7 } from './p-92a16064.js';
25
25
  import { d as defineCustomElement$6 } from './p-23e23ced.js';
26
26
  import { d as defineCustomElement$5 } from './p-63954651.js';
27
27
  import { d as defineCustomElement$4 } from './p-4b31300c.js';
@@ -6,22 +6,22 @@ import { f as formSearch } from './p-d004da5f.js';
6
6
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
7
7
  import { c as createID } from './p-5e59e970.js';
8
8
  import { c as cleanValue, r as resetCursor } from './p-df7874f9.js';
9
- import { b as isEscapeKey, c as isEnterKey } from './p-e44c0eff.js';
9
+ import { b as isEscapeKey, c as isEnterKey } from './p-785686e3.js';
10
10
  import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './p-2e36d5bf.js';
11
- import { c as checkNamedSlotElement } from './p-d87f6dd5.js';
11
+ import { c as checkNamedSlotElement } from './p-06e608ae.js';
12
12
  import { d as defineCustomElement$9 } from './p-83231ea8.js';
13
13
  import { d as defineCustomElement$8 } from './p-b6322d8d.js';
14
14
  import { d as defineCustomElement$7 } from './p-667579b0.js';
15
15
  import { d as defineCustomElement$6 } from './p-e3d597b6.js';
16
16
  import { d as defineCustomElement$5 } from './p-63954651.js';
17
- import { d as defineCustomElement$4 } from './p-f9f9e33d.js';
18
- import { d as defineCustomElement$3 } from './p-0d5c0a22.js';
19
- import { d as defineCustomElement$2 } from './p-9cdbc360.js';
17
+ import { d as defineCustomElement$4 } from './p-a02e62f3.js';
18
+ import { d as defineCustomElement$3 } from './p-c8415e2f.js';
19
+ import { d as defineCustomElement$2 } from './p-0cee8a12.js';
20
20
  import { d as defineCustomElement$1 } from './p-d1815d2a.js';
21
21
 
22
22
  var formEmail={"title":"form-email","tags":"form email","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M12 23.999c-3.205 0-6.218-1.248-8.484-3.514S.001 15.206.001 12.001s1.248-6.218 3.514-8.485C5.782 1.25 8.795.001 12 .001s6.218 1.248 8.485 3.514A11.92 11.92 0 0 1 24 12v2.25A3.754 3.754 0 0 1 20.25 18a3.77 3.77 0 0 1-3.48-2.365A6.009 6.009 0 0 1 12 18c-3.308 0-6-2.692-6-6s2.692-6 6-6 6 2.692 6 6v2.25c0 1.241 1.009 2.25 2.25 2.25s2.25-1.009 2.25-2.25V12c0-2.804-1.092-5.441-3.075-7.424A10.433 10.433 0 0 0 12 1.501c-2.804 0-5.441 1.092-7.424 3.075S1.501 9.196 1.501 12c0 2.805 1.092 5.441 3.075 7.424s4.619 3.074 7.423 3.074c2.257 0 4.494-.746 6.299-2.1a.749.749 0 1 1 .9 1.199A12.049 12.049 0 0 1 12 23.999zM12 7.5c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5 4.5-2.019 4.5-4.5-2.019-4.5-4.5-4.5z\"/></svg>"};
23
23
 
24
- 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}";
24
+ 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}";
25
25
 
26
26
  const icons = {
27
27
  search: formSearch,
@@ -190,6 +190,7 @@ const DuetInput = /*@__PURE__*/ proxyCustomElement(class DuetInput extends H {
190
190
  this.required = false;
191
191
  this.type = "text";
192
192
  this.variation = "default";
193
+ this.chips = false;
193
194
  this.label = "Label";
194
195
  this.labelColor = undefined;
195
196
  this.labelWeight = undefined;
@@ -218,7 +219,7 @@ const DuetInput = /*@__PURE__*/ proxyCustomElement(class DuetInput extends H {
218
219
  if (((_a = this === null || this === void 0 ? void 0 : this.nativeInput) === null || _a === void 0 ? void 0 : _a.value) !== this.value) {
219
220
  const restoreCursor = resetCursor(this.nativeInput);
220
221
  this.nativeInput.value = this.value;
221
- // restore selection position after having set value
222
+ // restore selection position after having set valuea
222
223
  // (in webkit based browsers settings value trigger cursor position and will set it to EndOfText)
223
224
  restoreCursor();
224
225
  }
@@ -288,6 +289,39 @@ const DuetInput = /*@__PURE__*/ proxyCustomElement(class DuetInput extends H {
288
289
  this.value = "";
289
290
  }
290
291
  }
292
+ getAllChips() {
293
+ return Array.from(this.element.querySelectorAll(".duet-input-relative duet-chip"));
294
+ }
295
+ /**
296
+ * @internal
297
+ * Add a chip to the input
298
+ */
299
+ async addChip(chip) {
300
+ const container = this.element.querySelector(".duet-input-relative");
301
+ const input = container.querySelector("input");
302
+ container.insertBefore(chip, input);
303
+ }
304
+ /**
305
+ * @internal
306
+ * Does the input have a chip with the given value and text
307
+ */
308
+ async hasChip({ value, text }) {
309
+ return this.getAllChips().some(chip => chip.value === value && chip.textContent === text);
310
+ }
311
+ /**
312
+ * @internal
313
+ * Get all chips from the input
314
+ */
315
+ async getChips() {
316
+ return this.getAllChips();
317
+ }
318
+ /**
319
+ * @internal
320
+ * Remove all chips from the input
321
+ */
322
+ async clearChips() {
323
+ this.getAllChips().forEach(chip => chip.remove());
324
+ }
291
325
  /**
292
326
  * render() function
293
327
  * Always the last one in the class.
@@ -331,6 +365,7 @@ const DuetInput = /*@__PURE__*/ proxyCustomElement(class DuetInput extends H {
331
365
  (!!this.icon ||
332
366
  (this.type !== "text" && this.type !== "tel" && this.type !== "password" && this.type !== "time")),
333
367
  "has-error": !!this.error,
368
+ "has-chips": this.chips,
334
369
  "has-clear": this.clear,
335
370
  "has-focus": this.isFocused,
336
371
  disabled: this.disabled,
@@ -339,6 +374,7 @@ const DuetInput = /*@__PURE__*/ proxyCustomElement(class DuetInput extends H {
339
374
  disabled: this.disabled,
340
375
  "is-number": this.component === "number",
341
376
  "is-date": this.component === "date",
377
+ "after-chip": this.getAllChips().length > 0,
342
378
  }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": this.accessibleLabelledBy ? `${this.labelId} ${this.accessibleLabelledBy}` : this.labelId, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.type === "password" ? "off" : this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), !this.value && hasInputIcon && (h("div", { class: "duet-input-icon" }, h("duet-icon", { margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (h("div", { class: {
343
379
  "duet-input-clear-icon": true,
344
380
  "duet-input-clear-icon-single": !hasInputIcon,
@@ -380,6 +416,7 @@ const DuetInput = /*@__PURE__*/ proxyCustomElement(class DuetInput extends H {
380
416
  "required": [4],
381
417
  "type": [1],
382
418
  "variation": [1],
419
+ "chips": [4],
383
420
  "label": [1025],
384
421
  "labelColor": [1025, "label-color"],
385
422
  "labelWeight": [1025, "label-weight"],
@@ -404,7 +441,11 @@ const DuetInput = /*@__PURE__*/ proxyCustomElement(class DuetInput extends H {
404
441
  "isFocused": [32],
405
442
  "setFocus": [64],
406
443
  "resetCursor": [64],
407
- "clearInput": [64]
444
+ "clearInput": [64],
445
+ "addChip": [64],
446
+ "hasChip": [64],
447
+ "getChips": [64],
448
+ "clearChips": [64]
408
449
  }, undefined, {
409
450
  "disallowPattern": ["disallowedPatternChange"],
410
451
  "value": ["valueChanged"]
@@ -5,7 +5,7 @@ import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
6
  import { c as createID } from './p-5e59e970.js';
7
7
  import { d as debounce } from './p-9e371678.js';
8
- import { i as isKeyboardClick } from './p-e44c0eff.js';
8
+ import { i as isKeyboardClick } from './p-785686e3.js';
9
9
  import { g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './p-2e36d5bf.js';
10
10
  import { c as capitalizeFirstLetter, g as getColorByName, s as shadeRGBColor } from './p-25c80cdb.js';
11
11
  import { d as defineCustomElement$2 } from './p-667579b0.js';
@@ -10,7 +10,9 @@ const getElementsFromDefaultSlot = (element) => {
10
10
  return childElements.filter(el => !el.getAttribute("slot"));
11
11
  };
12
12
  const hasSlot = (element, slotName) => {
13
- return getElementsFromNamedSlot(element, slotName).length > 0;
13
+ return slotName
14
+ ? getElementsFromNamedSlot(element, slotName).length > 0
15
+ : getElementsFromDefaultSlot(element).length > 0;
14
16
  };
15
17
  /**
16
18
  * Check if the slotted element matches the given selector.
@@ -4,7 +4,7 @@
4
4
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-e98f9bb0.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
6
  import { F as FocusGuard } from './p-4bd749d9.js';
7
- import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './p-e44c0eff.js';
7
+ import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './p-785686e3.js';
8
8
  import { T as Teleport } from './p-5c488cf4.js';
9
9
  import { d as defineCustomElement$2 } from './p-667579b0.js';
10
10
  import { d as defineCustomElement$1 } from './p-d1815d2a.js';
@@ -5,7 +5,7 @@ import { p as proxyCustomElement, H, h } from './p-e98f9bb0.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
6
  import { g as getLocaleString } from './p-2e36d5bf.js';
7
7
  import { p as parsePossibleJSON } from './p-0e052642.js';
8
- import { d as defineCustomElement$9 } from './p-c3d02eb2.js';
8
+ import { d as defineCustomElement$9 } from './p-03152b20.js';
9
9
  import { d as defineCustomElement$8 } from './p-971b25c0.js';
10
10
  import { d as defineCustomElement$7 } from './p-a167e2a0.js';
11
11
  import { d as defineCustomElement$6 } from './p-667579b0.js';
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { p as proxyCustomElement, H, h, d as Host } from './p-e98f9bb0.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
- import { h as hasSlot, g as getElementsFromDefaultSlot } from './p-d87f6dd5.js';
6
+ import { h as hasSlot, g as getElementsFromDefaultSlot } from './p-06e608ae.js';
7
7
  import { d as defineCustomElement$4 } from './p-83231ea8.js';
8
8
  import { d as defineCustomElement$3 } from './p-667579b0.js';
9
9
  import { d as defineCustomElement$2 } from './p-63954651.js';
@@ -4,7 +4,7 @@
4
4
  import { p as proxyCustomElement, H, h, d as Host } from './p-e98f9bb0.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
6
  import { c as createID } from './p-5e59e970.js';
7
- import { h as hasSlot } from './p-d87f6dd5.js';
7
+ import { h as hasSlot } from './p-06e608ae.js';
8
8
  import { d as defineCustomElement$1 } from './p-b6322d8d.js';
9
9
 
10
10
  const duetFieldsetCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:12px !important;display:block;width:100%}:host(.duet-m-0){margin:0 !important}fieldset{position:relative;width:100%;min-width:0;border:0}fieldset legend{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-legend-wrapper{position:relative;display: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\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(0, 41, 77);text-align:left;background:transparent}.duet-legend-wrapper.duet-legend-compact:not(.duet-legend-has-caption){line-height:1.25}.duet-theme-turva .duet-legend-wrapper{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-fieldset-label{margin-bottom:12px !important;margin-top:8px}.duet-legend-has-caption .duet-fieldset-label{margin-bottom:6px !important}.duet-legend-has-tooltip .duet-fieldset-label{padding-right:36px}@media (min-width: 48em){.duet-legend-has-tooltip .duet-fieldset-label{margin-bottom:3px !important;padding-right:0}}@media (min-width: 48em){.duet-legend-has-tooltip.duet-legend-has-caption .duet-fieldset-label{margin-bottom:-3px !important}}.duet-fieldset-caption{margin-bottom:12px !important}.duet-fieldset-help{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(222, 35, 98);border-radius:4px}.duet-fieldset-help span{display:block;margin-top:12px}.duet-theme-turva .duet-fieldset-help{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(224, 42, 13)}::slotted(duet-tooltip){position:absolute;top:4px;right:0}@media (min-width: 48em){::slotted(duet-tooltip){position:relative;right:auto}}.duet-legend-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
@@ -4,12 +4,12 @@
4
4
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-e98f9bb0.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
6
  import { c as createID } from './p-5e59e970.js';
7
- import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './p-e44c0eff.js';
7
+ import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './p-785686e3.js';
8
8
  import { g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './p-2e36d5bf.js';
9
- import { h as hasSlot } from './p-d87f6dd5.js';
9
+ import { h as hasSlot } from './p-06e608ae.js';
10
10
  import { d as defineCustomElement$5 } from './p-83231ea8.js';
11
11
  import { d as defineCustomElement$4 } from './p-667579b0.js';
12
- import { d as defineCustomElement$3 } from './p-e00d43f3.js';
12
+ import { d as defineCustomElement$3 } from './p-92a16064.js';
13
13
  import { d as defineCustomElement$2 } from './p-63954651.js';
14
14
  import { d as defineCustomElement$1 } from './p-d1815d2a.js';
15
15