@duetds/components 10.3.0 → 10.4.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 (507) hide show
  1. package/hydrate/index.js +782 -325
  2. package/hydrate/index.mjs +782 -325
  3. package/lib/cjs/{a11y-utils-b27OEdFX.js → a11y-utils-BXDHn_nL.js} +1 -1
  4. package/lib/cjs/{app-globals-DhPOoPl1.js → app-globals-Bs3-XKhd.js} +1 -1
  5. package/lib/cjs/duet-action-button.cjs.entry.js +5 -5
  6. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-badge.cjs.entry.js +5 -5
  8. package/lib/cjs/duet-banner.cjs.entry.js +13 -9
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +7 -7
  11. package/lib/cjs/duet-button_2.cjs.entry.js +27 -12
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +16 -16
  14. package/lib/cjs/duet-card.cjs.entry.js +8 -8
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +5 -5
  16. package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
  17. package/lib/cjs/duet-chip.cjs.entry.js +7 -5
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +15 -13
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +6 -6
  20. package/lib/cjs/duet-combobox.cjs.entry.js +27 -10
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +30 -34
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +6 -6
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +12 -12
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +33 -7
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +3 -3
  29. package/lib/cjs/duet-footer.cjs.entry.js +8 -8
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +14 -7
  31. package/lib/cjs/duet-header_2.cjs.entry.js +7 -7
  32. package/lib/cjs/duet-hero.cjs.entry.js +9 -9
  33. package/lib/cjs/duet-icon.cjs.entry.js +7 -7
  34. package/lib/cjs/duet-indicator.cjs.entry.js +5 -5
  35. package/lib/cjs/duet-input_2.cjs.entry.js +22 -14
  36. package/lib/cjs/duet-layout.cjs.entry.js +7 -7
  37. package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +6 -6
  41. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +7 -7
  42. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
  43. package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
  44. package/lib/cjs/duet-modal.cjs.entry.js +14 -14
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +11 -11
  46. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  47. package/lib/cjs/duet-notification_2.cjs.entry.js +9 -9
  48. package/lib/cjs/duet-number-input.cjs.entry.js +8 -8
  49. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +4 -4
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +18 -18
  52. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +4 -4
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +30 -18
  55. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-promo-card.cjs.entry.js +13 -9
  57. package/lib/cjs/duet-radio_2.cjs.entry.js +10 -8
  58. package/lib/cjs/duet-range-slider.cjs.entry.js +7 -7
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +17 -17
  60. package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-select.cjs.entry.js +10 -10
  62. package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
  63. package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-share-chart.cjs.entry.js +8 -8
  65. package/lib/cjs/duet-show-more.cjs.entry.js +5 -5
  66. package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
  67. package/lib/cjs/duet-slideout-link.cjs.entry.js +7 -7
  68. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
  69. package/lib/cjs/duet-slideout-panel.cjs.entry.js +13 -13
  70. package/lib/cjs/duet-slideout.cjs.entry.js +20 -18
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +8 -4
  72. package/lib/cjs/duet-step_2.cjs.entry.js +6 -6
  73. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
  74. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -7
  75. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +6 -6
  76. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
  77. package/lib/cjs/duet-submenu-bar.cjs.entry.js +8 -8
  78. package/lib/cjs/duet-textarea.cjs.entry.js +14 -21
  79. package/lib/cjs/duet-toggle.cjs.entry.js +8 -8
  80. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
  81. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +6 -6
  82. package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
  83. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  84. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  85. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +9 -9
  86. package/lib/cjs/duet-tooltip.cjs.entry.js +5 -5
  87. package/lib/cjs/duet-tray.cjs.entry.js +6 -6
  88. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  89. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  90. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  91. package/lib/cjs/duet.cjs.js +3 -3
  92. package/lib/cjs/{errorcodes.utils-BlVVWFcS.js → errorcodes.utils-W6UQ3hgy.js} +1 -1
  93. package/lib/cjs/{focus-utils-DIeiBu1A.js → focus-utils-KTKpjKRi.js} +1 -1
  94. package/lib/cjs/{index-CeCDgexG.js → index-C7Yvi8y8.js} +5 -5
  95. package/lib/cjs/{label-BK_7MvDR.js → label-DZ63Z3SI.js} +1 -1
  96. package/lib/cjs/{language-utils-BmMgyx0x.js → language-utils-BsevPDrN.js} +1 -1
  97. package/lib/cjs/loader.cjs.js +3 -3
  98. package/lib/cjs/{slot-utils-PLQ1zjHe.js → slot-utils-DIDW777s.js} +2 -2
  99. package/lib/cjs/{themeable-component-DD3okLL-.js → themeable-component-hQ83w5_A.js} +1 -1
  100. package/lib/cjs/{token-utils-CaLsk40I.js → token-utils-DY3-olMV.js} +1 -1
  101. package/lib/cjs/{tokens-DWngQgYY.js → tokens-COLlUECP.js} +226 -4
  102. package/lib/cjs/{tokens.module-BMAWZwue.js → tokens.module-CTbvyezn.js} +152 -4
  103. package/lib/collection/components/duet-action-button/duet-action-button.css +1 -1
  104. package/lib/collection/components/duet-badge/duet-badge.js +2 -2
  105. package/lib/collection/components/duet-banner/duet-banner.css +7 -0
  106. package/lib/collection/components/duet-banner/duet-banner.js +8 -4
  107. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.css +1 -1
  108. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  109. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  110. package/lib/collection/components/duet-button/duet-button.css +14 -8
  111. package/lib/collection/components/duet-button/duet-button.js +20 -5
  112. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  113. package/lib/collection/components/duet-caption/duet-caption.js +2 -2
  114. package/lib/collection/components/duet-card/duet-card.css +2 -2
  115. package/lib/collection/components/duet-card/duet-card.js +3 -3
  116. package/lib/collection/components/duet-checkbox/duet-checkbox.css +1 -1
  117. package/lib/collection/components/duet-checkbox/duet-checkbox.js +2 -2
  118. package/lib/collection/components/duet-chip/duet-chip.css +1 -3
  119. package/lib/collection/components/duet-chip/duet-chip.js +4 -2
  120. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  121. package/lib/collection/components/duet-choice/duet-choice.css +3 -3
  122. package/lib/collection/components/duet-choice/duet-choice.js +9 -36
  123. package/lib/collection/components/duet-choice-group/duet-choice-group.js +2 -2
  124. package/lib/collection/components/duet-collapsible/duet-collapsible.css +1 -1
  125. package/lib/collection/components/duet-collapsible/duet-collapsible.js +2 -2
  126. package/lib/collection/components/duet-combobox/duet-combobox.js +22 -5
  127. package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
  128. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.css +2 -2
  129. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  130. package/lib/collection/components/duet-date-picker/date-utils.js +2 -1
  131. package/lib/collection/components/duet-date-picker/duet-date-picker.css +8 -9
  132. package/lib/collection/components/duet-date-picker/duet-date-picker.js +23 -29
  133. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  134. package/lib/collection/components/duet-editable-table/duet-editable-table.js +2 -2
  135. package/lib/collection/components/duet-empty-state/duet-empty-state.css +55 -2
  136. package/lib/collection/components/duet-empty-state/duet-empty-state.js +124 -6
  137. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  138. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  139. package/lib/collection/components/duet-footer/duet-footer.css +1 -1
  140. package/lib/collection/components/duet-footer/duet-footer.js +4 -4
  141. package/lib/collection/components/duet-grid/duet-grid.css +23 -0
  142. package/lib/collection/components/duet-grid/duet-grid.js +29 -2
  143. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  144. package/lib/collection/components/duet-header/duet-header.css +6 -6
  145. package/lib/collection/components/duet-heading/duet-heading.css +62 -0
  146. package/lib/collection/components/duet-heading/duet-heading.js +40 -2
  147. package/lib/collection/components/duet-hero/duet-hero.css +1 -1
  148. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  149. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  150. package/lib/collection/components/duet-indicator/duet-indicator.js +2 -2
  151. package/lib/collection/components/duet-input/duet-input.css +81 -64
  152. package/lib/collection/components/duet-input/duet-input.js +14 -6
  153. package/lib/collection/components/duet-layout/duet-layout.js +5 -5
  154. package/lib/collection/components/duet-link/duet-link.css +1 -1
  155. package/lib/collection/components/duet-link/duet-link.js +2 -2
  156. package/lib/collection/components/duet-list/duet-list.js +1 -1
  157. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  158. package/lib/collection/components/duet-logo/duet-logo.css +1 -1
  159. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  160. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +3 -3
  161. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.css +1 -1
  162. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  163. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.css +1 -1
  164. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  165. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.css +1 -1
  166. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  167. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.css +1 -1
  168. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  169. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.css +1 -1
  170. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  171. package/lib/collection/components/duet-modal/duet-modal.js +7 -7
  172. package/lib/collection/components/duet-multiselect/duet-multiselect.css +33 -48
  173. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  174. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  175. package/lib/collection/components/duet-notification/duet-notification.css +1 -1
  176. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  177. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.css +1 -1
  178. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +3 -3
  179. package/lib/collection/components/duet-number-input/duet-number-input.css +1 -1
  180. package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
  181. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  182. package/lib/collection/components/duet-page-heading/duet-page-heading.js +2 -2
  183. package/lib/collection/components/duet-pagination/duet-pagination.js +11 -11
  184. package/lib/collection/components/duet-panel/duet-panel.js +2 -2
  185. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  186. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +21 -9
  187. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.css +2 -2
  188. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  189. package/lib/collection/components/duet-promo-card/duet-promo-card.css +8 -1
  190. package/lib/collection/components/duet-promo-card/duet-promo-card.js +8 -4
  191. package/lib/collection/components/duet-radio/duet-radio.css +1 -1
  192. package/lib/collection/components/duet-radio/duet-radio.js +6 -4
  193. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  194. package/lib/collection/components/duet-range-slider/duet-range-slider.css +1 -1
  195. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  196. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  197. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  198. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  199. package/lib/collection/components/duet-select/duet-select.css +29 -37
  200. package/lib/collection/components/duet-select/duet-select.js +5 -5
  201. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  202. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  203. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  204. package/lib/collection/components/duet-show-more/duet-show-more.css +1 -1
  205. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  206. package/lib/collection/components/duet-slideout/duet-slideout.css +1 -1
  207. package/lib/collection/components/duet-slideout/duet-slideout.js +12 -10
  208. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  209. package/lib/collection/components/duet-slideout-link/duet-slideout-link.css +1 -1
  210. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  211. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.css +2 -4
  212. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  213. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.css +1 -1
  214. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  215. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  216. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  217. package/lib/collection/components/duet-status-icon/duet-status-icon.css +39 -0
  218. package/lib/collection/components/duet-status-icon/duet-status-icon.js +13 -2
  219. package/lib/collection/components/duet-step/duet-step.css +1 -1
  220. package/lib/collection/components/duet-step/duet-step.js +2 -2
  221. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  222. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +1 -1
  223. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  224. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +1 -1
  225. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  226. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.css +1 -1
  227. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  228. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.css +1 -1
  229. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  230. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.css +1 -1
  231. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  232. package/lib/collection/components/duet-tab/duet-tab.css +1 -1
  233. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  234. package/lib/collection/components/duet-tab-group/duet-tab-group.css +3 -3
  235. package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
  236. package/lib/collection/components/duet-table/duet-table.js +2 -2
  237. package/lib/collection/components/duet-textarea/duet-textarea.css +41 -77
  238. package/lib/collection/components/duet-textarea/duet-textarea.js +8 -15
  239. package/lib/collection/components/duet-toggle/duet-toggle.css +1 -1
  240. package/lib/collection/components/duet-toggle/duet-toggle.js +3 -3
  241. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  242. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.css +1 -1
  243. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  244. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.css +1 -1
  245. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  246. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.css +1 -1
  247. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  248. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.css +1 -1
  249. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  250. package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +1 -1
  251. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +3 -3
  252. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +2 -2
  253. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  254. package/lib/collection/components/duet-tray/duet-tray.css +2 -2
  255. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  256. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  257. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  258. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  259. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  260. package/lib/collection/utils/slot-utils.js +1 -1
  261. package/lib/duet/duet.esm.js +1 -1
  262. package/lib/duet/p--fmK3qPb.js +4 -0
  263. package/lib/duet/{p-9240c039.entry.js → p-01f3e30c.entry.js} +1 -1
  264. package/lib/duet/p-0395eb34.entry.js +4 -0
  265. package/lib/duet/{p-7609417a.entry.js → p-0453edd0.entry.js} +1 -1
  266. package/lib/duet/p-07aa40df.entry.js +4 -0
  267. package/lib/duet/{p-bc5b4e44.entry.js → p-07c4b435.entry.js} +1 -1
  268. package/lib/duet/p-0eb0e582.entry.js +4 -0
  269. package/lib/duet/p-104ddbf2.entry.js +4 -0
  270. package/lib/duet/{p-137e710f.entry.js → p-12e4e9b6.entry.js} +1 -1
  271. package/lib/duet/{p-3a4dcdbd.entry.js → p-13b7f4e0.entry.js} +1 -1
  272. package/lib/duet/{p-11847d3e.entry.js → p-14d4a45a.entry.js} +1 -1
  273. package/lib/duet/{p-f31a6b2e.entry.js → p-1666aeaf.entry.js} +1 -1
  274. package/lib/duet/{p-d9963958.entry.js → p-1705b6cf.entry.js} +1 -1
  275. package/lib/duet/{p-6ff3fc39.entry.js → p-184d53a7.entry.js} +1 -1
  276. package/lib/duet/{p-6ca30a68.entry.js → p-1bdef0e0.entry.js} +1 -1
  277. package/lib/duet/p-1dcbbd67.entry.js +4 -0
  278. package/lib/duet/{p-c0785349.entry.js → p-1ed82a27.entry.js} +1 -1
  279. package/lib/duet/{p-a5b9e098.entry.js → p-1ee400e7.entry.js} +1 -1
  280. package/lib/duet/p-2168e431.entry.js +4 -0
  281. package/lib/duet/p-2HU78SJ-.js +4 -0
  282. package/lib/duet/{p-408ace89.entry.js → p-2d43de54.entry.js} +1 -1
  283. package/lib/duet/{p-20aefca2.entry.js → p-2e413951.entry.js} +1 -1
  284. package/lib/duet/{p-32c7c0c1.entry.js → p-3361387d.entry.js} +1 -1
  285. package/lib/duet/p-3648404d.entry.js +4 -0
  286. package/lib/duet/{p-1da05915.entry.js → p-376f9d06.entry.js} +1 -1
  287. package/lib/duet/p-3bd45b5b.entry.js +4 -0
  288. package/lib/duet/{p-9da7ffc9.entry.js → p-3c26d300.entry.js} +1 -1
  289. package/lib/duet/{p-6f08e639.entry.js → p-428db44b.entry.js} +1 -1
  290. package/lib/duet/p-4420973e.entry.js +4 -0
  291. package/lib/duet/{p-90ab8a57.entry.js → p-455e8ebe.entry.js} +1 -1
  292. package/lib/duet/{p-565bcf84.entry.js → p-46300680.entry.js} +1 -1
  293. package/lib/duet/{p-f9f25386.entry.js → p-494755d0.entry.js} +1 -1
  294. package/lib/duet/{p-70d7a04d.entry.js → p-4c5a8ed3.entry.js} +1 -1
  295. package/lib/duet/{p-c504dc42.entry.js → p-4d39941c.entry.js} +1 -1
  296. package/lib/duet/p-4f7b0699.entry.js +4 -0
  297. package/lib/duet/p-526fa31c.entry.js +4 -0
  298. package/lib/duet/p-58496fb1.entry.js +4 -0
  299. package/lib/duet/{p-62954ecf.entry.js → p-58a70b3d.entry.js} +1 -1
  300. package/lib/duet/{p-9f941e06.entry.js → p-592a6542.entry.js} +1 -1
  301. package/lib/duet/p-5c8c691b.entry.js +4 -0
  302. package/lib/duet/{p-ab939713.entry.js → p-5dde8fbb.entry.js} +1 -1
  303. package/lib/duet/{p-73263349.entry.js → p-5ffc4081.entry.js} +1 -1
  304. package/lib/duet/{p-5a576bae.entry.js → p-61b6962a.entry.js} +1 -1
  305. package/lib/duet/{p-faf6d461.entry.js → p-6988c81c.entry.js} +1 -1
  306. package/lib/duet/p-73ed0008.entry.js +4 -0
  307. package/lib/duet/p-7a2ca711.entry.js +4 -0
  308. package/lib/duet/{p-43723ce5.entry.js → p-7a5066b8.entry.js} +1 -1
  309. package/lib/duet/{p-d36dabf1.entry.js → p-7a668cee.entry.js} +1 -1
  310. package/lib/duet/p-7e640c8e.entry.js +4 -0
  311. package/lib/duet/{p-00e0f919.entry.js → p-7eaa1fb5.entry.js} +1 -1
  312. package/lib/duet/{p-93bfe3dd.entry.js → p-81332db1.entry.js} +1 -1
  313. package/lib/duet/{p-caf9df46.entry.js → p-816caa58.entry.js} +1 -1
  314. package/lib/duet/{p-098d7665.entry.js → p-84420fbf.entry.js} +1 -1
  315. package/lib/duet/p-870dc953.entry.js +4 -0
  316. package/lib/duet/{p-22143e3e.entry.js → p-87bb797c.entry.js} +1 -1
  317. package/lib/duet/p-9d8027aa.entry.js +4 -0
  318. package/lib/duet/p-BW3SZS4F.js +4 -0
  319. package/lib/duet/p-Ce9HQd35.js +4 -0
  320. package/lib/duet/{p-DNW9B4-w.js → p-Chf7ZRmW.js} +1 -1
  321. package/lib/duet/p-CtBx3Trd.js +4 -0
  322. package/lib/duet/{p-FlJJ5tdo.js → p-Cwhi6_oZ.js} +1 -1
  323. package/lib/duet/{p-BEzfNXw0.js → p-D2EBd3cT.js} +1 -1
  324. package/lib/duet/{p-D8k4CqJb.js → p-D2ly4TZR.js} +1 -1
  325. package/lib/duet/p-DCDM41Ef.js +4 -0
  326. package/lib/duet/p-DEzE2U5T.js +4 -0
  327. package/lib/duet/{p-Bo0igXOs.js → p-DWIjWGAD.js} +1 -1
  328. package/lib/duet/{p-713cc11f.entry.js → p-a4a1b8e3.entry.js} +1 -1
  329. package/lib/duet/p-a4db8c29.entry.js +4 -0
  330. package/lib/duet/p-a63327c3.entry.js +4 -0
  331. package/lib/duet/{p-1eb20304.entry.js → p-a690a165.entry.js} +1 -1
  332. package/lib/duet/{p-c8f8acf7.entry.js → p-a7bb038a.entry.js} +1 -1
  333. package/lib/duet/{p-2736a400.entry.js → p-adecab91.entry.js} +1 -1
  334. package/lib/duet/p-af9c8169.entry.js +4 -0
  335. package/lib/duet/{p-e19d51b1.entry.js → p-afd7d87a.entry.js} +1 -1
  336. package/lib/duet/{p-b7865974.entry.js → p-b3ec9b98.entry.js} +1 -1
  337. package/lib/duet/{p-42105616.entry.js → p-b64b3e2f.entry.js} +1 -1
  338. package/lib/duet/{p-4de84b4d.entry.js → p-bcced6eb.entry.js} +1 -1
  339. package/lib/duet/{p-91370277.entry.js → p-c1d4542d.entry.js} +1 -1
  340. package/lib/duet/{p-6e98887f.entry.js → p-c71f6942.entry.js} +1 -1
  341. package/lib/duet/p-c7851c15.entry.js +4 -0
  342. package/lib/duet/p-cbd1069e.entry.js +4 -0
  343. package/lib/duet/p-cd4f52a9.entry.js +4 -0
  344. package/lib/duet/{p-a745eb10.entry.js → p-d0a54e6d.entry.js} +1 -1
  345. package/lib/duet/p-d181c624.entry.js +4 -0
  346. package/lib/duet/{p-c23accaf.entry.js → p-d2c04a7e.entry.js} +1 -1
  347. package/lib/duet/{p-014c965f.entry.js → p-d2c91ed0.entry.js} +1 -1
  348. package/lib/duet/p-d3dac8af.entry.js +4 -0
  349. package/lib/duet/{p-9ceede7a.entry.js → p-dc87f3f4.entry.js} +1 -1
  350. package/lib/duet/{p-bb0567b4.entry.js → p-dfd55180.entry.js} +1 -1
  351. package/lib/duet/{p-b0622412.entry.js → p-e8bd6dab.entry.js} +1 -1
  352. package/lib/duet/p-e9ed96cf.entry.js +4 -0
  353. package/lib/duet/p-eab349f2.entry.js +4 -0
  354. package/lib/duet/{p-2d9e573a.entry.js → p-eebf150c.entry.js} +1 -1
  355. package/lib/duet/{p-ed252dd9.entry.js → p-f210e405.entry.js} +1 -1
  356. package/lib/duet/{p-2981f32d.entry.js → p-f600e215.entry.js} +1 -1
  357. package/lib/duet/p-f652a9c7.entry.js +4 -0
  358. package/lib/duet/{p-ae714f68.entry.js → p-fbce84d5.entry.js} +1 -1
  359. package/lib/duet/{p-6db9ac4d.entry.js → p-fea479fd.entry.js} +1 -1
  360. package/lib/esm/{a11y-utils-DAo2lcPY.js → a11y-utils-sgAajRY0.js} +1 -1
  361. package/lib/esm/{app-globals-CzrvWXbM.js → app-globals-NNQmI_gc.js} +1 -1
  362. package/lib/esm/duet-action-button.entry.js +5 -5
  363. package/lib/esm/duet-alert.entry.js +4 -4
  364. package/lib/esm/duet-badge.entry.js +5 -5
  365. package/lib/esm/duet-banner.entry.js +13 -9
  366. package/lib/esm/duet-breadcrumb.entry.js +6 -6
  367. package/lib/esm/duet-breadcrumbs.entry.js +7 -7
  368. package/lib/esm/duet-button_2.entry.js +27 -12
  369. package/lib/esm/duet-callout.entry.js +5 -5
  370. package/lib/esm/duet-caption_4.entry.js +16 -16
  371. package/lib/esm/duet-card.entry.js +8 -8
  372. package/lib/esm/duet-checkbox.entry.js +5 -5
  373. package/lib/esm/duet-checkmark.entry.js +4 -4
  374. package/lib/esm/duet-chip.entry.js +7 -5
  375. package/lib/esm/duet-choice_2.entry.js +15 -13
  376. package/lib/esm/duet-collapsible.entry.js +6 -6
  377. package/lib/esm/duet-combobox.entry.js +27 -10
  378. package/lib/esm/duet-contact-card.entry.js +5 -5
  379. package/lib/esm/duet-cookie-consent.entry.js +3 -3
  380. package/lib/esm/duet-date-picker.entry.js +30 -34
  381. package/lib/esm/duet-divider_2.entry.js +6 -6
  382. package/lib/esm/duet-editable-table_3.entry.js +12 -12
  383. package/lib/esm/duet-empty-state.entry.js +33 -7
  384. package/lib/esm/duet-fieldset.entry.js +6 -6
  385. package/lib/esm/duet-file-chooser.entry.js +3 -3
  386. package/lib/esm/duet-footer.entry.js +8 -8
  387. package/lib/esm/duet-grid_2.entry.js +14 -7
  388. package/lib/esm/duet-header_2.entry.js +7 -7
  389. package/lib/esm/duet-hero.entry.js +9 -9
  390. package/lib/esm/duet-icon.entry.js +7 -7
  391. package/lib/esm/duet-indicator.entry.js +5 -5
  392. package/lib/esm/duet-input_2.entry.js +22 -14
  393. package/lib/esm/duet-layout.entry.js +7 -7
  394. package/lib/esm/duet-list_2.entry.js +5 -5
  395. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  396. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  397. package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
  398. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  399. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  400. package/lib/esm/duet-menu-bar.entry.js +6 -6
  401. package/lib/esm/duet-modal.entry.js +14 -14
  402. package/lib/esm/duet-multiselect.entry.js +11 -11
  403. package/lib/esm/duet-nav.entry.js +3 -3
  404. package/lib/esm/duet-notification_2.entry.js +9 -9
  405. package/lib/esm/duet-number-input.entry.js +8 -8
  406. package/lib/esm/duet-overlay.entry.js +3 -3
  407. package/lib/esm/duet-page-heading.entry.js +4 -4
  408. package/lib/esm/duet-pagination_2.entry.js +18 -18
  409. package/lib/esm/duet-panel.entry.js +4 -4
  410. package/lib/esm/duet-phone-input.entry.js +4 -4
  411. package/lib/esm/duet-popup-menu_2.entry.js +30 -18
  412. package/lib/esm/duet-progress.entry.js +3 -3
  413. package/lib/esm/duet-promo-card.entry.js +13 -9
  414. package/lib/esm/duet-radio_2.entry.js +10 -8
  415. package/lib/esm/duet-range-slider.entry.js +7 -7
  416. package/lib/esm/duet-scrollable_3.entry.js +17 -17
  417. package/lib/esm/duet-section-layout.entry.js +4 -4
  418. package/lib/esm/duet-select.entry.js +10 -10
  419. package/lib/esm/duet-shaped-image.entry.js +4 -4
  420. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  421. package/lib/esm/duet-share-chart.entry.js +8 -8
  422. package/lib/esm/duet-show-more.entry.js +5 -5
  423. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  424. package/lib/esm/duet-slideout-link.entry.js +7 -7
  425. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  426. package/lib/esm/duet-slideout-panel.entry.js +13 -13
  427. package/lib/esm/duet-slideout.entry.js +20 -18
  428. package/lib/esm/duet-status-icon.entry.js +8 -4
  429. package/lib/esm/duet-step_2.entry.js +6 -6
  430. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  431. package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -7
  432. package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
  433. package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
  434. package/lib/esm/duet-submenu-bar.entry.js +8 -8
  435. package/lib/esm/duet-textarea.entry.js +14 -21
  436. package/lib/esm/duet-toggle.entry.js +8 -8
  437. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  438. package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
  439. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  440. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  441. package/lib/esm/duet-toolbar.entry.js +4 -4
  442. package/lib/esm/duet-tooltip-button_2.entry.js +9 -9
  443. package/lib/esm/duet-tooltip.entry.js +5 -5
  444. package/lib/esm/duet-tray.entry.js +6 -6
  445. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  446. package/lib/esm/duet-upload-item.entry.js +6 -6
  447. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  448. package/lib/esm/duet.js +4 -4
  449. package/lib/esm/{errorcodes.utils-DFNtyigo.js → errorcodes.utils-CqW0-HM8.js} +1 -1
  450. package/lib/esm/{focus-utils-BMaSpIw7.js → focus-utils-Dokkd7xz.js} +1 -1
  451. package/lib/esm/{index-FlJJ5tdo.js → index-Cwhi6_oZ.js} +5 -5
  452. package/lib/esm/{label-B8qZstXv.js → label-CyQlly6Z.js} +1 -1
  453. package/lib/esm/{language-utils-D6DmVtHY.js → language-utils-LZh-sc2s.js} +1 -1
  454. package/lib/esm/loader.js +4 -4
  455. package/lib/esm/{slot-utils-CNDJ1X0N.js → slot-utils-CEZnAp61.js} +2 -2
  456. package/lib/esm/{themeable-component-r_Tw1vqr.js → themeable-component-D_FVcjsD.js} +1 -1
  457. package/lib/esm/{token-utils-D46K_pN4.js → token-utils-B0KAgyj_.js} +1 -1
  458. package/lib/esm/{tokens-vvm7i9oY.js → tokens-Ce9HQd35.js} +226 -4
  459. package/lib/esm/{tokens.module-D84A7Xf6.js → tokens.module-DEzE2U5T.js} +152 -4
  460. package/lib/types/common-types.d.ts +11 -28
  461. package/lib/types/components/duet-banner/duet-banner.d.ts +1 -0
  462. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -0
  463. package/lib/types/components/duet-date-picker/date-utils.d.ts +1 -1
  464. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +1 -2
  465. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +24 -4
  466. package/lib/types/components/duet-grid/duet-grid.d.ts +5 -0
  467. package/lib/types/components/duet-heading/duet-heading.d.ts +10 -0
  468. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +1 -0
  469. package/lib/types/components/duet-textarea/duet-textarea.d.ts +0 -5
  470. package/lib/types/components.d.ts +72 -6
  471. package/package.json +5 -5
  472. package/lib/duet/p-0c653c09.entry.js +0 -4
  473. package/lib/duet/p-0ef804e4.entry.js +0 -4
  474. package/lib/duet/p-1a28bbe1.entry.js +0 -4
  475. package/lib/duet/p-1d81fcf9.entry.js +0 -4
  476. package/lib/duet/p-1f2469d6.entry.js +0 -4
  477. package/lib/duet/p-2b489051.entry.js +0 -4
  478. package/lib/duet/p-2e967dc9.entry.js +0 -4
  479. package/lib/duet/p-30190152.entry.js +0 -4
  480. package/lib/duet/p-44d1fafb.entry.js +0 -4
  481. package/lib/duet/p-47070cce.entry.js +0 -4
  482. package/lib/duet/p-554d9373.entry.js +0 -4
  483. package/lib/duet/p-59553aa5.entry.js +0 -4
  484. package/lib/duet/p-5dc3f346.entry.js +0 -4
  485. package/lib/duet/p-5dc8a394.entry.js +0 -4
  486. package/lib/duet/p-6359eb27.entry.js +0 -4
  487. package/lib/duet/p-831e210d.entry.js +0 -4
  488. package/lib/duet/p-846b040f.entry.js +0 -4
  489. package/lib/duet/p-8ff66f04.entry.js +0 -4
  490. package/lib/duet/p-9fd00141.entry.js +0 -4
  491. package/lib/duet/p-BZkhQa5F.js +0 -4
  492. package/lib/duet/p-BsJux4JM.js +0 -4
  493. package/lib/duet/p-Bv3O2yFB.js +0 -4
  494. package/lib/duet/p-D84A7Xf6.js +0 -4
  495. package/lib/duet/p-Dd0j805V.js +0 -4
  496. package/lib/duet/p-a4b62f2f.entry.js +0 -4
  497. package/lib/duet/p-b8648d7a.entry.js +0 -4
  498. package/lib/duet/p-c18726af.entry.js +0 -4
  499. package/lib/duet/p-c2572d80.entry.js +0 -4
  500. package/lib/duet/p-d3b4339e.entry.js +0 -4
  501. package/lib/duet/p-dZaxsCbb.js +0 -4
  502. package/lib/duet/p-dfab71df.entry.js +0 -4
  503. package/lib/duet/p-e655dd7d.entry.js +0 -4
  504. package/lib/duet/p-f0eda0e2.entry.js +0 -4
  505. package/lib/duet/p-f58c0527.entry.js +0 -4
  506. package/lib/duet/p-fc0cb6fb.entry.js +0 -4
  507. package/lib/duet/p-vvm7i9oY.js +0 -4
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-FlJJ5tdo.js';
5
- import { D as DuetInternalLabel } from './label-B8qZstXv.js';
6
- import { i as inheritGlobalTheme } from './themeable-component-r_Tw1vqr.js';
4
+ import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-Cwhi6_oZ.js';
5
+ import { D as DuetInternalLabel } from './label-CyQlly6Z.js';
6
+ import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
7
7
  import { c as createID } from './create-id-Cfr_DJqU.js';
8
- import { F as FocusGuard } from './focus-utils-BMaSpIw7.js';
9
- import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-D6DmVtHY.js';
10
- import { c as checkNamedSlotElement, p as proxyInputToSlot } from './slot-utils-CNDJ1X0N.js';
8
+ import { F as FocusGuard } from './focus-utils-Dokkd7xz.js';
9
+ import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-LZh-sc2s.js';
10
+ import { c as checkNamedSlotElement, p as proxyInputToSlot } from './slot-utils-CEZnAp61.js';
11
11
  import { g as getDefaultExportFromCjs } from './_commonjsHelpers-DvwKrUS6.js';
12
12
  import './string-utils-C6E9F6QT.js';
13
13
 
@@ -171,13 +171,14 @@ function createDate(year, month, day) {
171
171
  }
172
172
  return date;
173
173
  }
174
+ return undefined;
174
175
  }
175
176
  /**
176
177
  * @param value date string in format dd.mm.yyyy
177
178
  */
178
179
  function parseDate(value) {
179
180
  if (!value) {
180
- return;
181
+ return undefined;
181
182
  }
182
183
  const matches = value.match(DATE_FORMAT);
183
184
  if (matches) {
@@ -422,7 +423,7 @@ const DatePickerMonth = ({ selectedDate, focusedDate, labelledById, theme, langu
422
423
  } }))))))))));
423
424
  };
424
425
 
425
- const duetDatePickerCss = ".duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !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:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.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, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{margin-right:16px !important}:host(:last-child),:host(:last-of-type){margin-right:0 !important}:host(.form-distribute:last-of-type:not(:last-child)){margin-right:16px !important}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;vertical-align:top;text-align:left}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}.duet-date{position:relative;width:100%}.duet-date button,.duet-date-dialog button{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button{-webkit-user-select:none;user-select:none;position:relative;z-index:200;box-sizing:content-box;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:47px;height:48px;color:rgb(8, 42, 77);cursor:pointer;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-left-color:rgb(181, 198, 208);border-radius:0 4px 4px 0;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-date-button::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(181, 198, 208, 0.2) 0%, rgba(181, 198, 208, 0.2) 1px, rgba(181, 198, 208, 0.1) 1px, rgba(181, 198, 208, 0) 100%)}.duet-date-button:hover:not(:disabled){outline:2px solid;outline-color:rgb(98, 121, 138);outline-offset:-1px}.duet-theme-turva .duet-date-button:hover:not(:disabled),.duet-date-button:hover:not(:disabled).duet-theme-turva{outline-color:rgb(120, 145, 164)}.duet-date-button:disabled{pointer-events:none;cursor:not-allowed;background:rgb(245, 248, 250) !important;border:0 !important}.duet-date-button:disabled::before{display:none}.duet-date-button:disabled duet-icon{opacity:0.4}.duet-date-button duet-icon{transform:translateY(-1px)}.duet-date-button:active duet-icon{transform:translateY(0)}.duet-date-input-has-focus .duet-date-button,.duet-date-button:focus{height:46px;color:rgb(0, 119, 179)}.duet-date-input-has-focus .duet-date-button:focus,.duet-date-button:focus:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-input-has-focus .duet-date-button:focus,.duet-date-input-has-focus .duet-date-button:focus.duet-theme-turva,.duet-theme-turva .duet-date-button:focus:focus,.duet-date-button:focus:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.input-error{border-top-color:rgb(214, 28, 82);border-right-color:rgb(214, 28, 82);border-bottom-color:rgb(214, 28, 82)}.duet-date-dialog{position:absolute;top:100%;left:0;z-index:900;display:flex;visibility:hidden;width:100%;opacity:0;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease}@media (min-width: 36em){.duet-date-dialog.left{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog{position:fixed;top:0;right:0;bottom:0;transform:translateZ(0);transform-origin:bottom center;transition:opacity 400ms ease, visibility 400ms ease}}.duet-date-dialog.active{visibility:visible;opacity:1;transform:scale(1.0001) translateZ(0) translateY(0);transition-property:transform, opacity}@media (min-width: 36em){.duet-date-dialog.error{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}@media (max-width: 35.9375em){.duet-date-dialog-wrapper{position:absolute;bottom:0;left:0;z-index:900;visibility:hidden;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transform:translateZ(0) translateY(100%);transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease}.active .duet-date-dialog-wrapper{visibility:visible;opacity:1;transform:translateZ(0) translateY(0);transition-property:transform, opacity}}.duet-date-table{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:400;line-height:1.25;color:rgb(8, 42, 77);text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table th{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-transform:uppercase;letter-spacing:1px;text-decoration:none}.duet-date-table .duet-date-table-cell{text-align:center}.duet-date-table .duet-date-table-cell:focus{outline:none}.duet-date-table-button{position:relative;z-index:100;display:inline-block !important;width:36.9230769231px !important;height:36.9230769231px !important;min-height:initial !important;padding:0 !important;margin:0 !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:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:2.6 !important;vertical-align:initial !important;color:rgb(8, 42, 77) !important;text-align:center;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-date-table-button:hover{background:rgb(228, 241, 247) !important}.duet-date-table-button.today{z-index:200;color:rgb(0, 75, 129) !important;background:rgb(240, 247, 250) !important;box-shadow:0 0 0 1px #0077b3 !important}.selected .duet-date-table-button,:focus .duet-date-table-button{color:rgb(255, 255, 255) !important;outline:0;background:rgb(0, 119, 179) !important}.duet-date-table-button:active{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8);z-index:200;color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important}.duet-theme-turva .duet-date-table-button:active,.duet-date-table-button:active.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}:focus .duet-date-table-button{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8);z-index:200}.duet-theme-turva :focus .duet-date-table-button,:focus .duet-date-table-button.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-date-table-button.disabled{color:rgb(127, 150, 165) !important;cursor:default;outline:none !important;background:transparent !important}.duet-date-table-button.outside{color:rgb(127, 150, 165) !important;pointer-events:none;cursor:default;outline:none;background:rgb(245, 248, 250) !important;opacity:0.75}.duet-date-dialog-header{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons{white-space:nowrap}.duet-date-dialog-buttons ::part(button){border:0}.duet-date-dialog-select{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select .duet-date-dialog-select-label{position:relative;z-index:1;display:flex;align-items:center;width:100%;padding:0 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:1.25rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);pointer-events:none;border-radius:4px}.duet-date-dialog-select span{margin-right:4px}.duet-date-dialog-select select{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select select:focus+.duet-date-dialog-select-label{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-dialog-select select:focus+.duet-date-dialog-select-label,.duet-date-dialog-select select:focus+.duet-date-dialog-select-label.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-date-dialog-mobile-header{position:relative;display:flex;align-items:center;justify-content:space-between;width:120%;padding:12px 20px;margin-bottom:20px;margin-left:-10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid rgb(181, 198, 208)}@media (min-width: 36em){.duet-date-dialog-mobile-header{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-date-dialog-mobile-header label{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header label{display:none}}.duet-date-picker-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:rgb(8, 42, 77) !important;-webkit-appearance:none;appearance:none;cursor:pointer;background:rgb(245, 248, 250) !important;border-radius:50%}@media (min-width: 36em){.duet-date-picker-close{opacity:0}}.duet-date-picker-close:hover{background:rgb(245, 248, 250) !important}.duet-date-picker-close:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-picker-close:focus,.duet-date-picker-close:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}@media (min-width: 36em){.duet-date-picker-close:focus{opacity:1}}.duet-theme-turva .duet-date-button{color:rgb(23, 42, 59);border-color:rgb(120, 145, 164);border-left-color:rgb(178, 194, 205)}.duet-theme-turva:disabled{background:rgb(245, 246, 247) !important}.duet-theme-turva.duet-date-input-has-focus .duet-theme-turva,.duet-theme-turva:focus{color:rgb(23, 42, 59)}.duet-theme-turva .duet-date-dialog-wrapper{border-color:rgb(212, 221, 226)}.duet-theme-turva .duet-date-table-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !important;color:rgb(23, 42, 59) !important}.duet-theme-turva .duet-date-table-button:hover:not(.disabled){background:rgb(251, 225, 209) !important}.duet-theme-turva .duet-date-table-button.today{color:rgb(140, 0, 30) !important;background:rgb(253, 247, 242) !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva .duet-date-table-button:active{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva .duet-date-table-button.outside{color:rgb(120, 145, 164) !important;outline:none;background:rgb(245, 246, 247) !important}.duet-theme-turva .duet-date-table-button.disabled{color:rgb(178, 194, 205) !important;outline:none !important;background:transparent !important}.duet-theme-turva .selected .duet-date-table-button,.duet-theme-turva :focus .duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva :active.duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva .duet-date-dialog-select .duet-date-dialog-select-label{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, 42, 59)}.duet-theme-turva .duet-date-dialog-mobile-header{border-color:rgb(178, 194, 205)}.duet-theme-turva .duet-date-picker-close{background:rgb(245, 246, 247) !important}.duet-theme-turva .duet-date-picker-close:hover{background:rgb(245, 246, 247) !important}.duet-theme-turva [aria-pressed=true] .duet-date-table-button,.duet-theme-turva :focus .duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva.duet-date-table{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, 42, 59)}";
426
+ const duetDatePickerCss = ".duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !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:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.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, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{margin-right:16px !important}:host(:last-child),:host(:last-of-type){margin-right:0 !important}:host(.form-distribute:last-of-type:not(:last-child)){margin-right:16px !important}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;vertical-align:top;text-align:left}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}.duet-date{position:relative;width:100%}.duet-date button,.duet-date-dialog button{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button{-webkit-user-select:none;user-select:none;position:relative;z-index:200;box-sizing:content-box;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:47px;height:48px;color:rgb(8, 42, 77);cursor:pointer;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-left-color:rgb(181, 198, 208);border-radius:0 4px 4px 0;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-date-button::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(181, 198, 208, 0.2) 0%, rgba(181, 198, 208, 0.2) 1px, rgba(181, 198, 208, 0.1) 1px, rgba(181, 198, 208, 0) 100%)}.duet-date-button:hover:not(:disabled){outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-date-button:hover:not(:disabled),.duet-date-button:hover:not(:disabled).duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-date-button:disabled{pointer-events:none;cursor:not-allowed;background:rgb(245, 248, 250) !important}.duet-date-button:disabled::before{display:none}.duet-date-button:disabled duet-icon{opacity:0.4}.duet-date-button duet-icon{transform:translateY(-1px)}.duet-date-button:active duet-icon{transform:translateY(0)}.duet-date-input-has-focus .duet-date-button,.duet-date-button:focus{height:46px;color:rgb(0, 119, 179)}.duet-date-input-has-focus .duet-date-button:focus,.duet-date-button:focus:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-input-has-focus .duet-date-button:focus,.duet-date-input-has-focus .duet-date-button:focus.duet-theme-turva,.duet-theme-turva .duet-date-button:focus:focus,.duet-date-button:focus:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.input-error{border-top-color:rgb(214, 28, 82);border-right-color:rgb(214, 28, 82);border-bottom-color:rgb(214, 28, 82)}.duet-date-dialog{position:absolute;top:100%;left:0;z-index:900;display:flex;visibility:hidden;width:100%;opacity:0;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease}@media (min-width: 36em){.duet-date-dialog.left{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog{position:fixed;top:0;right:0;bottom:0;transform:translateZ(0);transform-origin:bottom center;transition:opacity 400ms ease, visibility 400ms ease}}.duet-date-dialog.active{visibility:visible;opacity:1;transform:scale(1.0001) translateZ(0) translateY(0);transition-property:transform, opacity}@media (min-width: 36em){.duet-date-dialog.error{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}@media (max-width: 35.9375em){.duet-date-dialog-wrapper{position:absolute;bottom:0;left:0;z-index:900;visibility:hidden;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transform:translateZ(0) translateY(100%);transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease}.active .duet-date-dialog-wrapper{visibility:visible;opacity:1;transform:translateZ(0) translateY(0);transition-property:transform, opacity}}.duet-date-table{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:400;line-height:1.25;color:rgb(8, 42, 77);text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table th{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-transform:uppercase;letter-spacing:1px;text-decoration:none}.duet-date-table .duet-date-table-cell{text-align:center}.duet-date-table .duet-date-table-cell:focus{outline:none}.duet-date-table-button{position:relative;z-index:100;display:inline-block !important;width:36.9230769231px !important;height:36.9230769231px !important;min-height:initial !important;padding:0 !important;margin:0 !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:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:2.6 !important;vertical-align:initial !important;color:rgb(8, 42, 77) !important;text-align:center;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-date-table-button:hover{background:rgb(228, 241, 247) !important}.duet-date-table-button.today{z-index:200;color:rgb(0, 75, 129) !important;background:rgb(240, 247, 250) !important;box-shadow:0 0 0 1px #0077b3 !important}.selected .duet-date-table-button,:focus .duet-date-table-button{color:rgb(255, 255, 255) !important;outline:0;background:rgb(0, 119, 179) !important}.duet-date-table-button:active{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8);z-index:200;color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important}.duet-theme-turva .duet-date-table-button:active,.duet-date-table-button:active.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}:focus .duet-date-table-button{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8);z-index:200}.duet-theme-turva :focus .duet-date-table-button,:focus .duet-date-table-button.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-date-table-button.disabled{color:rgb(127, 150, 165) !important;cursor:default;outline:none !important;background:transparent !important}.duet-date-table-button.outside{color:rgb(127, 150, 165) !important;pointer-events:none;cursor:default;outline:none;background:rgb(245, 248, 250) !important;opacity:0.75}.duet-date-dialog-header{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons{white-space:nowrap}.duet-date-dialog-buttons ::part(button){border:0}.duet-date-dialog-select{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select .duet-date-dialog-select-label{position:relative;z-index:1;display:flex;align-items:center;width:100%;padding:0 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:1.25rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);pointer-events:none;border-radius:4px}.duet-date-dialog-select span{margin-right:4px}.duet-date-dialog-select select{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select select:focus+.duet-date-dialog-select-label{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-dialog-select select:focus+.duet-date-dialog-select-label,.duet-date-dialog-select select:focus+.duet-date-dialog-select-label.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-date-dialog-mobile-header{position:relative;display:flex;align-items:center;justify-content:space-between;width:120%;padding:12px 20px;margin-bottom:20px;margin-left:-10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid rgb(181, 198, 208)}@media (min-width: 36em){.duet-date-dialog-mobile-header{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-date-dialog-mobile-header label{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header label{display:none}}.duet-date-picker-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:rgb(8, 42, 77) !important;-webkit-appearance:none;appearance:none;cursor:pointer;background:rgb(245, 248, 250) !important;border-radius:50%}@media (min-width: 36em){.duet-date-picker-close{opacity:0}}.duet-date-picker-close:hover{background:rgb(245, 248, 250) !important}.duet-date-picker-close:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-picker-close:focus,.duet-date-picker-close:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}@media (min-width: 36em){.duet-date-picker-close:focus{opacity:1}}.duet-theme-turva .duet-date-button{color:rgb(23, 42, 59);border-color:rgb(120, 145, 164);border-left-color:rgb(178, 194, 205)}.duet-theme-turva:disabled{background:rgb(245, 246, 247) !important}.duet-theme-turva.duet-date-input-has-focus .duet-theme-turva,.duet-theme-turva:focus{color:rgb(23, 42, 59)}.duet-theme-turva .duet-date-dialog-wrapper{border-color:rgb(212, 221, 226)}.duet-theme-turva .duet-date-table-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !important;color:rgb(23, 42, 59) !important}.duet-theme-turva .duet-date-table-button:hover:not(.disabled){background:rgb(251, 225, 209) !important}.duet-theme-turva .duet-date-table-button.today{color:rgb(140, 0, 30) !important;background:rgb(253, 247, 242) !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva .duet-date-table-button:active{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva .duet-date-table-button.outside{color:rgb(120, 145, 164) !important;outline:none;background:rgb(245, 246, 247) !important}.duet-theme-turva .duet-date-table-button.disabled{color:rgb(178, 194, 205) !important;outline:none !important;background:transparent !important}.duet-theme-turva .selected .duet-date-table-button,.duet-theme-turva :focus .duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva :active.duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva .duet-date-dialog-select .duet-date-dialog-select-label{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, 42, 59)}.duet-theme-turva .duet-date-dialog-mobile-header{border-color:rgb(178, 194, 205)}.duet-theme-turva .duet-date-picker-close{background:rgb(245, 246, 247) !important}.duet-theme-turva .duet-date-picker-close:hover{background:rgb(245, 246, 247) !important}.duet-theme-turva [aria-pressed=true] .duet-date-table-button,.duet-theme-turva :focus .duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva.duet-date-table{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, 42, 59)}";
426
427
 
427
428
  const DuetDatePicker = class {
428
429
  constructor(hostRef) {
@@ -463,7 +464,6 @@ const DuetDatePicker = class {
463
464
  this.focusedDay = new Date();
464
465
  this.inputValue = "";
465
466
  this.inputHasFocus = false;
466
- this.internalValidityError = "";
467
467
  /**
468
468
  * Theme of the component.
469
469
  */
@@ -591,10 +591,9 @@ const DuetDatePicker = class {
591
591
  this.handleBlur = (event) => {
592
592
  event.stopPropagation();
593
593
  this.inputHasFocus = false;
594
- if (!this._validity.valid) {
595
- this.value = null;
594
+ if (!this._validity.valid && !this.disableBuiltInErrors) {
596
595
  const errorKey = Object.entries(this._validity).find(entry => !!entry[1])[0];
597
- this.internalValidityError = getLocaleString(this.dateErrorMessages[errorKey]);
596
+ this.error = getLocaleString(this.dateErrorMessages[errorKey]);
598
597
  }
599
598
  this.duetBlur.emit({
600
599
  component: "duet-date-picker",
@@ -670,7 +669,6 @@ const DuetDatePicker = class {
670
669
  this.handleDaySelect = (_event, day) => {
671
670
  const min = parseISODate(this.min);
672
671
  const max = parseISODate(this.max);
673
- this.determineValidity(day);
674
672
  if (inRange(day, min, max)) {
675
673
  this.setValue(day);
676
674
  this.hide();
@@ -685,10 +683,7 @@ const DuetDatePicker = class {
685
683
  this.handleInputChange = (e) => {
686
684
  this.inputValue = e.detail.value;
687
685
  const parsed = parseDate(this.inputValue);
688
- this.determineValidity(parsed);
689
- if (parsed || this.inputValue === "") {
690
- this.setValue(parsed);
691
- }
686
+ this.setValue(parsed);
692
687
  };
693
688
  }
694
689
  /**
@@ -697,19 +692,15 @@ const DuetDatePicker = class {
697
692
  * Useful properties to inspect are badInput, valueMissing, rangeOverflow, rangeUnderflow.
698
693
  */
699
694
  get validity() {
695
+ this.determineValidity();
700
696
  return this._validity;
701
697
  }
702
- updateValidity(newValue, _oldValue, propName) {
703
- if (propName === "value" && newValue === null) {
704
- return;
705
- }
706
- this.determineValidity(parseISODate(this.value));
707
- if (this._validity.valid) {
708
- this.internalValidityError = "";
709
- }
698
+ updateValidity() {
699
+ this.determineValidity();
710
700
  }
711
701
  updateInternalValue() {
712
- if (this.value === null) {
702
+ // don't clear input when user has focus there
703
+ if (!this.value && this.inputHasFocus) {
713
704
  return;
714
705
  }
715
706
  const parsedValue = parseISODate(this.value);
@@ -728,7 +719,7 @@ const DuetDatePicker = class {
728
719
  */
729
720
  componentWillLoad() {
730
721
  inheritGlobalTheme(this);
731
- this.determineValidity(parseISODate(this.value));
722
+ this.determineValidity();
732
723
  this.updateInternalValue();
733
724
  checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
734
725
  }
@@ -815,13 +806,14 @@ const DuetDatePicker = class {
815
806
  setFocusedDay(day) {
816
807
  this.focusedDay = clamp(day, parseISODate(this.min), parseISODate(this.max));
817
808
  }
818
- determineValidity(date) {
809
+ determineValidity() {
819
810
  var _a, _b;
811
+ const valueAsDate = parseISODate(this.value);
820
812
  const inputValue = (_b = (_a = this.datePickerInput) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : "";
821
- const badInput = inputValue !== "" && date == null;
822
- const valueMissing = this.required && date == null;
823
- const rangeOverflow = date ? !inRange(date, null, parseISODate(this.max)) : false;
824
- const rangeUnderflow = date ? !inRange(date, parseISODate(this.min)) : false;
813
+ const badInput = !valueAsDate && inputValue !== "";
814
+ const valueMissing = !valueAsDate && this.required;
815
+ const rangeOverflow = valueAsDate ? !inRange(valueAsDate, null, parseISODate(this.max)) : false;
816
+ const rangeUnderflow = valueAsDate ? !inRange(valueAsDate, parseISODate(this.min)) : false;
825
817
  this._validity = {
826
818
  patternMismatch: false,
827
819
  customError: false,
@@ -835,6 +827,9 @@ const DuetDatePicker = class {
835
827
  valueMissing,
836
828
  valid: !(valueMissing || badInput || rangeUnderflow || rangeOverflow),
837
829
  };
830
+ if (this._validity.valid) {
831
+ this.error = "";
832
+ }
838
833
  }
839
834
  setValue(date) {
840
835
  const newValue = printISODate(date);
@@ -842,6 +837,7 @@ const DuetDatePicker = class {
842
837
  return;
843
838
  }
844
839
  this.value = newValue;
840
+ this.determineValidity();
845
841
  this.duetChange.emit({
846
842
  component: "duet-date-picker",
847
843
  value: this.value,
@@ -892,13 +888,13 @@ const DuetDatePicker = class {
892
888
  if (maxDate) {
893
889
  maxYear = Math.min(maxYear, maxDate.getFullYear());
894
890
  }
895
- return (h(Host, { key: '2f9dd355a80f9ed65cc0cfa90d674f426bad4c59', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" } }, h("div", { key: '8c023088cf474e2b460139486e85974f53963981', class: "duet-date" }, h(DatePickerInput, { key: '0c678c083138be043f01d6df1522e385a7ee122a', hasFocus: this.inputHasFocus, value: this.value, valueAsDate: valueAsDate, formattedValue: this.inputValue, language: this.language, onInput: this.handleInputChange, onBlur: this.handleBlur, onFocus: this.handleFocus, onClick: this.toggleOpen, name: this.name, disabled: this.disabled, error: this.error || (!this.disableBuiltInErrors && this.internalValidityError) || null, role: this.role, required: this.required, theme: this.theme, tooltip: this.tooltip, tooltipDirection: this.tooltipDirection, labelHidden: this.labelHidden, placeholder: this.placeholder, inputLabel: this.label, identifier: this.identifier, buttonRef: element => (this.datePickerButton = element), inputRef: element => (this.datePickerInput = element), accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy, accessibleLiveError: this.accessibleLiveError, echoPlaceholder: this.echoPlaceholder, caption: this.caption })), h("div", { key: 'efec9f5c773e36d4e418dac06036390b50bff2a5', class: {
891
+ return (h(Host, { key: '5ebd34bf6ba1033b890138e5523f45fecd17eaf4', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" } }, h("div", { key: '8c4b995485be3c6b070ce738f3416db0d9683771', class: "duet-date" }, h(DatePickerInput, { key: 'c0b308099cd5c56790a1160d10a682551ce9da7e', hasFocus: this.inputHasFocus, value: this.value, valueAsDate: valueAsDate, formattedValue: this.inputValue, language: this.language, onInput: this.handleInputChange, onBlur: this.handleBlur, onFocus: this.handleFocus, onClick: this.toggleOpen, name: this.name, disabled: this.disabled, error: this.error, role: this.role, required: this.required, theme: this.theme, tooltip: this.tooltip, tooltipDirection: this.tooltipDirection, labelHidden: this.labelHidden, placeholder: this.placeholder, inputLabel: this.label, identifier: this.identifier, buttonRef: element => (this.datePickerButton = element), inputRef: element => (this.datePickerInput = element), accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy, accessibleLiveError: this.accessibleLiveError, echoPlaceholder: this.echoPlaceholder, caption: this.caption })), h("div", { key: 'cca008327d5a939054a1b2abd748b08170b19a07', class: {
896
892
  "duet-theme-turva": this.theme === "turva",
897
893
  "duet-date-dialog": true,
898
894
  left: this.direction === "left",
899
895
  error: !!this.error,
900
896
  active: this.open,
901
- }, role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? "false" : "true", "aria-labelledby": this.dialogLabelId, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, h("duet-overlay", { key: '130f52a0f0194b1186619bf6426f97a68c079c11', visible: this.open, "display-device": "x-small" }), h(FocusGuard, { key: 'b4c229e9d91c822d87702677e213f8753f344017', moveFocusTo: this.focusedDayNode }), h("div", { key: '3ce07367a559781b9872669665186af5572305ca', class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, h("duet-visually-hidden", { key: '7740bce6549fc3423947947f68d7e8950baa440d', "aria-live": "polite" }, text.keyboardInstruction), h("div", { key: '2d80551888be784d8ea12b74c43df593c4701e83', class: "duet-date-dialog-mobile-header" }, h(DuetInternalLabel, { key: '27d2994191b94efe00484fbd25d96537d6ed11b2', margin: "none" }, this.label), h("button", { key: '82cf74d2d7aff047562d13320496248d352c1e82', class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, h("duet-icon", { key: '92b2e5fd52e4206c00acfd56e0d515d08e4527b1', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), h("duet-visually-hidden", { key: '738da11657cbac3ed52ef22490165f4ac76c6ea6' }, text.closeLabel))), h("div", { key: 'e8922fed8ac11149bb603c912d278c0b3843b214', class: "duet-date-dialog-header" }, h("div", { key: 'e922554dbea94dfa70e62983ee6a0b08f8e159d7', class: "duet-date-dialog-dropdowns" }, h("duet-visually-hidden", { key: '873ba9c661e3c280c88fffc510dcceab0b2d5863' }, h("h2", { key: 'c769e12a0c0c668164d25d7864a711d0f9268f09', id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), h("duet-visually-hidden", { key: '5941e8d2cd0f5baec6001808c68cb4c51b37db86' }, h("label", { key: 'bee65da8486f65afe8d18e90b1daed308dda8864', htmlFor: this.monthSelectId }, text.monthSelectLabel)), h("div", { key: 'f9fd8b52eaa90fd555d737e2691b51260592101a', class: "duet-date-dialog-select" }, h("select", { key: '83b7003769bf0042228e2ed36ad4118e8f0f1ab2', id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (h("option", { key: month, value: i, selected: i === focusedMonth, disabled: !inRange(new Date(focusedYear, i, 1), minDate ? startOfMonth(minDate) : null, maxDate ? endOfMonth(maxDate) : null) }, month)))), h("div", { key: '1d9bbde4fcc96fbcaf2d714ecc34a58c755dfc7d', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", { key: '3c4be7bf8fefa6ee1f5cede7eeb34ebfeaae35a1' }, text.monthLabelsShort[focusedMonth]), h("duet-icon", { key: '4eece4a65cb58ba45a30e4fd2cf179d61b05625f', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), h("duet-visually-hidden", { key: '700e9f50a74a6113c33f149427169ae9917badc0' }, h("label", { key: 'c5f8403791830d9b0ad68ed66af8c3f1c26310e3', htmlFor: this.yearSelectId }, text.yearSelectLabel)), h("div", { key: '2c69022a45ab3effd4c907cc6d5c5a508bbb99f7', class: "duet-date-dialog-select" }, h("select", { key: 'fee0495e004775929f7b7aeb66278ac8b4fd003d', id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (h("option", { key: year, selected: year === focusedYear }, year)))), h("div", { key: 'e50ff66c34ee36e965843e68e1fb3d26690ce1ed', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", { key: '9808b372ac9fea0ce5c51acee5ee407d5906e3f1' }, this.focusedDay.getFullYear()), h("duet-icon", { key: '90c5c74c91d9e3df13e70987f66c2964feca8cf5', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), h("div", { key: 'f66a8e9e9fba23a7a8c9d871f1ff0bbfa6b39b37', class: "duet-date-dialog-buttons" }, h("duet-action-button", { key: 'fe1df2d1456357c2ae731b66c302c45a33f40d06', accessibleLabel: i18n[this.language].prevMonthLabel, actionName: i18n[this.language].prevMonthLabel, class: "duet-date-dialog-prev", onClick: this.handlePreviousMonthClick, disabled: prevMonthDisabled, "icon-name": "action-arrow-left-small" }, text.prevMonthLabel), h("duet-action-button", { key: '86db10ad2c3d1ab190690ae65d4c778084194089', accessibleLabel: i18n[this.language].nextMonthLabel, actionName: i18n[this.language].nextMonthLabel, class: "duet-date-dialog-next", onClick: this.handleNextMonthClick, disabled: nextMonthDisabled, "icon-name": "action-arrow-right-small" }, text.nextMonthLabel))), h(DatePickerMonth, { key: '741527916476f5959328595373dc3e11b02b0df2', selectedDate: valueAsDate, focusedDate: this.focusedDay, onDateSelect: this.handleDaySelect, onKeyboardNavigation: this.handleKeyboardNavigation, labelledById: this.dialogLabelId, language: this.language, theme: this.theme, min: minDate, max: maxDate, focusedDayRef: element => (this.focusedDayNode = element), onFocusEnter: this.enableActiveFocus, onFocusExit: this.disableActiveFocus })), h(FocusGuard, { key: 'de920ae43a19a7ca9790056fd3a9f51a08039d4f', moveFocusTo: this.closeButtonNode }))));
897
+ }, role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? "false" : "true", "aria-labelledby": this.dialogLabelId, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, h("duet-overlay", { key: 'fcb2d3f3fd5333529c2ebc82590a6a543112a5f4', visible: this.open, "display-device": "x-small" }), h(FocusGuard, { key: '0de38fdb796337ec9448bcff1bb652776fdf6f60', moveFocusTo: this.focusedDayNode }), h("div", { key: '9950afbc58987e498e2e6734fd6af177c65d94a8', class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, h("duet-visually-hidden", { key: '2394f33f1efd2e0626b2a1bc3642a73193798b13', "aria-live": "polite" }, text.keyboardInstruction), h("div", { key: '74b68ad35d92ab0c2616be5466ea6b8b2c1a1451', class: "duet-date-dialog-mobile-header" }, h(DuetInternalLabel, { key: '7385d9ef814cf4557cf903f705b38a7571369d0f', margin: "none" }, this.label), h("button", { key: '5ba61af3c6b024f1f3ef531b412e5c20243d83ca', class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, h("duet-icon", { key: '14e320af49eb06c184cfe918a67f278bdac888bf', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), h("duet-visually-hidden", { key: 'b58668ebd6f0849ae6e8f0454800b4ceb916443e' }, text.closeLabel))), h("div", { key: '79a07d6373ca479f45808ff3eef1ea6239148b26', class: "duet-date-dialog-header" }, h("div", { key: '6f08a300db74dd1562c658334c8220fc1569228c', class: "duet-date-dialog-dropdowns" }, h("duet-visually-hidden", { key: '400b1451a2180e0a189a5c1e7c27139647ec5539' }, h("h2", { key: '47225d656584304da5b114f0430e17cb74a38e53', id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), h("duet-visually-hidden", { key: 'b66a24df41db7807ed3c0d3f36d380a897360fa6' }, h("label", { key: 'aae8cf780c5452e1399421e177309ad7a9179803', htmlFor: this.monthSelectId }, text.monthSelectLabel)), h("div", { key: 'f2bad2498489114a7bc0ffd6fc8c4f842b507e43', class: "duet-date-dialog-select" }, h("select", { key: '9d58e711523ace0781cc27947fb9ecc52bda8499', id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (h("option", { key: month, value: i, selected: i === focusedMonth, disabled: !inRange(new Date(focusedYear, i, 1), minDate ? startOfMonth(minDate) : null, maxDate ? endOfMonth(maxDate) : null) }, month)))), h("div", { key: '914f0bef1d172d4d5391991fd9f8206f7d0576df', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", { key: '7aebf3e0cbc22a117a5e155e0dd4518189f9b946' }, text.monthLabelsShort[focusedMonth]), h("duet-icon", { key: 'faf140d4032093b37db295f06e23ea761fa27c65', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), h("duet-visually-hidden", { key: '66399d5d57f605fe4db9c13ee13bcf89f4d38efd' }, h("label", { key: '76256efb6db83d4165a903420b70e9a6d43a2e49', htmlFor: this.yearSelectId }, text.yearSelectLabel)), h("div", { key: 'e871aa90559d85cad33752f52a6e538571e6984f', class: "duet-date-dialog-select" }, h("select", { key: 'af2e90cb3d28123c36c83853753be30beff06400', id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (h("option", { key: year, selected: year === focusedYear }, year)))), h("div", { key: 'a1487d1853c56fc62c20bf2b3df60cc73d666017', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", { key: 'ad43c7efa4a93e4417c2051e000fe0f786b35612' }, this.focusedDay.getFullYear()), h("duet-icon", { key: '5c42115e3dd7c4a48e5cae87b5f03ed274087ba5', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), h("div", { key: 'bc63edbea7a3b069774fc0b8766983f570479501', class: "duet-date-dialog-buttons" }, h("duet-action-button", { key: 'e3cb3ade86eeedbaf914d104ce9b638109708eb6', accessibleLabel: i18n[this.language].prevMonthLabel, actionName: i18n[this.language].prevMonthLabel, class: "duet-date-dialog-prev", onClick: this.handlePreviousMonthClick, disabled: prevMonthDisabled, "icon-name": "action-arrow-left-small" }, text.prevMonthLabel), h("duet-action-button", { key: '3d1b9df7ab5852d770d6c98285b73e002a9f4468', accessibleLabel: i18n[this.language].nextMonthLabel, actionName: i18n[this.language].nextMonthLabel, class: "duet-date-dialog-next", onClick: this.handleNextMonthClick, disabled: nextMonthDisabled, "icon-name": "action-arrow-right-small" }, text.nextMonthLabel))), h(DatePickerMonth, { key: 'fb66dbdf2065a158a265490a6f7c0ace038919d5', selectedDate: valueAsDate, focusedDate: this.focusedDay, onDateSelect: this.handleDaySelect, onKeyboardNavigation: this.handleKeyboardNavigation, labelledById: this.dialogLabelId, language: this.language, theme: this.theme, min: minDate, max: maxDate, focusedDayRef: element => (this.focusedDayNode = element), onFocusEnter: this.enableActiveFocus, onFocusExit: this.disableActiveFocus })), h(FocusGuard, { key: 'b40a59659930ae4a47fb6d8dd45f334e5fcdf026', moveFocusTo: this.closeButtonNode }))));
902
898
  }
903
899
  get element() { return getElement(this); }
904
900
  static get watchers() { return {
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, g as getElement, H as Host } from './index-FlJJ5tdo.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-r_Tw1vqr.js';
6
- import { g as getColorByName } from './token-utils-D46K_pN4.js';
7
- import './tokens.module-D84A7Xf6.js';
4
+ import { r as registerInstance, h, g as getElement, H as Host } from './index-Cwhi6_oZ.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
6
+ import { g as getColorByName } from './token-utils-B0KAgyj_.js';
7
+ import './tokens.module-DEzE2U5T.js';
8
8
 
9
9
  const duetDividerCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:block;width:100%}.duet-divider{-webkit-user-select:none;user-select:none;display:block;width:100%;height:1px;margin-top:var(--divider-margin, 36px) !important;margin-right:var(--divider-margin, 0);margin-bottom:var(--divider-margin, 28px);margin-left:var(--divider-margin, 0);background:rgb(212, 223, 229)}.duet-divider.duet-p-0{padding:0 !important}.duet-divider.duet-m-0{margin:0 !important}.duet-divider.duet-m-s{margin-bottom:16px !important;margin-top:0 !important}.duet-divider.duet-theme-turva{background:rgb(212, 221, 226)}";
10
10
 
@@ -37,7 +37,7 @@ const DuetDivider = class {
37
37
  */
38
38
  render() {
39
39
  const background = getColorByName(this.color);
40
- return (h("div", { key: 'fc0e7562cb30da77115c7a07938f9d586df909d5', class: {
40
+ return (h("div", { key: 'a833c22a31c93caea94753696848ad720b5dc06d', class: {
41
41
  "duet-m-0": this.margin === "none",
42
42
  "duet-m-s": this.margin === "small",
43
43
  "duet-divider": true,
@@ -72,7 +72,7 @@ const DuetSpacer = class {
72
72
  * Always the last one in the class.
73
73
  */
74
74
  render() {
75
- return (h(Host, { key: '7fc6e73749913f00710655bd9f3245417e7ea2d4', class: {
75
+ return (h(Host, { key: 'f2f4fa377c08b91ba94544d234bc8ab55c8b35b5', class: {
76
76
  "duet-spacer": true,
77
77
  "duet-spacer-xx-small": this.breakpoint === "xx-small",
78
78
  "duet-spacer-x-small": this.breakpoint === "x-small",
@@ -1,16 +1,16 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h, r as registerInstance, c as createEvent, H as Host, g as getElement, F as Fragment } from './index-FlJJ5tdo.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-r_Tw1vqr.js';
4
+ import { h, r as registerInstance, c as createEvent, H as Host, g as getElement, F as Fragment } from './index-Cwhi6_oZ.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
6
6
  import { f as fieldSorter, d as debounce } from './js-utils-BlUsLmbQ.js';
7
7
  import { i as isKeyboardClick } from './keyboard-utils-Db8rvjPI.js';
8
- import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString, s as sanitizeString } from './language-utils-D6DmVtHY.js';
9
- import { q as spaceLarge, r as fontFamilyText, p as fontSizeMedium, u as colorSecondary, v as fontWeightSemiBold, w as lineHeightSmall, x as colorGrayDarker, y as spaceMedium, z as spaceXxSmall, A as colorGrayLightest, f as mediaQueryXSmall, B as spaceSmall, C as colorGrayLight, D as fontFamilyTextTurva, E as colorTurvaGray900, F as colorGrayDarkTurva, G as colorSecondaryTurva, H as colorGrayLightTurva, I as colorGrayDarkerTurva, j as colorPrimary, s as sizeHeader, J as sizeNavigation } from './tokens.module-D84A7Xf6.js';
10
- import { b as breakpointTokensUpTo, a as breakpointToToken } from './token-utils-D46K_pN4.js';
8
+ import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString, s as sanitizeString } from './language-utils-LZh-sc2s.js';
9
+ import { q as spaceLarge, r as fontFamilyText, p as fontSizeMedium, u as colorSecondary, v as fontWeightSemiBold, w as lineHeightSmall, x as colorGrayDarker, y as spaceMedium, z as spaceXxSmall, A as colorGrayLightest, f as mediaQueryXSmall, B as spaceSmall, C as colorGrayLight, D as fontFamilyTextTurva, E as colorTurvaGray900, F as colorGrayDarkTurva, G as colorSecondaryTurva, H as colorGrayLightTurva, I as colorGrayDarkerTurva, j as colorPrimary, s as sizeHeader, J as sizeNavigation } from './tokens.module-DEzE2U5T.js';
10
+ import { b as breakpointTokensUpTo, a as breakpointToToken } from './token-utils-B0KAgyj_.js';
11
11
  import { c as createID } from './create-id-Cfr_DJqU.js';
12
12
  import { p as parsePossibleJSON } from './string-utils-C6E9F6QT.js';
13
- import { a as getError, g as getI18nError } from './errorcodes.utils-DFNtyigo.js';
13
+ import { a as getError, g as getI18nError } from './errorcodes.utils-CqW0-HM8.js';
14
14
 
15
15
  //simple functional component that renders the data in the table
16
16
  const TableData = ({ data, groupId, alignment }, _children) => {
@@ -227,7 +227,7 @@ const DuetEditableTable = class {
227
227
  * Render Methods
228
228
  */
229
229
  render() {
230
- return (h(Host, { key: '5b1b28e6321b07a1d385c1945f15b0c110a8b068', class: {
230
+ return (h(Host, { key: 'a0c3202194fcc3910b50193f2a4fcb3bd7d3a5d8', class: {
231
231
  [`duet-editable-table-${this.variation}`]: true,
232
232
  "duet-editable-table": true,
233
233
  [`duet-editable-table-${this.theme}`]: true,
@@ -237,7 +237,7 @@ const DuetEditableTable = class {
237
237
  "duet-editable-table-actions": !!this.actions,
238
238
  "duet-m-0": this.margin === "none",
239
239
  "duet-theme-turva": this.theme === "turva",
240
- } }, h("duet-table", { key: '47a4b4e9d3acf3ca83e70c1aa4e7758e1f6cbbbe', class: "duet-editable-table-table", sticky: this.sticky, stickyDistance: this.stickyDistance, margin: this.margin, theme: this.theme, variation: this.variation, breakpoint: this.breakpoint, "hide-head-visually": this.hideHeadVisually }, h("table", { key: '975344f17b9271b8ffa4264751aa2dae69279f45', role: this.accessibleRole }, h("caption", { key: 'e9039bfd4c5bf90f96856d13d993be7f13fa2d73' }, h("slot", { key: '38a7cd2c82e45ebcc080e1e20f3f77aa2a46973d', name: "tcaption" })), h("thead", { key: 'c4a02a18bfae96669f45328f6198dc52f43dd887' }, this.hasHeadSlotFirst && (h("tr", { key: 'af846dfeba040ddec43065803327195bea76a404' }, h("td", { key: 'c002827f8c8c6cce8d8d4415c80e4f39d4bb1ed6', class: "duet-editable-table-actions-menu", colSpan: 99 }, h("slot", { key: '5673bc937f4bc87b67f6112f59a1981ff7f02c79', name: "thead-first" })))), this.renderTableHeader(), this.hasHeadSlotLast && (h("tr", { key: '79a45db93db0d6e5e35aade928f23032efdb821b' }, h("td", { key: 'fddd1434bf5a20188be229e5c3d9bde03b8d8dca', class: "duet-editable-table-actions-menu", colSpan: 99 }, h("slot", { key: '53b1ea3494b7e0f39426232f922a040eacf3a0f0', name: "thead-last" }))))), h("tbody", { key: 'b5d38eed528592d29f64f749e1938d0ff5b772b3' }, this.renderTableBody()), this.hasFootSlot && (h("tfoot", { key: 'e2ef34f7d078a7ac7b4a38cd5953b449ce682a23' }, h("tr", { key: '9f2a92be2f425c419abd5fa1a0a7fb763cc0426b' }, h("td", { key: 'da2eeda1f65004cc2c197dad36038dc4a60c2e8e', class: "duet-editable-table-footer-menu", colSpan: 99 }, h("slot", { key: '988c400cb8046f0544293b8e1555f7b213f9def6', name: "tfoot" })))))))));
240
+ } }, h("duet-table", { key: '6e53631c212527e8702f9e9c8a1b9bc2b390c830', class: "duet-editable-table-table", sticky: this.sticky, stickyDistance: this.stickyDistance, margin: this.margin, theme: this.theme, variation: this.variation, breakpoint: this.breakpoint, "hide-head-visually": this.hideHeadVisually }, h("table", { key: '990481c1affeb11d6a6541a36a8f0118c961915c', role: this.accessibleRole }, h("caption", { key: 'f7b1bc44ab9fef0194485fdd6e49e11a306e365c' }, h("slot", { key: '2caecec6e5c024bdde6fa6bf72917914e2626752', name: "tcaption" })), h("thead", { key: 'c892dcd586814dcecddc46fbaf0319b04b6d9f16' }, this.hasHeadSlotFirst && (h("tr", { key: 'bfbac21dbab8afab7f34e952bd5803954be4991d' }, h("td", { key: '0a491ed1c4855d55b4dbc493a52029d657a08cc5', class: "duet-editable-table-actions-menu", colSpan: 99 }, h("slot", { key: '87c033e72a1bd3b87a51a4981b1b4939de66578d', name: "thead-first" })))), this.renderTableHeader(), this.hasHeadSlotLast && (h("tr", { key: '2ab66f9b14fe592f7ee7e6293cdd56b3aed0190e' }, h("td", { key: 'edb3ae066371b6f5dc990f10f088246c0d9388d9', class: "duet-editable-table-actions-menu", colSpan: 99 }, h("slot", { key: 'f57ebf07ee01c40cb47469b2fa07a706c4724dae', name: "thead-last" }))))), h("tbody", { key: '538b2de606132fcb272e5af1650cafb947fc5b2a' }, this.renderTableBody()), this.hasFootSlot && (h("tfoot", { key: '2f1a98dd550705933222f7179bc3ff4d6554d117' }, h("tr", { key: 'ecb9667d57ea85de7efa6fa0035fbfbb16c78a9e' }, h("td", { key: 'c78b25495de0621c55f70cce5131b1d192fc5e0e', class: "duet-editable-table-footer-menu", colSpan: 99 }, h("slot", { key: 'ed051b0e66c28fdbee565b33c1c394034a817a82', name: "tfoot" })))))))));
241
241
  }
242
242
  get element() { return getElement(this); }
243
243
  };
@@ -882,7 +882,7 @@ const DuetTable = class {
882
882
  });
883
883
  }
884
884
  render() {
885
- return (h(Host, { key: 'fda81d8548a6180298f6e227832f9c7105a68736', class: {
885
+ return (h(Host, { key: '02ed0a7f4b3c7504b0f6df2ee9e923f5afbca106', class: {
886
886
  [`duet-table-${this.variation}`]: true,
887
887
  "duet-table-flattened": !this.matchesBreakpoint,
888
888
  // sticky only valid when in regular table layout
@@ -891,7 +891,7 @@ const DuetTable = class {
891
891
  "duet-m-0": this.margin === "none",
892
892
  "duet-theme-turva": this.theme === "turva",
893
893
  "duet-table-hide-head-visually": this.hideHeadVisually,
894
- } }, h("slot", { key: 'ac3ae69d0a1141e1feacd1bdf8fb3ba9e9e89080' })));
894
+ } }, h("slot", { key: '946a620f959caf19dc712844d81ebc345870757d' })));
895
895
  }
896
896
  get element() { return getElement(this); }
897
897
  static get watchers() { return {
@@ -2149,10 +2149,10 @@ const DuetUpload = class {
2149
2149
  this.externalUploadButton.accessibleLabel = `${this.externalUploadButton.innerText}. ${caption}`;
2150
2150
  }
2151
2151
  // @ts-ignore
2152
- return (h(Host, { key: '027dcff01c8c5aef8445a0ed996aa5ad3e854b5e', class: { "duet-m-0": this.margin === "none" } }, h("duet-fieldset", { key: '47ed56bd728ba7c100e5d68dd71f727b6e6b2a4d', "label-heading-level": this.headerHeadingLevel, "label-hidden": this.hideHeader, label: this.label }, h("slot", { key: '63328b6f03549224f711b858cbb5e95665bbdef9', name: "header" }), !this.files.size && (h("duet-empty-state", { key: '88492085957485c18c6ba40b767b87c89ff89fd2', id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, h("duet-paragraph", { key: '2cbe2581b60800f93dafe93e63c67d9ac826737c', margin: "none" }, this.fileListEmpty))), !!this.files.size && h("slot", { key: '2bf2901abf2934c09cfeca8514ddfec09f48e82a', name: "fileheader" }), !!this.files.size && (h("duet-upload-aria-status", { key: '2ac21565dbd47cfbf9954b03e4404c018871c85c', invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderUploadedItems(), !!this.files.size && h("slot", { key: '7eb58ca2a63237ee9d22f4ce8136c7bf4bd90f41', name: "filefooter" }), h("slot", { key: '36bc35eb74e40102333469dadda4ac75a77ebd90', name: "uploadfooter" }), this.captionOnBottom && (h("duet-caption", { key: 'c6465f63ef97ab6cb78af308da6c4c2528b911e0', margin: "none", size: "small" }, h("div", { key: 'd189b328248cf862a920d1e542a18546b0b76b94', class: "upload-bottom-caption" }, caption))), h("slot", { key: '87c92c6cac9b662315a12218e848a54b74094cec', name: "afterfooter" }), !this.hideButton && (h(Fragment, { key: '89ba989869f8286e58f01704ef5339ab23106761' }, h("duet-spacer", { key: '5c4dc126f197421e5c62edf556f9ef967df4cf89', size: "large" }), h("duet-button", { key: '67c4e90266831664dbd7aae7fb1792460013cee3', id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel || `${this.buttonLabel}. ${caption}`, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel))), (this.fileMaxReached ||
2152
+ return (h(Host, { key: '855e27e55645747625669bf080e6f65423b9bbf0', class: { "duet-m-0": this.margin === "none" } }, h("duet-fieldset", { key: '89d6b1b88260ccb7ffa2f4a3130fdf74d904e048', "label-heading-level": this.headerHeadingLevel, "label-hidden": this.hideHeader, label: this.label }, h("slot", { key: '10b9cdc44bd94871f538a9299ea6252f4375a864', name: "header" }), !this.files.size && (h("duet-empty-state", { key: '924905b1aafa76175b93f12dd6e7d7ac8ac5b5e3', id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, h("duet-paragraph", { key: 'f744c2afdb520cd0e69a15c0a942f6ecd8e30b75', margin: "none" }, this.fileListEmpty))), !!this.files.size && h("slot", { key: 'da55dafcb732e24b895185995040decfe40382c6', name: "fileheader" }), !!this.files.size && (h("duet-upload-aria-status", { key: '199e78733f262f857124540bbd055e7c6cbcaf6a', invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderUploadedItems(), !!this.files.size && h("slot", { key: 'd6327694548a1ee39188af3935c67d0a6eaead79', name: "filefooter" }), h("slot", { key: '718e1e5d1f7041d2d596ada75a717942b74999f6', name: "uploadfooter" }), this.captionOnBottom && (h("duet-caption", { key: 'd15f3fd09b07de11dc1f725bc9ee344889b6445f', margin: "none", size: "small" }, h("div", { key: '1e4e1c3a29338fa3339cd2de701ba3c776c1166a', class: "upload-bottom-caption" }, caption))), h("slot", { key: '90f1e8de4c8359df2b8dded1bf5211857ce48a79', name: "afterfooter" }), !this.hideButton && (h(Fragment, { key: '431fb04536068eefdf974fc34f89f56e712674c9' }, h("duet-spacer", { key: 'c98d3f3e0f06d17b1b86ab40486a663ef8c6a75e', size: "large" }), h("duet-button", { key: '1f057848bdacb5e69ef63e2bfdc81e216271f455', id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel || `${this.buttonLabel}. ${caption}`, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel))), (this.fileMaxReached ||
2153
2153
  this.bytesMaxReached ||
2154
2154
  this.filesToUploadExceedsLimit ||
2155
- this.filesToUploadTotalSizeIsAboveMax) && (h(Fragment, { key: '2984ff475257e2ed17b964aa6113e6592809996a' }, h("duet-spacer", { key: '3400a7c832dceb6f04c6a1efc9f69bc764004cc7', size: "medium" }), h("duet-alert", { key: '22bb6896cec80f0468dd34bb2ff29d20ccb474a9', part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes), this.filesToUploadExceedsLimit && getI18nError("duet-upload-302", this.errorCodes), this.filesToUploadTotalSizeIsAboveMax && getI18nError("duet-upload-203", this.errorCodes)))), h("duet-visually-hidden", { key: 'f6871858e8e2e13839f9898cf340951616c81595', "aria-hidden": "true" }, h("input", { key: 'faa902cc6425f28c15c89a0f95c1c7ce69ec8b6b', ref: input => {
2155
+ this.filesToUploadTotalSizeIsAboveMax) && (h(Fragment, { key: '8169162805d7ec3a093344e09a4bd9241c1b9c58' }, h("duet-spacer", { key: '0f6500a4ada6c4b3c73f6524bf224ee1d79f0ae6', size: "medium" }), h("duet-alert", { key: '8bbc63eb777fa98ff0f797d970d66835ac6155a5', part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes), this.filesToUploadExceedsLimit && getI18nError("duet-upload-302", this.errorCodes), this.filesToUploadTotalSizeIsAboveMax && getI18nError("duet-upload-203", this.errorCodes)))), h("duet-visually-hidden", { key: '5fb70459ca757cc24041ce6e01414165ba6497b5', "aria-hidden": "true" }, h("input", { key: '808b15c23e12cf691f85e48e1a03106409b81565', ref: input => {
2156
2156
  this.nativeInput = input;
2157
2157
  }, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
2158
2158
  "duet-upload": true,
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-FlJJ5tdo.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-r_Tw1vqr.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-Cwhi6_oZ.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
6
6
 
7
- const duetEmptyStateCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:block;width:100%;height:100%}.duet-empty-state{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%;padding:48px;color:rgb(8, 42, 77);text-align:center;background:rgb(245, 248, 250);border-radius:4px}.duet-empty-state.duet-theme-turva{color:rgb(23, 42, 59);background:rgb(245, 246, 247)}";
7
+ const duetEmptyStateCss = "*,\n*::after,\n*::before {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n}\n\n:host {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.duet-empty-state {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n width: 100%;\n height: 100%;\n padding: 48px;\n color: rgb(8, 42, 77);\n text-align: center;\n background: rgb(245, 248, 250);\n border-radius: 12px;\n}\n.duet-empty-state.padding-small {\n padding: 36px;\n}\n.duet-empty-state.padding-large {\n padding: 72px;\n}\n.duet-empty-state.warning {\n background: rgb(255, 247, 221);\n}\n.duet-empty-state.duet-no-background {\n background: none;\n}\n.duet-empty-state > div {\n max-width: 800px;\n margin: auto;\n}\n.duet-empty-state .duet-empty-state-heading {\n font-size: 4vw;\n font-family: \"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 600;\n line-height: 1.25;\n color: rgb(8, 42, 77);\n letter-spacing: 0;\n}\n@media (max-width: 27.5rem) {\n .duet-empty-state .duet-empty-state-heading {\n font-size: 1.1rem;\n }\n}\n@media (min-width: 28.4090909091rem) {\n .duet-empty-state .duet-empty-state-heading {\n font-size: 1.1363636364rem;\n }\n}\n@container (width < 576px) {\n .duet-empty-state {\n padding: 36px;\n }\n .duet-empty-state.padding-small {\n padding: 28px;\n }\n .duet-empty-state.padding-large {\n padding: 48px;\n }\n}\n\n.duet-theme-turva.duet-empty-state {\n color: rgb(23, 42, 59);\n}\n.duet-theme-turva.duet-empty-state:not(.warning):not(.duet-no-background) {\n background: rgb(245, 246, 247);\n}\n.duet-theme-turva.duet-empty-state .duet-empty-state-heading {\n font-family: \"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-weight: 700;\n color: rgb(23, 42, 59);\n}";
8
8
 
9
9
  const DuetEmptyState = class {
10
10
  constructor(hostRef) {
@@ -14,9 +14,26 @@ const DuetEmptyState = class {
14
14
  */
15
15
  this.theme = "";
16
16
  /**
17
- * Icon shown in the empty state component.
17
+ * The variation of the empty state component. Use "warning" when the empty state is due to an error.
18
+ */
19
+ this.variation = "default";
20
+ /**
21
+ * Set background to "none" when no background is wanted, e.g. inside a table.
22
+ */
23
+ this.background = "auto";
24
+ /**
25
+ * Icon shown in the empty state component. For warning variation a status icon is always used.
26
+ * Use value "none" for no icon at all.
18
27
  */
19
28
  this.icon = "messaging-question";
29
+ /**
30
+ * Heading to show above the component content
31
+ */
32
+ this.heading = "";
33
+ /**
34
+ * Padding of the empty state component
35
+ */
36
+ this.padding = "medium";
20
37
  /**
21
38
  * The size of the empty state message.
22
39
  */
@@ -28,16 +45,25 @@ const DuetEmptyState = class {
28
45
  componentWillLoad() {
29
46
  inheritGlobalTheme(this);
30
47
  }
48
+ getIcon() {
49
+ const size = this.size === "small" ? "large" : "x-large";
50
+ if (this.variation === "warning") {
51
+ return h("duet-status-icon", { variation: "warning", size: size, strong: true });
52
+ }
53
+ return h("duet-icon", { color: "currentColor", name: this.icon, size: size });
54
+ }
31
55
  /**
32
56
  * render() function
33
57
  * Always the last one in the class.
34
58
  */
35
59
  render() {
36
- return (h(Host, { key: '6b61854be0ee8b668d513de66e117b928cb4671b' }, h("div", { key: '62ab8dddad16464e202f9225d080cee855a8193d', class: {
60
+ return (h(Host, { key: '83c41a104ebe8f29f18a2d0754a822981edd2204' }, h("div", { key: 'c2b928a204ec58089c46368f0e7a73f2f6880633', class: {
37
61
  "duet-empty-state": true,
62
+ [this.variation]: true,
63
+ [`padding-${this.padding}`]: true,
38
64
  "duet-theme-turva": this.theme === "turva",
39
- "duet-is-small": this.size === "small",
40
- } }, h("duet-icon", { key: '237ea5cd85e1be42a856c7b30e14022bb4cd824e', color: "currentColor", name: this.icon, size: this.size === "small" ? "large" : "x-large" }), h("div", { key: '9bb0471dfd59d78fc51b71eccce4830d47506a42' }, h("slot", { key: 'cdf540cdcc74733367bfc04d13ec9659bd2adb52' })))));
65
+ "duet-no-background": this.background === "none",
66
+ } }, this.icon !== "none" && this.getIcon(), this.heading && (h("div", { key: '8b6f183f2022ef6a5d00b93cb4b345d93e310d45' }, h("strong", { key: 'fd7369964488e3821b00cbf3493fa873ee5a969e', class: "duet-empty-state-heading" }, this.heading), h("duet-spacer", { key: '7b96f48b9587efa581fc84b2205a32e839e03ee7', size: "x-small" }))), h("div", { key: 'ea6a1f4c70a824c705e8f644f8e58f9768db8317' }, h("slot", { key: '77c8aa58fa27abf0635ea22f22fd7d5c06d151dc' })))));
41
67
  }
42
68
  get element() { return getElement(this); }
43
69
  };
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-FlJJ5tdo.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-r_Tw1vqr.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-Cwhi6_oZ.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
6
6
  import { c as createID } from './create-id-Cfr_DJqU.js';
7
- import { h as hasSlot } from './slot-utils-CNDJ1X0N.js';
7
+ import { h as hasSlot } from './slot-utils-CEZnAp61.js';
8
8
 
9
9
  const duetFieldsetCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;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;border:0 !important;clip:rect(1px, 1px, 1px, 1px) !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(8, 42, 77);text-align:left;background:transparent}.duet-legend-wrapper.duet-legend-compact:not(.duet-legend-has-caption){line-height:1.25}.duet-fieldset-label{margin-bottom:12px !important;display:flex;margin-top:8px}.duet-legend-has-caption .duet-fieldset-label{margin-bottom:6px !important}@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(214, 28, 82);border-radius:4px}.duet-fieldset-help span{display:block;margin-top:12px}.duet-fieldset-help span.duet-m-0{margin-top:0}.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(214, 28, 82)}::slotted(duet-tooltip){position:relative;top:4px}.duet-legend-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.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, 42, 59)}.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(214, 28, 82)}";
10
10
 
@@ -75,20 +75,20 @@ const DuetFieldset = class {
75
75
  * Always the last one in the class.
76
76
  */
77
77
  render() {
78
- return (h(Host, { key: 'ac0f503ac6d41953e774ad46b418c8ea39ff4708', class: { "duet-m-0": this.margin === "none" } }, h("fieldset", { key: 'b564273ca16fac8fbb500ab8bfc9dff72e579770', "aria-labelledby": this.labelId, "aria-describedby": this.error ? this.errorId : null,
78
+ return (h(Host, { key: 'e1a788de39eaef07a1abaa996870dd726b226aee', class: { "duet-m-0": this.margin === "none" } }, h("fieldset", { key: 'e7d2b6ecb24666f6a563d4923bb228bdf7e8820d', "aria-labelledby": this.labelId, "aria-describedby": this.error ? this.errorId : null,
79
79
  // NVDA and VoiceOver do not yet support aria-errormessage
80
80
  // once they do, we can remove errors from the aria-describedby
81
81
  // aria-errormessage={this.error ? this.errorId : null}
82
82
  class: {
83
83
  "duet-fieldset": true,
84
84
  "duet-theme-turva": this.theme === "turva",
85
- } }, h("legend", { key: '607df92d8f78aaad01e4c80e33c17da55a52e20f', id: this.labelId }, h(this.labelHeadingLevel, { key: '33cee42411e380076885a046790cb8006088c5ed' }, this.label), this.caption && h("span", { key: '52c809bbe842c11a84e7d1a5c3083bfe92472d36' }, this.caption)), h("div", { key: 'aa297b27900d3a28a48bf8102b75e900896393ff', class: {
85
+ } }, h("legend", { key: '9412c1763b18075c6c6d585389c3ac9d22542f64', id: this.labelId }, h(this.labelHeadingLevel, { key: '9c1c5cfef779deef96e68e7f3760f0eeec8d347a' }, this.label), this.caption && h("span", { key: 'd166f280495ee9e156e705fe52455b18c5a13ea2' }, this.caption)), h("div", { key: 'e390d201c421bbd2086946b4548dc98d5c58fead', class: {
86
86
  "duet-legend-wrapper": true,
87
87
  "duet-legend-has-caption": !!this.caption,
88
88
  "duet-legend-has-tooltip": this.hasTooltip,
89
89
  "duet-legend-hidden": this.labelHidden,
90
90
  "duet-legend-compact": this.compactLabel,
91
- } }, h("div", { key: '3af22b271c143a074adee18554408291e3faa660', class: "duet-fieldset-label" }, h("span", { key: '939a883743e233ba83e8ff3328b18842b0c4eae4', "aria-hidden": "true" }, this.label), h("slot", { key: '822892f650b6c0f733cc58a1aee1654e21d1f1f6', onSlotchange: this.checkHasTooltip, name: "tooltip" })), this.caption && (h("div", { key: 'bc40348b978fc775d1007cdf3949e95d4d3b54e0', class: "duet-fieldset-caption", "aria-hidden": "true" }, h("duet-caption", { key: '3119b1a7963015c24d6324d5de47fc53cdfd748e', theme: this.theme, margin: "none" }, this.caption)))), h("slot", { key: 'fa922540a117205680098064372a70aefc0953ae' }), h("span", { key: 'ad8d4d59379d7a9f89e618754d46404eb5c3c664', class: "duet-fieldset-help duet-fieldset-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: 'c36abae3849393120d72e3781305cb2ce88b384c', class: { "duet-m-0": this.lastItemIsChip } }, this.error)))));
91
+ } }, h("div", { key: '10861fb7ec43cc4aec34ae9b04b1b191dd7a0d5c', class: "duet-fieldset-label" }, h("span", { key: '63b295dc887c75eb4bc062d214bb5b6a899e0f83', "aria-hidden": "true" }, this.label), h("slot", { key: 'dc154b5f9980e99c525884e32f7811e36fe634fc', onSlotchange: this.checkHasTooltip, name: "tooltip" })), this.caption && (h("div", { key: '1803a70997b3d2de928d501cfb86864bfa3af614', class: "duet-fieldset-caption", "aria-hidden": "true" }, h("duet-caption", { key: 'c574d64b9a375d0af50bc0bed35ea0418139f579', theme: this.theme, margin: "none" }, this.caption)))), h("slot", { key: '48665d8be4d66036d4d69090d7a98ee01f99dbac' }), h("span", { key: '9815f8bf073a39267673baf538de5908b52758e9', class: "duet-fieldset-help duet-fieldset-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: '93bfa1f3fb33cf3bc23055948b416a18369b8497', class: { "duet-m-0": this.lastItemIsChip } }, this.error)))));
92
92
  }
93
93
  get element() { return getElement(this); }
94
94
  };
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-FlJJ5tdo.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-r_Tw1vqr.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-Cwhi6_oZ.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
6
6
 
7
7
  const duetFileChooserCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.container{display:flex;flex-direction:row;gap:8px;align-items:center}.container .label{margin-bottom:8px}";
8
8
 
@@ -53,7 +53,7 @@ const DuetUploadItem = class {
53
53
  inheritGlobalTheme(this);
54
54
  }
55
55
  render() {
56
- return (h(Host, { key: '70aa98d57c2361a70abfd51e859679df65f68027' }, h("duet-visually-hidden", { key: '1c4899794b06709d24d5ff412141bf0e3714a8cb', "aria-hidden": "true" }, h("input", { key: 'ec3827c684ffbb3a4299720ef07f4c8590d0d6ed', ref: input => {
56
+ return (h(Host, { key: '96ed40ea2f9ae846c2ad9654c04511e312933fcd' }, h("duet-visually-hidden", { key: '2092c91fbf71c47a422748e27741c8a2695d4d5f', "aria-hidden": "true" }, h("input", { key: '1e83b554493c852b23e14bd801f8c48a42c8790e', ref: input => {
57
57
  this.nativeInput = input;
58
58
  }, type: "file", class: {
59
59
  "duet-upload": true,
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent$1, h, F as Fragment, g as getElement } from './index-FlJJ5tdo.js';
4
+ import { r as registerInstance, c as createEvent$1, h, F as Fragment, g as getElement } from './index-Cwhi6_oZ.js';
5
5
  import { n as newWindowIcon } from './action-new-window-small-EH8_HdAm.js';
6
6
  import { a as DuetStringsExternalDefaults } from './common-strings-8RjiAqaE.js';
7
- import { i as inheritGlobalTheme } from './themeable-component-r_Tw1vqr.js';
7
+ import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
8
8
  import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './keyboard-utils-Db8rvjPI.js';
9
- import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-D6DmVtHY.js';
10
- import { h as hasSlot } from './slot-utils-CNDJ1X0N.js';
9
+ import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-LZh-sc2s.js';
10
+ import { h as hasSlot } from './slot-utils-CEZnAp61.js';
11
11
  import { p as parsePossibleJSON } from './string-utils-C6E9F6QT.js';
12
12
  import './_commonjsHelpers-DvwKrUS6.js';
13
13
 
@@ -165,16 +165,16 @@ const DuetFooter = class {
165
165
  render() {
166
166
  const text = getLocaleString(i18n, this.language);
167
167
  const copyrightLabel = this.theme === "turva" ? text.turva : text.lahi;
168
- return (h("footer", { key: 'a1f13a9e8d015c33626dc35acfbac299d5d798b8', class: {
168
+ return (h("footer", { key: '803a027abb0c9d387f880a40cf4fa48cfdc96ab0', class: {
169
169
  "duet-footer": true,
170
170
  "duet-m-0": this.margin === "none",
171
171
  "duet-theme-turva": this.theme === "turva",
172
172
  "duet-footer-simple": this.variation === "simple",
173
- }, "aria-label": this.accessibleLabel }, h("div", { key: '48ff4a3d5e8df21215a409def47ead6f70f697fa', class: "duet-footer-wrapper" }, this.variation !== "simple" && (h("div", { key: 'a0cc027a05d4c054e0f99c2c2ad3fb6b34a58873', class: {
173
+ }, "aria-label": this.accessibleLabel }, h("div", { key: '46da624a2ea71bc94e7029110f2aa4b264e21a0b', class: "duet-footer-wrapper" }, this.variation !== "simple" && (h("div", { key: 'bb5d3de968dc4d893e002294a3ab5106ca3676ad', class: {
174
174
  "duet-footer-top": true,
175
175
  "duet-has-info": this.hasInfoSlot,
176
- }, part: "top" }, h("div", { key: '3724f9ef6f0af6ca9812b4c9c2854209a80cb38b', class: "footer-top-logo" }, h("duet-logo", { key: '10e4b82fa2f117f130a2458a64249d36b5f99564', href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })), h("div", { key: '40ceb56a8366b96d5a9afc572984ff027249cfd0', class: "footer-top-right-container" }, h("slot", { key: 'e3f21c2f91e64c844a95d40344104e8aff352013', name: "info" }), h("div", { key: 'a2c5b4d2dad3aa29116a8fe5d2bd4525b6a6ad5c', class: "footer-top-items" }, this.processedItems &&
177
- this.processedItems.map((item, index) => (h(Fragment, null, index > 0 && h("duet-spacer", { size: "x-large", direction: "horizontal" }), h("duet-button", { ref: element => this.setDataAttributes(element, item), theme: this.theme, id: item.id, class: "duet-footer-link", variation: "plain", margin: "none", fixed: true, negative: true, url: item.href, external: item.external, icon: this.getTopItemButtonIcon(item), "icon-right": !this.isMessagingLink(item.href), "icon-size": this.isMessagingLink(item.href) ? "medium" : "medium-small", onClick: event => this.handleItemClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label)))))))), h("slot", { key: '0058cff0a643b85a2373c0b2633f5d8d293cf639', name: "extra" }), h("p", { key: '6e0623c40daaab7ecf2ba1abb3e6f5935bac445b', class: "duet-footer-menu", part: "menu" }, h("span", { key: 'abb2319d06c15e6d423337f75f713e835188c326', class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), h("span", { key: 'f0b19fd6cc3da55c0519ab7e499f9d24df20ebc8', class: "duet-footer-menu-links" }, this.processedMenu && (h(Fragment, { key: '308c16b052419e8570fe7e39a5708f45bb58a00d' }, this.processedMenu.map(item => (h("a", { ref: element => this.setDataAttributes(element, item), href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.external && (h(Fragment, null, h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h("span", { class: "duet-footer-external" }, h("duet-icon", { icon: newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" })))), h("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/")))))))), h("p", { key: '6308d6f3a762e1945a197a58efa9536c82412fdc', class: "duet-footer-copyright duet-footer-copyright-mobile" }, `${copyrightLabel} ${new Date().getFullYear()}`))));
176
+ }, part: "top" }, h("div", { key: 'a3c27f3c9fbf54263b0e632307fe2ed39aeb9e46', class: "footer-top-logo" }, h("duet-logo", { key: '5f7440b81f78389724830f3e843c71de140ae05d', href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })), h("div", { key: 'f0a8b5cdda02fbd0fbff1015320572900e12a16e', class: "footer-top-right-container" }, h("slot", { key: '2c9e48c0350b76dbb74c59cfbca727d1c579b7a5', name: "info" }), h("div", { key: '4df2f42f2dc49b084a94de90de892adac97866c9', class: "footer-top-items" }, this.processedItems &&
177
+ this.processedItems.map((item, index) => (h(Fragment, null, index > 0 && h("duet-spacer", { size: "x-large", direction: "horizontal" }), h("duet-button", { ref: element => this.setDataAttributes(element, item), theme: this.theme, id: item.id, class: "duet-footer-link", variation: "plain", margin: "none", fixed: true, negative: true, url: item.href, external: item.external, icon: this.getTopItemButtonIcon(item), "icon-right": !this.isMessagingLink(item.href), "icon-size": this.isMessagingLink(item.href) ? "medium" : "medium-small", onClick: event => this.handleItemClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label)))))))), h("slot", { key: '51d5f56fe14519205709b1cb02bcfa1b87e6a3c2', name: "extra" }), h("p", { key: '3e2b620a21d109d0f4119d5b2a8a1a5c1404ec5c', class: "duet-footer-menu", part: "menu" }, h("span", { key: '9a5becef9ceb454715ee6f560e3f9df8ae72357a', class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), h("span", { key: '34b3c5e0d44b6a0497b7983ddde14380175618cc', class: "duet-footer-menu-links" }, this.processedMenu && (h(Fragment, { key: 'd7defe3bd130ba7fb71731f71860351dbca3d726' }, this.processedMenu.map(item => (h("a", { ref: element => this.setDataAttributes(element, item), href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.external && (h(Fragment, null, h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h("span", { class: "duet-footer-external" }, h("duet-icon", { icon: newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" })))), h("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/")))))))), h("p", { key: '4c708db5c94a113edcda458bd9375cdb382a3237', class: "duet-footer-copyright duet-footer-copyright-mobile" }, `${copyrightLabel} ${new Date().getFullYear()}`))));
178
178
  }
179
179
  get element() { return getElement(this); }
180
180
  static get watchers() { return {