@duetds/components 10.3.1 → 10.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/hydrate/index.js +501 -306
  2. package/hydrate/index.mjs +501 -306
  3. package/lib/cjs/{a11y-utils-dXXDBTyF.js → a11y-utils-DaAO4N9d.js} +1 -1
  4. package/lib/cjs/{app-globals-CyPV2FZK.js → app-globals-CHNvdfQj.js} +1 -1
  5. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  6. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-badge.cjs.entry.js +29 -6
  8. package/lib/cjs/duet-banner.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +5 -5
  11. package/lib/cjs/duet-button_2.cjs.entry.js +5 -5
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +12 -12
  14. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +3 -3
  16. package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
  17. package/lib/cjs/duet-chip.cjs.entry.js +8 -9
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +22 -22
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +3 -3
  20. package/lib/cjs/duet-combobox.cjs.entry.js +26 -10
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +11 -10
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +4 -4
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +10 -10
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +33 -7
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +3 -3
  29. package/lib/cjs/duet-footer.cjs.entry.js +8 -8
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +15 -8
  31. package/lib/cjs/duet-header_2.cjs.entry.js +4 -4
  32. package/lib/cjs/duet-hero.cjs.entry.js +9 -9
  33. package/lib/cjs/duet-icon.cjs.entry.js +5 -5
  34. package/lib/cjs/duet-indicator.cjs.entry.js +5 -5
  35. package/lib/cjs/duet-input_2.cjs.entry.js +79 -18
  36. package/lib/cjs/duet-layout.cjs.entry.js +7 -7
  37. package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +6 -6
  41. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +7 -7
  42. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
  43. package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
  44. package/lib/cjs/duet-modal.cjs.entry.js +12 -12
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +11 -11
  46. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  47. package/lib/cjs/duet-notification_2.cjs.entry.js +9 -9
  48. package/lib/cjs/duet-number-input.cjs.entry.js +13 -11
  49. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +20 -5
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +17 -18
  52. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +17 -5
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +21 -11
  55. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-promo-card.cjs.entry.js +5 -5
  57. package/lib/cjs/duet-radio_2.cjs.entry.js +10 -11
  58. package/lib/cjs/duet-range-slider.cjs.entry.js +6 -6
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +15 -15
  60. package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-select.cjs.entry.js +10 -10
  62. package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
  63. package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-share-chart.cjs.entry.js +6 -6
  65. package/lib/cjs/duet-show-more.cjs.entry.js +5 -5
  66. package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
  67. package/lib/cjs/duet-slideout-link.cjs.entry.js +7 -7
  68. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
  69. package/lib/cjs/duet-slideout-panel.cjs.entry.js +11 -11
  70. package/lib/cjs/duet-slideout.cjs.entry.js +10 -10
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +7 -3
  72. package/lib/cjs/duet-step_2.cjs.entry.js +6 -6
  73. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
  74. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +6 -6
  75. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +6 -6
  76. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
  77. package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -7
  78. package/lib/cjs/duet-textarea.cjs.entry.js +14 -21
  79. package/lib/cjs/duet-toggle.cjs.entry.js +8 -8
  80. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
  81. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +6 -6
  82. package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
  83. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  84. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  85. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +13 -11
  86. package/lib/cjs/duet-tooltip.cjs.entry.js +24 -7
  87. package/lib/cjs/duet-tray.cjs.entry.js +5 -5
  88. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  89. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  90. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  91. package/lib/cjs/duet.cjs.js +3 -3
  92. package/lib/cjs/{errorcodes.utils-DQ-I8x2z.js → errorcodes.utils-Dkf_MfrJ.js} +1 -1
  93. package/lib/cjs/{focus-utils-DstNW4_h.js → focus-utils-BuGg0Oha.js} +1 -1
  94. package/lib/cjs/{index-B_QTwXEx.js → index-ZxE6MB5V.js} +5 -5
  95. package/lib/cjs/{label-yAj5CKm3.js → label-CpPOBfjS.js} +1 -1
  96. package/lib/cjs/{language-utils-DjtvVntE.js → language-utils-C7Z0KYg-.js} +1 -1
  97. package/lib/cjs/loader.cjs.js +3 -3
  98. package/lib/cjs/{slot-utils-YUU0XWn9.js → slot-utils-BXdHT3A1.js} +2 -2
  99. package/lib/cjs/{themeable-component-h3OzJgCb.js → themeable-component-CIDaln0Z.js} +1 -1
  100. package/lib/collection/components/duet-badge/duet-badge.css +66 -5
  101. package/lib/collection/components/duet-badge/duet-badge.js +49 -2
  102. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  103. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  104. package/lib/collection/components/duet-button/duet-button.css +5 -0
  105. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  106. package/lib/collection/components/duet-chip/duet-chip.js +5 -6
  107. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  108. package/lib/collection/components/duet-choice/duet-choice.js +12 -39
  109. package/lib/collection/components/duet-choice-group/duet-choice-group.js +6 -8
  110. package/lib/collection/components/duet-combobox/duet-combobox.js +22 -6
  111. package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
  112. package/lib/collection/components/duet-date-picker/duet-date-picker.css +0 -1
  113. package/lib/collection/components/duet-date-picker/duet-date-picker.js +5 -2
  114. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  115. package/lib/collection/components/duet-editable-table/duet-editable-table.js +2 -2
  116. package/lib/collection/components/duet-empty-state/duet-empty-state.css +55 -2
  117. package/lib/collection/components/duet-empty-state/duet-empty-state.js +124 -6
  118. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  119. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  120. package/lib/collection/components/duet-footer/duet-footer.js +4 -4
  121. package/lib/collection/components/duet-grid/duet-grid.css +23 -0
  122. package/lib/collection/components/duet-grid/duet-grid.js +29 -2
  123. package/lib/collection/components/duet-grid-item/duet-grid-item.css +5 -0
  124. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  125. package/lib/collection/components/duet-heading/duet-heading.css +62 -0
  126. package/lib/collection/components/duet-heading/duet-heading.js +40 -2
  127. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  128. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  129. package/lib/collection/components/duet-indicator/duet-indicator.js +2 -2
  130. package/lib/collection/components/duet-input/duet-input.css +49 -5
  131. package/lib/collection/components/duet-input/duet-input.js +152 -15
  132. package/lib/collection/components/duet-layout/duet-layout.js +5 -5
  133. package/lib/collection/components/duet-link/duet-link.js +2 -2
  134. package/lib/collection/components/duet-list/duet-list.js +1 -1
  135. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  136. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  137. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +3 -3
  138. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  139. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  140. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  141. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  142. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  143. package/lib/collection/components/duet-modal/duet-modal.js +7 -7
  144. package/lib/collection/components/duet-multiselect/duet-multiselect.css +11 -2
  145. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  146. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  147. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  148. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +3 -3
  149. package/lib/collection/components/duet-number-input/duet-number-input.js +10 -9
  150. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  151. package/lib/collection/components/duet-page-heading/duet-page-heading.css +20 -1
  152. package/lib/collection/components/duet-page-heading/duet-page-heading.js +58 -2
  153. package/lib/collection/components/duet-pagination/duet-pagination.js +12 -13
  154. package/lib/collection/components/duet-panel/duet-panel.js +2 -2
  155. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  156. package/lib/collection/components/duet-phone-input/duet-phone-input.js +13 -1
  157. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +13 -3
  158. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  159. package/lib/collection/components/duet-promo-card/duet-promo-card.js +2 -2
  160. package/lib/collection/components/duet-radio/duet-radio.js +6 -7
  161. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  162. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  163. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  164. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  165. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  166. package/lib/collection/components/duet-select/duet-select.css +11 -2
  167. package/lib/collection/components/duet-select/duet-select.js +5 -5
  168. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  169. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  170. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  171. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  172. package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
  173. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  174. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  175. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  176. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  177. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  178. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  179. package/lib/collection/components/duet-status-icon/duet-status-icon.css +39 -0
  180. package/lib/collection/components/duet-status-icon/duet-status-icon.js +13 -2
  181. package/lib/collection/components/duet-step/duet-step.js +2 -2
  182. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  183. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  184. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  185. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  186. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  187. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  188. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  189. package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
  190. package/lib/collection/components/duet-table/duet-table.js +2 -2
  191. package/lib/collection/components/duet-textarea/duet-textarea.css +11 -2
  192. package/lib/collection/components/duet-textarea/duet-textarea.js +8 -15
  193. package/lib/collection/components/duet-toggle/duet-toggle.js +3 -3
  194. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  195. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  196. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  197. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  198. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  199. package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +18 -4
  200. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +25 -3
  201. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +1 -1
  202. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  203. package/lib/collection/components/duet-tooltip/duet-tooltip.js +47 -4
  204. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  205. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  206. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  207. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  208. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  209. package/lib/collection/utils/math.utils.js +1 -0
  210. package/lib/collection/utils/slot-utils.js +1 -1
  211. package/lib/duet/duet.esm.js +1 -1
  212. package/lib/duet/{p-c8e520b6.entry.js → p-02d8e844.entry.js} +1 -1
  213. package/lib/duet/p-06297bd8.entry.js +4 -0
  214. package/lib/duet/p-0c04f9f5.entry.js +4 -0
  215. package/lib/duet/p-110c7572.entry.js +4 -0
  216. package/lib/duet/p-18a8ea12.entry.js +4 -0
  217. package/lib/duet/{p-d8bc628c.entry.js → p-19863cdf.entry.js} +1 -1
  218. package/lib/duet/p-1bca9931.entry.js +4 -0
  219. package/lib/duet/{p-0cc2921b.entry.js → p-1da7703d.entry.js} +1 -1
  220. package/lib/duet/{p-690beb31.entry.js → p-20a8ef81.entry.js} +1 -1
  221. package/lib/duet/p-268b3066.entry.js +4 -0
  222. package/lib/duet/{p-2e126e15.entry.js → p-2dd7d75e.entry.js} +1 -1
  223. package/lib/duet/{p-5fb1092c.entry.js → p-2f8a47e2.entry.js} +1 -1
  224. package/lib/duet/{p-608ebd47.entry.js → p-30108edc.entry.js} +1 -1
  225. package/lib/duet/{p-3a45c3a4.entry.js → p-317a1fc0.entry.js} +1 -1
  226. package/lib/duet/{p-ae778cb1.entry.js → p-317e81f3.entry.js} +1 -1
  227. package/lib/duet/p-3277233e.entry.js +4 -0
  228. package/lib/duet/{p-efa1cd0b.entry.js → p-3690576a.entry.js} +1 -1
  229. package/lib/duet/{p-d7506eaa.entry.js → p-38973524.entry.js} +1 -1
  230. package/lib/duet/{p-3d00efb7.entry.js → p-3b2fba0f.entry.js} +1 -1
  231. package/lib/duet/{p-4b8293b3.entry.js → p-3f35fce3.entry.js} +1 -1
  232. package/lib/duet/p-3f3c6e64.entry.js +4 -0
  233. package/lib/duet/{p-06f17fe7.entry.js → p-3f7afd87.entry.js} +1 -1
  234. package/lib/duet/p-407f7f03.entry.js +4 -0
  235. package/lib/duet/p-40fa7371.entry.js +4 -0
  236. package/lib/duet/p-42ec7305.entry.js +4 -0
  237. package/lib/duet/p-43e076b5.entry.js +4 -0
  238. package/lib/duet/p-443af533.entry.js +4 -0
  239. package/lib/duet/{p-2d963ab0.entry.js → p-461d4089.entry.js} +1 -1
  240. package/lib/duet/p-4af6a8ed.entry.js +4 -0
  241. package/lib/duet/{p-ecf69f6d.entry.js → p-4b7f1244.entry.js} +1 -1
  242. package/lib/duet/{p-18eada94.entry.js → p-516397ba.entry.js} +1 -1
  243. package/lib/duet/p-5284c707.entry.js +4 -0
  244. package/lib/duet/{p-1e168d4b.entry.js → p-52beb436.entry.js} +1 -1
  245. package/lib/duet/p-5c9f443c.entry.js +4 -0
  246. package/lib/duet/{p-968546f6.entry.js → p-5f5f72d4.entry.js} +1 -1
  247. package/lib/duet/p-5lFzA17H.js +4 -0
  248. package/lib/duet/{p-a6bec2da.entry.js → p-61ec0e1c.entry.js} +1 -1
  249. package/lib/duet/{p-07b9b6c3.entry.js → p-6b469225.entry.js} +1 -1
  250. package/lib/duet/{p-10a326fa.entry.js → p-6ef683d5.entry.js} +1 -1
  251. package/lib/duet/{p-de4b0518.entry.js → p-70612314.entry.js} +1 -1
  252. package/lib/duet/{p-6cffc5b7.entry.js → p-70961edb.entry.js} +1 -1
  253. package/lib/duet/p-7294c37d.entry.js +4 -0
  254. package/lib/duet/{p-7ce31e10.entry.js → p-72b504ef.entry.js} +1 -1
  255. package/lib/duet/p-734249e0.entry.js +4 -0
  256. package/lib/duet/{p-4856f07c.entry.js → p-7353ee4c.entry.js} +1 -1
  257. package/lib/duet/p-74aac967.entry.js +4 -0
  258. package/lib/duet/{p-ed750cdf.entry.js → p-7c08fd87.entry.js} +1 -1
  259. package/lib/duet/{p-44a97d21.entry.js → p-7eea47d5.entry.js} +1 -1
  260. package/lib/duet/{p-86166f8d.entry.js → p-7fd39204.entry.js} +1 -1
  261. package/lib/duet/{p-898d5701.entry.js → p-8012c7bc.entry.js} +1 -1
  262. package/lib/duet/{p-162a0691.entry.js → p-829db926.entry.js} +1 -1
  263. package/lib/duet/p-83238bf3.entry.js +4 -0
  264. package/lib/duet/{p-25b4886a.entry.js → p-833802f9.entry.js} +1 -1
  265. package/lib/duet/{p-2ac11077.entry.js → p-86ffd3cb.entry.js} +1 -1
  266. package/lib/duet/{p-8a28f86e.entry.js → p-871620d3.entry.js} +1 -1
  267. package/lib/duet/{p-d2e74e89.entry.js → p-8ace1eb4.entry.js} +1 -1
  268. package/lib/duet/p-8b0dfbd7.entry.js +4 -0
  269. package/lib/duet/p-93ff8fe4.entry.js +4 -0
  270. package/lib/duet/{p-a8229728.entry.js → p-9ae7aaef.entry.js} +1 -1
  271. package/lib/duet/{p-f71d04ce.entry.js → p-9c9811ba.entry.js} +1 -1
  272. package/lib/duet/{p-f15ab3b8.entry.js → p-9e1a59d1.entry.js} +1 -1
  273. package/lib/duet/{p-DrqQiRTn.js → p-B2cboDWM.js} +1 -1
  274. package/lib/duet/{p-CW11pVgw.js → p-B8-N_qjs.js} +1 -1
  275. package/lib/duet/p-BzYmwX5_.js +4 -0
  276. package/lib/duet/{p-BUWuSkQW.js → p-C5Yfx2kd.js} +1 -1
  277. package/lib/duet/{p-DFAnksuG.js → p-CFqvB5PA.js} +1 -1
  278. package/lib/duet/p-Cg4m_WHe.js +4 -0
  279. package/lib/duet/{p-B6Z_1gqI.js → p-R3pTP2Oy.js} +1 -1
  280. package/lib/duet/p-a068c086.entry.js +4 -0
  281. package/lib/duet/p-a483117e.entry.js +4 -0
  282. package/lib/duet/p-a5177d32.entry.js +4 -0
  283. package/lib/duet/{p-65350441.entry.js → p-a8876b3d.entry.js} +1 -1
  284. package/lib/duet/{p-5c9530f1.entry.js → p-a9104184.entry.js} +1 -1
  285. package/lib/duet/{p-b4c18ee6.entry.js → p-b1326cbb.entry.js} +1 -1
  286. package/lib/duet/{p-17413943.entry.js → p-b747f6e9.entry.js} +1 -1
  287. package/lib/duet/{p-12b2d402.entry.js → p-bdbf0fae.entry.js} +1 -1
  288. package/lib/duet/{p-b6dc4395.entry.js → p-c1afac0d.entry.js} +1 -1
  289. package/lib/duet/p-c2026c6b.entry.js +4 -0
  290. package/lib/duet/{p-301b8664.entry.js → p-c216e746.entry.js} +1 -1
  291. package/lib/duet/{p-bfc75bb9.entry.js → p-c54be349.entry.js} +1 -1
  292. package/lib/duet/{p-fca9c5c4.entry.js → p-cb6c4158.entry.js} +1 -1
  293. package/lib/duet/{p-278ef4d8.entry.js → p-cbcee3e2.entry.js} +1 -1
  294. package/lib/duet/{p-0ccecf5b.entry.js → p-d3b5c997.entry.js} +1 -1
  295. package/lib/duet/{p-ec689a7c.entry.js → p-d3baa815.entry.js} +1 -1
  296. package/lib/duet/{p-f55f8bd9.entry.js → p-d5f90dbc.entry.js} +1 -1
  297. package/lib/duet/{p-b9a54319.entry.js → p-d6f0afa5.entry.js} +1 -1
  298. package/lib/duet/{p-d83f38c7.entry.js → p-d779fe42.entry.js} +1 -1
  299. package/lib/duet/{p-806c4ab8.entry.js → p-dedf6a32.entry.js} +1 -1
  300. package/lib/duet/{p-5fb783eb.entry.js → p-e08dce92.entry.js} +1 -1
  301. package/lib/duet/{p-fe00331c.entry.js → p-e7f2359a.entry.js} +1 -1
  302. package/lib/duet/{p-419b96b6.entry.js → p-efa4eecc.entry.js} +1 -1
  303. package/lib/duet/p-f040706c.entry.js +4 -0
  304. package/lib/duet/{p-17c063a3.entry.js → p-fa13ffe9.entry.js} +1 -1
  305. package/lib/duet/{p-93abd97a.entry.js → p-fe829b53.entry.js} +1 -1
  306. package/lib/duet/p-s8EL6NG5.js +4 -0
  307. package/lib/esm/{a11y-utils-D66Lzlz5.js → a11y-utils-ChN5Nhxh.js} +1 -1
  308. package/lib/esm/{app-globals-G9KPoeGD.js → app-globals-4kCk2rkO.js} +1 -1
  309. package/lib/esm/duet-action-button.entry.js +3 -3
  310. package/lib/esm/duet-alert.entry.js +4 -4
  311. package/lib/esm/duet-badge.entry.js +29 -6
  312. package/lib/esm/duet-banner.entry.js +3 -3
  313. package/lib/esm/duet-breadcrumb.entry.js +6 -6
  314. package/lib/esm/duet-breadcrumbs.entry.js +5 -5
  315. package/lib/esm/duet-button_2.entry.js +5 -5
  316. package/lib/esm/duet-callout.entry.js +5 -5
  317. package/lib/esm/duet-caption_4.entry.js +12 -12
  318. package/lib/esm/duet-card.entry.js +3 -3
  319. package/lib/esm/duet-checkbox.entry.js +3 -3
  320. package/lib/esm/duet-checkmark.entry.js +4 -4
  321. package/lib/esm/duet-chip.entry.js +8 -9
  322. package/lib/esm/duet-choice_2.entry.js +22 -22
  323. package/lib/esm/duet-collapsible.entry.js +3 -3
  324. package/lib/esm/duet-combobox.entry.js +26 -10
  325. package/lib/esm/duet-contact-card.entry.js +5 -5
  326. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  327. package/lib/esm/duet-date-picker.entry.js +11 -10
  328. package/lib/esm/duet-divider_2.entry.js +4 -4
  329. package/lib/esm/duet-editable-table_3.entry.js +10 -10
  330. package/lib/esm/duet-empty-state.entry.js +33 -7
  331. package/lib/esm/duet-fieldset.entry.js +6 -6
  332. package/lib/esm/duet-file-chooser.entry.js +3 -3
  333. package/lib/esm/duet-footer.entry.js +8 -8
  334. package/lib/esm/duet-grid_2.entry.js +15 -8
  335. package/lib/esm/duet-header_2.entry.js +4 -4
  336. package/lib/esm/duet-hero.entry.js +9 -9
  337. package/lib/esm/duet-icon.entry.js +5 -5
  338. package/lib/esm/duet-indicator.entry.js +5 -5
  339. package/lib/esm/duet-input_2.entry.js +79 -18
  340. package/lib/esm/duet-layout.entry.js +7 -7
  341. package/lib/esm/duet-list_2.entry.js +5 -5
  342. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  343. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  344. package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
  345. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  346. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  347. package/lib/esm/duet-menu-bar.entry.js +6 -6
  348. package/lib/esm/duet-modal.entry.js +12 -12
  349. package/lib/esm/duet-multiselect.entry.js +11 -11
  350. package/lib/esm/duet-nav.entry.js +3 -3
  351. package/lib/esm/duet-notification_2.entry.js +9 -9
  352. package/lib/esm/duet-number-input.entry.js +13 -11
  353. package/lib/esm/duet-overlay.entry.js +3 -3
  354. package/lib/esm/duet-page-heading.entry.js +20 -5
  355. package/lib/esm/duet-pagination_2.entry.js +17 -18
  356. package/lib/esm/duet-panel.entry.js +4 -4
  357. package/lib/esm/duet-phone-input.entry.js +17 -5
  358. package/lib/esm/duet-popup-menu_2.entry.js +21 -11
  359. package/lib/esm/duet-progress.entry.js +3 -3
  360. package/lib/esm/duet-promo-card.entry.js +5 -5
  361. package/lib/esm/duet-radio_2.entry.js +10 -11
  362. package/lib/esm/duet-range-slider.entry.js +6 -6
  363. package/lib/esm/duet-scrollable_3.entry.js +15 -15
  364. package/lib/esm/duet-section-layout.entry.js +4 -4
  365. package/lib/esm/duet-select.entry.js +10 -10
  366. package/lib/esm/duet-shaped-image.entry.js +4 -4
  367. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  368. package/lib/esm/duet-share-chart.entry.js +6 -6
  369. package/lib/esm/duet-show-more.entry.js +5 -5
  370. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  371. package/lib/esm/duet-slideout-link.entry.js +7 -7
  372. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  373. package/lib/esm/duet-slideout-panel.entry.js +11 -11
  374. package/lib/esm/duet-slideout.entry.js +10 -10
  375. package/lib/esm/duet-status-icon.entry.js +7 -3
  376. package/lib/esm/duet-step_2.entry.js +6 -6
  377. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  378. package/lib/esm/duet-submenu-bar-dropdown.entry.js +6 -6
  379. package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
  380. package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
  381. package/lib/esm/duet-submenu-bar.entry.js +7 -7
  382. package/lib/esm/duet-textarea.entry.js +14 -21
  383. package/lib/esm/duet-toggle.entry.js +8 -8
  384. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  385. package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
  386. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  387. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  388. package/lib/esm/duet-toolbar.entry.js +4 -4
  389. package/lib/esm/duet-tooltip-button_2.entry.js +13 -11
  390. package/lib/esm/duet-tooltip.entry.js +25 -8
  391. package/lib/esm/duet-tray.entry.js +5 -5
  392. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  393. package/lib/esm/duet-upload-item.entry.js +6 -6
  394. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  395. package/lib/esm/duet.js +4 -4
  396. package/lib/esm/{errorcodes.utils-C6zptXiM.js → errorcodes.utils-DuFCu_27.js} +1 -1
  397. package/lib/esm/{focus-utils-YZ2ticmM.js → focus-utils-CFswdkeD.js} +1 -1
  398. package/lib/esm/{index-DrqQiRTn.js → index-B2cboDWM.js} +5 -5
  399. package/lib/esm/{label-CnTwCD-3.js → label-CJxIWUOT.js} +1 -1
  400. package/lib/esm/{language-utils-BEG0cFmw.js → language-utils-C4M4ASkT.js} +1 -1
  401. package/lib/esm/loader.js +4 -4
  402. package/lib/esm/{slot-utils-Dzrezpl3.js → slot-utils--sNK1DNn.js} +2 -2
  403. package/lib/esm/{themeable-component-BLql61nC.js → themeable-component-BBi3552X.js} +1 -1
  404. package/lib/types/common-types.d.ts +11 -28
  405. package/lib/types/components/duet-badge/duet-badge.d.ts +14 -0
  406. package/lib/types/components/duet-chip/duet-chip.d.ts +1 -1
  407. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -0
  408. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +24 -4
  409. package/lib/types/components/duet-grid/duet-grid.d.ts +5 -0
  410. package/lib/types/components/duet-heading/duet-heading.d.ts +10 -0
  411. package/lib/types/components/duet-input/duet-input.d.ts +31 -3
  412. package/lib/types/components/duet-number-input/duet-number-input.d.ts +2 -1
  413. package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +10 -0
  414. package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +2 -0
  415. package/lib/types/components/duet-radio/duet-radio.d.ts +0 -1
  416. package/lib/types/components/duet-textarea/duet-textarea.d.ts +0 -5
  417. package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
  418. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +6 -0
  419. package/lib/types/components.d.ts +151 -14
  420. package/lib/types/utils/math.utils.d.ts +1 -0
  421. package/package.json +5 -5
  422. package/lib/duet/p-0a80de40.entry.js +0 -4
  423. package/lib/duet/p-162993d2.entry.js +0 -4
  424. package/lib/duet/p-234f4365.entry.js +0 -4
  425. package/lib/duet/p-245c0535.entry.js +0 -4
  426. package/lib/duet/p-29599dc5.entry.js +0 -4
  427. package/lib/duet/p-3d0a716c.entry.js +0 -4
  428. package/lib/duet/p-3eba33cd.entry.js +0 -4
  429. package/lib/duet/p-550bfab9.entry.js +0 -4
  430. package/lib/duet/p-5c60eca3.entry.js +0 -4
  431. package/lib/duet/p-67b3a01a.entry.js +0 -4
  432. package/lib/duet/p-6e1b9cc8.entry.js +0 -4
  433. package/lib/duet/p-9172ba70.entry.js +0 -4
  434. package/lib/duet/p-BQVGvl4H.js +0 -4
  435. package/lib/duet/p-CLZq8YfV.js +0 -4
  436. package/lib/duet/p-D2JvSVnG.js +0 -4
  437. package/lib/duet/p-ELbbzMVZ.js +0 -4
  438. package/lib/duet/p-a3ad5622.entry.js +0 -4
  439. package/lib/duet/p-a73b7110.entry.js +0 -4
  440. package/lib/duet/p-b1d91a91.entry.js +0 -4
  441. package/lib/duet/p-b9be36c8.entry.js +0 -4
  442. package/lib/duet/p-bdae48d3.entry.js +0 -4
  443. package/lib/duet/p-bdf6a296.entry.js +0 -4
  444. package/lib/duet/p-c8d10c67.entry.js +0 -4
  445. package/lib/duet/p-ce4d9add.entry.js +0 -4
  446. package/lib/duet/p-da275568.entry.js +0 -4
  447. package/lib/duet/p-dc5682d8.entry.js +0 -4
  448. package/lib/duet/p-e050ed5c.entry.js +0 -4
  449. package/lib/duet/p-e9c2eb66.entry.js +0 -4
  450. package/lib/duet/p-ec5f40a5.entry.js +0 -4
  451. package/lib/duet/p-f68a4a23.entry.js +0 -4
  452. package/lib/duet/p-f8e26f21.entry.js +0 -4
@@ -20,6 +20,8 @@ export declare class DuetInput implements ThemeableComponent, InputComponent, A1
20
20
  private proxyId;
21
21
  private clearId;
22
22
  private labelId;
23
+ private prefixId;
24
+ private suffixId;
23
25
  private topCaptionId;
24
26
  private topCaptionPlaceholderId;
25
27
  private chipCountId;
@@ -58,7 +60,8 @@ export declare class DuetInput implements ThemeableComponent, InputComponent, A1
58
60
  */
59
61
  accessibleActiveDescendant: string;
60
62
  /**
61
- * Indicates what kind of user input completion suggestions are provided.
63
+ * Indicates in what mode user input completion suggestions are provided. Valid values are: "none", "inline",
64
+ * "list", "both"
62
65
  */
63
66
  accessibleAutocomplete: string;
64
67
  /**
@@ -197,7 +200,15 @@ export declare class DuetInput implements ThemeableComponent, InputComponent, A1
197
200
  */
198
201
  labelHidden: boolean;
199
202
  /**
200
- * Enable numeric keyboard for the input.
203
+ * Text to show before the start (left) of the input's editable area. Also used in accessible labelling.
204
+ */
205
+ fieldPrefix: string;
206
+ /**
207
+ * Text to show after the end (right) of the input's editable area. Also used in accessible labelling.
208
+ */
209
+ fieldSuffix: string;
210
+ /**
211
+ * Enable numeric keyboard for the input. Note that on iOS the numeric keyboard does not contain minus.
201
212
  */
202
213
  numericKeyboard: boolean;
203
214
  /**
@@ -217,6 +228,18 @@ export declare class DuetInput implements ThemeableComponent, InputComponent, A1
217
228
  * Use minlength to specify the minimum length of the value that can be entered.
218
229
  */
219
230
  minlength: number;
231
+ /**
232
+ * When max is set and getting validity, the value of the input is interpreted as a number - possible comma as
233
+ * decimal seprator changed to dot and the value then parsed as float - and compared to max and validity set
234
+ * accordingly. This simulates the behavior of max attribute of input[type=number].
235
+ */
236
+ max: number;
237
+ /**
238
+ * When min is set and getting validity, the value of the input is interpreted as a number - possible comma as
239
+ * decimal seprator changed to dot and the value then parsed as float - and compared to min and validity set
240
+ * accordingly. This simulates the behavior of min attribute of input[type=number].
241
+ */
242
+ min: number;
220
243
  /**
221
244
  * Hint text to display.
222
245
  */
@@ -235,7 +258,9 @@ export declare class DuetInput implements ThemeableComponent, InputComponent, A1
235
258
  */
236
259
  icon: DuetIconName;
237
260
  /**
238
- * Enable or disable automatic completion by the browser
261
+ * Set the type of automatic completion by the browser. If possible use the standard tokens like "name", "given-name",
262
+ * "family-name", "postal-code", "street-address" etc. The component adds automatically "tel" and "email". If you must
263
+ * disable autocomplete use "off" (but avoid disabling unless absolutely necessary).
239
264
  */
240
265
  autoComplete: string;
241
266
  /**
@@ -305,7 +330,9 @@ export declare class DuetInput implements ThemeableComponent, InputComponent, A1
305
330
  /**
306
331
  * Private functions
307
332
  */
333
+ private valueAsNormalizedFloat;
308
334
  private getAriaDescribedBy;
335
+ private getAriaLabelledBy;
309
336
  private handleClearClick;
310
337
  private keyHandler;
311
338
  private togglePasswordRevealed;
@@ -345,6 +372,7 @@ export declare class DuetInput implements ThemeableComponent, InputComponent, A1
345
372
  * If the last, rightmost chip was selected before, unselect it.
346
373
  */
347
374
  private selectChipToRight;
375
+ private getAutocomplete;
348
376
  /**
349
377
  * Add a chip to the input. Property "chips" must be true.
350
378
  */
@@ -161,7 +161,8 @@ export declare class DuetNumberInput implements ThemeableComponent, DuetNumericI
161
161
  */
162
162
  tooltip: string;
163
163
  /**
164
- * Step amount.
164
+ * Step amount. Note that decimal values as step (e.g. 0.01) may produce unexpected results and thus are strongly
165
+ * discouraged (but for backwards compatibility still accepted).
165
166
  */
166
167
  step: number;
167
168
  /**
@@ -2,20 +2,30 @@ import { DuetIconName, DuetTheme } from "../../common-types";
2
2
  import { ThemeableComponent } from "../../common/themeable-component";
3
3
  /**
4
4
  * @slot heading - This is a slot for heading content.
5
+ * @slot button - This is a slot for button visually above the heading. Use only variation "plain" button.
5
6
  */
6
7
  export declare class DuetPageHeading implements ThemeableComponent {
7
8
  /**
8
9
  * Reference to host HTML element.
9
10
  */
10
11
  element: HTMLElement;
12
+ private hasButtonSlot;
11
13
  /**
12
14
  * Theme of the hero area.
13
15
  */
14
16
  theme: DuetTheme;
17
+ /**
18
+ * LähiTapiola theme includes a brand shape at the top by default. Set to "none" to omit it. Has no effect for Turva.
19
+ */
20
+ shape: "auto" | "none";
15
21
  /**
16
22
  * Icon.
17
23
  */
18
24
  icon: DuetIconName;
25
+ /**
26
+ * With LähiTapiola theme the icon can have secondary background instead of default. This has no effect on Turva theme.
27
+ */
28
+ iconBackground: "default" | "secondary";
19
29
  /**
20
30
  * Layout.
21
31
  * Values narrow and fluid are deprecated.
@@ -17,6 +17,7 @@ export declare class DuetPhoneInput implements ThemeableComponent, A11yComponent
17
17
  private countryFlagCDNUrl;
18
18
  private inputId;
19
19
  private buttonAriaLabel;
20
+ private buttonAriaLabelSelected;
20
21
  /**
21
22
  * Reference to host HTML element.
22
23
  */
@@ -174,5 +175,6 @@ export declare class DuetPhoneInput implements ThemeableComponent, A11yComponent
174
175
  private findCountryForCode;
175
176
  private renderFlag;
176
177
  private getFlagForButton;
178
+ private getAccessibleLabelForButton;
177
179
  render(): any;
178
180
  }
@@ -144,7 +144,6 @@ export declare class DuetRadio implements ThemeableComponent, InputComponent, A1
144
144
  /**
145
145
  * Component event handling.
146
146
  */
147
- private onClick;
148
147
  private onChange;
149
148
  private onBlur;
150
149
  private onFocus;
@@ -215,11 +215,6 @@ export declare class DuetTextarea implements ThemeableComponent, InputComponent,
215
215
  private handleChange;
216
216
  private handleBlur;
217
217
  private handleFocus;
218
- /**
219
- * When the character limit has been reached and key is pressed, switch the
220
- * visually hidden label temprorily to empty so it is re-read.
221
- */
222
- private handleKeyDown;
223
218
  private getDescribedBy;
224
219
  /**
225
220
  * Sets focus on the specified `duet-textarea`. Use this method instead of the global
@@ -17,6 +17,7 @@ export declare class DuetTooltipButton implements ThemeableComponent {
17
17
  negative: boolean;
18
18
  active: boolean;
19
19
  tooltipId: string;
20
+ inBadge: boolean;
20
21
  /**
21
22
  * Component lifecycle events.
22
23
  */
@@ -108,6 +108,11 @@ export declare class DuetTooltip implements ThemeableComponent {
108
108
  * Negative variation for tooltip button on dark background
109
109
  */
110
110
  negative: boolean;
111
+ /**
112
+ * @internal
113
+ * When used inside a duet-badge
114
+ */
115
+ badgeElement: HTMLDuetBadgeElement;
111
116
  /**
112
117
  * Component lifecycle events.
113
118
  */
@@ -127,6 +132,7 @@ export declare class DuetTooltip implements ThemeableComponent {
127
132
  private closeTooltip;
128
133
  private toggleOpen;
129
134
  private updatePlacement;
135
+ private badgeClick;
130
136
  /**
131
137
  * render() function.
132
138
  * Always the last one in the class.
@@ -24,7 +24,7 @@ import { DuetCookieConsentEvent } from "./components/duet-cookie-consent/duet-co
24
24
  import { DuetDatePickerChangeEvent, DuetDatePickerDirection, DuetDatePickerFocusEvent } from "./components/duet-date-picker/duet-date-picker";
25
25
  import { DuetDividerMargin } from "./components/duet-divider/duet-divider";
26
26
  import { DuetEditableTableActions, DuetEditableTableColumns, DuetEditableTableRows, DuetTableMenuEvent, DuetTableToggleEvent } from "./components/duet-editable-table/duet-editable-table";
27
- import { DuetEmptyStateSize } from "./components/duet-empty-state/duet-empty-state";
27
+ import { DuetEmptyStatePadding, DuetEmptyStateSize, DuetEmptyStateStatus } from "./components/duet-empty-state/duet-empty-state";
28
28
  import { DuetFileChooserEvent } from "./components/duet-file-chooser/duet-file-chooser";
29
29
  import { DuetFooterAnalyticsEvent, DuetFooterChangeEvent, DuetFooterVariation } from "./components/duet-footer/duet-footer";
30
30
  import { DuetGridAlignment, DuetGridDistribution, DuetGridMobileAlignment } from "./components/duet-grid/duet-grid";
@@ -92,7 +92,7 @@ export { DuetCookieConsentEvent } from "./components/duet-cookie-consent/duet-co
92
92
  export { DuetDatePickerChangeEvent, DuetDatePickerDirection, DuetDatePickerFocusEvent } from "./components/duet-date-picker/duet-date-picker";
93
93
  export { DuetDividerMargin } from "./components/duet-divider/duet-divider";
94
94
  export { DuetEditableTableActions, DuetEditableTableColumns, DuetEditableTableRows, DuetTableMenuEvent, DuetTableToggleEvent } from "./components/duet-editable-table/duet-editable-table";
95
- export { DuetEmptyStateSize } from "./components/duet-empty-state/duet-empty-state";
95
+ export { DuetEmptyStatePadding, DuetEmptyStateSize, DuetEmptyStateStatus } from "./components/duet-empty-state/duet-empty-state";
96
96
  export { DuetFileChooserEvent } from "./components/duet-file-chooser/duet-file-chooser";
97
97
  export { DuetFooterAnalyticsEvent, DuetFooterChangeEvent, DuetFooterVariation } from "./components/duet-footer/duet-footer";
98
98
  export { DuetGridAlignment, DuetGridDistribution, DuetGridMobileAlignment } from "./components/duet-grid/duet-grid";
@@ -335,6 +335,11 @@ export namespace Components {
335
335
  * @default ""
336
336
  */
337
337
  "theme": DuetTheme;
338
+ /**
339
+ * Giving tooltip text makes the badge act as tooltip button. The badge's text content will be used as the tooltips accessible-about-label - if you want other accessible label, use the tooltip slot instead of this attribute.
340
+ * @default ""
341
+ */
342
+ "tooltip": string;
338
343
  /**
339
344
  * Style variation of the badge.
340
345
  * @default "default"
@@ -1643,10 +1648,25 @@ export namespace Components {
1643
1648
  }
1644
1649
  interface DuetEmptyState {
1645
1650
  /**
1646
- * Icon shown in the empty state component.
1651
+ * Set background to "none" when no background is wanted, e.g. inside a table.
1652
+ * @default "auto"
1653
+ */
1654
+ "background": "auto" | "none";
1655
+ /**
1656
+ * Heading to show above the component content
1657
+ * @default ""
1658
+ */
1659
+ "heading": string;
1660
+ /**
1661
+ * Icon shown in the empty state component. For warning variation a status icon is always used. Use value "none" for no icon at all.
1647
1662
  * @default "messaging-question"
1648
1663
  */
1649
- "icon": DuetIconName;
1664
+ "icon": DuetIconName | "none";
1665
+ /**
1666
+ * Padding of the empty state component
1667
+ * @default "medium"
1668
+ */
1669
+ "padding": DuetEmptyStatePadding;
1650
1670
  /**
1651
1671
  * The size of the empty state message.
1652
1672
  * @default "medium"
@@ -1657,6 +1677,11 @@ export namespace Components {
1657
1677
  * @default ""
1658
1678
  */
1659
1679
  "theme": DuetTheme;
1680
+ /**
1681
+ * The variation of the empty state component. Use "warning" when the empty state is due to an error.
1682
+ * @default "default"
1683
+ */
1684
+ "variation": DuetEmptyStateStatus;
1660
1685
  }
1661
1686
  interface DuetFieldset {
1662
1687
  /**
@@ -1810,6 +1835,11 @@ export namespace Components {
1810
1835
  | "two-columns"
1811
1836
  | "three-columns"
1812
1837
  | "button-grid";
1838
+ /**
1839
+ * When gridTemplate is used, gridTemplateGap sets the row and column gaps. With two values the first is row-gap and the second column-gap. Does not apply to button-grid.
1840
+ * @default "auto"
1841
+ */
1842
+ "gridTemplateGap": "auto" | "none" | "auto none" | "none auto";
1813
1843
  /**
1814
1844
  * Adjusts the horizontal alignment of the grid items on mobile (575px and under).
1815
1845
  * @default ""
@@ -2007,6 +2037,14 @@ export namespace Components {
2007
2037
  * @default "auto"
2008
2038
  */
2009
2039
  "margin": DuetMargin;
2040
+ /**
2041
+ * Text that is included inside the heading tag, but is rendered as smaller line below the slotted heading text. Use only with pages' main heading.
2042
+ */
2043
+ "postHeading": string;
2044
+ /**
2045
+ * Text that is included inside the heading tag, but is rendered as smaller line above the slotted heading text. Use only with pages' main heading.
2046
+ */
2047
+ "preHeading": string;
2010
2048
  /**
2011
2049
  * Theme of the heading.
2012
2050
  * @default ""
@@ -2250,7 +2288,7 @@ export namespace Components {
2250
2288
  */
2251
2289
  "accessibleActiveDescendant": string;
2252
2290
  /**
2253
- * Indicates what kind of user input completion suggestions are provided.
2291
+ * Indicates in what mode user input completion suggestions are provided. Valid values are: "none", "inline", "list", "both"
2254
2292
  */
2255
2293
  "accessibleAutocomplete": string;
2256
2294
  /**
@@ -2305,7 +2343,7 @@ export namespace Components {
2305
2343
  */
2306
2344
  "addChip": (chip: HTMLDuetChipElement) => Promise<void>;
2307
2345
  /**
2308
- * Enable or disable automatic completion by the browser
2346
+ * Set the type of automatic completion by the browser. If possible use the standard tokens like "name", "given-name", "family-name", "postal-code", "street-address" etc. The component adds automatically "tel" and "email". If you must disable autocomplete use "off" (but avoid disabling unless absolutely necessary).
2309
2347
  * @default "on"
2310
2348
  */
2311
2349
  "autoComplete": string;
@@ -2365,6 +2403,14 @@ export namespace Components {
2365
2403
  * @default false
2366
2404
  */
2367
2405
  "expand": boolean;
2406
+ /**
2407
+ * Text to show before the start (left) of the input's editable area. Also used in accessible labelling.
2408
+ */
2409
+ "fieldPrefix": string;
2410
+ /**
2411
+ * Text to show after the end (right) of the input's editable area. Also used in accessible labelling.
2412
+ */
2413
+ "fieldSuffix": string;
2368
2414
  /**
2369
2415
  * Get all chips from the input.
2370
2416
  */
@@ -2414,10 +2460,18 @@ export namespace Components {
2414
2460
  * @default "auto"
2415
2461
  */
2416
2462
  "margin": DuetMargin;
2463
+ /**
2464
+ * When max is set and getting validity, the value of the input is interpreted as a number - possible comma as decimal seprator changed to dot and the value then parsed as float - and compared to max and validity set accordingly. This simulates the behavior of max attribute of input[type=number].
2465
+ */
2466
+ "max": number;
2417
2467
  /**
2418
2468
  * Use maxlength to specify the maximum length of the value that can be entered.
2419
2469
  */
2420
2470
  "maxlength": number;
2471
+ /**
2472
+ * When min is set and getting validity, the value of the input is interpreted as a number - possible comma as decimal seprator changed to dot and the value then parsed as float - and compared to min and validity set accordingly. This simulates the behavior of min attribute of input[type=number].
2473
+ */
2474
+ "min": number;
2421
2475
  /**
2422
2476
  * Use minlength to specify the minimum length of the value that can be entered.
2423
2477
  */
@@ -2431,7 +2485,7 @@ export namespace Components {
2431
2485
  */
2432
2486
  "nativeInputElement": HTMLElement;
2433
2487
  /**
2434
- * Enable numeric keyboard for the input.
2488
+ * Enable numeric keyboard for the input. Note that on iOS the numeric keyboard does not contain minus.
2435
2489
  * @default false
2436
2490
  */
2437
2491
  "numericKeyboard": boolean;
@@ -3508,7 +3562,7 @@ export namespace Components {
3508
3562
  */
3509
3563
  "setFocus": (options?: FocusOptions) => Promise<void>;
3510
3564
  /**
3511
- * Step amount.
3565
+ * Step amount. Note that decimal values as step (e.g. 0.01) may produce unexpected results and thus are strongly discouraged (but for backwards compatibility still accepted).
3512
3566
  * @default 5000
3513
3567
  */
3514
3568
  "step": number;
@@ -3580,6 +3634,11 @@ export namespace Components {
3580
3634
  * @default ""
3581
3635
  */
3582
3636
  "icon": DuetIconName;
3637
+ /**
3638
+ * With LähiTapiola theme the icon can have secondary background instead of default. This has no effect on Turva theme.
3639
+ * @default "default"
3640
+ */
3641
+ "iconBackground": "default" | "secondary";
3583
3642
  /**
3584
3643
  * Layout. Values narrow and fluid are deprecated.
3585
3644
  * @default "narrow"
@@ -3593,6 +3652,11 @@ export namespace Components {
3593
3652
  * Total steps amount in progress indicator. To render a progress indicator both progressTotalSteps and progressCurrentStep must be given
3594
3653
  */
3595
3654
  "progressTotalSteps": number;
3655
+ /**
3656
+ * LähiTapiola theme includes a brand shape at the top by default. Set to "none" to omit it. Has no effect for Turva.
3657
+ * @default "auto"
3658
+ */
3659
+ "shape": "auto" | "none";
3596
3660
  /**
3597
3661
  * Theme of the hero area.
3598
3662
  * @default ""
@@ -5926,6 +5990,7 @@ export namespace Components {
5926
5990
  * @default false
5927
5991
  */
5928
5992
  "active": boolean;
5993
+ "badgeElement": HTMLDuetBadgeElement;
5929
5994
  /**
5930
5995
  * Adjust the responsive breakpoint where tooltip starts opening towards left.
5931
5996
  * @default "medium"
@@ -5971,6 +6036,10 @@ export namespace Components {
5971
6036
  interface DuetTooltipButton {
5972
6037
  "accessibleLabel": string;
5973
6038
  "active": boolean;
6039
+ /**
6040
+ * @default false
6041
+ */
6042
+ "inBadge": boolean;
5974
6043
  /**
5975
6044
  * @default ""
5976
6045
  */
@@ -8003,6 +8072,11 @@ declare namespace LocalJSX {
8003
8072
  * @default ""
8004
8073
  */
8005
8074
  "theme"?: DuetTheme;
8075
+ /**
8076
+ * Giving tooltip text makes the badge act as tooltip button. The badge's text content will be used as the tooltips accessible-about-label - if you want other accessible label, use the tooltip slot instead of this attribute.
8077
+ * @default ""
8078
+ */
8079
+ "tooltip"?: string;
8006
8080
  /**
8007
8081
  * Style variation of the badge.
8008
8082
  * @default "default"
@@ -9340,10 +9414,25 @@ declare namespace LocalJSX {
9340
9414
  }
9341
9415
  interface DuetEmptyState {
9342
9416
  /**
9343
- * Icon shown in the empty state component.
9417
+ * Set background to "none" when no background is wanted, e.g. inside a table.
9418
+ * @default "auto"
9419
+ */
9420
+ "background"?: "auto" | "none";
9421
+ /**
9422
+ * Heading to show above the component content
9423
+ * @default ""
9424
+ */
9425
+ "heading"?: string;
9426
+ /**
9427
+ * Icon shown in the empty state component. For warning variation a status icon is always used. Use value "none" for no icon at all.
9344
9428
  * @default "messaging-question"
9345
9429
  */
9346
- "icon"?: DuetIconName;
9430
+ "icon"?: DuetIconName | "none";
9431
+ /**
9432
+ * Padding of the empty state component
9433
+ * @default "medium"
9434
+ */
9435
+ "padding"?: DuetEmptyStatePadding;
9347
9436
  /**
9348
9437
  * The size of the empty state message.
9349
9438
  * @default "medium"
@@ -9354,6 +9443,11 @@ declare namespace LocalJSX {
9354
9443
  * @default ""
9355
9444
  */
9356
9445
  "theme"?: DuetTheme;
9446
+ /**
9447
+ * The variation of the empty state component. Use "warning" when the empty state is due to an error.
9448
+ * @default "default"
9449
+ */
9450
+ "variation"?: DuetEmptyStateStatus;
9357
9451
  }
9358
9452
  interface DuetFieldset {
9359
9453
  /**
@@ -9523,6 +9617,11 @@ declare namespace LocalJSX {
9523
9617
  | "two-columns"
9524
9618
  | "three-columns"
9525
9619
  | "button-grid";
9620
+ /**
9621
+ * When gridTemplate is used, gridTemplateGap sets the row and column gaps. With two values the first is row-gap and the second column-gap. Does not apply to button-grid.
9622
+ * @default "auto"
9623
+ */
9624
+ "gridTemplateGap"?: "auto" | "none" | "auto none" | "none auto";
9526
9625
  /**
9527
9626
  * Adjusts the horizontal alignment of the grid items on mobile (575px and under).
9528
9627
  * @default ""
@@ -9748,6 +9847,14 @@ declare namespace LocalJSX {
9748
9847
  * @default "auto"
9749
9848
  */
9750
9849
  "margin"?: DuetMargin;
9850
+ /**
9851
+ * Text that is included inside the heading tag, but is rendered as smaller line below the slotted heading text. Use only with pages' main heading.
9852
+ */
9853
+ "postHeading"?: string;
9854
+ /**
9855
+ * Text that is included inside the heading tag, but is rendered as smaller line above the slotted heading text. Use only with pages' main heading.
9856
+ */
9857
+ "preHeading"?: string;
9751
9858
  /**
9752
9859
  * Theme of the heading.
9753
9860
  * @default ""
@@ -9991,7 +10098,7 @@ declare namespace LocalJSX {
9991
10098
  */
9992
10099
  "accessibleActiveDescendant"?: string;
9993
10100
  /**
9994
- * Indicates what kind of user input completion suggestions are provided.
10101
+ * Indicates in what mode user input completion suggestions are provided. Valid values are: "none", "inline", "list", "both"
9995
10102
  */
9996
10103
  "accessibleAutocomplete"?: string;
9997
10104
  /**
@@ -10042,7 +10149,7 @@ declare namespace LocalJSX {
10042
10149
  */
10043
10150
  "accessiblePopup"?: string;
10044
10151
  /**
10045
- * Enable or disable automatic completion by the browser
10152
+ * Set the type of automatic completion by the browser. If possible use the standard tokens like "name", "given-name", "family-name", "postal-code", "street-address" etc. The component adds automatically "tel" and "email". If you must disable autocomplete use "off" (but avoid disabling unless absolutely necessary).
10046
10153
  * @default "on"
10047
10154
  */
10048
10155
  "autoComplete"?: string;
@@ -10090,6 +10197,14 @@ declare namespace LocalJSX {
10090
10197
  * @default false
10091
10198
  */
10092
10199
  "expand"?: boolean;
10200
+ /**
10201
+ * Text to show before the start (left) of the input's editable area. Also used in accessible labelling.
10202
+ */
10203
+ "fieldPrefix"?: string;
10204
+ /**
10205
+ * Text to show after the end (right) of the input's editable area. Also used in accessible labelling.
10206
+ */
10207
+ "fieldSuffix"?: string;
10093
10208
  /**
10094
10209
  * Icon to display on the right side (from Duet’s icons). Example: "form-location"
10095
10210
  */
@@ -10131,10 +10246,18 @@ declare namespace LocalJSX {
10131
10246
  * @default "auto"
10132
10247
  */
10133
10248
  "margin"?: DuetMargin;
10249
+ /**
10250
+ * When max is set and getting validity, the value of the input is interpreted as a number - possible comma as decimal seprator changed to dot and the value then parsed as float - and compared to max and validity set accordingly. This simulates the behavior of max attribute of input[type=number].
10251
+ */
10252
+ "max"?: number;
10134
10253
  /**
10135
10254
  * Use maxlength to specify the maximum length of the value that can be entered.
10136
10255
  */
10137
10256
  "maxlength"?: number;
10257
+ /**
10258
+ * When min is set and getting validity, the value of the input is interpreted as a number - possible comma as decimal seprator changed to dot and the value then parsed as float - and compared to min and validity set accordingly. This simulates the behavior of min attribute of input[type=number].
10259
+ */
10260
+ "min"?: number;
10138
10261
  /**
10139
10262
  * Use minlength to specify the minimum length of the value that can be entered.
10140
10263
  */
@@ -10144,7 +10267,7 @@ declare namespace LocalJSX {
10144
10267
  */
10145
10268
  "name"?: string;
10146
10269
  /**
10147
- * Enable numeric keyboard for the input.
10270
+ * Enable numeric keyboard for the input. Note that on iOS the numeric keyboard does not contain minus.
10148
10271
  * @default false
10149
10272
  */
10150
10273
  "numericKeyboard"?: boolean;
@@ -11191,7 +11314,7 @@ declare namespace LocalJSX {
11191
11314
  */
11192
11315
  "rounding"?: boolean;
11193
11316
  /**
11194
- * Step amount.
11317
+ * Step amount. Note that decimal values as step (e.g. 0.01) may produce unexpected results and thus are strongly discouraged (but for backwards compatibility still accepted).
11195
11318
  * @default 5000
11196
11319
  */
11197
11320
  "step"?: number;
@@ -11263,6 +11386,11 @@ declare namespace LocalJSX {
11263
11386
  * @default ""
11264
11387
  */
11265
11388
  "icon"?: DuetIconName;
11389
+ /**
11390
+ * With LähiTapiola theme the icon can have secondary background instead of default. This has no effect on Turva theme.
11391
+ * @default "default"
11392
+ */
11393
+ "iconBackground"?: "default" | "secondary";
11266
11394
  /**
11267
11395
  * Layout. Values narrow and fluid are deprecated.
11268
11396
  * @default "narrow"
@@ -11276,6 +11404,11 @@ declare namespace LocalJSX {
11276
11404
  * Total steps amount in progress indicator. To render a progress indicator both progressTotalSteps and progressCurrentStep must be given
11277
11405
  */
11278
11406
  "progressTotalSteps"?: number;
11407
+ /**
11408
+ * LähiTapiola theme includes a brand shape at the top by default. Set to "none" to omit it. Has no effect for Turva.
11409
+ * @default "auto"
11410
+ */
11411
+ "shape"?: "auto" | "none";
11279
11412
  /**
11280
11413
  * Theme of the hero area.
11281
11414
  * @default ""
@@ -13608,6 +13741,10 @@ declare namespace LocalJSX {
13608
13741
  interface DuetTooltipButton {
13609
13742
  "accessibleLabel"?: string;
13610
13743
  "active"?: boolean;
13744
+ /**
13745
+ * @default false
13746
+ */
13747
+ "inBadge"?: boolean;
13611
13748
  /**
13612
13749
  * @default ""
13613
13750
  */
@@ -9,3 +9,4 @@ export declare function SafeParseFloat(value: string | number, locale?: string):
9
9
  export declare function ConvertToEnUS(value: string, locale: string, replaceThousands?: boolean): string;
10
10
  export declare const roundTo: (val: number, multiple: number) => number;
11
11
  export declare const clamp: (val: number, min: number, max: number) => number;
12
+ export declare const isInteger: (val: number) => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetds/components",
3
- "version": "10.3.1",
3
+ "version": "10.5.0",
4
4
  "description": "This package includes Duet Design System Web Components and related utilities.",
5
5
  "bugs": {
6
6
  "email": "duetdesignsystem@lahitapiola.fi"
@@ -67,9 +67,9 @@
67
67
  "body-scroll-lock": "3.1.5"
68
68
  },
69
69
  "devDependencies": {
70
- "@duetds/fonts": "3.0.65",
71
- "@duetds/icons": "4.3.7",
72
- "@duetds/tokens": "5.1.0",
70
+ "@duetds/fonts": "3.0.67",
71
+ "@duetds/icons": "4.3.9",
72
+ "@duetds/tokens": "5.1.2",
73
73
  "@percy/cli": "1.30.1",
74
74
  "@rollup/plugin-replace": "5.0.2",
75
75
  "@stencil/core": "4.36.3",
@@ -97,5 +97,5 @@
97
97
  "publishConfig": {
98
98
  "access": "public"
99
99
  },
100
- "gitHead": "8daf5b2c1a1ccf789f6cb3927d0ee5b47caf6e77"
100
+ "gitHead": "136213c9d5eb4ccc8a2d492c8122e0572c665dc3"
101
101
  }
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import{r as e,c as t,h as s,H as o,g as i}from"./p-DrqQiRTn.js";import{i as a}from"./p-CLZq8YfV.js";import{c as n}from"./p-Cfr_DJqU.js";import{i as r}from"./p-Db8rvjPI.js";import{a as h,g as l,c,d}from"./p-DFAnksuG.js";import"./p-C6E9F6QT.js";const m=class{constructor(s){e(this,s),this.duetToggle=t(this,"duetToggle",7),this.contentId=n("DuetShowMore"),this.buttonId=n("DuetShowMoreButton"),this.isSafariBrowser=/^((?!chrome|android).)*safari/i.test(null===navigator||void 0===navigator?void 0:navigator.userAgent),this.buttonAriaOpen=!1,this.theme="",this.language=h(),this.showMoreLabelDefaults={fi:"Näytä lisää",sv:"Visa mer",en:"Show more"},this.showMoreLabel=l(this.showMoreLabelDefaults),this.showLessLabelDefaults={fi:"Näytä vähemmän",sv:"Visa mindre",en:"Show less"},this.showLessLabel=l(this.showLessLabelDefaults),this.showMoreAccessibleLabelDefaults={fi:"Näytä lisää tästä aiheesta",sv:"Visa mer om detta ämne",en:"Show more about this subject"},this.showMoreAccessibleLabel=l(this.showMoreAccessibleLabelDefaults),this.showLessAccessibleLabelDefaults={fi:"Näytä vähemmän tästä aiheesta",sv:"Visa mindre om detta ämne",en:"Show less about this subject"},this.showLessAccessibleLabel=l(this.showLessAccessibleLabelDefaults),this.margin="auto",this.buttonMargin="auto",this.buttonPadding="auto",this.open=!1,this.handleKeyDown=e=>{r(e)&&this.handleClick(e)},this.handleClick=e=>{e.preventDefault();const t=!this.open;this.open=t,t?(setTimeout((()=>{this.contentElement.focus()}),100),setTimeout((()=>{this.buttonAriaOpen=t}),500)):this.buttonAriaOpen=t,this.duetToggle.emit({component:"duet-show-more",originalEvent:e})}}componentWillLoad(){a(this),this.buttonAriaOpen=this.open}connectedCallback(){c(this,[{prop:"showMoreLabel",defaults:"showMoreLabelDefaults"},{prop:"showLessLabel",defaults:"showLessLabelDefaults"},{prop:"showMoreAccessibleLabel",defaults:"showMoreAccessibleLabelDefaults"},{prop:"showLessAccessibleLabel",defaults:"showLessAccessibleLabelDefaults"}])}disconnectedCallback(){d(this)}render(){return s(o,{key:"514e5c439744a2960e711811f696d2ee9e49dba3"},s("div",{key:"40788025130f4b8570cbacfa6371b11ea4bbdb42",class:{"duet-show-more":!0,"duet-theme-turva":"turva"===this.theme,"duet-m-0":"none"===this.margin,open:this.open}},s("div",{key:"42f30cd3ffc5c33651d4d0c7e36c913eab6d8147",ref:e=>this.contentElement=e,class:{content:!0,"duet-theme-turva":"turva"===this.theme},id:this.contentId,tabindex:this.open?"-1":""},s("div",{key:"a319d301f1ed7130671aa529592270c4b708b7f9",class:{"slotted-content":!0}},s("slot",{key:"81b3e98809cee2a52c358af50383272ddebd8ee6"}))),s("duet-button",{key:"9789882dceda992bd6107cc84fa92ca4289f3679",id:this.buttonId,variation:"plain","accessible-label":this.buttonAriaOpen?this.showLessAccessibleLabel:this.showMoreAccessibleLabel,"accessible-expanded":this.buttonAriaOpen?"true":"false","accessible-controls":this.contentId,accessiblePressed:this.isSafariBrowser?this.open:null,onClick:this.handleClick,onKeyDown:this.handleKeyDown,"icon-right":!0,icon:this.open?"action-arrow-up-small":"action-arrow-down-small","icon-size":"medium-small",size:"small",margin:this.buttonMargin,padding:this.buttonPadding,theme:"turva"===this.theme?"turva":"default"},s("span",{key:"9d664617e12985187968c239189df78e3ce87a40"},this.open?this.showLessLabel:this.showMoreLabel))))}get element(){return i(this)}};m.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:block}.duet-show-more{margin-bottom:16px !important;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(8, 42, 77)}.duet-show-more.duet-m-0{margin:0 !important}.duet-show-more .slotted-content{display:none}.duet-show-more.open .slotted-content{display:block}.duet-show-more .content:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-show-more .content:focus,.duet-show-more .content:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-show-more.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}';export{m as duet_show_more}