@duetds/components 8.0.6 → 8.1.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 (1195) hide show
  1. package/hydrate/index.d.ts +2 -2
  2. package/hydrate/index.js +19099 -17881
  3. package/lib/cjs/app-globals-cd75f624.js +54 -0
  4. package/lib/cjs/{common-strings-86913e94.js → common-strings-22c70ef0.js} +6 -6
  5. package/lib/cjs/create-id-1f8c438f.js +13 -0
  6. package/lib/cjs/duet-action-button.cjs.entry.js +133 -133
  7. package/lib/cjs/duet-alert.cjs.entry.js +106 -106
  8. package/lib/cjs/duet-badge.cjs.entry.js +29 -29
  9. package/lib/cjs/duet-banner.cjs.entry.js +52 -52
  10. package/lib/cjs/duet-breadcrumb.cjs.entry.js +41 -41
  11. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +51 -51
  12. package/lib/cjs/duet-button_2.cjs.entry.js +229 -229
  13. package/lib/cjs/duet-callout.cjs.entry.js +28 -28
  14. package/lib/cjs/duet-caption_4.cjs.entry.js +187 -187
  15. package/lib/cjs/duet-card.cjs.entry.js +93 -93
  16. package/lib/cjs/duet-checkbox.cjs.entry.js +85 -85
  17. package/lib/cjs/duet-checkmark.cjs.entry.js +23 -23
  18. package/lib/cjs/duet-chip.cjs.entry.js +182 -182
  19. package/lib/cjs/duet-choice_2.cjs.entry.js +392 -392
  20. package/lib/cjs/duet-collapsible.cjs.entry.js +98 -98
  21. package/lib/cjs/duet-combobox.cjs.entry.js +362 -362
  22. package/lib/cjs/duet-contact-card.cjs.entry.js +49 -49
  23. package/lib/cjs/duet-cookie-consent.cjs.entry.js +35 -35
  24. package/lib/cjs/duet-date-picker.cjs.entry.js +610 -610
  25. package/lib/cjs/duet-divider_2.cjs.entry.js +53 -53
  26. package/lib/cjs/duet-editable-table_3.cjs.entry.js +1247 -1247
  27. package/lib/cjs/duet-empty-state.cjs.entry.js +26 -26
  28. package/lib/cjs/duet-fieldset.cjs.entry.js +50 -50
  29. package/lib/cjs/duet-file-chooser.cjs.entry.js +44 -44
  30. package/lib/cjs/duet-footer.cjs.entry.js +118 -118
  31. package/lib/cjs/duet-grid_2.cjs.entry.js +185 -185
  32. package/lib/cjs/duet-header_2.cjs.entry.js +610 -610
  33. package/lib/cjs/duet-hero.cjs.entry.js +172 -172
  34. package/lib/cjs/duet-icon.cjs.entry.js +141 -141
  35. package/lib/cjs/duet-input_2.cjs.entry.js +346 -346
  36. package/lib/cjs/duet-layout.cjs.entry.js +51 -51
  37. package/lib/cjs/duet-list_2.cjs.entry.js +99 -99
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +70 -70
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +44 -44
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +93 -93
  41. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +58 -58
  42. package/lib/cjs/duet-menu-bar.cjs.entry.js +116 -116
  43. package/lib/cjs/duet-modal.cjs.entry.js +188 -188
  44. package/lib/cjs/duet-multiselect.cjs.entry.js +206 -206
  45. package/lib/cjs/duet-nav.cjs.entry.js +20 -20
  46. package/lib/cjs/duet-notification_2.cjs.entry.js +140 -140
  47. package/lib/cjs/duet-number-input.cjs.entry.js +337 -337
  48. package/lib/cjs/duet-page-heading.cjs.entry.js +26 -26
  49. package/lib/cjs/duet-pagination_2.cjs.entry.js +511 -511
  50. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +62 -62
  51. package/lib/cjs/duet-popup-menu.cjs.entry.js +147 -147
  52. package/lib/cjs/duet-progress.cjs.entry.js +54 -54
  53. package/lib/cjs/duet-promo-card.cjs.entry.js +40 -40
  54. package/lib/cjs/duet-radio_2.cjs.entry.js +197 -197
  55. package/lib/cjs/duet-range-slider.cjs.entry.js +105 -105
  56. package/lib/cjs/duet-scrollable_3.cjs.entry.js +384 -386
  57. package/lib/cjs/duet-section-layout.cjs.entry.js +21 -21
  58. package/lib/cjs/duet-select.cjs.entry.js +156 -156
  59. package/lib/cjs/duet-shaped-image.cjs.entry.js +28 -28
  60. package/lib/cjs/duet-show-more.cjs.entry.js +98 -98
  61. package/lib/cjs/duet-slideout-lang.cjs.entry.js +36 -36
  62. package/lib/cjs/duet-slideout-link.cjs.entry.js +33 -33
  63. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +50 -50
  64. package/lib/cjs/duet-slideout-panel.cjs.entry.js +120 -120
  65. package/lib/cjs/duet-slideout.cjs.entry.js +194 -194
  66. package/lib/cjs/duet-step_2.cjs.entry.js +182 -184
  67. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +36 -36
  68. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +103 -103
  69. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +59 -59
  70. package/lib/cjs/duet-submenu-bar.cjs.entry.js +110 -110
  71. package/lib/cjs/duet-textarea.cjs.entry.js +160 -160
  72. package/lib/cjs/duet-toggle.cjs.entry.js +72 -72
  73. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +35 -35
  74. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +59 -59
  75. package/lib/cjs/duet-toolbar-link.cjs.entry.js +31 -31
  76. package/lib/cjs/duet-toolbar.cjs.entry.js +34 -34
  77. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +98 -80
  78. package/lib/cjs/duet-tooltip.cjs.entry.js +185 -187
  79. package/lib/cjs/duet-tray.cjs.entry.js +82 -82
  80. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +65 -65
  81. package/lib/cjs/duet-upload-item.cjs.entry.js +81 -81
  82. package/lib/cjs/duet-visually-hidden.cjs.entry.js +12 -12
  83. package/lib/cjs/duet.cjs.js +4 -4
  84. package/lib/cjs/errorcodes.utils-a86b1f94.js +39 -0
  85. package/lib/cjs/focus-utils-9b549956.js +21 -0
  86. package/lib/cjs/{index-2cce7b13.js → index-ce232ed8.js} +106 -45
  87. package/lib/cjs/input-utils-1096a2c5.js +56 -0
  88. package/lib/cjs/{is-internet-explorer-76c3b538.js → is-internet-explorer-e7f58ebc.js} +2 -2
  89. package/lib/cjs/{js-utils-b20cfc79.js → js-utils-92e24ba1.js} +27 -27
  90. package/lib/cjs/{language-utils-dc19e8b6.js → language-utils-e8a527e5.js} +74 -74
  91. package/lib/cjs/loader.cjs.js +3 -3
  92. package/lib/cjs/{slot-query-b7555763.js → slot-query-3259af5b.js} +1 -1
  93. package/lib/cjs/string-utils-053749ff.js +59 -0
  94. package/lib/cjs/teleport-e9d05bca.js +99 -0
  95. package/lib/cjs/themeable-component-83a2a0d4.js +15 -0
  96. package/lib/cjs/token-utils-84b3bca6.js +124 -0
  97. package/lib/cjs/watch-options-30a12622.js +61 -0
  98. package/lib/collection/collection-manifest.json +2 -2
  99. package/lib/collection/common/slot-query.js +3 -3
  100. package/lib/collection/common/themeable-component.js +6 -6
  101. package/lib/collection/common-strings.js +6 -6
  102. package/lib/collection/components/duet-action-button/duet-action-button.a11y.e2e.js +5 -5
  103. package/lib/collection/components/duet-action-button/duet-action-button.js +570 -569
  104. package/lib/collection/components/duet-alert/duet-alert.a11y.e2e.js +10 -10
  105. package/lib/collection/components/duet-alert/duet-alert.e2e.js +47 -47
  106. package/lib/collection/components/duet-alert/duet-alert.js +442 -441
  107. package/lib/collection/components/duet-badge/duet-badge.a11y.e2e.js +10 -10
  108. package/lib/collection/components/duet-badge/duet-badge.e2e.js +21 -21
  109. package/lib/collection/components/duet-badge/duet-badge.js +134 -134
  110. package/lib/collection/components/duet-banner/duet-banner.a11y.e2e.js +5 -5
  111. package/lib/collection/components/duet-banner/duet-banner.e2e.js +16 -16
  112. package/lib/collection/components/duet-banner/duet-banner.js +309 -309
  113. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +139 -139
  114. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.a11y.e2e.js +5 -5
  115. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.e2e.js +6 -6
  116. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +112 -112
  117. package/lib/collection/components/duet-button/duet-button.a11y.e2e.js +30 -30
  118. package/lib/collection/components/duet-button/duet-button.e2e.js +187 -187
  119. package/lib/collection/components/duet-button/duet-button.js +1068 -1067
  120. package/lib/collection/components/duet-callout/duet-callout.a11y.e2e.js +5 -5
  121. package/lib/collection/components/duet-callout/duet-callout.e2e.js +15 -15
  122. package/lib/collection/components/duet-callout/duet-callout.js +88 -88
  123. package/lib/collection/components/duet-caption/duet-caption.a11y.e2e.js +5 -5
  124. package/lib/collection/components/duet-caption/duet-caption.e2e.js +20 -20
  125. package/lib/collection/components/duet-caption/duet-caption.js +131 -131
  126. package/lib/collection/components/duet-card/duet-card.a11y.e2e.js +10 -10
  127. package/lib/collection/components/duet-card/duet-card.e2e.js +85 -85
  128. package/lib/collection/components/duet-card/duet-card.js +492 -491
  129. package/lib/collection/components/duet-checkbox/duet-checkbox.a11y.e2e.js +10 -10
  130. package/lib/collection/components/duet-checkbox/duet-checkbox.e2e.js +103 -103
  131. package/lib/collection/components/duet-checkbox/duet-checkbox.js +553 -549
  132. package/lib/collection/components/duet-chip/duet-chip.a11y.e2e.js +10 -10
  133. package/lib/collection/components/duet-chip/duet-chip.e2e.js +40 -40
  134. package/lib/collection/components/duet-chip/duet-chip.js +487 -486
  135. package/lib/collection/components/duet-choice/duet-checkmark.js +136 -136
  136. package/lib/collection/components/duet-choice/duet-choice.a11y.e2e.js +25 -25
  137. package/lib/collection/components/duet-choice/duet-choice.e2e.js +171 -171
  138. package/lib/collection/components/duet-choice/duet-choice.js +1092 -1088
  139. package/lib/collection/components/duet-choice-group/duet-choice-group.a11y.e2e.js +5 -5
  140. package/lib/collection/components/duet-choice-group/duet-choice-group.e2e.js +63 -63
  141. package/lib/collection/components/duet-choice-group/duet-choice-group.js +456 -453
  142. package/lib/collection/components/duet-collapsible/duet-collapsible.a11y.e2e.js +10 -10
  143. package/lib/collection/components/duet-collapsible/duet-collapsible.e2e.js +87 -87
  144. package/lib/collection/components/duet-collapsible/duet-collapsible.js +363 -362
  145. package/lib/collection/components/duet-combobox/duet-combobox-select-single.js +2 -2
  146. package/lib/collection/components/duet-combobox/duet-combobox-select.js +8 -8
  147. package/lib/collection/components/duet-combobox/duet-combobox.a11y.e2e.js +5 -5
  148. package/lib/collection/components/duet-combobox/duet-combobox.e2e.js +115 -115
  149. package/lib/collection/components/duet-combobox/duet-combobox.js +670 -669
  150. package/lib/collection/components/duet-contact-card/duet-contact-card.a11y.e2e.js +5 -5
  151. package/lib/collection/components/duet-contact-card/duet-contact-card.js +255 -255
  152. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.a11y.e2e.js +5 -5
  153. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.e2e.js +16 -16
  154. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +127 -127
  155. package/lib/collection/components/duet-date-picker/date-i18n.js +97 -97
  156. package/lib/collection/components/duet-date-picker/date-picker-day.js +9 -9
  157. package/lib/collection/components/duet-date-picker/date-picker-input.js +5 -5
  158. package/lib/collection/components/duet-date-picker/date-picker-month.js +16 -16
  159. package/lib/collection/components/duet-date-picker/date-utils.js +95 -95
  160. package/lib/collection/components/duet-date-picker/date-utils.spec.js +323 -323
  161. package/lib/collection/components/duet-date-picker/duet-date-picker.a11y.e2e.js +5 -5
  162. package/lib/collection/components/duet-date-picker/duet-date-picker.e2e.js +618 -618
  163. package/lib/collection/components/duet-date-picker/duet-date-picker.js +1049 -1044
  164. package/lib/collection/components/duet-date-picker/utils.js +29 -29
  165. package/lib/collection/components/duet-divider/duet-divider.a11y.e2e.js +5 -5
  166. package/lib/collection/components/duet-divider/duet-divider.e2e.js +24 -24
  167. package/lib/collection/components/duet-divider/duet-divider.js +112 -112
  168. package/lib/collection/components/duet-editable-table/duet-editable-table-tabledata.js +7 -7
  169. package/lib/collection/components/duet-editable-table/duet-editable-table.a11y.e2e.js +5 -5
  170. package/lib/collection/components/duet-editable-table/duet-editable-table.e2e.js +19 -19
  171. package/lib/collection/components/duet-editable-table/duet-editable-table.js +501 -498
  172. package/lib/collection/components/duet-empty-state/duet-empty-state.a11y.e2e.js +5 -5
  173. package/lib/collection/components/duet-empty-state/duet-empty-state.e2e.js +10 -10
  174. package/lib/collection/components/duet-empty-state/duet-empty-state.js +110 -110
  175. package/lib/collection/components/duet-fieldset/duet-fieldset.a11y.e2e.js +5 -5
  176. package/lib/collection/components/duet-fieldset/duet-fieldset.e2e.js +5 -5
  177. package/lib/collection/components/duet-fieldset/duet-fieldset.js +245 -245
  178. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +179 -179
  179. package/lib/collection/components/duet-footer/duet-footer.a11y.e2e.js +5 -5
  180. package/lib/collection/components/duet-footer/duet-footer.e2e.js +163 -163
  181. package/lib/collection/components/duet-footer/duet-footer.js +485 -485
  182. package/lib/collection/components/duet-grid/duet-grid.a11y.e2e.js +5 -5
  183. package/lib/collection/components/duet-grid/duet-grid.e2e.js +36 -36
  184. package/lib/collection/components/duet-grid/duet-grid.js +345 -342
  185. package/lib/collection/components/duet-grid-item/duet-grid-item.js +233 -230
  186. package/lib/collection/components/duet-header/duet-header-dropdown.js +12 -12
  187. package/lib/collection/components/duet-header/duet-header-icon.js +2 -2
  188. package/lib/collection/components/duet-header/duet-header.a11y.e2e.js +5 -5
  189. package/lib/collection/components/duet-header/duet-header.e2e.js +430 -430
  190. package/lib/collection/components/duet-header/duet-header.js +1297 -1295
  191. package/lib/collection/components/duet-heading/duet-heading.a11y.e2e.js +5 -5
  192. package/lib/collection/components/duet-heading/duet-heading.e2e.js +21 -21
  193. package/lib/collection/components/duet-heading/duet-heading.js +230 -230
  194. package/lib/collection/components/duet-hero/duet-hero.a11y.e2e.js +15 -15
  195. package/lib/collection/components/duet-hero/duet-hero.e2e.js +166 -166
  196. package/lib/collection/components/duet-hero/duet-hero.js +814 -814
  197. package/lib/collection/components/duet-icon/duet-icon.a11y.e2e.js +5 -5
  198. package/lib/collection/components/duet-icon/duet-icon.e2e.js +26 -26
  199. package/lib/collection/components/duet-icon/duet-icon.js +392 -392
  200. package/lib/collection/components/duet-icon/icon-utils.js +59 -59
  201. package/lib/collection/components/duet-icon/icon-utils.spec.js +76 -76
  202. package/lib/collection/components/duet-input/duet-input.a11y.e2e.js +20 -20
  203. package/lib/collection/components/duet-input/duet-input.e2e.js +195 -195
  204. package/lib/collection/components/duet-input/duet-input.js +1249 -1245
  205. package/lib/collection/components/duet-label/duet-label.a11y.e2e.js +5 -5
  206. package/lib/collection/components/duet-label/duet-label.e2e.js +26 -26
  207. package/lib/collection/components/duet-label/duet-label.js +134 -131
  208. package/lib/collection/components/duet-layout/duet-layout.a11y.e2e.js +5 -5
  209. package/lib/collection/components/duet-layout/duet-layout.e2e.js +26 -26
  210. package/lib/collection/components/duet-layout/duet-layout.js +207 -207
  211. package/lib/collection/components/duet-link/duet-link.a11y.e2e.js +15 -15
  212. package/lib/collection/components/duet-link/duet-link.e2e.js +47 -47
  213. package/lib/collection/components/duet-link/duet-link.js +436 -435
  214. package/lib/collection/components/duet-list/duet-list.a11y.e2e.js +11 -11
  215. package/lib/collection/components/duet-list/duet-list.e2e.js +50 -50
  216. package/lib/collection/components/duet-list/duet-list.js +292 -292
  217. package/lib/collection/components/duet-list-item/duet-list-item.js +81 -81
  218. package/lib/collection/components/duet-logo/duet-logo.a11y.e2e.js +5 -5
  219. package/lib/collection/components/duet-logo/duet-logo.e2e.js +36 -36
  220. package/lib/collection/components/duet-logo/duet-logo.js +293 -292
  221. package/lib/collection/components/duet-menu-bar/duet-menu-bar.a11y.e2e.js +5 -5
  222. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +261 -261
  223. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +347 -346
  224. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +224 -223
  225. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +133 -133
  226. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +170 -170
  227. package/lib/collection/components/duet-modal/duet-modal.a11y.e2e.js +10 -10
  228. package/lib/collection/components/duet-modal/duet-modal.e2e.js +78 -78
  229. package/lib/collection/components/duet-modal/duet-modal.js +687 -687
  230. package/lib/collection/components/duet-multiselect/duet-multiselect.a11y.e2e.js +5 -5
  231. package/lib/collection/components/duet-multiselect/duet-multiselect.e2e.js +87 -87
  232. package/lib/collection/components/duet-multiselect/duet-multiselect.js +654 -653
  233. package/lib/collection/components/duet-nav/duet-nav.js +56 -56
  234. package/lib/collection/components/duet-notification/duet-notification.a11y.e2e.js +5 -5
  235. package/lib/collection/components/duet-notification/duet-notification.e2e.js +6 -6
  236. package/lib/collection/components/duet-notification/duet-notification.js +257 -259
  237. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.a11y.e2e.js +10 -10
  238. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.e2e.js +141 -141
  239. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +379 -383
  240. package/lib/collection/components/duet-number-input/duet-number-input-negative.e2e.js +26 -26
  241. package/lib/collection/components/duet-number-input/duet-number-input.a11y.e2e.js +5 -5
  242. package/lib/collection/components/duet-number-input/duet-number-input.e2e.js +232 -232
  243. package/lib/collection/components/duet-number-input/duet-number-input.js +1117 -1113
  244. package/lib/collection/components/duet-page-heading/duet-page-heading.a11y.e2e.js +5 -5
  245. package/lib/collection/components/duet-page-heading/duet-page-heading.js +104 -104
  246. package/lib/collection/components/duet-pagination/duet-pagination-utils.js +4 -4
  247. package/lib/collection/components/duet-pagination/duet-pagination.a11y.e2e.js +10 -10
  248. package/lib/collection/components/duet-pagination/duet-pagination.e2e.js +79 -79
  249. package/lib/collection/components/duet-pagination/duet-pagination.js +677 -677
  250. package/lib/collection/components/duet-paragraph/duet-paragraph.a11y.e2e.js +5 -5
  251. package/lib/collection/components/duet-paragraph/duet-paragraph.e2e.js +21 -21
  252. package/lib/collection/components/duet-paragraph/duet-paragraph.js +190 -190
  253. package/lib/collection/components/duet-popup-menu/duet-popup-menu.a11y.e2e.js +5 -5
  254. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +407 -407
  255. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +344 -343
  256. package/lib/collection/components/duet-progress/duet-progress.a11y.e2e.js +7 -7
  257. package/lib/collection/components/duet-progress/duet-progress.e2e.js +6 -6
  258. package/lib/collection/components/duet-progress/duet-progress.js +276 -273
  259. package/lib/collection/components/duet-promo-card/duet-promo-card.a11y.e2e.js +5 -5
  260. package/lib/collection/components/duet-promo-card/duet-promo-card.e2e.js +16 -16
  261. package/lib/collection/components/duet-promo-card/duet-promo-card.js +206 -206
  262. package/lib/collection/components/duet-radio/duet-radio.a11y.e2e.js +5 -5
  263. package/lib/collection/components/duet-radio/duet-radio.e2e.js +126 -126
  264. package/lib/collection/components/duet-radio/duet-radio.js +609 -605
  265. package/lib/collection/components/duet-radio-group/duet-radio-group.a11y.e2e.js +10 -10
  266. package/lib/collection/components/duet-radio-group/duet-radio-group.e2e.js +39 -39
  267. package/lib/collection/components/duet-radio-group/duet-radio-group.js +423 -420
  268. package/lib/collection/components/duet-range-slider/duet-range-slider.a11y.e2e.js +5 -5
  269. package/lib/collection/components/duet-range-slider/duet-range-slider.e2e.js +51 -51
  270. package/lib/collection/components/duet-range-slider/duet-range-slider.js +561 -557
  271. package/lib/collection/components/duet-range-stepper/duet-range-stepper.a11y.e2e.js +5 -5
  272. package/lib/collection/components/duet-range-stepper/duet-range-stepper.e2e.js +46 -46
  273. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +341 -341
  274. package/lib/collection/components/duet-range-stepper/duet-range-stepper.spec.js +17 -17
  275. package/lib/collection/components/duet-scrollable/duet-scrollable.a11y.e2e.js +5 -5
  276. package/lib/collection/components/duet-scrollable/duet-scrollable.e2e.js +6 -6
  277. package/lib/collection/components/duet-scrollable/duet-scrollable.js +294 -294
  278. package/lib/collection/components/duet-section-layout/duet-section-layout.a11y.e2e.js +5 -5
  279. package/lib/collection/components/duet-section-layout/duet-section-layout.e2e.js +16 -16
  280. package/lib/collection/components/duet-section-layout/duet-section-layout.js +75 -75
  281. package/lib/collection/components/duet-select/duet-select.a11y.e2e.js +10 -10
  282. package/lib/collection/components/duet-select/duet-select.e2e.js +201 -201
  283. package/lib/collection/components/duet-select/duet-select.js +722 -718
  284. package/lib/collection/components/duet-shaped-image/duet-shaped-image.a11y.e2e.js +5 -5
  285. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +143 -143
  286. package/lib/collection/components/duet-show-more/duet-show-more.a11y.e2e.js +5 -5
  287. package/lib/collection/components/duet-show-more/duet-show-more.js +436 -436
  288. package/lib/collection/components/duet-slideout/duet-slideout.a11y.e2e.js +5 -5
  289. package/lib/collection/components/duet-slideout/duet-slideout.js +408 -407
  290. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +75 -75
  291. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +215 -215
  292. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +282 -281
  293. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +177 -176
  294. package/lib/collection/components/duet-spacer/duet-spacer.a11y.e2e.js +5 -5
  295. package/lib/collection/components/duet-spacer/duet-spacer.e2e.js +21 -21
  296. package/lib/collection/components/duet-spacer/duet-spacer.js +110 -110
  297. package/lib/collection/components/duet-spinner/duet-spinner.a11y.e2e.js +5 -5
  298. package/lib/collection/components/duet-spinner/duet-spinner.e2e.js +23 -23
  299. package/lib/collection/components/duet-spinner/duet-spinner.js +131 -131
  300. package/lib/collection/components/duet-step/duet-step.e2e.js +83 -83
  301. package/lib/collection/components/duet-step/duet-step.js +292 -290
  302. package/lib/collection/components/duet-stepper/duet-stepper.a11y.e2e.js +8 -8
  303. package/lib/collection/components/duet-stepper/duet-stepper.e2e.js +49 -49
  304. package/lib/collection/components/duet-stepper/duet-stepper.js +243 -243
  305. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.a11y.e2e.js +5 -5
  306. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +218 -217
  307. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +235 -234
  308. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +162 -162
  309. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +154 -154
  310. package/lib/collection/components/duet-tab/duet-tab.e2e.js +10 -10
  311. package/lib/collection/components/duet-tab/duet-tab.js +162 -161
  312. package/lib/collection/components/duet-tab-group/duet-tab-group.a11y.e2e.js +5 -5
  313. package/lib/collection/components/duet-tab-group/duet-tab-group.e2e.js +60 -60
  314. package/lib/collection/components/duet-tab-group/duet-tab-group.js +633 -632
  315. package/lib/collection/components/duet-table/duet-table.a11y.e2e.js +5 -5
  316. package/lib/collection/components/duet-table/duet-table.e2e.js +25 -25
  317. package/lib/collection/components/duet-table/duet-table.js +284 -281
  318. package/lib/collection/components/duet-textarea/duet-textarea.a11y.e2e.js +10 -10
  319. package/lib/collection/components/duet-textarea/duet-textarea.e2e.js +193 -193
  320. package/lib/collection/components/duet-textarea/duet-textarea.js +849 -845
  321. package/lib/collection/components/duet-toggle/duet-toggle.a11y.e2e.js +5 -5
  322. package/lib/collection/components/duet-toggle/duet-toggle.e2e.js +66 -66
  323. package/lib/collection/components/duet-toggle/duet-toggle.js +468 -464
  324. package/lib/collection/components/duet-toolbar/duet-toolbar.a11y.e2e.js +5 -5
  325. package/lib/collection/components/duet-toolbar/duet-toolbar.js +105 -105
  326. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +221 -220
  327. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +160 -160
  328. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +156 -156
  329. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +194 -164
  330. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +280 -251
  331. package/lib/collection/components/duet-tooltip/duet-tooltip.a11y.e2e.js +14 -14
  332. package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +76 -76
  333. package/lib/collection/components/duet-tooltip/duet-tooltip.js +533 -529
  334. package/lib/collection/components/duet-tray/duet-tray.a11y.e2e.js +5 -5
  335. package/lib/collection/components/duet-tray/duet-tray.e2e.js +67 -67
  336. package/lib/collection/components/duet-tray/duet-tray.js +315 -315
  337. package/lib/collection/components/duet-upload/duet-upload.e2e.js +40 -40
  338. package/lib/collection/components/duet-upload/duet-upload.js +2282 -2276
  339. package/lib/collection/components/duet-upload/errorcodes.utils.js +22 -22
  340. package/lib/collection/components/duet-upload/mock.helpers.js +85 -85
  341. package/lib/collection/components/duet-upload/upload-editable-item-error.js +4 -4
  342. package/lib/collection/components/duet-upload/upload-editable-item-success.js +15 -15
  343. package/lib/collection/components/duet-upload/upload-item-category.js +2 -2
  344. package/lib/collection/components/duet-upload/upload-item-header.js +4 -4
  345. package/lib/collection/components/duet-upload/upload-validators.js +96 -96
  346. package/lib/collection/components/duet-upload/upload-validators.spec.js +35 -35
  347. package/lib/collection/components/duet-upload/upload.helpers.js +8 -8
  348. package/lib/collection/components/duet-upload/xhr.helpers.js +26 -26
  349. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +194 -194
  350. package/lib/collection/components/duet-upload-item/duet-upload-item.js +306 -306
  351. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.a11y.e2e.js +5 -5
  352. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.e2e.js +6 -6
  353. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +20 -20
  354. package/lib/collection/global/duet-global.js +22 -22
  355. package/lib/collection/global/log-wrapper.js +29 -29
  356. package/lib/collection/utils/axe-core-utils.js +24 -24
  357. package/lib/collection/utils/create-id.js +2 -2
  358. package/lib/collection/utils/create-id.spec.js +6 -6
  359. package/lib/collection/utils/fixture-utils.js +25 -25
  360. package/lib/collection/utils/focus-utils.js +7 -7
  361. package/lib/collection/utils/group-by.js +9 -9
  362. package/lib/collection/utils/input-utils.js +25 -25
  363. package/lib/collection/utils/is-internet-explorer.js +2 -2
  364. package/lib/collection/utils/js-utils.js +38 -38
  365. package/lib/collection/utils/js-utils.spec.js +14 -14
  366. package/lib/collection/utils/language-utils.js +73 -73
  367. package/lib/collection/utils/language-utils.spec.js +151 -151
  368. package/lib/collection/utils/math.utils.js +59 -59
  369. package/lib/collection/utils/math.utils.spec.js +130 -130
  370. package/lib/collection/utils/picture-utils.js +2 -2
  371. package/lib/collection/utils/string-utils.js +31 -31
  372. package/lib/collection/utils/string-utils.spec.js +32 -32
  373. package/lib/collection/utils/teleport.js +77 -77
  374. package/lib/collection/utils/template-utils.js +18 -18
  375. package/lib/collection/utils/template-utils.spec.js +33 -33
  376. package/lib/collection/utils/test-utils.js +31 -31
  377. package/lib/collection/utils/token-utils.js +96 -96
  378. package/lib/collection/utils/token-utils.spec.js +170 -170
  379. package/lib/collection/utils/watch-options.js +44 -44
  380. package/lib/dist-custom-elements/duet-action-button.d.ts +2 -2
  381. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  382. package/lib/dist-custom-elements/duet-alert.d.ts +2 -2
  383. package/lib/dist-custom-elements/duet-alert.js +1 -1
  384. package/lib/dist-custom-elements/duet-badge.d.ts +2 -2
  385. package/lib/dist-custom-elements/duet-badge.js +1 -1
  386. package/lib/dist-custom-elements/duet-banner.d.ts +2 -2
  387. package/lib/dist-custom-elements/duet-banner.js +96 -96
  388. package/lib/dist-custom-elements/duet-breadcrumb.d.ts +2 -2
  389. package/lib/dist-custom-elements/duet-breadcrumb.js +66 -66
  390. package/lib/dist-custom-elements/duet-breadcrumbs.d.ts +2 -2
  391. package/lib/dist-custom-elements/duet-breadcrumbs.js +68 -68
  392. package/lib/dist-custom-elements/duet-button.d.ts +2 -2
  393. package/lib/dist-custom-elements/duet-button.js +1 -1
  394. package/lib/dist-custom-elements/duet-callout.d.ts +2 -2
  395. package/lib/dist-custom-elements/duet-callout.js +57 -57
  396. package/lib/dist-custom-elements/duet-caption.d.ts +2 -2
  397. package/lib/dist-custom-elements/duet-caption.js +1 -1
  398. package/lib/dist-custom-elements/duet-card.d.ts +2 -2
  399. package/lib/dist-custom-elements/duet-card.js +137 -137
  400. package/lib/dist-custom-elements/duet-checkbox.d.ts +2 -2
  401. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  402. package/lib/dist-custom-elements/duet-checkmark.d.ts +2 -2
  403. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  404. package/lib/dist-custom-elements/duet-chip.d.ts +2 -2
  405. package/lib/dist-custom-elements/duet-chip.js +219 -219
  406. package/lib/dist-custom-elements/duet-choice-group.d.ts +2 -2
  407. package/lib/dist-custom-elements/duet-choice-group.js +189 -189
  408. package/lib/dist-custom-elements/duet-choice.d.ts +2 -2
  409. package/lib/dist-custom-elements/duet-choice.js +357 -357
  410. package/lib/dist-custom-elements/duet-collapsible.d.ts +2 -2
  411. package/lib/dist-custom-elements/duet-collapsible.js +130 -130
  412. package/lib/dist-custom-elements/duet-combobox.d.ts +2 -2
  413. package/lib/dist-custom-elements/duet-combobox.js +405 -405
  414. package/lib/dist-custom-elements/duet-contact-card.d.ts +2 -2
  415. package/lib/dist-custom-elements/duet-contact-card.js +116 -116
  416. package/lib/dist-custom-elements/duet-cookie-consent.d.ts +2 -2
  417. package/lib/dist-custom-elements/duet-cookie-consent.js +82 -82
  418. package/lib/dist-custom-elements/duet-date-picker.d.ts +2 -2
  419. package/lib/dist-custom-elements/duet-date-picker.js +728 -728
  420. package/lib/dist-custom-elements/duet-divider.d.ts +2 -2
  421. package/lib/dist-custom-elements/duet-divider.js +1 -1
  422. package/lib/dist-custom-elements/duet-editable-table.d.ts +2 -2
  423. package/lib/dist-custom-elements/duet-editable-table.js +230 -230
  424. package/lib/dist-custom-elements/duet-empty-state.d.ts +2 -2
  425. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  426. package/lib/dist-custom-elements/duet-fieldset.d.ts +2 -2
  427. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  428. package/lib/dist-custom-elements/duet-file-chooser.d.ts +2 -2
  429. package/lib/dist-custom-elements/duet-file-chooser.js +70 -70
  430. package/lib/dist-custom-elements/duet-footer.d.ts +2 -2
  431. package/lib/dist-custom-elements/duet-footer.js +167 -167
  432. package/lib/dist-custom-elements/duet-grid-item.d.ts +2 -2
  433. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  434. package/lib/dist-custom-elements/duet-grid.d.ts +2 -2
  435. package/lib/dist-custom-elements/duet-grid.js +1 -1
  436. package/lib/dist-custom-elements/duet-header.d.ts +2 -2
  437. package/lib/dist-custom-elements/duet-header.js +637 -637
  438. package/lib/dist-custom-elements/duet-heading.d.ts +2 -2
  439. package/lib/dist-custom-elements/duet-heading.js +1 -1
  440. package/lib/dist-custom-elements/duet-hero.d.ts +2 -2
  441. package/lib/dist-custom-elements/duet-hero.js +270 -270
  442. package/lib/dist-custom-elements/duet-icon.d.ts +2 -2
  443. package/lib/dist-custom-elements/duet-icon.js +1 -1
  444. package/lib/dist-custom-elements/duet-input.d.ts +2 -2
  445. package/lib/dist-custom-elements/duet-input.js +1 -1
  446. package/lib/dist-custom-elements/duet-label.d.ts +2 -2
  447. package/lib/dist-custom-elements/duet-label.js +1 -1
  448. package/lib/dist-custom-elements/duet-layout.d.ts +2 -2
  449. package/lib/dist-custom-elements/duet-layout.js +73 -73
  450. package/lib/dist-custom-elements/duet-link.d.ts +2 -2
  451. package/lib/dist-custom-elements/duet-link.js +1 -1
  452. package/lib/dist-custom-elements/duet-list-item.d.ts +2 -2
  453. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  454. package/lib/dist-custom-elements/duet-list.d.ts +2 -2
  455. package/lib/dist-custom-elements/duet-list.js +1 -1
  456. package/lib/dist-custom-elements/duet-logo.d.ts +2 -2
  457. package/lib/dist-custom-elements/duet-logo.js +1 -1
  458. package/lib/dist-custom-elements/duet-menu-bar-button.d.ts +2 -2
  459. package/lib/dist-custom-elements/duet-menu-bar-button.js +106 -106
  460. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.d.ts +2 -2
  461. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +69 -69
  462. package/lib/dist-custom-elements/duet-menu-bar-dropdown.d.ts +2 -2
  463. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +120 -120
  464. package/lib/dist-custom-elements/duet-menu-bar-link.d.ts +2 -2
  465. package/lib/dist-custom-elements/duet-menu-bar-link.js +85 -85
  466. package/lib/dist-custom-elements/duet-menu-bar.d.ts +2 -2
  467. package/lib/dist-custom-elements/duet-menu-bar.js +145 -145
  468. package/lib/dist-custom-elements/duet-modal.d.ts +2 -2
  469. package/lib/dist-custom-elements/duet-modal.js +262 -262
  470. package/lib/dist-custom-elements/duet-multiselect.d.ts +2 -2
  471. package/lib/dist-custom-elements/duet-multiselect.js +299 -299
  472. package/lib/dist-custom-elements/duet-nav.d.ts +2 -2
  473. package/lib/dist-custom-elements/duet-nav.js +36 -36
  474. package/lib/dist-custom-elements/duet-notification-drawer.d.ts +2 -2
  475. package/lib/dist-custom-elements/duet-notification-drawer.js +142 -142
  476. package/lib/dist-custom-elements/duet-notification.d.ts +2 -2
  477. package/lib/dist-custom-elements/duet-notification.js +76 -76
  478. package/lib/dist-custom-elements/duet-number-input.d.ts +2 -2
  479. package/lib/dist-custom-elements/duet-number-input.js +448 -448
  480. package/lib/dist-custom-elements/duet-page-heading.d.ts +2 -2
  481. package/lib/dist-custom-elements/duet-page-heading.js +50 -50
  482. package/lib/dist-custom-elements/duet-pagination.d.ts +2 -2
  483. package/lib/dist-custom-elements/duet-pagination.js +449 -449
  484. package/lib/dist-custom-elements/duet-paragraph.d.ts +2 -2
  485. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  486. package/lib/dist-custom-elements/duet-popup-menu-item.d.ts +2 -2
  487. package/lib/dist-custom-elements/duet-popup-menu-item.js +95 -95
  488. package/lib/dist-custom-elements/duet-popup-menu.d.ts +2 -2
  489. package/lib/dist-custom-elements/duet-popup-menu.js +176 -176
  490. package/lib/dist-custom-elements/duet-progress.d.ts +2 -2
  491. package/lib/dist-custom-elements/duet-progress.js +1 -1
  492. package/lib/dist-custom-elements/duet-promo-card.d.ts +2 -2
  493. package/lib/dist-custom-elements/duet-promo-card.js +74 -74
  494. package/lib/dist-custom-elements/duet-radio-group.d.ts +2 -2
  495. package/lib/dist-custom-elements/duet-radio-group.js +183 -183
  496. package/lib/dist-custom-elements/duet-radio.d.ts +2 -2
  497. package/lib/dist-custom-elements/duet-radio.js +130 -130
  498. package/lib/dist-custom-elements/duet-range-slider.d.ts +2 -2
  499. package/lib/dist-custom-elements/duet-range-slider.js +146 -146
  500. package/lib/dist-custom-elements/duet-range-stepper.d.ts +2 -2
  501. package/lib/dist-custom-elements/duet-range-stepper.js +206 -206
  502. package/lib/dist-custom-elements/duet-scrollable.d.ts +2 -2
  503. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  504. package/lib/dist-custom-elements/duet-section-layout.d.ts +2 -2
  505. package/lib/dist-custom-elements/duet-section-layout.js +38 -38
  506. package/lib/dist-custom-elements/duet-select.d.ts +2 -2
  507. package/lib/dist-custom-elements/duet-select.js +1 -1
  508. package/lib/dist-custom-elements/duet-shaped-image.d.ts +2 -2
  509. package/lib/dist-custom-elements/duet-shaped-image.js +48 -48
  510. package/lib/dist-custom-elements/duet-show-more.d.ts +2 -2
  511. package/lib/dist-custom-elements/duet-show-more.js +151 -151
  512. package/lib/dist-custom-elements/duet-slideout-lang.d.ts +2 -2
  513. package/lib/dist-custom-elements/duet-slideout-lang.js +58 -58
  514. package/lib/dist-custom-elements/duet-slideout-link.d.ts +2 -2
  515. package/lib/dist-custom-elements/duet-slideout-link.js +63 -63
  516. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.d.ts +2 -2
  517. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +76 -76
  518. package/lib/dist-custom-elements/duet-slideout-panel.d.ts +2 -2
  519. package/lib/dist-custom-elements/duet-slideout-panel.js +149 -149
  520. package/lib/dist-custom-elements/duet-slideout.d.ts +2 -2
  521. package/lib/dist-custom-elements/duet-slideout.js +225 -225
  522. package/lib/dist-custom-elements/duet-spacer.d.ts +2 -2
  523. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  524. package/lib/dist-custom-elements/duet-spinner.d.ts +2 -2
  525. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  526. package/lib/dist-custom-elements/duet-step.d.ts +2 -2
  527. package/lib/dist-custom-elements/duet-step.js +116 -118
  528. package/lib/dist-custom-elements/duet-stepper.d.ts +2 -2
  529. package/lib/dist-custom-elements/duet-stepper.js +129 -129
  530. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.d.ts +2 -2
  531. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +63 -63
  532. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.d.ts +2 -2
  533. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +131 -131
  534. package/lib/dist-custom-elements/duet-submenu-bar-link.d.ts +2 -2
  535. package/lib/dist-custom-elements/duet-submenu-bar-link.js +85 -85
  536. package/lib/dist-custom-elements/duet-submenu-bar.d.ts +2 -2
  537. package/lib/dist-custom-elements/duet-submenu-bar.js +139 -139
  538. package/lib/dist-custom-elements/duet-tab-group.d.ts +2 -2
  539. package/lib/dist-custom-elements/duet-tab-group.js +309 -309
  540. package/lib/dist-custom-elements/duet-tab.d.ts +2 -2
  541. package/lib/dist-custom-elements/duet-tab.js +50 -52
  542. package/lib/dist-custom-elements/duet-table.d.ts +2 -2
  543. package/lib/dist-custom-elements/duet-table.js +1 -1
  544. package/lib/dist-custom-elements/duet-textarea.d.ts +2 -2
  545. package/lib/dist-custom-elements/duet-textarea.js +262 -262
  546. package/lib/dist-custom-elements/duet-toggle.d.ts +2 -2
  547. package/lib/dist-custom-elements/duet-toggle.js +113 -113
  548. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.d.ts +2 -2
  549. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +62 -62
  550. package/lib/dist-custom-elements/duet-toolbar-dropdown.d.ts +2 -2
  551. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +87 -87
  552. package/lib/dist-custom-elements/duet-toolbar-link.d.ts +2 -2
  553. package/lib/dist-custom-elements/duet-toolbar-link.js +58 -58
  554. package/lib/dist-custom-elements/duet-toolbar.d.ts +2 -2
  555. package/lib/dist-custom-elements/duet-toolbar.js +52 -52
  556. package/lib/dist-custom-elements/duet-tooltip-button.d.ts +2 -2
  557. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  558. package/lib/dist-custom-elements/duet-tooltip-popup.d.ts +2 -2
  559. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  560. package/lib/dist-custom-elements/duet-tooltip.d.ts +2 -2
  561. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  562. package/lib/dist-custom-elements/duet-tray.d.ts +2 -2
  563. package/lib/dist-custom-elements/duet-tray.js +119 -119
  564. package/lib/dist-custom-elements/duet-upload-aria-status.d.ts +2 -2
  565. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  566. package/lib/dist-custom-elements/duet-upload-item.d.ts +2 -2
  567. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  568. package/lib/dist-custom-elements/duet-upload.d.ts +2 -2
  569. package/lib/dist-custom-elements/duet-upload.js +1163 -1163
  570. package/lib/dist-custom-elements/duet-visually-hidden.d.ts +2 -2
  571. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  572. package/lib/dist-custom-elements/index.js +36 -36
  573. package/lib/dist-custom-elements/p-02eb68f2.js +123 -0
  574. package/lib/dist-custom-elements/p-0825cbc5.js +82 -0
  575. package/lib/dist-custom-elements/p-0a7c0d3d.js +205 -0
  576. package/lib/dist-custom-elements/p-0e052642.js +55 -0
  577. package/lib/{esm/slot-query-7877f18f.js → dist-custom-elements/p-11230037.js} +1 -1
  578. package/lib/dist-custom-elements/{p-52014bb2.js → p-1cd7077a.js} +37 -37
  579. package/lib/dist-custom-elements/p-247a9d01.js +174 -0
  580. package/lib/dist-custom-elements/p-257f2e82.js +147 -0
  581. package/lib/dist-custom-elements/p-2605a78e.js +62 -0
  582. package/lib/dist-custom-elements/{p-4883df66.js → p-2e36d5bf.js} +74 -74
  583. package/lib/dist-custom-elements/p-38b35e69.js +265 -0
  584. package/lib/dist-custom-elements/{p-d49389d2.js → p-39827833.js} +171 -171
  585. package/lib/dist-custom-elements/p-3a17ba0c.js +226 -0
  586. package/lib/dist-custom-elements/p-402e81c0.js +206 -0
  587. package/lib/dist-custom-elements/p-43b89e38.js +9 -0
  588. package/lib/dist-custom-elements/{p-274d11e3.js → p-4ab776f4.js} +6 -6
  589. package/lib/dist-custom-elements/p-4f43c247.js +126 -0
  590. package/lib/dist-custom-elements/p-57a1cba9.js +117 -0
  591. package/lib/dist-custom-elements/p-598731b0.js +110 -0
  592. package/lib/dist-custom-elements/p-5e59e970.js +11 -0
  593. package/lib/dist-custom-elements/{p-2b1a35cd.js → p-5fe36e8b.js} +278 -278
  594. package/lib/dist-custom-elements/{p-7247d0b2.js → p-6f7dcc4d.js} +65 -43
  595. package/lib/dist-custom-elements/{p-9dd26401.js → p-6fbb1970.js} +128 -128
  596. package/lib/dist-custom-elements/{p-21b815ae.js → p-70a66e96.js} +42 -42
  597. package/lib/dist-custom-elements/{p-180c0d2d.js → p-76b345c8.js} +174 -174
  598. package/lib/dist-custom-elements/p-7d8a2628.js +57 -0
  599. package/lib/dist-custom-elements/p-86649f25.js +465 -0
  600. package/lib/dist-custom-elements/p-872a2adb.js +93 -0
  601. package/lib/dist-custom-elements/p-98746766.js +60 -0
  602. package/lib/dist-custom-elements/p-9b5f8ba4.js +98 -0
  603. package/lib/{esm/js-utils-a35dcc8c.js → dist-custom-elements/p-9e371678.js} +27 -27
  604. package/lib/dist-custom-elements/{p-6c2e13f0.js → p-a45d0398.js} +56 -56
  605. package/lib/dist-custom-elements/p-a58bd561.js +13 -0
  606. package/lib/dist-custom-elements/{p-d0987122.js → p-a6e6f578.js} +48 -48
  607. package/lib/dist-custom-elements/p-b2e550a3.js +97 -0
  608. package/lib/dist-custom-elements/{p-c0af301d.js → p-ba0f907f.js} +64 -64
  609. package/lib/dist-custom-elements/{p-ba870310.js → p-ba9ad148.js} +47 -47
  610. package/lib/dist-custom-elements/p-bc3fa417.js +76 -0
  611. package/lib/dist-custom-elements/{p-e4355989.js → p-ce1cc5ab.js} +98 -88
  612. package/lib/dist-custom-elements/p-d5f3b174.js +38 -0
  613. package/lib/dist-custom-elements/{p-bcfb9e03.js → p-d5fc2405.js} +50 -50
  614. package/lib/dist-custom-elements/p-df7874f9.js +53 -0
  615. package/lib/dist-custom-elements/{p-3ccd454b.js → p-dfd29738.js} +43 -43
  616. package/lib/dist-custom-elements/p-eef66341.js +18 -0
  617. package/lib/dist-custom-elements/p-f91cddd9.js +269 -0
  618. package/lib/dist-custom-elements/p-ff387a2f.js +59 -0
  619. package/lib/dist-custom-elements/p-ffc7f083.js +137 -0
  620. package/lib/duet/duet.esm.js +1 -1
  621. package/lib/duet/duet.js +15 -15
  622. package/lib/duet/p-07af14f1.js +4 -0
  623. package/lib/duet/{p-dc63462c.entry.js → p-0a7c3ecf.entry.js} +1 -1
  624. package/lib/duet/{p-57afa4b8.system.entry.js → p-0aa1b1cd.system.entry.js} +2 -2
  625. package/lib/duet/{p-76b68b44.entry.js → p-105a1448.entry.js} +1 -1
  626. package/lib/duet/{p-4aa91f55.entry.js → p-132ea5e6.entry.js} +1 -1
  627. package/lib/duet/{p-33765ffd.entry.js → p-13876bc6.entry.js} +1 -1
  628. package/lib/duet/{p-ff7a57a9.entry.js → p-13f7d993.entry.js} +1 -1
  629. package/lib/duet/{p-1dadf501.entry.js → p-16db7b1e.entry.js} +1 -1
  630. package/lib/duet/{p-3fd4c411.entry.js → p-191959c7.entry.js} +1 -1
  631. package/lib/duet/p-1b11541f.entry.js +4 -0
  632. package/lib/duet/{p-faa6ea94.system.entry.js → p-1e587bcc.system.entry.js} +1 -1
  633. package/lib/duet/{p-e95d09bb.system.entry.js → p-1ea5e7e8.system.entry.js} +1 -1
  634. package/lib/duet/{p-566668e1.entry.js → p-1fbbf69f.entry.js} +1 -1
  635. package/lib/duet/{p-ded28a6e.system.entry.js → p-200089a6.system.entry.js} +1 -1
  636. package/lib/duet/{p-8972381a.system.js → p-224f6c46.system.js} +1 -1
  637. package/lib/duet/{p-604175d2.entry.js → p-226489c4.entry.js} +1 -1
  638. package/lib/duet/p-2349e838.entry.js +4 -0
  639. package/lib/duet/{p-05e3a2cc.entry.js → p-246db04a.entry.js} +1 -1
  640. package/lib/duet/p-24f7d6bf.entry.js +4 -0
  641. package/lib/duet/p-258b8732.entry.js +4 -0
  642. package/lib/duet/{p-6da7b933.entry.js → p-25bde810.entry.js} +1 -1
  643. package/lib/duet/{p-177c55aa.entry.js → p-26c85bab.entry.js} +1 -1
  644. package/lib/duet/{p-2b70d58a.system.entry.js → p-26f7d1b9.system.entry.js} +1 -1
  645. package/lib/duet/{p-8aa7771f.entry.js → p-2b9499f1.entry.js} +1 -1
  646. package/lib/duet/{p-afd00506.entry.js → p-2c730d40.entry.js} +1 -1
  647. package/lib/duet/{p-4883df66.js → p-2e36d5bf.js} +1 -1
  648. package/lib/duet/{p-d9353709.entry.js → p-2f0a23ae.entry.js} +1 -1
  649. package/lib/duet/{p-89b82e5a.entry.js → p-338ba4d2.entry.js} +1 -1
  650. package/lib/duet/{p-445523a8.entry.js → p-33d6e5ef.entry.js} +1 -1
  651. package/lib/duet/{p-089043d5.entry.js → p-342527a4.entry.js} +1 -1
  652. package/lib/duet/{p-fd1fb3f9.system.entry.js → p-3aa3fb24.system.entry.js} +1 -1
  653. package/lib/duet/{p-789365cb.system.entry.js → p-3cafacc3.system.entry.js} +1 -1
  654. package/lib/duet/{p-c36a1bb7.entry.js → p-3e1248d8.entry.js} +1 -1
  655. package/lib/duet/{p-8ba72fa0.system.entry.js → p-40ee5f5e.system.entry.js} +1 -1
  656. package/lib/duet/p-4212bab8.js +5 -0
  657. package/lib/duet/{p-80013513.system.entry.js → p-42b49430.system.entry.js} +1 -1
  658. package/lib/duet/{p-c3289020.system.entry.js → p-42b9c6f9.system.entry.js} +1 -1
  659. package/lib/duet/{p-6ae7579a.system.entry.js → p-464adc60.system.entry.js} +1 -1
  660. package/lib/duet/{p-18e2e6c8.system.entry.js → p-48d6a81d.system.entry.js} +1 -1
  661. package/lib/duet/p-4911c778.system.entry.js +4 -0
  662. package/lib/duet/{p-d02e3fe0.system.entry.js → p-4b272eca.system.entry.js} +1 -1
  663. package/lib/duet/p-4c650a9e.entry.js +4 -0
  664. package/lib/duet/{p-ac367891.entry.js → p-502f43bb.entry.js} +1 -1
  665. package/lib/duet/{p-7e1f37e2.entry.js → p-513dfe01.entry.js} +1 -1
  666. package/lib/duet/{p-b8db6e02.system.entry.js → p-51bdb5fd.system.entry.js} +1 -1
  667. package/lib/duet/{p-3b0969dc.entry.js → p-51d53e57.entry.js} +1 -1
  668. package/lib/duet/{p-59b9c68b.entry.js → p-542d792f.entry.js} +1 -1
  669. package/lib/duet/{p-07401f31.entry.js → p-55f98dc4.entry.js} +1 -1
  670. package/lib/duet/{p-77b43a95.entry.js → p-57a63204.entry.js} +1 -1
  671. package/lib/duet/{p-1e9f1c45.entry.js → p-580a7bae.entry.js} +1 -1
  672. package/lib/duet/{p-aa6d7d97.entry.js → p-5b86c564.entry.js} +1 -1
  673. package/lib/duet/{p-038ac494.system.entry.js → p-5c94249e.system.entry.js} +1 -1
  674. package/lib/duet/{p-4630d3cb.entry.js → p-5dccd17b.entry.js} +1 -1
  675. package/lib/duet/{p-0fd024c9.system.js → p-5ed00370.system.js} +1 -1
  676. package/lib/duet/{p-e1e89fd5.entry.js → p-5f43dbcf.entry.js} +1 -1
  677. package/lib/duet/{p-0d0101d9.system.entry.js → p-60cee508.system.entry.js} +1 -1
  678. package/lib/duet/{p-501f62eb.system.entry.js → p-61fe1543.system.entry.js} +1 -1
  679. package/lib/duet/{p-a7e7c277.system.entry.js → p-625f750f.system.entry.js} +1 -1
  680. package/lib/duet/{p-6f3f2e66.entry.js → p-6576401a.entry.js} +1 -1
  681. package/lib/duet/{p-3b147393.entry.js → p-65e434a5.entry.js} +1 -1
  682. package/lib/duet/{p-113d90cb.system.entry.js → p-69fba9fe.system.entry.js} +1 -1
  683. package/lib/duet/{p-9a613a25.system.entry.js → p-6a972453.system.entry.js} +1 -1
  684. package/lib/duet/{p-0f1ec9c0.entry.js → p-6b2876f1.entry.js} +1 -1
  685. package/lib/duet/{p-08f2114a.entry.js → p-6cae9d4b.entry.js} +1 -1
  686. package/lib/duet/{p-e90b5865.system.entry.js → p-6e6ececd.system.entry.js} +1 -1
  687. package/lib/duet/{p-35990684.entry.js → p-6f891451.entry.js} +1 -1
  688. package/lib/duet/{p-ed961bc6.system.entry.js → p-71ef1651.system.entry.js} +1 -1
  689. package/lib/duet/{p-5eb2a31f.system.entry.js → p-73f176dc.system.entry.js} +1 -1
  690. package/lib/duet/{p-56bdad28.system.entry.js → p-75243a15.system.entry.js} +1 -1
  691. package/lib/duet/{p-c801ebee.entry.js → p-785ff4f2.entry.js} +1 -1
  692. package/lib/duet/{p-3639371a.system.entry.js → p-793d7e04.system.entry.js} +1 -1
  693. package/lib/duet/{p-a91c8a42.system.entry.js → p-7a085479.system.entry.js} +1 -1
  694. package/lib/duet/{p-54fbdedf.entry.js → p-7a832531.entry.js} +1 -1
  695. package/lib/duet/p-7a91a53e.system.entry.js +4 -0
  696. package/lib/duet/{p-2c78c637.system.entry.js → p-7b5cd54a.system.entry.js} +1 -1
  697. package/lib/duet/{p-9cba7f04.system.entry.js → p-7b847e11.system.entry.js} +1 -1
  698. package/lib/duet/{p-b0ab2ead.system.entry.js → p-7bbc5a65.system.entry.js} +1 -1
  699. package/lib/duet/{p-9f835123.system.entry.js → p-7e833901.system.entry.js} +1 -1
  700. package/lib/duet/{p-4f770f51.system.entry.js → p-81230084.system.entry.js} +1 -1
  701. package/lib/duet/{p-f75a1805.system.entry.js → p-8920edb7.system.entry.js} +1 -1
  702. package/lib/duet/{p-0606cea3.entry.js → p-8a16fb3c.entry.js} +1 -1
  703. package/lib/duet/{p-0c702d36.entry.js → p-8bc5df74.entry.js} +1 -1
  704. package/lib/duet/{p-c79a0641.entry.js → p-8cf2feaa.entry.js} +1 -1
  705. package/lib/duet/{p-fcbb30e1.entry.js → p-8d69624a.entry.js} +1 -1
  706. package/lib/duet/{p-39078c27.system.entry.js → p-8d8bdf90.system.entry.js} +2 -2
  707. package/lib/duet/{p-301ddafe.entry.js → p-8e414050.entry.js} +1 -1
  708. package/lib/duet/{p-0e89cbae.system.entry.js → p-8eb82556.system.entry.js} +1 -1
  709. package/lib/duet/{p-e6168195.entry.js → p-903efe1d.entry.js} +1 -1
  710. package/lib/duet/{p-79faf440.system.entry.js → p-9192de69.system.entry.js} +1 -1
  711. package/lib/duet/{p-e9be64de.system.entry.js → p-9308c47c.system.entry.js} +1 -1
  712. package/lib/duet/{p-61d39730.entry.js → p-97488cc9.entry.js} +1 -1
  713. package/lib/duet/{p-a0ecfa13.system.entry.js → p-97d72f16.system.entry.js} +1 -1
  714. package/lib/duet/{p-a8878fd3.entry.js → p-9aa0ebba.entry.js} +1 -1
  715. package/lib/duet/{p-30bd8807.entry.js → p-9de9d3eb.entry.js} +1 -1
  716. package/lib/duet/{p-8bf363f4.system.entry.js → p-9ec69dbc.system.entry.js} +1 -1
  717. package/lib/duet/{p-ccef6554.system.entry.js → p-9f39d6de.system.entry.js} +1 -1
  718. package/lib/duet/{p-c08928e1.system.entry.js → p-9fb3e7b4.system.entry.js} +1 -1
  719. package/lib/duet/{p-9e2a2cf7.entry.js → p-a4dd147b.entry.js} +1 -1
  720. package/lib/duet/{p-fab7c1ed.entry.js → p-a5504252.entry.js} +1 -1
  721. package/lib/duet/{p-50ec2074.entry.js → p-a59b5059.entry.js} +1 -1
  722. package/lib/duet/{p-716329a7.system.entry.js → p-aa6ad573.system.entry.js} +1 -1
  723. package/lib/duet/{p-8855bd51.entry.js → p-ab2da6f9.entry.js} +1 -1
  724. package/lib/duet/{p-032a613f.system.entry.js → p-ad0179fa.system.entry.js} +1 -1
  725. package/lib/duet/{p-ed011021.system.entry.js → p-ad3021d3.system.entry.js} +1 -1
  726. package/lib/duet/{p-1a877bd1.system.entry.js → p-ad5e3c9c.system.entry.js} +1 -1
  727. package/lib/duet/{p-bfeeee67.system.entry.js → p-b022a3d5.system.entry.js} +2 -2
  728. package/lib/duet/{p-50f4319b.system.entry.js → p-b036d4f0.system.entry.js} +1 -1
  729. package/lib/duet/{p-98d01f1c.system.entry.js → p-b27b1902.system.entry.js} +1 -1
  730. package/lib/duet/{p-1b3fde48.entry.js → p-b54be005.entry.js} +1 -1
  731. package/lib/duet/{p-37af6296.system.entry.js → p-b5831260.system.entry.js} +1 -1
  732. package/lib/duet/p-b5ffa156.entry.js +4 -0
  733. package/lib/duet/{p-b46fa994.system.entry.js → p-b62108c8.system.entry.js} +2 -2
  734. package/lib/duet/{p-6205bcb4.entry.js → p-b62ed1f0.entry.js} +1 -1
  735. package/lib/duet/{p-bdc59646.entry.js → p-b6af2626.entry.js} +1 -1
  736. package/lib/duet/{p-0558a17e.system.entry.js → p-b868bb09.system.entry.js} +1 -1
  737. package/lib/duet/{p-ff09528c.system.entry.js → p-b8b0249f.system.entry.js} +1 -1
  738. package/lib/duet/{p-def3df7d.entry.js → p-bc16a555.entry.js} +1 -1
  739. package/lib/duet/p-bcd1e9d8.system.entry.js +4 -0
  740. package/lib/duet/{p-ee796d5e.system.entry.js → p-bd97fff1.system.entry.js} +1 -1
  741. package/lib/duet/{p-e1d3c21e.entry.js → p-bf0e9413.entry.js} +1 -1
  742. package/lib/duet/{p-e3ffb537.system.entry.js → p-bf3bf531.system.entry.js} +1 -1
  743. package/lib/duet/{p-58a08a7b.system.entry.js → p-c0152624.system.entry.js} +1 -1
  744. package/lib/duet/{p-6da4db52.system.entry.js → p-c0c9acd9.system.entry.js} +1 -1
  745. package/lib/duet/{p-7a46b4ef.system.entry.js → p-c565698d.system.entry.js} +1 -1
  746. package/lib/duet/p-cb69ce4a.entry.js +4 -0
  747. package/lib/duet/{p-64b323bf.entry.js → p-cd8177fe.entry.js} +1 -1
  748. package/lib/duet/{p-68f3526e.entry.js → p-cfb85117.entry.js} +1 -1
  749. package/lib/duet/{p-c5725fee.system.entry.js → p-d13cb6f4.system.entry.js} +1 -1
  750. package/lib/duet/{p-efa6152d.entry.js → p-d2681203.entry.js} +1 -1
  751. package/lib/duet/{p-bf3331ed.entry.js → p-d3069a7b.entry.js} +1 -1
  752. package/lib/duet/{p-c23bf76f.system.entry.js → p-d32e9ae1.system.entry.js} +1 -1
  753. package/lib/duet/{p-13915ce0.entry.js → p-d41e819d.entry.js} +1 -1
  754. package/lib/duet/{p-463ddc2c.system.entry.js → p-d5d57b8f.system.entry.js} +1 -1
  755. package/lib/duet/{p-95df823b.entry.js → p-d73f7574.entry.js} +1 -1
  756. package/lib/duet/{p-ed8f7cac.entry.js → p-d8104d1b.entry.js} +1 -1
  757. package/lib/duet/{p-d5a9cfac.entry.js → p-d8ee9cc9.entry.js} +1 -1
  758. package/lib/duet/{p-7671b7b7.system.js → p-da20db91.system.js} +1 -1
  759. package/lib/duet/{p-5311f96e.system.entry.js → p-db14fdfd.system.entry.js} +1 -1
  760. package/lib/duet/{p-c4e79927.entry.js → p-dce5a6f9.entry.js} +1 -1
  761. package/lib/duet/p-dcfe6e27.system.entry.js +4 -0
  762. package/lib/duet/{p-8eff5e91.system.entry.js → p-e1f6b6f3.system.entry.js} +2 -2
  763. package/lib/duet/p-e3574b05.entry.js +4 -0
  764. package/lib/duet/{p-051488a0.system.entry.js → p-e3a8dcb3.system.entry.js} +1 -1
  765. package/lib/duet/{p-d02b92fa.entry.js → p-e3c5663f.entry.js} +1 -1
  766. package/lib/duet/{p-e4aa049f.system.entry.js → p-e6bd0e51.system.entry.js} +1 -1
  767. package/lib/duet/p-e79bf1c2.entry.js +4 -0
  768. package/lib/duet/{p-995e1b11.system.entry.js → p-e96a5f8b.system.entry.js} +1 -1
  769. package/lib/duet/{p-cef36d14.system.entry.js → p-ebe22b98.system.entry.js} +1 -1
  770. package/lib/duet/{p-5c0de81a.system.entry.js → p-ec98691e.system.entry.js} +1 -1
  771. package/lib/duet/p-f009e108.entry.js +4 -0
  772. package/lib/duet/{p-5ae9b74f.entry.js → p-f0dc0a5b.entry.js} +1 -1
  773. package/lib/duet/{p-da9fe13c.system.entry.js → p-f1d894da.system.entry.js} +1 -1
  774. package/lib/duet/{p-96f66e14.system.entry.js → p-f25e57fe.system.entry.js} +1 -1
  775. package/lib/duet/{p-efdbddb5.system.js → p-f3bf4d40.system.js} +1 -1
  776. package/lib/duet/{p-80d1a5d3.entry.js → p-f4493cb6.entry.js} +1 -1
  777. package/lib/duet/p-f7b58d72.system.js +5 -0
  778. package/lib/duet/{p-e7a22d84.system.entry.js → p-f8c64564.system.entry.js} +1 -1
  779. package/lib/duet/p-fabb616b.js +4 -0
  780. package/lib/duet/{p-5c5012f6.system.entry.js → p-fb30fcb0.system.entry.js} +1 -1
  781. package/lib/duet/{p-d4d7d607.system.entry.js → p-fb8a5b68.system.entry.js} +1 -1
  782. package/lib/duet/{p-34b5285b.system.entry.js → p-fc0fe631.system.entry.js} +2 -2
  783. package/lib/duet/{p-e491c098.system.entry.js → p-fc4f175f.system.entry.js} +1 -1
  784. package/lib/duet/{p-7de467b8.entry.js → p-ff815e47.entry.js} +1 -1
  785. package/lib/esm/app-globals-41b37f11.js +52 -0
  786. package/lib/esm/{common-strings-c0ac5a0b.js → common-strings-59db6973.js} +6 -6
  787. package/lib/esm/create-id-149a1b6d.js +11 -0
  788. package/lib/esm/duet-action-button.entry.js +133 -133
  789. package/lib/esm/duet-alert.entry.js +106 -106
  790. package/lib/esm/duet-badge.entry.js +29 -29
  791. package/lib/esm/duet-banner.entry.js +52 -52
  792. package/lib/esm/duet-breadcrumb.entry.js +41 -41
  793. package/lib/esm/duet-breadcrumbs.entry.js +51 -51
  794. package/lib/esm/duet-button_2.entry.js +229 -229
  795. package/lib/esm/duet-callout.entry.js +28 -28
  796. package/lib/esm/duet-caption_4.entry.js +187 -187
  797. package/lib/esm/duet-card.entry.js +93 -93
  798. package/lib/esm/duet-checkbox.entry.js +85 -85
  799. package/lib/esm/duet-checkmark.entry.js +23 -23
  800. package/lib/esm/duet-chip.entry.js +182 -182
  801. package/lib/esm/duet-choice_2.entry.js +392 -392
  802. package/lib/esm/duet-collapsible.entry.js +98 -98
  803. package/lib/esm/duet-combobox.entry.js +362 -362
  804. package/lib/esm/duet-contact-card.entry.js +49 -49
  805. package/lib/esm/duet-cookie-consent.entry.js +35 -35
  806. package/lib/esm/duet-date-picker.entry.js +610 -610
  807. package/lib/esm/duet-divider_2.entry.js +53 -53
  808. package/lib/esm/duet-editable-table_3.entry.js +1247 -1247
  809. package/lib/esm/duet-empty-state.entry.js +26 -26
  810. package/lib/esm/duet-fieldset.entry.js +50 -50
  811. package/lib/esm/duet-file-chooser.entry.js +44 -44
  812. package/lib/esm/duet-footer.entry.js +118 -118
  813. package/lib/esm/duet-grid_2.entry.js +185 -185
  814. package/lib/esm/duet-header_2.entry.js +610 -610
  815. package/lib/esm/duet-hero.entry.js +172 -172
  816. package/lib/esm/duet-icon.entry.js +141 -141
  817. package/lib/esm/duet-input_2.entry.js +346 -346
  818. package/lib/esm/duet-layout.entry.js +51 -51
  819. package/lib/esm/duet-list_2.entry.js +99 -99
  820. package/lib/esm/duet-menu-bar-button.entry.js +70 -70
  821. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +44 -44
  822. package/lib/esm/duet-menu-bar-dropdown.entry.js +93 -93
  823. package/lib/esm/duet-menu-bar-link.entry.js +58 -58
  824. package/lib/esm/duet-menu-bar.entry.js +116 -116
  825. package/lib/esm/duet-modal.entry.js +188 -188
  826. package/lib/esm/duet-multiselect.entry.js +206 -206
  827. package/lib/esm/duet-nav.entry.js +20 -20
  828. package/lib/esm/duet-notification_2.entry.js +140 -140
  829. package/lib/esm/duet-number-input.entry.js +337 -337
  830. package/lib/esm/duet-page-heading.entry.js +26 -26
  831. package/lib/esm/duet-pagination_2.entry.js +511 -511
  832. package/lib/esm/duet-popup-menu-item.entry.js +62 -62
  833. package/lib/esm/duet-popup-menu.entry.js +147 -147
  834. package/lib/esm/duet-progress.entry.js +54 -54
  835. package/lib/esm/duet-promo-card.entry.js +40 -40
  836. package/lib/esm/duet-radio_2.entry.js +197 -197
  837. package/lib/esm/duet-range-slider.entry.js +105 -105
  838. package/lib/esm/duet-scrollable_3.entry.js +384 -386
  839. package/lib/esm/duet-section-layout.entry.js +21 -21
  840. package/lib/esm/duet-select.entry.js +156 -156
  841. package/lib/esm/duet-shaped-image.entry.js +28 -28
  842. package/lib/esm/duet-show-more.entry.js +98 -98
  843. package/lib/esm/duet-slideout-lang.entry.js +36 -36
  844. package/lib/esm/duet-slideout-link.entry.js +33 -33
  845. package/lib/esm/duet-slideout-panel-dropdown.entry.js +50 -50
  846. package/lib/esm/duet-slideout-panel.entry.js +120 -120
  847. package/lib/esm/duet-slideout.entry.js +194 -194
  848. package/lib/esm/duet-step_2.entry.js +182 -184
  849. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +36 -36
  850. package/lib/esm/duet-submenu-bar-dropdown.entry.js +103 -103
  851. package/lib/esm/duet-submenu-bar-link.entry.js +59 -59
  852. package/lib/esm/duet-submenu-bar.entry.js +110 -110
  853. package/lib/esm/duet-textarea.entry.js +160 -160
  854. package/lib/esm/duet-toggle.entry.js +72 -72
  855. package/lib/esm/duet-toolbar-dropdown-link.entry.js +35 -35
  856. package/lib/esm/duet-toolbar-dropdown.entry.js +59 -59
  857. package/lib/esm/duet-toolbar-link.entry.js +31 -31
  858. package/lib/esm/duet-toolbar.entry.js +34 -34
  859. package/lib/esm/duet-tooltip-button_2.entry.js +98 -80
  860. package/lib/esm/duet-tooltip.entry.js +185 -187
  861. package/lib/esm/duet-tray.entry.js +82 -82
  862. package/lib/esm/duet-upload-aria-status.entry.js +65 -65
  863. package/lib/esm/duet-upload-item.entry.js +81 -81
  864. package/lib/esm/duet-visually-hidden.entry.js +12 -12
  865. package/lib/esm/duet.js +5 -5
  866. package/lib/esm/errorcodes.utils-e681347c.js +36 -0
  867. package/lib/esm/focus-utils-d54af982.js +18 -0
  868. package/lib/esm/{index-b3bf9761.js → index-d4489a2e.js} +106 -45
  869. package/lib/esm/input-utils-85681162.js +53 -0
  870. package/lib/esm/is-internet-explorer-2c48f686.js +9 -0
  871. package/lib/{dist-custom-elements/p-3d8d557b.js → esm/js-utils-9b9e0039.js} +27 -27
  872. package/lib/esm/{language-utils-9ff76444.js → language-utils-00ca4c55.js} +74 -74
  873. package/lib/esm/loader.js +4 -4
  874. package/lib/{dist-custom-elements/p-f8c76b25.js → esm/slot-query-022710bb.js} +1 -1
  875. package/lib/esm/string-utils-ca039233.js +55 -0
  876. package/lib/esm/teleport-4462e8c1.js +97 -0
  877. package/lib/esm/themeable-component-724c0f7e.js +13 -0
  878. package/lib/esm/token-utils-b4bd3ec7.js +117 -0
  879. package/lib/esm/watch-options-e96ecd92.js +57 -0
  880. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  881. package/lib/esm-es5/duet-alert.entry.js +1 -1
  882. package/lib/esm-es5/duet-badge.entry.js +1 -1
  883. package/lib/esm-es5/duet-banner.entry.js +1 -1
  884. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  885. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  886. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  887. package/lib/esm-es5/duet-callout.entry.js +1 -1
  888. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  889. package/lib/esm-es5/duet-card.entry.js +1 -1
  890. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  891. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  892. package/lib/esm-es5/duet-chip.entry.js +1 -1
  893. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  894. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  895. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  896. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  897. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  898. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  899. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  900. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  901. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  902. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  903. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  904. package/lib/esm-es5/duet-footer.entry.js +1 -1
  905. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  906. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  907. package/lib/esm-es5/duet-hero.entry.js +1 -1
  908. package/lib/esm-es5/duet-icon.entry.js +1 -1
  909. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  910. package/lib/esm-es5/duet-layout.entry.js +1 -1
  911. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  912. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  913. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  914. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  915. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  916. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  917. package/lib/esm-es5/duet-modal.entry.js +1 -1
  918. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  919. package/lib/esm-es5/duet-nav.entry.js +1 -1
  920. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  921. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  922. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  923. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  924. package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
  925. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  926. package/lib/esm-es5/duet-progress.entry.js +1 -1
  927. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  928. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  929. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  930. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  931. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  932. package/lib/esm-es5/duet-select.entry.js +1 -1
  933. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  934. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  935. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  936. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  937. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  938. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  939. package/lib/esm-es5/duet-slideout.entry.js +2 -2
  940. package/lib/esm-es5/duet-step_2.entry.js +2 -2
  941. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  942. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  943. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  944. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  945. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  946. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  947. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  948. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  949. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  950. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  951. package/lib/esm-es5/duet-tooltip-button_2.entry.js +2 -2
  952. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  953. package/lib/esm-es5/duet-tray.entry.js +1 -1
  954. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  955. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  956. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  957. package/lib/esm-es5/duet.js +1 -1
  958. package/lib/esm-es5/{errorcodes.utils-424b1197.js → errorcodes.utils-e681347c.js} +1 -1
  959. package/lib/esm-es5/focus-utils-d54af982.js +4 -0
  960. package/lib/esm-es5/index-d4489a2e.js +5 -0
  961. package/lib/esm-es5/{language-utils-9ff76444.js → language-utils-00ca4c55.js} +1 -1
  962. package/lib/esm-es5/loader.js +1 -1
  963. package/lib/types/common/a11y-component.d.ts +7 -7
  964. package/lib/types/common/form-components.d.ts +15 -15
  965. package/lib/types/common/themeable-component.d.ts +4 -4
  966. package/lib/types/components/duet-action-button/duet-action-button.d.ts +126 -126
  967. package/lib/types/components/duet-alert/duet-alert.d.ts +100 -100
  968. package/lib/types/components/duet-badge/duet-badge.d.ts +27 -27
  969. package/lib/types/components/duet-banner/duet-banner.d.ts +58 -58
  970. package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +32 -32
  971. package/lib/types/components/duet-breadcrumbs/duet-breadcrumbs.d.ts +23 -23
  972. package/lib/types/components/duet-button/duet-button.d.ts +219 -219
  973. package/lib/types/components/duet-callout/duet-callout.d.ts +19 -19
  974. package/lib/types/components/duet-caption/duet-caption.d.ts +26 -26
  975. package/lib/types/components/duet-card/duet-card.d.ts +119 -119
  976. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +132 -132
  977. package/lib/types/components/duet-chip/duet-chip.d.ts +109 -109
  978. package/lib/types/components/duet-choice/duet-checkmark.d.ts +27 -27
  979. package/lib/types/components/duet-choice/duet-choice.d.ts +259 -259
  980. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +103 -103
  981. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +88 -88
  982. package/lib/types/components/duet-combobox/duet-combobox-select-single.d.ts +3 -3
  983. package/lib/types/components/duet-combobox/duet-combobox-select.d.ts +8 -8
  984. package/lib/types/components/duet-combobox/duet-combobox.d.ts +135 -135
  985. package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +60 -60
  986. package/lib/types/components/duet-cookie-consent/duet-cookie-consent.d.ts +29 -29
  987. package/lib/types/components/duet-date-picker/date-i18n.d.ts +13 -13
  988. package/lib/types/components/duet-date-picker/date-picker-day.d.ts +9 -9
  989. package/lib/types/components/duet-date-picker/date-picker-input.d.ts +28 -28
  990. package/lib/types/components/duet-date-picker/date-picker-month.d.ts +12 -12
  991. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +220 -220
  992. package/lib/types/components/duet-divider/duet-divider.d.ts +26 -26
  993. package/lib/types/components/duet-editable-table/duet-editable-table-tabledata.d.ts +3 -3
  994. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +133 -133
  995. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +22 -22
  996. package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +60 -60
  997. package/lib/types/components/duet-file-chooser/duet-file-chooser.d.ts +35 -35
  998. package/lib/types/components/duet-footer/duet-footer.d.ts +143 -143
  999. package/lib/types/components/duet-grid/duet-grid.d.ts +73 -73
  1000. package/lib/types/components/duet-grid-item/duet-grid-item.d.ts +49 -49
  1001. package/lib/types/components/duet-header/duet-header-dropdown.d.ts +11 -11
  1002. package/lib/types/components/duet-header/duet-header-icon.d.ts +3 -3
  1003. package/lib/types/components/duet-header/duet-header.d.ts +347 -347
  1004. package/lib/types/components/duet-heading/duet-heading.d.ts +49 -49
  1005. package/lib/types/components/duet-hero/duet-hero.d.ts +198 -198
  1006. package/lib/types/components/duet-icon/duet-icon.d.ts +79 -79
  1007. package/lib/types/components/duet-input/duet-input.d.ts +279 -279
  1008. package/lib/types/components/duet-label/duet-label.d.ts +26 -26
  1009. package/lib/types/components/duet-layout/duet-layout.d.ts +48 -48
  1010. package/lib/types/components/duet-link/duet-link.d.ts +94 -94
  1011. package/lib/types/components/duet-list/duet-list.d.ts +60 -60
  1012. package/lib/types/components/duet-list-item/duet-list-item.d.ts +17 -17
  1013. package/lib/types/components/duet-logo/duet-logo.d.ts +59 -59
  1014. package/lib/types/components/duet-menu-bar/duet-menu-bar.d.ts +68 -68
  1015. package/lib/types/components/duet-menu-bar-button/duet-menu-bar-button.d.ts +84 -84
  1016. package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +49 -49
  1017. package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +36 -36
  1018. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +44 -44
  1019. package/lib/types/components/duet-modal/duet-modal.d.ts +155 -155
  1020. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +153 -153
  1021. package/lib/types/components/duet-nav/duet-nav.d.ts +20 -20
  1022. package/lib/types/components/duet-notification/duet-notification.d.ts +55 -55
  1023. package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +83 -83
  1024. package/lib/types/components/duet-number-input/duet-number-input.d.ts +230 -230
  1025. package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +25 -25
  1026. package/lib/types/components/duet-pagination/duet-pagination.d.ts +129 -129
  1027. package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +38 -38
  1028. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +80 -80
  1029. package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +73 -73
  1030. package/lib/types/components/duet-progress/duet-progress.d.ts +71 -71
  1031. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +42 -42
  1032. package/lib/types/components/duet-radio/duet-radio.d.ts +145 -145
  1033. package/lib/types/components/duet-radio-group/duet-radio-group.d.ts +93 -93
  1034. package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +130 -130
  1035. package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +68 -68
  1036. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +61 -61
  1037. package/lib/types/components/duet-section-layout/duet-section-layout.d.ts +17 -17
  1038. package/lib/types/components/duet-select/duet-select.d.ts +179 -179
  1039. package/lib/types/components/duet-shaped-image/duet-shaped-image.d.ts +30 -30
  1040. package/lib/types/components/duet-show-more/duet-show-more.d.ts +83 -83
  1041. package/lib/types/components/duet-slideout/duet-slideout.d.ts +86 -86
  1042. package/lib/types/components/duet-slideout-lang/duet-slideout-lang.d.ts +24 -24
  1043. package/lib/types/components/duet-slideout-link/duet-slideout-link.d.ts +55 -55
  1044. package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +55 -55
  1045. package/lib/types/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.d.ts +39 -39
  1046. package/lib/types/components/duet-spacer/duet-spacer.d.ts +18 -18
  1047. package/lib/types/components/duet-spinner/duet-spinner.d.ts +30 -30
  1048. package/lib/types/components/duet-step/duet-step.d.ts +66 -66
  1049. package/lib/types/components/duet-stepper/duet-stepper.d.ts +47 -47
  1050. package/lib/types/components/duet-submenu-bar/duet-submenu-bar.d.ts +50 -50
  1051. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +47 -47
  1052. package/lib/types/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.d.ts +43 -43
  1053. package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +39 -39
  1054. package/lib/types/components/duet-tab/duet-tab.d.ts +37 -37
  1055. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +132 -132
  1056. package/lib/types/components/duet-table/duet-table.d.ts +66 -66
  1057. package/lib/types/components/duet-textarea/duet-textarea.d.ts +200 -200
  1058. package/lib/types/components/duet-toggle/duet-toggle.d.ts +113 -113
  1059. package/lib/types/components/duet-toolbar/duet-toolbar.d.ts +30 -30
  1060. package/lib/types/components/duet-toolbar-dropdown/duet-toolbar-dropdown.d.ts +50 -50
  1061. package/lib/types/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.d.ts +43 -43
  1062. package/lib/types/components/duet-toolbar-link/duet-toolbar-link.d.ts +42 -42
  1063. package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +22 -19
  1064. package/lib/types/components/duet-tooltip/duet-tooltip-popup.d.ts +34 -31
  1065. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +122 -122
  1066. package/lib/types/components/duet-tray/duet-tray.d.ts +84 -84
  1067. package/lib/types/components/duet-upload/duet-upload.d.ts +484 -484
  1068. package/lib/types/components/duet-upload/errorcodes.utils.d.ts +3 -3
  1069. package/lib/types/components/duet-upload/upload-editable-item-error.d.ts +2 -2
  1070. package/lib/types/components/duet-upload/upload-editable-item-inprogres.d.ts +2 -2
  1071. package/lib/types/components/duet-upload/upload-editable-item-pending.d.ts +1 -1
  1072. package/lib/types/components/duet-upload/upload-editable-item-success.d.ts +2 -2
  1073. package/lib/types/components/duet-upload/upload-item-header.d.ts +2 -2
  1074. package/lib/types/components/duet-upload/upload-validators.d.ts +4 -4
  1075. package/lib/types/components/duet-upload/xhr.helpers.d.ts +10 -10
  1076. package/lib/types/components/duet-upload-aria-status/duet-upload-aria-status.d.ts +40 -40
  1077. package/lib/types/components/duet-upload-item/duet-upload-item.d.ts +54 -54
  1078. package/lib/types/components/duet-visually-hidden/duet-visually-hidden.d.ts +6 -6
  1079. package/lib/types/stencil-public-runtime.d.ts +8 -0
  1080. package/lib/types/utils/axe-core-utils.d.ts +3 -3
  1081. package/lib/types/utils/fixture-utils.d.ts +2 -2
  1082. package/lib/types/utils/focus-utils.d.ts +2 -2
  1083. package/lib/types/utils/language-utils.d.ts +10 -10
  1084. package/lib/types/utils/picture-utils.d.ts +10 -10
  1085. package/lib/types/utils/teleport.d.ts +20 -20
  1086. package/lib/types/utils/template-utils.d.ts +1 -1
  1087. package/lib/types/utils/test-utils.d.ts +2 -2
  1088. package/lib/types/utils/token-utils.d.ts +9 -9
  1089. package/package.json +6 -6
  1090. package/lib/cjs/app-globals-4ab83f59.js +0 -54
  1091. package/lib/cjs/create-id-167cd350.js +0 -13
  1092. package/lib/cjs/errorcodes.utils-8e928de5.js +0 -39
  1093. package/lib/cjs/focus-utils-aea9f4e1.js +0 -21
  1094. package/lib/cjs/input-utils-b4615782.js +0 -56
  1095. package/lib/cjs/string-utils-51a2f59f.js +0 -59
  1096. package/lib/cjs/teleport-af825e04.js +0 -99
  1097. package/lib/cjs/themeable-component-0be6d1f4.js +0 -15
  1098. package/lib/cjs/token-utils-dbfeff2e.js +0 -124
  1099. package/lib/cjs/watch-options-1773d69f.js +0 -61
  1100. package/lib/dist-custom-elements/p-03ac3eb3.js +0 -137
  1101. package/lib/dist-custom-elements/p-1a395a8d.js +0 -55
  1102. package/lib/dist-custom-elements/p-1ce55654.js +0 -265
  1103. package/lib/dist-custom-elements/p-1f56e02f.js +0 -174
  1104. package/lib/dist-custom-elements/p-24853ebf.js +0 -97
  1105. package/lib/dist-custom-elements/p-268171f7.js +0 -9
  1106. package/lib/dist-custom-elements/p-3049dfd5.js +0 -147
  1107. package/lib/dist-custom-elements/p-45f71a69.js +0 -11
  1108. package/lib/dist-custom-elements/p-4687ca41.js +0 -465
  1109. package/lib/dist-custom-elements/p-5d8d9a52.js +0 -98
  1110. package/lib/dist-custom-elements/p-62e68de8.js +0 -38
  1111. package/lib/dist-custom-elements/p-64cd1abb.js +0 -93
  1112. package/lib/dist-custom-elements/p-665418f0.js +0 -205
  1113. package/lib/dist-custom-elements/p-759c725f.js +0 -226
  1114. package/lib/dist-custom-elements/p-77f2dbee.js +0 -53
  1115. package/lib/dist-custom-elements/p-80ec4336.js +0 -123
  1116. package/lib/dist-custom-elements/p-8be301dd.js +0 -62
  1117. package/lib/dist-custom-elements/p-9541f0b6.js +0 -59
  1118. package/lib/dist-custom-elements/p-a1371eee.js +0 -57
  1119. package/lib/dist-custom-elements/p-a3923b18.js +0 -126
  1120. package/lib/dist-custom-elements/p-c5032d3a.js +0 -18
  1121. package/lib/dist-custom-elements/p-d48735b6.js +0 -13
  1122. package/lib/dist-custom-elements/p-e19d1e27.js +0 -117
  1123. package/lib/dist-custom-elements/p-e6b07569.js +0 -271
  1124. package/lib/dist-custom-elements/p-e77f7fff.js +0 -60
  1125. package/lib/dist-custom-elements/p-f27e355b.js +0 -76
  1126. package/lib/dist-custom-elements/p-f46be918.js +0 -110
  1127. package/lib/dist-custom-elements/p-fd4877d1.js +0 -72
  1128. package/lib/dist-custom-elements/p-fe8a2205.js +0 -206
  1129. package/lib/duet/p-08764d71.entry.js +0 -4
  1130. package/lib/duet/p-0a664ebb.entry.js +0 -4
  1131. package/lib/duet/p-11571ab9.entry.js +0 -4
  1132. package/lib/duet/p-4669b0af.js +0 -4
  1133. package/lib/duet/p-486eec2d.entry.js +0 -4
  1134. package/lib/duet/p-4dc0fff9.entry.js +0 -4
  1135. package/lib/duet/p-52806dad.system.entry.js +0 -4
  1136. package/lib/duet/p-6c4c0279.js +0 -5
  1137. package/lib/duet/p-7bca584a.entry.js +0 -4
  1138. package/lib/duet/p-7c36b779.entry.js +0 -4
  1139. package/lib/duet/p-821c350f.system.entry.js +0 -4
  1140. package/lib/duet/p-a0660ffa.system.js +0 -5
  1141. package/lib/duet/p-ac9f6601.entry.js +0 -4
  1142. package/lib/duet/p-b3ae5641.system.entry.js +0 -4
  1143. package/lib/duet/p-c1bc9249.entry.js +0 -4
  1144. package/lib/duet/p-d098d59c.system.entry.js +0 -4
  1145. package/lib/duet/p-f58eb425.js +0 -4
  1146. package/lib/duet/p-fab6160a.entry.js +0 -4
  1147. package/lib/esm/app-globals-de2a5510.js +0 -52
  1148. package/lib/esm/create-id-2b0cd46d.js +0 -11
  1149. package/lib/esm/errorcodes.utils-424b1197.js +0 -36
  1150. package/lib/esm/focus-utils-74961919.js +0 -18
  1151. package/lib/esm/input-utils-a0225b92.js +0 -53
  1152. package/lib/esm/is-internet-explorer-032d4dae.js +0 -9
  1153. package/lib/esm/string-utils-59ad4cb2.js +0 -55
  1154. package/lib/esm/teleport-15747328.js +0 -97
  1155. package/lib/esm/themeable-component-fdce4fd7.js +0 -13
  1156. package/lib/esm/token-utils-46c8fe31.js +0 -117
  1157. package/lib/esm/watch-options-f189118b.js +0 -57
  1158. package/lib/esm-es5/focus-utils-74961919.js +0 -4
  1159. package/lib/esm-es5/index-b3bf9761.js +0 -5
  1160. /package/lib/duet/{p-b1db3006.js → p-0782a6e5.js} +0 -0
  1161. /package/lib/duet/{p-1a395a8d.js → p-0e052642.js} +0 -0
  1162. /package/lib/duet/{p-f8c76b25.js → p-11230037.js} +0 -0
  1163. /package/lib/duet/{p-0b31864f.js → p-38320af8.js} +0 -0
  1164. /package/lib/duet/{p-c30a5f7c.system.js → p-41982d26.system.js} +0 -0
  1165. /package/lib/duet/{p-268171f7.js → p-43b89e38.js} +0 -0
  1166. /package/lib/duet/{p-274d11e3.js → p-4ab776f4.js} +0 -0
  1167. /package/lib/duet/{p-77b6e4ba.system.js → p-50f4bca2.system.js} +0 -0
  1168. /package/lib/duet/{p-45f71a69.js → p-5e59e970.js} +0 -0
  1169. /package/lib/duet/{p-75daef16.system.js → p-634e8787.system.js} +0 -0
  1170. /package/lib/duet/{p-719b38fe.system.js → p-67c653f9.system.js} +0 -0
  1171. /package/lib/duet/{p-b99c00fa.system.js → p-6ef75455.system.js} +0 -0
  1172. /package/lib/duet/{p-a1371eee.js → p-7d8a2628.js} +0 -0
  1173. /package/lib/duet/{p-21f3a17a.system.js → p-81a6df68.system.js} +0 -0
  1174. /package/lib/duet/{p-ecf1f6cd.system.js → p-9e36548d.system.js} +0 -0
  1175. /package/lib/duet/{p-3d8d557b.js → p-9e371678.js} +0 -0
  1176. /package/lib/duet/{p-d48735b6.js → p-a58bd561.js} +0 -0
  1177. /package/lib/duet/{p-8e1da663.system.js → p-afad5fd3.system.js} +0 -0
  1178. /package/lib/duet/{p-24853ebf.js → p-b2e550a3.js} +0 -0
  1179. /package/lib/duet/{p-7c29d36a.system.js → p-b864159a.system.js} +0 -0
  1180. /package/lib/duet/{p-88a50491.system.js → p-d1cedaa1.system.js} +0 -0
  1181. /package/lib/duet/{p-77f2dbee.js → p-df7874f9.js} +0 -0
  1182. /package/lib/duet/{p-87dd7bf3.system.js → p-e12066c8.system.js} +0 -0
  1183. /package/lib/duet/{p-1a91e22a.system.js → p-e6b5a1c7.system.js} +0 -0
  1184. /package/lib/esm-es5/{app-globals-de2a5510.js → app-globals-41b37f11.js} +0 -0
  1185. /package/lib/esm-es5/{common-strings-c0ac5a0b.js → common-strings-59db6973.js} +0 -0
  1186. /package/lib/esm-es5/{create-id-2b0cd46d.js → create-id-149a1b6d.js} +0 -0
  1187. /package/lib/esm-es5/{input-utils-a0225b92.js → input-utils-85681162.js} +0 -0
  1188. /package/lib/esm-es5/{is-internet-explorer-032d4dae.js → is-internet-explorer-2c48f686.js} +0 -0
  1189. /package/lib/esm-es5/{js-utils-a35dcc8c.js → js-utils-9b9e0039.js} +0 -0
  1190. /package/lib/esm-es5/{slot-query-7877f18f.js → slot-query-022710bb.js} +0 -0
  1191. /package/lib/esm-es5/{string-utils-59ad4cb2.js → string-utils-ca039233.js} +0 -0
  1192. /package/lib/esm-es5/{teleport-15747328.js → teleport-4462e8c1.js} +0 -0
  1193. /package/lib/esm-es5/{themeable-component-fdce4fd7.js → themeable-component-724c0f7e.js} +0 -0
  1194. /package/lib/esm-es5/{token-utils-46c8fe31.js → token-utils-b4bd3ec7.js} +0 -0
  1195. /package/lib/esm-es5/{watch-options-f189118b.js → watch-options-e96ecd92.js} +0 -0
@@ -1,145 +1,145 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { p as proxyCustomElement, H, c as createEvent, h as h$1, d as Host } from './p-7247d0b2.js';
5
- import { i as inheritGlobalTheme } from './p-d48735b6.js';
6
- import { c as createID } from './p-45f71a69.js';
7
- import { F as FocusGuard } from './p-c5032d3a.js';
8
- import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './p-4883df66.js';
4
+ import { p as proxyCustomElement, H, c as createEvent, h as h$1, d as Host } from './p-6f7dcc4d.js';
5
+ import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
+ import { c as createID } from './p-5e59e970.js';
7
+ import { F as FocusGuard } from './p-eef66341.js';
8
+ import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './p-2e36d5bf.js';
9
9
  import { h } from './p-62c7d9d4.js';
10
- import { d as defineCustomElement$c } from './p-fe8a2205.js';
11
- import { d as defineCustomElement$b } from './p-2b1a35cd.js';
12
- import { d as defineCustomElement$a } from './p-e77f7fff.js';
13
- import { d as defineCustomElement$9 } from './p-180c0d2d.js';
14
- import { d as defineCustomElement$8 } from './p-4687ca41.js';
15
- import { d as defineCustomElement$7 } from './p-ba870310.js';
16
- import { d as defineCustomElement$6 } from './p-bcfb9e03.js';
17
- import { d as defineCustomElement$5 } from './p-e6b07569.js';
18
- import { d as defineCustomElement$4 } from './p-fd4877d1.js';
19
- import { d as defineCustomElement$3 } from './p-e4355989.js';
20
- import { d as defineCustomElement$2 } from './p-62e68de8.js';
10
+ import { d as defineCustomElement$c } from './p-402e81c0.js';
11
+ import { d as defineCustomElement$b } from './p-5fe36e8b.js';
12
+ import { d as defineCustomElement$a } from './p-98746766.js';
13
+ import { d as defineCustomElement$9 } from './p-76b345c8.js';
14
+ import { d as defineCustomElement$8 } from './p-86649f25.js';
15
+ import { d as defineCustomElement$7 } from './p-ba9ad148.js';
16
+ import { d as defineCustomElement$6 } from './p-d5fc2405.js';
17
+ import { d as defineCustomElement$5 } from './p-f91cddd9.js';
18
+ import { d as defineCustomElement$4 } from './p-0825cbc5.js';
19
+ import { d as defineCustomElement$3 } from './p-ce1cc5ab.js';
20
+ import { d as defineCustomElement$2 } from './p-d5f3b174.js';
21
21
 
22
22
  const formatOptionsShort = { day: "numeric", month: "long" };
23
23
  const formatOptionsLong = { day: "numeric", month: "long", year: "numeric" };
24
24
  const i18n = {
25
- fi: {
26
- buttonLabel: "Valitse päivämäärä",
27
- prevMonthLabel: "Edellinen kuukausi",
28
- nextMonthLabel: "Seuraava kuukausi",
29
- monthSelectLabel: "Kuukausi",
30
- yearSelectLabel: "Vuosi",
31
- closeLabel: "Sulje ikkuna",
32
- selected: "Valittu päivämäärä on",
33
- keyboardInstruction: "Voit navigoida päivämääriä nuolinäppäimillä",
34
- dayLabels: ["Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai", "Sunnuntai"],
35
- monthLabels: [
36
- "Tammikuu",
37
- "Helmikuu",
38
- "Maaliskuu",
39
- "Huhtikuu",
40
- "Toukokuu",
41
- "Kesäkuu",
42
- "Heinäkuu",
43
- "Elokuu",
44
- "Syyskuu",
45
- "Lokakuu",
46
- "Marraskuu",
47
- "Joulukuu",
48
- ],
49
- monthLabelsShort: [
50
- "Tammi",
51
- "Helmi",
52
- "Maalis",
53
- "Huhti",
54
- "Touko",
55
- "Kesä",
56
- "Heinä",
57
- "Elo",
58
- "Syys",
59
- "Loka",
60
- "Marras",
61
- "Joulu",
62
- ],
63
- formatterShort: new Intl.DateTimeFormat("fi-FI", formatOptionsShort),
64
- formatterLong: new Intl.DateTimeFormat("fi-FI", formatOptionsLong),
65
- },
66
- en: {
67
- buttonLabel: "Choose date",
68
- prevMonthLabel: "Previous month",
69
- nextMonthLabel: "Next month",
70
- monthSelectLabel: "Month",
71
- yearSelectLabel: "Year",
72
- closeLabel: "Close window",
73
- selected: "Selected date is",
74
- keyboardInstruction: "You can use arrow keys to navigate dates",
75
- dayLabels: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
76
- monthLabels: [
77
- "January",
78
- "February",
79
- "March",
80
- "April",
81
- "May",
82
- "June",
83
- "July",
84
- "August",
85
- "September",
86
- "October",
87
- "November",
88
- "December",
89
- ],
90
- monthLabelsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
91
- formatterShort: new Intl.DateTimeFormat("en-GB", formatOptionsShort),
92
- formatterLong: new Intl.DateTimeFormat("en-GB", formatOptionsLong),
93
- },
94
- sv: {
95
- buttonLabel: "Välj datum",
96
- prevMonthLabel: "Föregående månad",
97
- nextMonthLabel: "Nästa månad",
98
- monthSelectLabel: "Månad",
99
- yearSelectLabel: "År",
100
- closeLabel: "Stäng fönstret",
101
- selected: "Valt datum är",
102
- keyboardInstruction: "Använd piltangenterna för att navigera i kalender",
103
- dayLabels: ["Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"],
104
- monthLabels: [
105
- "Januari",
106
- "Februari",
107
- "Mars",
108
- "April",
109
- "Maj",
110
- "Juni",
111
- "Juli",
112
- "Augusti",
113
- "September",
114
- "Oktober",
115
- "November",
116
- "December",
117
- ],
118
- monthLabelsShort: ["Jan", "Feb", "Mars", "April", "Maj", "Juni", "Juli", "Aug", "Sep", "Okt", "Nov", "Dec"],
119
- formatterShort: new Intl.DateTimeFormat("sv-SE", formatOptionsShort),
120
- formatterLong: new Intl.DateTimeFormat("sv-SE", formatOptionsLong),
121
- },
25
+ fi: {
26
+ buttonLabel: "Valitse päivämäärä",
27
+ prevMonthLabel: "Edellinen kuukausi",
28
+ nextMonthLabel: "Seuraava kuukausi",
29
+ monthSelectLabel: "Kuukausi",
30
+ yearSelectLabel: "Vuosi",
31
+ closeLabel: "Sulje ikkuna",
32
+ selected: "Valittu päivämäärä on",
33
+ keyboardInstruction: "Voit navigoida päivämääriä nuolinäppäimillä",
34
+ dayLabels: ["Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai", "Sunnuntai"],
35
+ monthLabels: [
36
+ "Tammikuu",
37
+ "Helmikuu",
38
+ "Maaliskuu",
39
+ "Huhtikuu",
40
+ "Toukokuu",
41
+ "Kesäkuu",
42
+ "Heinäkuu",
43
+ "Elokuu",
44
+ "Syyskuu",
45
+ "Lokakuu",
46
+ "Marraskuu",
47
+ "Joulukuu",
48
+ ],
49
+ monthLabelsShort: [
50
+ "Tammi",
51
+ "Helmi",
52
+ "Maalis",
53
+ "Huhti",
54
+ "Touko",
55
+ "Kesä",
56
+ "Heinä",
57
+ "Elo",
58
+ "Syys",
59
+ "Loka",
60
+ "Marras",
61
+ "Joulu",
62
+ ],
63
+ formatterShort: new Intl.DateTimeFormat("fi-FI", formatOptionsShort),
64
+ formatterLong: new Intl.DateTimeFormat("fi-FI", formatOptionsLong),
65
+ },
66
+ en: {
67
+ buttonLabel: "Choose date",
68
+ prevMonthLabel: "Previous month",
69
+ nextMonthLabel: "Next month",
70
+ monthSelectLabel: "Month",
71
+ yearSelectLabel: "Year",
72
+ closeLabel: "Close window",
73
+ selected: "Selected date is",
74
+ keyboardInstruction: "You can use arrow keys to navigate dates",
75
+ dayLabels: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
76
+ monthLabels: [
77
+ "January",
78
+ "February",
79
+ "March",
80
+ "April",
81
+ "May",
82
+ "June",
83
+ "July",
84
+ "August",
85
+ "September",
86
+ "October",
87
+ "November",
88
+ "December",
89
+ ],
90
+ monthLabelsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
91
+ formatterShort: new Intl.DateTimeFormat("en-GB", formatOptionsShort),
92
+ formatterLong: new Intl.DateTimeFormat("en-GB", formatOptionsLong),
93
+ },
94
+ sv: {
95
+ buttonLabel: "Välj datum",
96
+ prevMonthLabel: "Föregående månad",
97
+ nextMonthLabel: "Nästa månad",
98
+ monthSelectLabel: "Månad",
99
+ yearSelectLabel: "År",
100
+ closeLabel: "Stäng fönstret",
101
+ selected: "Valt datum är",
102
+ keyboardInstruction: "Använd piltangenterna för att navigera i kalender",
103
+ dayLabels: ["Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"],
104
+ monthLabels: [
105
+ "Januari",
106
+ "Februari",
107
+ "Mars",
108
+ "April",
109
+ "Maj",
110
+ "Juni",
111
+ "Juli",
112
+ "Augusti",
113
+ "September",
114
+ "Oktober",
115
+ "November",
116
+ "December",
117
+ ],
118
+ monthLabelsShort: ["Jan", "Feb", "Mars", "April", "Maj", "Juni", "Juli", "Aug", "Sep", "Okt", "Nov", "Dec"],
119
+ formatterShort: new Intl.DateTimeFormat("sv-SE", formatOptionsShort),
120
+ formatterLong: new Intl.DateTimeFormat("sv-SE", formatOptionsLong),
121
+ },
122
122
  };
123
123
 
124
124
  var formDate={"title":"form-date","tags":"form date calendar date picker","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M2.25 24A2.252 2.252 0 0 1 0 21.75V5.25A2.252 2.252 0 0 1 2.25 3H6V.75a.75.75 0 0 1 1.5 0V3h9V.75a.75.75 0 0 1 1.5 0V3h3.75A2.252 2.252 0 0 1 24 5.25v16.5A2.252 2.252 0 0 1 21.75 24zm-.75-2.25c0 .414.336.75.75.75h19.5a.75.75 0 0 0 .75-.75V10.5h-21zM22.5 9V5.25a.75.75 0 0 0-.75-.75H18V6a.75.75 0 0 1-1.5 0V4.5h-9V6A.75.75 0 0 1 6 6V4.5H2.25a.75.75 0 0 0-.75.75V9z\"/><circle cx=\"5.625\" cy=\"13.875\" r=\"1.125\"/><circle cx=\"5.625\" cy=\"19.125\" r=\"1.125\"/><circle cx=\"12\" cy=\"13.875\" r=\"1.125\"/><circle cx=\"12\" cy=\"19.125\" r=\"1.125\"/><circle cx=\"18.375\" cy=\"13.875\" r=\"1.125\"/><path d=\"M18.375 20.25c-.62 0-1.125-.505-1.125-1.125a1.127 1.127 0 0 1 1.171-1.122l.027.003a1.118 1.118 0 0 1 1.052 1.12c0 .619-.505 1.124-1.125 1.124z\"/></svg>"};
125
125
 
126
126
  const DatePickerInput = ({ onClick, placeholder, name, inputLabel, value, valueAsDate, formattedValue, language, identifier, theme, disabled, error, role, required, tooltip, tooltipDirection, labelHidden, buttonRef, inputRef, onInput, onBlur, onFocus, accessibleActiveDescendant, accessibleControls, accessibleOwns, accessibleDescribedBy, echoPlaceholder, caption, }) => {
127
- const { buttonLabel, selected, formatterLong } = i18n[language];
128
- return (h("div", { class: {
129
- "duet-theme-turva": theme === "turva",
130
- "duet-date-input": true,
131
- } },
132
- h("duet-input", { label: inputLabel, value: formattedValue, placeholder: placeholder, id: identifier, disabled: disabled, theme: theme, error: error, role: role, required: required, tooltip: tooltip, tooltipDirection: tooltipDirection, margin: "none", component: "date", labelHidden: labelHidden, accessibleAutocomplete: "none", onDuetInput: onInput, onDuetFocus: onFocus, onDuetBlur: onBlur, autoComplete: "off", disallowPattern: "[^0-9\\.\\-\\/]", expand: true, ref: inputRef, accessibleActiveDescendant: accessibleActiveDescendant, accessibleControls: accessibleControls, accessibleOwns: accessibleOwns, accessibleDescribedBy: accessibleDescribedBy, echoPlaceholder: echoPlaceholder, caption: caption },
133
- h("button", { class: { "duet-date-button": true, "duet-no-label": labelHidden }, onClick: onClick, disabled: disabled, ref: buttonRef, type: "button" },
134
- h("duet-icon", { icon: formDate.svg, margin: "none", size: "small", color: "currentColor" }),
135
- h("duet-visually-hidden", null,
136
- buttonLabel,
137
- valueAsDate && (h("span", null,
138
- ", ",
139
- selected,
140
- " ",
141
- formatterLong.format(valueAsDate)))))),
142
- h("input", { type: "hidden", name: name, value: value })));
127
+ const { buttonLabel, selected, formatterLong } = i18n[language];
128
+ return (h("div", { class: {
129
+ "duet-theme-turva": theme === "turva",
130
+ "duet-date-input": true,
131
+ } },
132
+ h("duet-input", { label: inputLabel, value: formattedValue, placeholder: placeholder, id: identifier, disabled: disabled, theme: theme, error: error, role: role, required: required, tooltip: tooltip, tooltipDirection: tooltipDirection, margin: "none", component: "date", labelHidden: labelHidden, accessibleAutocomplete: "none", onDuetInput: onInput, onDuetFocus: onFocus, onDuetBlur: onBlur, autoComplete: "off", disallowPattern: "[^0-9\\.\\-\\/]", expand: true, ref: inputRef, accessibleActiveDescendant: accessibleActiveDescendant, accessibleControls: accessibleControls, accessibleOwns: accessibleOwns, accessibleDescribedBy: accessibleDescribedBy, echoPlaceholder: echoPlaceholder, caption: caption },
133
+ h("button", { class: { "duet-date-button": true, "duet-no-label": labelHidden }, onClick: onClick, disabled: disabled, ref: buttonRef, type: "button" },
134
+ h("duet-icon", { icon: formDate.svg, margin: "none", size: "small", color: "currentColor" }),
135
+ h("duet-visually-hidden", null,
136
+ buttonLabel,
137
+ valueAsDate && (h("span", null,
138
+ ", ",
139
+ selected,
140
+ " ",
141
+ formatterLong.format(valueAsDate)))))),
142
+ h("input", { type: "hidden", name: name, value: value })));
143
143
  };
144
144
 
145
145
  const DATE_FORMAT = /^(\d{1,2})[\.\-\/](\d{1,2})[\.\-\/](\d{4})$/;
@@ -147,142 +147,142 @@ const ISO_DATE_FORMAT = /^(\d{4})-(\d{2})-(\d{2})$/;
147
147
  const DATE_OUTPUT_FORMAT = "dd.mm.yyyy";
148
148
  const DATE_ISO_OUTPUT_FORMAT = "YYYY-MM-DD";
149
149
  function createDate(year, month, day) {
150
- var dayInt = parseInt(day, 10);
151
- var monthInt = parseInt(month, 10);
152
- var yearInt = parseInt(year, 10);
153
- const isValid = Number.isInteger(yearInt) && // all parts should be integers
154
- Number.isInteger(monthInt) &&
155
- Number.isInteger(dayInt) &&
156
- monthInt > 0 && // month must be 1-12
157
- monthInt <= 12 &&
158
- dayInt > 0 && // day must be 1-31
159
- dayInt <= 31 &&
160
- yearInt > 0;
161
- if (isValid) {
162
- return new Date(yearInt, monthInt - 1, dayInt);
163
- }
150
+ var dayInt = parseInt(day, 10);
151
+ var monthInt = parseInt(month, 10);
152
+ var yearInt = parseInt(year, 10);
153
+ const isValid = Number.isInteger(yearInt) && // all parts should be integers
154
+ Number.isInteger(monthInt) &&
155
+ Number.isInteger(dayInt) &&
156
+ monthInt > 0 && // month must be 1-12
157
+ monthInt <= 12 &&
158
+ dayInt > 0 && // day must be 1-31
159
+ dayInt <= 31 &&
160
+ yearInt > 0;
161
+ if (isValid) {
162
+ return new Date(yearInt, monthInt - 1, dayInt);
163
+ }
164
164
  }
165
165
  /**
166
166
  * @param value date string in format dd.mm.yyyy
167
167
  */
168
168
  function parseDate(value) {
169
- if (!value) {
170
- return;
171
- }
172
- const matches = value.match(DATE_FORMAT);
173
- if (matches) {
174
- return createDate(matches[3], matches[2], matches[1]);
175
- }
169
+ if (!value) {
170
+ return;
171
+ }
172
+ const matches = value.match(DATE_FORMAT);
173
+ if (matches) {
174
+ return createDate(matches[3], matches[2], matches[1]);
175
+ }
176
176
  }
177
177
  /**
178
178
  * @param value date string in ISO format YYYY-MM-DD
179
179
  */
180
180
  function parseISODate(value) {
181
- if (!value) {
182
- return;
183
- }
184
- const matches = value.match(ISO_DATE_FORMAT);
185
- if (matches) {
186
- return createDate(matches[1], matches[2], matches[3]);
187
- }
181
+ if (!value) {
182
+ return;
183
+ }
184
+ const matches = value.match(ISO_DATE_FORMAT);
185
+ if (matches) {
186
+ return createDate(matches[1], matches[2], matches[3]);
187
+ }
188
188
  }
189
189
  /**
190
190
  * @param date the date to format as a Date
191
191
  * @param format the format string eg. "dd.mm.yyyy", "YYYY-MM-DD"
192
192
  */
193
193
  function formatDate(date, format) {
194
- if (!date) {
195
- return "";
196
- }
197
- var d = date.getDate().toString(10);
198
- var m = (date.getMonth() + 1).toString(10);
199
- var y = date.getFullYear().toString(10);
200
- // days are not zero-indexed, so pad if less than 10
201
- if (date.getDate() < 10) {
202
- d = `0${d}`;
203
- }
204
- // months *are* zero-indexed, pad if less than 9!
205
- if (date.getMonth() < 9) {
206
- m = `0${m}`;
207
- }
208
- return format.replace(/MM/i, m).replace(/YYYY/i, y).replace(/DD/i, d);
194
+ if (!date) {
195
+ return "";
196
+ }
197
+ var d = date.getDate().toString(10);
198
+ var m = (date.getMonth() + 1).toString(10);
199
+ var y = date.getFullYear().toString(10);
200
+ // days are not zero-indexed, so pad if less than 10
201
+ if (date.getDate() < 10) {
202
+ d = `0${d}`;
203
+ }
204
+ // months *are* zero-indexed, pad if less than 9!
205
+ if (date.getMonth() < 9) {
206
+ m = `0${m}`;
207
+ }
208
+ return format.replace(/MM/i, m).replace(/YYYY/i, y).replace(/DD/i, d);
209
209
  }
210
210
  /**
211
211
  * print date in format dd.mm.yyyy
212
212
  * @param date
213
213
  */
214
214
  function printDate(date) {
215
- return formatDate(date, DATE_OUTPUT_FORMAT);
215
+ return formatDate(date, DATE_OUTPUT_FORMAT);
216
216
  }
217
217
  /**
218
218
  * print date in format YYYY-MM-DD
219
219
  * @param date
220
220
  */
221
221
  function printISODate(date) {
222
- return formatDate(date, DATE_ISO_OUTPUT_FORMAT);
222
+ return formatDate(date, DATE_ISO_OUTPUT_FORMAT);
223
223
  }
224
224
  /**
225
225
  * Compare if two dates are equal in terms of day, month, and year
226
226
  */
227
227
  function isEqual(a, b) {
228
- if (a == null || b == null) {
229
- return false;
230
- }
231
- return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
228
+ if (a == null || b == null) {
229
+ return false;
230
+ }
231
+ return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
232
232
  }
233
233
  function addDays(date, days) {
234
- var d = new Date(date);
235
- d.setDate(d.getDate() + days);
236
- return d;
234
+ var d = new Date(date);
235
+ d.setDate(d.getDate() + days);
236
+ return d;
237
237
  }
238
238
  function startOfWeek(date, firstDayOfWeek = 1) {
239
- var d = new Date(date);
240
- var day = d.getDay();
241
- var diff = (day < firstDayOfWeek ? 7 : 0) + day - firstDayOfWeek;
242
- d.setDate(d.getDate() - diff);
243
- return d;
239
+ var d = new Date(date);
240
+ var day = d.getDay();
241
+ var diff = (day < firstDayOfWeek ? 7 : 0) + day - firstDayOfWeek;
242
+ d.setDate(d.getDate() - diff);
243
+ return d;
244
244
  }
245
245
  function endOfWeek(date, firstDayOfWeek = 1) {
246
- var d = new Date(date);
247
- var day = d.getDay();
248
- var diff = (day < firstDayOfWeek ? -7 : 0) + 6 - (day - firstDayOfWeek);
249
- d.setDate(d.getDate() + diff);
250
- return d;
246
+ var d = new Date(date);
247
+ var day = d.getDay();
248
+ var diff = (day < firstDayOfWeek ? -7 : 0) + 6 - (day - firstDayOfWeek);
249
+ d.setDate(d.getDate() + diff);
250
+ return d;
251
251
  }
252
252
  function startOfMonth(date) {
253
- return new Date(date.getFullYear(), date.getMonth(), 1);
253
+ return new Date(date.getFullYear(), date.getMonth(), 1);
254
254
  }
255
255
  function endOfMonth(date) {
256
- return new Date(date.getFullYear(), date.getMonth() + 1, 0);
256
+ return new Date(date.getFullYear(), date.getMonth() + 1, 0);
257
257
  }
258
258
  function setMonth(date, month) {
259
- const d = new Date(date);
260
- d.setMonth(month);
261
- return d;
259
+ const d = new Date(date);
260
+ d.setMonth(month);
261
+ return d;
262
262
  }
263
263
  function setYear(date, year) {
264
- const d = new Date(date);
265
- d.setFullYear(year);
266
- return d;
264
+ const d = new Date(date);
265
+ d.setFullYear(year);
266
+ return d;
267
267
  }
268
268
  /**
269
269
  * Check if date is within a min and max
270
270
  */
271
271
  function inRange(date, min, max) {
272
- return clamp(date, min, max) === date;
272
+ return clamp(date, min, max) === date;
273
273
  }
274
274
  /**
275
275
  * Ensures date is within range, returns min or max if out of bounds
276
276
  */
277
277
  function clamp(date, min, max) {
278
- const time = date.getTime();
279
- if (min && min instanceof Date && time < min.getTime()) {
280
- return min;
281
- }
282
- if (max && max instanceof Date && time > max.getTime()) {
283
- return max;
284
- }
285
- return date;
278
+ const time = date.getTime();
279
+ if (min && min instanceof Date && time < min.getTime()) {
280
+ return min;
281
+ }
282
+ if (max && max instanceof Date && time > max.getTime()) {
283
+ return max;
284
+ }
285
+ return date;
286
286
  }
287
287
  /**
288
288
  * given start and end date, return an (inclusive) array of all dates in between
@@ -290,14 +290,14 @@ function clamp(date, min, max) {
290
290
  * @param end
291
291
  */
292
292
  function getDaysInRange(start, end) {
293
- const days = [];
294
- let current = start;
295
- while (!isEqual(current, end)) {
293
+ const days = [];
294
+ let current = start;
295
+ while (!isEqual(current, end)) {
296
+ days.push(current);
297
+ current = addDays(current, 1);
298
+ }
296
299
  days.push(current);
297
- current = addDays(current, 1);
298
- }
299
- days.push(current);
300
- return days;
300
+ return days;
301
301
  }
302
302
  /**
303
303
  * given a date, return an array of dates from a calendar perspective
@@ -305,23 +305,23 @@ function getDaysInRange(start, end) {
305
305
  * @param firstDayOfWeek
306
306
  */
307
307
  function getViewOfMonth(date, firstDayOfWeek = 1) {
308
- const start = startOfWeek(startOfMonth(date), firstDayOfWeek);
309
- const end = endOfWeek(endOfMonth(date), firstDayOfWeek);
310
- return getDaysInRange(start, end);
308
+ const start = startOfWeek(startOfMonth(date), firstDayOfWeek);
309
+ const end = endOfWeek(endOfMonth(date), firstDayOfWeek);
310
+ return getDaysInRange(start, end);
311
311
  }
312
312
 
313
313
  const DatePickerDay = ({ focusedDay, today, day, language, onDaySelect, onKeyboardNavigation, ref, inRange, isSelected, }) => {
314
- const isToday = isEqual(day, today);
315
- const isFocused = isEqual(day, focusedDay);
316
- const isDisabled = day.getMonth() !== focusedDay.getMonth();
317
- const isOutsideRange = !inRange;
318
- const { formatterShort } = i18n[language];
319
- function handleClick(e) {
320
- onDaySelect(e, day);
321
- }
322
- return (h("button", { class: { "duet-date-table-button": true, outside: isOutsideRange, disabled: isDisabled, today: isToday }, tabIndex: isFocused ? 0 : -1, onClick: handleClick, onKeyDown: onKeyboardNavigation, "aria-disabled": isOutsideRange || isDisabled, "aria-pressed": isSelected ? "true" : "false", type: "button", ref: ref },
323
- h("span", { "aria-hidden": "true" }, day.getDate()),
324
- h("duet-visually-hidden", null, formatterShort.format(day))));
314
+ const isToday = isEqual(day, today);
315
+ const isFocused = isEqual(day, focusedDay);
316
+ const isDisabled = day.getMonth() !== focusedDay.getMonth();
317
+ const isOutsideRange = !inRange;
318
+ const { formatterShort } = i18n[language];
319
+ function handleClick(e) {
320
+ onDaySelect(e, day);
321
+ }
322
+ return (h("button", { class: { "duet-date-table-button": true, outside: isOutsideRange, disabled: isDisabled, today: isToday }, tabIndex: isFocused ? 0 : -1, onClick: handleClick, onKeyDown: onKeyboardNavigation, "aria-disabled": isOutsideRange || isDisabled, "aria-pressed": isSelected ? "true" : "false", type: "button", ref: ref },
323
+ h("span", { "aria-hidden": "true" }, day.getDate()),
324
+ h("duet-visually-hidden", null, formatterShort.format(day))));
325
325
  };
326
326
 
327
327
  /**
@@ -331,11 +331,11 @@ const DatePickerDay = ({ focusedDay, today, day, language, onDaySelect, onKeyboa
331
331
  * @param to
332
332
  */
333
333
  function range(from, to) {
334
- var result = [];
335
- for (var i = from; i <= to; i++) {
336
- result.push(i);
337
- }
338
- return result;
334
+ var result = [];
335
+ for (var i = from; i <= to; i++) {
336
+ result.push(i);
337
+ }
338
+ return result;
339
339
  }
340
340
  /**
341
341
  * Splits an array into smaller arrays of given chunk size
@@ -343,17 +343,17 @@ function range(from, to) {
343
343
  * @param chunkSize
344
344
  */
345
345
  function chunk(array, chunkSize) {
346
- const result = [];
347
- for (let i = 0; i < array.length; i += chunkSize) {
348
- result.push(array.slice(i, i + chunkSize));
349
- }
350
- return result;
346
+ const result = [];
347
+ for (let i = 0; i < array.length; i += chunkSize) {
348
+ result.push(array.slice(i, i + chunkSize));
349
+ }
350
+ return result;
351
351
  }
352
352
  function parseShortcut(str) {
353
- var _a;
354
- const press = str.trim().split("+");
355
- const key = press.pop();
356
- return [((_a = press[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === "shift", key];
353
+ var _a;
354
+ const press = str.trim().split("+");
355
+ const key = press.pop();
356
+ return [((_a = press[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === "shift", key];
357
357
  }
358
358
  /**
359
359
  * Creates a keyboard event handler for handling keyboard shortcuts.
@@ -366,502 +366,502 @@ function parseShortcut(str) {
366
366
  * }))
367
367
  */
368
368
  function createShortcuts(shortcuts) {
369
- const keyBindings = Object.keys(shortcuts).map(key => [parseShortcut(key), shortcuts[key]]);
370
- return function handleShortcuts(event) {
371
- if (!(event instanceof KeyboardEvent)) {
372
- return;
373
- }
374
- // we need to check both event.code and event.key
375
- // for browser support back to IE11
376
- const shortcut = keyBindings.find(([[shift, key]]) => {
377
- return (key.toUpperCase() === event.key.toUpperCase() || key === event.code) && shift === event.shiftKey;
378
- });
379
- if (shortcut) {
380
- shortcut[1](event);
381
- event.preventDefault();
382
- }
383
- };
369
+ const keyBindings = Object.keys(shortcuts).map(key => [parseShortcut(key), shortcuts[key]]);
370
+ return function handleShortcuts(event) {
371
+ if (!(event instanceof KeyboardEvent)) {
372
+ return;
373
+ }
374
+ // we need to check both event.code and event.key
375
+ // for browser support back to IE11
376
+ const shortcut = keyBindings.find(([[shift, key]]) => {
377
+ return (key.toUpperCase() === event.key.toUpperCase() || key === event.code) && shift === event.shiftKey;
378
+ });
379
+ if (shortcut) {
380
+ shortcut[1](event);
381
+ event.preventDefault();
382
+ }
383
+ };
384
384
  }
385
385
 
386
386
  const DatePickerMonth = ({ selectedDate, focusedDate, labelledById, theme, language, min, max, onDateSelect, onKeyboardNavigation, focusedDayRef, onFocusEnter, onFocusExit, }) => {
387
- const { dayLabels } = i18n[language];
388
- const today = new Date();
389
- const days = getViewOfMonth(focusedDate);
390
- function handleFocusOut(e) {
391
- const table = e.currentTarget;
392
- const relatedTarget = e.relatedTarget;
393
- if (relatedTarget && !table.contains(relatedTarget)) {
394
- onFocusExit(e);
395
- }
396
- }
397
- return (h("table", { class: { "duet-date-table": true, "duet-theme-turva": theme === "turva" }, "aria-labelledby": labelledById,
398
- // @ts-ignore
399
- onFocusin: onFocusEnter, onFocusout: handleFocusOut },
400
- h("thead", null,
401
- h("tr", null, dayLabels.map(label => (h("th", { scope: "col" },
402
- h("span", { "aria-hidden": "true" }, label.substr(0, 2)),
403
- h("duet-visually-hidden", null, label)))))),
404
- h("tbody", null, chunk(days, 7).map(week => (h("tr", { class: "duet-date-table-row" }, week.map(day => (h("td", { class: "duet-date-table-cell" },
405
- h(DatePickerDay, { day: day, today: today, language: language, focusedDay: focusedDate, inRange: inRange(day, min, max), isSelected: isEqual(day, selectedDate), onDaySelect: onDateSelect, onKeyboardNavigation: onKeyboardNavigation, ref: el => {
406
- if (el && isEqual(day, focusedDate)) {
407
- focusedDayRef(el);
408
- }
409
- } }))))))))));
387
+ const { dayLabels } = i18n[language];
388
+ const today = new Date();
389
+ const days = getViewOfMonth(focusedDate);
390
+ function handleFocusOut(e) {
391
+ const table = e.currentTarget;
392
+ const relatedTarget = e.relatedTarget;
393
+ if (relatedTarget && !table.contains(relatedTarget)) {
394
+ onFocusExit(e);
395
+ }
396
+ }
397
+ return (h("table", { class: { "duet-date-table": true, "duet-theme-turva": theme === "turva" }, "aria-labelledby": labelledById,
398
+ // @ts-ignore
399
+ onFocusin: onFocusEnter, onFocusout: handleFocusOut },
400
+ h("thead", null,
401
+ h("tr", null, dayLabels.map(label => (h("th", { scope: "col" },
402
+ h("span", { "aria-hidden": "true" }, label.substr(0, 2)),
403
+ h("duet-visually-hidden", null, label)))))),
404
+ h("tbody", null, chunk(days, 7).map(week => (h("tr", { class: "duet-date-table-row" }, week.map(day => (h("td", { class: "duet-date-table-cell" },
405
+ h(DatePickerDay, { day: day, today: today, language: language, focusedDay: focusedDate, inRange: inRange(day, min, max), isSelected: isEqual(day, selectedDate), onDaySelect: onDateSelect, onKeyboardNavigation: onKeyboardNavigation, ref: el => {
406
+ if (el && isEqual(day, focusedDate)) {
407
+ focusedDayRef(el);
408
+ }
409
+ } }))))))))));
410
410
  };
411
411
 
412
412
  const duetDatePickerCss = "*.sc-duet-date-picker,*.sc-duet-date-picker::after,*.sc-duet-date-picker::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-date-picker-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;position:relative;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:top}.sc-duet-date-picker-h:last-child,.sc-duet-date-picker-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-date-picker-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-date-picker-h{width:100% !important}.duet-m-0.sc-duet-date-picker-h{margin:0 !important}.duet-date.sc-duet-date-picker{position:relative;width:100%}.duet-date.sc-duet-date-picker button.sc-duet-date-picker,.duet-date-dialog.sc-duet-date-picker button.sc-duet-date-picker{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button.sc-duet-date-picker{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;display:flex;align-items:center;justify-content:center;width:48px;height:calc(100% - 2px);color:rgb(0, 41, 77);cursor:pointer;background:transparent !important;border-left:1px solid rgb(207, 210, 212) !important;border-radius:0 4px 4px 0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker{color:rgb(23, 28, 58);border-color:rgb(207, 207, 209)}.duet-date-button.sc-duet-date-picker::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-date-button.sc-duet-date-picker:disabled{pointer-events:none;cursor:not-allowed;background:rgb(245, 248, 250) !important;border:0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:disabled{background:rgb(245, 245, 247) !important}.duet-date-button.sc-duet-date-picker:disabled::before{display:none}.duet-date-button.sc-duet-date-picker:disabled duet-icon.sc-duet-date-picker{opacity:0.4}.duet-date-button.sc-duet-date-picker duet-icon.sc-duet-date-picker{transform:translateY(-1px)}.duet-date-button.sc-duet-date-picker:active duet-icon.sc-duet-date-picker{transform:translateY(0)}.duet-date-button.sc-duet-date-picker:focus{color:rgb(0, 119, 179);border-color:transparent;outline:0;box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:focus{color:rgb(23, 28, 58);box-shadow:0 0 0 2px #171c3a !important}.duet-date-dialog.sc-duet-date-picker{position:absolute;top:100%;left:0;z-index:900;display:flex;width:100%;visibility:hidden;opacity:0;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right}@media (min-width: 36em){.duet-date-dialog.left.sc-duet-date-picker{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog.sc-duet-date-picker{position:fixed;top:0;right:0;bottom:0;background:rgba(0, 41, 77, 0.75);transition:opacity 400ms ease, visibility 400ms ease;transform:translateZ(0);transform-origin:bottom center}.duet-date-dialog.duet-theme-turva.sc-duet-date-picker{background:rgba(23, 28, 58, 0.75)}}.duet-date-dialog.active.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(0)}@media (min-width: 36em){.duet-date-dialog.error.sc-duet-date-picker{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper.sc-duet-date-picker{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(225, 227, 230);border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{border-color:rgb(228, 228, 230)}@media (max-width: 35.9375em){.duet-date-dialog-wrapper.sc-duet-date-picker{position:absolute;bottom:0;left:0;z-index:900;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;visibility:hidden;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease;transform:translateZ(0) translateY(100%)}.active.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:translateZ(0) translateY(0)}}.duet-date-table.sc-duet-date-picker{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(0, 41, 77);text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table.duet-theme-turva.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-date-table.sc-duet-date-picker th.sc-duet-date-picker{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-decoration:none;text-transform:uppercase;letter-spacing:1px}.duet-date-table.sc-duet-date-picker .duet-date-table-cell.sc-duet-date-picker{text-align:center}.duet-date-table-button.sc-duet-date-picker{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:1.25 !important;color:rgb(0, 41, 77) !important;text-align:center;vertical-align:initial !important;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker{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, 28, 58) !important}.duet-date-table-button.sc-duet-date-picker:hover{background:rgb(230, 242, 248) !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:hover{background:rgb(249, 230, 234) !important}.duet-date-table-button.today.sc-duet-date-picker{z-index:200;color:rgb(0, 77, 128) !important;background:rgb(243, 249, 252) !important;box-shadow:0 0 0 1px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.today.sc-duet-date-picker{color:rgb(148, 9, 37) !important;background:rgb(252, 243, 244) !important;box-shadow:0 0 0 1px #171c3a !important}.duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-date-table-button.sc-duet-date-picker:focus{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important;outline:0}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48) !important}.duet-date-table-button.sc-duet-date-picker:active{z-index:200;color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important;box-shadow:0 0 5px 0 #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:active{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48) !important;box-shadow:0 0 5px 0 #171c3a !important}.duet-date-table-button.sc-duet-date-picker:focus{z-index:200;box-shadow:0 0 5px 0 #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{box-shadow:0 0 5px 0 #171c3a !important}.duet-date-table-button.disabled.sc-duet-date-picker{color:rgb(144, 149, 153) !important;cursor:default;background:transparent !important;box-shadow:none !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.disabled.sc-duet-date-picker{color:rgb(116, 116, 117) !important;background:transparent !important;box-shadow:none !important}.duet-date-table-button.outside.sc-duet-date-picker{color:rgb(144, 149, 153) !important;pointer-events:none;cursor:default;background:rgb(245, 248, 250) !important;box-shadow:none;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.outside.sc-duet-date-picker{color:rgb(116, 116, 117);background:rgb(245, 245, 247);box-shadow:none}.duet-date-dialog-header.sc-duet-date-picker{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons.sc-duet-date-picker{white-space:nowrap}.duet-date-dialog-buttons.sc-duet-date-picker .sc-duet-date-picker::part(button){border:0}.duet-date-dialog-select.sc-duet-date-picker{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{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(0, 41, 77);pointer-events:none;border-radius:4px}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-date-dialog-select.sc-duet-date-picker span.sc-duet-date-picker{margin-right:4px}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #171c3a !important}.duet-date-dialog-mobile-header.sc-duet-date-picker{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(207, 210, 212)}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-mobile-header.sc-duet-date-picker{border-color:rgb(207, 207, 209)}.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:none}}.duet-date-picker-close.sc-duet-date-picker{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:rgb(0, 41, 77) !important;cursor:pointer;background:rgb(245, 248, 250) !important;border-radius:50%;-webkit-appearance:none;appearance:none}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker{opacity:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker{background:rgb(245, 245, 247) !important}.duet-date-picker-close.sc-duet-date-picker:hover{background:rgb(245, 248, 250) !important}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:hover{background:rgb(245, 245, 247) !important}.duet-date-picker-close.sc-duet-date-picker:focus{outline:none;box-shadow:0 0 0 2px #0077b3 !important}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker:focus{opacity:1}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a !important}";
413
413
 
414
414
  const DuetDatePicker$1 = /*@__PURE__*/ proxyCustomElement(class DuetDatePicker extends H {
415
- constructor() {
416
- super();
417
- this.__registerHost();
418
- this.duetChange = createEvent(this, "duetChange", 7);
419
- this.duetBlur = createEvent(this, "duetBlur", 7);
420
- this.duetFocus = createEvent(this, "duetFocus", 7);
421
- this.monthSelectId = createID("DuetDatePicker");
422
- this.yearSelectId = createID("DuetDatePicker");
423
- this.dialogLabelId = createID("DuetDatePicker");
424
- this.initialTouchX = null;
425
- this.initialTouchY = null;
426
- this.focusTarget = null;
427
- this.enableActiveFocus = () => {
428
- this.focusTarget = "day-button";
429
- };
430
- this.disableActiveFocus = () => {
431
- this.focusTarget = null;
432
- };
433
- this.toggleOpen = (e) => {
434
- e.preventDefault();
435
- this.open ? this.hide(false) : this.show();
436
- };
437
- this.handleBlur = (event) => {
438
- event.stopPropagation();
439
- this.duetBlur.emit({
440
- component: "duet-date-picker",
441
- });
442
- };
443
- this.handleFocus = (event) => {
444
- event.stopPropagation();
445
- this.duetFocus.emit({
446
- component: "duet-date-picker",
447
- });
448
- };
449
- this.handleTouchStart = (event) => {
450
- const touch = event.changedTouches[0];
451
- this.initialTouchX = touch.pageX;
452
- this.initialTouchY = touch.pageY;
453
- };
454
- this.handleTouchMove = (event) => {
455
- event.preventDefault();
456
- };
457
- this.handleTouchEnd = (event) => {
458
- const touch = event.changedTouches[0];
459
- const distX = touch.pageX - this.initialTouchX; // get horizontal dist traveled
460
- const distY = touch.pageY - this.initialTouchY; // get vertical dist traveled
461
- const threshold = 70;
462
- const isHorizontalSwipe = Math.abs(distX) >= threshold && Math.abs(distY) <= threshold;
463
- const isDownwardsSwipe = Math.abs(distY) >= threshold && Math.abs(distX) <= threshold && distY > 0;
464
- if (isHorizontalSwipe) {
465
- this.addMonths(distX < 0 ? 1 : -1);
466
- }
467
- else if (isDownwardsSwipe) {
468
- this.hide();
469
- event.preventDefault();
470
- }
471
- this.initialTouchY = null;
472
- this.initialTouchX = null;
473
- };
474
- this.handleNextMonthClick = (event) => {
475
- event.preventDefault();
476
- this.addMonths(1);
477
- };
478
- this.handlePreviousMonthClick = (event) => {
479
- event.preventDefault();
480
- this.addMonths(-1);
481
- };
482
- this.handleEscKey = createShortcuts({
483
- Escape: () => this.hide(),
484
- Esc: () => this.hide(), // IE-specific
485
- });
486
- this.handleKeyboardNavigation = createShortcuts({
487
- ArrowRight: () => this.addDays(1),
488
- Right: () => this.addDays(1),
489
- ArrowLeft: () => this.addDays(-1),
490
- Left: () => this.addDays(-1),
491
- ArrowDown: () => this.addDays(7),
492
- Down: () => this.addDays(7),
493
- ArrowUp: () => this.addDays(-7),
494
- Up: () => this.addDays(-7),
495
- Home: () => this.startOfWeek(),
496
- End: () => this.endOfWeek(),
497
- PageUp: () => this.addMonths(-1),
498
- PageDown: () => this.addMonths(1),
499
- "Shift+PageUp": () => this.addYears(-1),
500
- "Shift+PageDown": () => this.addYears(1),
501
- });
502
- this.handleDaySelect = (_event, day) => {
503
- const min = parseISODate(this.min);
504
- const max = parseISODate(this.max);
505
- this.determineValidity(day);
506
- if (inRange(day, min, max)) {
507
- this.setValue(day);
508
- this.hide();
509
- }
510
- };
511
- this.handleMonthSelect = e => {
512
- this.setMonth(parseInt(e.target.value, 10));
513
- };
514
- this.handleYearSelect = e => {
515
- this.setYear(parseInt(e.target.value, 10));
516
- };
517
- this.handleInputChange = (e) => {
518
- this.inputValue = e.detail.value;
519
- const parsed = parseDate(this.inputValue);
520
- this.determineValidity(parsed);
521
- if (parsed || this.inputValue === "") {
522
- this.setValue(parsed);
523
- }
524
- };
525
- this.open = false;
526
- this.focusedDay = new Date();
527
- this.inputValue = "";
528
- this.theme = "";
529
- this.expand = false;
530
- this.name = "";
531
- this.identifier = "";
532
- this.label = "";
533
- this.caption = undefined;
534
- this.margin = "auto";
535
- this.language = getLanguage();
536
- this.placeholderDefaults = {
537
- fi: "pp.kk.vvvv",
538
- en: "dd.mm.yyyy",
539
- sv: "dd.mm.åååå",
540
- };
541
- this.placeholder = getLocaleString(this.placeholderDefaults, this.language);
542
- this.echoPlaceholder = false;
543
- this.disabled = false;
544
- this.error = "";
545
- this.labelHidden = false;
546
- this.role = undefined;
547
- this.accessibleActiveDescendant = undefined;
548
- this.accessibleControls = undefined;
549
- this.accessibleOwns = undefined;
550
- this.accessibleDescribedBy = undefined;
551
- this.required = false;
552
- this.direction = "right";
553
- this.tooltip = "";
554
- this.tooltipDirection = "auto";
555
- this.value = "";
556
- this.min = "";
557
- this.max = "";
558
- this.incrementYears = 10;
559
- this.validity = undefined;
560
- }
561
- updateValidity() {
562
- this.determineValidity(parseISODate(this.value));
563
- }
564
- updateInternalValue() {
565
- const parsedValue = parseISODate(this.value);
566
- const parsedInputValue = parseDate(this.inputValue);
567
- // an invalid or empty value should clear the input
568
- if (!parsedValue) {
569
- this.inputValue = "";
570
- }
571
- // but otherwise only update user's input if the new value is different to user's input
572
- else if (!isEqual(parsedValue, parsedInputValue)) {
573
- this.inputValue = printDate(parsedValue);
574
- }
575
- }
576
- /**
577
- * Component lifecycle events.
578
- */
579
- componentWillLoad() {
580
- inheritGlobalTheme(this);
581
- this.determineValidity(parseISODate(this.value));
582
- this.updateInternalValue();
583
- }
584
- componentDidUpdate() {
585
- // we want to run this code _after_ render
586
- // to ensure all elements are visible (and thus focusable)
587
- // hence using componentDidUpdate
588
- switch (this.focusTarget) {
589
- case "toggle-button":
590
- this.datePickerButton.focus();
591
- this.focusTarget = null;
592
- break;
593
- case "day-button":
594
- // we don't clear focusTarget here since this is cleared
595
- // already when focus is moved out of calendar table
596
- this.focusedDayNode.focus();
597
- break;
598
- case "month-select":
599
- this.monthSelectNode.focus();
415
+ constructor() {
416
+ super();
417
+ this.__registerHost();
418
+ this.duetChange = createEvent(this, "duetChange", 7);
419
+ this.duetBlur = createEvent(this, "duetBlur", 7);
420
+ this.duetFocus = createEvent(this, "duetFocus", 7);
421
+ this.monthSelectId = createID("DuetDatePicker");
422
+ this.yearSelectId = createID("DuetDatePicker");
423
+ this.dialogLabelId = createID("DuetDatePicker");
424
+ this.initialTouchX = null;
425
+ this.initialTouchY = null;
600
426
  this.focusTarget = null;
601
- break;
602
- }
603
- }
604
- connectedCallback() {
605
- connectLanguageChangeObserver(this, { prop: "placeholder", defaults: "placeholderDefaults" });
606
- }
607
- disconnectedCallback() {
608
- disconnectLanguageChangeObserver(this);
609
- }
610
- /**
611
- * Sets focus on the date picker's input. Use this method instead of the global `focus()`.
612
- */
613
- async setFocus(options) {
614
- this.datePickerInput.setFocus(options);
615
- }
616
- /**
617
- * Show the calendar modal, moving focus to the calendar inside.
618
- */
619
- async show() {
620
- this.open = true;
621
- this.focusTarget = "month-select";
622
- this.setFocusedDay(parseISODate(this.value) || new Date());
623
- }
624
- /**
625
- * Hide the calendar modal. Set `moveFocusToButton` to false to prevent focus
626
- * returning to the date picker's button. Default is true.
627
- */
628
- async hide(moveFocusToButton = true) {
629
- this.open = false;
630
- if (moveFocusToButton) {
631
- this.focusTarget = "toggle-button";
632
- }
633
- }
634
- addDays(days) {
635
- this.setFocusedDay(addDays(this.focusedDay, days));
636
- }
637
- addMonths(months) {
638
- this.setMonth(this.focusedDay.getMonth() + months);
639
- }
640
- addYears(years) {
641
- this.setYear(this.focusedDay.getFullYear() + years);
642
- }
643
- startOfWeek() {
644
- this.setFocusedDay(startOfWeek(this.focusedDay));
645
- }
646
- endOfWeek() {
647
- this.setFocusedDay(endOfWeek(this.focusedDay));
648
- }
649
- setMonth(month) {
650
- const min = setMonth(startOfMonth(this.focusedDay), month);
651
- const max = endOfMonth(min);
652
- const date = setMonth(this.focusedDay, month);
653
- this.setFocusedDay(clamp(date, min, max));
654
- }
655
- setYear(year) {
656
- const min = setYear(startOfMonth(this.focusedDay), year);
657
- const max = endOfMonth(min);
658
- const date = setYear(this.focusedDay, year);
659
- this.setFocusedDay(clamp(date, min, max));
660
- }
661
- setFocusedDay(day) {
662
- this.focusedDay = clamp(day, parseISODate(this.min), parseISODate(this.max));
663
- }
664
- determineValidity(date) {
665
- var _a, _b;
666
- const inputValue = (_b = (_a = this.datePickerInput) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : "";
667
- const badInput = inputValue !== "" && date == null;
668
- const valueMissing = this.required && date == null;
669
- const rangeOverflow = date ? !inRange(date, null, parseISODate(this.max)) : false;
670
- const rangeUnderflow = date ? !inRange(date, parseISODate(this.min)) : false;
671
- this.validity = {
672
- patternMismatch: false,
673
- customError: false,
674
- stepMismatch: false,
675
- tooLong: false,
676
- tooShort: false,
677
- typeMismatch: false,
678
- valueMissing,
679
- badInput,
680
- rangeUnderflow,
681
- rangeOverflow,
682
- valid: !(valueMissing || badInput || rangeUnderflow || rangeOverflow),
683
- };
684
- }
685
- setValue(date) {
686
- const newValue = printISODate(date);
687
- if (newValue === this.value) {
688
- return;
689
- }
690
- this.value = newValue;
691
- this.duetChange.emit({
692
- component: "duet-date-picker",
693
- value: this.value,
694
- valueAsDate: date,
695
- });
696
- }
697
- handleDocumentClick(e) {
698
- if (!this.open) {
699
- return;
700
- }
701
- // the dialog and the button aren't considered clicks outside.
702
- // dialog for obvious reasons, but the button needs to be skipped
703
- // so that two things are possible:
704
- //
705
- // a) clicking again on the button when dialog is open should close the modal.
706
- // without skipping the button here, we would see a click outside
707
- // _and_ a click on the button, so the `open` state goes
708
- // open -> close (click outside) -> open (click button)
709
- //
710
- // b) clicking another date picker's button should close the current calendar
711
- // and open the new one. this means we can't stopPropagation() on the button itself
712
- const isClickOutside = e
713
- .composedPath()
714
- .every(node => node !== this.dialogWrapperNode && node !== this.datePickerButton);
715
- if (isClickOutside) {
716
- this.hide(false);
717
- }
718
- }
719
- /**
720
- * render() function
721
- * Always the last one in the class.
722
- */
723
- render() {
724
- const valueAsDate = parseISODate(this.value);
725
- const selectedYear = (valueAsDate || this.focusedDay).getFullYear();
726
- const focusedMonth = this.focusedDay.getMonth();
727
- const focusedYear = this.focusedDay.getFullYear();
728
- const text = i18n[this.language];
729
- const minDate = parseISODate(this.min);
730
- const maxDate = parseISODate(this.max);
731
- const prevMonthDisabled = minDate != null && minDate.getMonth() === focusedMonth && minDate.getFullYear() === focusedYear;
732
- const nextMonthDisabled = maxDate != null && maxDate.getMonth() === focusedMonth && maxDate.getFullYear() === focusedYear;
733
- let minYear = selectedYear - this.incrementYears;
734
- let maxYear = selectedYear + this.incrementYears;
735
- if (minDate) {
736
- minYear = Math.max(minYear, minDate.getFullYear());
737
- }
738
- if (maxDate) {
739
- maxYear = Math.min(maxYear, maxDate.getFullYear());
740
- }
741
- return (h$1(Host, { class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" } }, h$1("div", { class: "duet-date" }, h$1(DatePickerInput, { 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, echoPlaceholder: this.echoPlaceholder, caption: this.caption })), h$1("div", { class: {
742
- "duet-theme-turva": this.theme === "turva",
743
- "duet-date-dialog": true,
744
- left: this.direction === "left",
745
- error: !!this.error,
746
- active: this.open,
747
- }, 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$1(FocusGuard, { moveFocusTo: this.focusedDayNode }), h$1("div", { class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, h$1("duet-visually-hidden", { "aria-live": "polite" }, text.keyboardInstruction), h$1("div", { class: "duet-date-dialog-mobile-header" }, h$1("duet-label", { margin: "none" }, this.label), h$1("button", { class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, h$1("duet-icon", { name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), h$1("duet-visually-hidden", null, text.closeLabel))), h$1("div", { class: "duet-date-dialog-header" }, h$1("div", { class: "duet-date-dialog-dropdowns" }, h$1("duet-visually-hidden", null, h$1("h2", { id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), h$1("duet-visually-hidden", null, h$1("label", { htmlFor: this.monthSelectId }, text.monthSelectLabel)), h$1("div", { class: "duet-date-dialog-select" }, h$1("select", { id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (h$1("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$1("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h$1("span", null, text.monthLabelsShort[focusedMonth]), h$1("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), h$1("duet-visually-hidden", null, h$1("label", { htmlFor: this.yearSelectId }, text.yearSelectLabel)), h$1("div", { class: "duet-date-dialog-select" }, h$1("select", { id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (h$1("option", { key: year, selected: year === focusedYear }, year)))), h$1("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h$1("span", null, this.focusedDay.getFullYear()), h$1("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), h$1("div", { class: "duet-date-dialog-buttons" }, h$1("duet-action-button", { 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$1("duet-action-button", { 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$1(DatePickerMonth, { 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$1(FocusGuard, { moveFocusTo: this.closeButtonNode }))));
748
- }
749
- get element() { return this; }
750
- static get watchers() { return {
751
- "min": ["updateValidity"],
752
- "max": ["updateValidity"],
753
- "value": ["updateValidity", "updateInternalValue"],
754
- "required": ["updateValidity"]
755
- }; }
756
- static get style() { return duetDatePickerCss; }
427
+ this.enableActiveFocus = () => {
428
+ this.focusTarget = "day-button";
429
+ };
430
+ this.disableActiveFocus = () => {
431
+ this.focusTarget = null;
432
+ };
433
+ this.toggleOpen = (e) => {
434
+ e.preventDefault();
435
+ this.open ? this.hide(false) : this.show();
436
+ };
437
+ this.handleBlur = (event) => {
438
+ event.stopPropagation();
439
+ this.duetBlur.emit({
440
+ component: "duet-date-picker",
441
+ });
442
+ };
443
+ this.handleFocus = (event) => {
444
+ event.stopPropagation();
445
+ this.duetFocus.emit({
446
+ component: "duet-date-picker",
447
+ });
448
+ };
449
+ this.handleTouchStart = (event) => {
450
+ const touch = event.changedTouches[0];
451
+ this.initialTouchX = touch.pageX;
452
+ this.initialTouchY = touch.pageY;
453
+ };
454
+ this.handleTouchMove = (event) => {
455
+ event.preventDefault();
456
+ };
457
+ this.handleTouchEnd = (event) => {
458
+ const touch = event.changedTouches[0];
459
+ const distX = touch.pageX - this.initialTouchX; // get horizontal dist traveled
460
+ const distY = touch.pageY - this.initialTouchY; // get vertical dist traveled
461
+ const threshold = 70;
462
+ const isHorizontalSwipe = Math.abs(distX) >= threshold && Math.abs(distY) <= threshold;
463
+ const isDownwardsSwipe = Math.abs(distY) >= threshold && Math.abs(distX) <= threshold && distY > 0;
464
+ if (isHorizontalSwipe) {
465
+ this.addMonths(distX < 0 ? 1 : -1);
466
+ }
467
+ else if (isDownwardsSwipe) {
468
+ this.hide();
469
+ event.preventDefault();
470
+ }
471
+ this.initialTouchY = null;
472
+ this.initialTouchX = null;
473
+ };
474
+ this.handleNextMonthClick = (event) => {
475
+ event.preventDefault();
476
+ this.addMonths(1);
477
+ };
478
+ this.handlePreviousMonthClick = (event) => {
479
+ event.preventDefault();
480
+ this.addMonths(-1);
481
+ };
482
+ this.handleEscKey = createShortcuts({
483
+ Escape: () => this.hide(),
484
+ Esc: () => this.hide(), // IE-specific
485
+ });
486
+ this.handleKeyboardNavigation = createShortcuts({
487
+ ArrowRight: () => this.addDays(1),
488
+ Right: () => this.addDays(1), // IE does not have "Arrow" prefix
489
+ ArrowLeft: () => this.addDays(-1),
490
+ Left: () => this.addDays(-1),
491
+ ArrowDown: () => this.addDays(7),
492
+ Down: () => this.addDays(7),
493
+ ArrowUp: () => this.addDays(-7),
494
+ Up: () => this.addDays(-7),
495
+ Home: () => this.startOfWeek(),
496
+ End: () => this.endOfWeek(),
497
+ PageUp: () => this.addMonths(-1),
498
+ PageDown: () => this.addMonths(1),
499
+ "Shift+PageUp": () => this.addYears(-1),
500
+ "Shift+PageDown": () => this.addYears(1),
501
+ });
502
+ this.handleDaySelect = (_event, day) => {
503
+ const min = parseISODate(this.min);
504
+ const max = parseISODate(this.max);
505
+ this.determineValidity(day);
506
+ if (inRange(day, min, max)) {
507
+ this.setValue(day);
508
+ this.hide();
509
+ }
510
+ };
511
+ this.handleMonthSelect = e => {
512
+ this.setMonth(parseInt(e.target.value, 10));
513
+ };
514
+ this.handleYearSelect = e => {
515
+ this.setYear(parseInt(e.target.value, 10));
516
+ };
517
+ this.handleInputChange = (e) => {
518
+ this.inputValue = e.detail.value;
519
+ const parsed = parseDate(this.inputValue);
520
+ this.determineValidity(parsed);
521
+ if (parsed || this.inputValue === "") {
522
+ this.setValue(parsed);
523
+ }
524
+ };
525
+ this.open = false;
526
+ this.focusedDay = new Date();
527
+ this.inputValue = "";
528
+ this.theme = "";
529
+ this.expand = false;
530
+ this.name = "";
531
+ this.identifier = "";
532
+ this.label = "";
533
+ this.caption = undefined;
534
+ this.margin = "auto";
535
+ this.language = getLanguage();
536
+ this.placeholderDefaults = {
537
+ fi: "pp.kk.vvvv",
538
+ en: "dd.mm.yyyy",
539
+ sv: "dd.mm.åååå",
540
+ };
541
+ this.placeholder = getLocaleString(this.placeholderDefaults, this.language);
542
+ this.echoPlaceholder = false;
543
+ this.disabled = false;
544
+ this.error = "";
545
+ this.labelHidden = false;
546
+ this.role = undefined;
547
+ this.accessibleActiveDescendant = undefined;
548
+ this.accessibleControls = undefined;
549
+ this.accessibleOwns = undefined;
550
+ this.accessibleDescribedBy = undefined;
551
+ this.required = false;
552
+ this.direction = "right";
553
+ this.tooltip = "";
554
+ this.tooltipDirection = "auto";
555
+ this.value = "";
556
+ this.min = "";
557
+ this.max = "";
558
+ this.incrementYears = 10;
559
+ this.validity = undefined;
560
+ }
561
+ updateValidity() {
562
+ this.determineValidity(parseISODate(this.value));
563
+ }
564
+ updateInternalValue() {
565
+ const parsedValue = parseISODate(this.value);
566
+ const parsedInputValue = parseDate(this.inputValue);
567
+ // an invalid or empty value should clear the input
568
+ if (!parsedValue) {
569
+ this.inputValue = "";
570
+ }
571
+ // but otherwise only update user's input if the new value is different to user's input
572
+ else if (!isEqual(parsedValue, parsedInputValue)) {
573
+ this.inputValue = printDate(parsedValue);
574
+ }
575
+ }
576
+ /**
577
+ * Component lifecycle events.
578
+ */
579
+ componentWillLoad() {
580
+ inheritGlobalTheme(this);
581
+ this.determineValidity(parseISODate(this.value));
582
+ this.updateInternalValue();
583
+ }
584
+ componentDidUpdate() {
585
+ // we want to run this code _after_ render
586
+ // to ensure all elements are visible (and thus focusable)
587
+ // hence using componentDidUpdate
588
+ switch (this.focusTarget) {
589
+ case "toggle-button":
590
+ this.datePickerButton.focus();
591
+ this.focusTarget = null;
592
+ break;
593
+ case "day-button":
594
+ // we don't clear focusTarget here since this is cleared
595
+ // already when focus is moved out of calendar table
596
+ this.focusedDayNode.focus();
597
+ break;
598
+ case "month-select":
599
+ this.monthSelectNode.focus();
600
+ this.focusTarget = null;
601
+ break;
602
+ }
603
+ }
604
+ connectedCallback() {
605
+ connectLanguageChangeObserver(this, { prop: "placeholder", defaults: "placeholderDefaults" });
606
+ }
607
+ disconnectedCallback() {
608
+ disconnectLanguageChangeObserver(this);
609
+ }
610
+ /**
611
+ * Sets focus on the date picker's input. Use this method instead of the global `focus()`.
612
+ */
613
+ async setFocus(options) {
614
+ this.datePickerInput.setFocus(options);
615
+ }
616
+ /**
617
+ * Show the calendar modal, moving focus to the calendar inside.
618
+ */
619
+ async show() {
620
+ this.open = true;
621
+ this.focusTarget = "month-select";
622
+ this.setFocusedDay(parseISODate(this.value) || new Date());
623
+ }
624
+ /**
625
+ * Hide the calendar modal. Set `moveFocusToButton` to false to prevent focus
626
+ * returning to the date picker's button. Default is true.
627
+ */
628
+ async hide(moveFocusToButton = true) {
629
+ this.open = false;
630
+ if (moveFocusToButton) {
631
+ this.focusTarget = "toggle-button";
632
+ }
633
+ }
634
+ addDays(days) {
635
+ this.setFocusedDay(addDays(this.focusedDay, days));
636
+ }
637
+ addMonths(months) {
638
+ this.setMonth(this.focusedDay.getMonth() + months);
639
+ }
640
+ addYears(years) {
641
+ this.setYear(this.focusedDay.getFullYear() + years);
642
+ }
643
+ startOfWeek() {
644
+ this.setFocusedDay(startOfWeek(this.focusedDay));
645
+ }
646
+ endOfWeek() {
647
+ this.setFocusedDay(endOfWeek(this.focusedDay));
648
+ }
649
+ setMonth(month) {
650
+ const min = setMonth(startOfMonth(this.focusedDay), month);
651
+ const max = endOfMonth(min);
652
+ const date = setMonth(this.focusedDay, month);
653
+ this.setFocusedDay(clamp(date, min, max));
654
+ }
655
+ setYear(year) {
656
+ const min = setYear(startOfMonth(this.focusedDay), year);
657
+ const max = endOfMonth(min);
658
+ const date = setYear(this.focusedDay, year);
659
+ this.setFocusedDay(clamp(date, min, max));
660
+ }
661
+ setFocusedDay(day) {
662
+ this.focusedDay = clamp(day, parseISODate(this.min), parseISODate(this.max));
663
+ }
664
+ determineValidity(date) {
665
+ var _a, _b;
666
+ const inputValue = (_b = (_a = this.datePickerInput) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : "";
667
+ const badInput = inputValue !== "" && date == null;
668
+ const valueMissing = this.required && date == null;
669
+ const rangeOverflow = date ? !inRange(date, null, parseISODate(this.max)) : false;
670
+ const rangeUnderflow = date ? !inRange(date, parseISODate(this.min)) : false;
671
+ this.validity = {
672
+ patternMismatch: false,
673
+ customError: false,
674
+ stepMismatch: false,
675
+ tooLong: false,
676
+ tooShort: false,
677
+ typeMismatch: false,
678
+ valueMissing,
679
+ badInput,
680
+ rangeUnderflow,
681
+ rangeOverflow,
682
+ valid: !(valueMissing || badInput || rangeUnderflow || rangeOverflow),
683
+ };
684
+ }
685
+ setValue(date) {
686
+ const newValue = printISODate(date);
687
+ if (newValue === this.value) {
688
+ return;
689
+ }
690
+ this.value = newValue;
691
+ this.duetChange.emit({
692
+ component: "duet-date-picker",
693
+ value: this.value,
694
+ valueAsDate: date,
695
+ });
696
+ }
697
+ handleDocumentClick(e) {
698
+ if (!this.open) {
699
+ return;
700
+ }
701
+ // the dialog and the button aren't considered clicks outside.
702
+ // dialog for obvious reasons, but the button needs to be skipped
703
+ // so that two things are possible:
704
+ //
705
+ // a) clicking again on the button when dialog is open should close the modal.
706
+ // without skipping the button here, we would see a click outside
707
+ // _and_ a click on the button, so the `open` state goes
708
+ // open -> close (click outside) -> open (click button)
709
+ //
710
+ // b) clicking another date picker's button should close the current calendar
711
+ // and open the new one. this means we can't stopPropagation() on the button itself
712
+ const isClickOutside = e
713
+ .composedPath()
714
+ .every(node => node !== this.dialogWrapperNode && node !== this.datePickerButton);
715
+ if (isClickOutside) {
716
+ this.hide(false);
717
+ }
718
+ }
719
+ /**
720
+ * render() function
721
+ * Always the last one in the class.
722
+ */
723
+ render() {
724
+ const valueAsDate = parseISODate(this.value);
725
+ const selectedYear = (valueAsDate || this.focusedDay).getFullYear();
726
+ const focusedMonth = this.focusedDay.getMonth();
727
+ const focusedYear = this.focusedDay.getFullYear();
728
+ const text = i18n[this.language];
729
+ const minDate = parseISODate(this.min);
730
+ const maxDate = parseISODate(this.max);
731
+ const prevMonthDisabled = minDate != null && minDate.getMonth() === focusedMonth && minDate.getFullYear() === focusedYear;
732
+ const nextMonthDisabled = maxDate != null && maxDate.getMonth() === focusedMonth && maxDate.getFullYear() === focusedYear;
733
+ let minYear = selectedYear - this.incrementYears;
734
+ let maxYear = selectedYear + this.incrementYears;
735
+ if (minDate) {
736
+ minYear = Math.max(minYear, minDate.getFullYear());
737
+ }
738
+ if (maxDate) {
739
+ maxYear = Math.min(maxYear, maxDate.getFullYear());
740
+ }
741
+ return (h$1(Host, { class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" } }, h$1("div", { class: "duet-date" }, h$1(DatePickerInput, { 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, echoPlaceholder: this.echoPlaceholder, caption: this.caption })), h$1("div", { class: {
742
+ "duet-theme-turva": this.theme === "turva",
743
+ "duet-date-dialog": true,
744
+ left: this.direction === "left",
745
+ error: !!this.error,
746
+ active: this.open,
747
+ }, 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$1(FocusGuard, { moveFocusTo: this.focusedDayNode }), h$1("div", { class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, h$1("duet-visually-hidden", { "aria-live": "polite" }, text.keyboardInstruction), h$1("div", { class: "duet-date-dialog-mobile-header" }, h$1("duet-label", { margin: "none" }, this.label), h$1("button", { class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, h$1("duet-icon", { name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), h$1("duet-visually-hidden", null, text.closeLabel))), h$1("div", { class: "duet-date-dialog-header" }, h$1("div", { class: "duet-date-dialog-dropdowns" }, h$1("duet-visually-hidden", null, h$1("h2", { id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), h$1("duet-visually-hidden", null, h$1("label", { htmlFor: this.monthSelectId }, text.monthSelectLabel)), h$1("div", { class: "duet-date-dialog-select" }, h$1("select", { id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (h$1("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$1("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h$1("span", null, text.monthLabelsShort[focusedMonth]), h$1("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), h$1("duet-visually-hidden", null, h$1("label", { htmlFor: this.yearSelectId }, text.yearSelectLabel)), h$1("div", { class: "duet-date-dialog-select" }, h$1("select", { id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (h$1("option", { key: year, selected: year === focusedYear }, year)))), h$1("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h$1("span", null, this.focusedDay.getFullYear()), h$1("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), h$1("div", { class: "duet-date-dialog-buttons" }, h$1("duet-action-button", { 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$1("duet-action-button", { 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$1(DatePickerMonth, { 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$1(FocusGuard, { moveFocusTo: this.closeButtonNode }))));
748
+ }
749
+ get element() { return this; }
750
+ static get watchers() { return {
751
+ "min": ["updateValidity"],
752
+ "max": ["updateValidity"],
753
+ "value": ["updateValidity", "updateInternalValue"],
754
+ "required": ["updateValidity"]
755
+ }; }
756
+ static get style() { return duetDatePickerCss; }
757
757
  }, [2, "duet-date-picker", {
758
- "theme": [1025],
759
- "expand": [4],
760
- "name": [1],
761
- "identifier": [1],
762
- "label": [1],
763
- "caption": [1],
764
- "margin": [1],
765
- "language": [1537],
766
- "placeholderDefaults": [1, "placeholder-default"],
767
- "placeholder": [1025],
768
- "echoPlaceholder": [1540, "echo-placeholder"],
769
- "disabled": [516],
770
- "error": [1],
771
- "labelHidden": [4, "label-hidden"],
772
- "role": [1],
773
- "accessibleActiveDescendant": [1, "accessible-active-descendant"],
774
- "accessibleControls": [1, "accessible-controls"],
775
- "accessibleOwns": [1, "accessible-owns"],
776
- "accessibleDescribedBy": [1, "accessible-described-by"],
777
- "required": [4],
778
- "direction": [1],
779
- "tooltip": [1],
780
- "tooltipDirection": [1, "tooltip-direction"],
781
- "value": [1537],
782
- "min": [1],
783
- "max": [1],
784
- "incrementYears": [2, "increment"],
785
- "validity": [1040],
786
- "open": [32],
787
- "focusedDay": [32],
788
- "inputValue": [32],
789
- "setFocus": [64],
790
- "show": [64],
791
- "hide": [64]
792
- }, [[4, "click", "handleDocumentClick"]], {
793
- "min": ["updateValidity"],
794
- "max": ["updateValidity"],
795
- "value": ["updateValidity", "updateInternalValue"],
796
- "required": ["updateValidity"]
797
- }]);
758
+ "theme": [1025],
759
+ "expand": [4],
760
+ "name": [1],
761
+ "identifier": [1],
762
+ "label": [1],
763
+ "caption": [1],
764
+ "margin": [1],
765
+ "language": [1537],
766
+ "placeholderDefaults": [1, "placeholder-default"],
767
+ "placeholder": [1025],
768
+ "echoPlaceholder": [1540, "echo-placeholder"],
769
+ "disabled": [516],
770
+ "error": [1],
771
+ "labelHidden": [4, "label-hidden"],
772
+ "role": [1],
773
+ "accessibleActiveDescendant": [1, "accessible-active-descendant"],
774
+ "accessibleControls": [1, "accessible-controls"],
775
+ "accessibleOwns": [1, "accessible-owns"],
776
+ "accessibleDescribedBy": [1, "accessible-described-by"],
777
+ "required": [4],
778
+ "direction": [1],
779
+ "tooltip": [1],
780
+ "tooltipDirection": [1, "tooltip-direction"],
781
+ "value": [1537],
782
+ "min": [1],
783
+ "max": [1],
784
+ "incrementYears": [2, "increment"],
785
+ "validity": [1040],
786
+ "open": [32],
787
+ "focusedDay": [32],
788
+ "inputValue": [32],
789
+ "setFocus": [64],
790
+ "show": [64],
791
+ "hide": [64]
792
+ }, [[4, "click", "handleDocumentClick"]], {
793
+ "min": ["updateValidity"],
794
+ "max": ["updateValidity"],
795
+ "value": ["updateValidity", "updateInternalValue"],
796
+ "required": ["updateValidity"]
797
+ }]);
798
798
  function defineCustomElement$1() {
799
- if (typeof customElements === "undefined") {
800
- return;
801
- }
802
- const components = ["duet-date-picker", "duet-action-button", "duet-button", "duet-caption", "duet-icon", "duet-input", "duet-label", "duet-spinner", "duet-tooltip", "duet-tooltip-button", "duet-tooltip-popup", "duet-visually-hidden"];
803
- components.forEach(tagName => { switch (tagName) {
804
- case "duet-date-picker":
805
- if (!customElements.get(tagName)) {
806
- customElements.define(tagName, DuetDatePicker$1);
807
- }
808
- break;
809
- case "duet-action-button":
810
- if (!customElements.get(tagName)) {
811
- defineCustomElement$c();
812
- }
813
- break;
814
- case "duet-button":
815
- if (!customElements.get(tagName)) {
816
- defineCustomElement$b();
817
- }
818
- break;
819
- case "duet-caption":
820
- if (!customElements.get(tagName)) {
821
- defineCustomElement$a();
822
- }
823
- break;
824
- case "duet-icon":
825
- if (!customElements.get(tagName)) {
826
- defineCustomElement$9();
827
- }
828
- break;
829
- case "duet-input":
830
- if (!customElements.get(tagName)) {
831
- defineCustomElement$8();
832
- }
833
- break;
834
- case "duet-label":
835
- if (!customElements.get(tagName)) {
836
- defineCustomElement$7();
837
- }
838
- break;
839
- case "duet-spinner":
840
- if (!customElements.get(tagName)) {
841
- defineCustomElement$6();
842
- }
843
- break;
844
- case "duet-tooltip":
845
- if (!customElements.get(tagName)) {
846
- defineCustomElement$5();
847
- }
848
- break;
849
- case "duet-tooltip-button":
850
- if (!customElements.get(tagName)) {
851
- defineCustomElement$4();
852
- }
853
- break;
854
- case "duet-tooltip-popup":
855
- if (!customElements.get(tagName)) {
856
- defineCustomElement$3();
857
- }
858
- break;
859
- case "duet-visually-hidden":
860
- if (!customElements.get(tagName)) {
861
- defineCustomElement$2();
862
- }
863
- break;
864
- } });
799
+ if (typeof customElements === "undefined") {
800
+ return;
801
+ }
802
+ const components = ["duet-date-picker", "duet-action-button", "duet-button", "duet-caption", "duet-icon", "duet-input", "duet-label", "duet-spinner", "duet-tooltip", "duet-tooltip-button", "duet-tooltip-popup", "duet-visually-hidden"];
803
+ components.forEach(tagName => { switch (tagName) {
804
+ case "duet-date-picker":
805
+ if (!customElements.get(tagName)) {
806
+ customElements.define(tagName, DuetDatePicker$1);
807
+ }
808
+ break;
809
+ case "duet-action-button":
810
+ if (!customElements.get(tagName)) {
811
+ defineCustomElement$c();
812
+ }
813
+ break;
814
+ case "duet-button":
815
+ if (!customElements.get(tagName)) {
816
+ defineCustomElement$b();
817
+ }
818
+ break;
819
+ case "duet-caption":
820
+ if (!customElements.get(tagName)) {
821
+ defineCustomElement$a();
822
+ }
823
+ break;
824
+ case "duet-icon":
825
+ if (!customElements.get(tagName)) {
826
+ defineCustomElement$9();
827
+ }
828
+ break;
829
+ case "duet-input":
830
+ if (!customElements.get(tagName)) {
831
+ defineCustomElement$8();
832
+ }
833
+ break;
834
+ case "duet-label":
835
+ if (!customElements.get(tagName)) {
836
+ defineCustomElement$7();
837
+ }
838
+ break;
839
+ case "duet-spinner":
840
+ if (!customElements.get(tagName)) {
841
+ defineCustomElement$6();
842
+ }
843
+ break;
844
+ case "duet-tooltip":
845
+ if (!customElements.get(tagName)) {
846
+ defineCustomElement$5();
847
+ }
848
+ break;
849
+ case "duet-tooltip-button":
850
+ if (!customElements.get(tagName)) {
851
+ defineCustomElement$4();
852
+ }
853
+ break;
854
+ case "duet-tooltip-popup":
855
+ if (!customElements.get(tagName)) {
856
+ defineCustomElement$3();
857
+ }
858
+ break;
859
+ case "duet-visually-hidden":
860
+ if (!customElements.get(tagName)) {
861
+ defineCustomElement$2();
862
+ }
863
+ break;
864
+ } });
865
865
  }
866
866
 
867
867
  const DuetDatePicker = DuetDatePicker$1;