@duetds/components 4.36.1 → 5.0.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 (315) hide show
  1. package/hydrate/index.js +1135 -983
  2. package/lib/cjs/duet-action-button.cjs.entry.js +163 -0
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-button_2.cjs.entry.js +8 -4
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +4 -4
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-date-picker.cjs.entry.js +4 -4
  15. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  16. package/lib/cjs/{duet-editable-table_4.cjs.entry.js → duet-editable-table_3.cjs.entry.js} +382 -337
  17. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  21. package/lib/cjs/duet-header_2.cjs.entry.js +7 -7
  22. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-icon.cjs.entry.js +3 -3
  24. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  28. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-pagination_2.cjs.entry.js +24 -14
  31. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  34. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  43. package/lib/cjs/duet.cjs.js +2 -2
  44. package/lib/cjs/{focus-utils-dfd718e8.js → focus-utils-2404e669.js} +1 -1
  45. package/lib/cjs/{index-4f342f1c.js → index-91b9281f.js} +1 -1
  46. package/lib/cjs/js-utils-be1d29ae.js +39 -0
  47. package/lib/cjs/loader.cjs.js +2 -2
  48. package/lib/cjs/{token-utils-f402e205.js → token-utils-ac8432d1.js} +1 -1
  49. package/lib/cjs/{tokens-8596cece.js → tokens-72efc7fd.js} +0 -0
  50. package/lib/cjs/{tokens.module-6b2df1c2.js → tokens.module-6afcc9c1.js} +0 -0
  51. package/lib/collection/collection-manifest.json +14 -11
  52. package/lib/collection/components/duet-action-button/duet-action-button.css +87 -0
  53. package/lib/collection/components/duet-action-button/duet-action-button.js +489 -0
  54. package/lib/collection/components/duet-button/duet-button.js +23 -1
  55. package/lib/collection/components/duet-choice/duet-choice.css +20 -15
  56. package/lib/collection/components/duet-choice/duet-choice.js +10 -8
  57. package/lib/collection/components/duet-date-picker/duet-date-picker.css +2 -57
  58. package/lib/collection/components/duet-date-picker/duet-date-picker.js +2 -6
  59. package/lib/collection/components/duet-editable-table/duet-editable-table-tabledata.js +3 -2
  60. package/lib/collection/components/duet-editable-table/duet-editable-table.css +20 -1
  61. package/lib/collection/components/duet-editable-table/duet-editable-table.js +331 -205
  62. package/lib/collection/components/duet-header/duet-header.css +5 -1
  63. package/lib/collection/components/duet-header/duet-header.js +4 -3
  64. package/lib/collection/components/duet-pagination/duet-pagination.css +3 -62
  65. package/lib/collection/components/duet-pagination/duet-pagination.js +49 -19
  66. package/lib/collection/components/duet-range-stepper/duet-range-stepper.css +4 -55
  67. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -4
  68. package/lib/collection/components/duet-table/duet-table.css +42 -8
  69. package/lib/collection/components/duet-table/duet-table.js +11 -2
  70. package/lib/collection/components/duet-upload/duet-upload.css +25 -0
  71. package/lib/collection/components/duet-upload/duet-upload.js +270 -166
  72. package/lib/collection/components/duet-upload/upload-validators.js +1 -1
  73. package/lib/collection/utils/fixture-utils.js +3 -1
  74. package/lib/collection/utils/js-utils.js +36 -1
  75. package/lib/custom-elements-bundle/index.d.ts +6 -12
  76. package/lib/custom-elements-bundle/index.js +1148 -1007
  77. package/lib/duet/duet.esm.js +1 -1
  78. package/lib/duet/duet.js +1 -1
  79. package/lib/duet/{p-061835f3.system.entry.js → p-09bdb2b4.system.entry.js} +1 -1
  80. package/lib/duet/{p-1a95aeb6.entry.js → p-0e4b29a3.entry.js} +1 -1
  81. package/lib/duet/{p-65c418f7.system.entry.js → p-16477cd0.system.entry.js} +1 -1
  82. package/lib/duet/p-1c993c62.system.entry.js +4 -0
  83. package/lib/duet/{p-8c53bc24.system.entry.js → p-1f78f660.system.entry.js} +1 -1
  84. package/lib/duet/{p-ef275410.entry.js → p-24442312.entry.js} +1 -1
  85. package/lib/duet/{p-ddb6344c.system.js → p-268c0abb.system.js} +0 -0
  86. package/lib/duet/p-2d602c49.system.entry.js +4 -0
  87. package/lib/duet/{p-946f34b4.system.entry.js → p-305a8332.system.entry.js} +1 -1
  88. package/lib/duet/{p-4fdbc6ff.system.entry.js → p-3724e8bf.system.entry.js} +1 -1
  89. package/lib/duet/{p-5d9affcd.entry.js → p-40deceee.entry.js} +1 -1
  90. package/lib/duet/{p-211b4485.system.entry.js → p-4169371b.system.entry.js} +1 -1
  91. package/lib/duet/{p-9ce0e625.entry.js → p-4306e41d.entry.js} +1 -1
  92. package/lib/duet/{p-5376a9db.entry.js → p-43a310bd.entry.js} +1 -1
  93. package/lib/duet/{p-29255af8.entry.js → p-45c0bd39.entry.js} +1 -1
  94. package/lib/duet/{p-fd2211ab.entry.js → p-47885d97.entry.js} +1 -1
  95. package/lib/duet/{p-615bfc61.system.entry.js → p-4b9af907.system.entry.js} +1 -1
  96. package/lib/duet/{p-1c4721a1.entry.js → p-4f9d6d43.entry.js} +1 -1
  97. package/lib/duet/{p-85100e09.entry.js → p-52f07766.entry.js} +1 -1
  98. package/lib/duet/{p-e8e35258.entry.js → p-567321c9.entry.js} +1 -1
  99. package/lib/duet/p-572ee1f5.entry.js +4 -0
  100. package/lib/duet/{p-cb445018.js → p-5746d88c.js} +1 -1
  101. package/lib/duet/{p-286d2ad2.system.entry.js → p-57f6b52e.system.entry.js} +1 -1
  102. package/lib/duet/p-5a4e576c.entry.js +4 -0
  103. package/lib/duet/{p-fae71c1f.entry.js → p-5ad66dfd.entry.js} +1 -1
  104. package/lib/duet/{p-f6da56c8.entry.js → p-5cc97dae.entry.js} +1 -1
  105. package/lib/duet/{p-03cf3ebf.entry.js → p-5ce39b6b.entry.js} +1 -1
  106. package/lib/duet/{p-46ae601a.entry.js → p-615f0b6f.entry.js} +1 -1
  107. package/lib/duet/{p-83452e8f.entry.js → p-63f6099b.entry.js} +1 -1
  108. package/lib/duet/p-681e93cd.entry.js +4 -0
  109. package/lib/duet/p-6a455a78.system.entry.js +4 -0
  110. package/lib/duet/{p-c52f4de0.system.entry.js → p-6d142621.system.entry.js} +1 -1
  111. package/lib/duet/{p-ca0ee655.system.entry.js → p-6fc73186.system.entry.js} +1 -1
  112. package/lib/duet/{p-e5ce7aad.system.entry.js → p-72469869.system.entry.js} +1 -1
  113. package/lib/duet/{p-20cdb787.entry.js → p-73d3d1bf.entry.js} +1 -1
  114. package/lib/duet/{p-164a7037.system.entry.js → p-763d700b.system.entry.js} +1 -1
  115. package/lib/duet/{p-d9716aec.system.entry.js → p-770fdb8f.system.entry.js} +1 -1
  116. package/lib/duet/{p-4e2532c7.system.js → p-77acbfe4.system.js} +1 -1
  117. package/lib/duet/{p-d21f19cc.system.js → p-7d65b8fc.system.js} +1 -1
  118. package/lib/duet/{p-ffb5fb75.system.entry.js → p-7e1d6ac6.system.entry.js} +1 -1
  119. package/lib/duet/{p-c7fa7dcc.system.entry.js → p-7f58aced.system.entry.js} +1 -1
  120. package/lib/duet/{p-22baf1f8.system.entry.js → p-806dc8b7.system.entry.js} +1 -1
  121. package/lib/duet/{p-fa99eaa4.system.js → p-812b0905.system.js} +0 -0
  122. package/lib/duet/{p-e7b53f4f.system.entry.js → p-854558fd.system.entry.js} +1 -1
  123. package/lib/duet/{p-c514010b.system.entry.js → p-85507ac3.system.entry.js} +1 -1
  124. package/lib/duet/p-8a241b0d.system.js +4 -0
  125. package/lib/duet/p-8ab8531d.entry.js +4 -0
  126. package/lib/duet/{p-eb892975.system.entry.js → p-8ff7380a.system.entry.js} +1 -1
  127. package/lib/duet/p-92639d0b.system.js +4 -0
  128. package/lib/duet/{p-3d1b0105.entry.js → p-97b9a61f.entry.js} +1 -1
  129. package/lib/duet/{p-3bb702e3.system.entry.js → p-97f24160.system.entry.js} +2 -2
  130. package/lib/duet/{p-740b5609.entry.js → p-9816d0ab.entry.js} +1 -1
  131. package/lib/duet/{p-ae14591e.entry.js → p-9c37e704.entry.js} +1 -1
  132. package/lib/duet/p-9c57b94d.system.entry.js +4 -0
  133. package/lib/duet/{p-635dacce.system.entry.js → p-9fa719d0.system.entry.js} +1 -1
  134. package/lib/duet/p-a4c7bb27.system.entry.js +4 -0
  135. package/lib/duet/{p-3c3536be.entry.js → p-a9158499.entry.js} +1 -1
  136. package/lib/duet/{p-e7dd8a15.system.entry.js → p-a934db65.system.entry.js} +1 -1
  137. package/lib/duet/{p-e35d8543.entry.js → p-acb043aa.entry.js} +1 -1
  138. package/lib/duet/{p-7f0e360d.entry.js → p-b2811c51.entry.js} +1 -1
  139. package/lib/duet/{p-d24c6bc1.entry.js → p-b53afa7a.entry.js} +1 -1
  140. package/lib/duet/{p-0366552b.system.entry.js → p-b686f39d.system.entry.js} +1 -1
  141. package/lib/duet/{p-ebc56043.entry.js → p-b6d5be13.entry.js} +1 -1
  142. package/lib/duet/{p-e8303364.system.entry.js → p-bb61f7d8.system.entry.js} +1 -1
  143. package/lib/duet/{p-12941aef.system.entry.js → p-bc895d5f.system.entry.js} +1 -1
  144. package/lib/duet/{p-e47daca7.system.entry.js → p-beca945d.system.entry.js} +1 -1
  145. package/lib/duet/{p-dcaecb5e.js → p-c420e1ab.js} +1 -1
  146. package/lib/duet/{p-5b546064.entry.js → p-c801c899.entry.js} +1 -1
  147. package/lib/duet/{p-3547d108.entry.js → p-c8f1cc9c.entry.js} +1 -1
  148. package/lib/duet/{p-c8ec3b99.entry.js → p-cd8c4a50.entry.js} +1 -1
  149. package/lib/duet/{p-b6dd0933.entry.js → p-ce487a35.entry.js} +1 -1
  150. package/lib/duet/{p-c6df2ea8.system.entry.js → p-ce6e5918.system.entry.js} +1 -1
  151. package/lib/duet/{p-c2d32103.entry.js → p-d03cb5c3.entry.js} +1 -1
  152. package/lib/duet/p-d173c966.entry.js +4 -0
  153. package/lib/duet/{p-79b9e7ef.system.entry.js → p-d414e0f6.system.entry.js} +1 -1
  154. package/lib/duet/{p-8143f3de.js → p-d7bc0102.js} +0 -0
  155. package/lib/duet/{p-24b9e806.entry.js → p-d7d80b8e.entry.js} +1 -1
  156. package/lib/duet/p-d8ed6905.entry.js +4 -0
  157. package/lib/duet/{p-562ae946.entry.js → p-da61c503.entry.js} +1 -1
  158. package/lib/duet/p-dbb4a588.js +4 -0
  159. package/lib/duet/p-dd8fade8.entry.js +4 -0
  160. package/lib/duet/{p-1db7a35b.entry.js → p-de67de41.entry.js} +1 -1
  161. package/lib/duet/{p-9df321b3.system.entry.js → p-def972d1.system.entry.js} +1 -1
  162. package/lib/duet/p-df2d8ec4.entry.js +4 -0
  163. package/lib/duet/{p-05e2c680.system.entry.js → p-e35ea4b9.system.entry.js} +1 -1
  164. package/lib/duet/{p-ad3dad04.system.js → p-e9ab7f0a.system.js} +1 -1
  165. package/lib/duet/{p-7a32ceb3.system.entry.js → p-eb383537.system.entry.js} +1 -1
  166. package/lib/duet/{p-ad07f399.js → p-ed75c8b3.js} +0 -0
  167. package/lib/duet/{p-c18080ad.entry.js → p-ee8682fc.entry.js} +1 -1
  168. package/lib/duet/p-f155c84d.system.entry.js +4 -0
  169. package/lib/duet/{p-d945a4b0.system.entry.js → p-f1b895c8.system.entry.js} +1 -1
  170. package/lib/duet/{p-89e42127.system.entry.js → p-f5af2560.system.entry.js} +1 -1
  171. package/lib/duet/{p-3900577d.system.entry.js → p-f7475d5a.system.entry.js} +1 -1
  172. package/lib/duet/p-f7c7f37d.js +4 -0
  173. package/lib/duet/{p-210d739c.system.entry.js → p-feca1c50.system.entry.js} +1 -1
  174. package/lib/esm/duet-action-button.entry.js +159 -0
  175. package/lib/esm/duet-alert.entry.js +1 -1
  176. package/lib/esm/duet-badge.entry.js +1 -1
  177. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  178. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  179. package/lib/esm/duet-button_2.entry.js +8 -4
  180. package/lib/esm/duet-caption_4.entry.js +3 -3
  181. package/lib/esm/duet-card.entry.js +3 -3
  182. package/lib/esm/duet-checkbox.entry.js +1 -1
  183. package/lib/esm/duet-choice_2.entry.js +4 -4
  184. package/lib/esm/duet-collapsible.entry.js +2 -2
  185. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  186. package/lib/esm/duet-date-picker.entry.js +4 -4
  187. package/lib/esm/duet-divider_2.entry.js +1 -1
  188. package/lib/esm/{duet-editable-table_4.entry.js → duet-editable-table_3.entry.js} +384 -338
  189. package/lib/esm/duet-empty-state.entry.js +1 -1
  190. package/lib/esm/duet-fieldset.entry.js +1 -1
  191. package/lib/esm/duet-footer.entry.js +1 -1
  192. package/lib/esm/duet-grid_2.entry.js +2 -2
  193. package/lib/esm/duet-header_2.entry.js +7 -7
  194. package/lib/esm/duet-hero.entry.js +1 -1
  195. package/lib/esm/duet-icon.entry.js +3 -3
  196. package/lib/esm/duet-input_2.entry.js +1 -1
  197. package/lib/esm/duet-layout.entry.js +1 -1
  198. package/lib/esm/duet-list_2.entry.js +1 -1
  199. package/lib/esm/duet-modal.entry.js +2 -2
  200. package/lib/esm/duet-notification_2.entry.js +1 -1
  201. package/lib/esm/duet-number-input.entry.js +1 -1
  202. package/lib/esm/duet-pagination_2.entry.js +24 -14
  203. package/lib/esm/duet-progress.entry.js +1 -1
  204. package/lib/esm/duet-radio_2.entry.js +1 -1
  205. package/lib/esm/duet-range-slider.entry.js +2 -2
  206. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  207. package/lib/esm/duet-select.entry.js +1 -1
  208. package/lib/esm/duet-step_2.entry.js +1 -1
  209. package/lib/esm/duet-textarea.entry.js +1 -1
  210. package/lib/esm/duet-toggle.entry.js +1 -1
  211. package/lib/esm/duet-tooltip.entry.js +1 -1
  212. package/lib/esm/duet-tray.entry.js +2 -2
  213. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  214. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  215. package/lib/esm/duet.js +2 -2
  216. package/lib/esm/{focus-utils-d4e80e1e.js → focus-utils-46b28332.js} +1 -1
  217. package/lib/esm/{index-4a5e7664.js → index-8743db3b.js} +1 -1
  218. package/lib/esm/js-utils-52e0944c.js +36 -0
  219. package/lib/esm/loader.js +2 -2
  220. package/lib/esm/{token-utils-e9a69acf.js → token-utils-e9a0cb88.js} +1 -1
  221. package/lib/esm/{tokens-e110dc89.js → tokens-57d98824.js} +0 -0
  222. package/lib/esm/{tokens.module-49cbf963.js → tokens.module-a13e9683.js} +0 -0
  223. package/lib/esm-es5/duet-action-button.entry.js +4 -0
  224. package/lib/esm-es5/duet-alert.entry.js +1 -1
  225. package/lib/esm-es5/duet-badge.entry.js +1 -1
  226. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  227. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  228. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  229. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  230. package/lib/esm-es5/duet-card.entry.js +1 -1
  231. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  232. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  233. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  234. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  235. package/lib/esm-es5/duet-date-picker.entry.js +2 -2
  236. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  237. package/lib/esm-es5/duet-editable-table_3.entry.js +4 -0
  238. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  239. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  240. package/lib/esm-es5/duet-footer.entry.js +1 -1
  241. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  242. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  243. package/lib/esm-es5/duet-hero.entry.js +1 -1
  244. package/lib/esm-es5/duet-icon.entry.js +1 -1
  245. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  246. package/lib/esm-es5/duet-layout.entry.js +1 -1
  247. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  248. package/lib/esm-es5/duet-modal.entry.js +1 -1
  249. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  250. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  251. package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
  252. package/lib/esm-es5/duet-progress.entry.js +1 -1
  253. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  254. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  255. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  256. package/lib/esm-es5/duet-select.entry.js +1 -1
  257. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  258. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  259. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  260. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  261. package/lib/esm-es5/duet-tray.entry.js +1 -1
  262. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  263. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  264. package/lib/esm-es5/duet.js +1 -1
  265. package/lib/esm-es5/focus-utils-46b28332.js +4 -0
  266. package/lib/esm-es5/{index-4a5e7664.js → index-8743db3b.js} +1 -1
  267. package/lib/esm-es5/js-utils-52e0944c.js +4 -0
  268. package/lib/esm-es5/loader.js +1 -1
  269. package/lib/esm-es5/{token-utils-e9a69acf.js → token-utils-e9a0cb88.js} +1 -1
  270. package/lib/esm-es5/{tokens-e110dc89.js → tokens-57d98824.js} +0 -0
  271. package/lib/esm-es5/{tokens.module-49cbf963.js → tokens.module-a13e9683.js} +0 -0
  272. package/lib/html.html-data.json +169 -69
  273. package/lib/types/components/duet-action-button/duet-action-button.d.ts +112 -0
  274. package/lib/types/components/duet-button/duet-button.d.ts +4 -0
  275. package/lib/types/components/duet-editable-table/duet-editable-table-tabledata.d.ts +2 -2
  276. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +106 -48
  277. package/lib/types/components/duet-header/duet-header.d.ts +1 -0
  278. package/lib/types/components/duet-pagination/duet-pagination.d.ts +7 -2
  279. package/lib/types/components/duet-table/duet-table.d.ts +16 -0
  280. package/lib/types/components/duet-upload/duet-upload.d.ts +68 -58
  281. package/lib/types/components.d.ts +225 -149
  282. package/lib/types/utils/js-utils.d.ts +2 -0
  283. package/package.json +8 -16
  284. package/lib/cjs/duet-editable-table-button.cjs.entry.js +0 -96
  285. package/lib/cjs/js-utils-33a9dbe3.js +0 -16
  286. package/lib/collection/components/duet-editable-table/duet-editable-table-button.css +0 -32
  287. package/lib/collection/components/duet-editable-table/duet-editable-table-button.js +0 -225
  288. package/lib/collection/components/duet-editable-table/duet-editable-table-item.css +0 -36
  289. package/lib/collection/components/duet-editable-table/duet-editable-table-item.js +0 -225
  290. package/lib/duet/p-063fe96d.entry.js +0 -4
  291. package/lib/duet/p-2361986e.entry.js +0 -4
  292. package/lib/duet/p-2eeacf1a.entry.js +0 -4
  293. package/lib/duet/p-396f1bdc.entry.js +0 -4
  294. package/lib/duet/p-493c6d2f.system.entry.js +0 -4
  295. package/lib/duet/p-7b55f33e.entry.js +0 -4
  296. package/lib/duet/p-7e0e2209.system.entry.js +0 -4
  297. package/lib/duet/p-81867417.system.js +0 -4
  298. package/lib/duet/p-a3d7951c.system.entry.js +0 -4
  299. package/lib/duet/p-a619dff3.system.js +0 -4
  300. package/lib/duet/p-b25d3769.js +0 -4
  301. package/lib/duet/p-bf192d9f.entry.js +0 -4
  302. package/lib/duet/p-c76a68aa.system.entry.js +0 -4
  303. package/lib/duet/p-d12b3d21.system.entry.js +0 -4
  304. package/lib/duet/p-ded33218.system.entry.js +0 -4
  305. package/lib/duet/p-e6a69eb8.js +0 -4
  306. package/lib/duet/p-ef4962e8.entry.js +0 -4
  307. package/lib/duet/p-ff21f3c2.entry.js +0 -4
  308. package/lib/esm/duet-editable-table-button.entry.js +0 -92
  309. package/lib/esm/js-utils-b69f17df.js +0 -14
  310. package/lib/esm-es5/duet-editable-table-button.entry.js +0 -4
  311. package/lib/esm-es5/duet-editable-table_4.entry.js +0 -4
  312. package/lib/esm-es5/focus-utils-d4e80e1e.js +0 -4
  313. package/lib/esm-es5/js-utils-b69f17df.js +0 -4
  314. package/lib/types/components/duet-editable-table/duet-editable-table-button.d.ts +0 -73
  315. package/lib/types/components/duet-editable-table/duet-editable-table-item.d.ts +0 -76
@@ -643,6 +643,11 @@ button {
643
643
  .duet-header-contact.active:hover {
644
644
  color: inherit;
645
645
  }
646
+ .duet-theme-turva .duet-header-language.active, .duet-theme-turva .duet-header-language.active:hover,
647
+ .duet-theme-turva .duet-header-contact.active,
648
+ .duet-theme-turva .duet-header-contact.active:hover {
649
+ color: inherit;
650
+ }
646
651
  .duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,
647
652
  .duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,
648
653
  .duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after {
@@ -786,7 +791,6 @@ button {
786
791
  background: #c60c30;
787
792
  }
788
793
  .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover {
789
- color: #444445;
790
794
  border-color: #f5f5f7;
791
795
  }
792
796
  @media (min-width: 62em) {
@@ -26,6 +26,7 @@ const createEvent = (ev, data) => ({
26
26
  /**
27
27
  * @slot utility - A slot for utilities, such as a notification drawer or shopping basket.
28
28
  * @slot logo-utility - A slot to place elements alongside the logo. This takes precedence over the **region** prop. Note: not available in desktop multilevel header.
29
+ * @part header - piercing selector for styling the header element.
29
30
  */
30
31
  export class DuetHeader {
31
32
  constructor() {
@@ -490,7 +491,7 @@ export class DuetHeader {
490
491
  "duet-theme-turva": this.theme === "turva",
491
492
  "duet-header-back": true,
492
493
  "duet-header-inactive": true,
493
- } },
494
+ }, part: "header" },
494
495
  h("div", { class: "duet-header-top" },
495
496
  skipToLabel,
496
497
  h("duet-button", { url: this.processedBack.href, id: this.processedBack.id, theme: this.theme, variation: "plain", color: this.theme === "turva" ? "secondary-turva" : "secondary", icon: "navigation-arrow-left", iconSize: "large", onClick: this.handleBackClick }, this.processedBack.label),
@@ -514,7 +515,7 @@ export class DuetHeader {
514
515
  "duet-header": true,
515
516
  "duet-theme-turva": this.theme === "turva",
516
517
  "duet-header-inactive": !this.processedItems,
517
- } },
518
+ }, part: "header" },
518
519
  h("div", { class: "duet-header-top" },
519
520
  skipToLabel,
520
521
  h("div", { class: "logo-and-segment" },
@@ -561,7 +562,7 @@ export class DuetHeader {
561
562
  "duet-header": true,
562
563
  "duet-theme-turva": this.theme === "turva",
563
564
  "duet-header-inactive": !this.processedItems,
564
- } },
565
+ }, part: "header" },
565
566
  h("div", { class: "duet-header-top" },
566
567
  skipToLabel,
567
568
  logo,
@@ -28,6 +28,9 @@
28
28
  position: relative;
29
29
  }
30
30
 
31
+ .duet-pagination ::part(button) {
32
+ border: 0;
33
+ }
31
34
  .duet-pagination, .duet-pagination li {
32
35
  display: flex;
33
36
  flex-wrap: wrap;
@@ -55,66 +58,4 @@
55
58
  }
56
59
  .duet-pagination.duet-pagination-is-dimmed {
57
60
  opacity: 0.5;
58
- }
59
-
60
- .duet-pagination-page-button {
61
- white-space: nowrap;
62
- }
63
- .duet-pagination-page-button button {
64
- display: inline-flex;
65
- align-items: center;
66
- justify-content: center;
67
- width: 32px;
68
- height: 32px;
69
- min-height: auto !important;
70
- padding: 0 !important;
71
- margin: 0 0 0 8px !important;
72
- color: #00294d;
73
- cursor: pointer;
74
- background: #f5f8fa;
75
- border-radius: 50%;
76
- transition: background-color 300ms ease !important;
77
- }
78
- .duet-theme-turva .duet-pagination-page-button button {
79
- color: #171c3a;
80
- background: #f5f5f7;
81
- }
82
- .duet-pagination-page-button button duet-icon {
83
- display: block;
84
- }
85
- @media (max-width: 35.9375em) {
86
- .duet-pagination-page-button button {
87
- width: 40px;
88
- height: 40px;
89
- }
90
- }
91
- .duet-pagination-page-button button:not(:disabled):hover {
92
- background: #e9ecee !important;
93
- }
94
- .duet-theme-turva .duet-pagination-page-button button:not(:disabled):hover {
95
- background: #e9e9eb !important;
96
- }
97
- .duet-pagination-page-button button:focus {
98
- outline: 0;
99
- box-shadow: 0 0 0 2px #0077b3;
100
- }
101
- .duet-theme-turva .duet-pagination-page-button button:focus {
102
- box-shadow: 0 0 0 2px #171c3a;
103
- }
104
- .duet-pagination-page-button button:active:focus {
105
- background: #dddfe1;
106
- box-shadow: none;
107
- }
108
- .duet-theme-turva .duet-pagination-page-button button:active:focus {
109
- background: #ddddde;
110
- }
111
- .duet-pagination-page-button button:disabled {
112
- color: #909599;
113
- cursor: default;
114
- background: #f5f8fa;
115
- opacity: 0.75;
116
- }
117
- .duet-theme-turva .duet-pagination-page-button button:disabled {
118
- color: #747475;
119
- background: #f5f5f7;
120
61
  }
@@ -30,10 +30,14 @@ export class DuetPagination {
30
30
  * Characters to use for the jump buttons.
31
31
  */
32
32
  this.jumpString = "...";
33
+ /**
34
+ * Variation of the paginator (compact and default supported)
35
+ */
36
+ this.variation = "default";
33
37
  /**
34
38
  * Default pagination labels
35
39
  */
36
- this.ariaLabelsDefaults = {
40
+ this.accessibleLabelsDefaults = {
37
41
  en: {
38
42
  next_page: "Next page",
39
43
  previous_page: "Previous page",
@@ -74,7 +78,7 @@ export class DuetPagination {
74
78
  /**
75
79
  * Default pagination labels
76
80
  */
77
- this.ariaLabels = getLocaleString(this.ariaLabelsDefaults);
81
+ this.accessibleLabels = getLocaleString(this.accessibleLabelsDefaults);
78
82
  /**
79
83
  * The size of the take, when paginating.
80
84
  */
@@ -244,13 +248,16 @@ export class DuetPagination {
244
248
  }, role: "menuitem" },
245
249
  h("duet-button", { class: {
246
250
  "duet-pagination-link": true,
247
- }, color: i !== this.current ? "secondary" : "primary", "data-id": i, "center-text": true, variation: "plain", margin: "none", accessibleLabel: `${this.ariaLabels.go_to} ${i}`, onClick: e => this.pageClickHandler(e) },
251
+ }, color: i !== this.current ? "secondary" : "primary", "data-id": i, "center-text": true, variation: "plain", margin: "none", accessibleLabel: `${this.accessibleLabels.go_to} ${i}`, onClick: e => this.pageClickHandler(e) },
248
252
  h("div", { class: "duet-pagination-page-number", "aria-hidden": true }, i))));
249
253
  } while (i < this.visibleItems + this.internalSectionIndex * this.visibleItems);
250
254
  return items;
251
255
  }
252
256
  shouldDisplayNavigation() {
253
- return shouldDisplayNavigation(this.visibleItems, this.total, this.take);
257
+ if (this.variation !== "compact") {
258
+ return shouldDisplayNavigation(this.visibleItems, this.total, this.take);
259
+ }
260
+ return false;
254
261
  }
255
262
  /**
256
263
  * render() function
@@ -258,43 +265,44 @@ export class DuetPagination {
258
265
  */
259
266
  render() {
260
267
  return (h(Host, { onKeyDown: e => this.onKeyboardDown(e) },
261
- h("nav", { role: "navigation", class: "duet-pagination-nav", "aria-labelledby": this.listId, "aria-describedby": this.listId, ref: el => (this.nativeNav = el), "aria-controls": this.ariaControls },
262
- this.numbersStore !== "" && (h("div", { "aria-live": "assertive", "aria-relevant": "text", class: "duet-pagination-overlay", "aria-label": `${this.ariaLabels.jump_to} ${this.numbersStore}`, part: "navigation-overlay" },
268
+ h("nav", { role: "navigation", "aria-labelledby": this.listId, "aria-describedby": this.listId, ref: el => (this.nativeNav = el), "aria-controls": this.ariaControls, class: {
269
+ "duet-pagination-nav": true,
270
+ [`duet-pagination-variation-${this.variation}`]: true,
271
+ } },
272
+ this.numbersStore !== "" && (h("div", { "aria-live": "assertive", "aria-relevant": "text", class: "duet-pagination-overlay", "aria-label": `${this.accessibleLabels.jump_to} ${this.numbersStore}`, part: "navigation-overlay" },
263
273
  h("duet-badge", null,
264
274
  "jump to page : ",
265
275
  this.numbersStore))),
266
276
  h("ol", { id: this.listId, class: {
267
277
  "duet-pagination": true,
268
278
  "duet-pagination-is-dimmed": this.numbersStore !== "",
269
- }, role: "menubar", "aria-label": this.ariaLabels.pagination_label, "aria-description": this.ariaLabels.description },
279
+ }, role: "menubar", "aria-label": this.accessibleLabels.pagination_label, "aria-description": this.accessibleLabels.description },
270
280
  h("li", { class: {
271
281
  "duet-pagination-page-button": true,
272
282
  "duet-pagination-button-first": true,
273
283
  }, role: "menuitem", part: "navigation-arrow" },
274
- h("button", { disabled: this.internalSectionIndex === 0 && this.current <= 1, "data-direction": "back", class: "duet-date-dialog-prev", type: "button", onClick: e => this.onMouseHandler(e, -1), "aria-label": this.ariaLabels.previous_page },
275
- h("duet-icon", { name: "action-arrow-left-small", color: "currentColor", margin: "none", size: "xx-small" }))),
284
+ h("duet-action-button", { disabled: this.internalSectionIndex === 0 && this.current <= 1, "data-direction": "back", onClick: e => this.onMouseHandler(e, -1), "aria-label": this.accessibleLabels.previous_page, "icon-name": "action-arrow-left-small" })),
276
285
  this.internalSectionIndex !== 0 && this.shouldDisplayNavigation() && (h(Fragment, null,
277
286
  h("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" },
278
- h("duet-button", { class: "duet-pagination-link", "center-text": "true", variation: "plain", color: "secondary", margin: "none", accessibleLabel: this.ariaLabels.first_page, onClick: e => this.jumpToStart(e) },
287
+ h("duet-button", { class: "duet-pagination-link", "center-text": "true", variation: "plain", color: "secondary", margin: "none", accessibleLabel: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e) },
279
288
  h("div", { class: "duet-pagination-page-number" }, "1"))),
280
289
  h("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" },
281
- h("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.ariaLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1) },
290
+ h("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1) },
282
291
  h("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))))),
283
292
  this.renderPageNumbers(),
284
293
  this.internalSectionIndex !== this.totalPages / this.visibleItems - 1 && this.shouldDisplayNavigation() && (h(Fragment, null,
285
294
  h("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" },
286
- h("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.ariaLabels.next_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, 1) },
295
+ h("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.next_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, 1) },
287
296
  h("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))),
288
297
  h("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" },
289
- h("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.ariaLabels.last_page, onClick: e => this.jumpToEnd(e) },
298
+ h("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e) },
290
299
  h("div", { class: "duet-pagination-page-number" }, this.totalPages))))),
291
300
  h("li", { class: {
292
301
  "duet-pagination-page-button": true,
293
302
  "duet-pagination-button-last": true,
294
303
  }, role: "menuitem", part: "navigation-arrow" },
295
- h("button", { disabled: this.current === this.totalPages &&
296
- this.internalSectionIndex === Math.ceil(this.totalPages / this.visibleItems) - 1, class: "duet-date-dialog-next", type: "button", "aria-label": this.ariaLabels.next_page, onClick: e => this.onMouseHandler(e, 1) },
297
- h("duet-icon", { name: "action-arrow-right-small", color: "currentColor", margin: "none", size: "xx-small" })))))));
304
+ h("duet-action-button", { disabled: this.current === this.totalPages &&
305
+ this.internalSectionIndex === Math.ceil(this.totalPages / this.visibleItems) - 1, class: "duet-date-dialog-next", "aria-label": this.accessibleLabels.next_page, onClick: e => this.onMouseHandler(e, 1), "icon-name": "action-arrow-right-small" }))))));
298
306
  }
299
307
  static get is() { return "duet-pagination"; }
300
308
  static get encapsulation() { return "shadow"; }
@@ -346,7 +354,29 @@ export class DuetPagination {
346
354
  "reflect": false,
347
355
  "defaultValue": "\"...\""
348
356
  },
349
- "ariaLabelsDefaults": {
357
+ "variation": {
358
+ "type": "string",
359
+ "mutable": false,
360
+ "complexType": {
361
+ "original": "DuetPaginationVariation",
362
+ "resolved": "\"compact\" | \"default\"",
363
+ "references": {
364
+ "DuetPaginationVariation": {
365
+ "location": "local"
366
+ }
367
+ }
368
+ },
369
+ "required": false,
370
+ "optional": false,
371
+ "docs": {
372
+ "tags": [],
373
+ "text": "Variation of the paginator (compact and default supported)"
374
+ },
375
+ "attribute": "variation",
376
+ "reflect": false,
377
+ "defaultValue": "\"default\""
378
+ },
379
+ "accessibleLabelsDefaults": {
350
380
  "type": "unknown",
351
381
  "mutable": false,
352
382
  "complexType": {
@@ -367,7 +397,7 @@ export class DuetPagination {
367
397
  },
368
398
  "defaultValue": "{\n en: {\n next_page: \"Next page\",\n previous_page: \"Previous page\",\n first_page: \"First page\",\n last_page: \"Last page\",\n jump_to: \"Jump to page\",\n go_to: \"Go to page\",\n description:\n \"You may use arrow keys to select page number, or enter a page number when this element is in focus to jump to a page\",\n pagination_label: \"Pagination, choose a number to jump to a page\",\n prev_section: \"Show previous {0} page numbers, screen reader user should use arrowkeys to navigate\",\n next_section: \"Show next {0} page numbers, screen reader user should use arrowkeys to navigate\",\n },\n fi: {\n next_page: \"Seuraava sivu\",\n previous_page: \"Edellinen sivu\",\n first_page: \"Ensimm\u00E4inen sivu\",\n last_page: \"Viimeinen sivu\",\n jump_to: \"Siirry sivulle\",\n go_to: \"Siirry sivulle\",\n description:\n \"Voit k\u00E4ytt\u00E4\u00E4 nuolin\u00E4pp\u00E4imi\u00E4 sivunumeron valitsemiseen, tai kirjoittaa sivunumeron, jos t\u00E4m\u00E4 elementti on aktiivinen, siirtym\u00E4\u00E4n sivulle\",\n pagination_label: \"Sivutus, valitse sivunumero siirty\u00E4ksesi sivulle\",\n prev_section: \"N\u00E4yt\u00E4 edelliset {0} sivunumerot, k\u00E4ytt\u00E4j\u00E4n pit\u00E4\u00E4 k\u00E4ytt\u00E4\u00E4 nuolin\u00E4pp\u00E4imi\u00E4 navigoidaksesi\",\n next_section: \"N\u00E4yt\u00E4 seuraavat {0} sivunumerot, k\u00E4ytt\u00E4j\u00E4n pit\u00E4\u00E4 k\u00E4ytt\u00E4\u00E4 nuolin\u00E4pp\u00E4imi\u00E4 navigoidaksesi\",\n },\n sv: {\n next_page: \"N\u00E4sta sida\",\n previous_page: \"F\u00F6reg\u00E5ende sida\",\n first_page: \"F\u00F6rsta sidan\",\n last_page: \"Sista sidan\",\n jump_to: \"Hoppa till sida\",\n go_to: \"Hoppa till sida\",\n description:\n \"Du kan anv\u00E4nda piltangenterna f\u00F6r att v\u00E4lja sida, eller skriva in sida n\u00E4r elementet \u00E4r i fokus f\u00F6r att hoppa till en sida\",\n pagination_label: \"Sidutning, v\u00E4lj en siffra f\u00F6r att hoppa till en sida\",\n prev_section: \"Visa f\u00F6reg\u00E5ende {0} sidnummer, skrivbordsl\u00E4sare ska anv\u00E4nda piltangenterna f\u00F6r att navigera\",\n next_section: \"Visa n\u00E4sta {0} sidnummer, skrivbordsl\u00E4sare ska anv\u00E4nda piltangenterna f\u00F6r att navigera\",\n },\n }"
369
399
  },
370
- "ariaLabels": {
400
+ "accessibleLabels": {
371
401
  "type": "unknown",
372
402
  "mutable": false,
373
403
  "complexType": {
@@ -385,7 +415,7 @@ export class DuetPagination {
385
415
  "tags": [],
386
416
  "text": "Default pagination labels"
387
417
  },
388
- "defaultValue": "getLocaleString(\n this.ariaLabelsDefaults\n )"
418
+ "defaultValue": "getLocaleString(\n this.accessibleLabelsDefaults\n )"
389
419
  },
390
420
  "take": {
391
421
  "type": "number",
@@ -40,61 +40,10 @@
40
40
  .duet-range-stepper {
41
41
  white-space: nowrap;
42
42
  }
43
- .duet-range-stepper button {
44
- display: inline-flex;
45
- align-items: center;
46
- justify-content: center;
47
- width: 32px;
48
- height: 32px;
49
- min-height: auto !important;
50
- padding: 0 !important;
51
- margin: 0 0 0 8px !important;
43
+ .duet-range-stepper .duet-range-step-counter {
44
+ font-weight: 600;
52
45
  color: #00294d;
53
- cursor: pointer;
54
- background: #f5f8fa;
55
- border-radius: 50%;
56
- transition: background-color 300ms ease !important;
57
- }
58
- .duet-theme-turva .duet-range-stepper button {
59
- color: #171c3a;
60
- background: #f5f5f7;
61
- }
62
- .duet-range-stepper button duet-icon {
63
- display: block;
64
- }
65
- @media (max-width: 35.9375em) {
66
- .duet-range-stepper button {
67
- width: 40px;
68
- height: 40px;
69
- }
70
- }
71
- .duet-range-stepper button:not(:disabled):hover {
72
- background: #e9ecee !important;
73
- }
74
- .duet-theme-turva .duet-range-stepper button:not(:disabled):hover {
75
- background: #e9e9eb !important;
76
46
  }
77
- .duet-range-stepper button:focus {
78
- outline: 0;
79
- box-shadow: 0 0 0 2px #0077b3;
80
- }
81
- .duet-theme-turva .duet-range-stepper button:focus {
82
- box-shadow: 0 0 0 2px #171c3a;
83
- }
84
- .duet-range-stepper button:active:focus {
85
- background: #dddfe1;
86
- box-shadow: none;
87
- }
88
- .duet-theme-turva .duet-range-stepper button:active:focus {
89
- background: #ddddde;
90
- }
91
- .duet-range-stepper button:disabled {
92
- color: #909599;
93
- cursor: default;
94
- background: #f5f8fa;
95
- opacity: 0.75;
96
- }
97
- .duet-theme-turva .duet-range-stepper button:disabled {
98
- color: #747475;
99
- background: #f5f5f7;
47
+ .duet-range-stepper ::part(button) {
48
+ border: 0;
100
49
  }
@@ -154,10 +154,8 @@ export class DuetRangeStepper {
154
154
  "duet-theme-turva": this.theme === "turva",
155
155
  }, onKeyDown: e => this.onKeyboardDown(e), "aria-controls": this.ariaControls },
156
156
  h("span", { class: "duet-range-step-counter", part: "range-numbers" }, this.generateStepSize()),
157
- h("button", { class: "duet-range-step-button duet-range-step-minus", type: "button", onClick: e => this.handleClick(e, -1), id: this.leftBn, "aria-label": this.ariaLabels.previous_increment, ref: el => (this.leftBnRef = el), part: "navigation-arrow" },
158
- h("duet-icon", { name: "action-arrow-left-small", color: "currentColor", margin: "none", size: "xx-small" })),
159
- h("button", { class: "duet-range-step-button duet-range-step-plus", type: "button", onClick: e => this.handleClick(e, 1), "aria-label": this.ariaLabels.next_increment, id: this.rightBn, ref: el => (this.rightBnRef = el), part: "navigation-arrow" },
160
- h("duet-icon", { name: "action-arrow-right-small", color: "currentColor", margin: "none", size: "xx-small" }))));
157
+ h("duet-action-button", { class: "duet-range-step-button duet-range-step-minus", onClick: e => this.handleClick(e, -1), id: this.leftBn, "aria-label": this.ariaLabels.previous_increment, ref: el => (this.leftBnRef = el), part: "navigation-arrow", iconName: "action-arrow-left-small" }),
158
+ h("duet-action-button", { class: "duet-range-step-button duet-range-step-plus", onClick: e => this.handleClick(e, 1), "aria-label": this.ariaLabels.next_increment, id: this.rightBn, ref: el => (this.rightBnRef = el), part: "navigation-arrow", iconName: "action-arrow-right-small" })));
161
159
  }
162
160
  static get is() { return "duet-range-stepper"; }
163
161
  static get encapsulation() { return "shadow"; }
@@ -65,15 +65,21 @@ duet-table tbody th {
65
65
  duet-table.duet-theme-turva tbody th {
66
66
  color: #171c3a;
67
67
  }
68
+ duet-table .duet-table-action-row td:last-child {
69
+ justify-self: end;
70
+ padding-right: 20px !important;
71
+ white-space: nowrap;
72
+ }
68
73
 
69
- .duet-table-flattened table,
70
- .duet-table-flattened thead,
71
- .duet-table-flattened tbody,
72
- .duet-table-flattened tfoot,
73
- .duet-table-flattened th,
74
- .duet-table-flattened td,
75
- .duet-table-flattened tr {
76
- display: block;
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: "";
77
83
  }
78
84
  .duet-table-flattened thead tr {
79
85
  position: absolute !important;
@@ -86,11 +92,20 @@ duet-table.duet-theme-turva tbody th {
86
92
  border: 0 !important;
87
93
  }
88
94
  .duet-table-flattened td {
95
+ grid-column: 1/2;
89
96
  line-height: 1.25;
90
97
  }
91
98
  .duet-table-flattened td:not(:last-child) {
92
99
  margin-bottom: 16px !important;
93
100
  }
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
+ }
94
109
  .duet-table-flattened tbody td,
95
110
  .duet-table-flattened tbody th,
96
111
  .duet-table-flattened tfoot td {
@@ -303,4 +318,23 @@ duet-table.duet-theme-turva tbody th {
303
318
  }
304
319
  .duet-theme-turva .duet-table-selected-column {
305
320
  background: rgba(68, 68, 69, 0.08);
321
+ }
322
+
323
+ .duet-table-sortable tbody tr td:first-child,
324
+ .duet-table-sortable thead tr th:first-child {
325
+ padding: 20px;
326
+ }
327
+ .duet-table-sortable:not(.duet-table-flattened) tfoot {
328
+ border-top: 1px solid #e1e3e6;
329
+ }
330
+ .duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot {
331
+ border-top-color: #e4e4e6;
332
+ }
333
+
334
+ .duet-table-actions table {
335
+ table-layout: auto;
336
+ }
337
+ .duet-table-actions thead th:last-child {
338
+ width: 1px;
339
+ white-space: nowrap;
306
340
  }
@@ -3,6 +3,7 @@
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 { debounce } from "../../utils/js-utils";
6
7
  import { inheritGlobalTheme } from "../../utils/themeable-component";
7
8
  // remove wrapping speech marks.
8
9
  // media query tokens are wrapped in speech marks,
@@ -23,6 +24,11 @@ const stickyTopValues = {
23
24
  "with-links": parseFloat(sizeNavigation) * 16,
24
25
  "without-links": parseFloat(sizeHeader) * 16,
25
26
  };
27
+ /**
28
+ * @slot dot-menu- If this slot is populated - the content will be displayed together with a ... type menu to the far right in the tsble header
29
+ * @slot header - Header slot for the table
30
+ * @slot footer - Footer slot for the table
31
+ */
26
32
  export class DuetTable {
27
33
  constructor() {
28
34
  /**
@@ -64,9 +70,9 @@ export class DuetTable {
64
70
  return;
65
71
  }
66
72
  this.mq = matchMedia(breakpointToToken[this.breakpoint]);
67
- this.mq.addEventListener("change", this.handleMediaQueryChange);
73
+ this.mq.addEventListener("change", debounce(this.handleMediaQueryChange, 50));
68
74
  this.handleMediaQueryChange(this.mq);
69
- this.observer = new MutationObserver(() => this.copyHeadingsToCells());
75
+ this.observer = new MutationObserver(() => debounce(this.copyHeadingsToCells(), 50));
70
76
  this.observer.observe(this.element, {
71
77
  childList: true,
72
78
  subtree: true,
@@ -103,6 +109,9 @@ export class DuetTable {
103
109
  this.mq = null;
104
110
  this.matchesBreakpoint = true;
105
111
  }
112
+ /**
113
+ * Local methods.
114
+ */
106
115
  copyHeadingsToCells() {
107
116
  const headingElements = this.element.querySelectorAll("thead th");
108
117
  const rowElements = this.element.querySelectorAll("tbody tr");
@@ -61,4 +61,29 @@
61
61
  font-size: 1rem;
62
62
  font-weight: 400;
63
63
  background-color: #f5f8fa;
64
+ }
65
+ .duet-upload-editable-table-header-hidden {
66
+ display: none;
67
+ }
68
+
69
+ .duet-upload-editable-table tbody .duet-upload-editable-table-data {
70
+ padding: 0 !important;
71
+ border: 0;
72
+ }
73
+ .duet-upload-editable-table duet-editable-table tfoot,
74
+ .duet-upload-editable-table duet-editable-table thead {
75
+ display: none;
76
+ }
77
+ .duet-upload-editable-table duet-editable-table .duet-editable-table-content {
78
+ padding-right: 0 !important;
79
+ padding-left: 0 !important;
80
+ }
81
+ .duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td {
82
+ padding: 0.75rem 0 !important;
83
+ }
84
+ .duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child {
85
+ padding-right: 0 !important;
86
+ }
87
+ .duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button) {
88
+ border: 0;
64
89
  }