@duetds/components 6.0.3 → 6.0.5

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 (434) hide show
  1. package/hydrate/index.js +77 -70
  2. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  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 +3 -3
  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 +10 -9
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-editable-table_3.cjs.entry.js +17 -14
  18. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-icon.cjs.entry.js +3 -3
  25. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-pagination_2.cjs.entry.js +25 -27
  32. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  35. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  42. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  44. package/lib/cjs/duet.cjs.js +1 -1
  45. package/lib/cjs/{focus-utils-15207057.js → focus-utils-bbba1f98.js} +1 -1
  46. package/lib/cjs/{index-28a9133b.js → index-af927d29.js} +1 -1
  47. package/lib/cjs/loader.cjs.js +1 -1
  48. package/lib/cjs/{token-utils-fef5b4eb.js → token-utils-f6e2f4ef.js} +1 -1
  49. package/lib/cjs/{tokens-29450bcb.js → tokens-4c69b122.js} +18 -15
  50. package/lib/cjs/{tokens.module-ef598645.js → tokens.module-1bb2d45e.js} +12 -10
  51. package/lib/collection/components/duet-choice/duet-choice.js +4 -4
  52. package/lib/collection/components/duet-choice-group/duet-choice-group.js +4 -3
  53. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +25 -27
  54. package/lib/collection/components/duet-upload/duet-upload.js +18 -15
  55. package/lib/dist-custom-elements/duet-action-button.d.ts +11 -0
  56. package/lib/dist-custom-elements/duet-action-button.js +9 -0
  57. package/lib/dist-custom-elements/duet-alert.d.ts +11 -0
  58. package/lib/dist-custom-elements/duet-alert.js +9 -0
  59. package/lib/dist-custom-elements/duet-badge.d.ts +11 -0
  60. package/lib/dist-custom-elements/duet-badge.js +9 -0
  61. package/lib/dist-custom-elements/duet-breadcrumb.d.ts +11 -0
  62. package/lib/dist-custom-elements/duet-breadcrumb.js +73 -0
  63. package/lib/dist-custom-elements/duet-breadcrumbs.d.ts +11 -0
  64. package/lib/dist-custom-elements/duet-breadcrumbs.js +90 -0
  65. package/lib/dist-custom-elements/duet-button.d.ts +11 -0
  66. package/lib/dist-custom-elements/duet-button.js +9 -0
  67. package/lib/dist-custom-elements/duet-caption.d.ts +11 -0
  68. package/lib/dist-custom-elements/duet-caption.js +9 -0
  69. package/lib/dist-custom-elements/duet-card.d.ts +11 -0
  70. package/lib/dist-custom-elements/duet-card.js +190 -0
  71. package/lib/dist-custom-elements/duet-checkbox.d.ts +11 -0
  72. package/lib/dist-custom-elements/duet-checkbox.js +163 -0
  73. package/lib/dist-custom-elements/duet-choice-group.d.ts +11 -0
  74. package/lib/dist-custom-elements/duet-choice-group.js +227 -0
  75. package/lib/dist-custom-elements/duet-choice.d.ts +11 -0
  76. package/lib/dist-custom-elements/duet-choice.js +390 -0
  77. package/lib/dist-custom-elements/duet-collapsible.d.ts +11 -0
  78. package/lib/dist-custom-elements/duet-collapsible.js +170 -0
  79. package/lib/dist-custom-elements/duet-combobox.d.ts +11 -0
  80. package/lib/dist-custom-elements/duet-combobox.js +432 -0
  81. package/lib/dist-custom-elements/duet-cookie-consent.d.ts +11 -0
  82. package/lib/dist-custom-elements/duet-cookie-consent.js +94 -0
  83. package/lib/dist-custom-elements/duet-date-picker.d.ts +11 -0
  84. package/lib/dist-custom-elements/duet-date-picker.js +906 -0
  85. package/lib/dist-custom-elements/duet-divider.d.ts +11 -0
  86. package/lib/dist-custom-elements/duet-divider.js +9 -0
  87. package/lib/dist-custom-elements/duet-editable-table.d.ts +11 -0
  88. package/lib/dist-custom-elements/duet-editable-table.js +9 -0
  89. package/lib/dist-custom-elements/duet-empty-state.d.ts +11 -0
  90. package/lib/dist-custom-elements/duet-empty-state.js +9 -0
  91. package/lib/dist-custom-elements/duet-fieldset.d.ts +11 -0
  92. package/lib/dist-custom-elements/duet-fieldset.js +9 -0
  93. package/lib/dist-custom-elements/duet-footer.d.ts +11 -0
  94. package/lib/dist-custom-elements/duet-footer.js +199 -0
  95. package/lib/dist-custom-elements/duet-grid-item.d.ts +11 -0
  96. package/lib/dist-custom-elements/duet-grid-item.js +9 -0
  97. package/lib/dist-custom-elements/duet-grid.d.ts +11 -0
  98. package/lib/dist-custom-elements/duet-grid.js +9 -0
  99. package/lib/dist-custom-elements/duet-header.d.ts +11 -0
  100. package/lib/dist-custom-elements/duet-header.js +764 -0
  101. package/lib/dist-custom-elements/duet-heading.d.ts +11 -0
  102. package/lib/dist-custom-elements/duet-heading.js +9 -0
  103. package/lib/dist-custom-elements/duet-hero.d.ts +11 -0
  104. package/lib/dist-custom-elements/duet-hero.js +314 -0
  105. package/lib/dist-custom-elements/duet-icon.d.ts +11 -0
  106. package/lib/dist-custom-elements/duet-icon.js +9 -0
  107. package/lib/dist-custom-elements/duet-input.d.ts +11 -0
  108. package/lib/dist-custom-elements/duet-input.js +9 -0
  109. package/lib/dist-custom-elements/duet-label.d.ts +11 -0
  110. package/lib/dist-custom-elements/duet-label.js +9 -0
  111. package/lib/dist-custom-elements/duet-layout.d.ts +11 -0
  112. package/lib/dist-custom-elements/duet-layout.js +107 -0
  113. package/lib/dist-custom-elements/duet-link.d.ts +11 -0
  114. package/lib/dist-custom-elements/duet-link.js +9 -0
  115. package/lib/dist-custom-elements/duet-list-item.d.ts +11 -0
  116. package/lib/dist-custom-elements/duet-list-item.js +9 -0
  117. package/lib/dist-custom-elements/duet-list.d.ts +11 -0
  118. package/lib/dist-custom-elements/duet-list.js +9 -0
  119. package/lib/dist-custom-elements/duet-logo.d.ts +11 -0
  120. package/lib/dist-custom-elements/duet-logo.js +9 -0
  121. package/lib/dist-custom-elements/duet-modal.d.ts +11 -0
  122. package/lib/dist-custom-elements/duet-modal.js +331 -0
  123. package/lib/dist-custom-elements/duet-notification-drawer.d.ts +11 -0
  124. package/lib/dist-custom-elements/duet-notification-drawer.js +194 -0
  125. package/lib/dist-custom-elements/duet-notification.d.ts +11 -0
  126. package/lib/dist-custom-elements/duet-notification.js +114 -0
  127. package/lib/dist-custom-elements/duet-number-input.d.ts +11 -0
  128. package/lib/dist-custom-elements/duet-number-input.js +516 -0
  129. package/lib/dist-custom-elements/duet-pagination.d.ts +11 -0
  130. package/lib/dist-custom-elements/duet-pagination.js +396 -0
  131. package/lib/dist-custom-elements/duet-paragraph.d.ts +11 -0
  132. package/lib/dist-custom-elements/duet-paragraph.js +9 -0
  133. package/lib/dist-custom-elements/duet-progress.d.ts +11 -0
  134. package/lib/dist-custom-elements/duet-progress.js +9 -0
  135. package/lib/dist-custom-elements/duet-radio-group.d.ts +11 -0
  136. package/lib/dist-custom-elements/duet-radio-group.js +216 -0
  137. package/lib/dist-custom-elements/duet-radio.d.ts +11 -0
  138. package/lib/dist-custom-elements/duet-radio.js +167 -0
  139. package/lib/dist-custom-elements/duet-range-slider.d.ts +11 -0
  140. package/lib/dist-custom-elements/duet-range-slider.js +209 -0
  141. package/lib/dist-custom-elements/duet-range-stepper.d.ts +11 -0
  142. package/lib/dist-custom-elements/duet-range-stepper.js +223 -0
  143. package/lib/dist-custom-elements/duet-scrollable.d.ts +11 -0
  144. package/lib/dist-custom-elements/duet-scrollable.js +9 -0
  145. package/lib/dist-custom-elements/duet-select.d.ts +11 -0
  146. package/lib/dist-custom-elements/duet-select.js +9 -0
  147. package/lib/dist-custom-elements/duet-spacer.d.ts +11 -0
  148. package/lib/dist-custom-elements/duet-spacer.js +9 -0
  149. package/lib/dist-custom-elements/duet-spinner.d.ts +11 -0
  150. package/lib/dist-custom-elements/duet-spinner.js +9 -0
  151. package/lib/dist-custom-elements/duet-step.d.ts +11 -0
  152. package/lib/dist-custom-elements/duet-step.js +150 -0
  153. package/lib/dist-custom-elements/duet-stepper.d.ts +11 -0
  154. package/lib/dist-custom-elements/duet-stepper.js +164 -0
  155. package/lib/dist-custom-elements/duet-tab-group.d.ts +11 -0
  156. package/lib/dist-custom-elements/duet-tab-group.js +301 -0
  157. package/lib/dist-custom-elements/duet-tab.d.ts +11 -0
  158. package/lib/dist-custom-elements/duet-tab.js +59 -0
  159. package/lib/dist-custom-elements/duet-table.d.ts +11 -0
  160. package/lib/dist-custom-elements/duet-table.js +9 -0
  161. package/lib/dist-custom-elements/duet-textarea.d.ts +11 -0
  162. package/lib/dist-custom-elements/duet-textarea.js +297 -0
  163. package/lib/dist-custom-elements/duet-toggle.d.ts +11 -0
  164. package/lib/dist-custom-elements/duet-toggle.js +150 -0
  165. package/lib/dist-custom-elements/duet-tooltip.d.ts +11 -0
  166. package/lib/dist-custom-elements/duet-tooltip.js +9 -0
  167. package/lib/dist-custom-elements/duet-tray.d.ts +11 -0
  168. package/lib/dist-custom-elements/duet-tray.js +175 -0
  169. package/lib/dist-custom-elements/duet-upload-aria-status.d.ts +11 -0
  170. package/lib/dist-custom-elements/duet-upload-aria-status.js +9 -0
  171. package/lib/dist-custom-elements/duet-upload.d.ts +11 -0
  172. package/lib/dist-custom-elements/duet-upload.js +1514 -0
  173. package/lib/dist-custom-elements/duet-visually-hidden.d.ts +11 -0
  174. package/lib/dist-custom-elements/duet-visually-hidden.js +9 -0
  175. package/lib/dist-custom-elements/index.d.ts +26 -0
  176. package/lib/dist-custom-elements/index.js +37 -0
  177. package/lib/{esm/tokens-8ff8c570.js → dist-custom-elements/p-02305a1e.js} +18 -15
  178. package/lib/dist-custom-elements/p-0b3f675e.js +47 -0
  179. package/lib/{esm/focus-utils-559691b3.js → dist-custom-elements/p-0b8f16f1.js} +1 -1
  180. package/lib/dist-custom-elements/p-0ce83b83.js +154 -0
  181. package/lib/dist-custom-elements/p-0f5b2dfe.js +287 -0
  182. package/lib/dist-custom-elements/p-115c79b6.js +6 -0
  183. package/lib/dist-custom-elements/p-12721178.js +57 -0
  184. package/lib/dist-custom-elements/p-166d7b9c.js +199 -0
  185. package/lib/dist-custom-elements/p-1ad6b04e.js +1666 -0
  186. package/lib/dist-custom-elements/p-21887c28.js +275 -0
  187. package/lib/dist-custom-elements/p-24c2ac51.js +114 -0
  188. package/lib/dist-custom-elements/p-266411cf.js +307 -0
  189. package/lib/dist-custom-elements/p-2bb345c0.js +193 -0
  190. package/lib/dist-custom-elements/p-32a67b55.js +87 -0
  191. package/lib/dist-custom-elements/p-4c52333e.js +341 -0
  192. package/lib/dist-custom-elements/p-4ebf1618.js +13 -0
  193. package/lib/dist-custom-elements/p-4f516732.js +214 -0
  194. package/lib/dist-custom-elements/p-53a0c93d.js +37 -0
  195. package/lib/dist-custom-elements/p-544d933d.js +61 -0
  196. package/lib/dist-custom-elements/p-56118313.js +53 -0
  197. package/lib/dist-custom-elements/p-56b5945f.js +160 -0
  198. package/lib/dist-custom-elements/p-5a9d75e1.js +55 -0
  199. package/lib/dist-custom-elements/p-692cc270.js +125 -0
  200. package/lib/dist-custom-elements/p-6cae0682.js +75 -0
  201. package/lib/dist-custom-elements/p-704245ef.js +9 -0
  202. package/lib/dist-custom-elements/p-76f00bd5.js +10 -0
  203. package/lib/dist-custom-elements/p-7a003d73.js +37 -0
  204. package/lib/dist-custom-elements/p-7f5ad01d.js +64 -0
  205. package/lib/{esm/token-utils-df78f4d8.js → dist-custom-elements/p-86faf728.js} +1 -1
  206. package/lib/dist-custom-elements/p-8f69f7ca.js +428 -0
  207. package/lib/dist-custom-elements/p-92012dcc.js +71 -0
  208. package/lib/dist-custom-elements/p-9af8e9da.js +70 -0
  209. package/lib/dist-custom-elements/p-a087e30a.js +86 -0
  210. package/lib/dist-custom-elements/p-b9058029.js +138 -0
  211. package/lib/dist-custom-elements/p-bd779757.js +184 -0
  212. package/lib/dist-custom-elements/p-c0469b33.js +133 -0
  213. package/lib/dist-custom-elements/p-c1325e35.js +11 -0
  214. package/lib/dist-custom-elements/p-c8d44e6d.js +87 -0
  215. package/lib/dist-custom-elements/p-cfab50b5.js +110 -0
  216. package/lib/dist-custom-elements/p-d004da5f.js +6 -0
  217. package/lib/dist-custom-elements/p-d11287e1.js +129 -0
  218. package/lib/dist-custom-elements/p-d4c234ed.js +390 -0
  219. package/lib/dist-custom-elements/p-d8549efe.js +20 -0
  220. package/lib/dist-custom-elements/p-db91a981.js +98 -0
  221. package/lib/dist-custom-elements/p-e121eb6d.js +241 -0
  222. package/lib/dist-custom-elements/p-ede854e1.js +92 -0
  223. package/lib/dist-custom-elements/p-ee9a63c3.js +65 -0
  224. package/lib/dist-custom-elements/p-f11208c3.js +6 -0
  225. package/lib/dist-custom-elements/p-f1d0dca7.js +275 -0
  226. package/lib/dist-custom-elements/p-fb6be4e4.js +66 -0
  227. package/lib/duet/duet.esm.js +1 -1
  228. package/lib/duet/duet.js +1 -1
  229. package/lib/duet/{p-4c93a18e.system.entry.js → p-01ec746a.system.entry.js} +1 -1
  230. package/lib/duet/p-02305a1e.js +4 -0
  231. package/lib/duet/{p-674e546f.system.entry.js → p-02a0c4f6.system.entry.js} +1 -1
  232. package/lib/duet/{p-b01e2523.entry.js → p-02fec3bd.entry.js} +1 -1
  233. package/lib/duet/{p-300147ad.entry.js → p-032a5071.entry.js} +1 -1
  234. package/lib/duet/{p-0626271f.entry.js → p-08fe21b1.entry.js} +1 -1
  235. package/lib/duet/{p-d0cee171.entry.js → p-0b0c7f09.entry.js} +1 -1
  236. package/lib/duet/{p-1931d33f.system.js → p-100c6ed7.system.js} +1 -1
  237. package/lib/duet/{p-dab594cf.system.entry.js → p-168a22df.system.entry.js} +1 -1
  238. package/lib/duet/p-1fc60a60.system.js +4 -0
  239. package/lib/duet/{p-bb9624c3.entry.js → p-24dafa59.entry.js} +1 -1
  240. package/lib/duet/{p-d444107c.system.entry.js → p-28fcab59.system.entry.js} +1 -1
  241. package/lib/duet/{p-db15d420.system.entry.js → p-292ab686.system.entry.js} +1 -1
  242. package/lib/duet/{p-de986d77.system.entry.js → p-293b8c58.system.entry.js} +1 -1
  243. package/lib/duet/{p-9308c1e6.entry.js → p-2c698aec.entry.js} +1 -1
  244. package/lib/duet/p-32f7178a.system.js +4 -0
  245. package/lib/duet/{p-92d95bde.system.entry.js → p-3967595b.system.entry.js} +1 -1
  246. package/lib/duet/{p-72443e94.system.entry.js → p-414b1ba7.system.entry.js} +1 -1
  247. package/lib/duet/{p-ae515c54.entry.js → p-422d7157.entry.js} +1 -1
  248. package/lib/duet/{p-9fcac068.system.entry.js → p-4df190b5.system.entry.js} +1 -1
  249. package/lib/duet/{p-c41b07d7.entry.js → p-50eb1959.entry.js} +1 -1
  250. package/lib/duet/{p-de3c0f4d.js → p-532e9db7.js} +1 -1
  251. package/lib/duet/{p-16521f2d.entry.js → p-552ce747.entry.js} +1 -1
  252. package/lib/duet/{p-398a79a0.js → p-588be556.js} +1 -1
  253. package/lib/duet/{p-b008fe25.entry.js → p-58c58219.entry.js} +1 -1
  254. package/lib/duet/{p-2bd79d6b.entry.js → p-5b7db3d5.entry.js} +1 -1
  255. package/lib/duet/{p-5d967d15.entry.js → p-5bb6f856.entry.js} +1 -1
  256. package/lib/duet/{p-20271117.entry.js → p-62ff683a.entry.js} +1 -1
  257. package/lib/duet/{p-e1654a8b.system.entry.js → p-65206bf2.system.entry.js} +1 -1
  258. package/lib/duet/{p-2bba6489.entry.js → p-66bb00c2.entry.js} +1 -1
  259. package/lib/duet/{p-49db53a1.system.entry.js → p-6cc35a71.system.entry.js} +1 -1
  260. package/lib/duet/{p-63dbd5af.system.entry.js → p-7431ad27.system.entry.js} +1 -1
  261. package/lib/duet/{p-df11c241.system.entry.js → p-74bcd39f.system.entry.js} +1 -1
  262. package/lib/duet/{p-e2ac0727.system.entry.js → p-76fd11ff.system.entry.js} +1 -1
  263. package/lib/duet/{p-339e5901.system.js → p-7871ef0a.system.js} +1 -1
  264. package/lib/duet/{p-1aca544d.entry.js → p-79160b90.entry.js} +1 -1
  265. package/lib/duet/{p-23ad5f8a.entry.js → p-7d71fd3b.entry.js} +1 -1
  266. package/lib/duet/{p-946aa901.system.entry.js → p-7d866e2a.system.entry.js} +1 -1
  267. package/lib/duet/{p-9e54127f.system.entry.js → p-83120829.system.entry.js} +1 -1
  268. package/lib/duet/{p-d0f72f22.js → p-85c3f82e.js} +1 -1
  269. package/lib/duet/{p-06ab2787.system.entry.js → p-85df6ff1.system.entry.js} +1 -1
  270. package/lib/duet/{p-68c3b19f.entry.js → p-86567f28.entry.js} +1 -1
  271. package/lib/duet/{p-104bf1b5.entry.js → p-8669b09e.entry.js} +1 -1
  272. package/lib/duet/{p-9f18afd6.entry.js → p-88819152.entry.js} +1 -1
  273. package/lib/duet/{p-5d1787cb.entry.js → p-89dc739e.entry.js} +1 -1
  274. package/lib/duet/{p-6c875cfa.system.entry.js → p-8a4d7ae9.system.entry.js} +1 -1
  275. package/lib/duet/{p-571440c7.system.entry.js → p-8edd208a.system.entry.js} +1 -1
  276. package/lib/duet/{p-691f609b.entry.js → p-8efd9495.entry.js} +1 -1
  277. package/lib/duet/{p-c5499bc3.entry.js → p-8f222a1b.entry.js} +1 -1
  278. package/lib/duet/{p-6b0a4b3b.entry.js → p-98ba3424.entry.js} +1 -1
  279. package/lib/duet/{p-31004a7b.system.entry.js → p-996ba330.system.entry.js} +1 -1
  280. package/lib/duet/{p-de815460.system.entry.js → p-9999e5fa.system.entry.js} +1 -1
  281. package/lib/duet/{p-de146ffa.system.entry.js → p-9bae46c2.system.entry.js} +1 -1
  282. package/lib/duet/{p-ab2f08b3.system.entry.js → p-9cb366b1.system.entry.js} +1 -1
  283. package/lib/duet/{p-8c409ffe.system.entry.js → p-a3de163c.system.entry.js} +1 -1
  284. package/lib/duet/{p-064dd5fd.entry.js → p-a40a7074.entry.js} +1 -1
  285. package/lib/duet/{p-1010fb94.entry.js → p-a463d7ba.entry.js} +1 -1
  286. package/lib/duet/{p-087d72dd.system.entry.js → p-a755f378.system.entry.js} +1 -1
  287. package/lib/duet/{p-b066a6b7.entry.js → p-a78c751d.entry.js} +1 -1
  288. package/lib/duet/{p-c8d9da51.entry.js → p-aae486b1.entry.js} +1 -1
  289. package/lib/duet/{p-0f7f7e7d.system.entry.js → p-ade95c1a.system.entry.js} +1 -1
  290. package/lib/duet/{p-9f8a51b4.system.entry.js → p-ae270d5c.system.entry.js} +1 -1
  291. package/lib/duet/{p-94c07a46.system.entry.js → p-afd48ab5.system.entry.js} +1 -1
  292. package/lib/duet/{p-f2eaad1e.js → p-b1931fae.js} +1 -1
  293. package/lib/duet/{p-e3983bfe.entry.js → p-b1b6bfaf.entry.js} +1 -1
  294. package/lib/duet/{p-6eecfced.system.entry.js → p-bcaa46bc.system.entry.js} +1 -1
  295. package/lib/duet/{p-eb54474f.system.entry.js → p-bd95bbac.system.entry.js} +1 -1
  296. package/lib/duet/{p-09364233.entry.js → p-c14e364f.entry.js} +1 -1
  297. package/lib/duet/{p-074bfd45.entry.js → p-cd24ed34.entry.js} +1 -1
  298. package/lib/duet/{p-8157e5bb.system.entry.js → p-ceaefc71.system.entry.js} +1 -1
  299. package/lib/duet/{p-18cc5627.system.js → p-d209191d.system.js} +1 -1
  300. package/lib/duet/{p-5658ac20.system.entry.js → p-d33ad700.system.entry.js} +1 -1
  301. package/lib/duet/{p-41cb95cb.entry.js → p-d5700477.entry.js} +1 -1
  302. package/lib/duet/{p-b3dc55a6.system.entry.js → p-d8c1e717.system.entry.js} +1 -1
  303. package/lib/duet/{p-cca9c605.system.entry.js → p-d8e4683f.system.entry.js} +1 -1
  304. package/lib/duet/{p-0ae59d7c.entry.js → p-db5582e2.entry.js} +1 -1
  305. package/lib/duet/{p-f7ac05dd.system.entry.js → p-dc3379cf.system.entry.js} +1 -1
  306. package/lib/duet/{p-cfa50753.system.js → p-ddc42b65.system.js} +1 -1
  307. package/lib/duet/{p-3cc55c8a.system.entry.js → p-e1c35023.system.entry.js} +1 -1
  308. package/lib/duet/p-e6d75fab.entry.js +4 -0
  309. package/lib/duet/{p-89048c6f.entry.js → p-e99cfa9a.entry.js} +1 -1
  310. package/lib/duet/{p-4034b322.system.entry.js → p-ec08089e.system.entry.js} +1 -1
  311. package/lib/duet/{p-bec24271.system.entry.js → p-ec45b5c6.system.entry.js} +1 -1
  312. package/lib/duet/{p-5beb69ac.entry.js → p-ed41265b.entry.js} +1 -1
  313. package/lib/duet/{p-744ce6ce.entry.js → p-ed985877.entry.js} +1 -1
  314. package/lib/duet/p-f5cac1af.entry.js +4 -0
  315. package/lib/duet/{p-e0f6ebf4.system.entry.js → p-f6725c7b.system.entry.js} +1 -1
  316. package/lib/duet/{p-c2e37fb4.entry.js → p-f7012b1f.entry.js} +1 -1
  317. package/lib/duet/{p-23ba48a5.system.entry.js → p-f7856429.system.entry.js} +1 -1
  318. package/lib/duet/{p-97a369d6.entry.js → p-f9d05a5c.entry.js} +1 -1
  319. package/lib/duet/{p-ef4b4f35.entry.js → p-fb798cb8.entry.js} +1 -1
  320. package/lib/duet/{p-47ed8218.entry.js → p-fcbf70a6.entry.js} +1 -1
  321. package/lib/duet/{p-3d029dce.system.entry.js → p-fcc58f66.system.entry.js} +1 -1
  322. package/lib/duet/{p-db115036.entry.js → p-fdd0a7df.entry.js} +1 -1
  323. package/lib/duet/{p-6841adb8.system.entry.js → p-feae179e.system.entry.js} +1 -1
  324. package/lib/esm/duet-action-button.entry.js +3 -3
  325. package/lib/esm/duet-alert.entry.js +1 -1
  326. package/lib/esm/duet-badge.entry.js +1 -1
  327. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  328. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  329. package/lib/esm/duet-button_2.entry.js +3 -3
  330. package/lib/esm/duet-caption_4.entry.js +3 -3
  331. package/lib/esm/duet-card.entry.js +3 -3
  332. package/lib/esm/duet-checkbox.entry.js +1 -1
  333. package/lib/esm/duet-choice_2.entry.js +10 -9
  334. package/lib/esm/duet-collapsible.entry.js +2 -2
  335. package/lib/esm/duet-combobox.entry.js +1 -1
  336. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  337. package/lib/esm/duet-date-picker.entry.js +2 -2
  338. package/lib/esm/duet-divider_2.entry.js +1 -1
  339. package/lib/esm/duet-editable-table_3.entry.js +17 -14
  340. package/lib/esm/duet-empty-state.entry.js +1 -1
  341. package/lib/esm/duet-fieldset.entry.js +1 -1
  342. package/lib/esm/duet-footer.entry.js +1 -1
  343. package/lib/esm/duet-grid_2.entry.js +2 -2
  344. package/lib/esm/duet-header_2.entry.js +3 -3
  345. package/lib/esm/duet-hero.entry.js +1 -1
  346. package/lib/esm/duet-icon.entry.js +3 -3
  347. package/lib/esm/duet-input_2.entry.js +1 -1
  348. package/lib/esm/duet-layout.entry.js +1 -1
  349. package/lib/esm/duet-list_2.entry.js +1 -1
  350. package/lib/esm/duet-modal.entry.js +2 -2
  351. package/lib/esm/duet-notification_2.entry.js +1 -1
  352. package/lib/esm/duet-number-input.entry.js +1 -1
  353. package/lib/esm/duet-pagination_2.entry.js +25 -27
  354. package/lib/esm/duet-progress.entry.js +1 -1
  355. package/lib/esm/duet-radio_2.entry.js +1 -1
  356. package/lib/esm/duet-range-slider.entry.js +2 -2
  357. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  358. package/lib/esm/duet-select.entry.js +1 -1
  359. package/lib/esm/duet-step_2.entry.js +1 -1
  360. package/lib/esm/duet-textarea.entry.js +1 -1
  361. package/lib/esm/duet-toggle.entry.js +1 -1
  362. package/lib/esm/duet-tooltip.entry.js +1 -1
  363. package/lib/esm/duet-tray.entry.js +2 -2
  364. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  365. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  366. package/lib/esm/duet.js +1 -1
  367. package/lib/esm/focus-utils-b515b88b.js +18 -0
  368. package/lib/esm/{index-f600b8dc.js → index-d8c3ba71.js} +1 -1
  369. package/lib/esm/loader.js +1 -1
  370. package/lib/esm/token-utils-ebf797ab.js +92 -0
  371. package/lib/esm/tokens-b9d87fda.js +459 -0
  372. package/lib/esm/{tokens.module-f4572ed7.js → tokens.module-385c4cf8.js} +12 -10
  373. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  374. package/lib/esm-es5/duet-alert.entry.js +1 -1
  375. package/lib/esm-es5/duet-badge.entry.js +1 -1
  376. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  377. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  378. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  379. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  380. package/lib/esm-es5/duet-card.entry.js +1 -1
  381. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  382. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  383. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  384. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  385. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  386. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  387. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  388. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  389. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  390. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  391. package/lib/esm-es5/duet-footer.entry.js +1 -1
  392. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  393. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  394. package/lib/esm-es5/duet-hero.entry.js +1 -1
  395. package/lib/esm-es5/duet-icon.entry.js +1 -1
  396. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  397. package/lib/esm-es5/duet-layout.entry.js +1 -1
  398. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  399. package/lib/esm-es5/duet-modal.entry.js +1 -1
  400. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  401. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  402. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  403. package/lib/esm-es5/duet-progress.entry.js +1 -1
  404. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  405. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  406. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  407. package/lib/esm-es5/duet-select.entry.js +1 -1
  408. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  409. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  410. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  411. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  412. package/lib/esm-es5/duet-tray.entry.js +1 -1
  413. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  414. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  415. package/lib/esm-es5/duet.js +1 -1
  416. package/lib/esm-es5/{focus-utils-559691b3.js → focus-utils-b515b88b.js} +1 -1
  417. package/lib/esm-es5/{index-f600b8dc.js → index-d8c3ba71.js} +1 -1
  418. package/lib/esm-es5/loader.js +1 -1
  419. package/lib/esm-es5/{token-utils-df78f4d8.js → token-utils-ebf797ab.js} +1 -1
  420. package/lib/esm-es5/tokens-b9d87fda.js +4 -0
  421. package/lib/esm-es5/{tokens.module-f4572ed7.js → tokens.module-385c4cf8.js} +1 -1
  422. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -0
  423. package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +2 -2
  424. package/lib/types/components/duet-upload/duet-upload.d.ts +8 -8
  425. package/lib/types/components.d.ts +6 -6
  426. package/package.json +5 -5
  427. package/lib/custom-elements-bundle/index.d.ts +0 -399
  428. package/lib/custom-elements-bundle/index.js +0 -14110
  429. package/lib/duet/p-6002f3d2.system.js +0 -4
  430. package/lib/duet/p-7c198c75.entry.js +0 -4
  431. package/lib/duet/p-a93a04b9.system.js +0 -4
  432. package/lib/duet/p-d1746325.js +0 -4
  433. package/lib/duet/p-f2ab3e5c.entry.js +0 -4
  434. package/lib/esm-es5/tokens-8ff8c570.js +0 -4
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface DuetVisuallyHidden extends Components.DuetVisuallyHidden, HTMLElement {}
4
+ export const DuetVisuallyHidden: {
5
+ prototype: DuetVisuallyHidden;
6
+ new (): DuetVisuallyHidden;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { D as DuetVisuallyHidden$1, d as defineCustomElement$1 } from './p-53a0c93d.js';
5
+
6
+ const DuetVisuallyHidden = DuetVisuallyHidden$1;
7
+ const defineCustomElement = defineCustomElement$1;
8
+
9
+ export { DuetVisuallyHidden, defineCustomElement };
@@ -0,0 +1,26 @@
1
+ /* Duet custom elements */
2
+
3
+ import type { Components, JSX } from "../types/components";
4
+
5
+ /**
6
+ * Used to manually set the base path where assets can be found.
7
+ * If the script is used as "module", it's recommended to use "import.meta.url",
8
+ * such as "setAssetPath(import.meta.url)". Other options include
9
+ * "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
10
+ * dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
11
+ * But do note that this configuration depends on how your script is bundled, or lack of
12
+ * bundling, and where your assets can be loaded from. Additionally custom bundling
13
+ * will have to ensure the static assets are copied to its build directory.
14
+ */
15
+ export declare const setAssetPath: (path: string) => void;
16
+
17
+ export interface SetPlatformOptions {
18
+ raf?: (c: FrameRequestCallback) => number;
19
+ ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
20
+ rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
21
+ }
22
+ export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
23
+
24
+ export type { Components, JSX };
25
+
26
+ export * from '../types/components';
@@ -0,0 +1,37 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ export { s as setAssetPath, a as setPlatformOptions } from './p-1ad6b04e.js';
5
+
6
+ const TAB_KEY = 9;
7
+ const appGlobalScript = () => {
8
+ function listenKeys(event) {
9
+ if (event.keyCode === TAB_KEY) {
10
+ var components = document.querySelectorAll(".hydrated");
11
+ for (var i = 0; i < components.length; i++) {
12
+ components[i].classList.add("user-is-tabbing");
13
+ }
14
+ if (typeof window !== "undefined") {
15
+ window.removeEventListener("keydown", listenKeys);
16
+ window.addEventListener("mousedown", listenMouse, false);
17
+ }
18
+ }
19
+ }
20
+ function listenMouse() {
21
+ var components = document.querySelectorAll(".hydrated");
22
+ for (var i = 0; i < components.length; i++) {
23
+ components[i].classList.remove("user-is-tabbing");
24
+ }
25
+ if (typeof window !== "undefined") {
26
+ window.removeEventListener("mousedown", listenMouse);
27
+ window.addEventListener("keydown", listenKeys, false);
28
+ }
29
+ }
30
+ if (typeof window !== "undefined") {
31
+ window.addEventListener("keydown", listenKeys, false);
32
+ }
33
+ };
34
+
35
+ const globalScripts = appGlobalScript;
36
+
37
+ globalScripts();
@@ -141,14 +141,15 @@ const line_height_small = "1.25";
141
141
  const line_height_x_small = "1.1";
142
142
  const transition_quickly = "300ms ease";
143
143
  const transition_slowly = "600ms ease";
144
- const media_query_xx_small = "'(max-width: 22.5em)'";
145
- const media_query_x_small = "'(max-width: 35.9375em)'";
146
- const media_query_small = "'(min-width: 36em)'";
144
+ const media_query_xxx_large = "'(min-width: 106.25em)'";
145
+ const media_query_x_large = "'(min-width: 64.0625em)'";
147
146
  const media_query_medium = "'(min-width: 48em)'";
148
147
  const media_query_large = "'(min-width: 62em)'";
149
- const media_query_x_large = "'(min-width: 64.0625em)'";
150
148
  const media_query_xx_large = "'(min-width: 76.25em)'";
151
- const media_query_xxx_large = "'(min-width: 106.25em)'";
149
+ const media_query_x_small = "'(max-width: 35.9375em)'";
150
+ const media_query_xxx_small = "'(max-width: 20.5em)'";
151
+ const media_query_small = "'(min-width: 36em)'";
152
+ const media_query_xx_small = "'(max-width: 22.5em)'";
152
153
  const tokens = {
153
154
  color_warning: color_warning,
154
155
  color_gray_darker: color_gray_darker,
@@ -290,14 +291,15 @@ const tokens = {
290
291
  line_height_x_small: line_height_x_small,
291
292
  transition_quickly: transition_quickly,
292
293
  transition_slowly: transition_slowly,
293
- media_query_xx_small: media_query_xx_small,
294
- media_query_x_small: media_query_x_small,
295
- media_query_small: media_query_small,
294
+ media_query_xxx_large: media_query_xxx_large,
295
+ media_query_x_large: media_query_x_large,
296
296
  media_query_medium: media_query_medium,
297
297
  media_query_large: media_query_large,
298
- media_query_x_large: media_query_x_large,
299
298
  media_query_xx_large: media_query_xx_large,
300
- media_query_xxx_large: media_query_xxx_large
299
+ media_query_x_small: media_query_x_small,
300
+ media_query_xxx_small: media_query_xxx_small,
301
+ media_query_small: media_query_small,
302
+ media_query_xx_small: media_query_xx_small
301
303
  };
302
304
 
303
305
  const tokens$1 = /*#__PURE__*/Object.freeze({
@@ -442,14 +444,15 @@ const tokens$1 = /*#__PURE__*/Object.freeze({
442
444
  line_height_x_small: line_height_x_small,
443
445
  transition_quickly: transition_quickly,
444
446
  transition_slowly: transition_slowly,
445
- media_query_xx_small: media_query_xx_small,
446
- media_query_x_small: media_query_x_small,
447
- media_query_small: media_query_small,
447
+ media_query_xxx_large: media_query_xxx_large,
448
+ media_query_x_large: media_query_x_large,
448
449
  media_query_medium: media_query_medium,
449
450
  media_query_large: media_query_large,
450
- media_query_x_large: media_query_x_large,
451
451
  media_query_xx_large: media_query_xx_large,
452
- media_query_xxx_large: media_query_xxx_large,
452
+ media_query_x_small: media_query_x_small,
453
+ media_query_xxx_small: media_query_xxx_small,
454
+ media_query_small: media_query_small,
455
+ media_query_xx_small: media_query_xx_small,
453
456
  'default': tokens
454
457
  });
455
458
 
@@ -0,0 +1,47 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ const debounce = (func, timeout = 250) => {
5
+ let timer;
6
+ return (...args) => {
7
+ clearTimeout(timer);
8
+ timer = setTimeout(() => {
9
+ func.apply(undefined, args);
10
+ }, timeout);
11
+ };
12
+ };
13
+ /**
14
+ * The fieldSorter function is a helper function that takes an array of objects and returns
15
+ * a function that can be used to sort those objects. The returned sorting function takes two
16
+ * parameters, which are compared using the field values in the object. If one object's field value is greater than another's, then 1 is returned; if they're equal, 0 is returned; and if one object's field value is less than another's, - 1 will be returned. This allows for easy sorting by multiple fields in any order desired (e.g., first by name ascending and then by age descending).
17
+ *
18
+ *
19
+ * @param fields Sort the table
20
+ *
21
+ * @return A function that takes two objects and returns an integer
22
+ *
23
+ */
24
+ function fieldSorter(fields) {
25
+ return function (a, b) {
26
+ return fields
27
+ .map(function (o) {
28
+ let dir = 1;
29
+ if (o[0] === "-") {
30
+ dir = -1;
31
+ o = o.substring(1);
32
+ }
33
+ if (a[o] > b[o]) {
34
+ return dir;
35
+ }
36
+ if (a[o] < b[o]) {
37
+ return -dir;
38
+ }
39
+ return 0;
40
+ })
41
+ .reduce(function firstNonZeroValue(p, n) {
42
+ return p ? p : n;
43
+ }, 0);
44
+ };
45
+ }
46
+
47
+ export { debounce as d, fieldSorter as f };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h } from './index-f600b8dc.js';
4
+ import { h } from './p-b9058029.js';
5
5
 
6
6
  const focusElement = (element) => {
7
7
  if ("setFocus" in element) {
@@ -0,0 +1,154 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { p as proxyCustomElement, H, h, b as Host } from './p-1ad6b04e.js';
5
+ import { m as mediaQueryMedium, a as mediaQueryLarge, b as mediaQueryXLarge, c as mediaQueryXxLarge, d as mediaQueryXxxLarge, e as mediaQuerySmall, s as sizeNavigation, f as sizeHeader } from './p-266411cf.js';
6
+ import { i as inheritGlobalTheme } from './p-4ebf1618.js';
7
+ import { d as debounce } from './p-0b3f675e.js';
8
+
9
+ 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 .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}.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)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}.duet-editable-table-table.duet-table-flattened tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before{padding:0;content:\"\"}.duet-editable-table-table.duet-table-flattened td{grid-column:1/2}.duet-editable-table-table.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-editable-table-table.duet-table-flattened td:last-child{grid-row:1;grid-column:2}";
10
+
11
+ // remove wrapping speech marks.
12
+ // media query tokens are wrapped in speech marks,
13
+ // which need to be removed before use with matchMedia.
14
+ const unwrap = (str) => str.substring(1, str.length - 1);
15
+ const breakpointToToken = {
16
+ none: "all",
17
+ "none-scrollable": "all",
18
+ small: unwrap(mediaQuerySmall),
19
+ medium: unwrap(mediaQueryMedium),
20
+ large: unwrap(mediaQueryLarge),
21
+ "x-large": unwrap(mediaQueryXLarge),
22
+ "xx-large": unwrap(mediaQueryXxLarge),
23
+ "xxx-large": unwrap(mediaQueryXxxLarge),
24
+ };
25
+ const stickyTopValues = {
26
+ none: 0,
27
+ "with-links": parseFloat(sizeNavigation) * 16,
28
+ "without-links": parseFloat(sizeHeader) * 16,
29
+ };
30
+ const DuetTable = /*@__PURE__*/ proxyCustomElement(class extends H {
31
+ constructor() {
32
+ super();
33
+ this.__registerHost();
34
+ /**
35
+ * Tracks whether the breakpoint is matched. This is set to true by default so that JavaScript disabled in SSR mode we get accessible table data first.
36
+ */
37
+ this.matchesBreakpoint = true;
38
+ /**
39
+ * Controls the margin of the component.
40
+ */
41
+ this.margin = "auto";
42
+ /**
43
+ * Style variation of the table.
44
+ */
45
+ this.variation = "striped";
46
+ /**
47
+ * Controls whether the table has a sticky header.
48
+ * Sticky headers are not compatible with breakpoint="none-scrollable".
49
+ */
50
+ this.sticky = false;
51
+ /**
52
+ * Adjust the distance from top of the viewport (in pixels) when the
53
+ * table header becomes sticky.
54
+ */
55
+ this.stickyDistance = "with-links";
56
+ /**
57
+ * By default the table is responsive - it will be flattened at narrow viewport widths.
58
+ * This prop controls the breakpoint at which the table should be rendered as a _regular_ table.
59
+ * Set to "none" to disable the responsive functionality.
60
+ * Set to "none-scrollable" to disable responsive functionality _and_ allow horizontal scrolling -
61
+ * this is useful for comparison tables where it's important to maintain column and row layout.
62
+ */
63
+ this.breakpoint = "small";
64
+ this.handleMediaQueryChange = (mq) => {
65
+ this.matchesBreakpoint = mq.matches;
66
+ };
67
+ }
68
+ connectedCallback() {
69
+ this.mq = matchMedia(breakpointToToken[this.breakpoint]);
70
+ this.mq.addEventListener("change", debounce(this.handleMediaQueryChange, 50));
71
+ this.handleMediaQueryChange(this.mq);
72
+ this.observer = new MutationObserver(() => debounce(this.copyHeadingsToCells(), 50));
73
+ this.observer.observe(this.element, {
74
+ childList: true,
75
+ subtree: true,
76
+ });
77
+ }
78
+ componentWillLoad() {
79
+ inheritGlobalTheme(this);
80
+ this.copyHeadingsToCells();
81
+ if (this.sticky && this.breakpoint === "none-scrollable") {
82
+ console.warn(`[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence`);
83
+ }
84
+ if (this.sticky) {
85
+ const stickyTop = stickyTopValues[this.stickyDistance];
86
+ const headingElements = this.element.querySelectorAll("thead th");
87
+ headingElements.forEach(th => (th.style.top = `${stickyTop}px`));
88
+ }
89
+ }
90
+ componentDidLoad() {
91
+ // this clears all pending mutations,
92
+ // that way we avoid dealing with any initial changes
93
+ // and only get genuine mutations as rows are added/removed
94
+ this.observer ? this.observer.takeRecords() : null;
95
+ }
96
+ disconnectedCallback() {
97
+ this.observer.disconnect();
98
+ this.observer = null;
99
+ this.mq.removeListener(this.handleMediaQueryChange);
100
+ this.mq = null;
101
+ this.matchesBreakpoint = true;
102
+ }
103
+ /**
104
+ * Local methods.
105
+ */
106
+ copyHeadingsToCells() {
107
+ const headingElements = this.element.querySelectorAll("thead th");
108
+ const rowElements = this.element.querySelectorAll("tbody tr");
109
+ const headings = Array.from(headingElements).map(th => th.textContent.trim());
110
+ rowElements.forEach(tr => {
111
+ tr.querySelectorAll("td").forEach((td, i) => {
112
+ if (headings[i]) {
113
+ td.dataset.heading = headings[i];
114
+ }
115
+ });
116
+ });
117
+ }
118
+ render() {
119
+ return (h(Host, { class: {
120
+ [`duet-table-${this.variation}`]: true,
121
+ "duet-table-flattened": !this.matchesBreakpoint,
122
+ // sticky only valid when in regular table layout
123
+ "duet-table-sticky": this.matchesBreakpoint && this.sticky,
124
+ "duet-table-scrollable": this.breakpoint === "none-scrollable",
125
+ "duet-m-0": this.margin === "none",
126
+ "duet-theme-turva": this.theme === "turva",
127
+ } }, h("slot", null)));
128
+ }
129
+ get element() { return this; }
130
+ static get style() { return duetTableCss; }
131
+ }, [4, "duet-table", {
132
+ "theme": [1025],
133
+ "margin": [1],
134
+ "variation": [1],
135
+ "sticky": [4],
136
+ "stickyDistance": [1, "sticky-distance"],
137
+ "breakpoint": [1],
138
+ "matchesBreakpoint": [32]
139
+ }]);
140
+ function defineCustomElement() {
141
+ if (typeof customElements === "undefined") {
142
+ return;
143
+ }
144
+ const components = ["duet-table"];
145
+ components.forEach(tagName => { switch (tagName) {
146
+ case "duet-table":
147
+ if (!customElements.get(tagName)) {
148
+ customElements.define(tagName, DuetTable);
149
+ }
150
+ break;
151
+ } });
152
+ }
153
+
154
+ export { DuetTable as D, defineCustomElement as d };
@@ -0,0 +1,287 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { p as proxyCustomElement, H, c as createEvent, h as h$1, b as Host } from './p-1ad6b04e.js';
5
+ import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
+ import { f as fieldSorter } from './p-0b3f675e.js';
7
+ import { i as isKeyboardClick } from './p-d8549efe.js';
8
+ import { g as getLocaleString } from './p-ede854e1.js';
9
+ import { h } from './p-b9058029.js';
10
+ import { d as defineCustomElement$6 } from './p-e121eb6d.js';
11
+ import { d as defineCustomElement$5 } from './p-4c52333e.js';
12
+ import { d as defineCustomElement$4 } from './p-4f516732.js';
13
+ import { d as defineCustomElement$3 } from './p-6cae0682.js';
14
+ import { d as defineCustomElement$2 } from './p-0ce83b83.js';
15
+ import { d as defineCustomElement$1 } from './p-53a0c93d.js';
16
+
17
+ //simple functional component that renders the data in the table
18
+ const TableData = ({ data, groupId, alignment }, _children) => {
19
+ const classNames = `duet-editable-table duet-editable-table-content-${groupId}`;
20
+ if (typeof data === "string") {
21
+ return h("td", { innerHTML: data, class: classNames, part: `${groupId}content`, style: { verticalAlign: alignment } });
22
+ }
23
+ else {
24
+ return (h("td", { class: classNames, part: `${groupId}content`, style: { verticalAlign: alignment } }, data));
25
+ }
26
+ };
27
+
28
+ const duetEditableTableCss = ".sc-duet-editable-table-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-actions-menu.sc-duet-editable-table{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button.sc-duet-editable-table{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon.sc-duet-editable-table .duet-icon.sc-duet-editable-table{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row.sc-duet-editable-table .duet-text-right.sc-duet-editable-table{text-align:right}.duet-editable-table-header.sc-duet-editable-table tr.sc-duet-editable-table .duet-editable-table-header-hidden.sc-duet-editable-table{padding:0 !important;font-size:0;border-bottom:0}";
29
+
30
+ const DuetEditableTable = /*@__PURE__*/ proxyCustomElement(class extends H {
31
+ constructor() {
32
+ super();
33
+ this.__registerHost();
34
+ this.duetTableToggle = createEvent(this, "duetTableToggle", 7);
35
+ this.duetMenuClick = createEvent(this, "duetMenuClick", 7);
36
+ /**
37
+ * Duet-table: margin of the component.
38
+ */
39
+ this.margin = "auto";
40
+ /**
41
+ * Duet-table: Style variation of the table.
42
+ */
43
+ this.variation = "striped";
44
+ /**
45
+ * Duet-table: Controls whether the table has a sticky header.
46
+ * Sticky headers are not compatible with breakpoint="none-scrollable".
47
+ */
48
+ this.sticky = false;
49
+ /**
50
+ * Duet-table: Adjust the distance from top of the viewport (in pixels) when the
51
+ * table header becomes sticky.
52
+ */
53
+ this.stickyDistance = "with-links";
54
+ /**
55
+ * Duet-table: By default the table is responsive - it will be flattened at narrow viewport widths.
56
+ * This prop controls the breakpoint at which the table should be rendered as a _regular_ table.
57
+ * Set to "none" to disable the responsive functionality.
58
+ * Set to "none-scrollable" to disable responsive functionality _and_ allow horizontal scrolling -
59
+ * this is useful for comparison tables where it's important to maintain column and row layout.
60
+ */
61
+ this.breakpoint = "small";
62
+ /**
63
+ * Define actions for all items in a table
64
+ * An alternative to inline HTML table.
65
+ * required for Sortable tables
66
+ * @default undefined
67
+ */
68
+ this.actions = undefined;
69
+ /**
70
+ * Define columns for a table
71
+ * An alternative to inline HTML table.
72
+ * required for Sortable tables
73
+ * @default undefined
74
+ */
75
+ this.columns = undefined;
76
+ /**
77
+ * Define rows for a table
78
+ * An alternative to inline HTML table.
79
+ * required for Sortable tables
80
+ * @default undefined
81
+ */
82
+ this.rows = undefined;
83
+ /**
84
+ * Controls whether the table is sortable by headers
85
+ */
86
+ this.sortable = false;
87
+ /**
88
+ * Optional id that get passed to the table and used to setup ::parts
89
+ */
90
+ this.groupId = "";
91
+ /**
92
+ * Theme of the table.
93
+ */
94
+ this.theme = "";
95
+ /**
96
+ * Exposes the aria role for optimizing accessibility.
97
+ */
98
+ this.accessibleRole = undefined;
99
+ this.sortableDefaultLabel = {
100
+ fi: "Järjestä",
101
+ en: "Click to sort",
102
+ sv: "Klicka för att sortera",
103
+ };
104
+ this.actionColumnLabel = {
105
+ en: "Actions for rows",
106
+ fi: "Toiminnot rivillä",
107
+ sv: "Åtgärder för rader",
108
+ };
109
+ /**
110
+ * Private methods.
111
+ */
112
+ this.toggleColumn = (column, e) => {
113
+ e.preventDefault();
114
+ const { sort_order, direction, index, key } = column;
115
+ this.duetTableToggle.emit({
116
+ sort_order,
117
+ index,
118
+ direction,
119
+ key,
120
+ component: "duet-editable-table",
121
+ originalEvent: e,
122
+ });
123
+ };
124
+ this.handleKeyDown = (column, e) => {
125
+ if (isKeyboardClick(e)) {
126
+ this.toggleColumn(column, e);
127
+ }
128
+ };
129
+ }
130
+ /**
131
+ * Component lifecycle events.
132
+ */
133
+ componentWillLoad() {
134
+ inheritGlobalTheme(this);
135
+ }
136
+ createLabel(column) {
137
+ const { sort_order, direction, index, label } = column;
138
+ const i18nLabel = getLocaleString(label);
139
+ if (!this.sortable) {
140
+ return i18nLabel;
141
+ }
142
+ const getButtonIcon = () => {
143
+ // "action-subtract-small" https://cdn.duetds.com/api/icons/2.2.12/lib/assets/action-subtract-small.svg
144
+ // "action-arrow-down-small" https://cdn.duetds.com/api/icons/2.2.12/lib/assets/action-arrow-down-small.svg
145
+ // "action-arrow-up-small" https://cdn.duetds.com/api/icons/2.2.12/lib/assets/action-arrow-up-small.svg
146
+ if (!!sort_order && direction === 1) {
147
+ return "action-arrow-down-small";
148
+ }
149
+ else if (!!sort_order && direction === -1) {
150
+ return "action-arrow-up-small";
151
+ }
152
+ return "action-subtract-small";
153
+ };
154
+ return (h$1("span", { class: "duet-table-label", "data-index": index }, h$1("duet-button", { size: "small", icon: getButtonIcon(), "icon-size": "medium-small", "accessible-label": getLocaleString(this.sortableDefaultLabel), variation: "plain", margin: "none", "icon-right": true, onClick: event => this.toggleColumn(column, event), onKeyDown: event => this.handleKeyDown(column, event) }, i18nLabel)));
155
+ }
156
+ getSortedColumns() {
157
+ //create a new array from sort instead of mutating original
158
+ return [...this.columns].sort(fieldSorter(["index"]));
159
+ }
160
+ getRowSortOrder() {
161
+ //create a new array from sort instead of mutating original
162
+ const fields = [...this.columns].sort(fieldSorter(["sort_order"]));
163
+ //return only key from objects that have sort_order
164
+ return fields
165
+ .filter(column => column.sort_order)
166
+ .map(column => {
167
+ // add - in-front of descending direction (required by field-sorter)
168
+ return column.direction === -1 ? `-${column.key}` : column.key;
169
+ });
170
+ }
171
+ renderTableHeader() {
172
+ if (!this.columns) {
173
+ return;
174
+ }
175
+ const sortedColumns = this.getSortedColumns();
176
+ return (h$1("tr", { class: {
177
+ "duet-table-action-header": !!this.actions,
178
+ } }, sortedColumns.map(column => {
179
+ if (column.display !== false) {
180
+ return h$1("th", { scope: "col" }, this.createLabel(column));
181
+ }
182
+ }), this.actions && (h$1("th", { scope: "col", class: "duet-table-action-header-heading" }, this.actions && h$1("duet-visually-hidden", null, getLocaleString(this.actionColumnLabel))))));
183
+ }
184
+ renderActions(rowItem, index) {
185
+ // escape early
186
+ if (!this.actions) {
187
+ return;
188
+ }
189
+ // iterate through actions and add them in the sidebar
190
+ return (h$1("td", { class: "duet-text-right" }, this.actions.map(actionItem => {
191
+ return (h$1("duet-action-button", { actionMeta: Object.assign({}, (rowItem === null || rowItem === void 0 ? void 0 : rowItem.meta) || {}, { index }), actionId: (rowItem === null || rowItem === void 0 ? void 0 : rowItem.uid) || (rowItem === null || rowItem === void 0 ? void 0 : rowItem.id) || null, actionName: actionItem.name, theme: this.theme, iconName: actionItem.icon, iconColor: actionItem.color, iconSize: actionItem.size, background: actionItem.background }));
192
+ })));
193
+ }
194
+ renderTableBody() {
195
+ const columns = this.getSortedColumns();
196
+ const rowSortOrder = this.getRowSortOrder();
197
+ const sortedRows = [...this.rows].sort(fieldSorter(rowSortOrder));
198
+ // return a tbody with rows for each item in sortedRows
199
+ return sortedRows.map((row, index) => (h$1("tr", { class: {
200
+ "duet-table-action-row": !!this.actions,
201
+ "duet-editable-table-row": true,
202
+ [`duet-editable-table-row-${this.groupId}`]: true,
203
+ }, "data-meta": JSON.stringify(row.meta) }, columns.map(column => {
204
+ //if we don't have any data for this column, try getting an item instead (for backwards compatibility
205
+ const value = row[column.key] ? row[column.key] : row.item;
206
+ if (column.display !== false) {
207
+ return h$1(TableData, { data: value, groupId: this.groupId });
208
+ }
209
+ }), this.actions && this.renderActions(row, index))));
210
+ }
211
+ /**
212
+ * Render Methods
213
+ */
214
+ render() {
215
+ return (h$1(Host, { class: {
216
+ [`duet-editable-table-${this.variation}`]: true,
217
+ "duet-editable-table": true,
218
+ [`duet-editable-table-${this.theme}`]: true,
219
+ // sticky only valid when in regular table layout
220
+ "duet-editable-table-scrollable": this.breakpoint === "none-scrollable",
221
+ "duet-editable-table-sortable": this.sortable,
222
+ "duet-editable-table-actions": !!this.actions,
223
+ "duet-m-0": this.margin === "none",
224
+ "duet-theme-turva": this.theme === "turva",
225
+ } }, h$1("duet-table", { class: "duet-editable-table-table", sticky: this.sticky, stickyDistance: this.stickyDistance, margin: this.margin, theme: this.theme, variation: this.variation, breakpoint: this.breakpoint }, h$1("table", { role: this.accessibleRole }, h$1("caption", null, h$1("slot", { name: "tcaption" })), h$1("thead", null, h$1("tr", null, h$1("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, h$1("slot", { name: "thead-first" }))), this.renderTableHeader(), h$1("tr", null, h$1("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, h$1("slot", { name: "thead-last" })))), h$1("tbody", null, this.renderTableBody()), h$1("tfoot", null, h$1("tr", null, h$1("th", { class: "duet-editable-table-footer-menu", colSpan: 99 }, h$1("slot", { name: "tfoot" }))))))));
226
+ }
227
+ get element() { return this; }
228
+ static get style() { return duetEditableTableCss; }
229
+ }, [6, "duet-editable-table", {
230
+ "margin": [1],
231
+ "variation": [1],
232
+ "sticky": [4],
233
+ "stickyDistance": [1, "sticky-distance"],
234
+ "breakpoint": [1],
235
+ "actions": [1040],
236
+ "columns": [1040],
237
+ "rows": [1040],
238
+ "sortable": [4],
239
+ "groupId": [1, "group-id"],
240
+ "theme": [1025],
241
+ "accessibleRole": [1, "accessible-role"]
242
+ }]);
243
+ function defineCustomElement() {
244
+ if (typeof customElements === "undefined") {
245
+ return;
246
+ }
247
+ const components = ["duet-editable-table", "duet-action-button", "duet-button", "duet-icon", "duet-spinner", "duet-table", "duet-visually-hidden"];
248
+ components.forEach(tagName => { switch (tagName) {
249
+ case "duet-editable-table":
250
+ if (!customElements.get(tagName)) {
251
+ customElements.define(tagName, DuetEditableTable);
252
+ }
253
+ break;
254
+ case "duet-action-button":
255
+ if (!customElements.get(tagName)) {
256
+ defineCustomElement$6();
257
+ }
258
+ break;
259
+ case "duet-button":
260
+ if (!customElements.get(tagName)) {
261
+ defineCustomElement$5();
262
+ }
263
+ break;
264
+ case "duet-icon":
265
+ if (!customElements.get(tagName)) {
266
+ defineCustomElement$4();
267
+ }
268
+ break;
269
+ case "duet-spinner":
270
+ if (!customElements.get(tagName)) {
271
+ defineCustomElement$3();
272
+ }
273
+ break;
274
+ case "duet-table":
275
+ if (!customElements.get(tagName)) {
276
+ defineCustomElement$2();
277
+ }
278
+ break;
279
+ case "duet-visually-hidden":
280
+ if (!customElements.get(tagName)) {
281
+ defineCustomElement$1();
282
+ }
283
+ break;
284
+ } });
285
+ }
286
+
287
+ export { DuetEditableTable as D, defineCustomElement as d };