@duetds/components 4.33.1 → 4.34.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 (303) hide show
  1. package/hydrate/index.js +438 -191
  2. package/lib/cjs/{dom-c850c8d7.js → dom-52a4f07a.js} +1 -1
  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-button_2.cjs.entry.js +2 -2
  6. package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
  7. package/lib/cjs/duet-card.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  10. package/lib/cjs/duet-collapsible.cjs.entry.js +5 -453
  11. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-editable-table-button.cjs.entry.js +14 -7
  15. package/lib/cjs/duet-editable-table_4.cjs.entry.js +86 -11
  16. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-footer.cjs.entry.js +2 -2
  19. package/lib/cjs/duet-grid_2.cjs.entry.js +26 -3
  20. package/lib/cjs/duet-header_2.cjs.entry.js +220 -47
  21. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-icon.cjs.entry.js +13 -21
  23. package/lib/cjs/duet-input_2.cjs.entry.js +3 -4
  24. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
  26. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  27. package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
  28. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-tab_2.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  41. package/lib/cjs/duet.cjs.js +4 -4
  42. package/lib/cjs/{focus-utils-b609a7a5.js → focus-utils-b57facfe.js} +1 -1
  43. package/lib/cjs/form-search-d61b2843.js +8 -0
  44. package/lib/cjs/{index-9a57d969.js → index-e2021bf7.js} +2 -9
  45. package/lib/cjs/loader.cjs.js +3 -3
  46. package/lib/cjs/{shadow-css-e3edeed1.js → shadow-css-e1b62a99.js} +1 -1
  47. package/lib/cjs/token-utils-05bd23b4.js +77 -0
  48. package/lib/cjs/tokens-8596cece.js +459 -0
  49. package/lib/collection/collection-manifest.json +2 -2
  50. package/lib/collection/components/duet-collapsible/duet-collapsible.js +4 -1
  51. package/lib/collection/components/duet-editable-table/duet-editable-table-button.js +13 -6
  52. package/lib/collection/components/duet-editable-table/duet-editable-table-item.js +25 -3
  53. package/lib/collection/components/duet-editable-table/duet-editable-table-tabledata.js +3 -3
  54. package/lib/collection/components/duet-editable-table/duet-editable-table.js +58 -2
  55. package/lib/collection/components/duet-footer/duet-footer.css +2 -0
  56. package/lib/collection/components/duet-grid/duet-grid.js +25 -2
  57. package/lib/collection/components/duet-header/duet-header-dropdown.js +27 -0
  58. package/lib/collection/components/duet-header/duet-header-hamburger.js +9 -0
  59. package/lib/collection/components/duet-header/duet-header-icon.js +9 -0
  60. package/lib/collection/components/duet-header/duet-header.css +272 -39
  61. package/lib/collection/components/duet-header/duet-header.js +316 -122
  62. package/lib/collection/components/duet-icon/duet-icon.js +11 -5
  63. package/lib/collection/components/duet-icon/icon-utils.js +5 -15
  64. package/lib/collection/components/duet-link/duet-link.js +4 -1
  65. package/lib/collection/components/duet-list-item/duet-list-item.css +1 -1
  66. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.css +4 -3
  67. package/lib/collection/components/duet-table/duet-table.css +42 -17
  68. package/lib/collection/components/duet-table/duet-table.js +2 -2
  69. package/lib/collection/components/duet-upload/duet-upload.js +26 -4
  70. package/lib/collection/utils/template-utils.js +33 -0
  71. package/lib/collection/utils/token-utils.js +67 -14
  72. package/lib/custom-elements-bundle/index.js +422 -114
  73. package/lib/duet/duet.esm.js +1 -1
  74. package/lib/duet/duet.js +1 -1
  75. package/lib/duet/{p-bf9f6d80.system.entry.js → p-00bf3bbb.system.entry.js} +1 -1
  76. package/lib/duet/{p-75edcaed.entry.js → p-08d1abc7.entry.js} +1 -1
  77. package/lib/duet/{p-2297d13f.system.entry.js → p-0dc01111.system.entry.js} +1 -1
  78. package/lib/duet/{p-19d7d9d5.system.entry.js → p-0e742087.system.entry.js} +1 -1
  79. package/lib/duet/p-12941c46.system.entry.js +4 -0
  80. package/lib/duet/{p-b314348c.system.js → p-13bc14a6.system.js} +2 -2
  81. package/lib/duet/{p-cf319832.system.entry.js → p-13d5fe80.system.entry.js} +1 -1
  82. package/lib/duet/{p-35a3794e.js → p-183726f7.js} +0 -0
  83. package/lib/duet/{p-323643af.system.entry.js → p-1fff32a9.system.entry.js} +1 -1
  84. package/lib/duet/{p-b5c7d304.system.entry.js → p-2524481a.system.entry.js} +1 -1
  85. package/lib/duet/{p-6a5ab3eb.entry.js → p-2862054c.entry.js} +1 -1
  86. package/lib/duet/{p-e1dc86b5.system.js → p-30d13a27.system.js} +1 -1
  87. package/lib/duet/p-354bf924.entry.js +4 -0
  88. package/lib/duet/{p-df6f39a3.entry.js → p-3998eed6.entry.js} +1 -1
  89. package/lib/duet/{p-079795e5.entry.js → p-3e0a774d.entry.js} +1 -1
  90. package/lib/duet/{p-fd613733.entry.js → p-3e273d8d.entry.js} +1 -1
  91. package/lib/duet/{p-2fdcff82.entry.js → p-3e47c910.entry.js} +1 -1
  92. package/lib/duet/{p-de5ec54e.system.entry.js → p-45a6838d.system.entry.js} +1 -1
  93. package/lib/duet/p-4836f66d.entry.js +4 -0
  94. package/lib/duet/{p-af49d4f9.entry.js → p-488addbc.entry.js} +1 -1
  95. package/lib/duet/{p-ba18b56e.entry.js → p-4a742d83.entry.js} +1 -1
  96. package/lib/duet/{p-37cda933.entry.js → p-4d5531be.entry.js} +1 -1
  97. package/lib/duet/{p-00210a63.entry.js → p-4db07868.entry.js} +1 -1
  98. package/lib/duet/p-50b4fb2c.js +4 -0
  99. package/lib/duet/{p-987edcd0.js → p-52621211.js} +0 -0
  100. package/lib/duet/p-582f9135.system.entry.js +4 -0
  101. package/lib/duet/{p-85e52be8.entry.js → p-58d7f2d1.entry.js} +1 -1
  102. package/lib/duet/{p-b25edbbe.entry.js → p-5a5e7977.entry.js} +1 -1
  103. package/lib/duet/{p-85ad012a.system.entry.js → p-5c67bb73.system.entry.js} +1 -1
  104. package/lib/duet/{p-3013c9bb.system.entry.js → p-5e03b63f.system.entry.js} +1 -1
  105. package/lib/duet/{p-e8123a53.entry.js → p-5f2fb5db.entry.js} +1 -1
  106. package/lib/duet/{p-f5a55b3c.entry.js → p-5f813e15.entry.js} +1 -1
  107. package/lib/duet/p-5f866721.entry.js +4 -0
  108. package/lib/duet/p-60aa83c0.js +4 -0
  109. package/lib/duet/{p-bf4596bd.system.entry.js → p-62de4645.system.entry.js} +1 -1
  110. package/lib/duet/{p-360086f8.entry.js → p-66c35cd2.entry.js} +1 -1
  111. package/lib/duet/{p-cbdb9e98.system.entry.js → p-69133107.system.entry.js} +1 -1
  112. package/lib/duet/p-6a8b3cf0.system.entry.js +4 -0
  113. package/lib/duet/{p-c18a599e.system.js → p-6e4fd6ba.system.js} +0 -0
  114. package/lib/duet/{p-e2596ea0.entry.js → p-72ad7798.entry.js} +1 -1
  115. package/lib/duet/{p-32b7397d.entry.js → p-746b3bee.entry.js} +1 -1
  116. package/lib/duet/p-75261615.system.entry.js +4 -0
  117. package/lib/duet/{p-8aaf3383.entry.js → p-760d2226.entry.js} +1 -1
  118. package/lib/duet/{p-7530be48.system.entry.js → p-7a0a375e.system.entry.js} +1 -1
  119. package/lib/duet/p-8143f3de.js +4 -0
  120. package/lib/duet/p-8b01f978.system.entry.js +4 -0
  121. package/lib/duet/{p-6e4b1c0d.entry.js → p-8d42cb7c.entry.js} +1 -1
  122. package/lib/duet/p-8e16057d.system.entry.js +4 -0
  123. package/lib/duet/p-8f477bd6.system.js +4 -0
  124. package/lib/duet/p-90e7e876.entry.js +4 -0
  125. package/lib/duet/{p-09013a48.system.entry.js → p-939bf739.system.entry.js} +1 -1
  126. package/lib/duet/{p-0205162d.entry.js → p-9793f3d8.entry.js} +1 -1
  127. package/lib/duet/p-9849a4ab.system.entry.js +4 -0
  128. package/lib/duet/{p-5cfc53f9.entry.js → p-9d487a0d.entry.js} +1 -1
  129. package/lib/duet/p-a16a58c1.system.js +4 -0
  130. package/lib/duet/p-a52d436c.entry.js +4 -0
  131. package/lib/duet/{p-e48f3a32.system.entry.js → p-a58f0665.system.entry.js} +1 -1
  132. package/lib/duet/{p-9e79e033.entry.js → p-a900d55b.entry.js} +1 -1
  133. package/lib/duet/p-ae46a7d2.system.entry.js +4 -0
  134. package/lib/duet/{p-6f36f647.system.entry.js → p-ae8401c9.system.entry.js} +1 -1
  135. package/lib/duet/{p-e60ee8b0.entry.js → p-b70f164d.entry.js} +1 -1
  136. package/lib/duet/{p-3ba62cf1.system.entry.js → p-b8dde0c8.system.entry.js} +1 -1
  137. package/lib/duet/{p-e5031543.entry.js → p-baef2241.entry.js} +1 -1
  138. package/lib/duet/{p-ef7251bf.entry.js → p-c50bbff5.entry.js} +1 -1
  139. package/lib/duet/{p-3fd9190b.system.entry.js → p-c67a63cc.system.entry.js} +1 -1
  140. package/lib/duet/p-c6ba80c6.entry.js +4 -0
  141. package/lib/duet/{p-e7b90769.system.entry.js → p-c92b1af1.system.entry.js} +1 -1
  142. package/lib/duet/{p-71a77368.system.entry.js → p-cdaa629d.system.entry.js} +1 -1
  143. package/lib/duet/{p-c1a1ea1b.js → p-ce566b2b.js} +1 -1
  144. package/lib/duet/p-d004da5f.js +4 -0
  145. package/lib/duet/{p-e70088d5.entry.js → p-d1adeb76.entry.js} +1 -1
  146. package/lib/duet/{p-5decc259.system.entry.js → p-d3b5d2ef.system.entry.js} +1 -1
  147. package/lib/duet/{p-a2a00146.system.entry.js → p-db87c4b1.system.entry.js} +1 -1
  148. package/lib/duet/{p-9f35d682.entry.js → p-ddbdac54.entry.js} +1 -1
  149. package/lib/duet/{p-e370c18b.entry.js → p-de23ae41.entry.js} +1 -1
  150. package/lib/duet/{p-f0cfe033.system.entry.js → p-e0038277.system.entry.js} +1 -1
  151. package/lib/duet/p-e1c6f74b.entry.js +4 -0
  152. package/lib/duet/{p-1cbc6269.entry.js → p-e242bf98.entry.js} +1 -1
  153. package/lib/duet/{p-51955fc0.system.js → p-e3973f41.system.js} +1 -1
  154. package/lib/duet/{p-0d22396e.system.js → p-e5c1751e.system.js} +0 -0
  155. package/lib/duet/p-ec5d0cda.entry.js +4 -0
  156. package/lib/duet/{p-43847557.entry.js → p-ee74ff67.entry.js} +1 -1
  157. package/lib/duet/{p-6a4d85ed.system.entry.js → p-eed6f9cc.system.entry.js} +1 -1
  158. package/lib/duet/{p-7a8597c2.system.entry.js → p-f01494f9.system.entry.js} +1 -1
  159. package/lib/duet/{p-b4111e88.system.entry.js → p-f2c402a9.system.entry.js} +1 -1
  160. package/lib/duet/{p-4b6e8558.system.entry.js → p-f3c258d8.system.entry.js} +1 -1
  161. package/lib/duet/{p-2a822e91.system.entry.js → p-f6e1fb0f.system.entry.js} +1 -1
  162. package/lib/duet/{p-020a2c42.system.entry.js → p-f7f4f98a.system.entry.js} +1 -1
  163. package/lib/duet/{p-dd76db9b.system.entry.js → p-f9a096a9.system.entry.js} +1 -1
  164. package/lib/duet/p-fa99eaa4.system.js +4 -0
  165. package/lib/duet/{p-6024e484.system.entry.js → p-ffd449ef.system.entry.js} +1 -1
  166. package/lib/esm/{dom-58cd15f6.js → dom-5d060ace.js} +1 -1
  167. package/lib/esm/duet-alert.entry.js +1 -1
  168. package/lib/esm/duet-badge.entry.js +1 -1
  169. package/lib/esm/duet-button_2.entry.js +2 -2
  170. package/lib/esm/duet-caption_4.entry.js +3 -3
  171. package/lib/esm/duet-card.entry.js +2 -2
  172. package/lib/esm/duet-checkbox.entry.js +1 -1
  173. package/lib/esm/duet-choice_2.entry.js +2 -2
  174. package/lib/esm/duet-collapsible.entry.js +4 -452
  175. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  176. package/lib/esm/duet-date-picker.entry.js +2 -2
  177. package/lib/esm/duet-divider_2.entry.js +1 -1
  178. package/lib/esm/duet-editable-table-button.entry.js +14 -7
  179. package/lib/esm/duet-editable-table_4.entry.js +86 -11
  180. package/lib/esm/duet-empty-state.entry.js +1 -1
  181. package/lib/esm/duet-fieldset.entry.js +1 -1
  182. package/lib/esm/duet-footer.entry.js +2 -2
  183. package/lib/esm/duet-grid_2.entry.js +26 -3
  184. package/lib/esm/duet-header_2.entry.js +220 -47
  185. package/lib/esm/duet-hero.entry.js +1 -1
  186. package/lib/esm/duet-icon.entry.js +13 -21
  187. package/lib/esm/duet-input_2.entry.js +2 -3
  188. package/lib/esm/duet-layout.entry.js +1 -1
  189. package/lib/esm/duet-list_2.entry.js +2 -2
  190. package/lib/esm/duet-modal.entry.js +2 -2
  191. package/lib/esm/duet-notification_2.entry.js +2 -2
  192. package/lib/esm/duet-number-input.entry.js +1 -1
  193. package/lib/esm/duet-progress.entry.js +1 -1
  194. package/lib/esm/duet-radio_2.entry.js +1 -1
  195. package/lib/esm/duet-range-slider.entry.js +1 -1
  196. package/lib/esm/duet-select.entry.js +1 -1
  197. package/lib/esm/duet-step_2.entry.js +1 -1
  198. package/lib/esm/duet-tab_2.entry.js +1 -1
  199. package/lib/esm/duet-textarea.entry.js +1 -1
  200. package/lib/esm/duet-toggle.entry.js +1 -1
  201. package/lib/esm/duet-tooltip.entry.js +1 -1
  202. package/lib/esm/duet-tray.entry.js +1 -1
  203. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  204. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  205. package/lib/esm/duet.js +4 -4
  206. package/lib/esm/{focus-utils-aeb6ca93.js → focus-utils-fc14cf36.js} +1 -1
  207. package/lib/esm/form-search-ea8e19ae.js +6 -0
  208. package/lib/esm/{index-e8c7d36f.js → index-9ef5d3bc.js} +3 -9
  209. package/lib/esm/loader.js +3 -3
  210. package/lib/esm/{shadow-css-7c726abb.js → shadow-css-13d024f4.js} +1 -1
  211. package/lib/esm/token-utils-75f78ca4.js +75 -0
  212. package/lib/esm/tokens-e110dc89.js +453 -0
  213. package/lib/esm-es5/{dom-58cd15f6.js → dom-5d060ace.js} +0 -0
  214. package/lib/esm-es5/duet-alert.entry.js +1 -1
  215. package/lib/esm-es5/duet-badge.entry.js +1 -1
  216. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  217. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  218. package/lib/esm-es5/duet-card.entry.js +1 -1
  219. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  220. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  221. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  222. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  223. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  224. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  225. package/lib/esm-es5/duet-editable-table-button.entry.js +1 -1
  226. package/lib/esm-es5/duet-editable-table_4.entry.js +2 -2
  227. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  228. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  229. package/lib/esm-es5/duet-footer.entry.js +1 -1
  230. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  231. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  232. package/lib/esm-es5/duet-hero.entry.js +1 -1
  233. package/lib/esm-es5/duet-icon.entry.js +2 -2
  234. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  235. package/lib/esm-es5/duet-layout.entry.js +1 -1
  236. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  237. package/lib/esm-es5/duet-modal.entry.js +1 -1
  238. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  239. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  240. package/lib/esm-es5/duet-progress.entry.js +1 -1
  241. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  242. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  243. package/lib/esm-es5/duet-select.entry.js +1 -1
  244. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  245. package/lib/esm-es5/duet-tab_2.entry.js +1 -1
  246. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  247. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  248. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  249. package/lib/esm-es5/duet-tray.entry.js +1 -1
  250. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  251. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  252. package/lib/esm-es5/duet.js +1 -1
  253. package/lib/esm-es5/{focus-utils-aeb6ca93.js → focus-utils-fc14cf36.js} +1 -1
  254. package/lib/esm-es5/form-search-ea8e19ae.js +4 -0
  255. package/lib/esm-es5/{index-e8c7d36f.js → index-9ef5d3bc.js} +2 -2
  256. package/lib/esm-es5/loader.js +1 -1
  257. package/lib/esm-es5/{shadow-css-7c726abb.js → shadow-css-13d024f4.js} +0 -0
  258. package/lib/esm-es5/token-utils-75f78ca4.js +4 -0
  259. package/lib/esm-es5/tokens-e110dc89.js +4 -0
  260. package/lib/html.html-data.json +29 -10
  261. package/lib/types/common-types.d.ts +0 -1
  262. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +3 -0
  263. package/lib/types/components/duet-editable-table/duet-editable-table-button.d.ts +1 -0
  264. package/lib/types/components/duet-editable-table/duet-editable-table-item.d.ts +5 -1
  265. package/lib/types/components/duet-editable-table/duet-editable-table-tabledata.d.ts +1 -0
  266. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +10 -0
  267. package/lib/types/components/duet-grid/duet-grid.d.ts +1 -0
  268. package/lib/types/components/duet-header/duet-header-dropdown.d.ts +16 -0
  269. package/lib/types/components/duet-header/duet-header-hamburger.d.ts +2 -0
  270. package/lib/types/components/duet-header/duet-header-icon.d.ts +8 -0
  271. package/lib/types/components/duet-header/duet-header.d.ts +41 -4
  272. package/lib/types/components/duet-icon/duet-icon.d.ts +1 -1
  273. package/lib/types/components/duet-icon/icon-utils.d.ts +1 -1
  274. package/lib/types/components/duet-link/duet-link.d.ts +3 -0
  275. package/lib/types/components/duet-table/duet-table.d.ts +1 -1
  276. package/lib/types/components/duet-upload/duet-upload.d.ts +4 -0
  277. package/lib/types/components.d.ts +46 -10
  278. package/lib/types/stencil-public-runtime.d.ts +6 -4
  279. package/lib/types/utils/template-utils.d.ts +13 -0
  280. package/lib/types/utils/token-utils.d.ts +8 -2
  281. package/package.json +13 -14
  282. package/lib/cjs/token-utils-63a9c8dc.js +0 -30
  283. package/lib/duet/p-0a89315d.entry.js +0 -4
  284. package/lib/duet/p-0e90f075.system.entry.js +0 -4
  285. package/lib/duet/p-3212a556.entry.js +0 -4
  286. package/lib/duet/p-3c1971d8.js +0 -4
  287. package/lib/duet/p-4c5eedf8.entry.js +0 -4
  288. package/lib/duet/p-4c827f0d.entry.js +0 -4
  289. package/lib/duet/p-5e0071d6.js +0 -4
  290. package/lib/duet/p-5e77432e.system.entry.js +0 -4
  291. package/lib/duet/p-68008644.entry.js +0 -4
  292. package/lib/duet/p-69385972.system.entry.js +0 -4
  293. package/lib/duet/p-6e363557.system.js +0 -4
  294. package/lib/duet/p-6fa6c4fb.system.entry.js +0 -4
  295. package/lib/duet/p-73f9db25.system.entry.js +0 -4
  296. package/lib/duet/p-74f4a0d8.system.entry.js +0 -4
  297. package/lib/duet/p-a545398c.entry.js +0 -4
  298. package/lib/duet/p-b6e9860a.entry.js +0 -4
  299. package/lib/duet/p-c742856b.system.entry.js +0 -4
  300. package/lib/duet/p-d67fff56.entry.js +0 -4
  301. package/lib/duet/p-f2a087a8.system.entry.js +0 -4
  302. package/lib/esm/token-utils-590d9413.js +0 -28
  303. package/lib/esm-es5/token-utils-590d9413.js +0 -4
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-9a57d969.js');
8
+ const index = require('./index-e2021bf7.js');
9
9
  const languageUtils = require('./language-utils-aa282901.js');
10
10
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
- const tokenUtils = require('./token-utils-63a9c8dc.js');
11
+ const tokenUtils = require('./token-utils-05bd23b4.js');
12
12
  require('./string-utils-267e3dbb.js');
13
13
  require('./tokens.module-6b2df1c2.js');
14
14
 
@@ -22,7 +22,7 @@ let DuetEditableTableButton = class {
22
22
  /**
23
23
  * Theme of the empty state component.
24
24
  */
25
- this.theme = "";
25
+ this.theme = undefined;
26
26
  /**
27
27
  * action items passed from host component
28
28
  * @internal
@@ -49,6 +49,15 @@ let DuetEditableTableButton = class {
49
49
  this.onMouseLeave = () => {
50
50
  this.isHovering = false;
51
51
  };
52
+ this.getColours = (byName = false) => {
53
+ let colorHover = this.actions.color_hover;
54
+ let colorBlur = this.actions.color;
55
+ if (byName) {
56
+ colorHover = tokenUtils.getColorByName(this.actions.color_hover, this.theme);
57
+ colorBlur = tokenUtils.getColorByName(this.actions.color, this.theme);
58
+ }
59
+ return this.isHovering ? colorHover : colorBlur;
60
+ };
52
61
  }
53
62
  /**
54
63
  /**
@@ -77,10 +86,8 @@ let DuetEditableTableButton = class {
77
86
  */
78
87
  render() {
79
88
  return (index.h("button", { style: {
80
- "border-color": this.isHovering
81
- ? tokenUtils.getColorByName(this.actions.color_hover)
82
- : tokenUtils.getColorByName(this.actions.color),
83
- }, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, role: "menuitem", class: "duet-editable-table-actions-items-button", "aria-label": this.actions.label ? languageUtils.getLocaleString(this.actions.label) : undefined, onClick: ev => this.emitActionEvent(ev) }, index.h("duet-icon", { class: "duet-editable-table-actions-items-icon", size: "x-small", name: this.actions.icon, color: this.isHovering ? this.actions.color_hover : this.actions.color, margin: "none" })));
89
+ "border-color": this.getColours(true),
90
+ }, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, role: "menuitem", class: "duet-editable-table-actions-items-button", "aria-label": this.actions.label ? languageUtils.getLocaleString(this.actions.label) : undefined, onClick: ev => this.emitActionEvent(ev) }, index.h("duet-icon", { class: "duet-editable-table-actions-items-icon", size: "x-small", name: this.actions.icon, color: this.getColours(), margin: "none" })));
84
91
  }
85
92
  get el() { return index.getElement(this); }
86
93
  };
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-9a57d969.js');
8
+ const index = require('./index-e2021bf7.js');
9
9
  const languageUtils = require('./language-utils-aa282901.js');
10
10
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
11
  const tokens_module = require('./tokens.module-6b2df1c2.js');
@@ -22,11 +22,43 @@ const debounce = (func, timeout = 50) => {
22
22
  };
23
23
  };
24
24
 
25
+ /**
26
+ * Produces a function which uses template strings to do simple interpolation from objects.
27
+ *
28
+ * Usage:
29
+ * var makeMeKing = generateTemplateFn('${name} is now the king of ${country}!');
30
+ *
31
+ * console.log(makeMeKing({ name: 'Bryan', country: 'Scotland'}));
32
+ * // Logs 'Bryan is now the king of Scotland!'
33
+ */
34
+ const generateTemplateFn = (function () {
35
+ const cache = {};
36
+ function generateTemplate(template) {
37
+ if (typeof template !== "string") {
38
+ template = template.outerHTML;
39
+ }
40
+ let fn = cache[template];
41
+ if (!fn) {
42
+ // Replace ${expressions} (etc) with ${map.expressions}.
43
+ const sanitized = template
44
+ .replace(/\$\{([\s]*[^;\s\{]+[\s]*)\}/g, function (_, match) {
45
+ return `\$\{map.${match.trim()}\}`;
46
+ })
47
+ // Afterwards, replace anything that's not ${map.expressions}' (etc) with a blank string.
48
+ .replace(/(\$\{(?!map\.)[^}]+\})/g, "");
49
+ fn = Function("map", `return \`${sanitized}\``);
50
+ }
51
+ return fn;
52
+ }
53
+ return generateTemplate;
54
+ })();
55
+
25
56
  const duetEditableTableCss = "duet-editable-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-header tr .duet-editable-table-header-hidden{padding:0 !important;font-size:0;border-bottom:0}";
26
57
 
27
58
  let DuetEditableTable = class {
28
59
  constructor(hostRef) {
29
60
  index.registerInstance(this, hostRef);
61
+ this.template = undefined;
30
62
  /**
31
63
  * State() variables
32
64
  * @internal
@@ -36,6 +68,10 @@ let DuetEditableTable = class {
36
68
  * Map of items that contain list of things.
37
69
  */
38
70
  this.items = new Map();
71
+ /**
72
+ * Key used to set vertical alignment of action buttons
73
+ */
74
+ this.alignment = "middle";
39
75
  /**
40
76
  * Array of internationalized defaults for the default groups labels.
41
77
  */
@@ -84,12 +120,40 @@ let DuetEditableTable = class {
84
120
  * Exposes the aria role for optimizing accessibility.
85
121
  */
86
122
  this.accessibleRole = undefined;
123
+ /**
124
+ * Theme of the table.
125
+ */
126
+ this.theme = "";
87
127
  /**
88
128
  * Private methods.
89
129
  */
90
130
  this.kick = debounce(() => {
91
131
  this.tick = Date.now();
92
132
  }, 100); // will trigger re-render
133
+ /**
134
+ * If a user defines a template section within editable table, try to read an use it.
135
+ */
136
+ this.getTemplate = () => {
137
+ const templateDom = this.element.getElementsByTagName("template");
138
+ if (templateDom === null || templateDom === void 0 ? void 0 : templateDom.length) {
139
+ const templateString = templateDom[0].content.firstElementChild.outerHTML;
140
+ return generateTemplateFn(templateString);
141
+ }
142
+ else {
143
+ return false;
144
+ }
145
+ };
146
+ this.getItemData = (data) => {
147
+ const { item, group, uid } = data;
148
+ if (this.template) {
149
+ return {
150
+ group,
151
+ uid,
152
+ item: this.template(item),
153
+ };
154
+ }
155
+ return { item, group, uid };
156
+ };
93
157
  this.filterMap = needle => {
94
158
  if (needle === "all") {
95
159
  return Array.from(this.items);
@@ -101,6 +165,9 @@ let DuetEditableTable = class {
101
165
  * Component lifecycle events.
102
166
  */
103
167
  componentWillLoad() {
168
+ // look for a <template> region in the duet-editable-table
169
+ this.template = this.getTemplate();
170
+ // take care of the case where groups and actions are defined as html properties instead of javascript objects
104
171
  if (typeof this.groups === "string") {
105
172
  this.internalGroupArray = languageUtils.sanitizeString(this.groups);
106
173
  }
@@ -139,7 +206,7 @@ let DuetEditableTable = class {
139
206
  ? languageUtils.getLocaleString(group.actionLabel)
140
207
  : languageUtils.getLocaleString(this.actionLabelDefaults))))), index.h("tbody", null, currentGroup.map(dataAsArray => {
141
208
  const [key, value] = dataAsArray;
142
- return (index.h("duet-editable-table-item", { keyName: key, data: Object.assign({}, value), groupId: group.id, part: group.id, actions: this.internalActionsArray }));
209
+ return (index.h("duet-editable-table-item", { theme: this.theme, keyName: key, data: this.getItemData(value), groupId: group.id, part: group.id, alignment: this.alignment, actions: this.internalActionsArray }));
143
210
  })))));
144
211
  })));
145
212
  }
@@ -148,12 +215,12 @@ let DuetEditableTable = class {
148
215
  DuetEditableTable.style = duetEditableTableCss;
149
216
 
150
217
  //simple functional component that renders the data in the table
151
- const TableData = ({ data, groupId }, _children) => {
218
+ const TableData = ({ data, groupId, alignment }, _children) => {
152
219
  if (typeof data === "string") {
153
- return index.h("td", { innerHTML: data, class: "duet-editable-table-content", part: `${groupId}content` });
220
+ return (index.h("td", { innerHTML: data, class: "duet-editable-table-content", part: `${groupId}content`, style: { verticalAlign: alignment } }));
154
221
  }
155
222
  else {
156
- return (index.h("td", { class: "duet-editable-table-content", part: `${groupId}content` }, data));
223
+ return (index.h("td", { class: "duet-editable-table-content", part: `${groupId}content`, style: { verticalAlign: alignment } }, data));
157
224
  }
158
225
  };
159
226
 
@@ -177,6 +244,10 @@ let DuetEditableTableItem = class {
177
244
  * @internal
178
245
  */
179
246
  this.groupId = "";
247
+ /**
248
+ * Key used to set vertical alignment of action buttons
249
+ */
250
+ this.alignment = "middle";
180
251
  /**
181
252
  * Key used to identify item, when running actions
182
253
  */
@@ -205,7 +276,7 @@ let DuetEditableTableItem = class {
205
276
  * Always the last one in the class.
206
277
  */
207
278
  render() {
208
- return (index.h(index.Host, { role: "row" }, index.h(TableData, { data: this.data.item, groupId: this.groupId }), index.h("td", { class: "duet-editable-table-actions" }, index.h("div", { class: "duet-editable-table-actions-items", part: `${this.groupId}actions` }, this.actions.map(result => {
279
+ return (index.h(index.Host, { role: "row" }, index.h(TableData, { data: this.data.item, alignment: this.alignment, groupId: this.groupId }), index.h("td", { class: "duet-editable-table-actions", style: { verticalAlign: this.alignment } }, index.h("div", { class: "duet-editable-table-actions-items", part: `${this.groupId}actions` }, this.actions.map(result => {
209
280
  const { map = undefined } = result;
210
281
  // if map has been specified, only show the current action if groupID matches the map array
211
282
  if (map && !map.includes(this.groupId)) {
@@ -221,7 +292,7 @@ let DuetEditableTableItem = class {
221
292
  };
222
293
  DuetEditableTableItem.style = duetEditableTableItemCss;
223
294
 
224
- const duetTableCss = "duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-theme-turva table{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:#00294d}duet-table.duet-theme-turva td{color:#171c3a}duet-table th{font-weight:600;line-height:1.25;color:#657787;text-align:left}duet-table.duet-theme-turva th{color:#747475}duet-table tbody th{font-weight:600;color:#00294d}duet-table.duet-theme-turva tbody th{color:#171c3a}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:#657787;text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:#00294d;content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:#171c3a}.duet-table-sticky thead th{position:sticky;top:0;background:white}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:white}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid #e1e3e6}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:#e4e4e6}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid #e1e3e6}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:#e4e4e6}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid #e1e3e6}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:#e4e4e6}.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid #657787}.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:#444445}.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:#e1e3e6}.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:#e4e4e6}.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:#e4e4e6}.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid #e1e3e6}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:#e4e4e6}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}";
295
+ const duetTableCss = "duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-theme-turva table{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:#00294d}duet-table.duet-theme-turva td{color:#171c3a}duet-table th{font-weight:600;line-height:1.25;color:#657787;text-align:left}duet-table.duet-theme-turva th{color:#747475}duet-table tbody th{font-weight:600;color:#00294d}duet-table.duet-theme-turva tbody th{color:#171c3a}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:#657787;text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:#00294d;content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:#171c3a}.duet-table-sticky thead th{position:sticky;top:0;background:white}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:white}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid #e1e3e6}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:#e4e4e6}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid #e1e3e6}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:#e4e4e6}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid #e1e3e6}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:#e4e4e6}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid #657787}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:#444445}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:#e1e3e6}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:#e4e4e6}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:#e4e4e6}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid #e1e3e6}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:#e4e4e6}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}";
225
296
 
226
297
  // remove wrapping speech marks.
227
298
  // media query tokens are wrapped in speech marks,
@@ -281,7 +352,7 @@ let DuetTable = class {
281
352
  }
282
353
  connectedCallback() {
283
354
  this.mq = matchMedia(breakpointToToken[this.breakpoint]);
284
- this.mq.addListener(this.handleMediaQueryChange);
355
+ this.mq.addEventListener("change", this.handleMediaQueryChange);
285
356
  this.handleMediaQueryChange(this.mq);
286
357
  this.observer = new MutationObserver(() => this.copyHeadingsToCells());
287
358
  this.observer.observe(this.element, {
@@ -723,7 +794,7 @@ let DuetUpload = class {
723
794
  {
724
795
  icon: "action-delete",
725
796
  color: "color-danger",
726
- color_hover: "category-home",
797
+ color_hover: "primary-dark",
727
798
  id: "delete",
728
799
  map: ["success", "failure"],
729
800
  label: {
@@ -735,7 +806,7 @@ let DuetUpload = class {
735
806
  {
736
807
  icon: "navigation-close",
737
808
  color: "primary",
738
- color_hover: "category-home",
809
+ color_hover: "primary-dark",
739
810
  id: "cancel",
740
811
  map: ["inprogress"],
741
812
  label: {
@@ -856,6 +927,10 @@ let DuetUpload = class {
856
927
  * browser from displaying its own validation errors.
857
928
  */
858
929
  this.required = false;
930
+ /**
931
+ * Key used to set vertical alignment of action buttons
932
+ */
933
+ this.alignment = "middle";
859
934
  /**
860
935
  * Visually hides the groups labels in the editable table list used to display the list of files
861
936
  */
@@ -1426,7 +1501,7 @@ let DuetUpload = class {
1426
1501
  "duet-upload-filelist-empty": !this.files.size,
1427
1502
  "duet-upload-filelist": true,
1428
1503
  "duet-upload-filelist-filled": this.files.size,
1429
- }, id: this.labelId, for: identifier }, this.fileListEmpty)), !!this.files.size && index.h("slot", { name: "fileheader" }), !!this.files.size && (index.h("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && (index.h("duet-editable-table", { "aria-live": "polite", "aria-relevant": "removals", accessibleRole: "log", id: this.editableTableId, groups: this.groups, actions: this.actions, hideGroups: this.hideGroups, items: this.convertToDuetEditableTableItems() })), !!this.files.size && index.h("slot", { name: "filefooter" }), index.h("duet-spacer", { size: "large" }), !this.hideButton && (index.h("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle" }, this.buttonLabel)), index.h("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (index.h("duet-alert", null, this.fileMaxReached && getI18nError("duet-upload-301"), this.bytesMaxReached && getI18nError("duet-upload-202"))), index.h("duet-spacer", { size: "medium" }), index.h("duet-visually-hidden", null, index.h("input", { ref: input => {
1504
+ }, id: this.labelId, for: identifier }, this.fileListEmpty)), !!this.files.size && index.h("slot", { name: "fileheader" }), !!this.files.size && (index.h("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && (index.h("duet-editable-table", { "aria-live": "polite", "aria-relevant": "removals", accessibleRole: "log", id: this.editableTableId, groups: this.groups, actions: this.actions, hideGroups: this.hideGroups, alignment: this.alignment, items: this.convertToDuetEditableTableItems() })), !!this.files.size && index.h("slot", { name: "filefooter" }), index.h("duet-spacer", { size: "large" }), !this.hideButton && (index.h("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle" }, this.buttonLabel)), index.h("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (index.h("duet-alert", null, this.fileMaxReached && getI18nError("duet-upload-301"), this.bytesMaxReached && getI18nError("duet-upload-202"))), index.h("duet-spacer", { size: "medium" }), index.h("duet-visually-hidden", null, index.h("input", { ref: input => {
1430
1505
  this.nativeInput = input;
1431
1506
  }, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
1432
1507
  "duet-upload": true,
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-9a57d969.js');
8
+ const index = require('./index-e2021bf7.js');
9
9
  const themeableComponent = require('./themeable-component-0c1be552.js');
10
10
 
11
11
  const duetEmptyStateCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%;height:100%}.duet-empty-state{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%;padding:48px;color:#00294d;text-align:center;background:#f5f8fa;border-radius:4px}.duet-empty-state.duet-theme-turva{color:#171c3a;background:#f5f5f7}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-9a57d969.js');
8
+ const index = require('./index-e2021bf7.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-9a57d969.js');
8
+ const index = require('./index-e2021bf7.js');
9
9
  const actionNewWindowSmall = require('./action-new-window-small-fa51dfb9.js');
10
10
  const commonStrings = require('./common-strings-de17f887.js');
11
11
  const languageUtils = require('./language-utils-aa282901.js');
@@ -16,7 +16,7 @@ var actionArrowRight={"title":"action-arrow-right","tags":"action arrow right ca
16
16
 
17
17
  var actionNewWindow={"title":"action-new-window","tags":"arrow open new window tab external link square box rectangle action","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M10.25 2a.75.75 0 1 1 0 1.5h-6.5A2.252 2.252 0 0 0 1.5 5.75v14.5a2.252 2.252 0 0 0 2.25 2.25h14.5a2.252 2.252 0 0 0 2.25-2.25v-6.5a.75.75 0 0 1 1.5 0v6.5A3.754 3.754 0 0 1 18.25 24H3.75A3.754 3.754 0 0 1 0 20.25V5.75A3.754 3.754 0 0 1 3.75 2zm12.985-2c.1 0 .198.02.29.058l.025.011a.726.726 0 0 1 .15.091l.066.059a.755.755 0 0 1 .109.138l.051.1c.04.092.06.192.06.293l-.001 6.363c0 .2-.078.389-.22.53a.743.743 0 0 1-.53.22.743.743 0 0 1-.53-.22.743.743 0 0 1-.22-.53V2.559L15.28 9.764a.75.75 0 0 1-1.06-1.06l7.204-7.205h-4.553a.744.744 0 0 1-.75-.75c0-.2.078-.388.22-.53A.743.743 0 0 1 16.87 0z\"/></svg>"};
18
18
 
19
- const duetFooterCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex-shrink:0;width:100%}.duet-footer{display:block;width:100%;padding-top:20px;padding-bottom:16px;margin-top:48px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:white;text-align:left;background:#00294d}.duet-footer.duet-p-0{padding:0 !important}.duet-footer.duet-m-0{margin:0 !important}@media (min-width: 36em){.duet-footer{padding-top:36px}}@media (min-width: 62em){.duet-footer{padding-top:48px;padding-bottom:36px}}.duet-footer.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:#c60c30}.duet-footer a{color:white;text-decoration:none}@media (min-width: 62em){.duet-footer a{border-radius:4px}}.duet-footer a:focus{outline:0}:host(.user-is-tabbing) .duet-footer a:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva a:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-footer-wrapper{position:relative;margin:0 auto}@media (min-width: 62em){.duet-footer-wrapper{padding:0 72px 0 48px}}@media (min-width: 76.25em){.duet-footer-wrapper{max-width:1110px;padding:0 20px 0 0}}.duet-footer-top{width:100%}@media (min-width: 62em){.duet-footer-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between}}duet-logo{margin-left:16px !important}@media (min-width: 36em){duet-logo{margin-left:28px !important}}@media (min-width: 62em){duet-logo{margin-left:0 !important}}.duet-footer-link{padding:16px !important;display:flex;flex-direction:row;align-items:center;width:100%;font-weight:600;border-bottom:1px solid rgba(255, 255, 255, 0.2);transition:background-color 300ms ease}@media (min-width: 36em){.duet-footer-link{padding-right:20px !important;padding-left:28px !important}}@media (min-width: 62em){.duet-footer-link{width:auto;min-width:0;padding-right:0 !important;padding-left:0 !important;border:0}}.duet-footer-link:first-of-type{margin-top:20px;border-top:1px solid rgba(255, 255, 255, 0.2)}@media (min-width: 62em){.duet-footer-link:first-of-type{margin:0;border:0}}.duet-footer-link span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duet-footer-link:hover{background:rgba(0, 0, 0, 0.1)}@media (min-width: 62em){.duet-footer-link:hover{background:transparent}}.duet-footer-icon{display:flex;align-items:center;justify-content:center;padding:12px;margin-right:16px;background:#0077b3;border-radius:50%;transition:300ms ease}.duet-theme-turva .duet-footer-icon{background:transparent;box-shadow:0 0 0 1px white}a:hover .duet-footer-icon{background:#006ba1}.duet-theme-turva a:hover .duet-footer-icon{background:transparent}.duet-footer-arrow{display:flex;align-items:center;justify-content:center;width:20px;min-width:20px;max-width:20px;height:20px;max-height:20px;margin-left:auto;color:white;transition:transform 300ms ease}@media (min-width: 62em){.duet-footer-arrow{width:10px;min-width:10px;margin-top:3px;margin-left:8px}}@media (min-width: 62em){.duet-footer-arrow{margin-right:0}}a:hover .duet-footer-arrow{transform:translateX(4px)}.duet-footer-arrow duet-icon{width:20px;height:20px}@media (min-width: 62em){.duet-footer-arrow duet-icon{width:10px;height:10px}}.duet-footer-menu{padding:20px !important;font-size:0.875rem}@media (min-width: 36em){.duet-footer-menu{padding:28px !important}}@media (min-width: 62em){.duet-footer-menu{padding-left:8px !important}}.duet-footer-menu a{text-decoration:none}.duet-footer-menu a:hover,.duet-footer-menu a:focus{text-decoration:underline}.duet-footer-menu a:hover .duet-footer-divider,.duet-footer-menu a:focus .duet-footer-divider{text-decoration:none}.duet-footer-menu .duet-footer-divider{display:inline-block;margin:0 8px}.duet-footer-menu a:last-of-type .duet-footer-divider{display:none}.duet-footer-copyright{color:white}.duet-footer-simple{padding:0;margin:0;margin-top:16px;color:#00294d;background:transparent !important;border-top:1px solid #e1e3e6}.duet-footer-simple .duet-footer-wrapper{max-width:100%;padding:0 20px;margin:0}@media (min-width: 62em){.duet-footer-simple .duet-footer-wrapper{padding:0 36px}}@media (min-width: 106.25em){.duet-footer-simple .duet-footer-wrapper{padding:0 48px}}.duet-footer-simple .duet-footer-copyright,.duet-footer-simple .duet-footer-menu a{color:#00294d}.duet-footer-simple .duet-footer-menu{padding:20px 0 !important}.duet-footer-simple.duet-theme-turva{color:#171c3a;border-color:#e4e4e6}.duet-footer-simple.duet-theme-turva .duet-footer-copyright,.duet-footer-simple.duet-theme-turva .duet-footer-menu a{color:#171c3a}.duet-footer-external{display:inline-block;margin-left:4px;color:#0077b3}.duet-theme-turva .duet-footer-external{color:white}.duet-footer-simple.duet-theme-turva .duet-footer-external{color:#c60c30}";
19
+ const duetFooterCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex-shrink:0;width:100%}.duet-footer{display:block;width:100%;padding-top:20px;padding-bottom:16px;margin-top:48px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:white;text-align:left;background:#00294d}.duet-footer.duet-p-0{padding:0 !important}.duet-footer.duet-m-0{margin:0 !important}@media (min-width: 36em){.duet-footer{padding-top:36px}}@media (min-width: 62em){.duet-footer{padding-top:48px;padding-bottom:36px}}.duet-footer.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:#c60c30}.duet-footer a{color:white;text-decoration:none}@media (min-width: 62em){.duet-footer a{border-radius:4px}}.duet-footer a:focus{outline:0}:host(.user-is-tabbing) .duet-footer a:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva a:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-footer-wrapper{position:relative;margin:0 auto}@media (min-width: 62em){.duet-footer-wrapper{padding:0 72px 0 48px}}@media (min-width: 76.25em){.duet-footer-wrapper{max-width:1110px;padding:0 20px 0 0}}.duet-footer-top{width:100%}@media (min-width: 62em){.duet-footer-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between}}duet-logo{margin-left:16px !important}@media (min-width: 36em){duet-logo{margin-left:28px !important}}@media (min-width: 62em){duet-logo{margin-left:0 !important}}.duet-footer-link{padding:16px !important;display:flex;flex-direction:row;align-items:center;width:100%;font-weight:600;border-bottom:1px solid rgba(255, 255, 255, 0.2);transition:background-color 300ms ease}@media (min-width: 36em){.duet-footer-link{padding-right:20px !important;padding-left:28px !important}}@media (min-width: 62em){.duet-footer-link{width:auto;min-width:0;padding-right:0 !important;padding-left:0 !important;border:0}}.duet-footer-link:first-of-type{margin-top:20px;border-top:1px solid rgba(255, 255, 255, 0.2)}@media (min-width: 62em){.duet-footer-link:first-of-type{margin:0;border:0}}.duet-footer-link span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duet-footer-link:hover{background:rgba(0, 0, 0, 0.1)}@media (min-width: 62em){.duet-footer-link:hover{background:transparent}}.duet-footer-icon{display:flex;align-items:center;justify-content:center;padding:12px;margin-right:16px;background:#0077b3;border-radius:50%;transition:300ms ease}.duet-theme-turva .duet-footer-icon{background:transparent;box-shadow:0 0 0 1px white}a:hover .duet-footer-icon{background:#006ba1}.duet-theme-turva a:hover .duet-footer-icon{background:transparent}.duet-footer-arrow{display:flex;align-items:center;justify-content:center;width:20px;min-width:20px;max-width:20px;height:20px;max-height:20px;margin-left:auto;color:white;transition:transform 300ms ease}@media (min-width: 62em){.duet-footer-arrow{width:10px;min-width:10px;margin-top:3px;margin-left:8px}}@media (min-width: 62em){.duet-footer-arrow{margin-right:0}}a:hover .duet-footer-arrow{transform:translateX(4px)}.duet-footer-arrow duet-icon{width:20px;height:20px}@media (min-width: 62em){.duet-footer-arrow duet-icon{width:10px;height:10px}}.duet-footer-menu{padding:20px !important;font-size:0.875rem}@media (min-width: 36em){.duet-footer-menu{padding:28px !important}}@media (min-width: 62em){.duet-footer-menu{padding-left:8px !important}}.duet-footer-menu a{display:inline-block;text-decoration:none;word-break:break-all}.duet-footer-menu a:hover,.duet-footer-menu a:focus{text-decoration:underline}.duet-footer-menu a:hover .duet-footer-divider,.duet-footer-menu a:focus .duet-footer-divider{text-decoration:none}.duet-footer-menu .duet-footer-divider{display:inline-block;margin:0 8px}.duet-footer-menu a:last-of-type .duet-footer-divider{display:none}.duet-footer-copyright{color:white}.duet-footer-simple{padding:0;margin:0;margin-top:16px;color:#00294d;background:transparent !important;border-top:1px solid #e1e3e6}.duet-footer-simple .duet-footer-wrapper{max-width:100%;padding:0 20px;margin:0}@media (min-width: 62em){.duet-footer-simple .duet-footer-wrapper{padding:0 36px}}@media (min-width: 106.25em){.duet-footer-simple .duet-footer-wrapper{padding:0 48px}}.duet-footer-simple .duet-footer-copyright,.duet-footer-simple .duet-footer-menu a{color:#00294d}.duet-footer-simple .duet-footer-menu{padding:20px 0 !important}.duet-footer-simple.duet-theme-turva{color:#171c3a;border-color:#e4e4e6}.duet-footer-simple.duet-theme-turva .duet-footer-copyright,.duet-footer-simple.duet-theme-turva .duet-footer-menu a{color:#171c3a}.duet-footer-external{display:inline-block;margin-left:4px;color:#0077b3}.duet-theme-turva .duet-footer-external{color:white}.duet-footer-simple.duet-theme-turva .duet-footer-external{color:#c60c30}";
20
20
 
21
21
  const i18n = {
22
22
  fi: { lahi: "© LähiTapiola", turva: "© Turva" },
@@ -5,7 +5,8 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-9a57d969.js');
8
+ const index = require('./index-e2021bf7.js');
9
+ const tokens = require('./tokens-8596cece.js');
9
10
  const watchOptions = require('./watch-options-d88afac0.js');
10
11
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
12
 
@@ -17,6 +18,11 @@ function isGridItem(element) {
17
18
  let DuetGrid = class {
18
19
  constructor(hostRef) {
19
20
  index.registerInstance(this, hostRef);
21
+ this.mql = [
22
+ window.matchMedia(tokens.media_query_large.replace(/'/g, "")),
23
+ window.matchMedia(tokens.media_query_medium.replace(/'/g, "")),
24
+ window.matchMedia(tokens.media_query_small.replace(/'/g, "")),
25
+ ];
20
26
  this.distributeFormElement = false;
21
27
  /**
22
28
  * Enable or disable the automatic responsive behaviour of the grid component.
@@ -71,10 +77,18 @@ let DuetGrid = class {
71
77
  this.mutationO = watchOptions.watchForOptions(el, "duet-grid-item", () => {
72
78
  this.updateGridItems();
73
79
  });
80
+ // the next two functions are used to watch for changes in the grid items, and are process intensive - so only run when needed
74
81
  if (this.distributeFormElement) {
75
82
  this.mutation1 = watchOptions.watchForElement(el, "duet-input", () => {
76
83
  this.updateGridItemsWithInputFields();
77
84
  });
85
+ // listen for potential mediaquery changes and reset layout
86
+ for (let i = 0; i < this.mql.length; i++) {
87
+ // addEventListener is not available in Stencil hydrate
88
+ if (this.mql[i].addEventListener) {
89
+ this.mql[i].addEventListener("change", this.updateGridItemsWithInputFields.bind(this));
90
+ }
91
+ }
78
92
  }
79
93
  this.updateGridItems();
80
94
  }
@@ -87,6 +101,13 @@ let DuetGrid = class {
87
101
  this.mutation1.disconnect();
88
102
  this.mutation1 = undefined;
89
103
  }
104
+ // listen for potential mediaquery changes and reset layout
105
+ for (let i = 0; i < this.mql.length; i++) {
106
+ // addEventListener is not available in Stencil hydrate
107
+ if (this.mql[i].removeEventListener) {
108
+ this.mql[i].removeEventListener("change", this.updateGridItemsWithInputFields.bind(this));
109
+ }
110
+ }
90
111
  }
91
112
  /**
92
113
  * Local methods
@@ -100,6 +121,8 @@ let DuetGrid = class {
100
121
  }
101
122
  async updateGridItemsWithInputFields() {
102
123
  const items = Array.from(this.element.children).filter(isGridItem);
124
+ // if layout changes to columns instead of row, remove all padding
125
+ const hasColumnLayout = window ? window.getComputedStyle(this.element).flexDirection === "column" : false;
103
126
  let maxHeight = 0;
104
127
  const sizes = [];
105
128
  items.forEach(item => {
@@ -111,10 +134,10 @@ let DuetGrid = class {
111
134
  items.forEach(item => {
112
135
  const inputErrorDom = item.querySelector("span.duet-input-error");
113
136
  const height = inputErrorDom ? this.outerHeight(inputErrorDom) : 0;
114
- if (height < maxHeight) {
137
+ if (height < maxHeight && !hasColumnLayout) {
115
138
  item.setAttribute("style", `padding-bottom: ${maxHeight - height}px;`);
116
139
  }
117
- else if (height === maxHeight) {
140
+ else if (height === maxHeight || hasColumnLayout) {
118
141
  item.setAttribute("style", `padding-bottom: 0px;`);
119
142
  }
120
143
  });