@duetds/components 10.0.0-alpha.7 → 10.0.0-alpha.9

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 (748) hide show
  1. package/hydrate/index.js +2340 -255
  2. package/lib/cjs/{a11y-utils-660f6fc9.js → a11y-utils-be617c0c.js} +1 -1
  3. package/lib/cjs/{app-globals-041a56ca.js → app-globals-2b7fff72.js} +1 -1
  4. package/lib/cjs/duet-action-button.cjs.entry.js +2 -2
  5. package/lib/cjs/duet-alert.cjs.entry.js +3 -3
  6. package/lib/cjs/duet-badge.cjs.entry.js +3 -3
  7. package/lib/cjs/duet-banner.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
  9. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +4 -4
  10. package/lib/cjs/duet-button_2.cjs.entry.js +10 -10
  11. package/lib/cjs/duet-callout.cjs.entry.js +4 -4
  12. package/lib/cjs/duet-caption_4.cjs.entry.js +11 -10
  13. package/lib/cjs/duet-card.cjs.entry.js +2 -2
  14. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-checkmark.cjs.entry.js +3 -3
  16. package/lib/cjs/{duet-chip_3.cjs.entry.js → duet-chip.cjs.entry.js} +3 -375
  17. package/lib/cjs/duet-choice_2.cjs.entry.js +11 -11
  18. package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
  19. package/lib/cjs/duet-combobox.cjs.entry.js +3 -3
  20. package/lib/cjs/duet-contact-card.cjs.entry.js +4 -4
  21. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-date-picker.cjs.entry.js +7 -7
  23. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  24. package/lib/cjs/duet-editable-table_3.cjs.entry.js +9 -9
  25. package/lib/cjs/duet-empty-state.cjs.entry.js +3 -3
  26. package/lib/cjs/duet-fieldset.cjs.entry.js +5 -5
  27. package/lib/cjs/duet-file-chooser.cjs.entry.js +2 -2
  28. package/lib/cjs/duet-footer.cjs.entry.js +7 -7
  29. package/lib/cjs/duet-grid_2.cjs.entry.js +5 -5
  30. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  31. package/lib/cjs/duet-hero.cjs.entry.js +8 -8
  32. package/lib/cjs/duet-icon.cjs.entry.js +4 -4
  33. package/lib/cjs/duet-input_2.cjs.entry.js +11 -11
  34. package/lib/cjs/duet-layout.cjs.entry.js +8 -8
  35. package/lib/cjs/duet-list_2.cjs.entry.js +4 -4
  36. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +3 -3
  37. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +3 -3
  38. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +5 -5
  39. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +6 -6
  40. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -3
  41. package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -5
  42. package/lib/cjs/duet-modal.cjs.entry.js +10 -10
  43. package/lib/cjs/duet-multiselect.cjs.entry.js +9 -9
  44. package/lib/cjs/duet-nav.cjs.entry.js +2 -2
  45. package/lib/cjs/duet-notification_2.cjs.entry.js +6 -6
  46. package/lib/cjs/duet-number-input.cjs.entry.js +5 -5
  47. package/lib/cjs/duet-overlay.cjs.entry.js +2 -2
  48. package/lib/cjs/duet-page-heading.cjs.entry.js +3 -3
  49. package/lib/cjs/duet-pagination_2.cjs.entry.js +15 -15
  50. package/lib/cjs/duet-phone-input.cjs.entry.js +2002 -0
  51. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +426 -0
  52. package/lib/cjs/duet-progress.cjs.entry.js +2 -2
  53. package/lib/cjs/duet-promo-card.cjs.entry.js +4 -4
  54. package/lib/cjs/duet-radio_2.cjs.entry.js +6 -6
  55. package/lib/cjs/duet-range-slider.cjs.entry.js +5 -5
  56. package/lib/cjs/duet-scrollable_3.cjs.entry.js +33 -21
  57. package/lib/cjs/duet-section-layout.cjs.entry.js +5 -5
  58. package/lib/cjs/duet-select.cjs.entry.js +8 -8
  59. package/lib/cjs/duet-shaped-image.cjs.entry.js +3 -3
  60. package/lib/cjs/duet-show-more.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-slideout-lang.cjs.entry.js +3 -3
  62. package/lib/cjs/duet-slideout-link.cjs.entry.js +22 -4
  63. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +5 -5
  64. package/lib/cjs/duet-slideout-panel.cjs.entry.js +10 -10
  65. package/lib/cjs/duet-slideout.cjs.entry.js +8 -8
  66. package/lib/cjs/duet-status-icon.cjs.entry.js +3 -3
  67. package/lib/cjs/duet-step_2.cjs.entry.js +4 -4
  68. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +3 -3
  69. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +5 -5
  70. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +5 -5
  71. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  72. package/lib/cjs/duet-submenu-bar.cjs.entry.js +6 -6
  73. package/lib/cjs/duet-textarea.cjs.entry.js +7 -7
  74. package/lib/cjs/duet-toggle.cjs.entry.js +5 -5
  75. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +3 -3
  76. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +5 -5
  77. package/lib/cjs/duet-toolbar-item.cjs.entry.js +7 -7
  78. package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -3
  79. package/lib/cjs/duet-toolbar.cjs.entry.js +3 -3
  80. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +6 -6
  81. package/lib/cjs/duet-tooltip.cjs.entry.js +3 -3
  82. package/lib/cjs/duet-tray.cjs.entry.js +4 -4
  83. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  84. package/lib/cjs/duet-upload-item.cjs.entry.js +5 -5
  85. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  86. package/lib/cjs/duet.cjs.js +3 -3
  87. package/lib/cjs/{errorcodes.utils-381e59b0.js → errorcodes.utils-e3a0f607.js} +1 -1
  88. package/lib/cjs/{focus-utils-8b057c75.js → focus-utils-47d23c45.js} +1 -1
  89. package/lib/cjs/{index-0885358e.js → index-7b1d76ef.js} +339 -2
  90. package/lib/cjs/{label-0db337c3.js → label-874fd84f.js} +1 -1
  91. package/lib/cjs/{language-utils-ae5d768d.js → language-utils-a6a152b8.js} +1 -1
  92. package/lib/cjs/loader.cjs.js +3 -3
  93. package/lib/cjs/{slot-utils-7cc4f68b.js → slot-utils-7e6aa48b.js} +1 -1
  94. package/lib/collection/collection-manifest.json +1 -0
  95. package/lib/collection/components/duet-badge/duet-badge.js +2 -2
  96. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  97. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  98. package/lib/collection/components/duet-button/duet-button.css +32 -18
  99. package/lib/collection/components/duet-button/duet-button.js +6 -6
  100. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  101. package/lib/collection/components/duet-chip/duet-chip.js +1 -1
  102. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  103. package/lib/collection/components/duet-choice/duet-choice.js +6 -6
  104. package/lib/collection/components/duet-choice-group/duet-choice-group.js +2 -2
  105. package/lib/collection/components/duet-collapsible/duet-collapsible.js +2 -2
  106. package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
  107. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  108. package/lib/collection/components/duet-date-picker/duet-date-picker.js +2 -2
  109. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  110. package/lib/collection/components/duet-editable-table/duet-editable-table.js +2 -2
  111. package/lib/collection/components/duet-empty-state/duet-empty-state.js +2 -2
  112. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  113. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  114. package/lib/collection/components/duet-footer/duet-footer.js +4 -4
  115. package/lib/collection/components/duet-grid/duet-grid.js +2 -2
  116. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  117. package/lib/collection/components/duet-heading/duet-heading.js +22 -2
  118. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  119. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  120. package/lib/collection/components/duet-input/duet-input.css +34 -3
  121. package/lib/collection/components/duet-input/duet-input.js +9 -9
  122. package/lib/collection/components/duet-layout/duet-layout.css +0 -3
  123. package/lib/collection/components/duet-layout/duet-layout.js +5 -5
  124. package/lib/collection/components/duet-link/duet-link.js +2 -2
  125. package/lib/collection/components/duet-list/duet-list.js +1 -1
  126. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  127. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  128. package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +2 -2
  129. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +3 -2
  130. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  131. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  132. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  133. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  134. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  135. package/lib/collection/components/duet-modal/duet-modal.js +6 -6
  136. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  137. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  138. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  139. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +2 -2
  140. package/lib/collection/components/duet-number-input/duet-number-input.js +2 -2
  141. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  142. package/lib/collection/components/duet-page-heading/duet-page-heading.js +2 -2
  143. package/lib/collection/components/duet-pagination/duet-pagination.js +11 -11
  144. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  145. package/lib/collection/components/duet-phone-input/duet-phone-input.css +20 -0
  146. package/lib/collection/components/duet-phone-input/duet-phone-input.js +777 -0
  147. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +73 -11
  148. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  149. package/lib/collection/components/duet-promo-card/duet-promo-card.js +2 -2
  150. package/lib/collection/components/duet-radio/duet-radio.js +3 -3
  151. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  152. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  153. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  154. package/lib/collection/components/duet-scrollable/duet-scrollable.css +14 -5
  155. package/lib/collection/components/duet-scrollable/duet-scrollable.js +16 -10
  156. package/lib/collection/components/duet-section-layout/duet-section-layout.css +0 -3
  157. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  158. package/lib/collection/components/duet-select/duet-select.js +5 -5
  159. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  160. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  161. package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
  162. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  163. package/lib/collection/components/duet-slideout-link/duet-slideout-link.css +17 -2
  164. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +90 -2
  165. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  166. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  167. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  168. package/lib/collection/components/duet-spinner/duet-spinner.js +2 -2
  169. package/lib/collection/components/duet-status-icon/duet-status-icon.js +2 -2
  170. package/lib/collection/components/duet-step/duet-step.js +2 -2
  171. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  172. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  173. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  174. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  175. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  176. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  177. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  178. package/lib/collection/components/duet-tab-group/duet-tab-group.js +11 -5
  179. package/lib/collection/components/duet-table/duet-table.js +2 -2
  180. package/lib/collection/components/duet-textarea/duet-textarea.js +3 -3
  181. package/lib/collection/components/duet-toggle/duet-toggle.js +2 -2
  182. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  183. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  184. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  185. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  186. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  187. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +2 -2
  188. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +2 -2
  189. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  190. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  191. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  192. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  193. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  194. package/lib/collection/data/countries.js +1762 -0
  195. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  196. package/lib/dist-custom-elements/duet-alert.js +1 -1
  197. package/lib/dist-custom-elements/duet-badge.js +1 -1
  198. package/lib/dist-custom-elements/duet-banner.js +3 -3
  199. package/lib/dist-custom-elements/duet-breadcrumb.js +7 -7
  200. package/lib/dist-custom-elements/duet-breadcrumbs.js +3 -3
  201. package/lib/dist-custom-elements/duet-button.js +1 -1
  202. package/lib/dist-custom-elements/duet-callout.js +4 -4
  203. package/lib/dist-custom-elements/duet-caption.js +1 -1
  204. package/lib/dist-custom-elements/duet-card.js +3 -3
  205. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  206. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  207. package/lib/dist-custom-elements/duet-chip.js +1 -1
  208. package/lib/dist-custom-elements/duet-choice-group.js +10 -10
  209. package/lib/dist-custom-elements/duet-choice.js +10 -10
  210. package/lib/dist-custom-elements/duet-collapsible.js +5 -5
  211. package/lib/dist-custom-elements/duet-combobox.js +14 -14
  212. package/lib/dist-custom-elements/duet-contact-card.js +10 -10
  213. package/lib/dist-custom-elements/duet-cookie-consent.js +7 -7
  214. package/lib/dist-custom-elements/duet-date-picker.js +14 -14
  215. package/lib/dist-custom-elements/duet-divider.js +1 -1
  216. package/lib/dist-custom-elements/duet-editable-table.js +9 -9
  217. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  218. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  219. package/lib/dist-custom-elements/duet-file-chooser.js +3 -3
  220. package/lib/dist-custom-elements/duet-footer.js +11 -11
  221. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  222. package/lib/dist-custom-elements/duet-grid.js +1 -1
  223. package/lib/dist-custom-elements/duet-header.js +8 -8
  224. package/lib/dist-custom-elements/duet-heading.js +1 -1
  225. package/lib/dist-custom-elements/duet-hero.js +14 -14
  226. package/lib/dist-custom-elements/duet-icon.js +1 -1
  227. package/lib/dist-custom-elements/duet-input.js +1 -1
  228. package/lib/dist-custom-elements/duet-label.js +1 -1
  229. package/lib/dist-custom-elements/duet-layout.js +7 -7
  230. package/lib/dist-custom-elements/duet-link.js +1 -1
  231. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  232. package/lib/dist-custom-elements/duet-list.js +1 -1
  233. package/lib/dist-custom-elements/duet-logo.js +1 -1
  234. package/lib/dist-custom-elements/duet-menu-bar-button.js +4 -4
  235. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +4 -4
  236. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +6 -6
  237. package/lib/dist-custom-elements/duet-menu-bar-item.js +4 -4
  238. package/lib/dist-custom-elements/duet-menu-bar-link.js +4 -4
  239. package/lib/dist-custom-elements/duet-menu-bar.js +6 -5
  240. package/lib/dist-custom-elements/duet-modal.js +14 -14
  241. package/lib/dist-custom-elements/duet-multiselect.js +13 -13
  242. package/lib/dist-custom-elements/duet-nav.js +2 -2
  243. package/lib/dist-custom-elements/duet-notification-drawer.js +6 -6
  244. package/lib/dist-custom-elements/duet-notification.js +4 -4
  245. package/lib/dist-custom-elements/duet-number-input.js +12 -12
  246. package/lib/dist-custom-elements/duet-overlay.js +1 -1
  247. package/lib/dist-custom-elements/duet-page-heading.js +5 -5
  248. package/lib/dist-custom-elements/duet-pagination.js +23 -23
  249. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  250. package/lib/dist-custom-elements/duet-phone-input.d.ts +11 -0
  251. package/lib/dist-custom-elements/duet-phone-input.js +2122 -0
  252. package/lib/dist-custom-elements/duet-popup-menu-item.js +1 -1
  253. package/lib/dist-custom-elements/duet-popup-menu.js +1 -1
  254. package/lib/dist-custom-elements/duet-progress.js +1 -1
  255. package/lib/dist-custom-elements/duet-promo-card.js +5 -5
  256. package/lib/dist-custom-elements/duet-radio-group.js +9 -9
  257. package/lib/dist-custom-elements/duet-radio.js +4 -4
  258. package/lib/dist-custom-elements/duet-range-slider.js +3 -3
  259. package/lib/dist-custom-elements/duet-range-stepper.js +6 -6
  260. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  261. package/lib/dist-custom-elements/duet-section-layout.js +5 -5
  262. package/lib/dist-custom-elements/duet-select.js +1 -1
  263. package/lib/dist-custom-elements/duet-shaped-image.js +3 -3
  264. package/lib/dist-custom-elements/duet-show-more.js +1 -1
  265. package/lib/dist-custom-elements/duet-slideout-lang.js +3 -3
  266. package/lib/dist-custom-elements/duet-slideout-link.js +25 -6
  267. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +6 -6
  268. package/lib/dist-custom-elements/duet-slideout-panel.js +8 -8
  269. package/lib/dist-custom-elements/duet-slideout.js +7 -7
  270. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  271. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  272. package/lib/dist-custom-elements/duet-status-icon.js +4 -4
  273. package/lib/dist-custom-elements/duet-step.js +6 -6
  274. package/lib/dist-custom-elements/duet-stepper.js +3 -3
  275. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +4 -4
  276. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +6 -6
  277. package/lib/dist-custom-elements/duet-submenu-bar-item.js +3 -3
  278. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
  279. package/lib/dist-custom-elements/duet-submenu-bar.js +8 -8
  280. package/lib/dist-custom-elements/duet-tab-group.js +18 -12
  281. package/lib/dist-custom-elements/duet-tab.js +3 -3
  282. package/lib/dist-custom-elements/duet-table.js +1 -1
  283. package/lib/dist-custom-elements/duet-textarea.js +12 -12
  284. package/lib/dist-custom-elements/duet-toggle.js +3 -3
  285. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +4 -4
  286. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +6 -6
  287. package/lib/dist-custom-elements/duet-toolbar-item.js +5 -5
  288. package/lib/dist-custom-elements/duet-toolbar-link.js +4 -4
  289. package/lib/dist-custom-elements/duet-toolbar.js +3 -3
  290. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  291. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  292. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  293. package/lib/dist-custom-elements/duet-tray.js +5 -5
  294. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  295. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  296. package/lib/dist-custom-elements/duet-upload.js +21 -21
  297. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  298. package/lib/dist-custom-elements/index.js +1 -1
  299. package/lib/dist-custom-elements/{p-eddef302.js → p-081025d8.js} +6 -4
  300. package/lib/dist-custom-elements/{p-a2ab7458.js → p-0871ccd4.js} +2 -2
  301. package/lib/dist-custom-elements/{p-4dd6ec0e.js → p-18248c41.js} +3 -3
  302. package/lib/dist-custom-elements/{p-46a8132e.js → p-196352e6.js} +2 -2
  303. package/lib/dist-custom-elements/{p-e8d53fc5.js → p-2768f969.js} +12 -12
  304. package/lib/dist-custom-elements/{p-d18fbbfb.js → p-30810e37.js} +2 -2
  305. package/lib/dist-custom-elements/{p-08eb05f7.js → p-3c70317f.js} +3 -3
  306. package/lib/dist-custom-elements/{p-4006af44.js → p-4150399b.js} +6 -6
  307. package/lib/dist-custom-elements/{p-7a8ebdb7.js → p-548610a6.js} +1 -1
  308. package/lib/dist-custom-elements/{p-076458c1.js → p-592cf939.js} +5 -5
  309. package/lib/dist-custom-elements/{p-66f05bd2.js → p-59782228.js} +3 -3
  310. package/lib/dist-custom-elements/{p-55b83dec.js → p-5d871374.js} +22 -16
  311. package/lib/dist-custom-elements/{p-1a76b580.js → p-5e91471a.js} +4 -4
  312. package/lib/dist-custom-elements/{p-b49e2890.js → p-60316b82.js} +3 -3
  313. package/lib/dist-custom-elements/{p-6560b415.js → p-63963e6b.js} +4 -4
  314. package/lib/dist-custom-elements/{p-e000047c.js → p-6620a58c.js} +16 -16
  315. package/lib/dist-custom-elements/{p-f4511d6b.js → p-77667998.js} +4 -4
  316. package/lib/dist-custom-elements/{p-90aadff1.js → p-77d42564.js} +2 -2
  317. package/lib/dist-custom-elements/{p-df4b16da.js → p-8258c05e.js} +2 -2
  318. package/lib/dist-custom-elements/{p-9a2ea7dc.js → p-8a840972.js} +3 -3
  319. package/lib/dist-custom-elements/{p-5882e967.js → p-8d263ac9.js} +5 -5
  320. package/lib/dist-custom-elements/{p-7cebe2aa.js → p-91cdfcdd.js} +3 -3
  321. package/lib/dist-custom-elements/{p-81287261.js → p-940f9ee8.js} +283 -1
  322. package/lib/dist-custom-elements/{p-4f9c1a9a.js → p-9e31e365.js} +12 -12
  323. package/lib/dist-custom-elements/{p-9bbe7263.js → p-9ee4d52e.js} +10 -10
  324. package/lib/dist-custom-elements/{p-87c8a780.js → p-a9b78a2b.js} +117 -14
  325. package/lib/dist-custom-elements/{p-d2152803.js → p-aaa95dbc.js} +3 -3
  326. package/lib/dist-custom-elements/{p-e9666ab6.js → p-b322feac.js} +3 -3
  327. package/lib/dist-custom-elements/{p-5d29fcaa.js → p-b632bf7b.js} +4 -4
  328. package/lib/dist-custom-elements/{p-f2b84f7d.js → p-ccee2b7f.js} +2 -2
  329. package/lib/dist-custom-elements/{p-3e99b7b2.js → p-df2458b1.js} +2 -2
  330. package/lib/dist-custom-elements/{p-7e262927.js → p-e58296e6.js} +3 -3
  331. package/lib/dist-custom-elements/{p-fbf01fef.js → p-ed1ef4c3.js} +3 -3
  332. package/lib/dist-custom-elements/{p-958921e7.js → p-ed6a907e.js} +1 -1
  333. package/lib/dist-custom-elements/{p-b5147f77.js → p-ed6f3abc.js} +7 -7
  334. package/lib/dist-custom-elements/{p-5e2fd812.js → p-ee0c73c3.js} +3 -3
  335. package/lib/dist-custom-elements/{p-f32d4b93.js → p-f4067b03.js} +1 -1
  336. package/lib/dist-custom-elements/{p-d2e75481.js → p-f6270dca.js} +4 -4
  337. package/lib/duet/duet.esm.js +1 -1
  338. package/lib/duet/duet.js +1 -1
  339. package/lib/duet/{p-d6568e05.entry.js → p-00556ef0.entry.js} +1 -1
  340. package/lib/duet/p-00e58acf.system.entry.js +4 -0
  341. package/lib/duet/p-02d914b6.system.js +4 -0
  342. package/lib/duet/p-03dfd146.system.entry.js +4 -0
  343. package/lib/duet/{p-61a0ad44.entry.js → p-043d8cac.entry.js} +1 -1
  344. package/lib/duet/p-078dc32d.system.js +4 -0
  345. package/lib/duet/{p-402af830.js → p-083bbc28.js} +1 -1
  346. package/lib/duet/{p-4d8136a6.system.entry.js → p-097593e0.system.entry.js} +1 -1
  347. package/lib/duet/{p-a94536d7.entry.js → p-12739ce5.entry.js} +1 -1
  348. package/lib/duet/{p-a8ed2473.system.entry.js → p-154681bc.system.entry.js} +1 -1
  349. package/lib/duet/{p-694cb5c7.system.entry.js → p-16bc0f6a.system.entry.js} +1 -1
  350. package/lib/duet/p-20a9379e.entry.js +4 -0
  351. package/lib/duet/{p-7e8e5ce0.system.entry.js → p-21124f63.system.entry.js} +1 -1
  352. package/lib/duet/{p-569d1162.entry.js → p-222fb4e2.entry.js} +1 -1
  353. package/lib/duet/{p-29b17590.entry.js → p-2306d206.entry.js} +1 -1
  354. package/lib/duet/{p-804d9390.system.entry.js → p-232405fe.system.entry.js} +1 -1
  355. package/lib/duet/{p-0e3bcaa9.entry.js → p-280babbe.entry.js} +1 -1
  356. package/lib/duet/{p-f1083113.system.entry.js → p-29cfae19.system.entry.js} +1 -1
  357. package/lib/duet/{p-de9c27d0.system.entry.js → p-2acb5228.system.entry.js} +1 -1
  358. package/lib/duet/{p-447e1392.system.js → p-2bb44297.system.js} +1 -1
  359. package/lib/duet/{p-5c3bb425.entry.js → p-2d3cfed7.entry.js} +1 -1
  360. package/lib/duet/{p-ca22effd.entry.js → p-2ea79237.entry.js} +1 -1
  361. package/lib/duet/{p-5013078d.system.entry.js → p-2f4a1c87.system.entry.js} +1 -1
  362. package/lib/duet/{p-273ee825.entry.js → p-30424dea.entry.js} +1 -1
  363. package/lib/duet/{p-ca8df590.system.entry.js → p-32f2bb6f.system.entry.js} +1 -1
  364. package/lib/duet/{p-f3463af2.entry.js → p-36d473db.entry.js} +1 -1
  365. package/lib/duet/{p-8e2ad162.entry.js → p-36e38e72.entry.js} +1 -1
  366. package/lib/duet/{p-357c0e81.system.entry.js → p-380e506a.system.entry.js} +1 -1
  367. package/lib/duet/{p-0887bb20.system.entry.js → p-3931d796.system.entry.js} +1 -1
  368. package/lib/duet/{p-73695b8f.entry.js → p-396397f0.entry.js} +1 -1
  369. package/lib/duet/{p-3f295c07.entry.js → p-39c8d5f4.entry.js} +1 -1
  370. package/lib/duet/{p-a27457ec.system.entry.js → p-3c43bf45.system.entry.js} +1 -1
  371. package/lib/duet/{p-361371c0.entry.js → p-3c548017.entry.js} +1 -1
  372. package/lib/duet/{p-cae73efd.system.entry.js → p-3edeecdd.system.entry.js} +2 -2
  373. package/lib/duet/{p-343293f9.system.entry.js → p-422bf802.system.entry.js} +1 -1
  374. package/lib/duet/{p-38e2ca53.system.entry.js → p-42789990.system.entry.js} +1 -1
  375. package/lib/duet/{p-01264667.entry.js → p-44ac35f1.entry.js} +1 -1
  376. package/lib/duet/{p-01ebc478.entry.js → p-49cbde53.entry.js} +1 -1
  377. package/lib/duet/{p-7ba22ad5.system.entry.js → p-49d89759.system.entry.js} +1 -1
  378. package/lib/duet/{p-713fb177.entry.js → p-4af1174c.entry.js} +1 -1
  379. package/lib/duet/p-4bbc1e3f.system.entry.js +4 -0
  380. package/lib/duet/{p-761c3bab.entry.js → p-4d228791.entry.js} +1 -1
  381. package/lib/duet/{p-6a255600.entry.js → p-4e095335.entry.js} +1 -1
  382. package/lib/duet/{p-7610cf8a.system.entry.js → p-4f872b2e.system.entry.js} +1 -1
  383. package/lib/duet/{p-3986c681.system.js → p-4f945200.system.js} +1 -1
  384. package/lib/duet/{p-db44b3b4.entry.js → p-4ffcbae2.entry.js} +1 -1
  385. package/lib/duet/{p-c5e2f011.system.entry.js → p-534baf68.system.entry.js} +1 -1
  386. package/lib/duet/{p-d5299653.entry.js → p-546cf344.entry.js} +1 -1
  387. package/lib/duet/{p-d1d1e439.system.entry.js → p-55b6ebd2.system.entry.js} +1 -1
  388. package/lib/duet/{p-eb28342c.system.entry.js → p-565c967d.system.entry.js} +1 -1
  389. package/lib/duet/{p-10ae39d7.system.entry.js → p-56d5d3bd.system.entry.js} +1 -1
  390. package/lib/duet/{p-1977033e.system.entry.js → p-570fd695.system.entry.js} +1 -1
  391. package/lib/duet/{p-7ff7d213.entry.js → p-597e4a0d.entry.js} +1 -1
  392. package/lib/duet/p-5a148896.entry.js +4 -0
  393. package/lib/duet/p-5a47d2bb.entry.js +4 -0
  394. package/lib/duet/p-5acfa4bf.entry.js +4 -0
  395. package/lib/duet/{p-a81137d2.entry.js → p-5b5a4a8f.entry.js} +1 -1
  396. package/lib/duet/{p-793a7e00.system.entry.js → p-5cbadb53.system.entry.js} +2 -2
  397. package/lib/duet/{p-c9fd4929.entry.js → p-5cc339cf.entry.js} +1 -1
  398. package/lib/duet/{p-b53f2401.entry.js → p-5d1a4238.entry.js} +1 -1
  399. package/lib/duet/{p-07da24e7.system.entry.js → p-5e01a303.system.entry.js} +1 -1
  400. package/lib/duet/{p-28e4efe1.system.entry.js → p-5f668b4a.system.entry.js} +1 -1
  401. package/lib/duet/p-5ffa7838.entry.js +4 -0
  402. package/lib/duet/{p-2cdacb01.system.js → p-61173f11.system.js} +1 -1
  403. package/lib/duet/p-622e1ffc.js +4 -0
  404. package/lib/duet/{p-b3302c2f.system.entry.js → p-64f2d5cf.system.entry.js} +1 -1
  405. package/lib/duet/p-650c6251.system.entry.js +4 -0
  406. package/lib/duet/{p-29d53ea5.system.entry.js → p-69e55527.system.entry.js} +1 -1
  407. package/lib/duet/p-6ac3b242.entry.js +4 -0
  408. package/lib/duet/{p-ce2dd921.entry.js → p-6ac7d70c.entry.js} +1 -1
  409. package/lib/duet/{p-20b6ae5f.system.entry.js → p-6c8f09c8.system.entry.js} +1 -1
  410. package/lib/duet/{p-74214cc5.system.entry.js → p-6eec1445.system.entry.js} +1 -1
  411. package/lib/duet/{p-d60846a0.entry.js → p-6fc78573.entry.js} +1 -1
  412. package/lib/duet/{p-cc2912ff.system.entry.js → p-705dbeac.system.entry.js} +1 -1
  413. package/lib/duet/{p-3042a585.entry.js → p-71a37f03.entry.js} +1 -1
  414. package/lib/duet/{p-e99d4ab0.system.entry.js → p-760919c7.system.entry.js} +1 -1
  415. package/lib/duet/p-7be5b9a7.js +4 -0
  416. package/lib/duet/{p-7980c7c7.system.entry.js → p-7c119b9b.system.entry.js} +1 -1
  417. package/lib/duet/p-7cd899ca.system.entry.js +4 -0
  418. package/lib/duet/p-7d5c5b60.entry.js +4 -0
  419. package/lib/duet/{p-b6859e60.system.entry.js → p-7ea9d8e4.system.entry.js} +1 -1
  420. package/lib/duet/{p-ea2e8887.system.entry.js → p-7fc6af46.system.entry.js} +1 -1
  421. package/lib/duet/{p-c779e3e1.entry.js → p-7fe5e652.entry.js} +1 -1
  422. package/lib/duet/{p-35d862a1.entry.js → p-86038989.entry.js} +1 -1
  423. package/lib/duet/{p-9f1f30d1.entry.js → p-872b746e.entry.js} +1 -1
  424. package/lib/duet/{p-d65bf655.entry.js → p-875d3971.entry.js} +1 -1
  425. package/lib/duet/p-88daf9bb.system.entry.js +4 -0
  426. package/lib/duet/p-89ac2008.system.entry.js +4 -0
  427. package/lib/duet/{p-8296c9c2.system.js → p-89cf1a91.system.js} +1 -1
  428. package/lib/duet/p-8cbd3dfd.entry.js +4 -0
  429. package/lib/duet/p-8d43c8cf.entry.js +4 -0
  430. package/lib/duet/{p-ad6532e2.entry.js → p-8f450e25.entry.js} +1 -1
  431. package/lib/duet/{p-031cd628.system.entry.js → p-907b42ae.system.entry.js} +1 -1
  432. package/lib/duet/{p-2bc7bfb8.system.entry.js → p-9183c04b.system.entry.js} +1 -1
  433. package/lib/duet/{p-a090e7f0.entry.js → p-91b68d54.entry.js} +1 -1
  434. package/lib/duet/{p-846abd90.system.entry.js → p-92d47024.system.entry.js} +1 -1
  435. package/lib/duet/{p-ab1b2d93.entry.js → p-939f268d.entry.js} +1 -1
  436. package/lib/duet/{p-3e294789.system.entry.js → p-93c115a9.system.entry.js} +1 -1
  437. package/lib/duet/{p-9d15f354.system.entry.js → p-943bf2b1.system.entry.js} +1 -1
  438. package/lib/duet/p-9592f6ba.entry.js +4 -0
  439. package/lib/duet/p-96d76a4b.entry.js +4 -0
  440. package/lib/duet/{p-982c17df.entry.js → p-9a57fac7.entry.js} +1 -1
  441. package/lib/duet/{p-841673c0.system.entry.js → p-9b16ba14.system.entry.js} +1 -1
  442. package/lib/duet/{p-8625602d.system.entry.js → p-9b61d7b9.system.entry.js} +2 -2
  443. package/lib/duet/p-9d429df0.system.entry.js +4 -0
  444. package/lib/duet/{p-e622420a.entry.js → p-9e5b11f7.entry.js} +1 -1
  445. package/lib/duet/{p-e7c85aa3.entry.js → p-9ee0f850.entry.js} +1 -1
  446. package/lib/duet/p-a083b91a.js +5 -0
  447. package/lib/duet/{p-794f26b0.system.entry.js → p-a11e1a80.system.entry.js} +1 -1
  448. package/lib/duet/p-a1e5f0d4.entry.js +4 -0
  449. package/lib/duet/{p-e24b7d0e.entry.js → p-a4b80c74.entry.js} +1 -1
  450. package/lib/duet/{p-0e32e0f3.entry.js → p-a7b0d8ce.entry.js} +1 -1
  451. package/lib/duet/{p-a4170fe7.system.js → p-abc0c9c6.system.js} +1 -1
  452. package/lib/duet/{p-f8c6c87c.system.entry.js → p-ad07b21e.system.entry.js} +1 -1
  453. package/lib/duet/{p-b7b88f43.system.entry.js → p-ad0d289a.system.entry.js} +1 -1
  454. package/lib/duet/{p-ead29805.entry.js → p-ad2b37b0.entry.js} +1 -1
  455. package/lib/duet/{p-c81c688f.system.entry.js → p-adc2d7ce.system.entry.js} +2 -2
  456. package/lib/duet/{p-adba09a3.entry.js → p-aef92a68.entry.js} +1 -1
  457. package/lib/duet/{p-28aee391.entry.js → p-b15523c2.entry.js} +1 -1
  458. package/lib/duet/{p-7433065d.system.entry.js → p-b17984d6.system.entry.js} +1 -1
  459. package/lib/duet/{p-4ce70915.entry.js → p-b2df3729.entry.js} +1 -1
  460. package/lib/duet/{p-6b8e825d.entry.js → p-b327a269.entry.js} +1 -1
  461. package/lib/duet/{p-b0ef5620.js → p-b33512d6.js} +1 -1
  462. package/lib/duet/{p-5c6fe96f.js → p-b3d6e031.js} +1 -1
  463. package/lib/duet/p-b48b58e1.entry.js +4 -0
  464. package/lib/duet/{p-924eebeb.system.entry.js → p-b8775dc1.system.entry.js} +1 -1
  465. package/lib/duet/{p-cb6f8369.entry.js → p-bbb92080.entry.js} +1 -1
  466. package/lib/duet/{p-36009a0d.entry.js → p-bd5b0381.entry.js} +1 -1
  467. package/lib/duet/{p-36602fe4.entry.js → p-bdb001df.entry.js} +1 -1
  468. package/lib/duet/{p-724d1682.entry.js → p-be097905.entry.js} +1 -1
  469. package/lib/duet/{p-619a6ecf.js → p-c118fad4.js} +1 -1
  470. package/lib/duet/{p-55183c9c.entry.js → p-c1483141.entry.js} +1 -1
  471. package/lib/duet/{p-78aa46d5.system.entry.js → p-c2e74c89.system.entry.js} +1 -1
  472. package/lib/duet/{p-289e20a4.entry.js → p-c40ee5d3.entry.js} +1 -1
  473. package/lib/duet/{p-7f60def8.entry.js → p-c480533b.entry.js} +1 -1
  474. package/lib/duet/{p-87a8eb57.entry.js → p-c487869c.entry.js} +1 -1
  475. package/lib/duet/{p-b8dbb46c.entry.js → p-c507caa0.entry.js} +1 -1
  476. package/lib/duet/{p-8406ca8e.entry.js → p-c58f3932.entry.js} +1 -1
  477. package/lib/duet/{p-65d0162b.system.entry.js → p-c5d88a34.system.entry.js} +1 -1
  478. package/lib/duet/{p-1b64118e.system.entry.js → p-c6bf2cc4.system.entry.js} +1 -1
  479. package/lib/duet/{p-f2d13294.system.entry.js → p-c6f29010.system.entry.js} +2 -2
  480. package/lib/duet/p-ca29569e.system.js +4 -0
  481. package/lib/duet/p-ca901ab9.entry.js +4 -0
  482. package/lib/duet/{p-1798db32.system.js → p-cdba12cc.system.js} +1 -1
  483. package/lib/duet/{p-0bd8ca70.entry.js → p-ce282523.entry.js} +1 -1
  484. package/lib/duet/{p-b1ac6254.system.entry.js → p-cebffd48.system.entry.js} +2 -2
  485. package/lib/duet/{p-2f701bd3.system.entry.js → p-cf2d66a9.system.entry.js} +1 -1
  486. package/lib/duet/p-cf511280.system.entry.js +4 -0
  487. package/lib/duet/{p-41f062e2.system.entry.js → p-d2875f04.system.entry.js} +1 -1
  488. package/lib/duet/{p-59be5b66.entry.js → p-d40b4a20.entry.js} +1 -1
  489. package/lib/duet/{p-610bd1be.entry.js → p-d4554cf2.entry.js} +1 -1
  490. package/lib/duet/{p-43415ad8.entry.js → p-d4ddd4d1.entry.js} +1 -1
  491. package/lib/duet/{p-0278c664.system.entry.js → p-d5317013.system.entry.js} +2 -2
  492. package/lib/duet/{p-c2f9a318.system.entry.js → p-d68e93e4.system.entry.js} +1 -1
  493. package/lib/duet/{p-28275d12.system.entry.js → p-d6a321fd.system.entry.js} +1 -1
  494. package/lib/duet/{p-56860e41.entry.js → p-d835a292.entry.js} +1 -1
  495. package/lib/duet/{p-3c1abeed.system.entry.js → p-d840dcdc.system.entry.js} +1 -1
  496. package/lib/duet/{p-acba28ca.system.entry.js → p-dac4bc08.system.entry.js} +1 -1
  497. package/lib/duet/{p-6d1f7659.system.entry.js → p-e0b83f6c.system.entry.js} +1 -1
  498. package/lib/duet/{p-2b1be22e.system.entry.js → p-e29d9d5b.system.entry.js} +1 -1
  499. package/lib/duet/{p-3afaf734.js → p-e3857119.js} +1 -1
  500. package/lib/duet/{p-7792b99b.system.entry.js → p-e45d4dc4.system.entry.js} +1 -1
  501. package/lib/duet/{p-b4d7d067.system.entry.js → p-e50214f5.system.entry.js} +2 -2
  502. package/lib/duet/p-e5229df1.entry.js +4 -0
  503. package/lib/duet/{p-9da6fbd0.system.entry.js → p-e7c3186e.system.entry.js} +2 -2
  504. package/lib/duet/p-e89a92a9.entry.js +4 -0
  505. package/lib/duet/{p-36282ff0.system.entry.js → p-eb02c981.system.entry.js} +1 -1
  506. package/lib/duet/{p-a2eb63af.system.entry.js → p-ed086770.system.entry.js} +2 -2
  507. package/lib/duet/{p-5ce6dbbb.system.entry.js → p-eebfe28d.system.entry.js} +1 -1
  508. package/lib/duet/{p-0e12e3b8.entry.js → p-ef520403.entry.js} +1 -1
  509. package/lib/duet/{p-dea429f9.entry.js → p-f0260e4c.entry.js} +1 -1
  510. package/lib/duet/{p-2f715679.system.entry.js → p-f07eace6.system.entry.js} +1 -1
  511. package/lib/duet/p-f1083d8c.system.entry.js +4 -0
  512. package/lib/duet/p-f10d7817.entry.js +4 -0
  513. package/lib/duet/{p-b3f0b1df.system.entry.js → p-f18245aa.system.entry.js} +1 -1
  514. package/lib/duet/p-f4063bd4.entry.js +4 -0
  515. package/lib/duet/{p-8f5c12c8.system.entry.js → p-f56098f1.system.entry.js} +1 -1
  516. package/lib/duet/p-f67921d2.system.entry.js +4 -0
  517. package/lib/duet/{p-4d46054e.system.entry.js → p-f7fe4161.system.entry.js} +1 -1
  518. package/lib/duet/{p-3a1a4161.entry.js → p-f97dd407.entry.js} +1 -1
  519. package/lib/duet/{p-505ef540.entry.js → p-fcfae4d6.entry.js} +1 -1
  520. package/lib/esm/{a11y-utils-7f48d84a.js → a11y-utils-c3a7fd7e.js} +1 -1
  521. package/lib/esm/{app-globals-8f12ab47.js → app-globals-e00fbe9c.js} +1 -1
  522. package/lib/esm/duet-action-button.entry.js +2 -2
  523. package/lib/esm/duet-alert.entry.js +3 -3
  524. package/lib/esm/duet-badge.entry.js +3 -3
  525. package/lib/esm/duet-banner.entry.js +2 -2
  526. package/lib/esm/duet-breadcrumb.entry.js +6 -6
  527. package/lib/esm/duet-breadcrumbs.entry.js +4 -4
  528. package/lib/esm/duet-button_2.entry.js +10 -10
  529. package/lib/esm/duet-callout.entry.js +4 -4
  530. package/lib/esm/duet-caption_4.entry.js +11 -10
  531. package/lib/esm/duet-card.entry.js +2 -2
  532. package/lib/esm/duet-checkbox.entry.js +1 -1
  533. package/lib/esm/duet-checkmark.entry.js +3 -3
  534. package/lib/esm/{duet-chip_3.entry.js → duet-chip.entry.js} +5 -375
  535. package/lib/esm/duet-choice_2.entry.js +11 -11
  536. package/lib/esm/duet-collapsible.entry.js +4 -4
  537. package/lib/esm/duet-combobox.entry.js +3 -3
  538. package/lib/esm/duet-contact-card.entry.js +4 -4
  539. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  540. package/lib/esm/duet-date-picker.entry.js +7 -7
  541. package/lib/esm/duet-divider_2.entry.js +3 -3
  542. package/lib/esm/duet-editable-table_3.entry.js +9 -9
  543. package/lib/esm/duet-empty-state.entry.js +3 -3
  544. package/lib/esm/duet-fieldset.entry.js +5 -5
  545. package/lib/esm/duet-file-chooser.entry.js +2 -2
  546. package/lib/esm/duet-footer.entry.js +7 -7
  547. package/lib/esm/duet-grid_2.entry.js +5 -5
  548. package/lib/esm/duet-header_2.entry.js +3 -3
  549. package/lib/esm/duet-hero.entry.js +8 -8
  550. package/lib/esm/duet-icon.entry.js +4 -4
  551. package/lib/esm/duet-input_2.entry.js +11 -11
  552. package/lib/esm/duet-layout.entry.js +8 -8
  553. package/lib/esm/duet-list_2.entry.js +4 -4
  554. package/lib/esm/duet-menu-bar-button.entry.js +3 -3
  555. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +3 -3
  556. package/lib/esm/duet-menu-bar-dropdown.entry.js +5 -5
  557. package/lib/esm/duet-menu-bar-item.entry.js +6 -6
  558. package/lib/esm/duet-menu-bar-link.entry.js +3 -3
  559. package/lib/esm/duet-menu-bar.entry.js +6 -5
  560. package/lib/esm/duet-modal.entry.js +10 -10
  561. package/lib/esm/duet-multiselect.entry.js +9 -9
  562. package/lib/esm/duet-nav.entry.js +2 -2
  563. package/lib/esm/duet-notification_2.entry.js +6 -6
  564. package/lib/esm/duet-number-input.entry.js +5 -5
  565. package/lib/esm/duet-overlay.entry.js +2 -2
  566. package/lib/esm/duet-page-heading.entry.js +3 -3
  567. package/lib/esm/duet-pagination_2.entry.js +15 -15
  568. package/lib/esm/duet-phone-input.entry.js +1998 -0
  569. package/lib/esm/duet-popup-menu_2.entry.js +421 -0
  570. package/lib/esm/duet-progress.entry.js +2 -2
  571. package/lib/esm/duet-promo-card.entry.js +4 -4
  572. package/lib/esm/duet-radio_2.entry.js +6 -6
  573. package/lib/esm/duet-range-slider.entry.js +5 -5
  574. package/lib/esm/duet-scrollable_3.entry.js +33 -21
  575. package/lib/esm/duet-section-layout.entry.js +5 -5
  576. package/lib/esm/duet-select.entry.js +8 -8
  577. package/lib/esm/duet-shaped-image.entry.js +3 -3
  578. package/lib/esm/duet-show-more.entry.js +4 -4
  579. package/lib/esm/duet-slideout-lang.entry.js +3 -3
  580. package/lib/esm/duet-slideout-link.entry.js +22 -4
  581. package/lib/esm/duet-slideout-panel-dropdown.entry.js +5 -5
  582. package/lib/esm/duet-slideout-panel.entry.js +10 -10
  583. package/lib/esm/duet-slideout.entry.js +8 -8
  584. package/lib/esm/duet-status-icon.entry.js +3 -3
  585. package/lib/esm/duet-step_2.entry.js +4 -4
  586. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +3 -3
  587. package/lib/esm/duet-submenu-bar-dropdown.entry.js +5 -5
  588. package/lib/esm/duet-submenu-bar-item.entry.js +5 -5
  589. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  590. package/lib/esm/duet-submenu-bar.entry.js +6 -6
  591. package/lib/esm/duet-textarea.entry.js +7 -7
  592. package/lib/esm/duet-toggle.entry.js +5 -5
  593. package/lib/esm/duet-toolbar-dropdown-link.entry.js +3 -3
  594. package/lib/esm/duet-toolbar-dropdown.entry.js +5 -5
  595. package/lib/esm/duet-toolbar-item.entry.js +7 -7
  596. package/lib/esm/duet-toolbar-link.entry.js +3 -3
  597. package/lib/esm/duet-toolbar.entry.js +3 -3
  598. package/lib/esm/duet-tooltip-button_2.entry.js +6 -6
  599. package/lib/esm/duet-tooltip.entry.js +3 -3
  600. package/lib/esm/duet-tray.entry.js +4 -4
  601. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  602. package/lib/esm/duet-upload-item.entry.js +5 -5
  603. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  604. package/lib/esm/duet.js +4 -4
  605. package/lib/esm/{errorcodes.utils-66d99a23.js → errorcodes.utils-416994cc.js} +1 -1
  606. package/lib/esm/{focus-utils-b48493c9.js → focus-utils-7bc146cd.js} +1 -1
  607. package/lib/esm/{index-5a27eaf5.js → index-1a6cee61.js} +339 -2
  608. package/lib/esm/{label-00d35a2b.js → label-de5c8cbd.js} +1 -1
  609. package/lib/esm/{language-utils-2c1dd412.js → language-utils-8a9d5323.js} +1 -1
  610. package/lib/esm/loader.js +4 -4
  611. package/lib/esm/{slot-utils-8fc9fbbf.js → slot-utils-bf214ae5.js} +1 -1
  612. package/lib/esm-es5/{a11y-utils-7f48d84a.js → a11y-utils-c3a7fd7e.js} +1 -1
  613. package/lib/esm-es5/{app-globals-8f12ab47.js → app-globals-e00fbe9c.js} +1 -1
  614. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  615. package/lib/esm-es5/duet-alert.entry.js +1 -1
  616. package/lib/esm-es5/duet-badge.entry.js +1 -1
  617. package/lib/esm-es5/duet-banner.entry.js +1 -1
  618. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  619. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  620. package/lib/esm-es5/duet-button_2.entry.js +2 -2
  621. package/lib/esm-es5/duet-callout.entry.js +1 -1
  622. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  623. package/lib/esm-es5/duet-card.entry.js +1 -1
  624. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  625. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  626. package/lib/esm-es5/duet-chip.entry.js +4 -0
  627. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  628. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  629. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  630. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  631. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  632. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  633. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  634. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  635. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  636. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  637. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  638. package/lib/esm-es5/duet-footer.entry.js +1 -1
  639. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  640. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  641. package/lib/esm-es5/duet-hero.entry.js +2 -2
  642. package/lib/esm-es5/duet-icon.entry.js +1 -1
  643. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  644. package/lib/esm-es5/duet-layout.entry.js +1 -1
  645. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  646. package/lib/esm-es5/duet-menu-bar-button.entry.js +2 -2
  647. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  648. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  649. package/lib/esm-es5/duet-menu-bar-item.entry.js +1 -1
  650. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  651. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  652. package/lib/esm-es5/duet-modal.entry.js +1 -1
  653. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  654. package/lib/esm-es5/duet-nav.entry.js +1 -1
  655. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  656. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  657. package/lib/esm-es5/duet-overlay.entry.js +1 -1
  658. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  659. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  660. package/lib/esm-es5/duet-phone-input.entry.js +4 -0
  661. package/lib/esm-es5/duet-popup-menu_2.entry.js +4 -0
  662. package/lib/esm-es5/duet-progress.entry.js +1 -1
  663. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  664. package/lib/esm-es5/duet-radio_2.entry.js +2 -2
  665. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  666. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  667. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  668. package/lib/esm-es5/duet-select.entry.js +1 -1
  669. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  670. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  671. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  672. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  673. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  674. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  675. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  676. package/lib/esm-es5/duet-status-icon.entry.js +1 -1
  677. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  678. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  679. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  680. package/lib/esm-es5/duet-submenu-bar-item.entry.js +1 -1
  681. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  682. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  683. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  684. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  685. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  686. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  687. package/lib/esm-es5/duet-toolbar-item.entry.js +1 -1
  688. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  689. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  690. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  691. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  692. package/lib/esm-es5/duet-tray.entry.js +1 -1
  693. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  694. package/lib/esm-es5/duet-upload-item.entry.js +2 -2
  695. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  696. package/lib/esm-es5/duet.js +1 -1
  697. package/lib/esm-es5/{errorcodes.utils-66d99a23.js → errorcodes.utils-416994cc.js} +1 -1
  698. package/lib/esm-es5/{focus-utils-b48493c9.js → focus-utils-7bc146cd.js} +1 -1
  699. package/lib/esm-es5/index-1a6cee61.js +4 -0
  700. package/lib/esm-es5/{label-00d35a2b.js → label-de5c8cbd.js} +1 -1
  701. package/lib/esm-es5/{language-utils-2c1dd412.js → language-utils-8a9d5323.js} +1 -1
  702. package/lib/esm-es5/loader.js +1 -1
  703. package/lib/esm-es5/{slot-utils-8fc9fbbf.js → slot-utils-bf214ae5.js} +1 -1
  704. package/lib/types/components/duet-button/duet-button.d.ts +1 -1
  705. package/lib/types/components/duet-heading/duet-heading.d.ts +6 -0
  706. package/lib/types/components/duet-input/duet-input.d.ts +4 -3
  707. package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +156 -0
  708. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +11 -1
  709. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +1 -0
  710. package/lib/types/components/duet-slideout-link/duet-slideout-link.d.ts +17 -0
  711. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +1 -0
  712. package/lib/types/components.d.ts +259 -2
  713. package/lib/types/data/countries.d.ts +22 -0
  714. package/package.json +3 -3
  715. package/lib/dist-custom-elements/p-46aa070f.js +0 -287
  716. package/lib/duet/p-024c9ef9.entry.js +0 -4
  717. package/lib/duet/p-0d6ace6f.js +0 -4
  718. package/lib/duet/p-15a35870.system.entry.js +0 -4
  719. package/lib/duet/p-17676f8d.entry.js +0 -4
  720. package/lib/duet/p-22a95bff.system.js +0 -4
  721. package/lib/duet/p-3a8e181e.entry.js +0 -4
  722. package/lib/duet/p-42542284.entry.js +0 -4
  723. package/lib/duet/p-4a4d949c.entry.js +0 -4
  724. package/lib/duet/p-4dcb6a39.js +0 -5
  725. package/lib/duet/p-5488c7f0.entry.js +0 -4
  726. package/lib/duet/p-57daa78e.system.entry.js +0 -4
  727. package/lib/duet/p-654a4d24.entry.js +0 -4
  728. package/lib/duet/p-663d1dbe.system.entry.js +0 -4
  729. package/lib/duet/p-6791f33a.system.entry.js +0 -4
  730. package/lib/duet/p-6833a13e.system.entry.js +0 -4
  731. package/lib/duet/p-6ab7c8ae.entry.js +0 -4
  732. package/lib/duet/p-7094e51e.js +0 -4
  733. package/lib/duet/p-8688d2ab.system.entry.js +0 -4
  734. package/lib/duet/p-97f1f446.system.entry.js +0 -4
  735. package/lib/duet/p-9ba5dbb7.entry.js +0 -4
  736. package/lib/duet/p-9c08f843.entry.js +0 -4
  737. package/lib/duet/p-a011272e.entry.js +0 -4
  738. package/lib/duet/p-aac4f547.system.entry.js +0 -4
  739. package/lib/duet/p-af13cb98.entry.js +0 -4
  740. package/lib/duet/p-b85f2a7b.entry.js +0 -4
  741. package/lib/duet/p-be334873.system.js +0 -4
  742. package/lib/duet/p-c4150af0.entry.js +0 -4
  743. package/lib/duet/p-c44fa6da.system.js +0 -4
  744. package/lib/duet/p-d0d6ecb5.entry.js +0 -4
  745. package/lib/duet/p-e1287a80.entry.js +0 -4
  746. package/lib/duet/p-ecceed3c.system.entry.js +0 -4
  747. package/lib/esm-es5/duet-chip_3.entry.js +0 -4
  748. package/lib/esm-es5/index-5a27eaf5.js +0 -5
@@ -0,0 +1,777 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { Build, Fragment, h, Host } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common";
6
+ import countries, { primaryCountriesForSharedCountryCodes } from "../../data/countries";
7
+ import { createID } from "../../utils/create-id";
8
+ import { subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
9
+ import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
10
+ import { checkNamedSlotElement } from "../../utils/slot-utils";
11
+ export class DuetPhoneInput {
12
+ constructor() {
13
+ this.countriesToList = Object.values(countries).filter(country => !!country.telephoneCountryCode);
14
+ this.countryFlagCDNUrl = "https://cdn.duetds.com/api/assets/country-flags/";
15
+ this.inputId = createID("DuetInput");
16
+ this.setListFirstCountries = () => {
17
+ const listFirstCodes = (typeof this.listFirst === "string" ? this.listFirst.split(",") : this.listFirst).map(c => c.trim().toUpperCase());
18
+ const listFirstCountries = Object.values(countries).filter(c => listFirstCodes.includes(c.isoCode));
19
+ const listRestCountries = this.countriesToList.filter(c => !listFirstCodes.includes(c.isoCode));
20
+ listRestCountries.sort((a, b) => (a[this.language] > b[this.language] ? 1 : -1));
21
+ this.countriesToList = [...listFirstCountries, ...listRestCountries];
22
+ };
23
+ this.handleFocus = () => {
24
+ // check value and country code
25
+ };
26
+ this.handleChange = () => {
27
+ //console.log(ev)
28
+ };
29
+ this.handleBlur = () => {
30
+ //console.log(ev)
31
+ };
32
+ this.handleInput = () => {
33
+ var _a, _b;
34
+ const currentValue = (_a = this.duetInputElement.value) === null || _a === void 0 ? void 0 : _a.trim();
35
+ const currentCountryCode = (this.currentCountry !== "error" && ((_b = this.currentCountry) === null || _b === void 0 ? void 0 : _b.telephoneCountryCode)) || "";
36
+ const inputCountryCode = this.findCountryCode(currentValue) || "";
37
+ if (!currentValue) {
38
+ this.currentCountry = undefined;
39
+ return;
40
+ }
41
+ if (currentCountryCode === inputCountryCode) {
42
+ return;
43
+ }
44
+ if (inputCountryCode) {
45
+ this.currentCountry = this.findCountryForCode(inputCountryCode);
46
+ return;
47
+ }
48
+ // we had country, but no longer have, we are in error state
49
+ if (currentCountryCode !== "error") {
50
+ this.currentCountry = "error";
51
+ }
52
+ // we don't have new country, and did not have old country, so old country is "error" - leave it
53
+ return;
54
+ };
55
+ this.handleCountryCodeSelectorOpen = () => {
56
+ this.countryCodePopup.controller = this.countryCodeButton;
57
+ this.countryCodePopup.show();
58
+ };
59
+ this.handleCountryCodeSelectorSelect = (ev) => {
60
+ const item = ev.target.closest("duet-popup-menu-item");
61
+ const country = countries[item.value];
62
+ this.currentCountry = country;
63
+ this.countryCodePopup.hide();
64
+ this.setInputCountryCode();
65
+ };
66
+ this.language = getLanguage();
67
+ this.currentCountry = undefined;
68
+ this.theme = "";
69
+ this.margin = "auto";
70
+ this.expand = false;
71
+ this.identifier = undefined;
72
+ this.accessibleDetails = undefined;
73
+ this.accessibleLabelledBy = undefined;
74
+ this.accessibleDescription = undefined;
75
+ this.accessibleDescribedBy = undefined;
76
+ this.disabled = false;
77
+ this.required = false;
78
+ this.labelDefaults = {
79
+ fi: "Puhelinnumero",
80
+ en: "Phone number",
81
+ sv: "Telefonnummer",
82
+ };
83
+ this.label = getLocaleString(this.labelDefaults, this.language);
84
+ this.labelHidden = false;
85
+ this.name = undefined;
86
+ this.error = "";
87
+ this.tooltip = "";
88
+ this.listFirst = ["FI", "SE"];
89
+ }
90
+ /**
91
+ * The phone input itself contains a comprehensive list of countries and their telephone country codes and it is
92
+ * advisable to hold to that. There may be situations where the set of possible country codes is narrowed down: e.g.
93
+ * if we have established that the person giving their details has a Nordic phone number, then we can give a narrowed
94
+ * down list. Do not make unjustified assumptions: e.g. a Finnish company may well have employees in Afganistan or
95
+ * Bhutan. List of countries can be given either as array of ISO 3166-1 alpha-2 codes or array of objects with keys:
96
+ * en, fi, sv, isoCode (two uppercase letters), telephoneCountryCode (one to three digits), or JSON array string of
97
+ * either two.
98
+ */
99
+ get countries() {
100
+ return this.countriesToList;
101
+ }
102
+ set countries(countriesProp) {
103
+ let arr = countriesProp;
104
+ let error = "";
105
+ const isValidCountryObject = (obj) => {
106
+ const requiredKeys = ["en", "fi", "sv", "isoCode", "telephoneCountryCode"];
107
+ return (requiredKeys.every(key => Object.keys(obj).includes(key)) &&
108
+ /^[A-Z]{2}$/.test(obj["isoCode"]) &&
109
+ /^[1-9][0-9]{0,2}$/.test(obj["telephoneCountryCode"]));
110
+ };
111
+ if (typeof countriesProp === "string") {
112
+ arr = JSON.parse(countriesProp);
113
+ }
114
+ if (Array.isArray(arr)) {
115
+ if (arr.every(a => typeof a === "string")) {
116
+ this.countriesToList = Object.values(countries).filter(c => arr.includes(c.isoCode) && !!c.telephoneCountryCode);
117
+ }
118
+ else if (arr.every(a => isValidCountryObject(a))) {
119
+ this.countriesToList = arr;
120
+ }
121
+ else {
122
+ error = "Invalid array provided for countries in Phone Input";
123
+ }
124
+ }
125
+ else {
126
+ error = "Country list for Phone Input must be an array";
127
+ }
128
+ if (error) {
129
+ console.error(error);
130
+ this.countriesToList = Object.values(countries).filter(country => !!country.telephoneCountryCode);
131
+ }
132
+ this.setListFirstCountries();
133
+ }
134
+ /**
135
+ * Value of the input.
136
+ */
137
+ get value() {
138
+ var _a;
139
+ return (_a = this.duetInputElement.value) === null || _a === void 0 ? void 0 : _a.replace(/\s/g, "");
140
+ }
141
+ set value(val) {
142
+ this._value = val;
143
+ }
144
+ /**t
145
+ * Component lifecycle events.
146
+ */
147
+ componentWillLoad() {
148
+ inheritGlobalTheme(this);
149
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
150
+ this.setListFirstCountries();
151
+ }
152
+ connectedCallback() {
153
+ connectLanguageChangeObserver(this, { prop: "label", defaults: "labelDefaults" });
154
+ subscribeTabbingChange(this);
155
+ }
156
+ disconnectedCallback() {
157
+ disconnectLanguageChangeObserver(this);
158
+ unsubscribeTabbingChange(this);
159
+ }
160
+ /**
161
+ * Sets focus on the contained input element, use this instead of the native `input.focus()`.
162
+ */
163
+ async setFocus(options) {
164
+ this.duetInputElement.setFocus(options);
165
+ }
166
+ setInputCountryCode() {
167
+ if (this.currentCountry === "error") {
168
+ return;
169
+ }
170
+ const newCode = `+${this.currentCountry.telephoneCountryCode} `;
171
+ const prevValue = this.duetInputElement.value;
172
+ if (!(prevValue === null || prevValue === void 0 ? void 0 : prevValue.trim().startsWith("+"))) {
173
+ this.duetInputElement.value = `${newCode}${(prevValue === null || prevValue === void 0 ? void 0 : prevValue.trimStart()) || ""}`;
174
+ return;
175
+ }
176
+ const oldCode = this.findCountryCode(prevValue);
177
+ console.log("Old code", oldCode);
178
+ if (oldCode) {
179
+ this.duetInputElement.value = prevValue.replace(`+${oldCode}`, newCode).replace(" ", " ");
180
+ return;
181
+ }
182
+ this.duetInputElement.value = prevValue.replace("+", newCode);
183
+ }
184
+ findCountryCode(value) {
185
+ const normalizedValue = value.trim();
186
+ if (!normalizedValue.startsWith("+")) {
187
+ return undefined;
188
+ }
189
+ const found = Object.values(countries).find(country => normalizedValue.startsWith(`+${country.telephoneCountryCode}`));
190
+ return found === null || found === void 0 ? void 0 : found.telephoneCountryCode;
191
+ }
192
+ findCountryForCode(code) {
193
+ const primaryCountryISO = primaryCountriesForSharedCountryCodes[code] || "";
194
+ return primaryCountryISO
195
+ ? countries[primaryCountryISO]
196
+ : Object.values(countries).find(country => country.telephoneCountryCode === code);
197
+ }
198
+ renderFlag(isoCode, inButton = false) {
199
+ const flagImgStyle = {
200
+ height: inButton ? "34px" : "24px",
201
+ width: inButton ? "27px" : "24px",
202
+ "margin-right": inButton ? "0" : "10px",
203
+ "object-fit": "contain",
204
+ "object-position": "center",
205
+ filter: "drop-shadow(0 0 1px rgba(0, 0, 0, 0.3)) drop-shadow(0 2px 6px rgba(0, 41, 77, 0.1))",
206
+ };
207
+ return (h("img", { src: `${this.countryFlagCDNUrl}${isoCode}.svg`, "aria-hidden": "true", style: flagImgStyle, loading: "lazy" }));
208
+ }
209
+ getFlagForButton() {
210
+ if (!this.currentCountry || this.currentCountry === "error") {
211
+ return h("duet-icon", { name: !this.currentCountry ? "form-country" : "messaging-alert", margin: "none" });
212
+ }
213
+ return this.renderFlag(this.currentCountry.isoCode, true);
214
+ }
215
+ render() {
216
+ if (Build.isServer) {
217
+ return;
218
+ }
219
+ const lastListFirstCode = (typeof this.listFirst === "string" ? this.listFirst.split(",") : this.listFirst)
220
+ .map(c => c.trim().toUpperCase())
221
+ .pop();
222
+ const identifier = this.identifier || this.inputId;
223
+ return (h(Host, { class: {
224
+ "duet-theme-turva": this.theme === "turva",
225
+ "duet-expand": this.expand,
226
+ "duet-m-0": this.margin === "none",
227
+ } }, h("div", { class: "duet-phone-input-container" }, h("duet-popup-menu", { ref: el => (this.countryCodePopup = el), scrollLimit: 10, showFilterInput: true }, this.countriesToList.map(country => country.isoCode === lastListFirstCode ? (h(Fragment, null, h("duet-popup-menu-item", { value: country.isoCode, onClick: this.handleCountryCodeSelectorSelect }, h("duet-grid", { alignment: "center" }, this.renderFlag(country.isoCode), h("span", null, country[this.language], " (+", country.telephoneCountryCode, ")"))), h("duet-spacer", { size: "x-small" }), h("duet-divider", { margin: "small" }))) : (h("duet-popup-menu-item", { value: country.isoCode, onClick: this.handleCountryCodeSelectorSelect }, h("duet-grid", { alignment: "center" }, this.renderFlag(country.isoCode), h("span", null, country[this.language], " (+", country.telephoneCountryCode, ")")))))), h("duet-input", { ref: el => (this.duetInputElement = el), onDuetChange: this.handleChange, onDuetFocus: this.handleFocus, onDuetBlur: this.handleBlur, onDuetInput: this.handleInput, label: this.label, value: this._value, error: this.error, name: this.name, component: "phone", variation: "button-left", type: "tel", disallowPattern: "[^\\+0-9 ]", required: this.required, disabled: this.disabled, labelHidden: this.labelHidden, tooltip: this.tooltip, identifier: identifier, theme: this.theme, margin: "none", expand: true }, h("duet-button", { ref: el => (this.countryCodeButton = el), slot: "button-left", variation: "input-button-left-secondary", margin: "none", fixed: true, icon: "action-arrow-down-small", iconSize: "small", iconRight: true, onClick: this.handleCountryCodeSelectorOpen }, h("span", { class: "flag-container" }, this.getFlagForButton())), h("slot", { name: "tooltip" })))));
228
+ }
229
+ static get is() { return "duet-phone-input"; }
230
+ static get encapsulation() { return "shadow"; }
231
+ static get originalStyleUrls() {
232
+ return {
233
+ "$": ["duet-phone-input.scss"]
234
+ };
235
+ }
236
+ static get styleUrls() {
237
+ return {
238
+ "$": ["duet-phone-input.css"]
239
+ };
240
+ }
241
+ static get properties() {
242
+ return {
243
+ "theme": {
244
+ "type": "string",
245
+ "mutable": true,
246
+ "complexType": {
247
+ "original": "DuetTheme",
248
+ "resolved": "\"\" | \"default\" | \"turva\"",
249
+ "references": {
250
+ "DuetTheme": {
251
+ "location": "import",
252
+ "path": "../../common-types",
253
+ "id": "src/common-types.d.ts::DuetTheme"
254
+ }
255
+ }
256
+ },
257
+ "required": false,
258
+ "optional": false,
259
+ "docs": {
260
+ "tags": [],
261
+ "text": "Theme of the input."
262
+ },
263
+ "getter": false,
264
+ "setter": false,
265
+ "attribute": "theme",
266
+ "reflect": false,
267
+ "defaultValue": "\"\""
268
+ },
269
+ "margin": {
270
+ "type": "string",
271
+ "mutable": false,
272
+ "complexType": {
273
+ "original": "DuetMargin",
274
+ "resolved": "\"auto\" | \"none\"",
275
+ "references": {
276
+ "DuetMargin": {
277
+ "location": "import",
278
+ "path": "../../common-types",
279
+ "id": "src/common-types.d.ts::DuetMargin"
280
+ }
281
+ }
282
+ },
283
+ "required": false,
284
+ "optional": false,
285
+ "docs": {
286
+ "tags": [],
287
+ "text": "Controls the margin of the component."
288
+ },
289
+ "getter": false,
290
+ "setter": false,
291
+ "attribute": "margin",
292
+ "reflect": false,
293
+ "defaultValue": "\"auto\""
294
+ },
295
+ "expand": {
296
+ "type": "boolean",
297
+ "mutable": false,
298
+ "complexType": {
299
+ "original": "boolean",
300
+ "resolved": "boolean",
301
+ "references": {}
302
+ },
303
+ "required": false,
304
+ "optional": false,
305
+ "docs": {
306
+ "tags": [],
307
+ "text": "Expands the input to fill 100% of the container width."
308
+ },
309
+ "getter": false,
310
+ "setter": false,
311
+ "attribute": "expand",
312
+ "reflect": false,
313
+ "defaultValue": "false"
314
+ },
315
+ "identifier": {
316
+ "type": "string",
317
+ "mutable": false,
318
+ "complexType": {
319
+ "original": "string",
320
+ "resolved": "string",
321
+ "references": {}
322
+ },
323
+ "required": false,
324
+ "optional": false,
325
+ "docs": {
326
+ "tags": [],
327
+ "text": "Adds a unique identifier for the input."
328
+ },
329
+ "getter": false,
330
+ "setter": false,
331
+ "attribute": "identifier",
332
+ "reflect": false
333
+ },
334
+ "accessibleDetails": {
335
+ "type": "string",
336
+ "mutable": false,
337
+ "complexType": {
338
+ "original": "string",
339
+ "resolved": "string",
340
+ "references": {}
341
+ },
342
+ "required": false,
343
+ "optional": false,
344
+ "docs": {
345
+ "tags": [],
346
+ "text": "Details of the component"
347
+ },
348
+ "getter": false,
349
+ "setter": false,
350
+ "attribute": "accessible-details",
351
+ "reflect": false,
352
+ "defaultValue": "undefined"
353
+ },
354
+ "accessibleLabelledBy": {
355
+ "type": "string",
356
+ "mutable": false,
357
+ "complexType": {
358
+ "original": "string",
359
+ "resolved": "string",
360
+ "references": {}
361
+ },
362
+ "required": false,
363
+ "optional": false,
364
+ "docs": {
365
+ "tags": [],
366
+ "text": "String of id's that indicate alternative labels elements"
367
+ },
368
+ "getter": false,
369
+ "setter": false,
370
+ "attribute": "accessible-labelled-by",
371
+ "reflect": false,
372
+ "defaultValue": "undefined"
373
+ },
374
+ "accessibleDescription": {
375
+ "type": "string",
376
+ "mutable": false,
377
+ "complexType": {
378
+ "original": "string",
379
+ "resolved": "string",
380
+ "references": {}
381
+ },
382
+ "required": false,
383
+ "optional": false,
384
+ "docs": {
385
+ "tags": [],
386
+ "text": "Aria description the button"
387
+ },
388
+ "getter": false,
389
+ "setter": false,
390
+ "attribute": "accessible-description",
391
+ "reflect": false,
392
+ "defaultValue": "undefined"
393
+ },
394
+ "accessibleDescribedBy": {
395
+ "type": "string",
396
+ "mutable": false,
397
+ "complexType": {
398
+ "original": "string",
399
+ "resolved": "string",
400
+ "references": {}
401
+ },
402
+ "required": false,
403
+ "optional": false,
404
+ "docs": {
405
+ "tags": [],
406
+ "text": "Indicates the id of a component that describes the input."
407
+ },
408
+ "getter": false,
409
+ "setter": false,
410
+ "attribute": "accessible-described-by",
411
+ "reflect": false
412
+ },
413
+ "disabled": {
414
+ "type": "boolean",
415
+ "mutable": false,
416
+ "complexType": {
417
+ "original": "boolean",
418
+ "resolved": "boolean",
419
+ "references": {}
420
+ },
421
+ "required": false,
422
+ "optional": false,
423
+ "docs": {
424
+ "tags": [],
425
+ "text": "Makes the phone input component disabled. This prevents users from being able to\ninteract with the input, and conveys its inactive state to assistive technologies."
426
+ },
427
+ "getter": false,
428
+ "setter": false,
429
+ "attribute": "disabled",
430
+ "reflect": true,
431
+ "defaultValue": "false"
432
+ },
433
+ "required": {
434
+ "type": "boolean",
435
+ "mutable": false,
436
+ "complexType": {
437
+ "original": "boolean",
438
+ "resolved": "boolean",
439
+ "references": {}
440
+ },
441
+ "required": false,
442
+ "optional": false,
443
+ "docs": {
444
+ "tags": [],
445
+ "text": "Set whether the input is required or not. Please note that this is required 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."
446
+ },
447
+ "getter": false,
448
+ "setter": false,
449
+ "attribute": "required",
450
+ "reflect": false,
451
+ "defaultValue": "false"
452
+ },
453
+ "countries": {
454
+ "type": "string",
455
+ "mutable": false,
456
+ "complexType": {
457
+ "original": "string | string[] | Country[]",
458
+ "resolved": "Country[] | string | string[]",
459
+ "references": {
460
+ "Country": {
461
+ "location": "import",
462
+ "path": "../../data/countries",
463
+ "id": "src/data/countries.ts::Country"
464
+ }
465
+ }
466
+ },
467
+ "required": false,
468
+ "optional": false,
469
+ "docs": {
470
+ "tags": [],
471
+ "text": "The phone input itself contains a comprehensive list of countries and their telephone country codes and it is\nadvisable to hold to that. There may be situations where the set of possible country codes is narrowed down: e.g.\nif we have established that the person giving their details has a Nordic phone number, then we can give a narrowed\ndown list. Do not make unjustified assumptions: e.g. a Finnish company may well have employees in Afganistan or\nBhutan. List of countries can be given either as array of ISO 3166-1 alpha-2 codes or array of objects with keys:\nen, fi, sv, isoCode (two uppercase letters), telephoneCountryCode (one to three digits), or JSON array string of\neither two."
472
+ },
473
+ "getter": true,
474
+ "setter": true,
475
+ "attribute": "countries",
476
+ "reflect": false,
477
+ "defaultValue": "Object.values(countries).filter(country => !!country.telephoneCountryCode)"
478
+ },
479
+ "labelDefaults": {
480
+ "type": "string",
481
+ "mutable": false,
482
+ "complexType": {
483
+ "original": "DuetLangObject | string",
484
+ "resolved": "DuetLangObject | string",
485
+ "references": {
486
+ "DuetLangObject": {
487
+ "location": "import",
488
+ "path": "../../utils/language-utils",
489
+ "id": "src/utils/language-utils.ts::DuetLangObject"
490
+ }
491
+ }
492
+ },
493
+ "required": false,
494
+ "optional": false,
495
+ "docs": {
496
+ "tags": [{
497
+ "name": "default",
498
+ "text": "{fi: \"Etiketti\", en: \"Label\", sv: \"M\u00E4rka\"}"
499
+ }],
500
+ "text": "Defaults for Label"
501
+ },
502
+ "getter": false,
503
+ "setter": false,
504
+ "attribute": "label-default",
505
+ "reflect": false,
506
+ "defaultValue": "{\n fi: \"Puhelinnumero\",\n en: \"Phone number\",\n sv: \"Telefonnummer\",\n }"
507
+ },
508
+ "label": {
509
+ "type": "string",
510
+ "mutable": true,
511
+ "complexType": {
512
+ "original": "string",
513
+ "resolved": "string",
514
+ "references": {}
515
+ },
516
+ "required": false,
517
+ "optional": false,
518
+ "docs": {
519
+ "tags": [{
520
+ "name": "default",
521
+ "text": "{fi: \"Etiketti\", en: \"Label\", sv: \"M\u00E4rka\"}"
522
+ }],
523
+ "text": "Label for the number input."
524
+ },
525
+ "getter": false,
526
+ "setter": false,
527
+ "attribute": "label",
528
+ "reflect": false,
529
+ "defaultValue": "getLocaleString(this.labelDefaults, this.language)"
530
+ },
531
+ "labelHidden": {
532
+ "type": "boolean",
533
+ "mutable": false,
534
+ "complexType": {
535
+ "original": "boolean",
536
+ "resolved": "boolean",
537
+ "references": {}
538
+ },
539
+ "required": false,
540
+ "optional": false,
541
+ "docs": {
542
+ "tags": [],
543
+ "text": "Visually hide the label, but still show it to screen readers."
544
+ },
545
+ "getter": false,
546
+ "setter": false,
547
+ "attribute": "label-hidden",
548
+ "reflect": false,
549
+ "defaultValue": "false"
550
+ },
551
+ "name": {
552
+ "type": "string",
553
+ "mutable": false,
554
+ "complexType": {
555
+ "original": "string",
556
+ "resolved": "string",
557
+ "references": {}
558
+ },
559
+ "required": false,
560
+ "optional": false,
561
+ "docs": {
562
+ "tags": [],
563
+ "text": "Name of the input."
564
+ },
565
+ "getter": false,
566
+ "setter": false,
567
+ "attribute": "name",
568
+ "reflect": false
569
+ },
570
+ "error": {
571
+ "type": "string",
572
+ "mutable": false,
573
+ "complexType": {
574
+ "original": "string",
575
+ "resolved": "string",
576
+ "references": {}
577
+ },
578
+ "required": false,
579
+ "optional": false,
580
+ "docs": {
581
+ "tags": [],
582
+ "text": "Display the input in error state along with an error message."
583
+ },
584
+ "getter": false,
585
+ "setter": false,
586
+ "attribute": "error",
587
+ "reflect": false,
588
+ "defaultValue": "\"\""
589
+ },
590
+ "tooltip": {
591
+ "type": "string",
592
+ "mutable": false,
593
+ "complexType": {
594
+ "original": "string",
595
+ "resolved": "string",
596
+ "references": {}
597
+ },
598
+ "required": false,
599
+ "optional": false,
600
+ "docs": {
601
+ "tags": [],
602
+ "text": "Tooltip to display next to the label of the input."
603
+ },
604
+ "getter": false,
605
+ "setter": false,
606
+ "attribute": "tooltip",
607
+ "reflect": false,
608
+ "defaultValue": "\"\""
609
+ },
610
+ "value": {
611
+ "type": "string",
612
+ "mutable": false,
613
+ "complexType": {
614
+ "original": "string",
615
+ "resolved": "string",
616
+ "references": {}
617
+ },
618
+ "required": false,
619
+ "optional": false,
620
+ "docs": {
621
+ "tags": [],
622
+ "text": "Value of the input."
623
+ },
624
+ "getter": true,
625
+ "setter": true,
626
+ "attribute": "value",
627
+ "reflect": false
628
+ },
629
+ "listFirst": {
630
+ "type": "string",
631
+ "mutable": false,
632
+ "complexType": {
633
+ "original": "string | string[]",
634
+ "resolved": "string | string[]",
635
+ "references": {}
636
+ },
637
+ "required": false,
638
+ "optional": false,
639
+ "docs": {
640
+ "tags": [{
641
+ "name": "default",
642
+ "text": "[\"FI\", \"SE\"]"
643
+ }],
644
+ "text": "Countries to list at the top of the popup-menu, given as an array or comma separated list of ISO 3166-2 codes."
645
+ },
646
+ "getter": false,
647
+ "setter": false,
648
+ "attribute": "list-first",
649
+ "reflect": false,
650
+ "defaultValue": "[\"FI\", \"SE\"]"
651
+ }
652
+ };
653
+ }
654
+ static get states() {
655
+ return {
656
+ "language": {},
657
+ "currentCountry": {}
658
+ };
659
+ }
660
+ static get events() {
661
+ return [{
662
+ "method": "duetChange",
663
+ "name": "duetChange",
664
+ "bubbles": false,
665
+ "cancelable": true,
666
+ "composed": true,
667
+ "docs": {
668
+ "tags": [],
669
+ "text": "Emitted when the value has changed."
670
+ },
671
+ "complexType": {
672
+ "original": "DuetPhoneInputEvent",
673
+ "resolved": "{ originalEvent?: Event; component: \"duet-phone-input\"; value: string; countryCode?: string; }",
674
+ "references": {
675
+ "DuetPhoneInputEvent": {
676
+ "location": "local",
677
+ "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
678
+ "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
679
+ }
680
+ }
681
+ }
682
+ }, {
683
+ "method": "duetInput",
684
+ "name": "duetInput",
685
+ "bubbles": false,
686
+ "cancelable": true,
687
+ "composed": true,
688
+ "docs": {
689
+ "tags": [],
690
+ "text": "Emitted when a keyboard input has ocurred."
691
+ },
692
+ "complexType": {
693
+ "original": "DuetPhoneInputEvent",
694
+ "resolved": "{ originalEvent?: Event; component: \"duet-phone-input\"; value: string; countryCode?: string; }",
695
+ "references": {
696
+ "DuetPhoneInputEvent": {
697
+ "location": "local",
698
+ "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
699
+ "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
700
+ }
701
+ }
702
+ }
703
+ }, {
704
+ "method": "duetBlur",
705
+ "name": "duetBlur",
706
+ "bubbles": true,
707
+ "cancelable": true,
708
+ "composed": true,
709
+ "docs": {
710
+ "tags": [],
711
+ "text": "Emitted when the input loses focus."
712
+ },
713
+ "complexType": {
714
+ "original": "DuetPhoneInputEvent",
715
+ "resolved": "{ originalEvent?: Event; component: \"duet-phone-input\"; value: string; countryCode?: string; }",
716
+ "references": {
717
+ "DuetPhoneInputEvent": {
718
+ "location": "local",
719
+ "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
720
+ "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
721
+ }
722
+ }
723
+ }
724
+ }, {
725
+ "method": "duetFocus",
726
+ "name": "duetFocus",
727
+ "bubbles": true,
728
+ "cancelable": true,
729
+ "composed": true,
730
+ "docs": {
731
+ "tags": [],
732
+ "text": "Emitted when the input has focus."
733
+ },
734
+ "complexType": {
735
+ "original": "DuetPhoneInputEvent",
736
+ "resolved": "{ originalEvent?: Event; component: \"duet-phone-input\"; value: string; countryCode?: string; }",
737
+ "references": {
738
+ "DuetPhoneInputEvent": {
739
+ "location": "local",
740
+ "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
741
+ "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
742
+ }
743
+ }
744
+ }
745
+ }];
746
+ }
747
+ static get methods() {
748
+ return {
749
+ "setFocus": {
750
+ "complexType": {
751
+ "signature": "(options?: FocusOptions) => Promise<void>",
752
+ "parameters": [{
753
+ "name": "options",
754
+ "type": "FocusOptions",
755
+ "docs": ""
756
+ }],
757
+ "references": {
758
+ "Promise": {
759
+ "location": "global",
760
+ "id": "global::Promise"
761
+ },
762
+ "FocusOptions": {
763
+ "location": "global",
764
+ "id": "global::FocusOptions"
765
+ }
766
+ },
767
+ "return": "Promise<void>"
768
+ },
769
+ "docs": {
770
+ "text": "Sets focus on the contained input element, use this instead of the native `input.focus()`.",
771
+ "tags": []
772
+ }
773
+ }
774
+ };
775
+ }
776
+ static get elementRef() { return "element"; }
777
+ }