@duetds/components 4.36.1 → 5.0.0

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 (305) hide show
  1. package/hydrate/index.js +1128 -977
  2. package/lib/cjs/duet-action-button.cjs.entry.js +163 -0
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-button_2.cjs.entry.js +8 -4
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-date-picker.cjs.entry.js +4 -4
  15. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  16. package/lib/cjs/{duet-editable-table_4.cjs.entry.js → duet-editable-table_3.cjs.entry.js} +382 -337
  17. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  21. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  22. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-icon.cjs.entry.js +3 -3
  24. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  28. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-pagination_2.cjs.entry.js +24 -14
  31. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  34. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  43. package/lib/cjs/duet.cjs.js +2 -2
  44. package/lib/cjs/{focus-utils-dfd718e8.js → focus-utils-7a11c463.js} +1 -1
  45. package/lib/cjs/{index-4f342f1c.js → index-da5d5aaf.js} +1 -1
  46. package/lib/cjs/js-utils-be1d29ae.js +39 -0
  47. package/lib/cjs/loader.cjs.js +2 -2
  48. package/lib/cjs/{token-utils-f402e205.js → token-utils-ac8432d1.js} +1 -1
  49. package/lib/cjs/{tokens-8596cece.js → tokens-72efc7fd.js} +0 -0
  50. package/lib/cjs/{tokens.module-6b2df1c2.js → tokens.module-6afcc9c1.js} +0 -0
  51. package/lib/collection/collection-manifest.json +14 -11
  52. package/lib/collection/components/duet-action-button/duet-action-button.css +87 -0
  53. package/lib/collection/components/duet-action-button/duet-action-button.js +489 -0
  54. package/lib/collection/components/duet-button/duet-button.js +23 -1
  55. package/lib/collection/components/duet-date-picker/duet-date-picker.css +2 -57
  56. package/lib/collection/components/duet-date-picker/duet-date-picker.js +2 -6
  57. package/lib/collection/components/duet-editable-table/duet-editable-table-tabledata.js +3 -2
  58. package/lib/collection/components/duet-editable-table/duet-editable-table.css +20 -1
  59. package/lib/collection/components/duet-editable-table/duet-editable-table.js +331 -205
  60. package/lib/collection/components/duet-pagination/duet-pagination.css +3 -62
  61. package/lib/collection/components/duet-pagination/duet-pagination.js +49 -19
  62. package/lib/collection/components/duet-range-stepper/duet-range-stepper.css +4 -55
  63. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -4
  64. package/lib/collection/components/duet-table/duet-table.css +42 -8
  65. package/lib/collection/components/duet-table/duet-table.js +11 -2
  66. package/lib/collection/components/duet-upload/duet-upload.css +25 -0
  67. package/lib/collection/components/duet-upload/duet-upload.js +270 -166
  68. package/lib/collection/components/duet-upload/upload-validators.js +1 -1
  69. package/lib/collection/utils/fixture-utils.js +3 -1
  70. package/lib/collection/utils/js-utils.js +36 -1
  71. package/lib/custom-elements-bundle/index.d.ts +6 -12
  72. package/lib/custom-elements-bundle/index.js +1142 -1001
  73. package/lib/duet/duet.esm.js +1 -1
  74. package/lib/duet/duet.js +1 -1
  75. package/lib/duet/{p-c18080ad.entry.js → p-00209700.entry.js} +1 -1
  76. package/lib/duet/{p-1a95aeb6.entry.js → p-01144f93.entry.js} +1 -1
  77. package/lib/duet/{p-c6df2ea8.system.entry.js → p-021bf3a2.system.entry.js} +1 -1
  78. package/lib/duet/{p-20cdb787.entry.js → p-04c6e557.entry.js} +1 -1
  79. package/lib/duet/{p-d945a4b0.system.entry.js → p-06fd151e.system.entry.js} +1 -1
  80. package/lib/duet/p-0988f548.entry.js +4 -0
  81. package/lib/duet/{p-05e2c680.system.entry.js → p-0e1130a0.system.entry.js} +1 -1
  82. package/lib/duet/{p-ebc56043.entry.js → p-0fedc1c6.entry.js} +1 -1
  83. package/lib/duet/{p-e8303364.system.entry.js → p-111b70c5.system.entry.js} +1 -1
  84. package/lib/duet/p-12825e2c.entry.js +4 -0
  85. package/lib/duet/p-166c09ce.system.entry.js +4 -0
  86. package/lib/duet/{p-24b9e806.entry.js → p-1be45fc6.entry.js} +1 -1
  87. package/lib/duet/{p-286d2ad2.system.entry.js → p-1da57e19.system.entry.js} +1 -1
  88. package/lib/duet/{p-7a32ceb3.system.entry.js → p-21c9efa8.system.entry.js} +1 -1
  89. package/lib/duet/p-2245c56b.entry.js +4 -0
  90. package/lib/duet/{p-e6a69eb8.js → p-2273fc88.js} +1 -1
  91. package/lib/duet/{p-79b9e7ef.system.entry.js → p-232762b3.system.entry.js} +1 -1
  92. package/lib/duet/{p-d21f19cc.system.js → p-251dc733.system.js} +1 -1
  93. package/lib/duet/{p-ddb6344c.system.js → p-268c0abb.system.js} +0 -0
  94. package/lib/duet/{p-ca0ee655.system.entry.js → p-2b6dac5c.system.entry.js} +1 -1
  95. package/lib/duet/{p-e8e35258.entry.js → p-35cdec32.entry.js} +1 -1
  96. package/lib/duet/{p-2361986e.entry.js → p-37bdfcc6.entry.js} +1 -1
  97. package/lib/duet/{p-740b5609.entry.js → p-3c7d81b0.entry.js} +1 -1
  98. package/lib/duet/{p-3900577d.system.entry.js → p-3f77090f.system.entry.js} +1 -1
  99. package/lib/duet/{p-ad3dad04.system.js → p-3fafe82f.system.js} +1 -1
  100. package/lib/duet/{p-164a7037.system.entry.js → p-4b221aa3.system.entry.js} +1 -1
  101. package/lib/duet/{p-210d739c.system.entry.js → p-4b7b1d2a.system.entry.js} +1 -1
  102. package/lib/duet/{p-3547d108.entry.js → p-4c282c1a.entry.js} +1 -1
  103. package/lib/duet/p-51a7c020.entry.js +4 -0
  104. package/lib/duet/{p-c8ec3b99.entry.js → p-5298f6fb.entry.js} +1 -1
  105. package/lib/duet/{p-cb445018.js → p-5746d88c.js} +1 -1
  106. package/lib/duet/{p-f6da56c8.entry.js → p-589c2f28.entry.js} +1 -1
  107. package/lib/duet/{p-d9716aec.system.entry.js → p-592315ca.system.entry.js} +1 -1
  108. package/lib/duet/{p-615bfc61.system.entry.js → p-59a0ec33.system.entry.js} +1 -1
  109. package/lib/duet/p-5e1f64cb.entry.js +4 -0
  110. package/lib/duet/{p-29255af8.entry.js → p-608645ed.entry.js} +1 -1
  111. package/lib/duet/{p-3d1b0105.entry.js → p-683f1962.entry.js} +1 -1
  112. package/lib/duet/{p-9ce0e625.entry.js → p-6932c6d8.entry.js} +1 -1
  113. package/lib/duet/{p-e35d8543.entry.js → p-6934cb1b.entry.js} +1 -1
  114. package/lib/duet/{p-211b4485.system.entry.js → p-6d209c01.system.entry.js} +1 -1
  115. package/lib/duet/{p-e47daca7.system.entry.js → p-70e5c803.system.entry.js} +1 -1
  116. package/lib/duet/p-74d267d3.system.entry.js +4 -0
  117. package/lib/duet/{p-c7fa7dcc.system.entry.js → p-766daacb.system.entry.js} +1 -1
  118. package/lib/duet/{p-4e2532c7.system.js → p-77acbfe4.system.js} +1 -1
  119. package/lib/duet/p-7953cff9.system.entry.js +4 -0
  120. package/lib/duet/{p-635dacce.system.entry.js → p-7e939e57.system.entry.js} +1 -1
  121. package/lib/duet/{p-fa99eaa4.system.js → p-812b0905.system.js} +0 -0
  122. package/lib/duet/{p-1db7a35b.entry.js → p-814ed07c.entry.js} +1 -1
  123. package/lib/duet/{p-5d9affcd.entry.js → p-82a0e535.entry.js} +1 -1
  124. package/lib/duet/{p-3bb702e3.system.entry.js → p-8338702d.system.entry.js} +2 -2
  125. package/lib/duet/{p-65c418f7.system.entry.js → p-85b4b5c0.system.entry.js} +1 -1
  126. package/lib/duet/{p-5376a9db.entry.js → p-86538787.entry.js} +1 -1
  127. package/lib/duet/{p-562ae946.entry.js → p-8f01f647.entry.js} +1 -1
  128. package/lib/duet/{p-85100e09.entry.js → p-8f6def3f.entry.js} +1 -1
  129. package/lib/duet/{p-03cf3ebf.entry.js → p-90464434.entry.js} +1 -1
  130. package/lib/duet/p-92639d0b.system.js +4 -0
  131. package/lib/duet/{p-12941aef.system.entry.js → p-97f95c02.system.entry.js} +1 -1
  132. package/lib/duet/{p-ffb5fb75.system.entry.js → p-982deb44.system.entry.js} +1 -1
  133. package/lib/duet/{p-fd2211ab.entry.js → p-9dc88c43.entry.js} +1 -1
  134. package/lib/duet/{p-fae71c1f.entry.js → p-a37e57d8.entry.js} +1 -1
  135. package/lib/duet/{p-c52f4de0.system.entry.js → p-a71510b8.system.entry.js} +1 -1
  136. package/lib/duet/p-a8eec12e.system.entry.js +4 -0
  137. package/lib/duet/{p-4fdbc6ff.system.entry.js → p-abcfbb23.system.entry.js} +1 -1
  138. package/lib/duet/{p-3c3536be.entry.js → p-ac2b38e6.entry.js} +1 -1
  139. package/lib/duet/{p-9df321b3.system.entry.js → p-ace2cd17.system.entry.js} +1 -1
  140. package/lib/duet/{p-946f34b4.system.entry.js → p-ad278903.system.entry.js} +1 -1
  141. package/lib/duet/{p-1c4721a1.entry.js → p-aea907ad.entry.js} +1 -1
  142. package/lib/duet/{p-e7dd8a15.system.entry.js → p-b432d318.system.entry.js} +1 -1
  143. package/lib/duet/{p-0366552b.system.entry.js → p-b4e75f80.system.entry.js} +1 -1
  144. package/lib/duet/{p-061835f3.system.entry.js → p-b8c8105c.system.entry.js} +1 -1
  145. package/lib/duet/{p-c2d32103.entry.js → p-ba7480e9.entry.js} +1 -1
  146. package/lib/duet/{p-83452e8f.entry.js → p-bc7dba26.entry.js} +1 -1
  147. package/lib/duet/{p-ff21f3c2.entry.js → p-bf06f635.entry.js} +1 -1
  148. package/lib/duet/{p-c514010b.system.entry.js → p-c6ccf366.system.entry.js} +1 -1
  149. package/lib/duet/{p-46ae601a.entry.js → p-cd1a767f.entry.js} +1 -1
  150. package/lib/duet/{p-89e42127.system.entry.js → p-d6d9b0c6.system.entry.js} +1 -1
  151. package/lib/duet/{p-8143f3de.js → p-d7bc0102.js} +0 -0
  152. package/lib/duet/{p-d24c6bc1.entry.js → p-d9e329c0.entry.js} +1 -1
  153. package/lib/duet/p-dbb4a588.js +4 -0
  154. package/lib/duet/{p-ae14591e.entry.js → p-dc67d989.entry.js} +1 -1
  155. package/lib/duet/{p-7f0e360d.entry.js → p-de9ff67c.entry.js} +1 -1
  156. package/lib/duet/{p-ded33218.system.entry.js → p-deb8ac4d.system.entry.js} +1 -1
  157. package/lib/duet/p-e2e0bc49.system.js +4 -0
  158. package/lib/duet/{p-8c53bc24.system.entry.js → p-e624799f.system.entry.js} +1 -1
  159. package/lib/duet/{p-eb892975.system.entry.js → p-e887d6db.system.entry.js} +1 -1
  160. package/lib/duet/{p-dcaecb5e.js → p-e9c3053b.js} +1 -1
  161. package/lib/duet/{p-493c6d2f.system.entry.js → p-ebed7c5e.system.entry.js} +1 -1
  162. package/lib/duet/{p-ad07f399.js → p-ed75c8b3.js} +0 -0
  163. package/lib/duet/{p-e5ce7aad.system.entry.js → p-f020852e.system.entry.js} +1 -1
  164. package/lib/duet/p-f2abd301.entry.js +4 -0
  165. package/lib/duet/{p-e7b53f4f.system.entry.js → p-f54d1487.system.entry.js} +1 -1
  166. package/lib/duet/{p-b6dd0933.entry.js → p-fc44a819.entry.js} +1 -1
  167. package/lib/duet/{p-22baf1f8.system.entry.js → p-fcdd24f8.system.entry.js} +1 -1
  168. package/lib/duet/{p-5b546064.entry.js → p-fed35d92.entry.js} +1 -1
  169. package/lib/duet/{p-ef275410.entry.js → p-ff308f4c.entry.js} +1 -1
  170. package/lib/esm/duet-action-button.entry.js +159 -0
  171. package/lib/esm/duet-alert.entry.js +1 -1
  172. package/lib/esm/duet-badge.entry.js +1 -1
  173. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  174. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  175. package/lib/esm/duet-button_2.entry.js +8 -4
  176. package/lib/esm/duet-caption_4.entry.js +3 -3
  177. package/lib/esm/duet-card.entry.js +3 -3
  178. package/lib/esm/duet-checkbox.entry.js +1 -1
  179. package/lib/esm/duet-choice_2.entry.js +2 -2
  180. package/lib/esm/duet-collapsible.entry.js +2 -2
  181. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  182. package/lib/esm/duet-date-picker.entry.js +4 -4
  183. package/lib/esm/duet-divider_2.entry.js +1 -1
  184. package/lib/esm/{duet-editable-table_4.entry.js → duet-editable-table_3.entry.js} +384 -338
  185. package/lib/esm/duet-empty-state.entry.js +1 -1
  186. package/lib/esm/duet-fieldset.entry.js +1 -1
  187. package/lib/esm/duet-footer.entry.js +1 -1
  188. package/lib/esm/duet-grid_2.entry.js +2 -2
  189. package/lib/esm/duet-header_2.entry.js +3 -3
  190. package/lib/esm/duet-hero.entry.js +1 -1
  191. package/lib/esm/duet-icon.entry.js +3 -3
  192. package/lib/esm/duet-input_2.entry.js +1 -1
  193. package/lib/esm/duet-layout.entry.js +1 -1
  194. package/lib/esm/duet-list_2.entry.js +1 -1
  195. package/lib/esm/duet-modal.entry.js +2 -2
  196. package/lib/esm/duet-notification_2.entry.js +1 -1
  197. package/lib/esm/duet-number-input.entry.js +1 -1
  198. package/lib/esm/duet-pagination_2.entry.js +24 -14
  199. package/lib/esm/duet-progress.entry.js +1 -1
  200. package/lib/esm/duet-radio_2.entry.js +1 -1
  201. package/lib/esm/duet-range-slider.entry.js +2 -2
  202. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  203. package/lib/esm/duet-select.entry.js +1 -1
  204. package/lib/esm/duet-step_2.entry.js +1 -1
  205. package/lib/esm/duet-textarea.entry.js +1 -1
  206. package/lib/esm/duet-toggle.entry.js +1 -1
  207. package/lib/esm/duet-tooltip.entry.js +1 -1
  208. package/lib/esm/duet-tray.entry.js +2 -2
  209. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  210. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  211. package/lib/esm/duet.js +2 -2
  212. package/lib/esm/{focus-utils-d4e80e1e.js → focus-utils-b0b3361f.js} +1 -1
  213. package/lib/esm/{index-4a5e7664.js → index-16f4da7f.js} +1 -1
  214. package/lib/esm/js-utils-52e0944c.js +36 -0
  215. package/lib/esm/loader.js +2 -2
  216. package/lib/esm/{token-utils-e9a69acf.js → token-utils-e9a0cb88.js} +1 -1
  217. package/lib/esm/{tokens-e110dc89.js → tokens-57d98824.js} +0 -0
  218. package/lib/esm/{tokens.module-49cbf963.js → tokens.module-a13e9683.js} +0 -0
  219. package/lib/esm-es5/duet-action-button.entry.js +4 -0
  220. package/lib/esm-es5/duet-alert.entry.js +1 -1
  221. package/lib/esm-es5/duet-badge.entry.js +1 -1
  222. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  223. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  224. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  225. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  226. package/lib/esm-es5/duet-card.entry.js +1 -1
  227. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  228. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  229. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  230. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  231. package/lib/esm-es5/duet-date-picker.entry.js +2 -2
  232. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  233. package/lib/esm-es5/duet-editable-table_3.entry.js +4 -0
  234. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  235. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  236. package/lib/esm-es5/duet-footer.entry.js +1 -1
  237. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  238. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  239. package/lib/esm-es5/duet-hero.entry.js +1 -1
  240. package/lib/esm-es5/duet-icon.entry.js +1 -1
  241. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  242. package/lib/esm-es5/duet-layout.entry.js +1 -1
  243. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  244. package/lib/esm-es5/duet-modal.entry.js +1 -1
  245. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  246. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  247. package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
  248. package/lib/esm-es5/duet-progress.entry.js +1 -1
  249. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  250. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  251. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  252. package/lib/esm-es5/duet-select.entry.js +1 -1
  253. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  254. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  255. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  256. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  257. package/lib/esm-es5/duet-tray.entry.js +1 -1
  258. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  259. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  260. package/lib/esm-es5/duet.js +1 -1
  261. package/lib/esm-es5/focus-utils-b0b3361f.js +4 -0
  262. package/lib/esm-es5/{index-4a5e7664.js → index-16f4da7f.js} +1 -1
  263. package/lib/esm-es5/js-utils-52e0944c.js +4 -0
  264. package/lib/esm-es5/loader.js +1 -1
  265. package/lib/esm-es5/{token-utils-e9a69acf.js → token-utils-e9a0cb88.js} +1 -1
  266. package/lib/esm-es5/{tokens-e110dc89.js → tokens-57d98824.js} +0 -0
  267. package/lib/esm-es5/{tokens.module-49cbf963.js → tokens.module-a13e9683.js} +0 -0
  268. package/lib/html.html-data.json +168 -68
  269. package/lib/types/components/duet-action-button/duet-action-button.d.ts +112 -0
  270. package/lib/types/components/duet-button/duet-button.d.ts +4 -0
  271. package/lib/types/components/duet-editable-table/duet-editable-table-tabledata.d.ts +2 -2
  272. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +106 -48
  273. package/lib/types/components/duet-pagination/duet-pagination.d.ts +7 -2
  274. package/lib/types/components/duet-table/duet-table.d.ts +16 -0
  275. package/lib/types/components/duet-upload/duet-upload.d.ts +68 -58
  276. package/lib/types/components.d.ts +225 -149
  277. package/lib/types/utils/js-utils.d.ts +2 -0
  278. package/package.json +5 -6
  279. package/lib/cjs/duet-editable-table-button.cjs.entry.js +0 -96
  280. package/lib/cjs/js-utils-33a9dbe3.js +0 -16
  281. package/lib/collection/components/duet-editable-table/duet-editable-table-button.css +0 -32
  282. package/lib/collection/components/duet-editable-table/duet-editable-table-button.js +0 -225
  283. package/lib/collection/components/duet-editable-table/duet-editable-table-item.css +0 -36
  284. package/lib/collection/components/duet-editable-table/duet-editable-table-item.js +0 -225
  285. package/lib/duet/p-063fe96d.entry.js +0 -4
  286. package/lib/duet/p-2eeacf1a.entry.js +0 -4
  287. package/lib/duet/p-396f1bdc.entry.js +0 -4
  288. package/lib/duet/p-7b55f33e.entry.js +0 -4
  289. package/lib/duet/p-7e0e2209.system.entry.js +0 -4
  290. package/lib/duet/p-81867417.system.js +0 -4
  291. package/lib/duet/p-a3d7951c.system.entry.js +0 -4
  292. package/lib/duet/p-a619dff3.system.js +0 -4
  293. package/lib/duet/p-b25d3769.js +0 -4
  294. package/lib/duet/p-bf192d9f.entry.js +0 -4
  295. package/lib/duet/p-c76a68aa.system.entry.js +0 -4
  296. package/lib/duet/p-d12b3d21.system.entry.js +0 -4
  297. package/lib/duet/p-ef4962e8.entry.js +0 -4
  298. package/lib/esm/duet-editable-table-button.entry.js +0 -92
  299. package/lib/esm/js-utils-b69f17df.js +0 -14
  300. package/lib/esm-es5/duet-editable-table-button.entry.js +0 -4
  301. package/lib/esm-es5/duet-editable-table_4.entry.js +0 -4
  302. package/lib/esm-es5/focus-utils-d4e80e1e.js +0 -4
  303. package/lib/esm-es5/js-utils-b69f17df.js +0 -4
  304. package/lib/types/components/duet-editable-table/duet-editable-table-button.d.ts +0 -73
  305. package/lib/types/components/duet-editable-table/duet-editable-table-item.d.ts +0 -76
@@ -1,96 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- 'use strict';
5
-
6
- Object.defineProperty(exports, '__esModule', { value: true });
7
-
8
- const index = require('./index-4f342f1c.js');
9
- const languageUtils = require('./language-utils-aa282901.js');
10
- const themeableComponent = require('./themeable-component-0c1be552.js');
11
- const tokenUtils = require('./token-utils-f402e205.js');
12
- require('./string-utils-267e3dbb.js');
13
- require('./tokens.module-6b2df1c2.js');
14
-
15
- const duetEditableTableButtonCss = "*.sc-duet-editable-table-button,*.sc-duet-editable-table-button::after,*.sc-duet-editable-table-button::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-editable-table-button-h button.sc-duet-editable-table-button{display:flex;align-content:space-between;justify-content:center;min-width:32px;max-width:32px;height:100%;min-height:32px;max-height:32px;padding:0;margin:0;cursor:pointer !important;background-color:transparent;border:1px solid;border-radius:50%}.sc-duet-editable-table-button-h button.sc-duet-editable-table-button duet-icon.sc-duet-editable-table-button{align-self:center}";
16
-
17
- let DuetEditableTableButton = class {
18
- constructor(hostRef) {
19
- index.registerInstance(this, hostRef);
20
- this.duetEditableItemAction = index.createEvent(this, "duetEditableItemAction", 7);
21
- this.isHovering = false;
22
- /**
23
- * Theme of the empty state component.
24
- */
25
- this.theme = undefined;
26
- /**
27
- * action items passed from host component
28
- * @internal
29
- */
30
- this.actions = undefined;
31
- /**
32
- * uid that gets passed along when the action is emitted
33
- * @internal
34
- */
35
- this.uid = "";
36
- /**
37
- * group associated with action
38
- * @internal
39
- */
40
- this.group = "";
41
- /**
42
- * key of the item in the map
43
- * @internal
44
- */
45
- this.keyName = "";
46
- this.onMouseEnter = () => {
47
- this.isHovering = true;
48
- };
49
- this.onMouseLeave = () => {
50
- this.isHovering = false;
51
- };
52
- this.getColours = (byName = false) => {
53
- let colorHover = this.actions.color_hover;
54
- let colorBlur = this.actions.color;
55
- if (byName) {
56
- colorHover = tokenUtils.getColorByName(this.actions.color_hover, this.theme);
57
- colorBlur = tokenUtils.getColorByName(this.actions.color, this.theme);
58
- }
59
- return this.isHovering ? colorHover : colorBlur;
60
- };
61
- }
62
- /**
63
- /**
64
- * Component lifecycle events.
65
- */
66
- componentWillLoad() {
67
- themeableComponent.inheritGlobalTheme(this);
68
- }
69
- /**
70
- /**
71
- * private functions
72
- */
73
- emitActionEvent(ev) {
74
- this.duetEditableItemAction.emit({
75
- originalEvent: ev,
76
- uid: this.uid,
77
- group: this.group,
78
- action: this.actions.id,
79
- keyName: this.keyName,
80
- component: "duet-editable-table-item",
81
- });
82
- }
83
- /**
84
- * render() function
85
- * Always the last one in the class.
86
- */
87
- render() {
88
- return (index.h("button", { style: {
89
- "border-color": this.getColours(true),
90
- }, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, role: "menuitem", class: "duet-editable-table-actions-items-button", "aria-label": this.actions.label ? languageUtils.getLocaleString(this.actions.label) : undefined, onClick: ev => this.emitActionEvent(ev) }, index.h("duet-icon", { class: "duet-editable-table-actions-items-icon", size: "x-small", name: this.actions.icon, color: this.getColours(), margin: "none" })));
91
- }
92
- get el() { return index.getElement(this); }
93
- };
94
- DuetEditableTableButton.style = duetEditableTableButtonCss;
95
-
96
- exports.duet_editable_table_button = DuetEditableTableButton;
@@ -1,16 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- 'use strict';
5
-
6
- const debounce = (func, timeout = 50) => {
7
- let timer;
8
- return (...args) => {
9
- clearTimeout(timer);
10
- timer = setTimeout(() => {
11
- func.apply(undefined, args);
12
- }, timeout);
13
- };
14
- };
15
-
16
- exports.debounce = debounce;
@@ -1,32 +0,0 @@
1
- *,
2
- *::after,
3
- *::before {
4
- box-sizing: border-box;
5
- padding: 0;
6
- margin: 0;
7
- background: transparent;
8
- border: 0;
9
- -moz-appearance: none;
10
- -webkit-appearance: none;
11
- appearance: none;
12
- }
13
-
14
- :host button {
15
- display: flex;
16
- align-content: space-between;
17
- justify-content: center;
18
- min-width: 32px;
19
- max-width: 32px;
20
- height: 100%;
21
- min-height: 32px;
22
- max-height: 32px;
23
- padding: 0;
24
- margin: 0;
25
- cursor: pointer !important;
26
- background-color: transparent;
27
- border: 1px solid;
28
- border-radius: 50%;
29
- }
30
- :host button duet-icon {
31
- align-self: center;
32
- }
@@ -1,225 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import { Component, Element, Event, h, Prop, State } from "@stencil/core";
5
- import { getLocaleString } from "../../utils/language-utils";
6
- import { inheritGlobalTheme } from "../../utils/themeable-component";
7
- import { getColorByName } from "../../utils/token-utils";
8
- export class DuetEditableTableButton {
9
- constructor() {
10
- this.isHovering = false;
11
- /**
12
- * Theme of the empty state component.
13
- */
14
- this.theme = undefined;
15
- /**
16
- * action items passed from host component
17
- * @internal
18
- */
19
- this.actions = undefined;
20
- /**
21
- * uid that gets passed along when the action is emitted
22
- * @internal
23
- */
24
- this.uid = "";
25
- /**
26
- * group associated with action
27
- * @internal
28
- */
29
- this.group = "";
30
- /**
31
- * key of the item in the map
32
- * @internal
33
- */
34
- this.keyName = "";
35
- this.onMouseEnter = () => {
36
- this.isHovering = true;
37
- };
38
- this.onMouseLeave = () => {
39
- this.isHovering = false;
40
- };
41
- this.getColours = (byName = false) => {
42
- let colorHover = this.actions.color_hover;
43
- let colorBlur = this.actions.color;
44
- if (byName) {
45
- colorHover = getColorByName(this.actions.color_hover, this.theme);
46
- colorBlur = getColorByName(this.actions.color, this.theme);
47
- }
48
- return this.isHovering ? colorHover : colorBlur;
49
- };
50
- }
51
- /**
52
- /**
53
- * Component lifecycle events.
54
- */
55
- componentWillLoad() {
56
- inheritGlobalTheme(this);
57
- }
58
- /**
59
- /**
60
- * private functions
61
- */
62
- emitActionEvent(ev) {
63
- this.duetEditableItemAction.emit({
64
- originalEvent: ev,
65
- uid: this.uid,
66
- group: this.group,
67
- action: this.actions.id,
68
- keyName: this.keyName,
69
- component: "duet-editable-table-item",
70
- });
71
- }
72
- /**
73
- * render() function
74
- * Always the last one in the class.
75
- */
76
- render() {
77
- return (h("button", { style: {
78
- "border-color": this.getColours(true),
79
- }, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, role: "menuitem", class: "duet-editable-table-actions-items-button", "aria-label": this.actions.label ? getLocaleString(this.actions.label) : undefined, onClick: ev => this.emitActionEvent(ev) },
80
- h("duet-icon", { class: "duet-editable-table-actions-items-icon", size: "x-small", name: this.actions.icon, color: this.getColours(), margin: "none" })));
81
- }
82
- static get is() { return "duet-editable-table-button"; }
83
- static get encapsulation() { return "scoped"; }
84
- static get originalStyleUrls() { return {
85
- "$": ["duet-editable-table-button.scss"]
86
- }; }
87
- static get styleUrls() { return {
88
- "$": ["duet-editable-table-button.css"]
89
- }; }
90
- static get properties() { return {
91
- "theme": {
92
- "type": "string",
93
- "mutable": true,
94
- "complexType": {
95
- "original": "DuetTheme",
96
- "resolved": "\"\" | \"default\" | \"turva\"",
97
- "references": {
98
- "DuetTheme": {
99
- "location": "import",
100
- "path": "../../common-types"
101
- }
102
- }
103
- },
104
- "required": false,
105
- "optional": false,
106
- "docs": {
107
- "tags": [],
108
- "text": "Theme of the empty state component."
109
- },
110
- "attribute": "theme",
111
- "reflect": false,
112
- "defaultValue": "undefined"
113
- },
114
- "actions": {
115
- "type": "unknown",
116
- "mutable": false,
117
- "complexType": {
118
- "original": "DuetEditableTableActionButtonItems",
119
- "resolved": "{ icon: string; color: string; color_hover: string; id: string; map?: string[]; label?: DuetLangObject; }",
120
- "references": {
121
- "DuetEditableTableActionButtonItems": {
122
- "location": "local"
123
- }
124
- }
125
- },
126
- "required": false,
127
- "optional": false,
128
- "docs": {
129
- "tags": [{
130
- "name": "internal",
131
- "text": undefined
132
- }],
133
- "text": "action items passed from host component"
134
- },
135
- "defaultValue": "undefined"
136
- },
137
- "uid": {
138
- "type": "string",
139
- "mutable": false,
140
- "complexType": {
141
- "original": "string",
142
- "resolved": "string",
143
- "references": {}
144
- },
145
- "required": false,
146
- "optional": false,
147
- "docs": {
148
- "tags": [{
149
- "name": "internal",
150
- "text": undefined
151
- }],
152
- "text": "uid that gets passed along when the action is emitted"
153
- },
154
- "attribute": "uid",
155
- "reflect": false,
156
- "defaultValue": "\"\""
157
- },
158
- "group": {
159
- "type": "string",
160
- "mutable": false,
161
- "complexType": {
162
- "original": "string",
163
- "resolved": "string",
164
- "references": {}
165
- },
166
- "required": false,
167
- "optional": false,
168
- "docs": {
169
- "tags": [{
170
- "name": "internal",
171
- "text": undefined
172
- }],
173
- "text": "group associated with action"
174
- },
175
- "attribute": "group",
176
- "reflect": false,
177
- "defaultValue": "\"\""
178
- },
179
- "keyName": {
180
- "type": "string",
181
- "mutable": false,
182
- "complexType": {
183
- "original": "string",
184
- "resolved": "string",
185
- "references": {}
186
- },
187
- "required": false,
188
- "optional": false,
189
- "docs": {
190
- "tags": [{
191
- "name": "internal",
192
- "text": undefined
193
- }],
194
- "text": "key of the item in the map"
195
- },
196
- "attribute": "key-name",
197
- "reflect": false,
198
- "defaultValue": "\"\""
199
- }
200
- }; }
201
- static get states() { return {
202
- "isHovering": {}
203
- }; }
204
- static get events() { return [{
205
- "method": "duetEditableItemAction",
206
- "name": "duetEditableItemAction",
207
- "bubbles": true,
208
- "cancelable": true,
209
- "composed": true,
210
- "docs": {
211
- "tags": [],
212
- "text": "Emitted when any action is clicked"
213
- },
214
- "complexType": {
215
- "original": "DuetEditableTableItemEvent",
216
- "resolved": "{ originalEvent?: Event; uid: string | number | bigint; keyName: string | number | bigint; action: string; group: string; component: \"duet-editable-table-item\"; }",
217
- "references": {
218
- "DuetEditableTableItemEvent": {
219
- "location": "local"
220
- }
221
- }
222
- }
223
- }]; }
224
- static get elementRef() { return "el"; }
225
- }
@@ -1,36 +0,0 @@
1
- *,
2
- *::after,
3
- *::before {
4
- box-sizing: border-box;
5
- padding: 0;
6
- margin: 0;
7
- background: transparent;
8
- border: 0;
9
- -moz-appearance: none;
10
- -webkit-appearance: none;
11
- appearance: none;
12
- }
13
-
14
- :host {
15
- display: table-row;
16
- height: 32px;
17
- }
18
-
19
- .duet-editable-table-content, .duet-editable-table-actions {
20
- height: 32px;
21
- padding: 12px 0;
22
- vertical-align: middle;
23
- break-word: break-all;
24
- border-bottom: 1px solid #e1e3e6;
25
- }
26
- .duet-editable-table-actions-items {
27
- display: flex;
28
- justify-content: flex-end;
29
- }
30
- .duet-editable-table-actions-items duet-editable-table-button {
31
- padding-left: 8px;
32
- }
33
- .duet-editable-table .editable-item-small {
34
- font-size: 0.75rem;
35
- font-weight: 400;
36
- }
@@ -1,225 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import { Component, Element, Event, h, Host, Prop, State, Watch } from "@stencil/core";
5
- import { inheritGlobalTheme } from "../../utils/themeable-component";
6
- import { TableData } from "./duet-editable-table-tabledata";
7
- export class DuetEditableTableItem {
8
- constructor() {
9
- this.isHovering = false;
10
- /**
11
- * Theme of the empty state component.
12
- */
13
- this.theme = "";
14
- /**
15
- * Actions that can be performed on the element
16
- */
17
- this.actions = undefined;
18
- /**
19
- * GroupId used to pierce the shadowdom - gets concatenated with "content & actions" and used as part="groupIDcontent/actions" to pierce the content/Action item
20
- * @internal
21
- */
22
- this.groupId = "";
23
- /**
24
- * Key used to set vertical alignment of action buttons
25
- */
26
- this.alignment = "middle";
27
- /**
28
- * Key used to identify item, when running actions
29
- */
30
- this.keyName = "";
31
- /**
32
- * Object of data itemsused to render the entire row
33
- */
34
- this.data = undefined;
35
- }
36
- watchPropHandler(_newValue, _oldValue) {
37
- // console.log("The new value of activated is: ", _newValue)
38
- }
39
- /**
40
- /**
41
- * Component lifecycle events.
42
- */
43
- componentWillLoad() {
44
- inheritGlobalTheme(this);
45
- }
46
- /**
47
- /**
48
- * private functions
49
- */
50
- /**
51
- * render() function
52
- * Always the last one in the class.
53
- */
54
- render() {
55
- return (h(Host, { role: "row" },
56
- h(TableData, { data: this.data.item, alignment: this.alignment, groupId: this.groupId }),
57
- h("td", { class: "duet-editable-table-actions", style: { verticalAlign: this.alignment } },
58
- h("div", { class: "duet-editable-table-actions-items", part: `${this.groupId}actions` }, this.actions.map(result => {
59
- const { map = undefined } = result;
60
- // if map has been specified, only show the current action if groupID matches the map array
61
- if (map && !map.includes(this.groupId)) {
62
- return;
63
- }
64
- return (h("duet-editable-table-button", { keyName: this.keyName, group: this.data.group, uid: this.data.uid, actions: result, theme: this.theme }));
65
- })))));
66
- }
67
- static get is() { return "duet-editable-table-item"; }
68
- static get encapsulation() { return "shadow"; }
69
- static get originalStyleUrls() { return {
70
- "$": ["duet-editable-table-item.scss"]
71
- }; }
72
- static get styleUrls() { return {
73
- "$": ["duet-editable-table-item.css"]
74
- }; }
75
- static get properties() { return {
76
- "theme": {
77
- "type": "string",
78
- "mutable": true,
79
- "complexType": {
80
- "original": "DuetTheme",
81
- "resolved": "\"\" | \"default\" | \"turva\"",
82
- "references": {
83
- "DuetTheme": {
84
- "location": "import",
85
- "path": "../../common-types"
86
- }
87
- }
88
- },
89
- "required": false,
90
- "optional": false,
91
- "docs": {
92
- "tags": [],
93
- "text": "Theme of the empty state component."
94
- },
95
- "attribute": "theme",
96
- "reflect": false,
97
- "defaultValue": "\"\""
98
- },
99
- "actions": {
100
- "type": "unknown",
101
- "mutable": false,
102
- "complexType": {
103
- "original": "DuetEditableTableActions",
104
- "resolved": "{ icon: string; color: string; color_hover: string; id: string; map?: string[]; label?: DuetLangObject; }[]",
105
- "references": {
106
- "DuetEditableTableActions": {
107
- "location": "local"
108
- }
109
- }
110
- },
111
- "required": false,
112
- "optional": false,
113
- "docs": {
114
- "tags": [],
115
- "text": "Actions that can be performed on the element"
116
- },
117
- "defaultValue": "undefined"
118
- },
119
- "groupId": {
120
- "type": "string",
121
- "mutable": false,
122
- "complexType": {
123
- "original": "string",
124
- "resolved": "string",
125
- "references": {}
126
- },
127
- "required": false,
128
- "optional": false,
129
- "docs": {
130
- "tags": [{
131
- "name": "internal",
132
- "text": undefined
133
- }],
134
- "text": "GroupId used to pierce the shadowdom - gets concatenated with \"content & actions\" and used as part=\"groupIDcontent/actions\" to pierce the content/Action item"
135
- },
136
- "attribute": "group-id",
137
- "reflect": false,
138
- "defaultValue": "\"\""
139
- },
140
- "alignment": {
141
- "type": "string",
142
- "mutable": false,
143
- "complexType": {
144
- "original": "string",
145
- "resolved": "string",
146
- "references": {}
147
- },
148
- "required": false,
149
- "optional": false,
150
- "docs": {
151
- "tags": [],
152
- "text": "Key used to set vertical alignment of action buttons"
153
- },
154
- "attribute": "alignment",
155
- "reflect": false,
156
- "defaultValue": "\"middle\""
157
- },
158
- "keyName": {
159
- "type": "string",
160
- "mutable": false,
161
- "complexType": {
162
- "original": "string",
163
- "resolved": "string",
164
- "references": {}
165
- },
166
- "required": false,
167
- "optional": false,
168
- "docs": {
169
- "tags": [],
170
- "text": "Key used to identify item, when running actions"
171
- },
172
- "attribute": "key-name",
173
- "reflect": false,
174
- "defaultValue": "\"\""
175
- },
176
- "data": {
177
- "type": "unknown",
178
- "mutable": true,
179
- "complexType": {
180
- "original": "DuetEditableTableItemData",
181
- "resolved": "{ uid: string; item: string | HTMLElement | Record<string, string>; group: string; }",
182
- "references": {
183
- "DuetEditableTableItemData": {
184
- "location": "local"
185
- }
186
- }
187
- },
188
- "required": false,
189
- "optional": false,
190
- "docs": {
191
- "tags": [],
192
- "text": "Object of data itemsused to render the entire row"
193
- },
194
- "defaultValue": "undefined"
195
- }
196
- }; }
197
- static get states() { return {
198
- "isHovering": {}
199
- }; }
200
- static get events() { return [{
201
- "method": "duetEditableItemAction",
202
- "name": "duetEditableItemAction",
203
- "bubbles": true,
204
- "cancelable": true,
205
- "composed": true,
206
- "docs": {
207
- "tags": [],
208
- "text": "Emitted when any action is clicked"
209
- },
210
- "complexType": {
211
- "original": "DuetEditableTableItemEvent",
212
- "resolved": "{ originalEvent?: Event; uid: string; keyName: string; action: string; group: string; component: \"duet-editable-table-item\"; }",
213
- "references": {
214
- "DuetEditableTableItemEvent": {
215
- "location": "local"
216
- }
217
- }
218
- }
219
- }]; }
220
- static get elementRef() { return "el"; }
221
- static get watchers() { return [{
222
- "propName": "data",
223
- "methodName": "watchPropHandler"
224
- }]; }
225
- }
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import{r as t,c as e,h as o,H as n,g as r}from"./p-dcaecb5e.js";import{D as i}from"./p-76f00bd5.js";import{a,g as u}from"./p-2764f081.js";import{i as d}from"./p-a28cf57b.js";import{g as s}from"./p-cb445018.js";import"./p-986779fb.js";import"./p-ad07f399.js";let l=class{constructor(o){t(this,o),this.duetFocus=e(this,"duetFocus",7),this.duetBlur=e(this,"duetBlur",7),this.loading=!1,this.variation="default",this.negative=!1,this.theme="",this.margin="auto",this.padding="auto",this.centerText=!1,this.wrapping="auto",this.expand=!1,this.fixed=!1,this.disabled=!1,this.submit=!1,this.external=!1,this.language=a(),this.accessibleLabelExternalDefaults=i,this.accessibleLabelExternal=u(this.accessibleLabelExternalDefaults),this.icon="",this.color="",this.iconRight=!1,this.iconSize="medium",this.size="medium",this.iconOnly=!1,this.handleClick=t=>{!this.url&&this.element.closest("form")&&(t.preventDefault(),this.proxyButton.click())},this.onFocus=()=>{this.duetFocus.emit()},this.onBlur=()=>{this.duetBlur.emit()}}componentWillLoad(){d(this),this.url&&this.external&&this.icon&&console.warn("[DUET]: Button used as an external link will override any icon that is set")}connectedCallback(){this.proxyButton=document.createElement("button"),this.proxyButton.style.display="none",this.syncToProxyButton(),!this.url&&this.element.closest("form")&&this.element.insertAdjacentElement("beforebegin",this.proxyButton)}disconnectedCallback(){this.proxyButton.remove(),this.proxyButton=null}syncToProxyButton(){this.proxyButton.type=this.getButtonType(),this.proxyButton.disabled=this.disabled,null!=this.name?this.proxyButton.name=this.name:this.proxyButton.removeAttribute("name"),null!=this.value?this.proxyButton.value=this.value:this.proxyButton.removeAttribute("value")}getButtonType(){return this.submit?"submit":"button"}async setFocus(t){this.nativeButton&&this.nativeButton.focus(t)}render(){const t=this.external&&this.url,e=t?"action-new-window":this.icon,r=!!t||this.iconRight,i=o("span",{class:"duet-button-contents",style:{color:s(this.color)}},e&&o("div",{"aria-hidden":"true",class:{"duet-button-icon":!0,left:!r,right:r,[this.iconSize]:!0}},o("duet-icon",{size:"auto",margin:"none",name:e,color:"currentColor"})),o("slot",null)),a={onFocus:this.onFocus,onBlur:this.onBlur,ref:t=>this.nativeButton=t,id:this.identifier,class:{"duet-m-0":"none"===this.margin,"duet-p-0":"none"===this.padding,"duet-no-wrap":"none"===this.wrapping,"duet-button":!0,"duet-button-is-small":"small"===this.size,"duet-button-icon-only":this.iconOnly,"duet-button-text-center":this.centerText,"duet-button-negative":this.negative||"negative"===this.variation,[this.variation]:!0,disabled:this.disabled,icon:!!e,"icon-right":r,[this.iconSize]:!0},"aria-controls":this.accessibleControls,"aria-label":this.accessibleLabel,"aria-expanded":null!=this.accessibleExpanded?this.accessibleExpanded.toString():void 0,"aria-activedescendant":this.accessibleActiveDescendant,"aria-owns":this.accessibleOwns,"aria-describedby":this.accessibleDescribedBy};return o(n,{onClick:this.handleClick,class:{"duet-m-0":"none"===this.margin,"duet-small":"small"===this.size,"duet-fixed":this.fixed,"duet-expand":this.expand}},o("div",{class:{"duet-button-container":!0,"duet-button-is-loading":this.loading,"duet-theme-turva":"turva"===this.theme,"duet-button-negative":this.negative||"negative"===this.variation,[this.variation]:!0}},this.url?o("a",Object.assign({},a,{href:this.url,target:this.external?"_blank":"_self",rel:this.external?"noopener":void 0}),i,this.external&&o("duet-visually-hidden",null,", ",this.accessibleLabelExternal)):o("button",Object.assign({},a,{type:this.getButtonType(),disabled:this.disabled,name:this.name,value:this.value,"aria-pressed":null!=this.accessiblePressed?this.accessiblePressed.toString():void 0}),i),this.loading&&o("duet-spinner",{color:"currentColor"})))}get element(){return r(this)}static get watchers(){return{disabled:["syncToProxyButton"],submit:["syncToProxyButton"],value:["syncToProxyButton"],name:["syncToProxyButton"]}}};l.style='*,*::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;margin-right:8px !important;margin-bottom:12px !important;position:relative;z-index:1;display:inline-flex;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host:last-child,:host:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host{width:100%}}:host(.duet-small){margin-right:2px !important;margin-bottom:8px !important}:host(.duet-small):last-child,:host(.duet-small):last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host(.duet-small){width:auto}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}:host(.duet-fixed){width:auto !important}:host(:last-child){margin-right:0 !important}.duet-button-container{position:relative;width:100%}.duet-button{padding:14px 27px 15px !important;-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;min-width:8rem;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;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#0077b3 !important;text-align:center;text-decoration:none;cursor:pointer;background:transparent;border-style:solid;border-width:2px;border-radius:20rem;transition:background-color 300ms ease, color 300ms ease, border 300ms ease, box-shadow 300ms ease}.duet-button.duet-p-0{padding:0 !important}.duet-button.duet-m-0{margin:0 !important}.duet-button.duet-button-text-center{text-align:center !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only){padding:9px 19px 10px !important;min-width:5.3333333333rem;font-size:0.875rem}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon{padding-left:48px !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon-right{padding-right:48px !important;padding-left:20px !important}.duet-theme-turva .duet-button{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 !important}.duet-button .duet-button-contents{position:relative;display:inline-block;margin:0 auto;pointer-events:none}.duet-button.duet-no-wrap{white-space:nowrap}.duet-button.icon{padding-left:52px !important}.duet-button.icon-right{padding-right:52px !important;padding-left:28px !important}.duet-button svg{width:100%;min-width:100%;fill:currentColor}.duet-button .duet-button-icon{position:absolute;top:50%;left:-28px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin:0 !important;transform:translateY(-50%)}.duet-button .duet-button-icon duet-icon{width:16px;height:16px}.duet-button .duet-button-icon.right{right:-28px;left:auto}.duet-button .duet-button-icon.large{left:-32px;width:20px;height:20px}.duet-button .duet-button-icon.large duet-icon{width:20px;height:20px}.duet-button .duet-button-icon.large.right{right:-32px;left:auto}.duet-button .duet-button-icon.medium-small{left:-16px;width:10px;height:10px;padding-top:1px}.duet-button .duet-button-icon.medium-small duet-icon{width:10px;height:10px}.duet-button .duet-button-icon.medium-small.right{right:-16px;left:auto}.duet-button .duet-button-icon.small{left:-16px;width:7px;height:7px}.duet-button .duet-button-icon.small duet-icon{width:7px;height:7px}.duet-button .duet-button-icon.small.right{right:-16px;left:auto}.duet-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-button:active{opacity:0.75;transition:none}.duet-button.default{border-color:#e1e3e6}.duet-theme-turva .duet-button.default{color:#c60c30 !important;border-color:#e4e4e6}.duet-button.default:hover{border-color:#0077b3}.duet-theme-turva .duet-button.default:hover{border-color:#c60c30}.duet-button.default.duet-button-negative{background-color:white}.duet-theme-turva .duet-button.default.duet-button-negative{background-color:#e4e4e6 !important}.duet-button.default.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.default.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.primary{color:white !important;background:#0077b3;border-color:#0077b3}.duet-theme-turva .duet-button.primary{color:white !important;background:#c60c30;border-color:#c60c30}.duet-button.primary:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}.duet-theme-turva .duet-button.primary:hover{background:#940925;border-color:#940925}.duet-button.primary:focus{outline:0;box-shadow:0 0 0 1px white, 0 0 0 4px rgba(0, 119, 179, 0.75)}.duet-theme-turva .duet-button.primary:focus{box-shadow:0 0 0 1px white, 0 0 0 4px rgba(23, 28, 58, 0.7)}.duet-button.secondary{color:#00294d !important;background:transparent;border-color:#00294d}.duet-theme-turva .duet-button.secondary{color:#171c3a !important;border-color:#171c3a}.duet-button.secondary:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.secondary.duet-button-negative{color:#e1e3e6 !important;border-color:white}.duet-theme-turva .duet-button.secondary.duet-button-negative{color:#e4e4e6 !important}.duet-button.secondary.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.negative{color:#00294d !important;background:white;border-color:white}.duet-theme-turva .duet-button.negative{color:#171c3a !important}.duet-button.negative:hover{color:white !important;background:transparent;border-color:white}.duet-button.negative:focus{outline:0;box-shadow:0 0 0 1px #00294d, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-theme-turva .duet-button.negative:focus{box-shadow:0 0 0 1px #171c3a, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-button.destructive-primary{color:white !important;background:#de2362;border-color:#de2362}.duet-theme-turva .duet-button.destructive-primary{color:white !important;background:#e02a0d;border-color:#e02a0d}.duet-button.destructive-primary:hover{background:#b21c4e;border-color:#b21c4e;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}.duet-theme-turva .duet-button.destructive-primary:hover{background:#b3220a}.duet-button.destructive,.duet-button.destructive-secondary{color:#de2362 !important;background:white;border-color:#de2362}.duet-theme-turva .duet-button.destructive,.duet-theme-turva .duet-button.destructive-secondary{color:#e02a0d !important;background:white;border-color:#e02a0d}.duet-button.destructive:hover,.duet-button.destructive-secondary:hover{color:white !important;background:#b21c4e;border-color:#b21c4e}.duet-theme-turva .duet-button.destructive:hover,.duet-theme-turva .duet-button.destructive-secondary:hover{color:white !important;background:#b3220a;border-color:#b3220a}.duet-button.plain{min-width:48px;padding-right:0 !important;padding-left:0 !important;line-height:1.5;text-align:left;background:transparent;border:0;border-color:transparent;border-radius:4px}.duet-theme-turva .duet-button.plain{color:#c60c30 !important;background:transparent;border-color:transparent}.duet-button.plain.icon{padding-left:20px !important}.duet-button.plain.icon.icon-right{padding-right:20px !important;padding-left:0 !important}.duet-button.plain.icon.medium{padding-left:24px !important}.duet-button.plain.icon.medium.icon-right{padding-right:24px !important;padding-left:0 !important}.duet-button.plain.icon.large{padding-left:30px !important}.duet-button.plain.icon.large.icon-right{padding-right:30px !important;padding-left:0 !important}.duet-button.plain .duet-button-icon.left{left:-16.6666666667px !important}.duet-button.plain .duet-button-icon.left.medium{left:-24px !important}.duet-button.plain .duet-button-icon.left.large{left:-30px !important}.duet-button.plain .duet-button-icon.right{right:-16.6666666667px !important}.duet-button.plain .duet-button-icon.right.medium{right:-24px !important}.duet-button.plain .duet-button-icon.right.large{right:-30px !important}.duet-button.plain[disabled]{color:#657787 !important;background:transparent !important;border-color:transparent !important}.duet-theme-turva .duet-button.plain[disabled]{color:transparent !important;background:transparent !important;border-color:#e4e4e6 !important}.duet-button.plain:hover{color:#004d80 !important;background:transparent !important}.duet-theme-turva .duet-button.plain:hover{color:#940925 !important}.duet-button.plain.duet-button-negative{color:white !important}.duet-theme-turva .duet-button.plain.duet-button-negative{color:#e4e4e6 !important}.duet-button.plain.duet-button-negative:hover{color:#0077b3 !important}.duet-theme-turva .duet-button.plain.duet-button-negative:hover{color:#c60c30 !important}.duet-button.duet-button-icon-only{min-width:48px;min-height:48px;padding:0 !important}.duet-button.duet-button-icon-only .duet-button-contents{position:static}.duet-button.duet-button-icon-only .duet-button-icon.left.large,.duet-button.duet-button-icon-only .duet-button-icon.left.medium,.duet-button.duet-button-icon-only .duet-button-icon.left.small{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}.duet-button[disabled],.duet-button[disabled]:hover,.duet-button.duet-button-negative[disabled],.duet-button.duet-button-negative[disabled]:hover{color:#657787 !important;background:#e1e3e6 !important;border-color:#e1e3e6 !important;box-shadow:none !important}.duet-theme-turva .duet-button[disabled],.duet-theme-turva .duet-button[disabled]:hover,.duet-theme-turva .duet-button.duet-button-negative [disabled],.duet-theme-turva .duet-button.duet-button-negative [disabled]:hover{color:#747475 !important;background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-button-is-loading.primary{color:white}.duet-button-is-loading.default{color:#0077b3}.duet-button-is-loading.default.duet-theme-turva{color:#c60c30}.duet-button-is-loading .duet-button-contents{visibility:hidden;opacity:0}';let b=class{constructor(e){t(this,e),this.color="gray-lightest",this.size="small",this.theme=""}componentWillLoad(){d(this)}render(){const t="currentColor"===this.color?"currentColor":s(this.color);return o(n,{class:{"duet-custom-color":"currentColor"!==this.color&&"turva"!==this.theme&&"default"!==this.theme,"duet-theme-turva":"turva"===this.theme&&"currentColor"!==this.color,"duet-theme-default":"default"===this.theme&&"currentColor"!==this.color}},o("div",{class:{"duet-spinner":!0,[this.size]:!0},style:{color:t},"aria-label":this.accessibleLabel}))}};b.style=':host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:absolute;top:50%;left:50%;z-index:800;max-width:100%}:host(.duet-theme-default) .duet-spinner{color:#0077b3 !important}:host(.duet-theme-turva) .duet-spinner{color:#c60c30 !important}:host(.duet-custom-color){color:inherit}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-spinner{-webkit-user-select:none;user-select:none;position:absolute;top:50%;left:50%;z-index:800;width:24px;height:24px;color:#0077b3;border:2px solid transparent;border-left:2px solid currentColor;border-radius:50%;transform:translateZ(0) translateX(-50%) translateY(-50%);transform-origin:0% 0%;animation:duetRotate 0.6s linear infinite}.duet-spinner::after{position:absolute;top:50%;left:50%;z-index:200;box-sizing:content-box;width:100%;height:100%;overflow:hidden;content:"";border:2px solid currentColor;border-radius:50%;opacity:0.3;transform:translateZ(0) translateX(-50%) translateY(-50%);transform-origin:0% 0%}.duet-spinner.medium{width:36px;height:36px;border-width:4px}.duet-spinner.medium::after{border-width:4px}.duet-spinner.large{width:72px;height:72px;border-width:8px}.duet-spinner.large::after{border-width:8px}@keyframes duetRotate{0%{transform:translateZ(0) rotate(0deg) translateX(-50%) translateY(-50%)}100%{transform:translateZ(0) rotate(360deg) translateX(-50%) translateY(-50%)}}';export{l as duet_button,b as duet_spinner}