@duetds/components 5.1.9 → 5.2.2

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 (405) hide show
  1. package/hydrate/index.js +392 -125
  2. package/lib/cjs/{dom-66424ef2.js → dom-96576bce.js} +1 -1
  3. package/lib/cjs/duet-action-button.cjs.entry.js +16 -8
  4. package/lib/cjs/duet-alert.cjs.entry.js +2 -2
  5. package/lib/cjs/duet-badge.cjs.entry.js +2 -2
  6. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  7. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-button_2.cjs.entry.js +17 -2
  9. package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
  10. package/lib/cjs/duet-card.cjs.entry.js +2 -2
  11. package/lib/cjs/duet-checkbox.cjs.entry.js +15 -3
  12. package/lib/cjs/duet-choice_2.cjs.entry.js +16 -4
  13. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  14. package/lib/cjs/duet-combobox.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-date-picker.cjs.entry.js +3 -4
  17. package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
  18. package/lib/cjs/duet-editable-table_3.cjs.entry.js +5 -4
  19. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  20. package/lib/cjs/duet-fieldset.cjs.entry.js +2 -2
  21. package/lib/cjs/duet-footer.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  23. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  24. package/lib/cjs/duet-hero.cjs.entry.js +2 -2
  25. package/lib/cjs/duet-icon.cjs.entry.js +2 -2
  26. package/lib/cjs/duet-input_2.cjs.entry.js +18 -4
  27. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-modal.cjs.entry.js +12 -4
  30. package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
  31. package/lib/cjs/duet-number-input.cjs.entry.js +106 -49
  32. package/lib/cjs/duet-pagination_2.cjs.entry.js +50 -14
  33. package/lib/cjs/duet-progress.cjs.entry.js +15 -3
  34. package/lib/cjs/duet-radio_2.cjs.entry.js +15 -3
  35. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  36. package/lib/cjs/duet-scrollable_3.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-select.cjs.entry.js +2 -2
  38. package/lib/cjs/duet-step_2.cjs.entry.js +2 -2
  39. package/lib/cjs/duet-textarea.cjs.entry.js +17 -3
  40. package/lib/cjs/duet-toggle.cjs.entry.js +15 -3
  41. package/lib/cjs/duet-tooltip.cjs.entry.js +2 -2
  42. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  43. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  45. package/lib/cjs/duet.cjs.js +4 -4
  46. package/lib/cjs/{focus-utils-3ef68d4c.js → focus-utils-4648b81b.js} +1 -1
  47. package/lib/cjs/{index-e1907091.js → index-d690ab34.js} +11 -9
  48. package/lib/cjs/loader.cjs.js +3 -3
  49. package/lib/cjs/{shadow-css-1ff2f74f.js → shadow-css-38b9e725.js} +2 -3
  50. package/lib/cjs/{themeable-component-940d3b50.js → themeable-component-fdeaef9f.js} +0 -0
  51. package/lib/collection/collection-manifest.json +1 -1
  52. package/lib/collection/{utils/form-components.js → common/a11y-component.js} +0 -0
  53. package/lib/collection/common/form-components.js +4 -0
  54. package/lib/collection/common/index.js +4 -0
  55. package/lib/collection/{utils → common}/themeable-component.js +0 -0
  56. package/lib/collection/components/duet-action-button/duet-action-button.js +57 -13
  57. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  58. package/lib/collection/components/duet-badge/duet-badge.js +1 -1
  59. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +1 -1
  60. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +1 -1
  61. package/lib/collection/components/duet-button/duet-button.js +70 -1
  62. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  63. package/lib/collection/components/duet-card/duet-card.js +1 -1
  64. package/lib/collection/components/duet-checkbox/duet-checkbox.js +68 -2
  65. package/lib/collection/components/duet-choice/duet-choice.js +68 -2
  66. package/lib/collection/components/duet-choice-group/duet-choice-group.js +1 -1
  67. package/lib/collection/components/duet-collapsible/duet-collapsible.js +1 -1
  68. package/lib/collection/components/duet-combobox/duet-combobox.js +1 -1
  69. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  70. package/lib/collection/components/duet-date-picker/duet-date-picker.js +1 -1
  71. package/lib/collection/components/duet-date-picker/utils.js +0 -1
  72. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  73. package/lib/collection/components/duet-editable-table/duet-editable-table.js +3 -2
  74. package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
  75. package/lib/collection/components/duet-fieldset/duet-fieldset.js +1 -1
  76. package/lib/collection/components/duet-footer/duet-footer.js +1 -1
  77. package/lib/collection/components/duet-grid-item/duet-grid-item.js +1 -1
  78. package/lib/collection/components/duet-header/duet-header.css +1 -1
  79. package/lib/collection/components/duet-header/duet-header.js +1 -1
  80. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  81. package/lib/collection/components/duet-hero/duet-hero.js +1 -1
  82. package/lib/collection/components/duet-icon/duet-icon.js +1 -1
  83. package/lib/collection/components/duet-input/duet-input.js +72 -4
  84. package/lib/collection/components/duet-label/duet-label.js +1 -1
  85. package/lib/collection/components/duet-link/duet-link.js +1 -1
  86. package/lib/collection/components/duet-list/duet-list.js +1 -1
  87. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  88. package/lib/collection/components/duet-modal/duet-modal.js +80 -2
  89. package/lib/collection/components/duet-notification/duet-notification.js +1 -1
  90. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
  91. package/lib/collection/components/duet-number-input/duet-number-input.js +90 -29
  92. package/lib/collection/components/duet-pagination/duet-pagination.js +94 -3
  93. package/lib/collection/components/duet-paragraph/duet-paragraph.js +1 -1
  94. package/lib/collection/components/duet-progress/duet-progress.js +68 -2
  95. package/lib/collection/components/duet-radio/duet-radio.js +68 -2
  96. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  97. package/lib/collection/components/duet-range-slider/duet-range-slider.js +1 -1
  98. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +29 -12
  99. package/lib/collection/components/duet-scrollable/duet-scrollable.js +1 -1
  100. package/lib/collection/components/duet-select/duet-select.js +1 -1
  101. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  102. package/lib/collection/components/duet-step/duet-step.js +1 -1
  103. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  104. package/lib/collection/components/duet-tab-group/duet-tab-group.js +1 -1
  105. package/lib/collection/components/duet-table/duet-table.css +30 -18
  106. package/lib/collection/components/duet-table/duet-table.js +1 -1
  107. package/lib/collection/components/duet-textarea/duet-textarea.js +70 -2
  108. package/lib/collection/components/duet-toggle/duet-toggle.js +68 -2
  109. package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
  110. package/lib/collection/components/duet-tray/duet-tray.js +1 -1
  111. package/lib/collection/components/duet-upload/duet-upload.js +1 -1
  112. package/lib/collection/utils/math.utils.js +76 -0
  113. package/lib/custom-elements-bundle/index.js +323 -112
  114. package/lib/duet/duet.esm.js +1 -1
  115. package/lib/duet/duet.js +1 -1
  116. package/lib/duet/{p-d92b2eac.system.entry.js → p-057e3337.system.entry.js} +1 -1
  117. package/lib/duet/{p-7f705e70.entry.js → p-08829649.entry.js} +1 -1
  118. package/lib/duet/{p-cd158ec2.system.entry.js → p-0a62f171.system.entry.js} +1 -1
  119. package/lib/duet/{p-7772d2f3.system.entry.js → p-0da92109.system.entry.js} +1 -1
  120. package/lib/duet/p-10b144b0.system.entry.js +4 -0
  121. package/lib/duet/p-113531de.entry.js +4 -0
  122. package/lib/duet/{p-1c315e22.system.entry.js → p-1164c8a6.system.entry.js} +1 -1
  123. package/lib/duet/{p-6b87a943.system.entry.js → p-14a98f4b.system.entry.js} +1 -1
  124. package/lib/duet/{p-8c372ef6.system.entry.js → p-1527b7e3.system.entry.js} +2 -2
  125. package/lib/duet/{p-d2c9bb5f.system.entry.js → p-188d7eb5.system.entry.js} +1 -1
  126. package/lib/duet/{p-41ed75d0.system.entry.js → p-1c6a3c81.system.entry.js} +1 -1
  127. package/lib/duet/{p-ae5872e3.system.entry.js → p-1d6d8314.system.entry.js} +1 -1
  128. package/lib/duet/{p-b953aedb.system.entry.js → p-1fdc5601.system.entry.js} +1 -1
  129. package/lib/duet/p-2135afa1.system.entry.js +4 -0
  130. package/lib/duet/p-216d4da8.entry.js +4 -0
  131. package/lib/duet/{p-1d87a095.system.js → p-2260d4d2.system.js} +1 -1
  132. package/lib/duet/{p-fbc61588.system.entry.js → p-24201d53.system.entry.js} +1 -1
  133. package/lib/duet/{p-b67edf51.system.entry.js → p-31f7ef10.system.entry.js} +1 -1
  134. package/lib/duet/p-336ddadc.js +4 -0
  135. package/lib/duet/{p-6b03322b.system.js → p-33b3aba4.system.js} +0 -0
  136. package/lib/duet/p-355f9884.entry.js +4 -0
  137. package/lib/duet/{p-851b469e.system.entry.js → p-35611d73.system.entry.js} +2 -2
  138. package/lib/duet/{p-b5ef3764.entry.js → p-3735b874.entry.js} +1 -1
  139. package/lib/duet/p-38c52a73.entry.js +4 -0
  140. package/lib/duet/{p-3ed22b96.system.entry.js → p-3a529853.system.entry.js} +1 -1
  141. package/lib/duet/{p-fa59ebf4.js → p-3b31184e.js} +0 -0
  142. package/lib/duet/{p-2d244cbb.system.entry.js → p-3b871ee9.system.entry.js} +1 -1
  143. package/lib/duet/{p-d7e383e1.system.entry.js → p-3c0d7470.system.entry.js} +2 -2
  144. package/lib/duet/p-3cf51bd3.entry.js +4 -0
  145. package/lib/duet/p-3dadaaf9.entry.js +4 -0
  146. package/lib/duet/p-3e510a51.entry.js +4 -0
  147. package/lib/duet/{p-fcf30d60.system.entry.js → p-43c0c459.system.entry.js} +1 -1
  148. package/lib/duet/p-479657e4.entry.js +4 -0
  149. package/lib/duet/p-4804b9d8.system.entry.js +4 -0
  150. package/lib/duet/{p-d50a26ce.system.entry.js → p-4a000e12.system.entry.js} +2 -2
  151. package/lib/duet/p-4be66230.js +5 -0
  152. package/lib/duet/{p-abf8eaf7.js → p-4ebf1618.js} +0 -0
  153. package/lib/duet/{p-43a54146.system.entry.js → p-54eadbb6.system.entry.js} +1 -1
  154. package/lib/duet/{p-b32178af.entry.js → p-55fbbafb.entry.js} +1 -1
  155. package/lib/duet/{p-0a8cb1f2.system.entry.js → p-56a92e4b.system.entry.js} +1 -1
  156. package/lib/duet/{p-eda1280f.entry.js → p-57934454.entry.js} +1 -1
  157. package/lib/duet/{p-6fd465b3.entry.js → p-5a4a83ce.entry.js} +1 -1
  158. package/lib/duet/{p-2e68b854.system.entry.js → p-5aec2bd7.system.entry.js} +1 -1
  159. package/lib/duet/p-5da3ec79.entry.js +4 -0
  160. package/lib/duet/{p-5b0f15e4.entry.js → p-6009349f.entry.js} +1 -1
  161. package/lib/duet/{p-f4b909bd.system.entry.js → p-636c9c24.system.entry.js} +1 -1
  162. package/lib/duet/{p-ca10ad5f.system.entry.js → p-65b4903d.system.entry.js} +1 -1
  163. package/lib/duet/{p-5d2204fc.entry.js → p-6ecb8b94.entry.js} +1 -1
  164. package/lib/duet/{p-906e53f9.entry.js → p-7bad44b0.entry.js} +1 -1
  165. package/lib/duet/{p-0da0c06d.system.entry.js → p-7ccefcc3.system.entry.js} +2 -2
  166. package/lib/duet/p-7e3eec66.system.entry.js +4 -0
  167. package/lib/duet/{p-ef5c2a47.system.entry.js → p-7fbb09c1.system.entry.js} +1 -1
  168. package/lib/duet/{p-d5b3feeb.system.entry.js → p-804eb7eb.system.entry.js} +1 -1
  169. package/lib/duet/p-808d661f.system.entry.js +4 -0
  170. package/lib/duet/{p-5b609e18.entry.js → p-834242e9.entry.js} +1 -1
  171. package/lib/duet/{p-8fa561be.system.entry.js → p-84a95f49.system.entry.js} +1 -1
  172. package/lib/duet/{p-0e3fad96.entry.js → p-879ab923.entry.js} +1 -1
  173. package/lib/duet/p-89368497.system.js +4 -0
  174. package/lib/duet/p-8d7c2cf4.entry.js +4 -0
  175. package/lib/duet/{p-1ce6c0c0.entry.js → p-928e0b63.entry.js} +1 -1
  176. package/lib/duet/{p-c5b1e054.system.entry.js → p-95dc8004.system.entry.js} +1 -1
  177. package/lib/duet/{p-36455aba.entry.js → p-96e03d88.entry.js} +1 -1
  178. package/lib/duet/{p-95be8318.system.entry.js → p-974143b1.system.entry.js} +1 -1
  179. package/lib/duet/{p-2911128f.entry.js → p-999dec9f.entry.js} +1 -1
  180. package/lib/duet/p-9e3cd6b5.entry.js +4 -0
  181. package/lib/duet/p-9ed30f80.entry.js +4 -0
  182. package/lib/duet/p-a1980c81.entry.js +4 -0
  183. package/lib/duet/{p-007518fb.entry.js → p-a7e5cd45.entry.js} +1 -1
  184. package/lib/duet/p-aae30188.system.js +5 -0
  185. package/lib/duet/{p-7f26e522.entry.js → p-ab66df54.entry.js} +1 -1
  186. package/lib/duet/p-af5f34fb.entry.js +4 -0
  187. package/lib/duet/p-afc7cc44.entry.js +4 -0
  188. package/lib/duet/{p-542af014.system.js → p-b668b67c.system.js} +0 -0
  189. package/lib/duet/p-b6cea2fb.entry.js +4 -0
  190. package/lib/duet/p-be1a1ee5.entry.js +4 -0
  191. package/lib/duet/{p-c23ef060.entry.js → p-bf306f77.entry.js} +1 -1
  192. package/lib/duet/{p-76dc3268.entry.js → p-c0cb67d7.entry.js} +1 -1
  193. package/lib/duet/p-c858aedd.entry.js +4 -0
  194. package/lib/duet/{p-00f69be4.entry.js → p-cbb59840.entry.js} +1 -1
  195. package/lib/duet/{p-27d238c5.js → p-d4c234ed.js} +1 -1
  196. package/lib/duet/{p-4fb88265.entry.js → p-d511ca66.entry.js} +1 -1
  197. package/lib/duet/{p-fcb0ac03.system.entry.js → p-db48e77a.system.entry.js} +2 -2
  198. package/lib/duet/{p-6d148390.system.entry.js → p-dc429d5d.system.entry.js} +2 -2
  199. package/lib/duet/p-e0ba5d9e.system.entry.js +4 -0
  200. package/lib/duet/{p-70f5c86d.entry.js → p-e3010ea3.entry.js} +1 -1
  201. package/lib/duet/{p-43bdb5df.system.entry.js → p-e3e092e1.system.entry.js} +2 -2
  202. package/lib/duet/p-e406a3b7.entry.js +4 -0
  203. package/lib/duet/{p-080ce662.entry.js → p-e4133a47.entry.js} +1 -1
  204. package/lib/duet/{p-86395c08.entry.js → p-e5992e2a.entry.js} +1 -1
  205. package/lib/duet/{p-eeeadb94.entry.js → p-e67563e7.entry.js} +1 -1
  206. package/lib/duet/{p-f4bba24d.system.entry.js → p-e6ff063e.system.entry.js} +1 -1
  207. package/lib/duet/{p-4fcde9bd.system.entry.js → p-e7eb9f7a.system.entry.js} +1 -1
  208. package/lib/duet/{p-f1f59897.system.entry.js → p-e8658390.system.entry.js} +1 -1
  209. package/lib/duet/p-ea59bb06.system.entry.js +4 -0
  210. package/lib/duet/p-ff46ec81.system.js +16 -0
  211. package/lib/esm/{dom-3c479050.js → dom-3dbcb0d8.js} +1 -1
  212. package/lib/esm/duet-action-button.entry.js +16 -8
  213. package/lib/esm/duet-alert.entry.js +2 -2
  214. package/lib/esm/duet-badge.entry.js +2 -2
  215. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  216. package/lib/esm/duet-breadcrumbs.entry.js +2 -2
  217. package/lib/esm/duet-button_2.entry.js +17 -2
  218. package/lib/esm/duet-caption_4.entry.js +2 -2
  219. package/lib/esm/duet-card.entry.js +2 -2
  220. package/lib/esm/duet-checkbox.entry.js +15 -3
  221. package/lib/esm/duet-choice_2.entry.js +16 -4
  222. package/lib/esm/duet-collapsible.entry.js +2 -2
  223. package/lib/esm/duet-combobox.entry.js +2 -2
  224. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  225. package/lib/esm/duet-date-picker.entry.js +3 -4
  226. package/lib/esm/duet-divider_2.entry.js +2 -2
  227. package/lib/esm/duet-editable-table_3.entry.js +5 -4
  228. package/lib/esm/duet-empty-state.entry.js +2 -2
  229. package/lib/esm/duet-fieldset.entry.js +2 -2
  230. package/lib/esm/duet-footer.entry.js +2 -2
  231. package/lib/esm/duet-grid_2.entry.js +2 -2
  232. package/lib/esm/duet-header_2.entry.js +3 -3
  233. package/lib/esm/duet-hero.entry.js +2 -2
  234. package/lib/esm/duet-icon.entry.js +2 -2
  235. package/lib/esm/duet-input_2.entry.js +18 -4
  236. package/lib/esm/duet-layout.entry.js +1 -1
  237. package/lib/esm/duet-list_2.entry.js +2 -2
  238. package/lib/esm/duet-modal.entry.js +12 -4
  239. package/lib/esm/duet-notification_2.entry.js +2 -2
  240. package/lib/esm/duet-number-input.entry.js +106 -49
  241. package/lib/esm/duet-pagination_2.entry.js +50 -14
  242. package/lib/esm/duet-progress.entry.js +15 -3
  243. package/lib/esm/duet-radio_2.entry.js +15 -3
  244. package/lib/esm/duet-range-slider.entry.js +2 -2
  245. package/lib/esm/duet-scrollable_3.entry.js +2 -2
  246. package/lib/esm/duet-select.entry.js +2 -2
  247. package/lib/esm/duet-step_2.entry.js +2 -2
  248. package/lib/esm/duet-textarea.entry.js +17 -3
  249. package/lib/esm/duet-toggle.entry.js +15 -3
  250. package/lib/esm/duet-tooltip.entry.js +2 -2
  251. package/lib/esm/duet-tray.entry.js +2 -2
  252. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  253. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  254. package/lib/esm/duet.js +4 -4
  255. package/lib/esm/{focus-utils-dbdd6235.js → focus-utils-6313db97.js} +1 -1
  256. package/lib/esm/{index-33a07cd5.js → index-9e6ac831.js} +11 -9
  257. package/lib/esm/loader.js +3 -3
  258. package/lib/esm/polyfills/css-shim.js +1 -1
  259. package/lib/esm/{shadow-css-fbe49d20.js → shadow-css-501eda9a.js} +2 -3
  260. package/lib/esm/{themeable-component-e8fc98bf.js → themeable-component-cb76be7c.js} +0 -0
  261. package/lib/esm-es5/{dom-3c479050.js → dom-3dbcb0d8.js} +0 -0
  262. package/lib/esm-es5/duet-action-button.entry.js +2 -2
  263. package/lib/esm-es5/duet-alert.entry.js +1 -1
  264. package/lib/esm-es5/duet-badge.entry.js +1 -1
  265. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  266. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  267. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  268. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  269. package/lib/esm-es5/duet-card.entry.js +1 -1
  270. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  271. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  272. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  273. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  274. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  275. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  276. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  277. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  278. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  279. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  280. package/lib/esm-es5/duet-footer.entry.js +1 -1
  281. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  282. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  283. package/lib/esm-es5/duet-hero.entry.js +1 -1
  284. package/lib/esm-es5/duet-icon.entry.js +1 -1
  285. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  286. package/lib/esm-es5/duet-layout.entry.js +1 -1
  287. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  288. package/lib/esm-es5/duet-modal.entry.js +2 -2
  289. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  290. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  291. package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
  292. package/lib/esm-es5/duet-progress.entry.js +1 -1
  293. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  294. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  295. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  296. package/lib/esm-es5/duet-select.entry.js +1 -1
  297. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  298. package/lib/esm-es5/duet-textarea.entry.js +2 -2
  299. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  300. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  301. package/lib/esm-es5/duet-tray.entry.js +1 -1
  302. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  303. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  304. package/lib/esm-es5/duet.js +1 -1
  305. package/lib/esm-es5/focus-utils-6313db97.js +4 -0
  306. package/lib/esm-es5/index-9e6ac831.js +5 -0
  307. package/lib/esm-es5/loader.js +1 -1
  308. package/lib/esm-es5/shadow-css-501eda9a.js +15 -0
  309. package/lib/esm-es5/{themeable-component-e8fc98bf.js → themeable-component-cb76be7c.js} +0 -0
  310. package/lib/types/common/a11y-component.d.ts +13 -0
  311. package/lib/types/{utils → common}/form-components.d.ts +0 -1
  312. package/lib/types/common/index.d.ts +3 -0
  313. package/lib/types/{utils → common}/themeable-component.d.ts +0 -0
  314. package/lib/types/components/duet-action-button/duet-action-button.d.ts +15 -7
  315. package/lib/types/components/duet-alert/duet-alert.d.ts +1 -1
  316. package/lib/types/components/duet-badge/duet-badge.d.ts +1 -1
  317. package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +1 -1
  318. package/lib/types/components/duet-breadcrumbs/duet-breadcrumbs.d.ts +1 -1
  319. package/lib/types/components/duet-button/duet-button.d.ts +14 -3
  320. package/lib/types/components/duet-caption/duet-caption.d.ts +1 -1
  321. package/lib/types/components/duet-card/duet-card.d.ts +1 -1
  322. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +14 -3
  323. package/lib/types/components/duet-choice/duet-choice.d.ts +14 -3
  324. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -1
  325. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +1 -1
  326. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -1
  327. package/lib/types/components/duet-cookie-consent/duet-cookie-consent.d.ts +1 -1
  328. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +2 -2
  329. package/lib/types/components/duet-divider/duet-divider.d.ts +1 -1
  330. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +1 -1
  331. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +1 -1
  332. package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +1 -1
  333. package/lib/types/components/duet-footer/duet-footer.d.ts +1 -1
  334. package/lib/types/components/duet-grid-item/duet-grid-item.d.ts +1 -1
  335. package/lib/types/components/duet-header/duet-header.d.ts +1 -1
  336. package/lib/types/components/duet-heading/duet-heading.d.ts +1 -1
  337. package/lib/types/components/duet-hero/duet-hero.d.ts +1 -1
  338. package/lib/types/components/duet-icon/duet-icon.d.ts +1 -1
  339. package/lib/types/components/duet-input/duet-input.d.ts +15 -4
  340. package/lib/types/components/duet-label/duet-label.d.ts +1 -1
  341. package/lib/types/components/duet-link/duet-link.d.ts +1 -1
  342. package/lib/types/components/duet-list/duet-list.d.ts +1 -1
  343. package/lib/types/components/duet-logo/duet-logo.d.ts +1 -1
  344. package/lib/types/components/duet-modal/duet-modal.d.ts +18 -2
  345. package/lib/types/components/duet-notification/duet-notification.d.ts +1 -1
  346. package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +1 -1
  347. package/lib/types/components/duet-number-input/duet-number-input.d.ts +14 -4
  348. package/lib/types/components/duet-pagination/duet-pagination.d.ts +18 -2
  349. package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +1 -1
  350. package/lib/types/components/duet-progress/duet-progress.d.ts +14 -2
  351. package/lib/types/components/duet-radio/duet-radio.d.ts +14 -3
  352. package/lib/types/components/duet-radio-group/duet-radio-group.d.ts +1 -1
  353. package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +2 -2
  354. package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +4 -2
  355. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +1 -1
  356. package/lib/types/components/duet-select/duet-select.d.ts +2 -2
  357. package/lib/types/components/duet-spinner/duet-spinner.d.ts +1 -1
  358. package/lib/types/components/duet-step/duet-step.d.ts +1 -1
  359. package/lib/types/components/duet-stepper/duet-stepper.d.ts +1 -1
  360. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +1 -1
  361. package/lib/types/components/duet-table/duet-table.d.ts +1 -1
  362. package/lib/types/components/duet-textarea/duet-textarea.d.ts +14 -3
  363. package/lib/types/components/duet-toggle/duet-toggle.d.ts +14 -3
  364. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +1 -1
  365. package/lib/types/components/duet-tray/duet-tray.d.ts +1 -1
  366. package/lib/types/components/duet-upload/duet-upload.d.ts +2 -2
  367. package/lib/types/components.d.ts +520 -112
  368. package/lib/types/utils/math.utils.d.ts +11 -0
  369. package/package.json +6 -6
  370. package/lib/collection/components/duet-number-input/number-input-utils.js +0 -26
  371. package/lib/duet/p-0fce5ee0.entry.js +0 -4
  372. package/lib/duet/p-112c7cf4.entry.js +0 -4
  373. package/lib/duet/p-14940019.entry.js +0 -4
  374. package/lib/duet/p-1a39ba08.entry.js +0 -4
  375. package/lib/duet/p-2c66423c.system.entry.js +0 -4
  376. package/lib/duet/p-3504f285.system.entry.js +0 -4
  377. package/lib/duet/p-356c2c34.entry.js +0 -4
  378. package/lib/duet/p-41e0b7a6.entry.js +0 -4
  379. package/lib/duet/p-46aab89e.entry.js +0 -4
  380. package/lib/duet/p-539f2a06.system.js +0 -4
  381. package/lib/duet/p-55376e66.system.entry.js +0 -4
  382. package/lib/duet/p-56212fca.js +0 -4
  383. package/lib/duet/p-60931fe2.entry.js +0 -4
  384. package/lib/duet/p-65256911.entry.js +0 -4
  385. package/lib/duet/p-6d4f68c7.entry.js +0 -4
  386. package/lib/duet/p-80d48e3c.entry.js +0 -4
  387. package/lib/duet/p-92a25fb5.system.js +0 -16
  388. package/lib/duet/p-934b6e46.entry.js +0 -4
  389. package/lib/duet/p-aa3a10db.system.entry.js +0 -4
  390. package/lib/duet/p-b97e1c6e.entry.js +0 -4
  391. package/lib/duet/p-c94d980f.system.entry.js +0 -4
  392. package/lib/duet/p-c953e685.entry.js +0 -4
  393. package/lib/duet/p-cce3f6c1.system.js +0 -4
  394. package/lib/duet/p-ce973d95.entry.js +0 -4
  395. package/lib/duet/p-da4808e6.entry.js +0 -4
  396. package/lib/duet/p-da6ec22c.js +0 -4
  397. package/lib/duet/p-e70200b0.entry.js +0 -4
  398. package/lib/duet/p-e93e4714.system.entry.js +0 -4
  399. package/lib/duet/p-fb9b713b.entry.js +0 -4
  400. package/lib/duet/p-fec90322.entry.js +0 -4
  401. package/lib/duet/p-ff54acdd.system.entry.js +0 -4
  402. package/lib/esm-es5/focus-utils-dbdd6235.js +0 -4
  403. package/lib/esm-es5/index-33a07cd5.js +0 -4
  404. package/lib/esm-es5/shadow-css-fbe49d20.js +0 -15
  405. package/lib/types/components/duet-number-input/number-input-utils.d.ts +0 -4
@@ -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
  */
@@ -127,7 +143,7 @@ export class DuetPagination {
127
143
  type: "page",
128
144
  originalEvent: ev,
129
145
  });
130
- }, 500);
146
+ }, 100);
131
147
  // this will return the entered number, or the current page if the user presses enter
132
148
  this.getEnteredNumber = debounce(ev => {
133
149
  this.emitPageEvent(ev, this.numbersStore);
@@ -173,6 +189,7 @@ export class DuetPagination {
173
189
  e.preventDefault();
174
190
  e.stopPropagation();
175
191
  this.current = this.current + dir;
192
+ this.emitPageEvent(e);
176
193
  }
177
194
  //handle a11y keyboard navigation events
178
195
  async onKeyboardDown(e) {
@@ -226,12 +243,14 @@ export class DuetPagination {
226
243
  e.preventDefault();
227
244
  this.internalSectionIndex = 0;
228
245
  this.current = 1;
246
+ this.emitPageEvent(e);
229
247
  }
230
248
  //handles click on the jump (total) button
231
249
  jumpToEnd(e) {
232
250
  e.preventDefault();
233
251
  this.internalSectionIndex = this.totalPages / this.take - 1;
234
252
  this.current = this.totalPages;
253
+ this.emitPageEvent(e);
235
254
  }
236
255
  // render the individual page numbers
237
256
  renderPageNumbers() {
@@ -265,7 +284,7 @@ export class DuetPagination {
265
284
  */
266
285
  render() {
267
286
  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: {
287
+ 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
288
  "duet-pagination-nav": true,
270
289
  [`duet-pagination-variation-${this.variation}`]: true,
271
290
  } },
@@ -376,6 +395,78 @@ export class DuetPagination {
376
395
  "reflect": false,
377
396
  "defaultValue": "\"default\""
378
397
  },
398
+ "accessibleDescribedBy": {
399
+ "type": "string",
400
+ "mutable": false,
401
+ "complexType": {
402
+ "original": "string",
403
+ "resolved": "string",
404
+ "references": {}
405
+ },
406
+ "required": false,
407
+ "optional": false,
408
+ "docs": {
409
+ "tags": [],
410
+ "text": "Described By id"
411
+ },
412
+ "attribute": "accessible-described-by",
413
+ "reflect": false,
414
+ "defaultValue": "undefined"
415
+ },
416
+ "accessibleDetails": {
417
+ "type": "string",
418
+ "mutable": false,
419
+ "complexType": {
420
+ "original": "string",
421
+ "resolved": "string",
422
+ "references": {}
423
+ },
424
+ "required": false,
425
+ "optional": false,
426
+ "docs": {
427
+ "tags": [],
428
+ "text": "Details of the component"
429
+ },
430
+ "attribute": "accessible-details",
431
+ "reflect": false,
432
+ "defaultValue": "undefined"
433
+ },
434
+ "accessibleLabelledBy": {
435
+ "type": "string",
436
+ "mutable": false,
437
+ "complexType": {
438
+ "original": "string",
439
+ "resolved": "string",
440
+ "references": {}
441
+ },
442
+ "required": false,
443
+ "optional": false,
444
+ "docs": {
445
+ "tags": [],
446
+ "text": "String of id's that indicate alternative labels elements"
447
+ },
448
+ "attribute": "accessible-labelled-by",
449
+ "reflect": false,
450
+ "defaultValue": "undefined"
451
+ },
452
+ "accessibleDescription": {
453
+ "type": "string",
454
+ "mutable": false,
455
+ "complexType": {
456
+ "original": "string",
457
+ "resolved": "string",
458
+ "references": {}
459
+ },
460
+ "required": false,
461
+ "optional": false,
462
+ "docs": {
463
+ "tags": [],
464
+ "text": "Aria description the button"
465
+ },
466
+ "attribute": "accessible-description",
467
+ "reflect": false,
468
+ "defaultValue": "undefined"
469
+ },
379
470
  "accessibleLabelsDefaults": {
380
471
  "type": "unknown",
381
472
  "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
@@ -2,9 +2,9 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, h, Host, Prop } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common";
5
6
  import { createID } from "../../utils/create-id";
6
7
  import { getLocaleString } from "../../utils/language-utils";
7
- import { inheritGlobalTheme } from "../../utils/themeable-component";
8
8
  export class DuetProgress {
9
9
  constructor() {
10
10
  /**
@@ -12,6 +12,18 @@ export class DuetProgress {
12
12
  */
13
13
  this.progressId = createID("DuetProgress");
14
14
  this.progressLabelId = createID("DuetProgressLabel");
15
+ /**
16
+ * Aria Details of the component
17
+ */
18
+ this.accessibleDetails = undefined;
19
+ /**
20
+ * String of id's that indicate alternative labels elements
21
+ */
22
+ this.accessibleLabelledBy = undefined;
23
+ /**
24
+ * Aria description the button
25
+ */
26
+ this.accessibleDescription = undefined;
15
27
  /**
16
28
  * Defaults for accessibleLabel
17
29
  */
@@ -66,7 +78,7 @@ export class DuetProgress {
66
78
  this.accessibleLabelUpload[this.progress < 99 ? 1 : 0])))),
67
79
  this.caption && (h("div", { class: "duet-progress-caption" },
68
80
  h("span", null, this.caption))),
69
- h("progress", { id: this.progressLabelId, "aria-describedby": this.accessibleDescribedBy, role: "progressbar", value: this.progress, max: "100", "aria-valuemin": "0", "aria-valuemax": "100" },
81
+ h("progress", { id: this.progressLabelId, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, role: "progressbar", value: this.progress, max: "100", "aria-valuemin": "0", "aria-valuemax": "100" },
70
82
  h("div", { class: "progress-bar" },
71
83
  h("span", { style: { width: `${this.progress}%;` } },
72
84
  "Progress: ",
@@ -98,6 +110,60 @@ export class DuetProgress {
98
110
  "attribute": "accessible-described-by",
99
111
  "reflect": false
100
112
  },
113
+ "accessibleDetails": {
114
+ "type": "string",
115
+ "mutable": false,
116
+ "complexType": {
117
+ "original": "string",
118
+ "resolved": "string",
119
+ "references": {}
120
+ },
121
+ "required": false,
122
+ "optional": false,
123
+ "docs": {
124
+ "tags": [],
125
+ "text": "Aria Details of the component"
126
+ },
127
+ "attribute": "accessible-details",
128
+ "reflect": false,
129
+ "defaultValue": "undefined"
130
+ },
131
+ "accessibleLabelledBy": {
132
+ "type": "string",
133
+ "mutable": false,
134
+ "complexType": {
135
+ "original": "string",
136
+ "resolved": "string",
137
+ "references": {}
138
+ },
139
+ "required": false,
140
+ "optional": false,
141
+ "docs": {
142
+ "tags": [],
143
+ "text": "String of id's that indicate alternative labels elements"
144
+ },
145
+ "attribute": "accessible-labelled-by",
146
+ "reflect": false,
147
+ "defaultValue": "undefined"
148
+ },
149
+ "accessibleDescription": {
150
+ "type": "string",
151
+ "mutable": false,
152
+ "complexType": {
153
+ "original": "string",
154
+ "resolved": "string",
155
+ "references": {}
156
+ },
157
+ "required": false,
158
+ "optional": false,
159
+ "docs": {
160
+ "tags": [],
161
+ "text": "Aria description the button"
162
+ },
163
+ "attribute": "accessible-description",
164
+ "reflect": false,
165
+ "defaultValue": "undefined"
166
+ },
101
167
  "accessibleLabel": {
102
168
  "type": "string",
103
169
  "mutable": false,
@@ -2,14 +2,26 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, Event, h, Host, Method, Prop } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common";
5
6
  import { createID } from "../../utils/create-id";
6
- import { inheritGlobalTheme } from "../../utils/themeable-component";
7
7
  export class DuetRadio {
8
8
  constructor() {
9
9
  /**
10
10
  * Own Properties.
11
11
  */
12
12
  this.radioId = createID("DuetRadio");
13
+ /**
14
+ * Aria Details of the component
15
+ */
16
+ this.accessibleDetails = undefined;
17
+ /**
18
+ * String of id's that indicate alternative labels elements
19
+ */
20
+ this.accessibleLabelledBy = undefined;
21
+ /**
22
+ * Aria description the button
23
+ */
24
+ this.accessibleDescription = undefined;
13
25
  /**
14
26
  * Controls the margin of the component.
15
27
  */
@@ -100,7 +112,7 @@ export class DuetRadio {
100
112
  "duet-m-0": this.margin === "none",
101
113
  } },
102
114
  h("div", { class: { "duet-radio-container": true, "duet-theme-turva": this.theme === "turva" } },
103
- h("input", { type: "radio", onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, value: this.value, tabindex: this.accessibleIndex, class: { "duet-radio": true, disabled: this.disabled || this.groupDisabled }, checked: this.checked, disabled: this.disabled || this.groupDisabled, required: this.required, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, role: this.role, name: this.name, id: identifier, ref: input => (this.nativeInput = input) }),
115
+ h("input", { type: "radio", onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, value: this.value, tabindex: this.accessibleIndex, class: { "duet-radio": true, disabled: this.disabled || this.groupDisabled }, checked: this.checked, disabled: this.disabled || this.groupDisabled, required: this.required, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, role: this.role, name: this.name, id: identifier, ref: input => (this.nativeInput = input) }),
104
116
  h("label", { class: "duet-label", htmlFor: identifier },
105
117
  h("span", null, this.label)))));
106
118
  }
@@ -130,6 +142,60 @@ export class DuetRadio {
130
142
  "attribute": "accessible-active-descendant",
131
143
  "reflect": false
132
144
  },
145
+ "accessibleDetails": {
146
+ "type": "string",
147
+ "mutable": false,
148
+ "complexType": {
149
+ "original": "string",
150
+ "resolved": "string",
151
+ "references": {}
152
+ },
153
+ "required": false,
154
+ "optional": false,
155
+ "docs": {
156
+ "tags": [],
157
+ "text": "Aria Details of the component"
158
+ },
159
+ "attribute": "accessible-details",
160
+ "reflect": false,
161
+ "defaultValue": "undefined"
162
+ },
163
+ "accessibleLabelledBy": {
164
+ "type": "string",
165
+ "mutable": false,
166
+ "complexType": {
167
+ "original": "string",
168
+ "resolved": "string",
169
+ "references": {}
170
+ },
171
+ "required": false,
172
+ "optional": false,
173
+ "docs": {
174
+ "tags": [],
175
+ "text": "String of id's that indicate alternative labels elements"
176
+ },
177
+ "attribute": "accessible-labelled-by",
178
+ "reflect": false,
179
+ "defaultValue": "undefined"
180
+ },
181
+ "accessibleDescription": {
182
+ "type": "string",
183
+ "mutable": false,
184
+ "complexType": {
185
+ "original": "string",
186
+ "resolved": "string",
187
+ "references": {}
188
+ },
189
+ "required": false,
190
+ "optional": false,
191
+ "docs": {
192
+ "tags": [],
193
+ "text": "Aria description the button"
194
+ },
195
+ "attribute": "accessible-description",
196
+ "reflect": false,
197
+ "defaultValue": "undefined"
198
+ },
133
199
  "accessibleIndex": {
134
200
  "type": "string",
135
201
  "mutable": false,
@@ -2,7 +2,7 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, h, Host, Prop, Watch } from "@stencil/core";
5
- import { inheritGlobalTheme } from "../../utils/themeable-component";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  import { findCheckedOption, watchForOptions } from "../../utils/watch-options";
7
7
  export class DuetRadioGroup {
8
8
  constructor() {
@@ -3,9 +3,9 @@
3
3
  */
4
4
  import { colorGray, colorGrayTurva, colorPrimary, colorPrimaryTurva } from "@duetds/tokens";
5
5
  import { Component, Element, Event, 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 isInternetExplorer from "../../utils/is-internet-explorer";
8
- import { inheritGlobalTheme } from "../../utils/themeable-component";
9
9
  const colors = {
10
10
  turva: {
11
11
  active: colorPrimaryTurva,
@@ -2,10 +2,10 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, Event, h, Prop, Watch } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
5
6
  import { createID } from "../../utils/create-id";
6
7
  import { isArrowDownKey, isArrowKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, isMinusKey, isPlusKey, } from "../../utils/keyboard-utils";
7
8
  import { getLocaleString } from "../../utils/language-utils";
8
- import { inheritGlobalTheme } from "../../utils/themeable-component";
9
9
  export class DuetRangeStepper {
10
10
  constructor() {
11
11
  this.leftBn = createID("duetRangeStepper-left");
@@ -63,15 +63,15 @@ export class DuetRangeStepper {
63
63
  this.handleStepClick(e);
64
64
  };
65
65
  }
66
- watchStateHandler(newValue) {
67
- if (newValue === 1) {
66
+ watchStepIndexStateHandler(newValue) {
67
+ if (newValue <= 1) {
68
68
  this.leftBnRef.setAttribute("disabled", "");
69
69
  this.rightBnRef.focus();
70
70
  }
71
71
  else {
72
72
  this.leftBnRef.removeAttribute("disabled");
73
73
  }
74
- if (newValue === this.total / this.stepSize) {
74
+ if (newValue >= this.total / this.stepSize) {
75
75
  this.rightBnRef.setAttribute("disabled", "");
76
76
  this.leftBnRef.focus();
77
77
  }
@@ -79,12 +79,20 @@ export class DuetRangeStepper {
79
79
  this.rightBnRef.removeAttribute("disabled");
80
80
  }
81
81
  }
82
+ watchStepSizeStateHandler(newValue, oldValue) {
83
+ if (newValue !== oldValue) {
84
+ if (this.stepIndex * newValue > this.total) {
85
+ this.stepIndex = this.total / newValue;
86
+ }
87
+ }
88
+ }
82
89
  handleStepClick(e) {
90
+ const from = this.stepIndex * this.stepSize - this.stepSize;
83
91
  this.duetRangeStepUpdate.emit({
84
92
  originalEvent: e,
85
93
  component: "duet-range-stepper",
86
- from: this.stepIndex * this.stepSize - this.stepSize,
87
- to: this.stepIndex * this.stepSize,
94
+ from: from,
95
+ to: this.getTo(),
88
96
  index: this.stepIndex,
89
97
  });
90
98
  }
@@ -92,7 +100,7 @@ export class DuetRangeStepper {
92
100
  inheritGlobalTheme(this);
93
101
  }
94
102
  componentDidLoad() {
95
- this.watchStateHandler(this.stepIndex);
103
+ this.watchStepIndexStateHandler(this.stepIndex);
96
104
  }
97
105
  increment(direction) {
98
106
  const newIndex = this.stepIndex + direction;
@@ -100,22 +108,28 @@ export class DuetRangeStepper {
100
108
  this.stepIndex = 1;
101
109
  }
102
110
  else {
103
- if (newIndex * this.stepSize <= this.total) {
111
+ if (newIndex * this.stepSize < this.total + this.stepSize) {
104
112
  this.stepIndex = newIndex;
105
113
  }
106
- else {
114
+ else if (newIndex * this.stepSize > this.total + this.stepSize) {
115
+ this.stepIndex = Math.floor(this.total / this.stepSize);
107
116
  }
108
117
  }
109
118
  }
119
+ getTo() {
120
+ const to = this.stepIndex * this.stepSize;
121
+ const result = to > this.total ? this.total : to;
122
+ return result;
123
+ }
110
124
  generateStepSize() {
111
125
  // this function uses this.stepIndex and this.range to generate a range of number like 1-100
112
126
  // this is used to generate the step size
113
- let start = (this.stepIndex - 1) * this.stepSize;
127
+ let start = Math.floor((this.stepIndex - 1) * this.stepSize);
114
128
  //easy fix for starting position
115
129
  if (start === 0) {
116
130
  start = 1;
117
131
  }
118
- const end = this.stepIndex * this.stepSize;
132
+ const end = Math.floor(this.stepIndex * this.stepSize);
119
133
  return this.ariaLabels.x_of_y
120
134
  .replace("{0}", String(start))
121
135
  .replace("{1}", String(end))
@@ -335,6 +349,9 @@ export class DuetRangeStepper {
335
349
  static get elementRef() { return "element"; }
336
350
  static get watchers() { return [{
337
351
  "propName": "stepIndex",
338
- "methodName": "watchStateHandler"
352
+ "methodName": "watchStepIndexStateHandler"
353
+ }, {
354
+ "propName": "stepSize",
355
+ "methodName": "watchStepSizeStateHandler"
339
356
  }]; }
340
357
  }
@@ -2,7 +2,7 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { 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
  export class DuetScrollable {
7
7
  constructor() {
8
8
  /**
@@ -2,9 +2,9 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, Event, h, Host, Method, Prop, State, Watch } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
5
6
  import { createID } from "../../utils/create-id";
6
7
  import { parsePossibleJSON } from "../../utils/string-utils";
7
- import { inheritGlobalTheme } from "../../utils/themeable-component";
8
8
  function isOptionGroup(item) {
9
9
  return "options" in item;
10
10
  }
@@ -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
  import { getColorByName } from "../../utils/token-utils";
7
7
  export class DuetSpinner {
8
8
  constructor() {
@@ -3,9 +3,9 @@
3
3
  */
4
4
  import editIcon from "@duetds/icons/lib/assets/action-edit-2";
5
5
  import { Build, Component, Element, Event, h, Method, Prop } from "@stencil/core";
6
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
7
  import { createID } from "../../utils/create-id";
7
8
  import { isKeyboardClick } from "../../utils/keyboard-utils";
8
- import { inheritGlobalTheme } from "../../utils/themeable-component";
9
9
  /**
10
10
  * @slot unnamed default slot - The component’s primary content. All child nodes that do not have a slot attribute defined are inserted into this primary slot.
11
11
  * @slot heading-content - Step heading content. Use this slot to show additional content next to step heading.
@@ -2,8 +2,8 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, Event, h, Host, Listen, Prop, Watch } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
5
6
  import groupBy from "../../utils/group-by";
6
- import { inheritGlobalTheme } from "../../utils/themeable-component";
7
7
  export class DuetStepper {
8
8
  constructor() {
9
9
  /**
@@ -2,10 +2,10 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Component, Element, Event, h, Method, Prop, State } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
5
6
  import { createID } from "../../utils/create-id";
6
7
  import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey } from "../../utils/keyboard-utils";
7
8
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
8
- import { inheritGlobalTheme } from "../../utils/themeable-component";
9
9
  /**
10
10
  * @part ${identifier}-button - piercing selector for styling tab buttons
11
11
  * @part ${identifier}-button--selected - piercing selector for styling selected tab button
@@ -71,15 +71,14 @@ duet-table .duet-table-action-row td:last-child {
71
71
  white-space: nowrap;
72
72
  }
73
73
 
74
- .duet-table-flattened tbody tr {
75
- display: grid;
76
- grid-template-columns: repeat(2, 1fr);
77
- grid-auto-rows: auto;
78
- gap: 10px;
79
- }
80
- .duet-table-flattened tbody tr.duet-table-action-row td:last-child::before {
81
- padding: 0;
82
- content: "";
74
+ .duet-table-flattened table,
75
+ .duet-table-flattened thead,
76
+ .duet-table-flattened tbody,
77
+ .duet-table-flattened tfoot,
78
+ .duet-table-flattened th,
79
+ .duet-table-flattened td,
80
+ .duet-table-flattened tr {
81
+ display: block;
83
82
  }
84
83
  .duet-table-flattened thead tr {
85
84
  position: absolute !important;
@@ -92,20 +91,11 @@ duet-table .duet-table-action-row td:last-child {
92
91
  border: 0 !important;
93
92
  }
94
93
  .duet-table-flattened td {
95
- grid-column: 1/2;
96
94
  line-height: 1.25;
97
95
  }
98
96
  .duet-table-flattened td:not(:last-child) {
99
97
  margin-bottom: 16px !important;
100
98
  }
101
- .duet-table-flattened td:first-child {
102
- grid-row: 1;
103
- grid-column: 1;
104
- }
105
- .duet-table-flattened td:last-child {
106
- grid-row: 1;
107
- grid-column: 2;
108
- }
109
99
  .duet-table-flattened tbody td,
110
100
  .duet-table-flattened tbody th,
111
101
  .duet-table-flattened tfoot td {
@@ -337,4 +327,26 @@ duet-table .duet-table-action-row td:last-child {
337
327
  .duet-table-actions thead th:last-child {
338
328
  width: 1px;
339
329
  white-space: nowrap;
330
+ }
331
+
332
+ .duet-editable-table-table.duet-table-flattened tr {
333
+ display: grid;
334
+ grid-template-columns: repeat(2, 1fr);
335
+ grid-auto-rows: auto;
336
+ gap: 10px;
337
+ }
338
+ .duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before {
339
+ padding: 0;
340
+ content: "";
341
+ }
342
+ .duet-editable-table-table.duet-table-flattened td {
343
+ grid-column: 1/2;
344
+ }
345
+ .duet-editable-table-table.duet-table-flattened td:first-child {
346
+ grid-row: 1;
347
+ grid-column: 1;
348
+ }
349
+ .duet-editable-table-table.duet-table-flattened td:last-child {
350
+ grid-row: 1;
351
+ grid-column: 2;
340
352
  }
@@ -3,8 +3,8 @@
3
3
  */
4
4
  import { mediaQueryLarge, mediaQueryMedium, mediaQuerySmall, mediaQueryXLarge, mediaQueryXxLarge, mediaQueryXxxLarge, sizeHeader, sizeNavigation, } from "@duetds/tokens";
5
5
  import { Build, Component, Element, h, Host, Prop, State } from "@stencil/core";
6
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
7
  import { debounce } from "../../utils/js-utils";
7
- import { inheritGlobalTheme } from "../../utils/themeable-component";
8
8
  // remove wrapping speech marks.
9
9
  // media query tokens are wrapped in speech marks,
10
10
  // which need to be removed before use with matchMedia.