@duetds/components 6.0.2 → 6.0.4

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 (436) hide show
  1. package/hydrate/index.js +51 -41
  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 +6 -5
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +4 -4
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-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 +1 -1
  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-8089a1a8.js → focus-utils-8a615003.js} +1 -1
  46. package/lib/cjs/{index-9d0e33db.js → index-d106d801.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-card/duet-card.js +4 -2
  52. package/lib/collection/components/duet-choice/duet-choice.js +1 -1
  53. package/lib/collection/components/duet-choice-group/duet-choice-group.js +1 -1
  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 +226 -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 +225 -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/dist-custom-elements/p-01de0640.js +37 -0
  178. package/lib/{esm/tokens-8ff8c570.js → dist-custom-elements/p-02305a1e.js} +18 -15
  179. package/lib/dist-custom-elements/p-08cfe544.js +125 -0
  180. package/lib/dist-custom-elements/p-09ed1ffa.js +160 -0
  181. package/lib/dist-custom-elements/p-0a928609.js +241 -0
  182. package/lib/dist-custom-elements/p-0b3f675e.js +47 -0
  183. package/lib/{esm/focus-utils-9e76623d.js → dist-custom-elements/p-0b8f16f1.js} +1 -1
  184. package/lib/dist-custom-elements/p-115c79b6.js +6 -0
  185. package/lib/dist-custom-elements/p-12721178.js +57 -0
  186. package/lib/dist-custom-elements/p-14dcd82b.js +133 -0
  187. package/lib/dist-custom-elements/p-16d518fd.js +66 -0
  188. package/lib/dist-custom-elements/p-213ef84c.js +87 -0
  189. package/lib/dist-custom-elements/p-266411cf.js +307 -0
  190. package/lib/dist-custom-elements/p-3d987b87.js +75 -0
  191. package/lib/dist-custom-elements/p-3fc2d124.js +1666 -0
  192. package/lib/dist-custom-elements/p-4717744e.js +110 -0
  193. package/lib/dist-custom-elements/p-4ebf1618.js +13 -0
  194. package/lib/dist-custom-elements/p-56118313.js +53 -0
  195. package/lib/dist-custom-elements/p-565779f5.js +199 -0
  196. package/lib/dist-custom-elements/p-5a9d75e1.js +55 -0
  197. package/lib/dist-custom-elements/p-65d3ead5.js +428 -0
  198. package/lib/dist-custom-elements/p-6886544b.js +129 -0
  199. package/lib/dist-custom-elements/p-6e74e660.js +275 -0
  200. package/lib/dist-custom-elements/p-704245ef.js +9 -0
  201. package/lib/dist-custom-elements/p-76f00bd5.js +10 -0
  202. package/lib/dist-custom-elements/p-7739604d.js +214 -0
  203. package/lib/dist-custom-elements/p-81c9b244.js +65 -0
  204. package/lib/{esm/token-utils-df78f4d8.js → dist-custom-elements/p-86faf728.js} +1 -1
  205. package/lib/dist-custom-elements/p-88511d7a.js +275 -0
  206. package/lib/dist-custom-elements/p-9c732bb9.js +193 -0
  207. package/lib/dist-custom-elements/p-acdba2db.js +114 -0
  208. package/lib/dist-custom-elements/p-b08e57cf.js +37 -0
  209. package/lib/dist-custom-elements/p-b9058029.js +138 -0
  210. package/lib/dist-custom-elements/p-bd4b92c4.js +86 -0
  211. package/lib/dist-custom-elements/p-bd779757.js +184 -0
  212. package/lib/dist-custom-elements/p-c1325e35.js +11 -0
  213. package/lib/dist-custom-elements/p-c70f3ccb.js +70 -0
  214. package/lib/dist-custom-elements/p-d004da5f.js +6 -0
  215. package/lib/dist-custom-elements/p-d4c234ed.js +390 -0
  216. package/lib/dist-custom-elements/p-d8549efe.js +20 -0
  217. package/lib/dist-custom-elements/p-d96debb6.js +287 -0
  218. package/lib/dist-custom-elements/p-da03a443.js +154 -0
  219. package/lib/dist-custom-elements/p-e294c0fb.js +341 -0
  220. package/lib/dist-custom-elements/p-e4d5fbc0.js +87 -0
  221. package/lib/dist-custom-elements/p-e5c8a58f.js +71 -0
  222. package/lib/dist-custom-elements/p-ede854e1.js +92 -0
  223. package/lib/dist-custom-elements/p-ef8eff22.js +64 -0
  224. package/lib/dist-custom-elements/p-f11208c3.js +6 -0
  225. package/lib/dist-custom-elements/p-f7db7c40.js +98 -0
  226. package/lib/dist-custom-elements/p-fc5362e7.js +61 -0
  227. package/lib/duet/duet.esm.js +1 -1
  228. package/lib/duet/duet.js +1 -1
  229. package/lib/duet/{p-9ed4eac7.system.entry.js → p-01c551f1.system.entry.js} +1 -1
  230. package/lib/duet/p-02305a1e.js +4 -0
  231. package/lib/duet/{p-f51969f5.entry.js → p-033bfa67.entry.js} +1 -1
  232. package/lib/duet/{p-86a3b203.system.entry.js → p-07a850a5.system.entry.js} +1 -1
  233. package/lib/duet/{p-211e59a0.system.entry.js → p-09e2ff96.system.entry.js} +1 -1
  234. package/lib/duet/{p-07f83b14.entry.js → p-0b74af40.entry.js} +1 -1
  235. package/lib/duet/{p-0c59905a.entry.js → p-0c2a51ac.entry.js} +1 -1
  236. package/lib/duet/{p-e56705ac.system.entry.js → p-0c9f0b8a.system.entry.js} +2 -2
  237. package/lib/duet/{p-4af6e3b1.entry.js → p-0d96924d.entry.js} +1 -1
  238. package/lib/duet/{p-67a78cbe.system.entry.js → p-0e48bca9.system.entry.js} +1 -1
  239. package/lib/duet/{p-82abc212.system.entry.js → p-0e98f667.system.entry.js} +1 -1
  240. package/lib/duet/{p-f5a06ff6.system.js → p-1999f503.system.js} +1 -1
  241. package/lib/duet/{p-e3a6351b.system.entry.js → p-1a41550e.system.entry.js} +1 -1
  242. package/lib/duet/{p-4d6b341d.system.entry.js → p-1bd57792.system.entry.js} +1 -1
  243. package/lib/duet/{p-567cab28.system.entry.js → p-1e0d7680.system.entry.js} +1 -1
  244. package/lib/duet/{p-921085f6.system.entry.js → p-1ebd7945.system.entry.js} +1 -1
  245. package/lib/duet/p-1fc60a60.system.js +4 -0
  246. package/lib/duet/{p-f416e108.entry.js → p-21662682.entry.js} +1 -1
  247. package/lib/duet/{p-2eea39f3.entry.js → p-23943f39.entry.js} +1 -1
  248. package/lib/duet/{p-9a3826e8.system.entry.js → p-23a8fa64.system.entry.js} +1 -1
  249. package/lib/duet/{p-902552a7.system.entry.js → p-264a0e0c.system.entry.js} +1 -1
  250. package/lib/duet/{p-5f407bd1.entry.js → p-27f72e70.entry.js} +1 -1
  251. package/lib/duet/{p-3c80d2fc.entry.js → p-2a3b1a2e.entry.js} +1 -1
  252. package/lib/duet/{p-6c022105.system.entry.js → p-2b320481.system.entry.js} +1 -1
  253. package/lib/duet/p-32f7178a.system.js +4 -0
  254. package/lib/duet/{p-196b2664.entry.js → p-3620ded5.entry.js} +1 -1
  255. package/lib/duet/{p-7d43d67b.entry.js → p-3904232a.entry.js} +1 -1
  256. package/lib/duet/{p-c89b1c28.entry.js → p-3b173cbd.entry.js} +1 -1
  257. package/lib/duet/{p-a9a9d22b.system.entry.js → p-430acad4.system.entry.js} +1 -1
  258. package/lib/duet/{p-5bde4aed.system.entry.js → p-4463946b.system.entry.js} +1 -1
  259. package/lib/duet/{p-cb1f9512.system.entry.js → p-44e9b1c8.system.entry.js} +1 -1
  260. package/lib/duet/p-49ce11a1.entry.js +4 -0
  261. package/lib/duet/{p-5d286e53.system.entry.js → p-4d6feeb5.system.entry.js} +1 -1
  262. package/lib/duet/{p-b4e8f605.system.entry.js → p-4d767c61.system.entry.js} +1 -1
  263. package/lib/duet/{p-94d496e1.system.entry.js → p-4f1fe415.system.entry.js} +1 -1
  264. package/lib/duet/{p-de3c0f4d.js → p-532e9db7.js} +1 -1
  265. package/lib/duet/{p-0250c7b7.system.entry.js → p-55fd512b.system.entry.js} +1 -1
  266. package/lib/duet/{p-398a79a0.js → p-588be556.js} +1 -1
  267. package/lib/duet/{p-f8a52ab0.entry.js → p-5af6d9e2.entry.js} +1 -1
  268. package/lib/duet/{p-626a5916.entry.js → p-5e1d64d8.entry.js} +1 -1
  269. package/lib/duet/{p-422c0465.system.entry.js → p-5f6452ce.system.entry.js} +1 -1
  270. package/lib/duet/{p-b57a4b2d.system.entry.js → p-60e29f52.system.entry.js} +1 -1
  271. package/lib/duet/{p-29157f26.system.entry.js → p-613c4099.system.entry.js} +1 -1
  272. package/lib/duet/{p-f0e4f685.system.entry.js → p-61444a3d.system.entry.js} +1 -1
  273. package/lib/duet/{p-9ef03ba6.js → p-6aca8584.js} +1 -1
  274. package/lib/duet/{p-0c83d107.system.entry.js → p-6e5f2016.system.entry.js} +1 -1
  275. package/lib/duet/{p-0930ce38.system.entry.js → p-6f93638a.system.entry.js} +1 -1
  276. package/lib/duet/{p-bc23dcde.entry.js → p-71105750.entry.js} +1 -1
  277. package/lib/duet/{p-3bbfe384.entry.js → p-73c6e5fb.entry.js} +1 -1
  278. package/lib/duet/{p-af3a016a.system.entry.js → p-751f6957.system.entry.js} +1 -1
  279. package/lib/duet/{p-920f9ff2.system.js → p-77600ed7.system.js} +1 -1
  280. package/lib/duet/{p-32883741.system.entry.js → p-77ca874f.system.entry.js} +1 -1
  281. package/lib/duet/{p-4427f4b2.entry.js → p-787f9eba.entry.js} +1 -1
  282. package/lib/duet/{p-8a91c7bb.system.entry.js → p-7ad2cb10.system.entry.js} +1 -1
  283. package/lib/duet/p-7de4d97d.entry.js +4 -0
  284. package/lib/duet/{p-20b5e96b.system.entry.js → p-8107aeb5.system.entry.js} +1 -1
  285. package/lib/duet/{p-a687eeaa.system.entry.js → p-86cb85b9.system.entry.js} +1 -1
  286. package/lib/duet/{p-d644302f.js → p-875ae637.js} +1 -1
  287. package/lib/duet/{p-39e1c6da.system.entry.js → p-8aafa8e7.system.entry.js} +1 -1
  288. package/lib/duet/{p-8bcd7936.entry.js → p-8b09a46f.entry.js} +1 -1
  289. package/lib/duet/{p-9059b7e3.entry.js → p-8c08e7ba.entry.js} +1 -1
  290. package/lib/duet/p-8e8f8b29.entry.js +4 -0
  291. package/lib/duet/{p-012e33e8.entry.js → p-9094fcf8.entry.js} +1 -1
  292. package/lib/duet/{p-2ebf682d.entry.js → p-988a781d.entry.js} +1 -1
  293. package/lib/duet/{p-194f22b3.system.entry.js → p-a395d4bc.system.entry.js} +1 -1
  294. package/lib/duet/{p-3f1c98d0.entry.js → p-a585113b.entry.js} +1 -1
  295. package/lib/duet/{p-e233e6ed.entry.js → p-aa8973fc.entry.js} +1 -1
  296. package/lib/duet/{p-b014fdca.entry.js → p-ab7f4070.entry.js} +1 -1
  297. package/lib/duet/{p-278340d9.system.entry.js → p-ab89d948.system.entry.js} +1 -1
  298. package/lib/duet/{p-14a2d6f2.entry.js → p-aef02083.entry.js} +1 -1
  299. package/lib/duet/{p-24978396.entry.js → p-afdc57da.entry.js} +1 -1
  300. package/lib/duet/{p-a124d4a0.entry.js → p-b2abaa9e.entry.js} +1 -1
  301. package/lib/duet/{p-68419f1e.entry.js → p-b55e55b5.entry.js} +1 -1
  302. package/lib/duet/{p-007d0250.system.entry.js → p-bbc91480.system.entry.js} +1 -1
  303. package/lib/duet/{p-ecc8ec3e.entry.js → p-bbe1a2cd.entry.js} +1 -1
  304. package/lib/duet/{p-9bd36dc0.system.entry.js → p-bd3c926c.system.entry.js} +1 -1
  305. package/lib/duet/{p-3feb442e.system.entry.js → p-bec16aea.system.entry.js} +1 -1
  306. package/lib/duet/p-bf59e11d.entry.js +4 -0
  307. package/lib/duet/{p-d5ef1959.system.entry.js → p-c4217626.system.entry.js} +1 -1
  308. package/lib/duet/{p-e1a1e52d.system.entry.js → p-c5f6ea62.system.entry.js} +1 -1
  309. package/lib/duet/{p-6ebb40da.entry.js → p-c6d05091.entry.js} +1 -1
  310. package/lib/duet/{p-c3d3f68d.system.entry.js → p-c73a591d.system.entry.js} +1 -1
  311. package/lib/duet/{p-35eaa5a8.entry.js → p-c863a0d1.entry.js} +1 -1
  312. package/lib/duet/{p-33300690.entry.js → p-c986532d.entry.js} +1 -1
  313. package/lib/duet/{p-b43a8c7a.entry.js → p-caa49454.entry.js} +1 -1
  314. package/lib/duet/{p-ddf8a652.system.entry.js → p-ccb0de84.system.entry.js} +1 -1
  315. package/lib/duet/{p-18cc5627.system.js → p-d209191d.system.js} +1 -1
  316. package/lib/duet/{p-4f235805.entry.js → p-defba7cd.entry.js} +1 -1
  317. package/lib/duet/{p-b9e9ac80.system.js → p-df785776.system.js} +1 -1
  318. package/lib/duet/{p-ea60602a.entry.js → p-e9862947.entry.js} +1 -1
  319. package/lib/duet/{p-b9b19fe9.entry.js → p-eb74c96e.entry.js} +1 -1
  320. package/lib/duet/{p-f96da661.entry.js → p-ece47184.entry.js} +1 -1
  321. package/lib/duet/{p-178e0ae7.entry.js → p-f09f968c.entry.js} +1 -1
  322. package/lib/duet/{p-2171d336.entry.js → p-f97776be.entry.js} +1 -1
  323. package/lib/duet/{p-1c0fdc62.system.entry.js → p-fe8fc877.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 +6 -5
  332. package/lib/esm/duet-checkbox.entry.js +1 -1
  333. package/lib/esm/duet-choice_2.entry.js +4 -4
  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 +1 -1
  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-236f580e.js +18 -0
  368. package/lib/esm/{index-0d0e51b6.js → index-b601aac1.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 +2 -2
  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-236f580e.js +4 -0
  417. package/lib/esm-es5/{index-0d0e51b6.js → index-b601aac1.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-card/duet-card.d.ts +2 -0
  423. package/lib/types/components/duet-upload/duet-upload.d.ts +8 -8
  424. package/lib/types/components.d.ts +4 -4
  425. package/package.json +5 -5
  426. package/lib/custom-elements-bundle/index.d.ts +0 -399
  427. package/lib/custom-elements-bundle/index.js +0 -14109
  428. package/lib/duet/p-16d21cef.entry.js +0 -4
  429. package/lib/duet/p-6002f3d2.system.js +0 -4
  430. package/lib/duet/p-79817456.entry.js +0 -4
  431. package/lib/duet/p-835f4429.entry.js +0 -4
  432. package/lib/duet/p-a93a04b9.system.js +0 -4
  433. package/lib/duet/p-b6ef2e72.entry.js +0 -4
  434. package/lib/duet/p-d1746325.js +0 -4
  435. package/lib/esm-es5/focus-utils-9e76623d.js +0 -4
  436. package/lib/esm-es5/tokens-8ff8c570.js +0 -4
@@ -0,0 +1,241 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { p as proxyCustomElement, H, c as createEvent, h, b as Host } from './p-3fc2d124.js';
5
+ import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
+ import { c as createID } from './p-c1325e35.js';
7
+ import { d as debounce } from './p-0b3f675e.js';
8
+ import { i as isKeyboardClick } from './p-d8549efe.js';
9
+ import { g as getLocaleString } from './p-ede854e1.js';
10
+ import { c as capitalizeFirstLetter, g as getColorByName, s as shadeRGBColor } from './p-86faf728.js';
11
+ import { d as defineCustomElement$2 } from './p-7739604d.js';
12
+ import { d as defineCustomElement$1 } from './p-b08e57cf.js';
13
+
14
+ const duetActionButtonCss = "*,*::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:inline-block;margin:0 auto}button.duet-action-button{white-space:nowrap}button.duet-action-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:auto !important;padding:0 !important;margin:0 0 0 8px !important;color:#00294d;cursor:pointer;background:#f5f8fa;border-radius:50%;transition:background-color 300ms ease !important}.duet-theme-turva button.duet-action-button{color:#171c3a;background:#f5f5f7}button.duet-action-button duet-icon{display:block}@media (max-width: 35.9375em){button.duet-action-button{width:32px;height:32px}}button.duet-action-button:not(:disabled):hover{background:#e9ecee}.duet-theme-turva button.duet-action-button:not(:disabled):hover{background:#e9e9eb}button.duet-action-button:focus{outline:0;box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva button.duet-action-button:focus{box-shadow:0 0 0 2px #171c3a !important}button.duet-action-button:active:focus{background:#dddfe1 !important;box-shadow:none}.duet-theme-turva button.duet-action-button:active:focus{background:#ddddde !important}button.duet-action-button:disabled{color:#909599;cursor:default;background:#f5f8fa;opacity:0.75}.duet-theme-turva button.duet-action-button:disabled{color:#747475;background:#f5f5f7}";
15
+
16
+ const DuetActionButton = /*@__PURE__*/ proxyCustomElement(class extends H {
17
+ constructor() {
18
+ super();
19
+ this.__registerHost();
20
+ this.__attachShadow();
21
+ this.duetActionEvent = createEvent(this, "duetActionEvent", 6);
22
+ this.listId = createID("duet-action-button");
23
+ this.numbersStore = "";
24
+ /**
25
+ * Theme of the pagination.
26
+ */
27
+ this.theme = "";
28
+ /**
29
+ * Name of the icon to display
30
+ */
31
+ this.iconName = "action-arrow-left-small";
32
+ /**
33
+ * Color of the icon to display
34
+ */
35
+ this.iconColor = "currentColor";
36
+ /**
37
+ * Size of the icon
38
+ */
39
+ this.iconSize = "xx-small";
40
+ /**
41
+ * Name of action being called
42
+ */
43
+ this.actionName = "default-action";
44
+ /**
45
+ * Name of id of action that was called being called
46
+ */
47
+ this.actionId = undefined;
48
+ /**
49
+ * Name of id of action that was called being called
50
+ */
51
+ this.actionMeta = undefined;
52
+ /**
53
+ * Disables the button
54
+ */
55
+ this.disabled = false;
56
+ /**
57
+ * Custom color to be used for the icon, as a design token entered in camelCase
58
+ * or kebab-case. Example: "color-primary". This property can also be set to
59
+ * "currentColor" which forces the icon to use the CSS text color of parent
60
+ * element instead. Useful when you want to control the color in stylesheet
61
+ * instead.
62
+ */
63
+ this.color = "";
64
+ /**
65
+ * Custom color to be used for a background, as a design token entered
66
+ * in camelCase or kebab-case. Using this option the icon will always be resized
67
+ * to $size-icon-medium on mobile viewports. Example: "color-primary".
68
+ */
69
+ this.background = "";
70
+ /**
71
+ * Title of the action button (shows as DOM tooltip when hovering)
72
+ * if set to true, this will try to add a best-guess title based on action-name
73
+ * if set to a string the string is used
74
+ * if set to false nothing is set
75
+ */
76
+ this.accessibleTitle = true;
77
+ /**
78
+ * Described By id
79
+ */
80
+ this.accessibleDescribedBy = undefined;
81
+ /**
82
+ * Details of the component
83
+ */
84
+ this.accessibleDetails = undefined;
85
+ /**
86
+ * String of id's that indicate alternative labels elements
87
+ */
88
+ this.accessibleLabelledBy = undefined;
89
+ /**
90
+ * Aria description the button
91
+ */
92
+ this.accessibleDescription = undefined;
93
+ /**
94
+ * Default accessible labels
95
+ */
96
+ this.accessibleLabelsDefaults = {
97
+ en: {
98
+ label: "Click to activate action",
99
+ },
100
+ fi: {
101
+ label: "Klikkaa toiminnon aktivointiin",
102
+ },
103
+ sv: {
104
+ label: "Klicka för att aktivera åtgärd",
105
+ },
106
+ };
107
+ /**
108
+ * Default accessible labels
109
+ */
110
+ this.accessibleLabels = getLocaleString(this.accessibleLabelsDefaults);
111
+ /**
112
+ * Used to indicate which dom element with ID this element controls
113
+ */
114
+ this.accessibleControls = "";
115
+ /**
116
+ * Private methods.
117
+ */
118
+ //helper to emit relevant page events
119
+ this.emitPageEvent = debounce(e => {
120
+ this.duetActionEvent.emit({
121
+ component: "duet-action-button",
122
+ originalEvent: e,
123
+ action: this.actionId,
124
+ name: this.actionName,
125
+ meta: this.actionMeta,
126
+ id: this.listId,
127
+ });
128
+ });
129
+ }
130
+ //handle a11y keyboard navigation events
131
+ async onKeyboardDown(e) {
132
+ if (isKeyboardClick(e)) {
133
+ this.emitPageEvent(e);
134
+ }
135
+ }
136
+ //return readable title for the action-button
137
+ getTitle() {
138
+ let titleString = "";
139
+ if (typeof this.accessibleTitle === "string") {
140
+ titleString = this.accessibleTitle;
141
+ }
142
+ if (this.accessibleTitle === true) {
143
+ titleString = capitalizeFirstLetter(`${this.actionName}`);
144
+ }
145
+ return titleString;
146
+ }
147
+ //set update current when mouse click on page number
148
+ async onMouseHandler(e) {
149
+ e.preventDefault();
150
+ this.duetActionEvent.emit({
151
+ component: "duet-action-button",
152
+ originalEvent: e,
153
+ action: this.actionName,
154
+ id: this.actionId,
155
+ meta: this.actionMeta,
156
+ });
157
+ }
158
+ /**
159
+ * Component lifecycle events.
160
+ */
161
+ componentWillLoad() {
162
+ inheritGlobalTheme(this);
163
+ }
164
+ /**
165
+ * render() function
166
+ * Always the last one in the class.
167
+ */
168
+ render() {
169
+ const color = this.color === "currentColor" ? "currentColor" : getColorByName(this.color, this.theme);
170
+ const backgroundColor = getColorByName(this.background, this.theme);
171
+ const backgroundHoverColor = backgroundColor ? shadeRGBColor(backgroundColor, -0.1) : backgroundColor;
172
+ const backgroundStyles = backgroundColor
173
+ ? `
174
+ button.duet-action-button {
175
+ background: ${backgroundColor} !important;
176
+ }
177
+ button.duet-action-button:not(:disabled):hover {
178
+ background: ${backgroundHoverColor} !important;
179
+ }
180
+ `
181
+ : "";
182
+ const styles = {
183
+ color,
184
+ "border-color": getColorByName(this.iconColor, this.theme),
185
+ "border-width": "1px",
186
+ "border-style": "solid",
187
+ };
188
+ return (h(Host, { onKeyDown: e => this.onKeyboardDown(e) }, h("style", { innerHTML: backgroundStyles }), h("button", { part: "button", style: styles, disabled: this.disabled, id: this.listId, class: {
189
+ "duet-action-button": true,
190
+ "duet-action-button--disabled": this.disabled,
191
+ [`duet-action-button--${this.theme}`]: this.theme !== "",
192
+ }, type: "button", onClick: e => this.onMouseHandler(e), "aria-label": this.accessibleLabels.label, "aria-labelledby": this.accessibleLabelledBy, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, "aria-details": this.accessibleDetails, "aria-controls": this.accessibleControls, title: this.getTitle() }, h("duet-icon", { part: "icon", name: this.iconName, color: this.iconColor, margin: "none", size: this.iconSize }), h("duet-visually-hidden", null, h("slot", null)))));
193
+ }
194
+ get element() { return this; }
195
+ static get style() { return duetActionButtonCss; }
196
+ }, [1, "duet-action-button", {
197
+ "theme": [1025],
198
+ "iconName": [1, "icon-name"],
199
+ "iconColor": [1, "icon-color"],
200
+ "iconSize": [1, "icon-size"],
201
+ "actionName": [1, "action-name"],
202
+ "actionId": [1, "action-id"],
203
+ "actionMeta": [1, "action-meta"],
204
+ "disabled": [4],
205
+ "color": [513],
206
+ "background": [1],
207
+ "accessibleTitle": [8, "title"],
208
+ "accessibleDescribedBy": [1, "accessible-described-by"],
209
+ "accessibleDetails": [1, "accessible-details"],
210
+ "accessibleLabelledBy": [1, "accessible-labelled-by"],
211
+ "accessibleDescription": [1, "accessible-description"],
212
+ "accessibleLabelsDefaults": [16],
213
+ "accessibleLabels": [16],
214
+ "accessibleControls": [1, "accessible-controls"],
215
+ "numbersStore": [32]
216
+ }]);
217
+ function defineCustomElement() {
218
+ if (typeof customElements === "undefined") {
219
+ return;
220
+ }
221
+ const components = ["duet-action-button", "duet-icon", "duet-visually-hidden"];
222
+ components.forEach(tagName => { switch (tagName) {
223
+ case "duet-action-button":
224
+ if (!customElements.get(tagName)) {
225
+ customElements.define(tagName, DuetActionButton);
226
+ }
227
+ break;
228
+ case "duet-icon":
229
+ if (!customElements.get(tagName)) {
230
+ defineCustomElement$2();
231
+ }
232
+ break;
233
+ case "duet-visually-hidden":
234
+ if (!customElements.get(tagName)) {
235
+ defineCustomElement$1();
236
+ }
237
+ break;
238
+ } });
239
+ }
240
+
241
+ export { DuetActionButton as D, defineCustomElement as d };
@@ -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-0d0e51b6.js';
4
+ import { h } from './p-b9058029.js';
5
5
 
6
6
  const focusElement = (element) => {
7
7
  if ("setFocus" in element) {
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ var actionArrowDownSmall={"title":"action-arrow-down-small","tags":"action arrow down small caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M12 19.5a2.3 2.3 0 0 1-1.729-.78L.46 7.568a1.847 1.847 0 0 1 2.773-2.439l8.579 9.752a.25.25 0 0 0 .376 0l8.579-9.752a1.847 1.847 0 1 1 2.773 2.439l-9.808 11.148A2.31 2.31 0 0 1 12 19.5z\"/></svg>"};
5
+
6
+ export { actionArrowDownSmall as a };
@@ -0,0 +1,57 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ const watchFor = (containerEl, tagName, onChange, changeHandler, options = {
5
+ childList: true,
6
+ subtree: true,
7
+ }) => {
8
+ let mutation;
9
+ if (typeof MutationObserver !== "undefined") {
10
+ mutation = new MutationObserver(mutationList => {
11
+ onChange(changeHandler(mutationList, tagName));
12
+ });
13
+ mutation.observe(containerEl, options);
14
+ }
15
+ return mutation;
16
+ };
17
+ const watchForOptions = (containerEl, tagName, onChange) => {
18
+ return watchFor(containerEl, tagName, onChange, getSelectedOption);
19
+ };
20
+ const watchForElement = (containerEl, tagName, onChange) => {
21
+ return watchFor(containerEl, tagName, onChange, getElementItem, {
22
+ childList: true,
23
+ subtree: true,
24
+ });
25
+ };
26
+ const getElementItem = (mutationList) => {
27
+ let addedNode = false;
28
+ let removedNode = false;
29
+ mutationList.forEach(mut => {
30
+ if (mut.addedNodes.length) {
31
+ addedNode = true;
32
+ }
33
+ if (mut.removedNodes.length) {
34
+ removedNode = true;
35
+ }
36
+ });
37
+ return { addedNode, removedNode, mutationList };
38
+ };
39
+ const getSelectedOption = (mutationList, tagName) => {
40
+ let newOption;
41
+ mutationList.forEach(mut => {
42
+ // tslint:disable-next-line: prefer-for-of
43
+ for (let i = 0; i < mut.addedNodes.length; i++) {
44
+ newOption = findCheckedOption(mut.addedNodes[i], tagName) || newOption;
45
+ }
46
+ });
47
+ return newOption;
48
+ };
49
+ const findCheckedOption = (el, tagName) => {
50
+ if (el.nodeType !== 1) {
51
+ return undefined;
52
+ }
53
+ const options = el.tagName === tagName.toUpperCase() ? [el] : Array.from(el.querySelectorAll(tagName));
54
+ return options.find((o) => o.checked === true);
55
+ };
56
+
57
+ export { watchForElement as a, findCheckedOption as f, watchForOptions as w };
@@ -0,0 +1,133 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { p as proxyCustomElement, H, h } from './p-3fc2d124.js';
5
+ import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
+ import { w as watchForOptions } from './p-12721178.js';
7
+
8
+ const duetListCss = "*,*::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%}.duet-list-component{margin-bottom:16px !important;width:100%}.duet-list-component.duet-p-0{padding:0 !important}.duet-list-component.duet-m-0{margin:0 !important}";
9
+
10
+ const DuetList = /*@__PURE__*/ proxyCustomElement(class extends H {
11
+ constructor() {
12
+ super();
13
+ this.__registerHost();
14
+ this.__attachShadow();
15
+ /**
16
+ * Theme of the list.
17
+ */
18
+ this.theme = "";
19
+ /**
20
+ * Controls the margin of the component.
21
+ */
22
+ this.margin = "auto";
23
+ /**
24
+ * Controls the padding of the component.
25
+ */
26
+ this.padding = "auto";
27
+ /**
28
+ * Adjusts the alignment of the list items on mobile breakpoint.
29
+ */
30
+ this.mobile = "left";
31
+ /**
32
+ * Switch the breakpoint used to trigger the content stacking. These match to
33
+ * similar media query tokens: $media-query-small and $media-query-large.
34
+ */
35
+ this.breakpoint = "small";
36
+ /**
37
+ * Style variation of the list.
38
+ */
39
+ this.variation = "default";
40
+ /**
41
+ * Set the column width of the first column in percentages.
42
+ */
43
+ this.labelWidth = "30";
44
+ }
45
+ /**
46
+ * Component lifecycle events.
47
+ */
48
+ componentWillLoad() {
49
+ inheritGlobalTheme(this);
50
+ }
51
+ async connectedCallback() {
52
+ const el = this.element;
53
+ this.mutationO = watchForOptions(el, "duet-list-item", () => {
54
+ this.updateListItems();
55
+ });
56
+ this.updateListItems();
57
+ }
58
+ disconnectedCallback() {
59
+ if (this.mutationO) {
60
+ this.mutationO.disconnect();
61
+ this.mutationO = undefined;
62
+ }
63
+ }
64
+ /**
65
+ * Local methods
66
+ */
67
+ toggleClass(elem, className, force) {
68
+ if (force) {
69
+ elem.classList.add(className);
70
+ }
71
+ else {
72
+ elem.classList.remove(className);
73
+ }
74
+ }
75
+ async updateListItems() {
76
+ const items = Array.from(this.element.querySelectorAll("duet-list-item"));
77
+ items.forEach(item => {
78
+ // Use classes to apply styles for SSR compatibility
79
+ item.classList.add(`duet-list-width-${this.labelWidth}`);
80
+ item.classList.add(`duet-list-variation-${this.variation}`);
81
+ // If padding is set to 0
82
+ this.toggleClass(item, "duet-p-0", this.padding === "none");
83
+ // If text is centered for mobile
84
+ this.toggleClass(item, "duet-list-mobile-center", this.mobile === "center");
85
+ // If breakpoint is adjusted
86
+ this.toggleClass(item, "duet-list-breakpoint-large", this.breakpoint === "large");
87
+ // Create zebra striping if striped variation is used
88
+ this.toggleClass(item, "duet-list-striped", this.variation === "striped");
89
+ // Finally apply turva theme if necessary
90
+ this.toggleClass(item, "duet-theme-turva", this.theme === "turva");
91
+ });
92
+ }
93
+ /**
94
+ * render() function
95
+ * Always the last one in the class.
96
+ */
97
+ render() {
98
+ return (h("dl", { class: { "duet-list-component": true, "duet-m-0": this.margin === "none" } }, h("slot", null)));
99
+ }
100
+ get element() { return this; }
101
+ static get watchers() { return {
102
+ "theme": ["updateListItems"],
103
+ "padding": ["updateListItems"],
104
+ "mobile": ["updateListItems"],
105
+ "breakpoint": ["updateListItems"],
106
+ "variation": ["updateListItems"],
107
+ "labelWidth": ["updateListItems"]
108
+ }; }
109
+ static get style() { return duetListCss; }
110
+ }, [1, "duet-list", {
111
+ "theme": [1025],
112
+ "margin": [1],
113
+ "padding": [1],
114
+ "mobile": [1],
115
+ "breakpoint": [1],
116
+ "variation": [1],
117
+ "labelWidth": [1, "label-width"]
118
+ }]);
119
+ function defineCustomElement() {
120
+ if (typeof customElements === "undefined") {
121
+ return;
122
+ }
123
+ const components = ["duet-list"];
124
+ components.forEach(tagName => { switch (tagName) {
125
+ case "duet-list":
126
+ if (!customElements.get(tagName)) {
127
+ customElements.define(tagName, DuetList);
128
+ }
129
+ break;
130
+ } });
131
+ }
132
+
133
+ export { DuetList as D, defineCustomElement as d };
@@ -0,0 +1,66 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { p as proxyCustomElement, H, h, b as Host } from './p-3fc2d124.js';
5
+ import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
+
7
+ const duetLabelCss = "*.sc-duet-label,*.sc-duet-label::after,*.sc-duet-label::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-label-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;line-height:1.25;cursor:default}.duet-p-0.sc-duet-label-h{padding:0 !important}.duet-m-0.sc-duet-label-h{margin:0 !important}.duet-m-0.sc-duet-label-h{margin-bottom:0 !important}.duet-small-margin.sc-duet-label-h{margin-top:8px !important;margin-bottom:4px !important}.duet-has-tooltip.sc-duet-label-h{padding-right:48px}@media (min-width: 48em){.duet-has-tooltip.sc-duet-label-h{padding-right:0}}label.sc-duet-label{margin:0;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:600 !important;line-height:1.25;color:#00294d;text-align:left;word-break:break-word}label.sc-duet-label span.sc-duet-label{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-label-small.sc-duet-label-h label.sc-duet-label{font-size:0.875rem}.duet-label-small.sc-duet-label-h label.sc-duet-label span.sc-duet-label{font-size:0.875rem}.duet-theme-turva.sc-duet-label-h label.sc-duet-label{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}";
8
+
9
+ const DuetLabel = /*@__PURE__*/ proxyCustomElement(class extends H {
10
+ constructor() {
11
+ super();
12
+ this.__registerHost();
13
+ /**
14
+ * Theme of the label.
15
+ */
16
+ this.theme = "";
17
+ /**
18
+ * Controls the margin of the component.
19
+ */
20
+ this.margin = "auto";
21
+ /**
22
+ * Controls the size of the label.
23
+ */
24
+ this.size = "medium";
25
+ }
26
+ /**
27
+ * Component lifecycle events.
28
+ */
29
+ componentWillLoad() {
30
+ inheritGlobalTheme(this);
31
+ }
32
+ /**
33
+ * render() function
34
+ * Always the last one in the class.
35
+ */
36
+ render() {
37
+ return (h(Host, { class: {
38
+ "duet-label": true,
39
+ "duet-label-small": this.size === "small",
40
+ "duet-theme-turva": this.theme === "turva",
41
+ "duet-small-margin": this.margin === "small",
42
+ "duet-m-0": this.margin === "none",
43
+ } }, h("label", { htmlFor: this.for }, h("span", null, h("slot", null)))));
44
+ }
45
+ static get style() { return duetLabelCss; }
46
+ }, [6, "duet-label", {
47
+ "theme": [1025],
48
+ "for": [1],
49
+ "margin": [1],
50
+ "size": [1]
51
+ }]);
52
+ function defineCustomElement() {
53
+ if (typeof customElements === "undefined") {
54
+ return;
55
+ }
56
+ const components = ["duet-label"];
57
+ components.forEach(tagName => { switch (tagName) {
58
+ case "duet-label":
59
+ if (!customElements.get(tagName)) {
60
+ customElements.define(tagName, DuetLabel);
61
+ }
62
+ break;
63
+ } });
64
+ }
65
+
66
+ export { DuetLabel as D, defineCustomElement as d };
@@ -0,0 +1,87 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { p as proxyCustomElement, H, h } from './p-3fc2d124.js';
5
+ import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
+ import { g as getColorByName } from './p-86faf728.js';
7
+
8
+ const duetParagraphCss = "*,*::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;position:relative;display:block;width:100%}.duet-paragraph{margin-bottom:16px !important;display:block;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;font-style:normal;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:#00294d}.duet-paragraph.duet-p-0{padding:0 !important}.duet-paragraph.duet-m-0{margin:0 !important}.duet-paragraph.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\";color:#171c3a}.duet-paragraph.duet-paragraph-small{font-size:0.875rem}.duet-paragraph.duet-paragraph-semi-bold{font-weight:600}.duet-paragraph.duet-paragraph-bold{font-weight:700}.duet-paragraph.duet-m-0{margin:0 !important}.duet-paragraph.intro{font-size:2.7vw;margin-bottom:28px !important;-webkit-hyphens:inherit;hyphens:inherit}@media (max-width: 37.037037037rem){.duet-paragraph.intro{font-size:1rem}}@media (min-width: 46.2962962963rem){.duet-paragraph.intro{font-size:1.25rem}}.duet-paragraph.intro.duet-m-0{margin:0 !important}::slotted(a){font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:#0077b3;text-decoration:underline;transition:300ms ease}::slotted(a).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\";color:#c60c30}::slotted(a):hover{color:#004d80;text-decoration:none}::slotted(a):hover.duet-theme-turva{color:#940925}::slotted(a):active{opacity:0.75;transition:none}";
9
+
10
+ const DuetParagraph = /*@__PURE__*/ proxyCustomElement(class extends H {
11
+ constructor() {
12
+ super();
13
+ this.__registerHost();
14
+ this.__attachShadow();
15
+ /**
16
+ * Theme of the paragraph.
17
+ */
18
+ this.theme = "";
19
+ /**
20
+ * Controls the margin of the component.
21
+ */
22
+ this.margin = "auto";
23
+ /**
24
+ * Controls the size of the paragraph.
25
+ */
26
+ this.size = "medium";
27
+ /**
28
+ * Controls the Font-Weight of the paragraph.
29
+ */
30
+ this.weight = undefined;
31
+ /**
32
+ * Style variation of the paragraph.
33
+ */
34
+ this.variation = "default";
35
+ /**
36
+ * Custom color to be used for text, as a design token entered in camelCase or kebab-case.
37
+ * Example: "color-primary".
38
+ */
39
+ this.color = "";
40
+ }
41
+ /**
42
+ * Component lifecycle events.
43
+ */
44
+ componentWillLoad() {
45
+ inheritGlobalTheme(this);
46
+ }
47
+ /**
48
+ * render() function
49
+ * Always the last one in the class.
50
+ */
51
+ render() {
52
+ const color = getColorByName(this.color);
53
+ return (h("p", { class: {
54
+ "duet-paragraph": true,
55
+ "duet-paragraph-small": this.size === "small",
56
+ "duet-paragraph-semi-bold": this.weight === "semi-bold",
57
+ "duet-paragraph-bold": this.weight === "bold",
58
+ "duet-m-0": this.margin === "none",
59
+ [this.variation]: true,
60
+ "duet-theme-turva": this.theme === "turva",
61
+ }, style: { color }, part: "duet-paragraph" }, h("slot", null)));
62
+ }
63
+ get element() { return this; }
64
+ static get style() { return duetParagraphCss; }
65
+ }, [1, "duet-paragraph", {
66
+ "theme": [1025],
67
+ "margin": [1],
68
+ "size": [1],
69
+ "weight": [1],
70
+ "variation": [1],
71
+ "color": [1]
72
+ }]);
73
+ function defineCustomElement() {
74
+ if (typeof customElements === "undefined") {
75
+ return;
76
+ }
77
+ const components = ["duet-paragraph"];
78
+ components.forEach(tagName => { switch (tagName) {
79
+ case "duet-paragraph":
80
+ if (!customElements.get(tagName)) {
81
+ customElements.define(tagName, DuetParagraph);
82
+ }
83
+ break;
84
+ } });
85
+ }
86
+
87
+ export { DuetParagraph as D, defineCustomElement as d };