@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,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h, Host } from "@stencil/core";
4
+ import { Build, h, Host, } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  import { createID } from "../../utils/create-id";
7
7
  import { FocusGuard } from "../../utils/focus-utils";
@@ -12,1063 +12,1068 @@ import { DatePickerMonth } from "./date-picker-month";
12
12
  import { addDays, clamp, endOfMonth, endOfWeek, inRange, isEqual, parseDate, parseISODate, printDate, printISODate, setMonth, setYear, startOfMonth, startOfWeek, } from "./date-utils";
13
13
  import { createShortcuts, range } from "./utils";
14
14
  export class DuetDatePicker {
15
- constructor() {
16
- this.monthSelectId = createID("DuetDatePicker");
17
- this.yearSelectId = createID("DuetDatePicker");
18
- this.dialogLabelId = createID("DuetDatePicker");
19
- this.initialTouchX = null;
20
- this.initialTouchY = null;
21
- this.focusTarget = null;
22
- this.enableActiveFocus = () => {
23
- this.focusTarget = "day-button";
24
- };
25
- this.disableActiveFocus = () => {
26
- this.focusTarget = null;
27
- };
28
- this.toggleOpen = (e) => {
29
- e.preventDefault();
30
- this.open ? this.hide(false) : this.show();
31
- };
32
- this.handleBlur = (event) => {
33
- event.stopPropagation();
34
- this.duetBlur.emit({
35
- component: "duet-date-picker",
36
- });
37
- };
38
- this.handleFocus = (event) => {
39
- event.stopPropagation();
40
- this.duetFocus.emit({
41
- component: "duet-date-picker",
42
- });
43
- };
44
- this.handleTouchStart = (event) => {
45
- const touch = event.changedTouches[0];
46
- this.initialTouchX = touch.pageX;
47
- this.initialTouchY = touch.pageY;
48
- };
49
- this.handleTouchMove = (event) => {
50
- event.preventDefault();
51
- };
52
- this.handleTouchEnd = (event) => {
53
- const touch = event.changedTouches[0];
54
- const distX = touch.pageX - this.initialTouchX; // get horizontal dist traveled
55
- const distY = touch.pageY - this.initialTouchY; // get vertical dist traveled
56
- const threshold = 70;
57
- const isHorizontalSwipe = Math.abs(distX) >= threshold && Math.abs(distY) <= threshold;
58
- const isDownwardsSwipe = Math.abs(distY) >= threshold && Math.abs(distX) <= threshold && distY > 0;
59
- if (isHorizontalSwipe) {
60
- this.addMonths(distX < 0 ? 1 : -1);
61
- }
62
- else if (isDownwardsSwipe) {
63
- this.hide();
64
- event.preventDefault();
65
- }
66
- this.initialTouchY = null;
67
- this.initialTouchX = null;
68
- };
69
- this.handleNextMonthClick = (event) => {
70
- event.preventDefault();
71
- this.addMonths(1);
72
- };
73
- this.handlePreviousMonthClick = (event) => {
74
- event.preventDefault();
75
- this.addMonths(-1);
76
- };
77
- this.handleEscKey = createShortcuts({
78
- Escape: () => this.hide(),
79
- Esc: () => this.hide(), // IE-specific
80
- });
81
- this.handleKeyboardNavigation = createShortcuts({
82
- ArrowRight: () => this.addDays(1),
83
- Right: () => this.addDays(1),
84
- ArrowLeft: () => this.addDays(-1),
85
- Left: () => this.addDays(-1),
86
- ArrowDown: () => this.addDays(7),
87
- Down: () => this.addDays(7),
88
- ArrowUp: () => this.addDays(-7),
89
- Up: () => this.addDays(-7),
90
- Home: () => this.startOfWeek(),
91
- End: () => this.endOfWeek(),
92
- PageUp: () => this.addMonths(-1),
93
- PageDown: () => this.addMonths(1),
94
- "Shift+PageUp": () => this.addYears(-1),
95
- "Shift+PageDown": () => this.addYears(1),
96
- });
97
- this.handleDaySelect = (_event, day) => {
98
- const min = parseISODate(this.min);
99
- const max = parseISODate(this.max);
100
- this.determineValidity(day);
101
- if (inRange(day, min, max)) {
102
- this.setValue(day);
103
- this.hide();
104
- }
105
- };
106
- this.handleMonthSelect = e => {
107
- this.setMonth(parseInt(e.target.value, 10));
108
- };
109
- this.handleYearSelect = e => {
110
- this.setYear(parseInt(e.target.value, 10));
111
- };
112
- this.handleInputChange = (e) => {
113
- this.inputValue = e.detail.value;
114
- const parsed = parseDate(this.inputValue);
115
- this.determineValidity(parsed);
116
- if (parsed || this.inputValue === "") {
117
- this.setValue(parsed);
118
- }
119
- };
120
- this.open = false;
121
- this.focusedDay = new Date();
122
- this.inputValue = "";
123
- this.theme = "";
124
- this.expand = false;
125
- this.name = "";
126
- this.identifier = "";
127
- this.label = "";
128
- this.caption = undefined;
129
- this.margin = "auto";
130
- this.language = getLanguage();
131
- this.placeholderDefaults = {
132
- fi: "pp.kk.vvvv",
133
- en: "dd.mm.yyyy",
134
- sv: "dd.mm.åååå",
135
- };
136
- this.placeholder = getLocaleString(this.placeholderDefaults, this.language);
137
- this.echoPlaceholder = false;
138
- this.disabled = false;
139
- this.error = "";
140
- this.labelHidden = false;
141
- this.role = undefined;
142
- this.accessibleActiveDescendant = undefined;
143
- this.accessibleControls = undefined;
144
- this.accessibleOwns = undefined;
145
- this.accessibleDescribedBy = undefined;
146
- this.required = false;
147
- this.direction = "right";
148
- this.tooltip = "";
149
- this.tooltipDirection = "auto";
150
- this.value = "";
151
- this.min = "";
152
- this.max = "";
153
- this.incrementYears = 10;
154
- this.validity = undefined;
155
- }
156
- updateValidity() {
157
- this.determineValidity(parseISODate(this.value));
158
- }
159
- updateInternalValue() {
160
- const parsedValue = parseISODate(this.value);
161
- const parsedInputValue = parseDate(this.inputValue);
162
- // an invalid or empty value should clear the input
163
- if (!parsedValue) {
164
- this.inputValue = "";
15
+ constructor() {
16
+ this.monthSelectId = createID("DuetDatePicker");
17
+ this.yearSelectId = createID("DuetDatePicker");
18
+ this.dialogLabelId = createID("DuetDatePicker");
19
+ this.initialTouchX = null;
20
+ this.initialTouchY = null;
21
+ this.focusTarget = null;
22
+ this.enableActiveFocus = () => {
23
+ this.focusTarget = "day-button";
24
+ };
25
+ this.disableActiveFocus = () => {
26
+ this.focusTarget = null;
27
+ };
28
+ this.toggleOpen = (e) => {
29
+ e.preventDefault();
30
+ this.open ? this.hide(false) : this.show();
31
+ };
32
+ this.handleBlur = (event) => {
33
+ event.stopPropagation();
34
+ this.duetBlur.emit({
35
+ component: "duet-date-picker",
36
+ });
37
+ };
38
+ this.handleFocus = (event) => {
39
+ event.stopPropagation();
40
+ this.duetFocus.emit({
41
+ component: "duet-date-picker",
42
+ });
43
+ };
44
+ this.handleTouchStart = (event) => {
45
+ const touch = event.changedTouches[0];
46
+ this.initialTouchX = touch.pageX;
47
+ this.initialTouchY = touch.pageY;
48
+ };
49
+ this.handleTouchMove = (event) => {
50
+ event.preventDefault();
51
+ };
52
+ this.handleTouchEnd = (event) => {
53
+ const touch = event.changedTouches[0];
54
+ const distX = touch.pageX - this.initialTouchX; // get horizontal dist traveled
55
+ const distY = touch.pageY - this.initialTouchY; // get vertical dist traveled
56
+ const threshold = 70;
57
+ const isHorizontalSwipe = Math.abs(distX) >= threshold && Math.abs(distY) <= threshold;
58
+ const isDownwardsSwipe = Math.abs(distY) >= threshold && Math.abs(distX) <= threshold && distY > 0;
59
+ if (isHorizontalSwipe) {
60
+ this.addMonths(distX < 0 ? 1 : -1);
61
+ }
62
+ else if (isDownwardsSwipe) {
63
+ this.hide();
64
+ event.preventDefault();
65
+ }
66
+ this.initialTouchY = null;
67
+ this.initialTouchX = null;
68
+ };
69
+ this.handleNextMonthClick = (event) => {
70
+ event.preventDefault();
71
+ this.addMonths(1);
72
+ };
73
+ this.handlePreviousMonthClick = (event) => {
74
+ event.preventDefault();
75
+ this.addMonths(-1);
76
+ };
77
+ this.handleEscKey = createShortcuts({
78
+ Escape: () => this.hide(),
79
+ Esc: () => this.hide(), // IE-specific
80
+ });
81
+ this.handleKeyboardNavigation = createShortcuts({
82
+ ArrowRight: () => this.addDays(1),
83
+ Right: () => this.addDays(1), // IE does not have "Arrow" prefix
84
+ ArrowLeft: () => this.addDays(-1),
85
+ Left: () => this.addDays(-1),
86
+ ArrowDown: () => this.addDays(7),
87
+ Down: () => this.addDays(7),
88
+ ArrowUp: () => this.addDays(-7),
89
+ Up: () => this.addDays(-7),
90
+ Home: () => this.startOfWeek(),
91
+ End: () => this.endOfWeek(),
92
+ PageUp: () => this.addMonths(-1),
93
+ PageDown: () => this.addMonths(1),
94
+ "Shift+PageUp": () => this.addYears(-1),
95
+ "Shift+PageDown": () => this.addYears(1),
96
+ });
97
+ this.handleDaySelect = (_event, day) => {
98
+ const min = parseISODate(this.min);
99
+ const max = parseISODate(this.max);
100
+ this.determineValidity(day);
101
+ if (inRange(day, min, max)) {
102
+ this.setValue(day);
103
+ this.hide();
104
+ }
105
+ };
106
+ this.handleMonthSelect = e => {
107
+ this.setMonth(parseInt(e.target.value, 10));
108
+ };
109
+ this.handleYearSelect = e => {
110
+ this.setYear(parseInt(e.target.value, 10));
111
+ };
112
+ this.handleInputChange = (e) => {
113
+ this.inputValue = e.detail.value;
114
+ const parsed = parseDate(this.inputValue);
115
+ this.determineValidity(parsed);
116
+ if (parsed || this.inputValue === "") {
117
+ this.setValue(parsed);
118
+ }
119
+ };
120
+ this.open = false;
121
+ this.focusedDay = new Date();
122
+ this.inputValue = "";
123
+ this.theme = "";
124
+ this.expand = false;
125
+ this.name = "";
126
+ this.identifier = "";
127
+ this.label = "";
128
+ this.caption = undefined;
129
+ this.margin = "auto";
130
+ this.language = getLanguage();
131
+ this.placeholderDefaults = {
132
+ fi: "pp.kk.vvvv",
133
+ en: "dd.mm.yyyy",
134
+ sv: "dd.mm.åååå",
135
+ };
136
+ this.placeholder = getLocaleString(this.placeholderDefaults, this.language);
137
+ this.echoPlaceholder = false;
138
+ this.disabled = false;
139
+ this.error = "";
140
+ this.labelHidden = false;
141
+ this.role = undefined;
142
+ this.accessibleActiveDescendant = undefined;
143
+ this.accessibleControls = undefined;
144
+ this.accessibleOwns = undefined;
145
+ this.accessibleDescribedBy = undefined;
146
+ this.required = false;
147
+ this.direction = "right";
148
+ this.tooltip = "";
149
+ this.tooltipDirection = "auto";
150
+ this.value = "";
151
+ this.min = "";
152
+ this.max = "";
153
+ this.incrementYears = 10;
154
+ this.validity = undefined;
165
155
  }
166
- // but otherwise only update user's input if the new value is different to user's input
167
- else if (!isEqual(parsedValue, parsedInputValue)) {
168
- this.inputValue = printDate(parsedValue);
156
+ updateValidity() {
157
+ this.determineValidity(parseISODate(this.value));
169
158
  }
170
- }
171
- /**
172
- * Component lifecycle events.
173
- */
174
- componentWillLoad() {
175
- inheritGlobalTheme(this);
176
- this.determineValidity(parseISODate(this.value));
177
- this.updateInternalValue();
178
- }
179
- componentDidUpdate() {
180
- // we want to run this code _after_ render
181
- // to ensure all elements are visible (and thus focusable)
182
- // hence using componentDidUpdate
183
- switch (this.focusTarget) {
184
- case "toggle-button":
185
- this.datePickerButton.focus();
186
- this.focusTarget = null;
187
- break;
188
- case "day-button":
189
- // we don't clear focusTarget here since this is cleared
190
- // already when focus is moved out of calendar table
191
- this.focusedDayNode.focus();
192
- break;
193
- case "month-select":
194
- this.monthSelectNode.focus();
195
- this.focusTarget = null;
196
- break;
159
+ updateInternalValue() {
160
+ const parsedValue = parseISODate(this.value);
161
+ const parsedInputValue = parseDate(this.inputValue);
162
+ // an invalid or empty value should clear the input
163
+ if (!parsedValue) {
164
+ this.inputValue = "";
165
+ }
166
+ // but otherwise only update user's input if the new value is different to user's input
167
+ else if (!isEqual(parsedValue, parsedInputValue)) {
168
+ this.inputValue = printDate(parsedValue);
169
+ }
197
170
  }
198
- }
199
- connectedCallback() {
200
- connectLanguageChangeObserver(this, { prop: "placeholder", defaults: "placeholderDefaults" });
201
- }
202
- disconnectedCallback() {
203
- disconnectLanguageChangeObserver(this);
204
- }
205
- /**
206
- * Sets focus on the date picker's input. Use this method instead of the global `focus()`.
207
- */
208
- async setFocus(options) {
209
- this.datePickerInput.setFocus(options);
210
- }
211
- /**
212
- * Show the calendar modal, moving focus to the calendar inside.
213
- */
214
- async show() {
215
- this.open = true;
216
- this.focusTarget = "month-select";
217
- this.setFocusedDay(parseISODate(this.value) || new Date());
218
- }
219
- /**
220
- * Hide the calendar modal. Set `moveFocusToButton` to false to prevent focus
221
- * returning to the date picker's button. Default is true.
222
- */
223
- async hide(moveFocusToButton = true) {
224
- this.open = false;
225
- if (moveFocusToButton) {
226
- this.focusTarget = "toggle-button";
171
+ /**
172
+ * Component lifecycle events.
173
+ */
174
+ componentWillLoad() {
175
+ inheritGlobalTheme(this);
176
+ this.determineValidity(parseISODate(this.value));
177
+ this.updateInternalValue();
227
178
  }
228
- }
229
- addDays(days) {
230
- this.setFocusedDay(addDays(this.focusedDay, days));
231
- }
232
- addMonths(months) {
233
- this.setMonth(this.focusedDay.getMonth() + months);
234
- }
235
- addYears(years) {
236
- this.setYear(this.focusedDay.getFullYear() + years);
237
- }
238
- startOfWeek() {
239
- this.setFocusedDay(startOfWeek(this.focusedDay));
240
- }
241
- endOfWeek() {
242
- this.setFocusedDay(endOfWeek(this.focusedDay));
243
- }
244
- setMonth(month) {
245
- const min = setMonth(startOfMonth(this.focusedDay), month);
246
- const max = endOfMonth(min);
247
- const date = setMonth(this.focusedDay, month);
248
- this.setFocusedDay(clamp(date, min, max));
249
- }
250
- setYear(year) {
251
- const min = setYear(startOfMonth(this.focusedDay), year);
252
- const max = endOfMonth(min);
253
- const date = setYear(this.focusedDay, year);
254
- this.setFocusedDay(clamp(date, min, max));
255
- }
256
- setFocusedDay(day) {
257
- this.focusedDay = clamp(day, parseISODate(this.min), parseISODate(this.max));
258
- }
259
- determineValidity(date) {
260
- var _a, _b;
261
- const inputValue = (_b = (_a = this.datePickerInput) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : "";
262
- const badInput = inputValue !== "" && date == null;
263
- const valueMissing = this.required && date == null;
264
- const rangeOverflow = date ? !inRange(date, null, parseISODate(this.max)) : false;
265
- const rangeUnderflow = date ? !inRange(date, parseISODate(this.min)) : false;
266
- this.validity = {
267
- patternMismatch: false,
268
- customError: false,
269
- stepMismatch: false,
270
- tooLong: false,
271
- tooShort: false,
272
- typeMismatch: false,
273
- valueMissing,
274
- badInput,
275
- rangeUnderflow,
276
- rangeOverflow,
277
- valid: !(valueMissing || badInput || rangeUnderflow || rangeOverflow),
278
- };
279
- }
280
- setValue(date) {
281
- const newValue = printISODate(date);
282
- if (newValue === this.value) {
283
- return;
179
+ componentDidUpdate() {
180
+ // we want to run this code _after_ render
181
+ // to ensure all elements are visible (and thus focusable)
182
+ // hence using componentDidUpdate
183
+ switch (this.focusTarget) {
184
+ case "toggle-button":
185
+ this.datePickerButton.focus();
186
+ this.focusTarget = null;
187
+ break;
188
+ case "day-button":
189
+ // we don't clear focusTarget here since this is cleared
190
+ // already when focus is moved out of calendar table
191
+ this.focusedDayNode.focus();
192
+ break;
193
+ case "month-select":
194
+ this.monthSelectNode.focus();
195
+ this.focusTarget = null;
196
+ break;
197
+ }
284
198
  }
285
- this.value = newValue;
286
- this.duetChange.emit({
287
- component: "duet-date-picker",
288
- value: this.value,
289
- valueAsDate: date,
290
- });
291
- }
292
- handleDocumentClick(e) {
293
- if (!this.open) {
294
- return;
199
+ connectedCallback() {
200
+ connectLanguageChangeObserver(this, { prop: "placeholder", defaults: "placeholderDefaults" });
295
201
  }
296
- // the dialog and the button aren't considered clicks outside.
297
- // dialog for obvious reasons, but the button needs to be skipped
298
- // so that two things are possible:
299
- //
300
- // a) clicking again on the button when dialog is open should close the modal.
301
- // without skipping the button here, we would see a click outside
302
- // _and_ a click on the button, so the `open` state goes
303
- // open -> close (click outside) -> open (click button)
304
- //
305
- // b) clicking another date picker's button should close the current calendar
306
- // and open the new one. this means we can't stopPropagation() on the button itself
307
- const isClickOutside = e
308
- .composedPath()
309
- .every(node => node !== this.dialogWrapperNode && node !== this.datePickerButton);
310
- if (isClickOutside) {
311
- this.hide(false);
202
+ disconnectedCallback() {
203
+ disconnectLanguageChangeObserver(this);
312
204
  }
313
- }
314
- /**
315
- * render() function
316
- * Always the last one in the class.
317
- */
318
- render() {
319
- const valueAsDate = parseISODate(this.value);
320
- const selectedYear = (valueAsDate || this.focusedDay).getFullYear();
321
- const focusedMonth = this.focusedDay.getMonth();
322
- const focusedYear = this.focusedDay.getFullYear();
323
- const text = i18n[this.language];
324
- const minDate = parseISODate(this.min);
325
- const maxDate = parseISODate(this.max);
326
- const prevMonthDisabled = minDate != null && minDate.getMonth() === focusedMonth && minDate.getFullYear() === focusedYear;
327
- const nextMonthDisabled = maxDate != null && maxDate.getMonth() === focusedMonth && maxDate.getFullYear() === focusedYear;
328
- let minYear = selectedYear - this.incrementYears;
329
- let maxYear = selectedYear + this.incrementYears;
330
- if (minDate) {
331
- minYear = Math.max(minYear, minDate.getFullYear());
205
+ /**
206
+ * Sets focus on the date picker's input. Use this method instead of the global `focus()`.
207
+ */
208
+ async setFocus(options) {
209
+ this.datePickerInput.setFocus(options);
332
210
  }
333
- if (maxDate) {
334
- maxYear = Math.min(maxYear, maxDate.getFullYear());
211
+ /**
212
+ * Show the calendar modal, moving focus to the calendar inside.
213
+ */
214
+ async show() {
215
+ this.open = true;
216
+ this.focusTarget = "month-select";
217
+ this.setFocusedDay(parseISODate(this.value) || new Date());
335
218
  }
336
- return (h(Host, { class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" } }, h("div", { class: "duet-date" }, h(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("div", { class: {
337
- "duet-theme-turva": this.theme === "turva",
338
- "duet-date-dialog": true,
339
- left: this.direction === "left",
340
- error: !!this.error,
341
- active: this.open,
342
- }, 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(FocusGuard, { moveFocusTo: this.focusedDayNode }), h("div", { class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, h("duet-visually-hidden", { "aria-live": "polite" }, text.keyboardInstruction), h("div", { class: "duet-date-dialog-mobile-header" }, h("duet-label", { margin: "none" }, this.label), h("button", { class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, h("duet-icon", { name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), h("duet-visually-hidden", null, text.closeLabel))), h("div", { class: "duet-date-dialog-header" }, h("div", { class: "duet-date-dialog-dropdowns" }, h("duet-visually-hidden", null, h("h2", { id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), h("duet-visually-hidden", null, h("label", { htmlFor: this.monthSelectId }, text.monthSelectLabel)), h("div", { class: "duet-date-dialog-select" }, h("select", { id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (h("option", { key: month, value: i, selected: i === focusedMonth, disabled: !inRange(new Date(focusedYear, i, 1), minDate ? startOfMonth(minDate) : null, maxDate ? endOfMonth(maxDate) : null) }, month)))), h("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", null, text.monthLabelsShort[focusedMonth]), h("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), h("duet-visually-hidden", null, h("label", { htmlFor: this.yearSelectId }, text.yearSelectLabel)), h("div", { class: "duet-date-dialog-select" }, h("select", { id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (h("option", { key: year, selected: year === focusedYear }, year)))), h("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", null, this.focusedDay.getFullYear()), h("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), h("div", { class: "duet-date-dialog-buttons" }, h("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("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(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(FocusGuard, { moveFocusTo: this.closeButtonNode }))));
343
- }
344
- static get is() { return "duet-date-picker"; }
345
- static get encapsulation() { return "scoped"; }
346
- static get originalStyleUrls() {
347
- return {
348
- "$": ["duet-date-picker.scss"]
349
- };
350
- }
351
- static get styleUrls() {
352
- return {
353
- "$": ["duet-date-picker.css"]
354
- };
355
- }
356
- static get properties() {
357
- return {
358
- "theme": {
359
- "type": "string",
360
- "mutable": true,
361
- "complexType": {
362
- "original": "DuetTheme",
363
- "resolved": "\"\" | \"default\" | \"turva\"",
364
- "references": {
365
- "DuetTheme": {
366
- "location": "import",
367
- "path": "../../common-types",
368
- "id": "src/common-types.d.ts::DuetTheme"
369
- }
370
- }
371
- },
372
- "required": false,
373
- "optional": false,
374
- "docs": {
375
- "tags": [],
376
- "text": "Theme of the component."
377
- },
378
- "attribute": "theme",
379
- "reflect": false,
380
- "defaultValue": "\"\""
381
- },
382
- "expand": {
383
- "type": "boolean",
384
- "mutable": false,
385
- "complexType": {
386
- "original": "boolean",
387
- "resolved": "boolean",
388
- "references": {}
389
- },
390
- "required": false,
391
- "optional": false,
392
- "docs": {
393
- "tags": [],
394
- "text": "Expands the date picker input to fill 100% of the container width."
395
- },
396
- "attribute": "expand",
397
- "reflect": false,
398
- "defaultValue": "false"
399
- },
400
- "name": {
401
- "type": "string",
402
- "mutable": false,
403
- "complexType": {
404
- "original": "string",
405
- "resolved": "string",
406
- "references": {}
407
- },
408
- "required": false,
409
- "optional": false,
410
- "docs": {
411
- "tags": [],
412
- "text": "Name of the date picker input."
413
- },
414
- "attribute": "name",
415
- "reflect": false,
416
- "defaultValue": "\"\""
417
- },
418
- "identifier": {
419
- "type": "string",
420
- "mutable": false,
421
- "complexType": {
422
- "original": "string",
423
- "resolved": "string",
424
- "references": {}
425
- },
426
- "required": false,
427
- "optional": false,
428
- "docs": {
429
- "tags": [],
430
- "text": "Adds a unique identifier for the date picker input."
431
- },
432
- "attribute": "identifier",
433
- "reflect": false,
434
- "defaultValue": "\"\""
435
- },
436
- "label": {
437
- "type": "string",
438
- "mutable": false,
439
- "complexType": {
440
- "original": "string",
441
- "resolved": "string",
442
- "references": {}
443
- },
444
- "required": false,
445
- "optional": false,
446
- "docs": {
447
- "tags": [],
448
- "text": "Label for the date picker input."
449
- },
450
- "attribute": "label",
451
- "reflect": false,
452
- "defaultValue": "\"\""
453
- },
454
- "caption": {
455
- "type": "string",
456
- "mutable": false,
457
- "complexType": {
458
- "original": "string",
459
- "resolved": "string",
460
- "references": {}
461
- },
462
- "required": false,
463
- "optional": false,
464
- "docs": {
465
- "tags": [],
466
- "text": "Caption (underneath label) that can be set as a way of adding extra information."
467
- },
468
- "attribute": "caption",
469
- "reflect": false
470
- },
471
- "margin": {
472
- "type": "string",
473
- "mutable": false,
474
- "complexType": {
475
- "original": "DuetMargin",
476
- "resolved": "\"auto\" | \"none\"",
477
- "references": {
478
- "DuetMargin": {
479
- "location": "import",
480
- "path": "../../common-types",
481
- "id": "src/common-types.d.ts::DuetMargin"
482
- }
483
- }
484
- },
485
- "required": false,
486
- "optional": false,
487
- "docs": {
488
- "tags": [],
489
- "text": "Controls the margin of the component."
490
- },
491
- "attribute": "margin",
492
- "reflect": false,
493
- "defaultValue": "\"auto\""
494
- },
495
- "language": {
496
- "type": "string",
497
- "mutable": true,
498
- "complexType": {
499
- "original": "DuetLanguage",
500
- "resolved": "\"en\" | \"fi\" | \"sv\"",
501
- "references": {
502
- "DuetLanguage": {
503
- "location": "import",
504
- "path": "../../common-types",
505
- "id": "src/common-types.d.ts::DuetLanguage"
506
- }
507
- }
508
- },
509
- "required": false,
510
- "optional": false,
511
- "docs": {
512
- "tags": [{
513
- "name": "deprecated",
514
- "text": "this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing."
515
- }, {
516
- "name": "default",
517
- "text": "\"fi\""
518
- }],
519
- "text": "The currently active language. This setting changes the month/year/day.\nnames and button labels as well as all screen reader labels."
520
- },
521
- "attribute": "language",
522
- "reflect": true,
523
- "defaultValue": "getLanguage()"
524
- },
525
- "placeholderDefaults": {
526
- "type": "string",
527
- "mutable": false,
528
- "complexType": {
529
- "original": "DuetLangObject | string",
530
- "resolved": "DuetLangObject | string",
531
- "references": {
532
- "DuetLangObject": {
533
- "location": "import",
534
- "path": "../../utils/language-utils",
535
- "id": "src/utils/language-utils.ts::DuetLangObject"
536
- }
537
- }
538
- },
539
- "required": false,
540
- "optional": false,
541
- "docs": {
542
- "tags": [{
543
- "name": "default",
544
- "text": "{ fi: \"pp.kk.vvvv\", en: \"dd.mm.yyyy\", sv: \"dd.mm.\u00E5\u00E5\u00E5\u00E5\" }"
545
- }],
546
- "text": "Placeholder defaults."
547
- },
548
- "attribute": "placeholder-default",
549
- "reflect": false,
550
- "defaultValue": "{\n fi: \"pp.kk.vvvv\",\n en: \"dd.mm.yyyy\",\n sv: \"dd.mm.\u00E5\u00E5\u00E5\u00E5\",\n }"
551
- },
552
- "placeholder": {
553
- "type": "string",
554
- "mutable": true,
555
- "complexType": {
556
- "original": "string",
557
- "resolved": "string",
558
- "references": {}
559
- },
560
- "required": false,
561
- "optional": false,
562
- "docs": {
563
- "tags": [{
564
- "name": "default",
565
- "text": "{ fi: \"pp.kk.vvvv\", en: \"dd.mm.yyyy\", sv: \"dd.mm.\u00E5\u00E5\u00E5\u00E5\" }"
566
- }],
567
- "text": "Hint text to display before the user types into the date picker input."
568
- },
569
- "attribute": "placeholder",
570
- "reflect": false,
571
- "defaultValue": "getLocaleString(this.placeholderDefaults, this.language)"
572
- },
573
- "echoPlaceholder": {
574
- "type": "boolean",
575
- "mutable": true,
576
- "complexType": {
577
- "original": "boolean",
578
- "resolved": "boolean",
579
- "references": {}
580
- },
581
- "required": false,
582
- "optional": false,
583
- "docs": {
584
- "tags": [],
585
- "text": "If form input field has a placeholder text, and user types anything (causing the text to dissapear),\nsettings this to true will \"echo\" it into the caption slot - this option will be false by default for the next few versions, but will eventually be true by default (scheduled for 4.30.0)"
586
- },
587
- "attribute": "echo-placeholder",
588
- "reflect": true,
589
- "defaultValue": "false"
590
- },
591
- "disabled": {
592
- "type": "boolean",
593
- "mutable": false,
594
- "complexType": {
595
- "original": "boolean",
596
- "resolved": "boolean",
597
- "references": {}
598
- },
599
- "required": false,
600
- "optional": false,
601
- "docs": {
602
- "tags": [],
603
- "text": "Makes the date picker input component disabled. This prevents users from being able to\ninteract with the input, and conveys its inactive state to assistive technologies."
604
- },
605
- "attribute": "disabled",
606
- "reflect": true,
607
- "defaultValue": "false"
608
- },
609
- "error": {
610
- "type": "string",
611
- "mutable": false,
612
- "complexType": {
613
- "original": "string",
614
- "resolved": "string",
615
- "references": {}
616
- },
617
- "required": false,
618
- "optional": false,
619
- "docs": {
620
- "tags": [],
621
- "text": "Display the date picker input in error state along with an error message."
622
- },
623
- "attribute": "error",
624
- "reflect": false,
625
- "defaultValue": "\"\""
626
- },
627
- "labelHidden": {
628
- "type": "boolean",
629
- "mutable": false,
630
- "complexType": {
631
- "original": "boolean",
632
- "resolved": "boolean",
633
- "references": {}
634
- },
635
- "required": false,
636
- "optional": false,
637
- "docs": {
638
- "tags": [],
639
- "text": "Visually hide the label, but still show it to screen readers."
640
- },
641
- "attribute": "label-hidden",
642
- "reflect": false,
643
- "defaultValue": "false"
644
- },
645
- "role": {
646
- "type": "string",
647
- "mutable": false,
648
- "complexType": {
649
- "original": "string | null",
650
- "resolved": "string",
651
- "references": {}
652
- },
653
- "required": false,
654
- "optional": false,
655
- "docs": {
656
- "tags": [],
657
- "text": "Defines a specific role attribute for the date picker input."
658
- },
659
- "attribute": "role",
660
- "reflect": false
661
- },
662
- "accessibleActiveDescendant": {
663
- "type": "string",
664
- "mutable": false,
665
- "complexType": {
666
- "original": "string",
667
- "resolved": "string",
668
- "references": {}
669
- },
670
- "required": false,
671
- "optional": false,
672
- "docs": {
673
- "tags": [],
674
- "text": "Indicates the id of a related component\u2019s visually focused element."
675
- },
676
- "attribute": "accessible-active-descendant",
677
- "reflect": false
678
- },
679
- "accessibleControls": {
680
- "type": "string",
681
- "mutable": false,
682
- "complexType": {
683
- "original": "string",
684
- "resolved": "string",
685
- "references": {}
686
- },
687
- "required": false,
688
- "optional": false,
689
- "docs": {
690
- "tags": [],
691
- "text": "Use this prop to add an aria-controls attribute. Use the attribute to\nindicate the id of a component controlled by this component."
692
- },
693
- "attribute": "accessible-controls",
694
- "reflect": false
695
- },
696
- "accessibleOwns": {
697
- "type": "string",
698
- "mutable": false,
699
- "complexType": {
700
- "original": "string",
701
- "resolved": "string",
702
- "references": {}
703
- },
704
- "required": false,
705
- "optional": false,
706
- "docs": {
707
- "tags": [],
708
- "text": "Indicates the id of a component owned by the input."
709
- },
710
- "attribute": "accessible-owns",
711
- "reflect": false
712
- },
713
- "accessibleDescribedBy": {
714
- "type": "string",
715
- "mutable": false,
716
- "complexType": {
717
- "original": "string",
718
- "resolved": "string",
719
- "references": {}
720
- },
721
- "required": false,
722
- "optional": false,
723
- "docs": {
724
- "tags": [],
725
- "text": "Indicates the id of a component that describes the input."
726
- },
727
- "attribute": "accessible-described-by",
728
- "reflect": false
729
- },
730
- "required": {
731
- "type": "boolean",
732
- "mutable": false,
733
- "complexType": {
734
- "original": "boolean",
735
- "resolved": "boolean",
736
- "references": {}
737
- },
738
- "required": false,
739
- "optional": false,
740
- "docs": {
741
- "tags": [],
742
- "text": "Set whether the input is required or not. Please note that this is necessary for\naccessible inputs when the user is required to fill them. When using this property\nyou need to also set \u201Cnovalidate\u201D attribute to your form element to prevent\nbrowser from displaying its own validation errors."
743
- },
744
- "attribute": "required",
745
- "reflect": false,
746
- "defaultValue": "false"
747
- },
748
- "direction": {
749
- "type": "string",
750
- "mutable": false,
751
- "complexType": {
752
- "original": "DuetDatePickerDirection",
753
- "resolved": "\"left\" | \"right\"",
754
- "references": {
755
- "DuetDatePickerDirection": {
756
- "location": "local",
757
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-date-picker/duet-date-picker.tsx",
758
- "id": "src/components/duet-date-picker/duet-date-picker.tsx::DuetDatePickerDirection"
759
- }
760
- }
761
- },
762
- "required": false,
763
- "optional": false,
764
- "docs": {
765
- "tags": [],
766
- "text": "Forces the opening direction of the calendar modal to be always left or right.\nThis setting can be useful when the input is smaller than the opening date picker\nwould be as by default the picker always opens towards right."
767
- },
768
- "attribute": "direction",
769
- "reflect": false,
770
- "defaultValue": "\"right\""
771
- },
772
- "tooltip": {
773
- "type": "string",
774
- "mutable": false,
775
- "complexType": {
776
- "original": "string",
777
- "resolved": "string",
778
- "references": {}
779
- },
780
- "required": false,
781
- "optional": false,
782
- "docs": {
783
- "tags": [],
784
- "text": "Tooltip to display next to the label of the date picker input."
785
- },
786
- "attribute": "tooltip",
787
- "reflect": false,
788
- "defaultValue": "\"\""
789
- },
790
- "tooltipDirection": {
791
- "type": "string",
792
- "mutable": false,
793
- "complexType": {
794
- "original": "DuetTooltipDirection",
795
- "resolved": "\"auto\" | \"left\" | \"right\"",
796
- "references": {
797
- "DuetTooltipDirection": {
798
- "location": "import",
799
- "path": "../../common-types",
800
- "id": "src/common-types.d.ts::DuetTooltipDirection"
801
- }
802
- }
803
- },
804
- "required": false,
805
- "optional": false,
806
- "docs": {
807
- "tags": [],
808
- "text": "With direction setting you can force the tooltip to always open towards left\nor right instead of automatically determining the direction."
809
- },
810
- "attribute": "tooltip-direction",
811
- "reflect": false,
812
- "defaultValue": "\"auto\""
813
- },
814
- "value": {
815
- "type": "string",
816
- "mutable": true,
817
- "complexType": {
818
- "original": "string",
819
- "resolved": "string",
820
- "references": {}
821
- },
822
- "required": false,
823
- "optional": false,
824
- "docs": {
825
- "tags": [],
826
- "text": "Date value. Must be in IS0-8601 format: YYYY-MM-DD"
827
- },
828
- "attribute": "value",
829
- "reflect": true,
830
- "defaultValue": "\"\""
831
- },
832
- "min": {
833
- "type": "string",
834
- "mutable": false,
835
- "complexType": {
836
- "original": "string",
837
- "resolved": "string",
838
- "references": {}
839
- },
840
- "required": false,
841
- "optional": false,
842
- "docs": {
843
- "tags": [],
844
- "text": "Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the max property."
845
- },
846
- "attribute": "min",
847
- "reflect": false,
848
- "defaultValue": "\"\""
849
- },
850
- "max": {
851
- "type": "string",
852
- "mutable": false,
853
- "complexType": {
854
- "original": "string",
855
- "resolved": "string",
856
- "references": {}
857
- },
858
- "required": false,
859
- "optional": false,
860
- "docs": {
861
- "tags": [],
862
- "text": "Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the min property."
863
- },
864
- "attribute": "max",
865
- "reflect": false,
866
- "defaultValue": "\"\""
867
- },
868
- "incrementYears": {
869
- "type": "number",
870
- "mutable": false,
871
- "complexType": {
872
- "original": "number",
873
- "resolved": "number",
874
- "references": {}
875
- },
876
- "required": false,
877
- "optional": false,
878
- "docs": {
879
- "tags": [],
880
- "text": "Increment to add to years, defaults to 10 for simplicity, if you need a larger selectionspace you can set it to 100"
881
- },
882
- "attribute": "increment",
883
- "reflect": false,
884
- "defaultValue": "10"
885
- },
886
- "validity": {
887
- "type": "unknown",
888
- "mutable": true,
889
- "complexType": {
890
- "original": "ValidityState",
891
- "resolved": "ValidityState",
892
- "references": {
893
- "ValidityState": {
894
- "location": "global",
895
- "id": "global::ValidityState"
896
- }
897
- }
898
- },
899
- "required": false,
900
- "optional": false,
901
- "docs": {
902
- "tags": [],
903
- "text": "This offers information relating to the current validity of the component.\nIt follow as closely as possible the behaviour of the native date input.\nUseful properties to inspect are badInput, valueMissing, rangeOverflow, rangeUnderflow.\n**This property should be treated as read only**."
219
+ /**
220
+ * Hide the calendar modal. Set `moveFocusToButton` to false to prevent focus
221
+ * returning to the date picker's button. Default is true.
222
+ */
223
+ async hide(moveFocusToButton = true) {
224
+ this.open = false;
225
+ if (moveFocusToButton) {
226
+ this.focusTarget = "toggle-button";
904
227
  }
905
- }
906
- };
907
- }
908
- static get states() {
909
- return {
910
- "open": {},
911
- "focusedDay": {},
912
- "inputValue": {}
913
- };
914
- }
915
- static get events() {
916
- return [{
917
- "method": "duetChange",
918
- "name": "duetChange",
919
- "bubbles": true,
920
- "cancelable": true,
921
- "composed": true,
922
- "docs": {
923
- "tags": [],
924
- "text": "Event emitted when a date is selected."
925
- },
926
- "complexType": {
927
- "original": "DuetDatePickerChangeEvent",
928
- "resolved": "{ component: \"duet-date-picker\"; valueAsDate: Date; value: string; }",
929
- "references": {
930
- "DuetDatePickerChangeEvent": {
931
- "location": "local",
932
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-date-picker/duet-date-picker.tsx",
933
- "id": "src/components/duet-date-picker/duet-date-picker.tsx::DuetDatePickerChangeEvent"
934
- }
935
- }
228
+ }
229
+ addDays(days) {
230
+ this.setFocusedDay(addDays(this.focusedDay, days));
231
+ }
232
+ addMonths(months) {
233
+ this.setMonth(this.focusedDay.getMonth() + months);
234
+ }
235
+ addYears(years) {
236
+ this.setYear(this.focusedDay.getFullYear() + years);
237
+ }
238
+ startOfWeek() {
239
+ this.setFocusedDay(startOfWeek(this.focusedDay));
240
+ }
241
+ endOfWeek() {
242
+ this.setFocusedDay(endOfWeek(this.focusedDay));
243
+ }
244
+ setMonth(month) {
245
+ const min = setMonth(startOfMonth(this.focusedDay), month);
246
+ const max = endOfMonth(min);
247
+ const date = setMonth(this.focusedDay, month);
248
+ this.setFocusedDay(clamp(date, min, max));
249
+ }
250
+ setYear(year) {
251
+ const min = setYear(startOfMonth(this.focusedDay), year);
252
+ const max = endOfMonth(min);
253
+ const date = setYear(this.focusedDay, year);
254
+ this.setFocusedDay(clamp(date, min, max));
255
+ }
256
+ setFocusedDay(day) {
257
+ this.focusedDay = clamp(day, parseISODate(this.min), parseISODate(this.max));
258
+ }
259
+ determineValidity(date) {
260
+ var _a, _b;
261
+ const inputValue = (_b = (_a = this.datePickerInput) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : "";
262
+ const badInput = inputValue !== "" && date == null;
263
+ const valueMissing = this.required && date == null;
264
+ const rangeOverflow = date ? !inRange(date, null, parseISODate(this.max)) : false;
265
+ const rangeUnderflow = date ? !inRange(date, parseISODate(this.min)) : false;
266
+ this.validity = {
267
+ patternMismatch: false,
268
+ customError: false,
269
+ stepMismatch: false,
270
+ tooLong: false,
271
+ tooShort: false,
272
+ typeMismatch: false,
273
+ valueMissing,
274
+ badInput,
275
+ rangeUnderflow,
276
+ rangeOverflow,
277
+ valid: !(valueMissing || badInput || rangeUnderflow || rangeOverflow),
278
+ };
279
+ }
280
+ setValue(date) {
281
+ const newValue = printISODate(date);
282
+ if (newValue === this.value) {
283
+ return;
936
284
  }
937
- }, {
938
- "method": "duetBlur",
939
- "name": "duetBlur",
940
- "bubbles": true,
941
- "cancelable": true,
942
- "composed": true,
943
- "docs": {
944
- "tags": [],
945
- "text": "Event emitted the date picker input is blurred."
946
- },
947
- "complexType": {
948
- "original": "DuetDatePickerFocusEvent",
949
- "resolved": "{ component: \"duet-date-picker\"; }",
950
- "references": {
951
- "DuetDatePickerFocusEvent": {
952
- "location": "local",
953
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-date-picker/duet-date-picker.tsx",
954
- "id": "src/components/duet-date-picker/duet-date-picker.tsx::DuetDatePickerFocusEvent"
955
- }
956
- }
285
+ this.value = newValue;
286
+ this.duetChange.emit({
287
+ component: "duet-date-picker",
288
+ value: this.value,
289
+ valueAsDate: date,
290
+ });
291
+ }
292
+ handleDocumentClick(e) {
293
+ if (!this.open) {
294
+ return;
957
295
  }
958
- }, {
959
- "method": "duetFocus",
960
- "name": "duetFocus",
961
- "bubbles": true,
962
- "cancelable": true,
963
- "composed": true,
964
- "docs": {
965
- "tags": [],
966
- "text": "Event emitted the date picker input is focused."
967
- },
968
- "complexType": {
969
- "original": "DuetDatePickerFocusEvent",
970
- "resolved": "{ component: \"duet-date-picker\"; }",
971
- "references": {
972
- "DuetDatePickerFocusEvent": {
973
- "location": "local",
974
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-date-picker/duet-date-picker.tsx",
975
- "id": "src/components/duet-date-picker/duet-date-picker.tsx::DuetDatePickerFocusEvent"
976
- }
977
- }
296
+ // the dialog and the button aren't considered clicks outside.
297
+ // dialog for obvious reasons, but the button needs to be skipped
298
+ // so that two things are possible:
299
+ //
300
+ // a) clicking again on the button when dialog is open should close the modal.
301
+ // without skipping the button here, we would see a click outside
302
+ // _and_ a click on the button, so the `open` state goes
303
+ // open -> close (click outside) -> open (click button)
304
+ //
305
+ // b) clicking another date picker's button should close the current calendar
306
+ // and open the new one. this means we can't stopPropagation() on the button itself
307
+ const isClickOutside = e
308
+ .composedPath()
309
+ .every(node => node !== this.dialogWrapperNode && node !== this.datePickerButton);
310
+ if (isClickOutside) {
311
+ this.hide(false);
978
312
  }
979
- }];
980
- }
981
- static get methods() {
982
- return {
983
- "setFocus": {
984
- "complexType": {
985
- "signature": "(options?: FocusOptions) => Promise<void>",
986
- "parameters": [{
987
- "tags": [],
988
- "text": ""
989
- }],
990
- "references": {
991
- "Promise": {
992
- "location": "global",
993
- "id": "global::Promise"
994
- },
995
- "FocusOptions": {
996
- "location": "global",
997
- "id": "global::FocusOptions"
998
- }
999
- },
1000
- "return": "Promise<void>"
1001
- },
1002
- "docs": {
1003
- "text": "Sets focus on the date picker's input. Use this method instead of the global `focus()`.",
1004
- "tags": []
313
+ }
314
+ /**
315
+ * render() function
316
+ * Always the last one in the class.
317
+ */
318
+ render() {
319
+ if (Build.isServer) {
320
+ return;
1005
321
  }
1006
- },
1007
- "show": {
1008
- "complexType": {
1009
- "signature": "() => Promise<void>",
1010
- "parameters": [],
1011
- "references": {
1012
- "Promise": {
1013
- "location": "global",
1014
- "id": "global::Promise"
1015
- }
1016
- },
1017
- "return": "Promise<void>"
1018
- },
1019
- "docs": {
1020
- "text": "Show the calendar modal, moving focus to the calendar inside.",
1021
- "tags": []
322
+ const valueAsDate = parseISODate(this.value);
323
+ const selectedYear = (valueAsDate || this.focusedDay).getFullYear();
324
+ const focusedMonth = this.focusedDay.getMonth();
325
+ const focusedYear = this.focusedDay.getFullYear();
326
+ const text = i18n[this.language];
327
+ const minDate = parseISODate(this.min);
328
+ const maxDate = parseISODate(this.max);
329
+ const prevMonthDisabled = minDate != null && minDate.getMonth() === focusedMonth && minDate.getFullYear() === focusedYear;
330
+ const nextMonthDisabled = maxDate != null && maxDate.getMonth() === focusedMonth && maxDate.getFullYear() === focusedYear;
331
+ let minYear = selectedYear - this.incrementYears;
332
+ let maxYear = selectedYear + this.incrementYears;
333
+ if (minDate) {
334
+ minYear = Math.max(minYear, minDate.getFullYear());
1022
335
  }
1023
- },
1024
- "hide": {
1025
- "complexType": {
1026
- "signature": "(moveFocusToButton?: boolean) => Promise<void>",
1027
- "parameters": [{
1028
- "tags": [],
1029
- "text": ""
1030
- }],
1031
- "references": {
1032
- "Promise": {
1033
- "location": "global",
1034
- "id": "global::Promise"
1035
- }
1036
- },
1037
- "return": "Promise<void>"
1038
- },
1039
- "docs": {
1040
- "text": "Hide the calendar modal. Set `moveFocusToButton` to false to prevent focus\nreturning to the date picker's button. Default is true.",
1041
- "tags": []
336
+ if (maxDate) {
337
+ maxYear = Math.min(maxYear, maxDate.getFullYear());
1042
338
  }
1043
- }
1044
- };
1045
- }
1046
- static get elementRef() { return "element"; }
1047
- static get watchers() {
1048
- return [{
1049
- "propName": "min",
1050
- "methodName": "updateValidity"
1051
- }, {
1052
- "propName": "max",
1053
- "methodName": "updateValidity"
1054
- }, {
1055
- "propName": "value",
1056
- "methodName": "updateValidity"
1057
- }, {
1058
- "propName": "required",
1059
- "methodName": "updateValidity"
1060
- }, {
1061
- "propName": "value",
1062
- "methodName": "updateInternalValue"
1063
- }];
1064
- }
1065
- static get listeners() {
1066
- return [{
1067
- "name": "click",
1068
- "method": "handleDocumentClick",
1069
- "target": "document",
1070
- "capture": false,
1071
- "passive": false
1072
- }];
1073
- }
339
+ return (h(Host, { class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" } }, h("div", { class: "duet-date" }, h(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("div", { class: {
340
+ "duet-theme-turva": this.theme === "turva",
341
+ "duet-date-dialog": true,
342
+ left: this.direction === "left",
343
+ error: !!this.error,
344
+ active: this.open,
345
+ }, 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(FocusGuard, { moveFocusTo: this.focusedDayNode }), h("div", { class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, h("duet-visually-hidden", { "aria-live": "polite" }, text.keyboardInstruction), h("div", { class: "duet-date-dialog-mobile-header" }, h("duet-label", { margin: "none" }, this.label), h("button", { class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, h("duet-icon", { name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), h("duet-visually-hidden", null, text.closeLabel))), h("div", { class: "duet-date-dialog-header" }, h("div", { class: "duet-date-dialog-dropdowns" }, h("duet-visually-hidden", null, h("h2", { id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), h("duet-visually-hidden", null, h("label", { htmlFor: this.monthSelectId }, text.monthSelectLabel)), h("div", { class: "duet-date-dialog-select" }, h("select", { id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (h("option", { key: month, value: i, selected: i === focusedMonth, disabled: !inRange(new Date(focusedYear, i, 1), minDate ? startOfMonth(minDate) : null, maxDate ? endOfMonth(maxDate) : null) }, month)))), h("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", null, text.monthLabelsShort[focusedMonth]), h("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), h("duet-visually-hidden", null, h("label", { htmlFor: this.yearSelectId }, text.yearSelectLabel)), h("div", { class: "duet-date-dialog-select" }, h("select", { id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (h("option", { key: year, selected: year === focusedYear }, year)))), h("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", null, this.focusedDay.getFullYear()), h("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), h("div", { class: "duet-date-dialog-buttons" }, h("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("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(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(FocusGuard, { moveFocusTo: this.closeButtonNode }))));
346
+ }
347
+ static get is() { return "duet-date-picker"; }
348
+ static get encapsulation() { return "scoped"; }
349
+ static get originalStyleUrls() {
350
+ return {
351
+ "$": ["duet-date-picker.scss"]
352
+ };
353
+ }
354
+ static get styleUrls() {
355
+ return {
356
+ "$": ["duet-date-picker.css"]
357
+ };
358
+ }
359
+ static get properties() {
360
+ return {
361
+ "theme": {
362
+ "type": "string",
363
+ "mutable": true,
364
+ "complexType": {
365
+ "original": "DuetTheme",
366
+ "resolved": "\"\" | \"default\" | \"turva\"",
367
+ "references": {
368
+ "DuetTheme": {
369
+ "location": "import",
370
+ "path": "../../common-types",
371
+ "id": "src/common-types.d.ts::DuetTheme"
372
+ }
373
+ }
374
+ },
375
+ "required": false,
376
+ "optional": false,
377
+ "docs": {
378
+ "tags": [],
379
+ "text": "Theme of the component."
380
+ },
381
+ "attribute": "theme",
382
+ "reflect": false,
383
+ "defaultValue": "\"\""
384
+ },
385
+ "expand": {
386
+ "type": "boolean",
387
+ "mutable": false,
388
+ "complexType": {
389
+ "original": "boolean",
390
+ "resolved": "boolean",
391
+ "references": {}
392
+ },
393
+ "required": false,
394
+ "optional": false,
395
+ "docs": {
396
+ "tags": [],
397
+ "text": "Expands the date picker input to fill 100% of the container width."
398
+ },
399
+ "attribute": "expand",
400
+ "reflect": false,
401
+ "defaultValue": "false"
402
+ },
403
+ "name": {
404
+ "type": "string",
405
+ "mutable": false,
406
+ "complexType": {
407
+ "original": "string",
408
+ "resolved": "string",
409
+ "references": {}
410
+ },
411
+ "required": false,
412
+ "optional": false,
413
+ "docs": {
414
+ "tags": [],
415
+ "text": "Name of the date picker input."
416
+ },
417
+ "attribute": "name",
418
+ "reflect": false,
419
+ "defaultValue": "\"\""
420
+ },
421
+ "identifier": {
422
+ "type": "string",
423
+ "mutable": false,
424
+ "complexType": {
425
+ "original": "string",
426
+ "resolved": "string",
427
+ "references": {}
428
+ },
429
+ "required": false,
430
+ "optional": false,
431
+ "docs": {
432
+ "tags": [],
433
+ "text": "Adds a unique identifier for the date picker input."
434
+ },
435
+ "attribute": "identifier",
436
+ "reflect": false,
437
+ "defaultValue": "\"\""
438
+ },
439
+ "label": {
440
+ "type": "string",
441
+ "mutable": false,
442
+ "complexType": {
443
+ "original": "string",
444
+ "resolved": "string",
445
+ "references": {}
446
+ },
447
+ "required": false,
448
+ "optional": false,
449
+ "docs": {
450
+ "tags": [],
451
+ "text": "Label for the date picker input."
452
+ },
453
+ "attribute": "label",
454
+ "reflect": false,
455
+ "defaultValue": "\"\""
456
+ },
457
+ "caption": {
458
+ "type": "string",
459
+ "mutable": false,
460
+ "complexType": {
461
+ "original": "string",
462
+ "resolved": "string",
463
+ "references": {}
464
+ },
465
+ "required": false,
466
+ "optional": false,
467
+ "docs": {
468
+ "tags": [],
469
+ "text": "Caption (underneath label) that can be set as a way of adding extra information."
470
+ },
471
+ "attribute": "caption",
472
+ "reflect": false
473
+ },
474
+ "margin": {
475
+ "type": "string",
476
+ "mutable": false,
477
+ "complexType": {
478
+ "original": "DuetMargin",
479
+ "resolved": "\"auto\" | \"none\"",
480
+ "references": {
481
+ "DuetMargin": {
482
+ "location": "import",
483
+ "path": "../../common-types",
484
+ "id": "src/common-types.d.ts::DuetMargin"
485
+ }
486
+ }
487
+ },
488
+ "required": false,
489
+ "optional": false,
490
+ "docs": {
491
+ "tags": [],
492
+ "text": "Controls the margin of the component."
493
+ },
494
+ "attribute": "margin",
495
+ "reflect": false,
496
+ "defaultValue": "\"auto\""
497
+ },
498
+ "language": {
499
+ "type": "string",
500
+ "mutable": true,
501
+ "complexType": {
502
+ "original": "DuetLanguage",
503
+ "resolved": "\"en\" | \"fi\" | \"sv\"",
504
+ "references": {
505
+ "DuetLanguage": {
506
+ "location": "import",
507
+ "path": "../../common-types",
508
+ "id": "src/common-types.d.ts::DuetLanguage"
509
+ }
510
+ }
511
+ },
512
+ "required": false,
513
+ "optional": false,
514
+ "docs": {
515
+ "tags": [{
516
+ "name": "deprecated",
517
+ "text": "this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing."
518
+ }, {
519
+ "name": "default",
520
+ "text": "\"fi\""
521
+ }],
522
+ "text": "The currently active language. This setting changes the month/year/day.\nnames and button labels as well as all screen reader labels."
523
+ },
524
+ "attribute": "language",
525
+ "reflect": true,
526
+ "defaultValue": "getLanguage()"
527
+ },
528
+ "placeholderDefaults": {
529
+ "type": "string",
530
+ "mutable": false,
531
+ "complexType": {
532
+ "original": "DuetLangObject | string",
533
+ "resolved": "DuetLangObject | string",
534
+ "references": {
535
+ "DuetLangObject": {
536
+ "location": "import",
537
+ "path": "../../utils/language-utils",
538
+ "id": "src/utils/language-utils.ts::DuetLangObject"
539
+ }
540
+ }
541
+ },
542
+ "required": false,
543
+ "optional": false,
544
+ "docs": {
545
+ "tags": [{
546
+ "name": "default",
547
+ "text": "{ fi: \"pp.kk.vvvv\", en: \"dd.mm.yyyy\", sv: \"dd.mm.\u00E5\u00E5\u00E5\u00E5\" }"
548
+ }],
549
+ "text": "Placeholder defaults."
550
+ },
551
+ "attribute": "placeholder-default",
552
+ "reflect": false,
553
+ "defaultValue": "{\n fi: \"pp.kk.vvvv\",\n en: \"dd.mm.yyyy\",\n sv: \"dd.mm.\u00E5\u00E5\u00E5\u00E5\",\n }"
554
+ },
555
+ "placeholder": {
556
+ "type": "string",
557
+ "mutable": true,
558
+ "complexType": {
559
+ "original": "string",
560
+ "resolved": "string",
561
+ "references": {}
562
+ },
563
+ "required": false,
564
+ "optional": false,
565
+ "docs": {
566
+ "tags": [{
567
+ "name": "default",
568
+ "text": "{ fi: \"pp.kk.vvvv\", en: \"dd.mm.yyyy\", sv: \"dd.mm.\u00E5\u00E5\u00E5\u00E5\" }"
569
+ }],
570
+ "text": "Hint text to display before the user types into the date picker input."
571
+ },
572
+ "attribute": "placeholder",
573
+ "reflect": false,
574
+ "defaultValue": "getLocaleString(this.placeholderDefaults, this.language)"
575
+ },
576
+ "echoPlaceholder": {
577
+ "type": "boolean",
578
+ "mutable": true,
579
+ "complexType": {
580
+ "original": "boolean",
581
+ "resolved": "boolean",
582
+ "references": {}
583
+ },
584
+ "required": false,
585
+ "optional": false,
586
+ "docs": {
587
+ "tags": [],
588
+ "text": "If form input field has a placeholder text, and user types anything (causing the text to dissapear),\nsettings this to true will \"echo\" it into the caption slot - this option will be false by default for the next few versions, but will eventually be true by default (scheduled for 4.30.0)"
589
+ },
590
+ "attribute": "echo-placeholder",
591
+ "reflect": true,
592
+ "defaultValue": "false"
593
+ },
594
+ "disabled": {
595
+ "type": "boolean",
596
+ "mutable": false,
597
+ "complexType": {
598
+ "original": "boolean",
599
+ "resolved": "boolean",
600
+ "references": {}
601
+ },
602
+ "required": false,
603
+ "optional": false,
604
+ "docs": {
605
+ "tags": [],
606
+ "text": "Makes the date picker input component disabled. This prevents users from being able to\ninteract with the input, and conveys its inactive state to assistive technologies."
607
+ },
608
+ "attribute": "disabled",
609
+ "reflect": true,
610
+ "defaultValue": "false"
611
+ },
612
+ "error": {
613
+ "type": "string",
614
+ "mutable": false,
615
+ "complexType": {
616
+ "original": "string",
617
+ "resolved": "string",
618
+ "references": {}
619
+ },
620
+ "required": false,
621
+ "optional": false,
622
+ "docs": {
623
+ "tags": [],
624
+ "text": "Display the date picker input in error state along with an error message."
625
+ },
626
+ "attribute": "error",
627
+ "reflect": false,
628
+ "defaultValue": "\"\""
629
+ },
630
+ "labelHidden": {
631
+ "type": "boolean",
632
+ "mutable": false,
633
+ "complexType": {
634
+ "original": "boolean",
635
+ "resolved": "boolean",
636
+ "references": {}
637
+ },
638
+ "required": false,
639
+ "optional": false,
640
+ "docs": {
641
+ "tags": [],
642
+ "text": "Visually hide the label, but still show it to screen readers."
643
+ },
644
+ "attribute": "label-hidden",
645
+ "reflect": false,
646
+ "defaultValue": "false"
647
+ },
648
+ "role": {
649
+ "type": "string",
650
+ "mutable": false,
651
+ "complexType": {
652
+ "original": "string | null",
653
+ "resolved": "string",
654
+ "references": {}
655
+ },
656
+ "required": false,
657
+ "optional": false,
658
+ "docs": {
659
+ "tags": [],
660
+ "text": "Defines a specific role attribute for the date picker input."
661
+ },
662
+ "attribute": "role",
663
+ "reflect": false
664
+ },
665
+ "accessibleActiveDescendant": {
666
+ "type": "string",
667
+ "mutable": false,
668
+ "complexType": {
669
+ "original": "string",
670
+ "resolved": "string",
671
+ "references": {}
672
+ },
673
+ "required": false,
674
+ "optional": false,
675
+ "docs": {
676
+ "tags": [],
677
+ "text": "Indicates the id of a related component\u2019s visually focused element."
678
+ },
679
+ "attribute": "accessible-active-descendant",
680
+ "reflect": false
681
+ },
682
+ "accessibleControls": {
683
+ "type": "string",
684
+ "mutable": false,
685
+ "complexType": {
686
+ "original": "string",
687
+ "resolved": "string",
688
+ "references": {}
689
+ },
690
+ "required": false,
691
+ "optional": false,
692
+ "docs": {
693
+ "tags": [],
694
+ "text": "Use this prop to add an aria-controls attribute. Use the attribute to\nindicate the id of a component controlled by this component."
695
+ },
696
+ "attribute": "accessible-controls",
697
+ "reflect": false
698
+ },
699
+ "accessibleOwns": {
700
+ "type": "string",
701
+ "mutable": false,
702
+ "complexType": {
703
+ "original": "string",
704
+ "resolved": "string",
705
+ "references": {}
706
+ },
707
+ "required": false,
708
+ "optional": false,
709
+ "docs": {
710
+ "tags": [],
711
+ "text": "Indicates the id of a component owned by the input."
712
+ },
713
+ "attribute": "accessible-owns",
714
+ "reflect": false
715
+ },
716
+ "accessibleDescribedBy": {
717
+ "type": "string",
718
+ "mutable": false,
719
+ "complexType": {
720
+ "original": "string",
721
+ "resolved": "string",
722
+ "references": {}
723
+ },
724
+ "required": false,
725
+ "optional": false,
726
+ "docs": {
727
+ "tags": [],
728
+ "text": "Indicates the id of a component that describes the input."
729
+ },
730
+ "attribute": "accessible-described-by",
731
+ "reflect": false
732
+ },
733
+ "required": {
734
+ "type": "boolean",
735
+ "mutable": false,
736
+ "complexType": {
737
+ "original": "boolean",
738
+ "resolved": "boolean",
739
+ "references": {}
740
+ },
741
+ "required": false,
742
+ "optional": false,
743
+ "docs": {
744
+ "tags": [],
745
+ "text": "Set whether the input is required or not. Please note that this is necessary for\naccessible inputs when the user is required to fill them. When using this property\nyou need to also set \u201Cnovalidate\u201D attribute to your form element to prevent\nbrowser from displaying its own validation errors."
746
+ },
747
+ "attribute": "required",
748
+ "reflect": false,
749
+ "defaultValue": "false"
750
+ },
751
+ "direction": {
752
+ "type": "string",
753
+ "mutable": false,
754
+ "complexType": {
755
+ "original": "DuetDatePickerDirection",
756
+ "resolved": "\"left\" | \"right\"",
757
+ "references": {
758
+ "DuetDatePickerDirection": {
759
+ "location": "local",
760
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-date-picker/duet-date-picker.tsx",
761
+ "id": "src/components/duet-date-picker/duet-date-picker.tsx::DuetDatePickerDirection"
762
+ }
763
+ }
764
+ },
765
+ "required": false,
766
+ "optional": false,
767
+ "docs": {
768
+ "tags": [],
769
+ "text": "Forces the opening direction of the calendar modal to be always left or right.\nThis setting can be useful when the input is smaller than the opening date picker\nwould be as by default the picker always opens towards right."
770
+ },
771
+ "attribute": "direction",
772
+ "reflect": false,
773
+ "defaultValue": "\"right\""
774
+ },
775
+ "tooltip": {
776
+ "type": "string",
777
+ "mutable": false,
778
+ "complexType": {
779
+ "original": "string",
780
+ "resolved": "string",
781
+ "references": {}
782
+ },
783
+ "required": false,
784
+ "optional": false,
785
+ "docs": {
786
+ "tags": [],
787
+ "text": "Tooltip to display next to the label of the date picker input."
788
+ },
789
+ "attribute": "tooltip",
790
+ "reflect": false,
791
+ "defaultValue": "\"\""
792
+ },
793
+ "tooltipDirection": {
794
+ "type": "string",
795
+ "mutable": false,
796
+ "complexType": {
797
+ "original": "DuetTooltipDirection",
798
+ "resolved": "\"auto\" | \"left\" | \"right\"",
799
+ "references": {
800
+ "DuetTooltipDirection": {
801
+ "location": "import",
802
+ "path": "../../common-types",
803
+ "id": "src/common-types.d.ts::DuetTooltipDirection"
804
+ }
805
+ }
806
+ },
807
+ "required": false,
808
+ "optional": false,
809
+ "docs": {
810
+ "tags": [],
811
+ "text": "With direction setting you can force the tooltip to always open towards left\nor right instead of automatically determining the direction."
812
+ },
813
+ "attribute": "tooltip-direction",
814
+ "reflect": false,
815
+ "defaultValue": "\"auto\""
816
+ },
817
+ "value": {
818
+ "type": "string",
819
+ "mutable": true,
820
+ "complexType": {
821
+ "original": "string",
822
+ "resolved": "string",
823
+ "references": {}
824
+ },
825
+ "required": false,
826
+ "optional": false,
827
+ "docs": {
828
+ "tags": [],
829
+ "text": "Date value. Must be in IS0-8601 format: YYYY-MM-DD"
830
+ },
831
+ "attribute": "value",
832
+ "reflect": true,
833
+ "defaultValue": "\"\""
834
+ },
835
+ "min": {
836
+ "type": "string",
837
+ "mutable": false,
838
+ "complexType": {
839
+ "original": "string",
840
+ "resolved": "string",
841
+ "references": {}
842
+ },
843
+ "required": false,
844
+ "optional": false,
845
+ "docs": {
846
+ "tags": [],
847
+ "text": "Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the max property."
848
+ },
849
+ "attribute": "min",
850
+ "reflect": false,
851
+ "defaultValue": "\"\""
852
+ },
853
+ "max": {
854
+ "type": "string",
855
+ "mutable": false,
856
+ "complexType": {
857
+ "original": "string",
858
+ "resolved": "string",
859
+ "references": {}
860
+ },
861
+ "required": false,
862
+ "optional": false,
863
+ "docs": {
864
+ "tags": [],
865
+ "text": "Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the min property."
866
+ },
867
+ "attribute": "max",
868
+ "reflect": false,
869
+ "defaultValue": "\"\""
870
+ },
871
+ "incrementYears": {
872
+ "type": "number",
873
+ "mutable": false,
874
+ "complexType": {
875
+ "original": "number",
876
+ "resolved": "number",
877
+ "references": {}
878
+ },
879
+ "required": false,
880
+ "optional": false,
881
+ "docs": {
882
+ "tags": [],
883
+ "text": "Increment to add to years, defaults to 10 for simplicity, if you need a larger selectionspace you can set it to 100"
884
+ },
885
+ "attribute": "increment",
886
+ "reflect": false,
887
+ "defaultValue": "10"
888
+ },
889
+ "validity": {
890
+ "type": "unknown",
891
+ "mutable": true,
892
+ "complexType": {
893
+ "original": "ValidityState",
894
+ "resolved": "ValidityState",
895
+ "references": {
896
+ "ValidityState": {
897
+ "location": "global",
898
+ "id": "global::ValidityState"
899
+ }
900
+ }
901
+ },
902
+ "required": false,
903
+ "optional": false,
904
+ "docs": {
905
+ "tags": [],
906
+ "text": "This offers information relating to the current validity of the component.\nIt follow as closely as possible the behaviour of the native date input.\nUseful properties to inspect are badInput, valueMissing, rangeOverflow, rangeUnderflow.\n**This property should be treated as read only**."
907
+ }
908
+ }
909
+ };
910
+ }
911
+ static get states() {
912
+ return {
913
+ "open": {},
914
+ "focusedDay": {},
915
+ "inputValue": {}
916
+ };
917
+ }
918
+ static get events() {
919
+ return [{
920
+ "method": "duetChange",
921
+ "name": "duetChange",
922
+ "bubbles": true,
923
+ "cancelable": true,
924
+ "composed": true,
925
+ "docs": {
926
+ "tags": [],
927
+ "text": "Event emitted when a date is selected."
928
+ },
929
+ "complexType": {
930
+ "original": "DuetDatePickerChangeEvent",
931
+ "resolved": "{ component: \"duet-date-picker\"; valueAsDate: Date; value: string; }",
932
+ "references": {
933
+ "DuetDatePickerChangeEvent": {
934
+ "location": "local",
935
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-date-picker/duet-date-picker.tsx",
936
+ "id": "src/components/duet-date-picker/duet-date-picker.tsx::DuetDatePickerChangeEvent"
937
+ }
938
+ }
939
+ }
940
+ }, {
941
+ "method": "duetBlur",
942
+ "name": "duetBlur",
943
+ "bubbles": true,
944
+ "cancelable": true,
945
+ "composed": true,
946
+ "docs": {
947
+ "tags": [],
948
+ "text": "Event emitted the date picker input is blurred."
949
+ },
950
+ "complexType": {
951
+ "original": "DuetDatePickerFocusEvent",
952
+ "resolved": "{ component: \"duet-date-picker\"; }",
953
+ "references": {
954
+ "DuetDatePickerFocusEvent": {
955
+ "location": "local",
956
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-date-picker/duet-date-picker.tsx",
957
+ "id": "src/components/duet-date-picker/duet-date-picker.tsx::DuetDatePickerFocusEvent"
958
+ }
959
+ }
960
+ }
961
+ }, {
962
+ "method": "duetFocus",
963
+ "name": "duetFocus",
964
+ "bubbles": true,
965
+ "cancelable": true,
966
+ "composed": true,
967
+ "docs": {
968
+ "tags": [],
969
+ "text": "Event emitted the date picker input is focused."
970
+ },
971
+ "complexType": {
972
+ "original": "DuetDatePickerFocusEvent",
973
+ "resolved": "{ component: \"duet-date-picker\"; }",
974
+ "references": {
975
+ "DuetDatePickerFocusEvent": {
976
+ "location": "local",
977
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-date-picker/duet-date-picker.tsx",
978
+ "id": "src/components/duet-date-picker/duet-date-picker.tsx::DuetDatePickerFocusEvent"
979
+ }
980
+ }
981
+ }
982
+ }];
983
+ }
984
+ static get methods() {
985
+ return {
986
+ "setFocus": {
987
+ "complexType": {
988
+ "signature": "(options?: FocusOptions) => Promise<void>",
989
+ "parameters": [{
990
+ "name": "options",
991
+ "type": "FocusOptions",
992
+ "docs": ""
993
+ }],
994
+ "references": {
995
+ "Promise": {
996
+ "location": "global",
997
+ "id": "global::Promise"
998
+ },
999
+ "FocusOptions": {
1000
+ "location": "global",
1001
+ "id": "global::FocusOptions"
1002
+ }
1003
+ },
1004
+ "return": "Promise<void>"
1005
+ },
1006
+ "docs": {
1007
+ "text": "Sets focus on the date picker's input. Use this method instead of the global `focus()`.",
1008
+ "tags": []
1009
+ }
1010
+ },
1011
+ "show": {
1012
+ "complexType": {
1013
+ "signature": "() => Promise<void>",
1014
+ "parameters": [],
1015
+ "references": {
1016
+ "Promise": {
1017
+ "location": "global",
1018
+ "id": "global::Promise"
1019
+ }
1020
+ },
1021
+ "return": "Promise<void>"
1022
+ },
1023
+ "docs": {
1024
+ "text": "Show the calendar modal, moving focus to the calendar inside.",
1025
+ "tags": []
1026
+ }
1027
+ },
1028
+ "hide": {
1029
+ "complexType": {
1030
+ "signature": "(moveFocusToButton?: boolean) => Promise<void>",
1031
+ "parameters": [{
1032
+ "name": "moveFocusToButton",
1033
+ "type": "boolean",
1034
+ "docs": ""
1035
+ }],
1036
+ "references": {
1037
+ "Promise": {
1038
+ "location": "global",
1039
+ "id": "global::Promise"
1040
+ }
1041
+ },
1042
+ "return": "Promise<void>"
1043
+ },
1044
+ "docs": {
1045
+ "text": "Hide the calendar modal. Set `moveFocusToButton` to false to prevent focus\nreturning to the date picker's button. Default is true.",
1046
+ "tags": []
1047
+ }
1048
+ }
1049
+ };
1050
+ }
1051
+ static get elementRef() { return "element"; }
1052
+ static get watchers() {
1053
+ return [{
1054
+ "propName": "min",
1055
+ "methodName": "updateValidity"
1056
+ }, {
1057
+ "propName": "max",
1058
+ "methodName": "updateValidity"
1059
+ }, {
1060
+ "propName": "value",
1061
+ "methodName": "updateValidity"
1062
+ }, {
1063
+ "propName": "required",
1064
+ "methodName": "updateValidity"
1065
+ }, {
1066
+ "propName": "value",
1067
+ "methodName": "updateInternalValue"
1068
+ }];
1069
+ }
1070
+ static get listeners() {
1071
+ return [{
1072
+ "name": "click",
1073
+ "method": "handleDocumentClick",
1074
+ "target": "document",
1075
+ "capture": false,
1076
+ "passive": false
1077
+ }];
1078
+ }
1074
1079
  }