@duetds/components 9.4.2 → 9.5.1

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 (717) hide show
  1. package/hydrate/index.js +2282 -200
  2. package/lib/cjs/{a11y-utils-821a2919.js → a11y-utils-1e25e6e3.js} +1 -1
  3. package/lib/cjs/{app-globals-b8946136.js → app-globals-b0eb39d1.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 -377
  17. package/lib/cjs/duet-choice_2.cjs.entry.js +3 -3
  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 +4 -4
  23. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  24. package/lib/cjs/duet-editable-table_3.cjs.entry.js +7 -7
  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 +1 -1
  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 +5 -5
  34. package/lib/cjs/duet-layout.cjs.entry.js +7 -7
  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 +4 -4
  42. package/lib/cjs/duet-modal.cjs.entry.js +10 -10
  43. package/lib/cjs/duet-multiselect.cjs.entry.js +8 -8
  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 +3 -3
  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 +2008 -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 +2 -2
  55. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-scrollable_3.cjs.entry.js +18 -13
  57. package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
  58. package/lib/cjs/duet-select.cjs.entry.js +2 -2
  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 +2 -2
  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 +3 -3
  74. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  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 +2 -2
  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-4059c3de.js → errorcodes.utils-dc219661.js} +1 -1
  88. package/lib/cjs/{focus-utils-b50cfb47.js → focus-utils-21fac156.js} +1 -1
  89. package/lib/cjs/{index-ae9c685d.js → index-e6a117fc.js} +11 -3
  90. package/lib/cjs/{language-utils-eb134c64.js → language-utils-c291fe9b.js} +1 -1
  91. package/lib/cjs/loader.cjs.js +3 -3
  92. package/lib/cjs/{slot-utils-66b2afa4.js → slot-utils-8d10ec0a.js} +1 -1
  93. package/lib/collection/collection-manifest.json +1 -0
  94. package/lib/collection/components/duet-badge/duet-badge.js +2 -2
  95. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  96. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  97. package/lib/collection/components/duet-button/duet-button.css +32 -18
  98. package/lib/collection/components/duet-button/duet-button.js +6 -6
  99. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  100. package/lib/collection/components/duet-chip/duet-chip.js +1 -1
  101. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  102. package/lib/collection/components/duet-collapsible/duet-collapsible.js +2 -2
  103. package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
  104. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  105. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  106. package/lib/collection/components/duet-empty-state/duet-empty-state.js +2 -2
  107. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  108. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  109. package/lib/collection/components/duet-footer/duet-footer.js +4 -4
  110. package/lib/collection/components/duet-heading/duet-heading.js +22 -2
  111. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  112. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  113. package/lib/collection/components/duet-input/duet-input.css +34 -3
  114. package/lib/collection/components/duet-input/duet-input.js +4 -4
  115. package/lib/collection/components/duet-layout/duet-layout.js +5 -5
  116. package/lib/collection/components/duet-link/duet-link.js +2 -2
  117. package/lib/collection/components/duet-list/duet-list.js +1 -1
  118. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  119. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  120. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +2 -2
  121. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  122. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  123. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  124. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  125. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  126. package/lib/collection/components/duet-modal/duet-modal.js +6 -6
  127. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  128. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  129. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  130. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +2 -2
  131. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  132. package/lib/collection/components/duet-page-heading/duet-page-heading.js +2 -2
  133. package/lib/collection/components/duet-pagination/duet-pagination.js +11 -11
  134. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  135. package/lib/collection/components/duet-phone-input/duet-phone-input.css +61 -0
  136. package/lib/collection/components/duet-phone-input/duet-phone-input.js +802 -0
  137. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +69 -9
  138. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  139. package/lib/collection/components/duet-promo-card/duet-promo-card.js +2 -2
  140. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  141. package/lib/collection/components/duet-scrollable/duet-scrollable.js +11 -6
  142. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  143. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  144. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  145. package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
  146. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  147. package/lib/collection/components/duet-slideout-link/duet-slideout-link.css +17 -2
  148. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +90 -2
  149. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  150. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  151. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  152. package/lib/collection/components/duet-spinner/duet-spinner.js +2 -2
  153. package/lib/collection/components/duet-status-icon/duet-status-icon.js +2 -2
  154. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  155. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  156. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  157. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  158. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  159. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  160. package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
  161. package/lib/collection/components/duet-table/duet-table.js +2 -2
  162. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  163. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  164. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  165. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  166. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  167. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +2 -2
  168. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +2 -2
  169. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  170. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  171. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  172. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  173. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  174. package/lib/collection/data/countries.js +1762 -0
  175. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  176. package/lib/dist-custom-elements/duet-alert.js +1 -1
  177. package/lib/dist-custom-elements/duet-badge.js +1 -1
  178. package/lib/dist-custom-elements/duet-banner.js +3 -3
  179. package/lib/dist-custom-elements/duet-breadcrumb.js +7 -7
  180. package/lib/dist-custom-elements/duet-breadcrumbs.js +3 -3
  181. package/lib/dist-custom-elements/duet-button.js +1 -1
  182. package/lib/dist-custom-elements/duet-callout.js +4 -4
  183. package/lib/dist-custom-elements/duet-caption.js +1 -1
  184. package/lib/dist-custom-elements/duet-card.js +3 -3
  185. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  186. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  187. package/lib/dist-custom-elements/duet-chip.js +1 -1
  188. package/lib/dist-custom-elements/duet-choice-group.js +8 -8
  189. package/lib/dist-custom-elements/duet-choice.js +4 -4
  190. package/lib/dist-custom-elements/duet-collapsible.js +5 -5
  191. package/lib/dist-custom-elements/duet-combobox.js +15 -15
  192. package/lib/dist-custom-elements/duet-contact-card.js +10 -10
  193. package/lib/dist-custom-elements/duet-cookie-consent.js +7 -7
  194. package/lib/dist-custom-elements/duet-date-picker.js +13 -13
  195. package/lib/dist-custom-elements/duet-divider.js +1 -1
  196. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  197. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  198. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  199. package/lib/dist-custom-elements/duet-file-chooser.js +3 -3
  200. package/lib/dist-custom-elements/duet-footer.js +11 -11
  201. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  202. package/lib/dist-custom-elements/duet-grid.js +1 -1
  203. package/lib/dist-custom-elements/duet-header.js +8 -8
  204. package/lib/dist-custom-elements/duet-heading.js +1 -1
  205. package/lib/dist-custom-elements/duet-hero.js +14 -14
  206. package/lib/dist-custom-elements/duet-icon.js +1 -1
  207. package/lib/dist-custom-elements/duet-input.js +1 -1
  208. package/lib/dist-custom-elements/duet-label.js +1 -1
  209. package/lib/dist-custom-elements/duet-layout.js +6 -6
  210. package/lib/dist-custom-elements/duet-link.js +1 -1
  211. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  212. package/lib/dist-custom-elements/duet-list.js +1 -1
  213. package/lib/dist-custom-elements/duet-logo.js +1 -1
  214. package/lib/dist-custom-elements/duet-menu-bar-button.js +4 -4
  215. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +4 -4
  216. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +6 -6
  217. package/lib/dist-custom-elements/duet-menu-bar-item.js +4 -4
  218. package/lib/dist-custom-elements/duet-menu-bar-link.js +4 -4
  219. package/lib/dist-custom-elements/duet-menu-bar.js +4 -4
  220. package/lib/dist-custom-elements/duet-modal.js +14 -14
  221. package/lib/dist-custom-elements/duet-multiselect.js +14 -14
  222. package/lib/dist-custom-elements/duet-nav.js +2 -2
  223. package/lib/dist-custom-elements/duet-notification-drawer.js +6 -6
  224. package/lib/dist-custom-elements/duet-notification.js +4 -4
  225. package/lib/dist-custom-elements/duet-number-input.js +11 -11
  226. package/lib/dist-custom-elements/duet-overlay.js +1 -1
  227. package/lib/dist-custom-elements/duet-page-heading.js +5 -5
  228. package/lib/dist-custom-elements/duet-pagination.js +24 -24
  229. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  230. package/lib/dist-custom-elements/duet-phone-input.d.ts +11 -0
  231. package/lib/dist-custom-elements/duet-phone-input.js +2135 -0
  232. package/lib/dist-custom-elements/duet-popup-menu-item.js +1 -1
  233. package/lib/dist-custom-elements/duet-popup-menu.js +1 -1
  234. package/lib/dist-custom-elements/duet-progress.js +1 -1
  235. package/lib/dist-custom-elements/duet-promo-card.js +5 -5
  236. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  237. package/lib/dist-custom-elements/duet-radio.js +1 -1
  238. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  239. package/lib/dist-custom-elements/duet-range-stepper.js +6 -6
  240. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  241. package/lib/dist-custom-elements/duet-section-layout.js +4 -4
  242. package/lib/dist-custom-elements/duet-select.js +1 -1
  243. package/lib/dist-custom-elements/duet-shaped-image.js +3 -3
  244. package/lib/dist-custom-elements/duet-show-more.js +1 -1
  245. package/lib/dist-custom-elements/duet-slideout-lang.js +3 -3
  246. package/lib/dist-custom-elements/duet-slideout-link.js +25 -6
  247. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +6 -6
  248. package/lib/dist-custom-elements/duet-slideout-panel.js +8 -8
  249. package/lib/dist-custom-elements/duet-slideout.js +7 -7
  250. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  251. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  252. package/lib/dist-custom-elements/duet-status-icon.js +4 -4
  253. package/lib/dist-custom-elements/duet-step.js +4 -4
  254. package/lib/dist-custom-elements/duet-stepper.js +3 -3
  255. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +4 -4
  256. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +6 -6
  257. package/lib/dist-custom-elements/duet-submenu-bar-item.js +3 -3
  258. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
  259. package/lib/dist-custom-elements/duet-submenu-bar.js +8 -8
  260. package/lib/dist-custom-elements/duet-tab-group.js +11 -11
  261. package/lib/dist-custom-elements/duet-tab.js +1 -1
  262. package/lib/dist-custom-elements/duet-table.js +1 -1
  263. package/lib/dist-custom-elements/duet-textarea.js +10 -10
  264. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  265. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +4 -4
  266. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +6 -6
  267. package/lib/dist-custom-elements/duet-toolbar-item.js +5 -5
  268. package/lib/dist-custom-elements/duet-toolbar-link.js +4 -4
  269. package/lib/dist-custom-elements/duet-toolbar.js +3 -3
  270. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  271. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  272. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  273. package/lib/dist-custom-elements/duet-tray.js +5 -5
  274. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  275. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  276. package/lib/dist-custom-elements/duet-upload.js +21 -21
  277. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  278. package/lib/dist-custom-elements/index.js +1 -1
  279. package/lib/dist-custom-elements/{p-f904de26.js → p-0a5495b6.js} +3 -3
  280. package/lib/dist-custom-elements/{p-12afa6a9.js → p-1219c53a.js} +4 -4
  281. package/lib/dist-custom-elements/{p-64e2d3ca.js → p-1237d11e.js} +8 -8
  282. package/lib/dist-custom-elements/{p-682759c1.js → p-1a132b1a.js} +1 -1
  283. package/lib/dist-custom-elements/{p-cf7ebeca.js → p-1f0fcce4.js} +16 -11
  284. package/lib/dist-custom-elements/{p-e7837082.js → p-2b1e6b5d.js} +3 -3
  285. package/lib/dist-custom-elements/{p-5f69b1a3.js → p-2c7e8fea.js} +6 -6
  286. package/lib/dist-custom-elements/{p-fc719f13.js → p-35112a3e.js} +5 -5
  287. package/lib/dist-custom-elements/{p-7bd61001.js → p-40b6cfdc.js} +10 -10
  288. package/lib/dist-custom-elements/{p-db63d729.js → p-41f565f8.js} +2 -2
  289. package/lib/dist-custom-elements/{p-e40f6f72.js → p-49e93494.js} +4 -4
  290. package/lib/dist-custom-elements/{p-ea1b9fd2.js → p-4a747b86.js} +1 -1
  291. package/lib/dist-custom-elements/{p-20670f23.js → p-4ac79666.js} +6 -4
  292. package/lib/dist-custom-elements/{p-3cebc38f.js → p-4bbce223.js} +1 -1
  293. package/lib/dist-custom-elements/{p-6c512deb.js → p-57030e72.js} +3 -3
  294. package/lib/dist-custom-elements/{p-8bb33e70.js → p-5814136c.js} +3 -3
  295. package/lib/dist-custom-elements/{p-2bba9071.js → p-5d240efc.js} +12 -12
  296. package/lib/dist-custom-elements/{p-996b724b.js → p-629b86f6.js} +4 -4
  297. package/lib/dist-custom-elements/{p-a8105585.js → p-6f0a0708.js} +1 -1
  298. package/lib/dist-custom-elements/{p-81287261.js → p-75e0f2c0.js} +264 -1
  299. package/lib/dist-custom-elements/{p-8c206875.js → p-80b6a631.js} +3 -3
  300. package/lib/dist-custom-elements/{p-9d6b2f72.js → p-80d7e109.js} +3 -3
  301. package/lib/dist-custom-elements/{p-96198aec.js → p-87b5d28b.js} +5 -5
  302. package/lib/dist-custom-elements/{p-fa1cdac3.js → p-8df0e44b.js} +3 -3
  303. package/lib/dist-custom-elements/{p-0ead9c70.js → p-8eb7fe43.js} +2 -2
  304. package/lib/dist-custom-elements/{p-84a16ba6.js → p-9baca56c.js} +1 -1
  305. package/lib/dist-custom-elements/{p-792db7b0.js → p-9e44038b.js} +1 -1
  306. package/lib/dist-custom-elements/{p-3e337443.js → p-b6c1319b.js} +2 -2
  307. package/lib/dist-custom-elements/{p-43578452.js → p-d34a377a.js} +119 -12
  308. package/lib/dist-custom-elements/{p-32dde064.js → p-d40633ba.js} +3 -3
  309. package/lib/dist-custom-elements/{p-919a3f56.js → p-d6afe712.js} +7 -7
  310. package/lib/dist-custom-elements/{p-95bf575a.js → p-da3f596f.js} +2 -2
  311. package/lib/dist-custom-elements/{p-2218a02d.js → p-de88ebc9.js} +2 -2
  312. package/lib/dist-custom-elements/{p-eb8c49d0.js → p-e639defe.js} +4 -4
  313. package/lib/dist-custom-elements/{p-57b14f14.js → p-ea83aa97.js} +4 -4
  314. package/lib/dist-custom-elements/{p-b1d9f172.js → p-eb67694d.js} +2 -2
  315. package/lib/dist-custom-elements/{p-55baf5dc.js → p-eee324c4.js} +3 -3
  316. package/lib/dist-custom-elements/{p-1783819b.js → p-f58c99dc.js} +12 -12
  317. package/lib/dist-custom-elements/{p-9613c7ae.js → p-ffd0da9c.js} +2 -2
  318. package/lib/duet/duet.esm.js +1 -1
  319. package/lib/duet/duet.js +1 -1
  320. package/lib/duet/{p-2590f7b0.system.entry.js → p-004f4889.system.entry.js} +1 -1
  321. package/lib/duet/{p-7e67797a.system.entry.js → p-005170b7.system.entry.js} +1 -1
  322. package/lib/duet/{p-53c14a6d.system.entry.js → p-00a09206.system.entry.js} +1 -1
  323. package/lib/duet/{p-d8a7a6eb.entry.js → p-02464eab.entry.js} +1 -1
  324. package/lib/duet/{p-c06b8830.system.entry.js → p-025b2278.system.entry.js} +1 -1
  325. package/lib/duet/{p-5817c9a6.entry.js → p-078b7a5e.entry.js} +1 -1
  326. package/lib/duet/p-082839ec.entry.js +4 -0
  327. package/lib/duet/{p-05bd5fc1.system.entry.js → p-08d304b6.system.entry.js} +1 -1
  328. package/lib/duet/{p-67b77e1a.system.entry.js → p-09b58b33.system.entry.js} +1 -1
  329. package/lib/duet/{p-89a86ebc.system.entry.js → p-09e94e65.system.entry.js} +1 -1
  330. package/lib/duet/{p-edda0b76.system.entry.js → p-0a3c17d4.system.entry.js} +1 -1
  331. package/lib/duet/{p-6791795c.entry.js → p-0b690c76.entry.js} +1 -1
  332. package/lib/duet/{p-5c6fa752.entry.js → p-0c24394e.entry.js} +1 -1
  333. package/lib/duet/p-0c618613.entry.js +4 -0
  334. package/lib/duet/{p-59cbcc2e.system.js → p-0d75b285.system.js} +1 -1
  335. package/lib/duet/p-0e5ef946.js +4 -0
  336. package/lib/duet/{p-f1f562bb.entry.js → p-0ecd1f95.entry.js} +1 -1
  337. package/lib/duet/p-12e049bd.system.js +4 -0
  338. package/lib/duet/p-14618c69.entry.js +4 -0
  339. package/lib/duet/{p-d451ec53.entry.js → p-147d6e48.entry.js} +1 -1
  340. package/lib/duet/p-152229b6.entry.js +4 -0
  341. package/lib/duet/{p-e51fe789.entry.js → p-159d4c32.entry.js} +1 -1
  342. package/lib/duet/{p-bca39a19.system.entry.js → p-19516bf2.system.entry.js} +1 -1
  343. package/lib/duet/{p-9b6794b3.entry.js → p-1a67a738.entry.js} +1 -1
  344. package/lib/duet/p-1aaa8644.system.entry.js +4 -0
  345. package/lib/duet/{p-bca6125e.entry.js → p-1dd3ef28.entry.js} +1 -1
  346. package/lib/duet/{p-e8334ed1.entry.js → p-1e540c4c.entry.js} +1 -1
  347. package/lib/duet/{p-f6f21b70.entry.js → p-1ea7e7a7.entry.js} +1 -1
  348. package/lib/duet/{p-1e4e0a4d.entry.js → p-20577153.entry.js} +1 -1
  349. package/lib/duet/{p-b5c7f8cd.entry.js → p-22884344.entry.js} +1 -1
  350. package/lib/duet/{p-59339a3e.system.entry.js → p-230d0772.system.entry.js} +1 -1
  351. package/lib/duet/{p-fa03d3b3.system.entry.js → p-23dafa29.system.entry.js} +1 -1
  352. package/lib/duet/{p-42ed9cf5.entry.js → p-248d1fc1.entry.js} +1 -1
  353. package/lib/duet/{p-4aa4bece.system.entry.js → p-24aece3a.system.entry.js} +1 -1
  354. package/lib/duet/{p-ee3b1868.system.entry.js → p-24fc6b8a.system.entry.js} +1 -1
  355. package/lib/duet/{p-709882f3.system.entry.js → p-25aca626.system.entry.js} +1 -1
  356. package/lib/duet/{p-472dab44.system.entry.js → p-263ba5bc.system.entry.js} +1 -1
  357. package/lib/duet/p-276503fe.system.entry.js +4 -0
  358. package/lib/duet/p-27b82d35.entry.js +4 -0
  359. package/lib/duet/{p-4ec25d4a.system.js → p-27f2bc53.system.js} +1 -1
  360. package/lib/duet/{p-653c75c3.system.entry.js → p-28ce8dcb.system.entry.js} +1 -1
  361. package/lib/duet/p-2922d3fe.entry.js +4 -0
  362. package/lib/duet/{p-c05be5e1.entry.js → p-29641354.entry.js} +1 -1
  363. package/lib/duet/{p-7df5aaf6.system.entry.js → p-333be6f6.system.entry.js} +2 -2
  364. package/lib/duet/{p-3a495087.entry.js → p-33f45e04.entry.js} +1 -1
  365. package/lib/duet/{p-8c8f2565.entry.js → p-34524a03.entry.js} +1 -1
  366. package/lib/duet/{p-73f5d7d3.system.entry.js → p-34f1a0c8.system.entry.js} +2 -2
  367. package/lib/duet/{p-b99e40e7.entry.js → p-383d480f.entry.js} +1 -1
  368. package/lib/duet/{p-f89203db.entry.js → p-39293af6.entry.js} +1 -1
  369. package/lib/duet/{p-05673dd4.system.entry.js → p-398ffdcd.system.entry.js} +1 -1
  370. package/lib/duet/{p-e64cdc3b.system.entry.js → p-39934ea9.system.entry.js} +1 -1
  371. package/lib/duet/{p-3a0a60fb.system.entry.js → p-3ad59868.system.entry.js} +1 -1
  372. package/lib/duet/{p-d72393c6.entry.js → p-3b1d8855.entry.js} +1 -1
  373. package/lib/duet/{p-7abde534.system.js → p-3b451879.system.js} +1 -1
  374. package/lib/duet/{p-475672d1.entry.js → p-3c520d06.entry.js} +1 -1
  375. package/lib/duet/{p-a6f485ce.system.entry.js → p-404880c0.system.entry.js} +1 -1
  376. package/lib/duet/{p-b2a5f5d0.entry.js → p-40525c72.entry.js} +1 -1
  377. package/lib/duet/{p-3b88a791.system.entry.js → p-416a6b00.system.entry.js} +1 -1
  378. package/lib/duet/p-427c3017.system.entry.js +4 -0
  379. package/lib/duet/{p-5b2030f6.entry.js → p-4513706a.entry.js} +1 -1
  380. package/lib/duet/{p-b77c2cc1.entry.js → p-457121d7.entry.js} +1 -1
  381. package/lib/duet/{p-df67d91b.system.entry.js → p-457d4e7b.system.entry.js} +1 -1
  382. package/lib/duet/{p-b2fbe44f.entry.js → p-4b998fe4.entry.js} +1 -1
  383. package/lib/duet/p-4d569314.entry.js +4 -0
  384. package/lib/duet/{p-49cddce5.system.entry.js → p-4d88d4d8.system.entry.js} +1 -1
  385. package/lib/duet/{p-7ae20674.system.entry.js → p-4ede4c9b.system.entry.js} +1 -1
  386. package/lib/duet/{p-3ee0e7a2.system.entry.js → p-50d381f8.system.entry.js} +1 -1
  387. package/lib/duet/p-531431a4.entry.js +4 -0
  388. package/lib/duet/{p-d3ba2b21.entry.js → p-54d22e9f.entry.js} +1 -1
  389. package/lib/duet/{p-5e98b366.system.entry.js → p-559373ce.system.entry.js} +1 -1
  390. package/lib/duet/{p-968c2680.entry.js → p-56172ea4.entry.js} +1 -1
  391. package/lib/duet/p-56d25af6.entry.js +4 -0
  392. package/lib/duet/{p-849a093c.system.entry.js → p-57ed1115.system.entry.js} +1 -1
  393. package/lib/duet/{p-e1d6e640.system.entry.js → p-5b19279e.system.entry.js} +1 -1
  394. package/lib/duet/{p-0620d479.system.entry.js → p-5cb308e3.system.entry.js} +1 -1
  395. package/lib/duet/{p-1dbbe6df.system.entry.js → p-5e37ae74.system.entry.js} +1 -1
  396. package/lib/duet/{p-f8cda4cb.entry.js → p-5e587df2.entry.js} +1 -1
  397. package/lib/duet/{p-09fea5ea.system.entry.js → p-608d87af.system.entry.js} +1 -1
  398. package/lib/duet/{p-c1030c78.entry.js → p-61df374f.entry.js} +1 -1
  399. package/lib/duet/{p-2f333676.system.entry.js → p-62467dcd.system.entry.js} +2 -2
  400. package/lib/duet/p-635329d5.js +4 -0
  401. package/lib/duet/{p-e9d69dba.entry.js → p-63a85911.entry.js} +1 -1
  402. package/lib/duet/p-63a866fd.entry.js +4 -0
  403. package/lib/duet/{p-87cc03bb.system.entry.js → p-63c713ac.system.entry.js} +1 -1
  404. package/lib/duet/{p-4261665d.system.entry.js → p-68f1ac3d.system.entry.js} +1 -1
  405. package/lib/duet/{p-05fcbe8e.system.entry.js → p-6989245e.system.entry.js} +1 -1
  406. package/lib/duet/{p-c71a58da.js → p-6be21d53.js} +1 -1
  407. package/lib/duet/{p-3677dc32.entry.js → p-6cdf7d12.entry.js} +1 -1
  408. package/lib/duet/{p-2b8d5ebf.system.entry.js → p-6f585b8e.system.entry.js} +1 -1
  409. package/lib/duet/{p-7b39ff48.entry.js → p-701148c7.entry.js} +1 -1
  410. package/lib/duet/{p-1f521358.system.entry.js → p-70565a72.system.entry.js} +1 -1
  411. package/lib/duet/{p-457a2d83.system.entry.js → p-73d6f3f1.system.entry.js} +1 -1
  412. package/lib/duet/{p-f2a35fdd.entry.js → p-7404823f.entry.js} +1 -1
  413. package/lib/duet/{p-9ea49d85.system.entry.js → p-79dfa1cd.system.entry.js} +1 -1
  414. package/lib/duet/{p-042e2fe8.entry.js → p-7a55ccd4.entry.js} +1 -1
  415. package/lib/duet/{p-9c4c9249.system.entry.js → p-7b464a76.system.entry.js} +1 -1
  416. package/lib/duet/{p-ad2f0283.system.entry.js → p-7c217bba.system.entry.js} +1 -1
  417. package/lib/duet/{p-d46c21c3.system.entry.js → p-7e74329c.system.entry.js} +2 -2
  418. package/lib/duet/{p-ddc04775.entry.js → p-7f8cd5ca.entry.js} +1 -1
  419. package/lib/duet/p-7faa23b3.entry.js +4 -0
  420. package/lib/duet/{p-72b3dc7c.entry.js → p-7ff5d518.entry.js} +1 -1
  421. package/lib/duet/{p-99110a93.entry.js → p-81779e0c.entry.js} +1 -1
  422. package/lib/duet/{p-d2a5a09f.js → p-82fc6160.js} +1 -1
  423. package/lib/duet/{p-e39b4df9.system.entry.js → p-83827bc3.system.entry.js} +1 -1
  424. package/lib/duet/{p-758432df.entry.js → p-85f02853.entry.js} +1 -1
  425. package/lib/duet/p-891a644e.system.js +4 -0
  426. package/lib/duet/{p-5e988172.system.entry.js → p-8a4d54c7.system.entry.js} +1 -1
  427. package/lib/duet/{p-9a1ede4b.system.entry.js → p-8bcec5d9.system.entry.js} +1 -1
  428. package/lib/duet/{p-f2a5e96f.entry.js → p-8ea137df.entry.js} +1 -1
  429. package/lib/duet/{p-829f18ac.entry.js → p-8fe213ce.entry.js} +1 -1
  430. package/lib/duet/{p-242c72b4.entry.js → p-9342741d.entry.js} +1 -1
  431. package/lib/duet/{p-3b03ad48.js → p-93c1b76f.js} +1 -1
  432. package/lib/duet/p-958736f6.entry.js +4 -0
  433. package/lib/duet/{p-3945d323.system.entry.js → p-960955b8.system.entry.js} +1 -1
  434. package/lib/duet/{p-23c363ea.system.entry.js → p-981c3a70.system.entry.js} +1 -1
  435. package/lib/duet/{p-ee268c5a.entry.js → p-987c6807.entry.js} +1 -1
  436. package/lib/duet/{p-75e262dd.system.entry.js → p-9c346e3e.system.entry.js} +1 -1
  437. package/lib/duet/{p-fae62327.system.entry.js → p-9f2d018f.system.entry.js} +1 -1
  438. package/lib/duet/{p-3a5017af.entry.js → p-9f4deff5.entry.js} +1 -1
  439. package/lib/duet/{p-373e1b99.entry.js → p-a56e7b3e.entry.js} +1 -1
  440. package/lib/duet/{p-b6e4d58e.system.entry.js → p-a596cd3a.system.entry.js} +1 -1
  441. package/lib/duet/{p-7b249d64.system.entry.js → p-a79b216a.system.entry.js} +1 -1
  442. package/lib/duet/{p-31fcb811.entry.js → p-a8ba38dd.entry.js} +1 -1
  443. package/lib/duet/{p-75e12142.js → p-ac43ccbd.js} +1 -1
  444. package/lib/duet/p-adf55373.system.entry.js +4 -0
  445. package/lib/duet/{p-6e1b9c32.system.entry.js → p-af2289ca.system.entry.js} +2 -2
  446. package/lib/duet/{p-fd38377e.system.entry.js → p-af4ddc28.system.entry.js} +1 -1
  447. package/lib/duet/{p-b2f48572.entry.js → p-b1cc50bc.entry.js} +1 -1
  448. package/lib/duet/{p-d1274fac.entry.js → p-b25b4fa7.entry.js} +1 -1
  449. package/lib/duet/{p-dc807a5c.system.js → p-b3cb308a.system.js} +1 -1
  450. package/lib/duet/{p-b7393278.entry.js → p-bb93284d.entry.js} +1 -1
  451. package/lib/duet/{p-e9d570bf.entry.js → p-bbff29df.entry.js} +1 -1
  452. package/lib/duet/{p-3f8677ac.system.js → p-bca7337f.system.js} +1 -1
  453. package/lib/duet/{p-f5e1a0cc.entry.js → p-be1b4801.entry.js} +1 -1
  454. package/lib/duet/{p-2bb74e72.entry.js → p-c002302d.entry.js} +1 -1
  455. package/lib/duet/{p-d5a1fea0.entry.js → p-c18cf73d.entry.js} +1 -1
  456. package/lib/duet/{p-ef16cf2f.system.entry.js → p-c1ad9533.system.entry.js} +1 -1
  457. package/lib/duet/{p-2a4b6723.system.entry.js → p-c25ffdd4.system.entry.js} +1 -1
  458. package/lib/duet/p-c5850fb4.entry.js +4 -0
  459. package/lib/duet/{p-6460ecdd.entry.js → p-c67bc178.entry.js} +1 -1
  460. package/lib/duet/p-c77f6d5d.entry.js +4 -0
  461. package/lib/duet/{p-f3e0a76f.system.entry.js → p-c82bf6d3.system.entry.js} +1 -1
  462. package/lib/duet/{p-2822c55e.system.entry.js → p-c8ebba85.system.entry.js} +1 -1
  463. package/lib/duet/{p-c6564753.system.entry.js → p-cc425ef7.system.entry.js} +1 -1
  464. package/lib/duet/{p-8d66d9ff.entry.js → p-ccc9d700.entry.js} +1 -1
  465. package/lib/duet/{p-fe63ab87.system.entry.js → p-ce0aeaf2.system.entry.js} +2 -2
  466. package/lib/duet/p-d02896d8.js +4 -0
  467. package/lib/duet/p-d070e142.system.entry.js +4 -0
  468. package/lib/duet/{p-6b4ca314.entry.js → p-d0e04b56.entry.js} +1 -1
  469. package/lib/duet/{p-a488b792.system.entry.js → p-d3d379cf.system.entry.js} +1 -1
  470. package/lib/duet/{p-714399a1.system.entry.js → p-d4d5d006.system.entry.js} +1 -1
  471. package/lib/duet/{p-07be03a5.system.js → p-d526e143.system.js} +1 -1
  472. package/lib/duet/{p-d1219b00.system.entry.js → p-d63f49eb.system.entry.js} +1 -1
  473. package/lib/duet/p-d67da533.system.entry.js +4 -0
  474. package/lib/duet/{p-e8eed1e6.entry.js → p-d754a42c.entry.js} +1 -1
  475. package/lib/duet/{p-58f49211.system.entry.js → p-dcb533d6.system.entry.js} +1 -1
  476. package/lib/duet/{p-1a045554.entry.js → p-dd9d2671.entry.js} +1 -1
  477. package/lib/duet/{p-9f5a2024.entry.js → p-df0fb865.entry.js} +1 -1
  478. package/lib/duet/{p-ab2b67ab.entry.js → p-df7ef805.entry.js} +1 -1
  479. package/lib/duet/{p-3215139d.system.entry.js → p-e0b8ed9a.system.entry.js} +1 -1
  480. package/lib/duet/{p-93c4d3c3.system.entry.js → p-e1d536a6.system.entry.js} +1 -1
  481. package/lib/duet/{p-a220b676.entry.js → p-e1ec6cd6.entry.js} +1 -1
  482. package/lib/duet/{p-53a07476.system.entry.js → p-e2cb818b.system.entry.js} +1 -1
  483. package/lib/duet/{p-2c565a29.entry.js → p-e2e8a654.entry.js} +1 -1
  484. package/lib/duet/{p-243553ce.entry.js → p-e3454275.entry.js} +1 -1
  485. package/lib/duet/{p-37631fb0.system.entry.js → p-e3834dc3.system.entry.js} +1 -1
  486. package/lib/duet/{p-dfe8ce73.system.entry.js → p-e4f41663.system.entry.js} +1 -1
  487. package/lib/duet/{p-f409cd1f.system.entry.js → p-e6563981.system.entry.js} +2 -2
  488. package/lib/duet/{p-3e9b5b6f.entry.js → p-e7d36069.entry.js} +1 -1
  489. package/lib/duet/{p-5b8b0f3b.entry.js → p-f2a9ebce.entry.js} +1 -1
  490. package/lib/duet/p-f33aace0.entry.js +4 -0
  491. package/lib/duet/p-f6ecfb29.system.entry.js +4 -0
  492. package/lib/duet/p-f75cbdb7.system.entry.js +4 -0
  493. package/lib/duet/{p-27aab6b1.entry.js → p-f9189172.entry.js} +1 -1
  494. package/lib/duet/{p-772f84d7.system.entry.js → p-f989f433.system.entry.js} +1 -1
  495. package/lib/duet/{p-52d6efa6.system.entry.js → p-fb841ad4.system.entry.js} +1 -1
  496. package/lib/duet/{p-03d1fe77.entry.js → p-fbc20d2d.entry.js} +1 -1
  497. package/lib/duet/{p-f12da4d6.system.entry.js → p-ff948c06.system.entry.js} +1 -1
  498. package/lib/duet/{p-e5ef5e89.entry.js → p-ffb66495.entry.js} +1 -1
  499. package/lib/esm/{a11y-utils-47ea468e.js → a11y-utils-42550857.js} +1 -1
  500. package/lib/esm/{app-globals-52a8e9e5.js → app-globals-e40eeed5.js} +1 -1
  501. package/lib/esm/duet-action-button.entry.js +2 -2
  502. package/lib/esm/duet-alert.entry.js +3 -3
  503. package/lib/esm/duet-badge.entry.js +3 -3
  504. package/lib/esm/duet-banner.entry.js +2 -2
  505. package/lib/esm/duet-breadcrumb.entry.js +6 -6
  506. package/lib/esm/duet-breadcrumbs.entry.js +4 -4
  507. package/lib/esm/duet-button_2.entry.js +10 -10
  508. package/lib/esm/duet-callout.entry.js +4 -4
  509. package/lib/esm/duet-caption_4.entry.js +11 -10
  510. package/lib/esm/duet-card.entry.js +2 -2
  511. package/lib/esm/duet-checkbox.entry.js +1 -1
  512. package/lib/esm/duet-checkmark.entry.js +3 -3
  513. package/lib/esm/{duet-chip_3.entry.js → duet-chip.entry.js} +5 -377
  514. package/lib/esm/duet-choice_2.entry.js +3 -3
  515. package/lib/esm/duet-collapsible.entry.js +4 -4
  516. package/lib/esm/duet-combobox.entry.js +3 -3
  517. package/lib/esm/duet-contact-card.entry.js +4 -4
  518. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  519. package/lib/esm/duet-date-picker.entry.js +4 -4
  520. package/lib/esm/duet-divider_2.entry.js +3 -3
  521. package/lib/esm/duet-editable-table_3.entry.js +7 -7
  522. package/lib/esm/duet-empty-state.entry.js +3 -3
  523. package/lib/esm/duet-fieldset.entry.js +5 -5
  524. package/lib/esm/duet-file-chooser.entry.js +2 -2
  525. package/lib/esm/duet-footer.entry.js +7 -7
  526. package/lib/esm/duet-grid_2.entry.js +1 -1
  527. package/lib/esm/duet-header_2.entry.js +3 -3
  528. package/lib/esm/duet-hero.entry.js +8 -8
  529. package/lib/esm/duet-icon.entry.js +4 -4
  530. package/lib/esm/duet-input_2.entry.js +5 -5
  531. package/lib/esm/duet-layout.entry.js +7 -7
  532. package/lib/esm/duet-list_2.entry.js +4 -4
  533. package/lib/esm/duet-menu-bar-button.entry.js +3 -3
  534. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +3 -3
  535. package/lib/esm/duet-menu-bar-dropdown.entry.js +5 -5
  536. package/lib/esm/duet-menu-bar-item.entry.js +6 -6
  537. package/lib/esm/duet-menu-bar-link.entry.js +3 -3
  538. package/lib/esm/duet-menu-bar.entry.js +4 -4
  539. package/lib/esm/duet-modal.entry.js +10 -10
  540. package/lib/esm/duet-multiselect.entry.js +8 -8
  541. package/lib/esm/duet-nav.entry.js +2 -2
  542. package/lib/esm/duet-notification_2.entry.js +6 -6
  543. package/lib/esm/duet-number-input.entry.js +3 -3
  544. package/lib/esm/duet-overlay.entry.js +2 -2
  545. package/lib/esm/duet-page-heading.entry.js +3 -3
  546. package/lib/esm/duet-pagination_2.entry.js +15 -15
  547. package/lib/esm/duet-phone-input.entry.js +2004 -0
  548. package/lib/esm/duet-popup-menu_2.entry.js +421 -0
  549. package/lib/esm/duet-progress.entry.js +2 -2
  550. package/lib/esm/duet-promo-card.entry.js +4 -4
  551. package/lib/esm/duet-radio_2.entry.js +2 -2
  552. package/lib/esm/duet-range-slider.entry.js +1 -1
  553. package/lib/esm/duet-scrollable_3.entry.js +18 -13
  554. package/lib/esm/duet-section-layout.entry.js +4 -4
  555. package/lib/esm/duet-select.entry.js +2 -2
  556. package/lib/esm/duet-shaped-image.entry.js +3 -3
  557. package/lib/esm/duet-show-more.entry.js +4 -4
  558. package/lib/esm/duet-slideout-lang.entry.js +3 -3
  559. package/lib/esm/duet-slideout-link.entry.js +22 -4
  560. package/lib/esm/duet-slideout-panel-dropdown.entry.js +5 -5
  561. package/lib/esm/duet-slideout-panel.entry.js +10 -10
  562. package/lib/esm/duet-slideout.entry.js +8 -8
  563. package/lib/esm/duet-status-icon.entry.js +3 -3
  564. package/lib/esm/duet-step_2.entry.js +2 -2
  565. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +3 -3
  566. package/lib/esm/duet-submenu-bar-dropdown.entry.js +5 -5
  567. package/lib/esm/duet-submenu-bar-item.entry.js +5 -5
  568. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  569. package/lib/esm/duet-submenu-bar.entry.js +6 -6
  570. package/lib/esm/duet-textarea.entry.js +3 -3
  571. package/lib/esm/duet-toggle.entry.js +1 -1
  572. package/lib/esm/duet-toolbar-dropdown-link.entry.js +3 -3
  573. package/lib/esm/duet-toolbar-dropdown.entry.js +5 -5
  574. package/lib/esm/duet-toolbar-item.entry.js +7 -7
  575. package/lib/esm/duet-toolbar-link.entry.js +3 -3
  576. package/lib/esm/duet-toolbar.entry.js +3 -3
  577. package/lib/esm/duet-tooltip-button_2.entry.js +6 -6
  578. package/lib/esm/duet-tooltip.entry.js +2 -2
  579. package/lib/esm/duet-tray.entry.js +4 -4
  580. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  581. package/lib/esm/duet-upload-item.entry.js +5 -5
  582. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  583. package/lib/esm/duet.js +4 -4
  584. package/lib/esm/{errorcodes.utils-e55da25d.js → errorcodes.utils-871f54ed.js} +1 -1
  585. package/lib/esm/{focus-utils-b09f6029.js → focus-utils-3e4436c1.js} +1 -1
  586. package/lib/esm/{index-ed83a687.js → index-caf8af66.js} +11 -3
  587. package/lib/esm/{language-utils-d2c8afdc.js → language-utils-37fa60e1.js} +1 -1
  588. package/lib/esm/loader.js +4 -4
  589. package/lib/esm/{slot-utils-035ffb1f.js → slot-utils-44165de2.js} +1 -1
  590. package/lib/esm-es5/{a11y-utils-47ea468e.js → a11y-utils-42550857.js} +1 -1
  591. package/lib/esm-es5/{app-globals-52a8e9e5.js → app-globals-e40eeed5.js} +1 -1
  592. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  593. package/lib/esm-es5/duet-alert.entry.js +1 -1
  594. package/lib/esm-es5/duet-badge.entry.js +1 -1
  595. package/lib/esm-es5/duet-banner.entry.js +1 -1
  596. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  597. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  598. package/lib/esm-es5/duet-button_2.entry.js +2 -2
  599. package/lib/esm-es5/duet-callout.entry.js +1 -1
  600. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  601. package/lib/esm-es5/duet-card.entry.js +1 -1
  602. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  603. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  604. package/lib/esm-es5/duet-chip.entry.js +4 -0
  605. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  606. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  607. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  608. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  609. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  610. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  611. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  612. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  613. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  614. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  615. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  616. package/lib/esm-es5/duet-footer.entry.js +1 -1
  617. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  618. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  619. package/lib/esm-es5/duet-hero.entry.js +2 -2
  620. package/lib/esm-es5/duet-icon.entry.js +1 -1
  621. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  622. package/lib/esm-es5/duet-layout.entry.js +1 -1
  623. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  624. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  625. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  626. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  627. package/lib/esm-es5/duet-menu-bar-item.entry.js +1 -1
  628. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  629. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  630. package/lib/esm-es5/duet-modal.entry.js +1 -1
  631. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  632. package/lib/esm-es5/duet-nav.entry.js +1 -1
  633. package/lib/esm-es5/duet-notification_2.entry.js +2 -2
  634. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  635. package/lib/esm-es5/duet-overlay.entry.js +1 -1
  636. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  637. package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
  638. package/lib/esm-es5/duet-phone-input.entry.js +4 -0
  639. package/lib/esm-es5/duet-popup-menu_2.entry.js +4 -0
  640. package/lib/esm-es5/duet-progress.entry.js +1 -1
  641. package/lib/esm-es5/duet-promo-card.entry.js +2 -2
  642. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  643. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  644. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  645. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  646. package/lib/esm-es5/duet-select.entry.js +1 -1
  647. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  648. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  649. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  650. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  651. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  652. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  653. package/lib/esm-es5/duet-slideout.entry.js +2 -2
  654. package/lib/esm-es5/duet-status-icon.entry.js +1 -1
  655. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  656. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  657. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  658. package/lib/esm-es5/duet-submenu-bar-item.entry.js +1 -1
  659. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  660. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  661. package/lib/esm-es5/duet-textarea.entry.js +2 -2
  662. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  663. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  664. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  665. package/lib/esm-es5/duet-toolbar-item.entry.js +2 -2
  666. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  667. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  668. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  669. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  670. package/lib/esm-es5/duet-tray.entry.js +1 -1
  671. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  672. package/lib/esm-es5/duet-upload-item.entry.js +2 -2
  673. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  674. package/lib/esm-es5/duet.js +1 -1
  675. package/lib/esm-es5/{errorcodes.utils-e55da25d.js → errorcodes.utils-871f54ed.js} +1 -1
  676. package/lib/esm-es5/focus-utils-3e4436c1.js +4 -0
  677. package/lib/esm-es5/index-caf8af66.js +4 -0
  678. package/lib/esm-es5/{language-utils-d2c8afdc.js → language-utils-37fa60e1.js} +1 -1
  679. package/lib/esm-es5/loader.js +1 -1
  680. package/lib/esm-es5/{slot-utils-035ffb1f.js → slot-utils-44165de2.js} +1 -1
  681. package/lib/types/components/duet-button/duet-button.d.ts +1 -1
  682. package/lib/types/components/duet-heading/duet-heading.d.ts +6 -0
  683. package/lib/types/components/duet-input/duet-input.d.ts +4 -3
  684. package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +161 -0
  685. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +11 -1
  686. package/lib/types/components/duet-slideout-link/duet-slideout-link.d.ts +17 -0
  687. package/lib/types/components.d.ts +267 -2
  688. package/lib/types/data/countries.d.ts +22 -0
  689. package/package.json +4 -4
  690. package/lib/dist-custom-elements/p-b48eb919.js +0 -268
  691. package/lib/duet/p-05744ea4.entry.js +0 -4
  692. package/lib/duet/p-0dee442d.system.entry.js +0 -4
  693. package/lib/duet/p-0f354fb2.system.entry.js +0 -4
  694. package/lib/duet/p-15b3553c.system.entry.js +0 -4
  695. package/lib/duet/p-254f4171.entry.js +0 -4
  696. package/lib/duet/p-2f769f52.system.entry.js +0 -4
  697. package/lib/duet/p-46d7ebac.js +0 -4
  698. package/lib/duet/p-55d318e7.entry.js +0 -4
  699. package/lib/duet/p-571bc7a8.js +0 -4
  700. package/lib/duet/p-5bb1c4b6.entry.js +0 -4
  701. package/lib/duet/p-6044fe21.entry.js +0 -4
  702. package/lib/duet/p-7e0c5458.entry.js +0 -4
  703. package/lib/duet/p-8396cd14.entry.js +0 -4
  704. package/lib/duet/p-96ba9bdb.system.entry.js +0 -4
  705. package/lib/duet/p-97b9b2ae.entry.js +0 -4
  706. package/lib/duet/p-a1f1645c.system.entry.js +0 -4
  707. package/lib/duet/p-a4bab4d8.entry.js +0 -4
  708. package/lib/duet/p-bf4d22d5.system.js +0 -4
  709. package/lib/duet/p-c4fc305d.entry.js +0 -4
  710. package/lib/duet/p-ceb3a8ca.entry.js +0 -4
  711. package/lib/duet/p-d681c210.entry.js +0 -4
  712. package/lib/duet/p-da4d3c61.js +0 -4
  713. package/lib/duet/p-f1bb265f.entry.js +0 -4
  714. package/lib/duet/p-f872ec26.system.js +0 -4
  715. package/lib/esm-es5/duet-chip_3.entry.js +0 -4
  716. package/lib/esm-es5/focus-utils-b09f6029.js +0 -4
  717. package/lib/esm-es5/index-ed83a687.js +0 -4
@@ -0,0 +1,802 @@
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.buttonAriaLabel = {
17
+ en: "Choose country code",
18
+ fi: "Valitse maatunnus",
19
+ sv: "Välj landskod",
20
+ };
21
+ this.setListFirstCountries = () => {
22
+ const listFirstCodes = (typeof this.listFirst === "string" ? this.listFirst.split(",") : this.listFirst).map(c => c.trim().toUpperCase());
23
+ const listFirstCountries = Object.values(countries).filter(c => listFirstCodes.includes(c.isoCode));
24
+ const listRestCountries = this.countriesToList.filter(c => !listFirstCodes.includes(c.isoCode));
25
+ listRestCountries.sort((a, b) => (a[this.language] > b[this.language] ? 1 : -1));
26
+ this.countriesToList = [...listFirstCountries, ...listRestCountries];
27
+ };
28
+ this.handleFocus = () => {
29
+ // check value and country code
30
+ };
31
+ this.handleChange = () => {
32
+ //console.log(ev)
33
+ };
34
+ this.handleBlur = () => {
35
+ //console.log(ev)
36
+ };
37
+ this.handleInput = () => {
38
+ var _a, _b;
39
+ const currentValue = (_a = this.duetInputElement.value) === null || _a === void 0 ? void 0 : _a.trim();
40
+ const currentCountryCode = (this.currentCountry !== "error" && ((_b = this.currentCountry) === null || _b === void 0 ? void 0 : _b.telephoneCountryCode)) || "";
41
+ const inputCountryCode = this.findCountryCode(currentValue) || "";
42
+ if (!currentValue) {
43
+ this.currentCountry = undefined;
44
+ return;
45
+ }
46
+ if (currentCountryCode === inputCountryCode) {
47
+ return;
48
+ }
49
+ if (inputCountryCode) {
50
+ this.currentCountry = this.findCountryForCode(inputCountryCode);
51
+ return;
52
+ }
53
+ // we had country, but no longer have, we are in error state
54
+ if (currentCountryCode !== "error") {
55
+ this.currentCountry = "error";
56
+ }
57
+ // we don't have new country, and did not have old country, so old country is "error" - leave it
58
+ return;
59
+ };
60
+ this.handleCountryCodeSelectorOpen = () => {
61
+ this.countryCodePopup.controller = this.countryCodeButton;
62
+ this.countryCodePopup.show();
63
+ };
64
+ this.handleCountryCodeSelectorSelect = (ev) => {
65
+ const item = ev.target.closest("duet-popup-menu-item");
66
+ const country = countries[item.value];
67
+ this.currentCountry = country;
68
+ this.countryCodePopup.hide();
69
+ this.setInputCountryCode();
70
+ };
71
+ this.language = getLanguage();
72
+ this.currentCountry = undefined;
73
+ this.theme = "";
74
+ this.margin = "auto";
75
+ this.expand = false;
76
+ this.identifier = undefined;
77
+ this.accessibleDetails = undefined;
78
+ this.accessibleLabelledBy = undefined;
79
+ this.accessibleDescription = undefined;
80
+ this.accessibleDescribedBy = undefined;
81
+ this.disabled = false;
82
+ this.required = false;
83
+ this.labelDefaults = {
84
+ fi: "Puhelinnumero",
85
+ en: "Phone number",
86
+ sv: "Telefonnummer",
87
+ };
88
+ this.label = getLocaleString(this.labelDefaults, this.language);
89
+ this.labelHidden = false;
90
+ this.caption = undefined;
91
+ this.name = undefined;
92
+ this.error = "";
93
+ this.tooltip = "";
94
+ this.listFirst = ["FI", "SE"];
95
+ }
96
+ /**
97
+ * The phone input itself contains a comprehensive list of countries and their telephone country codes and it is
98
+ * advisable to hold to that. There may be situations where the set of possible country codes is narrowed down: e.g.
99
+ * if we have established that the person giving their details has a Nordic phone number, then we can give a narrowed
100
+ * down list. Do not make unjustified assumptions: e.g. a Finnish company may well have employees in Afganistan or
101
+ * Bhutan. List of countries can be given either as array of ISO 3166-1 alpha-2 codes or array of objects with keys:
102
+ * en, fi, sv, isoCode (two uppercase letters), telephoneCountryCode (one to three digits), or JSON array string of
103
+ * either two.
104
+ */
105
+ get countries() {
106
+ return this.countriesToList;
107
+ }
108
+ set countries(countriesProp) {
109
+ let arr = countriesProp;
110
+ let error = "";
111
+ const isValidCountryObject = (obj) => {
112
+ const requiredKeys = ["en", "fi", "sv", "isoCode", "telephoneCountryCode"];
113
+ return (requiredKeys.every(key => Object.keys(obj).includes(key)) &&
114
+ /^[A-Z]{2}$/.test(obj["isoCode"]) &&
115
+ /^[1-9][0-9]{0,2}$/.test(obj["telephoneCountryCode"]));
116
+ };
117
+ if (typeof countriesProp === "string") {
118
+ arr = JSON.parse(countriesProp);
119
+ }
120
+ if (Array.isArray(arr)) {
121
+ if (arr.every(a => typeof a === "string")) {
122
+ this.countriesToList = Object.values(countries).filter(c => arr.includes(c.isoCode) && !!c.telephoneCountryCode);
123
+ }
124
+ else if (arr.every(a => isValidCountryObject(a))) {
125
+ this.countriesToList = arr;
126
+ }
127
+ else {
128
+ error = "Invalid array provided for countries in Phone Input";
129
+ }
130
+ }
131
+ else {
132
+ error = "Country list for Phone Input must be an array";
133
+ }
134
+ if (error) {
135
+ console.error(error);
136
+ this.countriesToList = Object.values(countries).filter(country => !!country.telephoneCountryCode);
137
+ }
138
+ this.setListFirstCountries();
139
+ }
140
+ /**
141
+ * Value of the input.
142
+ */
143
+ get value() {
144
+ var _a;
145
+ return (_a = this.duetInputElement.value) === null || _a === void 0 ? void 0 : _a.replace(/\s/g, "");
146
+ }
147
+ set value(val) {
148
+ this._value = val;
149
+ }
150
+ /**t
151
+ * Component lifecycle events.
152
+ */
153
+ componentWillLoad() {
154
+ inheritGlobalTheme(this);
155
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
156
+ this.setListFirstCountries();
157
+ }
158
+ connectedCallback() {
159
+ connectLanguageChangeObserver(this, { prop: "label", defaults: "labelDefaults" });
160
+ subscribeTabbingChange(this);
161
+ }
162
+ disconnectedCallback() {
163
+ disconnectLanguageChangeObserver(this);
164
+ unsubscribeTabbingChange(this);
165
+ }
166
+ /**
167
+ * Sets focus on the contained input element, use this instead of the native `input.focus()`.
168
+ */
169
+ async setFocus(options) {
170
+ this.duetInputElement.setFocus(options);
171
+ }
172
+ setInputCountryCode() {
173
+ if (this.currentCountry === "error") {
174
+ return;
175
+ }
176
+ const newCode = `+${this.currentCountry.telephoneCountryCode} `;
177
+ const prevValue = this.duetInputElement.value;
178
+ if (!(prevValue === null || prevValue === void 0 ? void 0 : prevValue.trim().startsWith("+"))) {
179
+ this.duetInputElement.value = `${newCode}${(prevValue === null || prevValue === void 0 ? void 0 : prevValue.trimStart()) || ""}`;
180
+ return;
181
+ }
182
+ const oldCode = this.findCountryCode(prevValue);
183
+ console.log("Old code", oldCode);
184
+ if (oldCode) {
185
+ this.duetInputElement.value = prevValue.replace(`+${oldCode}`, newCode).replace(" ", " ");
186
+ return;
187
+ }
188
+ this.duetInputElement.value = prevValue.replace("+", newCode);
189
+ }
190
+ findCountryCode(value) {
191
+ const normalizedValue = value.trim();
192
+ if (!normalizedValue.startsWith("+")) {
193
+ return undefined;
194
+ }
195
+ const found = Object.values(countries).find(country => normalizedValue.startsWith(`+${country.telephoneCountryCode}`));
196
+ return found === null || found === void 0 ? void 0 : found.telephoneCountryCode;
197
+ }
198
+ findCountryForCode(code) {
199
+ const primaryCountryISO = primaryCountriesForSharedCountryCodes[code] || "";
200
+ return primaryCountryISO
201
+ ? countries[primaryCountryISO]
202
+ : Object.values(countries).find(country => country.telephoneCountryCode === code);
203
+ }
204
+ renderFlag(isoCode, inButton = false) {
205
+ const flagImgStyle = {
206
+ height: inButton ? "34px" : "24px",
207
+ width: inButton ? "27px" : "24px",
208
+ "margin-right": inButton ? "0" : "10px",
209
+ "object-fit": "contain",
210
+ "object-position": "center",
211
+ filter: "drop-shadow(0 0 1px rgba(0, 0, 0, 0.3)) drop-shadow(0 2px 6px rgba(0, 41, 77, 0.1))",
212
+ };
213
+ return (h("img", { src: `${this.countryFlagCDNUrl}${isoCode}.svg`, "aria-hidden": "true", style: flagImgStyle, loading: "lazy" }));
214
+ }
215
+ getFlagForButton() {
216
+ if (!this.currentCountry || this.currentCountry === "error") {
217
+ return h("duet-icon", { name: !this.currentCountry ? "form-country" : "messaging-alert", margin: "none" });
218
+ }
219
+ return this.renderFlag(this.currentCountry.isoCode, true);
220
+ }
221
+ render() {
222
+ if (Build.isServer) {
223
+ return;
224
+ }
225
+ const lastListFirstCode = (typeof this.listFirst === "string" ? this.listFirst.split(",") : this.listFirst)
226
+ .map(c => c.trim().toUpperCase())
227
+ .pop();
228
+ const identifier = this.identifier || this.inputId;
229
+ return (h(Host, { class: {
230
+ "duet-theme-turva": this.theme === "turva",
231
+ "duet-expand": this.expand,
232
+ "duet-m-0": this.margin === "none",
233
+ } }, 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, caption: this.caption, 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, accessibleLabel: this.buttonAriaLabel[this.language], onClick: this.handleCountryCodeSelectorOpen }, h("span", { class: "flag-container" }, this.getFlagForButton())), h("slot", { name: "tooltip" })))));
234
+ }
235
+ static get is() { return "duet-phone-input"; }
236
+ static get encapsulation() { return "shadow"; }
237
+ static get originalStyleUrls() {
238
+ return {
239
+ "$": ["duet-phone-input.scss"]
240
+ };
241
+ }
242
+ static get styleUrls() {
243
+ return {
244
+ "$": ["duet-phone-input.css"]
245
+ };
246
+ }
247
+ static get properties() {
248
+ return {
249
+ "theme": {
250
+ "type": "string",
251
+ "mutable": true,
252
+ "complexType": {
253
+ "original": "DuetTheme",
254
+ "resolved": "\"\" | \"default\" | \"turva\"",
255
+ "references": {
256
+ "DuetTheme": {
257
+ "location": "import",
258
+ "path": "../../common-types",
259
+ "id": "src/common-types.d.ts::DuetTheme"
260
+ }
261
+ }
262
+ },
263
+ "required": false,
264
+ "optional": false,
265
+ "docs": {
266
+ "tags": [],
267
+ "text": "Theme of the input."
268
+ },
269
+ "getter": false,
270
+ "setter": false,
271
+ "attribute": "theme",
272
+ "reflect": false,
273
+ "defaultValue": "\"\""
274
+ },
275
+ "margin": {
276
+ "type": "string",
277
+ "mutable": false,
278
+ "complexType": {
279
+ "original": "DuetMargin",
280
+ "resolved": "\"auto\" | \"none\"",
281
+ "references": {
282
+ "DuetMargin": {
283
+ "location": "import",
284
+ "path": "../../common-types",
285
+ "id": "src/common-types.d.ts::DuetMargin"
286
+ }
287
+ }
288
+ },
289
+ "required": false,
290
+ "optional": false,
291
+ "docs": {
292
+ "tags": [],
293
+ "text": "Controls the margin of the component."
294
+ },
295
+ "getter": false,
296
+ "setter": false,
297
+ "attribute": "margin",
298
+ "reflect": false,
299
+ "defaultValue": "\"auto\""
300
+ },
301
+ "expand": {
302
+ "type": "boolean",
303
+ "mutable": false,
304
+ "complexType": {
305
+ "original": "boolean",
306
+ "resolved": "boolean",
307
+ "references": {}
308
+ },
309
+ "required": false,
310
+ "optional": false,
311
+ "docs": {
312
+ "tags": [],
313
+ "text": "Expands the input to fill 100% of the container width."
314
+ },
315
+ "getter": false,
316
+ "setter": false,
317
+ "attribute": "expand",
318
+ "reflect": false,
319
+ "defaultValue": "false"
320
+ },
321
+ "identifier": {
322
+ "type": "string",
323
+ "mutable": false,
324
+ "complexType": {
325
+ "original": "string",
326
+ "resolved": "string",
327
+ "references": {}
328
+ },
329
+ "required": false,
330
+ "optional": false,
331
+ "docs": {
332
+ "tags": [],
333
+ "text": "Adds a unique identifier for the input."
334
+ },
335
+ "getter": false,
336
+ "setter": false,
337
+ "attribute": "identifier",
338
+ "reflect": false
339
+ },
340
+ "accessibleDetails": {
341
+ "type": "string",
342
+ "mutable": false,
343
+ "complexType": {
344
+ "original": "string",
345
+ "resolved": "string",
346
+ "references": {}
347
+ },
348
+ "required": false,
349
+ "optional": false,
350
+ "docs": {
351
+ "tags": [],
352
+ "text": "Details of the component"
353
+ },
354
+ "getter": false,
355
+ "setter": false,
356
+ "attribute": "accessible-details",
357
+ "reflect": false,
358
+ "defaultValue": "undefined"
359
+ },
360
+ "accessibleLabelledBy": {
361
+ "type": "string",
362
+ "mutable": false,
363
+ "complexType": {
364
+ "original": "string",
365
+ "resolved": "string",
366
+ "references": {}
367
+ },
368
+ "required": false,
369
+ "optional": false,
370
+ "docs": {
371
+ "tags": [],
372
+ "text": "String of id's that indicate alternative labels elements"
373
+ },
374
+ "getter": false,
375
+ "setter": false,
376
+ "attribute": "accessible-labelled-by",
377
+ "reflect": false,
378
+ "defaultValue": "undefined"
379
+ },
380
+ "accessibleDescription": {
381
+ "type": "string",
382
+ "mutable": false,
383
+ "complexType": {
384
+ "original": "string",
385
+ "resolved": "string",
386
+ "references": {}
387
+ },
388
+ "required": false,
389
+ "optional": false,
390
+ "docs": {
391
+ "tags": [],
392
+ "text": "Aria description the button"
393
+ },
394
+ "getter": false,
395
+ "setter": false,
396
+ "attribute": "accessible-description",
397
+ "reflect": false,
398
+ "defaultValue": "undefined"
399
+ },
400
+ "accessibleDescribedBy": {
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": "Indicates the id of a component that describes the input."
413
+ },
414
+ "getter": false,
415
+ "setter": false,
416
+ "attribute": "accessible-described-by",
417
+ "reflect": false
418
+ },
419
+ "disabled": {
420
+ "type": "boolean",
421
+ "mutable": false,
422
+ "complexType": {
423
+ "original": "boolean",
424
+ "resolved": "boolean",
425
+ "references": {}
426
+ },
427
+ "required": false,
428
+ "optional": false,
429
+ "docs": {
430
+ "tags": [],
431
+ "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."
432
+ },
433
+ "getter": false,
434
+ "setter": false,
435
+ "attribute": "disabled",
436
+ "reflect": true,
437
+ "defaultValue": "false"
438
+ },
439
+ "required": {
440
+ "type": "boolean",
441
+ "mutable": false,
442
+ "complexType": {
443
+ "original": "boolean",
444
+ "resolved": "boolean",
445
+ "references": {}
446
+ },
447
+ "required": false,
448
+ "optional": false,
449
+ "docs": {
450
+ "tags": [],
451
+ "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."
452
+ },
453
+ "getter": false,
454
+ "setter": false,
455
+ "attribute": "required",
456
+ "reflect": false,
457
+ "defaultValue": "false"
458
+ },
459
+ "countries": {
460
+ "type": "string",
461
+ "mutable": false,
462
+ "complexType": {
463
+ "original": "string | string[] | Country[]",
464
+ "resolved": "Country[] | string | string[]",
465
+ "references": {
466
+ "Country": {
467
+ "location": "import",
468
+ "path": "../../data/countries",
469
+ "id": "src/data/countries.ts::Country"
470
+ }
471
+ }
472
+ },
473
+ "required": false,
474
+ "optional": false,
475
+ "docs": {
476
+ "tags": [],
477
+ "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."
478
+ },
479
+ "getter": true,
480
+ "setter": true,
481
+ "attribute": "countries",
482
+ "reflect": false,
483
+ "defaultValue": "Object.values(countries).filter(country => !!country.telephoneCountryCode)"
484
+ },
485
+ "labelDefaults": {
486
+ "type": "string",
487
+ "mutable": false,
488
+ "complexType": {
489
+ "original": "DuetLangObject | string",
490
+ "resolved": "DuetLangObject | string",
491
+ "references": {
492
+ "DuetLangObject": {
493
+ "location": "import",
494
+ "path": "../../utils/language-utils",
495
+ "id": "src/utils/language-utils.ts::DuetLangObject"
496
+ }
497
+ }
498
+ },
499
+ "required": false,
500
+ "optional": false,
501
+ "docs": {
502
+ "tags": [{
503
+ "name": "default",
504
+ "text": "{fi: \"Etiketti\", en: \"Label\", sv: \"M\u00E4rka\"}"
505
+ }],
506
+ "text": "Defaults for Label"
507
+ },
508
+ "getter": false,
509
+ "setter": false,
510
+ "attribute": "label-default",
511
+ "reflect": false,
512
+ "defaultValue": "{\n fi: \"Puhelinnumero\",\n en: \"Phone number\",\n sv: \"Telefonnummer\",\n }"
513
+ },
514
+ "label": {
515
+ "type": "string",
516
+ "mutable": true,
517
+ "complexType": {
518
+ "original": "string",
519
+ "resolved": "string",
520
+ "references": {}
521
+ },
522
+ "required": false,
523
+ "optional": false,
524
+ "docs": {
525
+ "tags": [{
526
+ "name": "default",
527
+ "text": "{fi: \"Etiketti\", en: \"Label\", sv: \"M\u00E4rka\"}"
528
+ }],
529
+ "text": "Label for the number input."
530
+ },
531
+ "getter": false,
532
+ "setter": false,
533
+ "attribute": "label",
534
+ "reflect": false,
535
+ "defaultValue": "getLocaleString(this.labelDefaults, this.language)"
536
+ },
537
+ "labelHidden": {
538
+ "type": "boolean",
539
+ "mutable": false,
540
+ "complexType": {
541
+ "original": "boolean",
542
+ "resolved": "boolean",
543
+ "references": {}
544
+ },
545
+ "required": false,
546
+ "optional": false,
547
+ "docs": {
548
+ "tags": [],
549
+ "text": "Visually hide the label, but still show it to screen readers."
550
+ },
551
+ "getter": false,
552
+ "setter": false,
553
+ "attribute": "label-hidden",
554
+ "reflect": false,
555
+ "defaultValue": "false"
556
+ },
557
+ "caption": {
558
+ "type": "string",
559
+ "mutable": false,
560
+ "complexType": {
561
+ "original": "string",
562
+ "resolved": "string",
563
+ "references": {}
564
+ },
565
+ "required": false,
566
+ "optional": false,
567
+ "docs": {
568
+ "tags": [],
569
+ "text": "Caption (underneath label) that can be set as a way of adding extra information"
570
+ },
571
+ "getter": false,
572
+ "setter": false,
573
+ "attribute": "caption",
574
+ "reflect": false
575
+ },
576
+ "name": {
577
+ "type": "string",
578
+ "mutable": false,
579
+ "complexType": {
580
+ "original": "string",
581
+ "resolved": "string",
582
+ "references": {}
583
+ },
584
+ "required": false,
585
+ "optional": false,
586
+ "docs": {
587
+ "tags": [],
588
+ "text": "Name of the input."
589
+ },
590
+ "getter": false,
591
+ "setter": false,
592
+ "attribute": "name",
593
+ "reflect": false
594
+ },
595
+ "error": {
596
+ "type": "string",
597
+ "mutable": false,
598
+ "complexType": {
599
+ "original": "string",
600
+ "resolved": "string",
601
+ "references": {}
602
+ },
603
+ "required": false,
604
+ "optional": false,
605
+ "docs": {
606
+ "tags": [],
607
+ "text": "Display the input in error state along with an error message."
608
+ },
609
+ "getter": false,
610
+ "setter": false,
611
+ "attribute": "error",
612
+ "reflect": false,
613
+ "defaultValue": "\"\""
614
+ },
615
+ "tooltip": {
616
+ "type": "string",
617
+ "mutable": false,
618
+ "complexType": {
619
+ "original": "string",
620
+ "resolved": "string",
621
+ "references": {}
622
+ },
623
+ "required": false,
624
+ "optional": false,
625
+ "docs": {
626
+ "tags": [],
627
+ "text": "Tooltip to display next to the label of the input."
628
+ },
629
+ "getter": false,
630
+ "setter": false,
631
+ "attribute": "tooltip",
632
+ "reflect": false,
633
+ "defaultValue": "\"\""
634
+ },
635
+ "value": {
636
+ "type": "string",
637
+ "mutable": false,
638
+ "complexType": {
639
+ "original": "string",
640
+ "resolved": "string",
641
+ "references": {}
642
+ },
643
+ "required": false,
644
+ "optional": false,
645
+ "docs": {
646
+ "tags": [],
647
+ "text": "Value of the input."
648
+ },
649
+ "getter": true,
650
+ "setter": true,
651
+ "attribute": "value",
652
+ "reflect": false
653
+ },
654
+ "listFirst": {
655
+ "type": "string",
656
+ "mutable": false,
657
+ "complexType": {
658
+ "original": "string | string[]",
659
+ "resolved": "string | string[]",
660
+ "references": {}
661
+ },
662
+ "required": false,
663
+ "optional": false,
664
+ "docs": {
665
+ "tags": [{
666
+ "name": "default",
667
+ "text": "[\"FI\", \"SE\"]"
668
+ }],
669
+ "text": "Countries to list at the top of the popup-menu, given as an array or comma separated list of ISO 3166-2 codes."
670
+ },
671
+ "getter": false,
672
+ "setter": false,
673
+ "attribute": "list-first",
674
+ "reflect": false,
675
+ "defaultValue": "[\"FI\", \"SE\"]"
676
+ }
677
+ };
678
+ }
679
+ static get states() {
680
+ return {
681
+ "language": {},
682
+ "currentCountry": {}
683
+ };
684
+ }
685
+ static get events() {
686
+ return [{
687
+ "method": "duetChange",
688
+ "name": "duetChange",
689
+ "bubbles": false,
690
+ "cancelable": true,
691
+ "composed": true,
692
+ "docs": {
693
+ "tags": [],
694
+ "text": "Emitted when the value has changed."
695
+ },
696
+ "complexType": {
697
+ "original": "DuetPhoneInputEvent",
698
+ "resolved": "{ originalEvent?: Event; component: \"duet-phone-input\"; value: string; countryCode?: string; }",
699
+ "references": {
700
+ "DuetPhoneInputEvent": {
701
+ "location": "local",
702
+ "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
703
+ "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
704
+ }
705
+ }
706
+ }
707
+ }, {
708
+ "method": "duetInput",
709
+ "name": "duetInput",
710
+ "bubbles": false,
711
+ "cancelable": true,
712
+ "composed": true,
713
+ "docs": {
714
+ "tags": [],
715
+ "text": "Emitted when a keyboard input has ocurred."
716
+ },
717
+ "complexType": {
718
+ "original": "DuetPhoneInputEvent",
719
+ "resolved": "{ originalEvent?: Event; component: \"duet-phone-input\"; value: string; countryCode?: string; }",
720
+ "references": {
721
+ "DuetPhoneInputEvent": {
722
+ "location": "local",
723
+ "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
724
+ "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
725
+ }
726
+ }
727
+ }
728
+ }, {
729
+ "method": "duetBlur",
730
+ "name": "duetBlur",
731
+ "bubbles": true,
732
+ "cancelable": true,
733
+ "composed": true,
734
+ "docs": {
735
+ "tags": [],
736
+ "text": "Emitted when the input loses focus."
737
+ },
738
+ "complexType": {
739
+ "original": "DuetPhoneInputEvent",
740
+ "resolved": "{ originalEvent?: Event; component: \"duet-phone-input\"; value: string; countryCode?: string; }",
741
+ "references": {
742
+ "DuetPhoneInputEvent": {
743
+ "location": "local",
744
+ "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
745
+ "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
746
+ }
747
+ }
748
+ }
749
+ }, {
750
+ "method": "duetFocus",
751
+ "name": "duetFocus",
752
+ "bubbles": true,
753
+ "cancelable": true,
754
+ "composed": true,
755
+ "docs": {
756
+ "tags": [],
757
+ "text": "Emitted when the input has focus."
758
+ },
759
+ "complexType": {
760
+ "original": "DuetPhoneInputEvent",
761
+ "resolved": "{ originalEvent?: Event; component: \"duet-phone-input\"; value: string; countryCode?: string; }",
762
+ "references": {
763
+ "DuetPhoneInputEvent": {
764
+ "location": "local",
765
+ "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
766
+ "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
767
+ }
768
+ }
769
+ }
770
+ }];
771
+ }
772
+ static get methods() {
773
+ return {
774
+ "setFocus": {
775
+ "complexType": {
776
+ "signature": "(options?: FocusOptions) => Promise<void>",
777
+ "parameters": [{
778
+ "name": "options",
779
+ "type": "FocusOptions",
780
+ "docs": ""
781
+ }],
782
+ "references": {
783
+ "Promise": {
784
+ "location": "global",
785
+ "id": "global::Promise"
786
+ },
787
+ "FocusOptions": {
788
+ "location": "global",
789
+ "id": "global::FocusOptions"
790
+ }
791
+ },
792
+ "return": "Promise<void>"
793
+ },
794
+ "docs": {
795
+ "text": "Sets focus on the contained input element, use this instead of the native `input.focus()`.",
796
+ "tags": []
797
+ }
798
+ }
799
+ };
800
+ }
801
+ static get elementRef() { return "element"; }
802
+ }