@duetds/components 5.1.7 → 5.2.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 (387) hide show
  1. package/hydrate/index.js +219 -37
  2. package/lib/cjs/duet-action-button.cjs.entry.js +16 -8
  3. package/lib/cjs/duet-alert.cjs.entry.js +2 -2
  4. package/lib/cjs/duet-badge.cjs.entry.js +2 -2
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +3 -3
  7. package/lib/cjs/duet-button_2.cjs.entry.js +17 -2
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-card.cjs.entry.js +2 -2
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +15 -3
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +16 -4
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-combobox.cjs.entry.js +2 -2
  14. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-date-picker.cjs.entry.js +3 -4
  16. package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-editable-table_3.cjs.entry.js +3 -4
  18. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  19. package/lib/cjs/duet-fieldset.cjs.entry.js +2 -2
  20. package/lib/cjs/duet-footer.cjs.entry.js +2 -2
  21. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-hero.cjs.entry.js +2 -2
  24. package/lib/cjs/duet-icon.cjs.entry.js +2 -2
  25. package/lib/cjs/duet-input_2.cjs.entry.js +18 -4
  26. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
  28. package/lib/cjs/duet-modal.cjs.entry.js +12 -4
  29. package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
  30. package/lib/cjs/duet-number-input.cjs.entry.js +15 -3
  31. package/lib/cjs/duet-pagination_2.cjs.entry.js +19 -3
  32. package/lib/cjs/duet-progress.cjs.entry.js +15 -3
  33. package/lib/cjs/duet-radio_2.cjs.entry.js +15 -3
  34. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  35. package/lib/cjs/duet-scrollable_3.cjs.entry.js +2 -2
  36. package/lib/cjs/duet-select.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-step_2.cjs.entry.js +2 -2
  38. package/lib/cjs/duet-textarea.cjs.entry.js +17 -3
  39. package/lib/cjs/duet-toggle.cjs.entry.js +15 -3
  40. package/lib/cjs/duet-tooltip.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  42. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  44. package/lib/cjs/duet.cjs.js +2 -2
  45. package/lib/cjs/{focus-utils-dacb5c04.js → focus-utils-bfb10d32.js} +1 -1
  46. package/lib/cjs/{index-3c28214c.js → index-a4844346.js} +1 -1
  47. package/lib/cjs/loader.cjs.js +2 -2
  48. package/lib/cjs/{themeable-component-940d3b50.js → themeable-component-fdeaef9f.js} +0 -0
  49. package/lib/collection/{utils/form-components.js → common/a11y-component.js} +0 -0
  50. package/lib/collection/common/form-components.js +4 -0
  51. package/lib/collection/common/index.js +4 -0
  52. package/lib/collection/{utils → common}/themeable-component.js +0 -0
  53. package/lib/collection/components/duet-action-button/duet-action-button.js +57 -13
  54. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  55. package/lib/collection/components/duet-badge/duet-badge.js +1 -1
  56. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +1 -1
  57. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.css +1 -1
  58. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +1 -1
  59. package/lib/collection/components/duet-button/duet-button.js +70 -1
  60. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  61. package/lib/collection/components/duet-card/duet-card.js +1 -1
  62. package/lib/collection/components/duet-checkbox/duet-checkbox.js +68 -2
  63. package/lib/collection/components/duet-choice/duet-choice.js +68 -2
  64. package/lib/collection/components/duet-choice-group/duet-choice-group.js +1 -1
  65. package/lib/collection/components/duet-collapsible/duet-collapsible.js +1 -1
  66. package/lib/collection/components/duet-combobox/duet-combobox.js +1 -1
  67. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  68. package/lib/collection/components/duet-date-picker/duet-date-picker.js +1 -1
  69. package/lib/collection/components/duet-date-picker/utils.js +0 -1
  70. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  71. package/lib/collection/components/duet-editable-table/duet-editable-table.js +1 -1
  72. package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
  73. package/lib/collection/components/duet-fieldset/duet-fieldset.js +1 -1
  74. package/lib/collection/components/duet-footer/duet-footer.js +1 -1
  75. package/lib/collection/components/duet-grid-item/duet-grid-item.js +1 -1
  76. package/lib/collection/components/duet-header/duet-header.css +1 -1
  77. package/lib/collection/components/duet-header/duet-header.js +1 -1
  78. package/lib/collection/components/duet-heading/duet-heading.css +3 -0
  79. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  80. package/lib/collection/components/duet-hero/duet-hero.js +1 -1
  81. package/lib/collection/components/duet-icon/duet-icon.js +1 -1
  82. package/lib/collection/components/duet-input/duet-input.js +72 -4
  83. package/lib/collection/components/duet-label/duet-label.js +1 -1
  84. package/lib/collection/components/duet-link/duet-link.js +1 -1
  85. package/lib/collection/components/duet-list/duet-list.js +1 -1
  86. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  87. package/lib/collection/components/duet-modal/duet-modal.js +80 -2
  88. package/lib/collection/components/duet-notification/duet-notification.js +1 -1
  89. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
  90. package/lib/collection/components/duet-number-input/duet-number-input.js +68 -2
  91. package/lib/collection/components/duet-pagination/duet-pagination.js +90 -2
  92. package/lib/collection/components/duet-paragraph/duet-paragraph.js +1 -1
  93. package/lib/collection/components/duet-progress/duet-progress.js +68 -2
  94. package/lib/collection/components/duet-radio/duet-radio.js +68 -2
  95. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  96. package/lib/collection/components/duet-range-slider/duet-range-slider.js +1 -1
  97. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
  98. package/lib/collection/components/duet-scrollable/duet-scrollable.js +1 -1
  99. package/lib/collection/components/duet-select/duet-select.js +1 -1
  100. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  101. package/lib/collection/components/duet-step/duet-step.js +1 -1
  102. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  103. package/lib/collection/components/duet-tab-group/duet-tab-group.js +1 -1
  104. package/lib/collection/components/duet-table/duet-table.js +1 -1
  105. package/lib/collection/components/duet-textarea/duet-textarea.js +70 -2
  106. package/lib/collection/components/duet-toggle/duet-toggle.js +68 -2
  107. package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
  108. package/lib/collection/components/duet-tray/duet-tray.js +1 -1
  109. package/lib/collection/components/duet-upload/duet-upload.css +9 -1
  110. package/lib/collection/components/duet-upload/duet-upload.js +1 -1
  111. package/lib/collection/components/duet-upload/upload-editable-item-inprogres.js +0 -1
  112. package/lib/custom-elements-bundle/index.js +190 -45
  113. package/lib/duet/duet.esm.js +1 -1
  114. package/lib/duet/duet.js +1 -1
  115. package/lib/duet/{p-ebc74446.system.entry.js → p-00bf0bb9.system.entry.js} +1 -1
  116. package/lib/duet/{p-c8e5372d.system.entry.js → p-01478a01.system.entry.js} +2 -2
  117. package/lib/duet/{p-7fb73896.entry.js → p-030e20d7.entry.js} +1 -1
  118. package/lib/duet/p-03b6ce80.entry.js +4 -0
  119. package/lib/duet/{p-fa7e8f3a.entry.js → p-04061cef.entry.js} +1 -1
  120. package/lib/duet/p-05e069d8.entry.js +4 -0
  121. package/lib/duet/{p-dff4f263.system.entry.js → p-071ebe1d.system.entry.js} +1 -1
  122. package/lib/duet/p-08eb2200.entry.js +4 -0
  123. package/lib/duet/{p-6dcbf41c.entry.js → p-0ae816ee.entry.js} +1 -1
  124. package/lib/duet/{p-f4526da3.system.entry.js → p-0bee3151.system.entry.js} +1 -1
  125. package/lib/duet/{p-8f436ae6.system.entry.js → p-10585f06.system.entry.js} +1 -1
  126. package/lib/duet/{p-31313016.system.js → p-12c89686.system.js} +1 -1
  127. package/lib/duet/{p-63a69534.system.entry.js → p-19100783.system.entry.js} +2 -2
  128. package/lib/duet/{p-75c4b4b0.system.entry.js → p-1ff51ad8.system.entry.js} +1 -1
  129. package/lib/duet/{p-99796362.system.entry.js → p-24721182.system.entry.js} +1 -1
  130. package/lib/duet/{p-39d463ef.entry.js → p-271107d8.entry.js} +1 -1
  131. package/lib/duet/p-285714dd.entry.js +4 -0
  132. package/lib/duet/{p-35c9a248.system.entry.js → p-30e901f2.system.entry.js} +1 -1
  133. package/lib/duet/p-3260eef0.entry.js +4 -0
  134. package/lib/duet/{p-26798bd0.system.entry.js → p-33388bf3.system.entry.js} +1 -1
  135. package/lib/duet/{p-6b03322b.system.js → p-33b3aba4.system.js} +0 -0
  136. package/lib/duet/p-360f8fff.system.entry.js +4 -0
  137. package/lib/duet/{p-5cf3316c.js → p-37dc064c.js} +1 -1
  138. package/lib/duet/{p-1ab0849a.entry.js → p-41cc3490.entry.js} +1 -1
  139. package/lib/duet/{p-60d00e2c.system.entry.js → p-423d4211.system.entry.js} +1 -1
  140. package/lib/duet/p-437fe50b.system.entry.js +4 -0
  141. package/lib/duet/{p-9ee12daa.system.entry.js → p-495a1326.system.entry.js} +1 -1
  142. package/lib/duet/p-4972c76e.system.js +4 -0
  143. package/lib/duet/p-4a7f290f.entry.js +4 -0
  144. package/lib/duet/{p-abf8eaf7.js → p-4ebf1618.js} +0 -0
  145. package/lib/duet/{p-a2a63b2b.entry.js → p-53ad61ed.entry.js} +1 -1
  146. package/lib/duet/{p-3df27412.entry.js → p-56d3e64f.entry.js} +1 -1
  147. package/lib/duet/p-5a5d8fb1.entry.js +4 -0
  148. package/lib/duet/p-5b1cbe5b.entry.js +4 -0
  149. package/lib/duet/{p-5f0ed156.system.entry.js → p-5f009925.system.entry.js} +1 -1
  150. package/lib/duet/{p-3f3fa7a0.system.entry.js → p-641edb93.system.entry.js} +1 -1
  151. package/lib/duet/p-64685397.entry.js +4 -0
  152. package/lib/duet/{p-ff8b4019.system.entry.js → p-66536958.system.entry.js} +1 -1
  153. package/lib/duet/{p-765605cb.entry.js → p-68cbc3b7.entry.js} +1 -1
  154. package/lib/duet/{p-ffd8fc7d.entry.js → p-6a843f9e.entry.js} +1 -1
  155. package/lib/duet/p-7021d0c6.system.entry.js +4 -0
  156. package/lib/duet/{p-25f6c176.entry.js → p-72739cec.entry.js} +1 -1
  157. package/lib/duet/{p-a7ba18b5.system.entry.js → p-73cd4f03.system.entry.js} +1 -1
  158. package/lib/duet/{p-007e7fd1.system.entry.js → p-76e38bb2.system.entry.js} +2 -2
  159. package/lib/duet/{p-9d275136.entry.js → p-78de93b3.entry.js} +1 -1
  160. package/lib/duet/{p-d9cf279a.entry.js → p-790ee851.entry.js} +1 -1
  161. package/lib/duet/{p-2c6cd4a3.system.entry.js → p-7a4764db.system.entry.js} +1 -1
  162. package/lib/duet/{p-baab37cb.system.entry.js → p-7fe67436.system.entry.js} +2 -2
  163. package/lib/duet/p-88ffd1cc.entry.js +4 -0
  164. package/lib/duet/{p-72f1bbf5.entry.js → p-9406ee60.entry.js} +1 -1
  165. package/lib/duet/p-9496d6d4.entry.js +4 -0
  166. package/lib/duet/{p-bb544c8e.entry.js → p-95a0db46.entry.js} +1 -1
  167. package/lib/duet/{p-b48329a9.entry.js → p-95e1a336.entry.js} +1 -1
  168. package/lib/duet/p-971f42d6.system.entry.js +4 -0
  169. package/lib/duet/{p-0e22e052.entry.js → p-97f1e254.entry.js} +1 -1
  170. package/lib/duet/{p-5670d324.system.entry.js → p-98039227.system.entry.js} +1 -1
  171. package/lib/duet/{p-4d2dbe9e.js → p-98a9556f.js} +1 -1
  172. package/lib/duet/p-9920ad3b.entry.js +4 -0
  173. package/lib/duet/{p-fa551382.system.entry.js → p-99fe93c6.system.entry.js} +1 -1
  174. package/lib/duet/{p-f230db10.entry.js → p-a2fa0049.entry.js} +1 -1
  175. package/lib/duet/{p-b10db43a.system.entry.js → p-a509cc2b.system.entry.js} +1 -1
  176. package/lib/duet/p-a76bf729.entry.js +4 -0
  177. package/lib/duet/{p-019b0bda.system.entry.js → p-a843e579.system.entry.js} +1 -1
  178. package/lib/duet/{p-377ab392.system.entry.js → p-afd34b6b.system.entry.js} +1 -1
  179. package/lib/duet/{p-6429b742.entry.js → p-b08bb1fd.entry.js} +1 -1
  180. package/lib/duet/{p-038eebd9.entry.js → p-b0a4dc6d.entry.js} +1 -1
  181. package/lib/duet/{p-8dcd021f.system.entry.js → p-b16befbc.system.entry.js} +1 -1
  182. package/lib/duet/{p-79626865.system.entry.js → p-b35d6368.system.entry.js} +1 -1
  183. package/lib/duet/{p-cee7aad6.system.entry.js → p-b4ca3864.system.entry.js} +1 -1
  184. package/lib/duet/{p-988f0b81.system.entry.js → p-b51928dc.system.entry.js} +1 -1
  185. package/lib/duet/p-b7462f8c.system.entry.js +4 -0
  186. package/lib/duet/p-b8623ab8.entry.js +4 -0
  187. package/lib/duet/{p-030290f4.entry.js → p-bb4d8e7b.entry.js} +1 -1
  188. package/lib/duet/p-bf87d801.entry.js +4 -0
  189. package/lib/duet/p-c0aca70c.entry.js +4 -0
  190. package/lib/duet/{p-ba66186c.system.entry.js → p-c1d55269.system.entry.js} +1 -1
  191. package/lib/duet/{p-3f319ed0.entry.js → p-c7657242.entry.js} +1 -1
  192. package/lib/duet/{p-861046b1.entry.js → p-cb8ebdd7.entry.js} +1 -1
  193. package/lib/duet/{p-0f2a1f01.system.entry.js → p-d33b5ac5.system.entry.js} +1 -1
  194. package/lib/duet/{p-1b6e8581.system.entry.js → p-d4dba079.system.entry.js} +1 -1
  195. package/lib/duet/{p-9cd00e15.system.entry.js → p-e75c7aa8.system.entry.js} +1 -1
  196. package/lib/duet/{p-485ace7b.system.js → p-e7b761c5.system.js} +1 -1
  197. package/lib/duet/{p-e4be787a.system.entry.js → p-e8f8374b.system.entry.js} +2 -2
  198. package/lib/duet/{p-70ac68bd.entry.js → p-ec6d63fc.entry.js} +1 -1
  199. package/lib/duet/{p-c6c7b718.system.entry.js → p-ee97a406.system.entry.js} +2 -2
  200. package/lib/duet/{p-7fbd5a6f.system.entry.js → p-f5613315.system.entry.js} +2 -2
  201. package/lib/duet/p-f91e88e3.system.entry.js +4 -0
  202. package/lib/duet/p-fbec1a47.entry.js +4 -0
  203. package/lib/duet/p-fd0a3ab7.entry.js +4 -0
  204. package/lib/duet/p-fe99b9cb.entry.js +4 -0
  205. package/lib/duet/p-fef3a403.system.entry.js +4 -0
  206. package/lib/esm/duet-action-button.entry.js +16 -8
  207. package/lib/esm/duet-alert.entry.js +2 -2
  208. package/lib/esm/duet-badge.entry.js +2 -2
  209. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  210. package/lib/esm/duet-breadcrumbs.entry.js +3 -3
  211. package/lib/esm/duet-button_2.entry.js +17 -2
  212. package/lib/esm/duet-caption_4.entry.js +3 -3
  213. package/lib/esm/duet-card.entry.js +2 -2
  214. package/lib/esm/duet-checkbox.entry.js +15 -3
  215. package/lib/esm/duet-choice_2.entry.js +16 -4
  216. package/lib/esm/duet-collapsible.entry.js +2 -2
  217. package/lib/esm/duet-combobox.entry.js +2 -2
  218. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  219. package/lib/esm/duet-date-picker.entry.js +3 -4
  220. package/lib/esm/duet-divider_2.entry.js +2 -2
  221. package/lib/esm/duet-editable-table_3.entry.js +3 -4
  222. package/lib/esm/duet-empty-state.entry.js +2 -2
  223. package/lib/esm/duet-fieldset.entry.js +2 -2
  224. package/lib/esm/duet-footer.entry.js +2 -2
  225. package/lib/esm/duet-grid_2.entry.js +2 -2
  226. package/lib/esm/duet-header_2.entry.js +3 -3
  227. package/lib/esm/duet-hero.entry.js +2 -2
  228. package/lib/esm/duet-icon.entry.js +2 -2
  229. package/lib/esm/duet-input_2.entry.js +18 -4
  230. package/lib/esm/duet-layout.entry.js +1 -1
  231. package/lib/esm/duet-list_2.entry.js +2 -2
  232. package/lib/esm/duet-modal.entry.js +12 -4
  233. package/lib/esm/duet-notification_2.entry.js +2 -2
  234. package/lib/esm/duet-number-input.entry.js +15 -3
  235. package/lib/esm/duet-pagination_2.entry.js +19 -3
  236. package/lib/esm/duet-progress.entry.js +15 -3
  237. package/lib/esm/duet-radio_2.entry.js +15 -3
  238. package/lib/esm/duet-range-slider.entry.js +2 -2
  239. package/lib/esm/duet-scrollable_3.entry.js +2 -2
  240. package/lib/esm/duet-select.entry.js +2 -2
  241. package/lib/esm/duet-step_2.entry.js +2 -2
  242. package/lib/esm/duet-textarea.entry.js +17 -3
  243. package/lib/esm/duet-toggle.entry.js +15 -3
  244. package/lib/esm/duet-tooltip.entry.js +2 -2
  245. package/lib/esm/duet-tray.entry.js +2 -2
  246. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  247. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  248. package/lib/esm/duet.js +2 -2
  249. package/lib/esm/{focus-utils-00743137.js → focus-utils-3af074ea.js} +1 -1
  250. package/lib/esm/{index-ef96b4ca.js → index-ab2bfa68.js} +1 -1
  251. package/lib/esm/loader.js +2 -2
  252. package/lib/esm/{themeable-component-e8fc98bf.js → themeable-component-cb76be7c.js} +0 -0
  253. package/lib/esm-es5/duet-action-button.entry.js +2 -2
  254. package/lib/esm-es5/duet-alert.entry.js +1 -1
  255. package/lib/esm-es5/duet-badge.entry.js +1 -1
  256. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  257. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  258. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  259. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  260. package/lib/esm-es5/duet-card.entry.js +1 -1
  261. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  262. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  263. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  264. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  265. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  266. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  267. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  268. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  269. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  270. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  271. package/lib/esm-es5/duet-footer.entry.js +1 -1
  272. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  273. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  274. package/lib/esm-es5/duet-hero.entry.js +1 -1
  275. package/lib/esm-es5/duet-icon.entry.js +1 -1
  276. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  277. package/lib/esm-es5/duet-layout.entry.js +1 -1
  278. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  279. package/lib/esm-es5/duet-modal.entry.js +2 -2
  280. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  281. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  282. package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
  283. package/lib/esm-es5/duet-progress.entry.js +1 -1
  284. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  285. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  286. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  287. package/lib/esm-es5/duet-select.entry.js +1 -1
  288. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  289. package/lib/esm-es5/duet-textarea.entry.js +2 -2
  290. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  291. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  292. package/lib/esm-es5/duet-tray.entry.js +1 -1
  293. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  294. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  295. package/lib/esm-es5/duet.js +1 -1
  296. package/lib/esm-es5/focus-utils-3af074ea.js +4 -0
  297. package/lib/esm-es5/{index-ef96b4ca.js → index-ab2bfa68.js} +1 -1
  298. package/lib/esm-es5/loader.js +1 -1
  299. package/lib/esm-es5/{themeable-component-e8fc98bf.js → themeable-component-cb76be7c.js} +0 -0
  300. package/lib/types/common/a11y-component.d.ts +13 -0
  301. package/lib/types/{utils → common}/form-components.d.ts +0 -1
  302. package/lib/types/common/index.d.ts +3 -0
  303. package/lib/types/{utils → common}/themeable-component.d.ts +0 -0
  304. package/lib/types/components/duet-action-button/duet-action-button.d.ts +15 -7
  305. package/lib/types/components/duet-alert/duet-alert.d.ts +1 -1
  306. package/lib/types/components/duet-badge/duet-badge.d.ts +1 -1
  307. package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +1 -1
  308. package/lib/types/components/duet-breadcrumbs/duet-breadcrumbs.d.ts +1 -1
  309. package/lib/types/components/duet-button/duet-button.d.ts +14 -3
  310. package/lib/types/components/duet-caption/duet-caption.d.ts +1 -1
  311. package/lib/types/components/duet-card/duet-card.d.ts +1 -1
  312. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +14 -3
  313. package/lib/types/components/duet-choice/duet-choice.d.ts +14 -3
  314. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -1
  315. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +1 -1
  316. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -1
  317. package/lib/types/components/duet-cookie-consent/duet-cookie-consent.d.ts +1 -1
  318. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +2 -2
  319. package/lib/types/components/duet-divider/duet-divider.d.ts +1 -1
  320. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +1 -1
  321. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +1 -1
  322. package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +1 -1
  323. package/lib/types/components/duet-footer/duet-footer.d.ts +1 -1
  324. package/lib/types/components/duet-grid-item/duet-grid-item.d.ts +1 -1
  325. package/lib/types/components/duet-header/duet-header.d.ts +1 -1
  326. package/lib/types/components/duet-heading/duet-heading.d.ts +1 -1
  327. package/lib/types/components/duet-hero/duet-hero.d.ts +1 -1
  328. package/lib/types/components/duet-icon/duet-icon.d.ts +1 -1
  329. package/lib/types/components/duet-input/duet-input.d.ts +15 -4
  330. package/lib/types/components/duet-label/duet-label.d.ts +1 -1
  331. package/lib/types/components/duet-link/duet-link.d.ts +1 -1
  332. package/lib/types/components/duet-list/duet-list.d.ts +1 -1
  333. package/lib/types/components/duet-logo/duet-logo.d.ts +1 -1
  334. package/lib/types/components/duet-modal/duet-modal.d.ts +18 -2
  335. package/lib/types/components/duet-notification/duet-notification.d.ts +1 -1
  336. package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +1 -1
  337. package/lib/types/components/duet-number-input/duet-number-input.d.ts +14 -3
  338. package/lib/types/components/duet-pagination/duet-pagination.d.ts +18 -2
  339. package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +1 -1
  340. package/lib/types/components/duet-progress/duet-progress.d.ts +14 -2
  341. package/lib/types/components/duet-radio/duet-radio.d.ts +14 -3
  342. package/lib/types/components/duet-radio-group/duet-radio-group.d.ts +1 -1
  343. package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +2 -2
  344. package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +1 -1
  345. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +1 -1
  346. package/lib/types/components/duet-select/duet-select.d.ts +2 -2
  347. package/lib/types/components/duet-spinner/duet-spinner.d.ts +1 -1
  348. package/lib/types/components/duet-step/duet-step.d.ts +1 -1
  349. package/lib/types/components/duet-stepper/duet-stepper.d.ts +1 -1
  350. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +1 -1
  351. package/lib/types/components/duet-table/duet-table.d.ts +1 -1
  352. package/lib/types/components/duet-textarea/duet-textarea.d.ts +14 -3
  353. package/lib/types/components/duet-toggle/duet-toggle.d.ts +14 -3
  354. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +1 -1
  355. package/lib/types/components/duet-tray/duet-tray.d.ts +1 -1
  356. package/lib/types/components/duet-upload/duet-upload.d.ts +2 -2
  357. package/lib/types/components.d.ts +328 -32
  358. package/package.json +7 -8
  359. package/lib/duet/p-017e5a08.system.js +0 -4
  360. package/lib/duet/p-0e0d40ae.system.entry.js +0 -4
  361. package/lib/duet/p-20220d27.entry.js +0 -4
  362. package/lib/duet/p-35820b00.entry.js +0 -4
  363. package/lib/duet/p-3638aa71.entry.js +0 -4
  364. package/lib/duet/p-3bfe748f.entry.js +0 -4
  365. package/lib/duet/p-3c51c1b0.entry.js +0 -4
  366. package/lib/duet/p-5fcd9397.system.entry.js +0 -4
  367. package/lib/duet/p-67f357aa.system.entry.js +0 -4
  368. package/lib/duet/p-79460e68.system.entry.js +0 -4
  369. package/lib/duet/p-7b11807c.system.entry.js +0 -4
  370. package/lib/duet/p-7f39ca93.entry.js +0 -4
  371. package/lib/duet/p-8a7d3c68.entry.js +0 -4
  372. package/lib/duet/p-8cc88eaf.entry.js +0 -4
  373. package/lib/duet/p-8e520b00.entry.js +0 -4
  374. package/lib/duet/p-9187e214.entry.js +0 -4
  375. package/lib/duet/p-93bcf12a.entry.js +0 -4
  376. package/lib/duet/p-a37dcf98.system.entry.js +0 -4
  377. package/lib/duet/p-a447685e.system.entry.js +0 -4
  378. package/lib/duet/p-ba583a54.entry.js +0 -4
  379. package/lib/duet/p-c54340fd.entry.js +0 -4
  380. package/lib/duet/p-ce511dc5.entry.js +0 -4
  381. package/lib/duet/p-d44434a8.entry.js +0 -4
  382. package/lib/duet/p-e53e48a8.entry.js +0 -4
  383. package/lib/duet/p-e934f859.entry.js +0 -4
  384. package/lib/duet/p-f4e58e80.entry.js +0 -4
  385. package/lib/duet/p-fe1ea738.entry.js +0 -4
  386. package/lib/esm-es5/focus-utils-00743137.js +0 -4
  387. package/lib/html.html-data.json +0 -5370
@@ -2,7 +2,7 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, h, Host, Prop } from "@stencil/core";
5
- import { inheritGlobalTheme } from "../../utils/themeable-component";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  export class DuetGridItem {
7
7
  constructor() {
8
8
  /**
@@ -292,11 +292,11 @@
292
292
  }
293
293
  @media (min-width: 62em) {
294
294
  .duet-header-items .duet-header-item {
295
+ font-weight: 600;
295
296
  border-radius: 4px;
296
297
  }
297
298
  }
298
299
  .duet-theme-turva .duet-header-items .duet-header-item {
299
- font-weight: 600;
300
300
  color: #171c3a;
301
301
  border-color: #e1e3e6;
302
302
  }
@@ -11,10 +11,10 @@ import { media_query_large } from "@duetds/tokens/lib/tokens.json";
11
11
  import { Build, Component, Element, Event, Fragment, h, Host, Listen, Method, Prop, State, Watch, } from "@stencil/core";
12
12
  import { disableBodyScroll, enableBodyScroll } from "body-scroll-lock/lib/bodyScrollLock.es6.js";
13
13
  import { DuetStringsExternalDefaults } from "../../common-strings";
14
+ import { inheritGlobalTheme } from "../../common/themeable-component";
14
15
  import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, isEscapeKey, isSpaceKey, } from "../../utils/keyboard-utils";
15
16
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
16
17
  import { parsePossibleJSON } from "../../utils/string-utils";
17
- import { inheritGlobalTheme } from "../../utils/themeable-component";
18
18
  import { DuetHeaderDropdown } from "./duet-header-dropdown";
19
19
  import { DuetHeaderHamburger } from "./duet-header-hamburger";
20
20
  import { DuetHeaderIcon } from "./duet-header-icon";
@@ -127,6 +127,9 @@
127
127
  font-size: 2.25rem;
128
128
  }
129
129
  }
130
+ .duet-heading.h2.duet-theme-turva {
131
+ font-style: normal;
132
+ }
130
133
  @media (max-width: 22.5em) {
131
134
  .duet-heading.h2 {
132
135
  font-size: 1.375rem;
@@ -2,8 +2,8 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, h, Prop } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
5
6
  import { sanitizeString } from "../../utils/string-utils";
6
- import { inheritGlobalTheme } from "../../utils/themeable-component";
7
7
  import { getColorByName } from "../../utils/token-utils";
8
8
  export class DuetHeading {
9
9
  constructor() {
@@ -4,9 +4,9 @@
4
4
  import newWindowIcon from "@duetds/icons/lib/assets/action-new-window-small";
5
5
  import { Component, Element, Event, h, Prop, State, Watch } from "@stencil/core";
6
6
  import { DuetStringsExternalDefaults } from "../../common-strings";
7
+ import { inheritGlobalTheme } from "../../common/themeable-component";
7
8
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
8
9
  import { parsePossibleJSON } from "../../utils/string-utils";
9
- import { inheritGlobalTheme } from "../../utils/themeable-component";
10
10
  /**
11
11
  * @slot default - This is an unamed slot for a text or extra button that is placed after any buttons (or list item)
12
12
  * @slot badge - This is a slot for a status badge that sits next to pre-heading inside the hero component.
@@ -2,7 +2,7 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Build, Component, Element, h, Host, Prop, State, Watch } from "@stencil/core";
5
- import { inheritGlobalTheme } from "../../utils/themeable-component";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  import { getColorByName } from "../../utils/token-utils";
7
7
  import { buildIconUrl, fetchIconByUrl } from "./icon-utils";
8
8
  export class DuetIcon {
@@ -4,11 +4,11 @@
4
4
  import emailIcon from "@duetds/icons/lib/assets/form-email";
5
5
  import searchIcon from "@duetds/icons/lib/assets/form-search";
6
6
  import { Component, Element, Event, h, Host, Method, Prop, Watch } from "@stencil/core";
7
+ import { inheritGlobalTheme } from "../../common";
7
8
  import { createID } from "../../utils/create-id";
8
9
  import { cleanValue, resetCursor } from "../../utils/input-utils";
9
10
  import { isEscapeKey } from "../../utils/keyboard-utils";
10
11
  import { getLocaleString } from "../../utils/language-utils";
11
- import { inheritGlobalTheme } from "../../utils/themeable-component";
12
12
  const icons = {
13
13
  search: searchIcon,
14
14
  email: emailIcon,
@@ -31,13 +31,25 @@ export class DuetInput {
31
31
  sv: "Rensa",
32
32
  });
33
33
  /**
34
- * Indicates the id of a component that describes the input.
34
+ * Indicates the id or a string of space seperated ids of a component(s) that describes the input.
35
35
  */
36
36
  this.accessibleDescribedBy = "";
37
37
  /**
38
38
  * Indicates value of any popup element associated with the input.
39
39
  */
40
40
  this.accessibleHasPopup = undefined;
41
+ /**
42
+ * Aria Details of the component
43
+ */
44
+ this.accessibleDetails = undefined;
45
+ /**
46
+ * String of id's that indicate alternative labels elements
47
+ */
48
+ this.accessibleLabelledBy = undefined;
49
+ /**
50
+ * Aria description the button
51
+ */
52
+ this.accessibleDescription = undefined;
41
53
  /**
42
54
  * Set the amount of time, in milliseconds, to wait to trigger the duetChange
43
55
  * event after each keystroke.
@@ -290,7 +302,9 @@ export class DuetInput {
290
302
  disabled: this.disabled,
291
303
  "is-number": this.component === "number",
292
304
  "is-date": this.component === "date",
293
- }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": `${this.labelId} ${this.errorId}`, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)),
305
+ }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": this.accessibleLabelledBy
306
+ ? `${this.labelId} ${this.errorId} ${this.accessibleLabelledBy}`
307
+ : `${this.labelId} ${this.errorId}`, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)),
294
308
  !this.icon &&
295
309
  this.type !== "text" &&
296
310
  this.type !== "tel" &&
@@ -412,7 +426,7 @@ export class DuetInput {
412
426
  "optional": false,
413
427
  "docs": {
414
428
  "tags": [],
415
- "text": "Indicates the id of a component that describes the input."
429
+ "text": "Indicates the id or a string of space seperated ids of a component(s) that describes the input."
416
430
  },
417
431
  "attribute": "accessible-described-by",
418
432
  "reflect": false,
@@ -436,6 +450,60 @@ export class DuetInput {
436
450
  "reflect": false,
437
451
  "defaultValue": "undefined"
438
452
  },
453
+ "accessibleDetails": {
454
+ "type": "string",
455
+ "mutable": false,
456
+ "complexType": {
457
+ "original": "string",
458
+ "resolved": "string",
459
+ "references": {}
460
+ },
461
+ "required": false,
462
+ "optional": false,
463
+ "docs": {
464
+ "tags": [],
465
+ "text": "Aria Details of the component"
466
+ },
467
+ "attribute": "accessible-details",
468
+ "reflect": false,
469
+ "defaultValue": "undefined"
470
+ },
471
+ "accessibleLabelledBy": {
472
+ "type": "string",
473
+ "mutable": false,
474
+ "complexType": {
475
+ "original": "string",
476
+ "resolved": "string",
477
+ "references": {}
478
+ },
479
+ "required": false,
480
+ "optional": false,
481
+ "docs": {
482
+ "tags": [],
483
+ "text": "String of id's that indicate alternative labels elements"
484
+ },
485
+ "attribute": "accessible-labelled-by",
486
+ "reflect": false,
487
+ "defaultValue": "undefined"
488
+ },
489
+ "accessibleDescription": {
490
+ "type": "string",
491
+ "mutable": false,
492
+ "complexType": {
493
+ "original": "string",
494
+ "resolved": "string",
495
+ "references": {}
496
+ },
497
+ "required": false,
498
+ "optional": false,
499
+ "docs": {
500
+ "tags": [],
501
+ "text": "Aria description the button"
502
+ },
503
+ "attribute": "accessible-description",
504
+ "reflect": false,
505
+ "defaultValue": "undefined"
506
+ },
439
507
  "debounce": {
440
508
  "type": "number",
441
509
  "mutable": false,
@@ -2,7 +2,7 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, h, Host, Prop } from "@stencil/core";
5
- import { inheritGlobalTheme } from "../../utils/themeable-component";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  export class DuetLabel {
7
7
  constructor() {
8
8
  /**
@@ -4,8 +4,8 @@
4
4
  import newWindowIcon from "@duetds/icons/lib/assets/action-new-window-small";
5
5
  import { Build, Component, Fragment, h, Host, Method, Prop } from "@stencil/core";
6
6
  import { DuetStringsExternalDefaults } from "../../common-strings";
7
+ import { inheritGlobalTheme } from "../../common/themeable-component";
7
8
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
8
- import { inheritGlobalTheme } from "../../utils/themeable-component";
9
9
  /**
10
10
  * @part duet-link - piercing selector for styling the link
11
11
  */
@@ -2,7 +2,7 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, h, Prop, Watch } from "@stencil/core";
5
- import { inheritGlobalTheme } from "../../utils/themeable-component";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  import { watchForOptions } from "../../utils/watch-options";
7
7
  export class DuetList {
8
8
  constructor() {
@@ -3,9 +3,9 @@
3
3
  */
4
4
  import { colorBrandBlue, colorBrandGrayTurva, colorGrayLightest, colorPrimaryTurva } from "@duetds/tokens";
5
5
  import { Component, Element, h, Host, Method, Prop } from "@stencil/core";
6
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
7
  import { createID } from "../../utils/create-id";
7
8
  import { getLanguage } from "../../utils/language-utils";
8
- import { inheritGlobalTheme } from "../../utils/themeable-component";
9
9
  const TurvaLogo = ({ inverse, logoId }) => {
10
10
  const logoColor = inverse ? colorGrayLightest : colorBrandGrayTurva;
11
11
  const textColor = inverse ? colorGrayLightest : colorPrimaryTurva;
@@ -3,11 +3,11 @@
3
3
  */
4
4
  import { Component, Element, Event, h, Listen, Method, Prop, State, Watch } from "@stencil/core";
5
5
  import { disableBodyScroll, enableBodyScroll } from "body-scroll-lock/lib/bodyScrollLock.es6.js";
6
+ import { inheritGlobalTheme } from "../../common";
6
7
  import { createID } from "../../utils/create-id";
7
8
  import { focusElement, FocusGuard } from "../../utils/focus-utils";
8
9
  import { isEscapeKey } from "../../utils/keyboard-utils";
9
10
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
10
- import { inheritGlobalTheme } from "../../utils/themeable-component";
11
11
  // The transition below is slightly higher than the actual CSS transition as VoiceOver on
12
12
  // iOS has otherwise problems moving the focus from modal back to the original element.
13
13
  // This issue is similar to what we’ve seen in Duet Date Picker + iOS VoiceOver.
@@ -71,6 +71,14 @@ export class DuetModal {
71
71
  * Size of the modal window.
72
72
  */
73
73
  this.size = "medium";
74
+ /**
75
+ * Details of the component
76
+ */
77
+ this.accessibleDetails = undefined;
78
+ /**
79
+ * Aria description the button
80
+ */
81
+ this.accessibleDescription = undefined;
74
82
  /**
75
83
  * Size of the modal window.
76
84
  */
@@ -212,7 +220,7 @@ export class DuetModal {
212
220
  iconColor = "primary-turva";
213
221
  closeColor = "secondary-turva";
214
222
  }
215
- return (h("div", { ref: modal => (this.modalEl = modal), "aria-labelledby": this.heading ? this.modalId : false, "aria-describedby": this.slotDefaultId, role: "dialog", "aria-modal": this.isSafariBrowser ? false : true, tabindex: "-1", "aria-flowto": this.slotDefaultId, class: {
223
+ return (h("div", { ref: modal => (this.modalEl = modal), "aria-labelledby": this.heading ? this.modalId : false, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy ? `${this.slotDefaultId} ${this.accessibleDescribedBy}` : this.slotDefaultId, role: "dialog", "aria-modal": this.isSafariBrowser ? false : true, tabindex: "-1", "aria-flowto": this.slotDefaultId, class: {
216
224
  "duet-modal-overlay": true,
217
225
  "duet-theme-turva": this.theme === "turva",
218
226
  "duet-modal-active": this.open,
@@ -356,6 +364,76 @@ export class DuetModal {
356
364
  "reflect": false,
357
365
  "defaultValue": "\"medium\""
358
366
  },
367
+ "accessibleDescribedBy": {
368
+ "type": "string",
369
+ "mutable": false,
370
+ "complexType": {
371
+ "original": "string",
372
+ "resolved": "string",
373
+ "references": {}
374
+ },
375
+ "required": false,
376
+ "optional": false,
377
+ "docs": {
378
+ "tags": [],
379
+ "text": "Indicates the id or a string of space seperated ids of a component(s) that describes the input."
380
+ },
381
+ "attribute": "accessible-described-by",
382
+ "reflect": false
383
+ },
384
+ "accessibleLabelledBy": {
385
+ "type": "string",
386
+ "mutable": false,
387
+ "complexType": {
388
+ "original": "string",
389
+ "resolved": "string",
390
+ "references": {}
391
+ },
392
+ "required": false,
393
+ "optional": false,
394
+ "docs": {
395
+ "tags": [],
396
+ "text": "Indicates the id or a string of space seperated ids of a component(s) that labels the input."
397
+ },
398
+ "attribute": "accessible-labelled-by",
399
+ "reflect": false
400
+ },
401
+ "accessibleDetails": {
402
+ "type": "string",
403
+ "mutable": false,
404
+ "complexType": {
405
+ "original": "string",
406
+ "resolved": "string",
407
+ "references": {}
408
+ },
409
+ "required": false,
410
+ "optional": false,
411
+ "docs": {
412
+ "tags": [],
413
+ "text": "Details of the component"
414
+ },
415
+ "attribute": "accessible-details",
416
+ "reflect": false,
417
+ "defaultValue": "undefined"
418
+ },
419
+ "accessibleDescription": {
420
+ "type": "string",
421
+ "mutable": false,
422
+ "complexType": {
423
+ "original": "string",
424
+ "resolved": "string",
425
+ "references": {}
426
+ },
427
+ "required": false,
428
+ "optional": false,
429
+ "docs": {
430
+ "tags": [],
431
+ "text": "Aria description the button"
432
+ },
433
+ "attribute": "accessible-description",
434
+ "reflect": false,
435
+ "defaultValue": "undefined"
436
+ },
359
437
  "gutterSize": {
360
438
  "type": "string",
361
439
  "mutable": false,
@@ -2,8 +2,8 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, h, Method, Prop } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
5
6
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
6
- import { inheritGlobalTheme } from "../../utils/themeable-component";
7
7
  export class DuetNotification {
8
8
  constructor() {
9
9
  /**
@@ -3,8 +3,8 @@
3
3
  */
4
4
  import arrowDownIcon from "@duetds/icons/lib/assets/action-arrow-down-small";
5
5
  import { Component, Element, h, Listen, Method, Prop, State } from "@stencil/core";
6
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
7
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
7
- import { inheritGlobalTheme } from "../../utils/themeable-component";
8
8
  const ESC_KEY = 27;
9
9
  export class DuetNotificationDrawer {
10
10
  constructor() {
@@ -4,10 +4,10 @@
4
4
  import addIcon from "@duetds/icons/lib/assets/action-add";
5
5
  import subtractIcon from "@duetds/icons/lib/assets/action-subtract";
6
6
  import { Component, Element, Event, h, Host, Method, Prop, State } from "@stencil/core";
7
+ import { inheritGlobalTheme } from "../../common";
7
8
  import { createID } from "../../utils/create-id";
8
9
  import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, isBackspaceKey, } from "../../utils/keyboard-utils";
9
10
  import { getLanguage, getLocale, getLocaleString } from "../../utils/language-utils";
10
- import { inheritGlobalTheme } from "../../utils/themeable-component";
11
11
  import { clamp, parseLocaleFloat, roundTo } from "./number-input-utils";
12
12
  export class DuetNumberInput {
13
13
  constructor() {
@@ -27,6 +27,18 @@ export class DuetNumberInput {
27
27
  * Unit for the number input.
28
28
  */
29
29
  this.unit = getLocale(this.language).money;
30
+ /**
31
+ * Details of the component
32
+ */
33
+ this.accessibleDetails = undefined;
34
+ /**
35
+ * String of id's that indicate alternative labels elements
36
+ */
37
+ this.accessibleLabelledBy = undefined;
38
+ /**
39
+ * Aria description the button
40
+ */
41
+ this.accessibleDescription = undefined;
30
42
  /**
31
43
  * Defaults for accessibleLive
32
44
  * @default {fi: "{current} euroa valittuna", en: "{current} euros selected", sv: "{current} valda euro"}
@@ -328,7 +340,7 @@ export class DuetNumberInput {
328
340
  "duet-m-0": this.margin === "none",
329
341
  } },
330
342
  h("div", { class: "duet-number-container" },
331
- h("duet-input", { ref: input => (this.duetInputElement = input), onDuetChange: event => this.handleChange(event), onDuetFocus: this.handleFocus, onDuetBlur: event => this.handleBlur(event), onKeyDown: event => this.handleKeyDown(event), label: this.label, value: this.value ? `${this.value} ${this.unit}` : "", error: this.error, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": cleanedValue != null ? cleanedValue : "", maxlength: maxlength, name: this.name, component: "number", required: this.required, disabled: this.disabled, role: this.role, labelHidden: this.labelHidden, tooltip: this.tooltip, identifier: identifier, theme: this.theme, margin: "none", expand: true, numericKeyboard: true, autoComplete: "off", type: "text", accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy },
343
+ h("duet-input", { ref: input => (this.duetInputElement = input), onDuetChange: event => this.handleChange(event), onDuetFocus: this.handleFocus, onDuetBlur: event => this.handleBlur(event), onKeyDown: event => this.handleKeyDown(event), label: this.label, value: this.value ? `${this.value} ${this.unit}` : "", error: this.error, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": cleanedValue != null ? cleanedValue : "", maxlength: maxlength, name: this.name, component: "number", required: this.required, disabled: this.disabled, role: this.role, labelHidden: this.labelHidden, tooltip: this.tooltip, identifier: identifier, theme: this.theme, margin: "none", expand: true, numericKeyboard: true, autoComplete: "off", type: "text", accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleLabelledBy: this.accessibleLabelledBy, accessibleDescription: this.accessibleDescription, accessibleDetails: this.accessibleDetails, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy },
332
344
  h("div", { class: { "duet-number-buttons": true, "duet-no-label": this.labelHidden } },
333
345
  h("button", { "aria-controls": identifier, disabled: this.disabled, "aria-disabled": cleanedValue == null || cleanedValue === this.min ? "true" : "false", class: "duet-number-button duet-number-button-subtract", onClick: this.subtract, type: "button" },
334
346
  h("duet-visually-hidden", null,
@@ -457,6 +469,60 @@ export class DuetNumberInput {
457
469
  "attribute": "accessible-controls",
458
470
  "reflect": false
459
471
  },
472
+ "accessibleDetails": {
473
+ "type": "string",
474
+ "mutable": false,
475
+ "complexType": {
476
+ "original": "string",
477
+ "resolved": "string",
478
+ "references": {}
479
+ },
480
+ "required": false,
481
+ "optional": false,
482
+ "docs": {
483
+ "tags": [],
484
+ "text": "Details of the component"
485
+ },
486
+ "attribute": "accessible-details",
487
+ "reflect": false,
488
+ "defaultValue": "undefined"
489
+ },
490
+ "accessibleLabelledBy": {
491
+ "type": "string",
492
+ "mutable": false,
493
+ "complexType": {
494
+ "original": "string",
495
+ "resolved": "string",
496
+ "references": {}
497
+ },
498
+ "required": false,
499
+ "optional": false,
500
+ "docs": {
501
+ "tags": [],
502
+ "text": "String of id's that indicate alternative labels elements"
503
+ },
504
+ "attribute": "accessible-labelled-by",
505
+ "reflect": false,
506
+ "defaultValue": "undefined"
507
+ },
508
+ "accessibleDescription": {
509
+ "type": "string",
510
+ "mutable": false,
511
+ "complexType": {
512
+ "original": "string",
513
+ "resolved": "string",
514
+ "references": {}
515
+ },
516
+ "required": false,
517
+ "optional": false,
518
+ "docs": {
519
+ "tags": [],
520
+ "text": "Aria description the button"
521
+ },
522
+ "attribute": "accessible-description",
523
+ "reflect": false,
524
+ "defaultValue": "undefined"
525
+ },
460
526
  "accessibleOwns": {
461
527
  "type": "string",
462
528
  "mutable": false,
@@ -2,11 +2,11 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, Event, Fragment, h, Host, Prop, State, Watch } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common";
5
6
  import { createID } from "../../utils/create-id";
6
7
  import { debounce } from "../../utils/js-utils";
7
8
  import { isArrowDownKey, isArrowKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, isNumber, } from "../../utils/keyboard-utils";
8
9
  import { getLocaleString } from "../../utils/language-utils";
9
- import { inheritGlobalTheme } from "../../utils/themeable-component";
10
10
  import { shouldDisplayNavigation } from "./duet-pagination-utils";
11
11
  export class DuetPagination {
12
12
  constructor() {
@@ -34,6 +34,22 @@ export class DuetPagination {
34
34
  * Variation of the paginator (compact and default supported)
35
35
  */
36
36
  this.variation = "default";
37
+ /**
38
+ * Described By id
39
+ */
40
+ this.accessibleDescribedBy = undefined;
41
+ /**
42
+ * Details of the component
43
+ */
44
+ this.accessibleDetails = undefined;
45
+ /**
46
+ * String of id's that indicate alternative labels elements
47
+ */
48
+ this.accessibleLabelledBy = undefined;
49
+ /**
50
+ * Aria description the button
51
+ */
52
+ this.accessibleDescription = undefined;
37
53
  /**
38
54
  * Default pagination labels
39
55
  */
@@ -265,7 +281,7 @@ export class DuetPagination {
265
281
  */
266
282
  render() {
267
283
  return (h(Host, { onKeyDown: e => this.onKeyboardDown(e) },
268
- h("nav", { role: "navigation", "aria-labelledby": this.listId, "aria-describedby": this.listId, ref: el => (this.nativeNav = el), "aria-controls": this.ariaControls, class: {
284
+ h("nav", { role: "navigation", "aria-labelledby": this.accessibleLabelledBy ? `${this.accessibleLabelledBy} ${this.listId}` : this.listId, "aria-describedby": this.accessibleDescribedBy ? `${this.accessibleDescribedBy} ${this.listId}` : this.listId, "aria-descriptions": this.accessibleDescription, "aria-details": this.accessibleDetails, ref: el => (this.nativeNav = el), "aria-controls": this.ariaControls, class: {
269
285
  "duet-pagination-nav": true,
270
286
  [`duet-pagination-variation-${this.variation}`]: true,
271
287
  } },
@@ -376,6 +392,78 @@ export class DuetPagination {
376
392
  "reflect": false,
377
393
  "defaultValue": "\"default\""
378
394
  },
395
+ "accessibleDescribedBy": {
396
+ "type": "string",
397
+ "mutable": false,
398
+ "complexType": {
399
+ "original": "string",
400
+ "resolved": "string",
401
+ "references": {}
402
+ },
403
+ "required": false,
404
+ "optional": false,
405
+ "docs": {
406
+ "tags": [],
407
+ "text": "Described By id"
408
+ },
409
+ "attribute": "accessible-described-by",
410
+ "reflect": false,
411
+ "defaultValue": "undefined"
412
+ },
413
+ "accessibleDetails": {
414
+ "type": "string",
415
+ "mutable": false,
416
+ "complexType": {
417
+ "original": "string",
418
+ "resolved": "string",
419
+ "references": {}
420
+ },
421
+ "required": false,
422
+ "optional": false,
423
+ "docs": {
424
+ "tags": [],
425
+ "text": "Details of the component"
426
+ },
427
+ "attribute": "accessible-details",
428
+ "reflect": false,
429
+ "defaultValue": "undefined"
430
+ },
431
+ "accessibleLabelledBy": {
432
+ "type": "string",
433
+ "mutable": false,
434
+ "complexType": {
435
+ "original": "string",
436
+ "resolved": "string",
437
+ "references": {}
438
+ },
439
+ "required": false,
440
+ "optional": false,
441
+ "docs": {
442
+ "tags": [],
443
+ "text": "String of id's that indicate alternative labels elements"
444
+ },
445
+ "attribute": "accessible-labelled-by",
446
+ "reflect": false,
447
+ "defaultValue": "undefined"
448
+ },
449
+ "accessibleDescription": {
450
+ "type": "string",
451
+ "mutable": false,
452
+ "complexType": {
453
+ "original": "string",
454
+ "resolved": "string",
455
+ "references": {}
456
+ },
457
+ "required": false,
458
+ "optional": false,
459
+ "docs": {
460
+ "tags": [],
461
+ "text": "Aria description the button"
462
+ },
463
+ "attribute": "accessible-description",
464
+ "reflect": false,
465
+ "defaultValue": "undefined"
466
+ },
379
467
  "accessibleLabelsDefaults": {
380
468
  "type": "unknown",
381
469
  "mutable": false,
@@ -2,7 +2,7 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, h, Prop } from "@stencil/core";
5
- import { inheritGlobalTheme } from "../../utils/themeable-component";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  import { getColorByName } from "../../utils/token-utils";
7
7
  /**
8
8
  * @part duet-paragraph - piercing selector for styling the paragraph