@duetds/components 6.0.0 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/hydrate/index.js +14 -5
  2. package/lib/cjs/duet-action-button.cjs.entry.js +1 -1
  3. package/lib/cjs/duet-alert.cjs.entry.js +5 -3
  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 +1 -1
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +17 -8
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  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 +1 -1
  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 +1 -1
  22. package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  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 +1 -1
  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 +1 -1
  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-fed98b6a.js → focus-utils-8089a1a8.js} +1 -1
  46. package/lib/cjs/{index-b5a163e2.js → index-9d0e33db.js} +1 -1
  47. package/lib/cjs/loader.cjs.js +1 -1
  48. package/lib/collection/components/duet-alert/duet-alert.js +5 -3
  49. package/lib/collection/components/duet-choice/duet-choice.css +5 -0
  50. package/lib/collection/components/duet-choice/duet-choice.js +8 -3
  51. package/lib/collection/components/duet-choice-group/duet-choice-group.js +11 -4
  52. package/lib/custom-elements-bundle/index.js +19 -9
  53. package/lib/duet/duet.esm.js +1 -1
  54. package/lib/duet/duet.js +1 -1
  55. package/lib/duet/{p-cec7594d.system.entry.js → p-007d0250.system.entry.js} +1 -1
  56. package/lib/duet/{p-d856ba7e.entry.js → p-012e33e8.entry.js} +1 -1
  57. package/lib/duet/{p-c7fbbd1f.system.entry.js → p-0250c7b7.system.entry.js} +1 -1
  58. package/lib/duet/{p-dfbcbdd7.entry.js → p-07f83b14.entry.js} +1 -1
  59. package/lib/duet/{p-c8eb26ba.system.entry.js → p-0930ce38.system.entry.js} +1 -1
  60. package/lib/duet/{p-7ca14550.entry.js → p-0c59905a.entry.js} +1 -1
  61. package/lib/duet/{p-9a9b4340.system.entry.js → p-0c83d107.system.entry.js} +1 -1
  62. package/lib/duet/{p-ad876c3d.entry.js → p-14a2d6f2.entry.js} +1 -1
  63. package/lib/duet/p-16d21cef.entry.js +4 -0
  64. package/lib/duet/{p-21bb7a14.entry.js → p-178e0ae7.entry.js} +1 -1
  65. package/lib/duet/{p-4978446c.system.entry.js → p-194f22b3.system.entry.js} +1 -1
  66. package/lib/duet/{p-b3a0c0f1.entry.js → p-196b2664.entry.js} +1 -1
  67. package/lib/duet/{p-b13d93c1.system.entry.js → p-1c0fdc62.system.entry.js} +1 -1
  68. package/lib/duet/{p-778cd181.system.entry.js → p-20b5e96b.system.entry.js} +1 -1
  69. package/lib/duet/{p-43db1cad.system.entry.js → p-211e59a0.system.entry.js} +1 -1
  70. package/lib/duet/{p-993a34d1.entry.js → p-2171d336.entry.js} +1 -1
  71. package/lib/duet/{p-88e55b15.entry.js → p-24978396.entry.js} +1 -1
  72. package/lib/duet/{p-70fe3594.system.entry.js → p-278340d9.system.entry.js} +1 -1
  73. package/lib/duet/{p-23c58827.system.entry.js → p-29157f26.system.entry.js} +1 -1
  74. package/lib/duet/{p-5eb3e636.entry.js → p-2ebf682d.entry.js} +1 -1
  75. package/lib/duet/{p-dd922800.entry.js → p-2eea39f3.entry.js} +1 -1
  76. package/lib/duet/{p-09c538d2.system.entry.js → p-32883741.system.entry.js} +1 -1
  77. package/lib/duet/p-33300690.entry.js +4 -0
  78. package/lib/duet/{p-975e2007.entry.js → p-35eaa5a8.entry.js} +1 -1
  79. package/lib/duet/{p-9195b70c.system.entry.js → p-39e1c6da.system.entry.js} +1 -1
  80. package/lib/duet/{p-c8fedd4c.entry.js → p-3bbfe384.entry.js} +1 -1
  81. package/lib/duet/{p-9589ebe4.entry.js → p-3c80d2fc.entry.js} +1 -1
  82. package/lib/duet/{p-504eb2f5.entry.js → p-3f1c98d0.entry.js} +1 -1
  83. package/lib/duet/{p-cc5f2e90.system.entry.js → p-3feb442e.system.entry.js} +1 -1
  84. package/lib/duet/{p-efa828e5.system.entry.js → p-422c0465.system.entry.js} +1 -1
  85. package/lib/duet/{p-ade00e73.entry.js → p-4427f4b2.entry.js} +1 -1
  86. package/lib/duet/{p-b98f485a.entry.js → p-4af6e3b1.entry.js} +1 -1
  87. package/lib/duet/{p-94760006.system.entry.js → p-4d6b341d.system.entry.js} +1 -1
  88. package/lib/duet/{p-8a5ff071.entry.js → p-4f235805.entry.js} +1 -1
  89. package/lib/duet/{p-2a124811.system.entry.js → p-567cab28.system.entry.js} +1 -1
  90. package/lib/duet/{p-a399d48f.system.entry.js → p-5bde4aed.system.entry.js} +1 -1
  91. package/lib/duet/{p-1a14638c.system.entry.js → p-5d286e53.system.entry.js} +1 -1
  92. package/lib/duet/{p-233768f0.entry.js → p-5f407bd1.entry.js} +1 -1
  93. package/lib/duet/{p-597286df.entry.js → p-626a5916.entry.js} +1 -1
  94. package/lib/duet/{p-93fba18a.system.entry.js → p-67a78cbe.system.entry.js} +1 -1
  95. package/lib/duet/{p-043ca8c2.entry.js → p-68419f1e.entry.js} +1 -1
  96. package/lib/duet/{p-97f307cd.system.entry.js → p-6c022105.system.entry.js} +1 -1
  97. package/lib/duet/{p-5cff11a9.entry.js → p-6ebb40da.entry.js} +1 -1
  98. package/lib/duet/{p-8be00ca5.entry.js → p-79817456.entry.js} +1 -1
  99. package/lib/duet/{p-092249a4.entry.js → p-7d43d67b.entry.js} +1 -1
  100. package/lib/duet/{p-2f25b72e.system.entry.js → p-82abc212.system.entry.js} +1 -1
  101. package/lib/duet/{p-7a6bb638.entry.js → p-835f4429.entry.js} +1 -1
  102. package/lib/duet/{p-e3ab2e26.system.entry.js → p-86a3b203.system.entry.js} +1 -1
  103. package/lib/duet/{p-50e695ce.system.entry.js → p-8a91c7bb.system.entry.js} +1 -1
  104. package/lib/duet/{p-e8fcf8bf.entry.js → p-8bcd7936.entry.js} +1 -1
  105. package/lib/duet/{p-3a143c07.system.entry.js → p-902552a7.system.entry.js} +1 -1
  106. package/lib/duet/{p-f8ae0ada.entry.js → p-9059b7e3.entry.js} +1 -1
  107. package/lib/duet/{p-109762c2.system.js → p-920f9ff2.system.js} +1 -1
  108. package/lib/duet/{p-3a02d67d.system.entry.js → p-921085f6.system.entry.js} +1 -1
  109. package/lib/duet/{p-cb9d3224.system.entry.js → p-94d496e1.system.entry.js} +1 -1
  110. package/lib/duet/{p-195a7974.system.entry.js → p-9a3826e8.system.entry.js} +1 -1
  111. package/lib/duet/{p-cd3a4678.system.entry.js → p-9bd36dc0.system.entry.js} +1 -1
  112. package/lib/duet/{p-a5e6dfcb.system.entry.js → p-9ed4eac7.system.entry.js} +1 -1
  113. package/lib/duet/p-9ef03ba6.js +4 -0
  114. package/lib/duet/{p-cb471360.entry.js → p-a124d4a0.entry.js} +1 -1
  115. package/lib/duet/p-a687eeaa.system.entry.js +4 -0
  116. package/lib/duet/{p-4c0fbc6b.system.entry.js → p-a9a9d22b.system.entry.js} +1 -1
  117. package/lib/duet/{p-875c8319.system.entry.js → p-af3a016a.system.entry.js} +1 -1
  118. package/lib/duet/{p-1d795d20.entry.js → p-b014fdca.entry.js} +1 -1
  119. package/lib/duet/{p-875bd47c.entry.js → p-b43a8c7a.entry.js} +1 -1
  120. package/lib/duet/{p-1922b678.system.entry.js → p-b4e8f605.system.entry.js} +1 -1
  121. package/lib/duet/{p-d67546f5.system.entry.js → p-b57a4b2d.system.entry.js} +1 -1
  122. package/lib/duet/{p-8f397d81.entry.js → p-b6ef2e72.entry.js} +1 -1
  123. package/lib/duet/{p-421888a7.entry.js → p-b9b19fe9.entry.js} +1 -1
  124. package/lib/duet/{p-a20a9164.system.js → p-b9e9ac80.system.js} +1 -1
  125. package/lib/duet/{p-3e354012.entry.js → p-bc23dcde.entry.js} +1 -1
  126. package/lib/duet/{p-7b84c937.system.entry.js → p-c3d3f68d.system.entry.js} +1 -1
  127. package/lib/duet/{p-63d2755a.entry.js → p-c89b1c28.entry.js} +1 -1
  128. package/lib/duet/{p-ee412ace.system.entry.js → p-cb1f9512.system.entry.js} +1 -1
  129. package/lib/duet/{p-1d5bd920.system.entry.js → p-d5ef1959.system.entry.js} +1 -1
  130. package/lib/duet/{p-cddb4ef2.js → p-d644302f.js} +1 -1
  131. package/lib/duet/{p-79598c60.system.entry.js → p-ddf8a652.system.entry.js} +1 -1
  132. package/lib/duet/{p-0d51a865.system.entry.js → p-e1a1e52d.system.entry.js} +1 -1
  133. package/lib/duet/{p-3573ed90.entry.js → p-e233e6ed.entry.js} +1 -1
  134. package/lib/duet/{p-c570ce3f.system.entry.js → p-e3a6351b.system.entry.js} +1 -1
  135. package/lib/duet/p-e56705ac.system.entry.js +4 -0
  136. package/lib/duet/{p-ce47e5bc.entry.js → p-ea60602a.entry.js} +1 -1
  137. package/lib/duet/{p-106412f9.entry.js → p-ecc8ec3e.entry.js} +1 -1
  138. package/lib/duet/{p-7da9836a.system.entry.js → p-f0e4f685.system.entry.js} +1 -1
  139. package/lib/duet/{p-efd9868c.entry.js → p-f416e108.entry.js} +1 -1
  140. package/lib/duet/{p-49e26895.entry.js → p-f51969f5.entry.js} +1 -1
  141. package/lib/duet/{p-5a8745fb.system.js → p-f5a06ff6.system.js} +1 -1
  142. package/lib/duet/{p-106d0e6c.entry.js → p-f8a52ab0.entry.js} +1 -1
  143. package/lib/duet/{p-cbddc309.entry.js → p-f96da661.entry.js} +1 -1
  144. package/lib/esm/duet-action-button.entry.js +1 -1
  145. package/lib/esm/duet-alert.entry.js +5 -3
  146. package/lib/esm/duet-badge.entry.js +1 -1
  147. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  148. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  149. package/lib/esm/duet-button_2.entry.js +1 -1
  150. package/lib/esm/duet-caption_4.entry.js +1 -1
  151. package/lib/esm/duet-card.entry.js +1 -1
  152. package/lib/esm/duet-checkbox.entry.js +1 -1
  153. package/lib/esm/duet-choice_2.entry.js +17 -8
  154. package/lib/esm/duet-collapsible.entry.js +1 -1
  155. package/lib/esm/duet-combobox.entry.js +1 -1
  156. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  157. package/lib/esm/duet-date-picker.entry.js +2 -2
  158. package/lib/esm/duet-divider_2.entry.js +1 -1
  159. package/lib/esm/duet-editable-table_3.entry.js +1 -1
  160. package/lib/esm/duet-empty-state.entry.js +1 -1
  161. package/lib/esm/duet-fieldset.entry.js +1 -1
  162. package/lib/esm/duet-footer.entry.js +1 -1
  163. package/lib/esm/duet-grid_2.entry.js +1 -1
  164. package/lib/esm/duet-header_2.entry.js +1 -1
  165. package/lib/esm/duet-hero.entry.js +1 -1
  166. package/lib/esm/duet-icon.entry.js +1 -1
  167. package/lib/esm/duet-input_2.entry.js +1 -1
  168. package/lib/esm/duet-layout.entry.js +1 -1
  169. package/lib/esm/duet-list_2.entry.js +1 -1
  170. package/lib/esm/duet-modal.entry.js +2 -2
  171. package/lib/esm/duet-notification_2.entry.js +1 -1
  172. package/lib/esm/duet-number-input.entry.js +1 -1
  173. package/lib/esm/duet-pagination_2.entry.js +1 -1
  174. package/lib/esm/duet-progress.entry.js +1 -1
  175. package/lib/esm/duet-radio_2.entry.js +1 -1
  176. package/lib/esm/duet-range-slider.entry.js +1 -1
  177. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  178. package/lib/esm/duet-select.entry.js +1 -1
  179. package/lib/esm/duet-step_2.entry.js +1 -1
  180. package/lib/esm/duet-textarea.entry.js +1 -1
  181. package/lib/esm/duet-toggle.entry.js +1 -1
  182. package/lib/esm/duet-tooltip.entry.js +1 -1
  183. package/lib/esm/duet-tray.entry.js +1 -1
  184. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  185. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  186. package/lib/esm/duet.js +1 -1
  187. package/lib/esm/{focus-utils-4accac91.js → focus-utils-9e76623d.js} +1 -1
  188. package/lib/esm/{index-3846de98.js → index-0d0e51b6.js} +1 -1
  189. package/lib/esm/loader.js +1 -1
  190. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  191. package/lib/esm-es5/duet-alert.entry.js +1 -1
  192. package/lib/esm-es5/duet-badge.entry.js +1 -1
  193. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  194. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  195. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  196. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  197. package/lib/esm-es5/duet-card.entry.js +1 -1
  198. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  199. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  200. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  201. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  202. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  203. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  204. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  205. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  206. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  207. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  208. package/lib/esm-es5/duet-footer.entry.js +1 -1
  209. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  210. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  211. package/lib/esm-es5/duet-hero.entry.js +1 -1
  212. package/lib/esm-es5/duet-icon.entry.js +1 -1
  213. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  214. package/lib/esm-es5/duet-layout.entry.js +1 -1
  215. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  216. package/lib/esm-es5/duet-modal.entry.js +1 -1
  217. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  218. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  219. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  220. package/lib/esm-es5/duet-progress.entry.js +1 -1
  221. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  222. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  223. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  224. package/lib/esm-es5/duet-select.entry.js +1 -1
  225. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  226. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  227. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  228. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  229. package/lib/esm-es5/duet-tray.entry.js +1 -1
  230. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  231. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  232. package/lib/esm-es5/duet.js +1 -1
  233. package/lib/esm-es5/{focus-utils-4accac91.js → focus-utils-9e76623d.js} +1 -1
  234. package/lib/esm-es5/{index-3846de98.js → index-0d0e51b6.js} +1 -1
  235. package/lib/esm-es5/loader.js +1 -1
  236. package/lib/types/components/duet-alert/duet-alert.d.ts +1 -0
  237. package/lib/types/components/duet-choice/duet-choice.d.ts +4 -0
  238. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -0
  239. package/package.json +5 -5
  240. package/lib/duet/p-17abdfb4.system.entry.js +0 -4
  241. package/lib/duet/p-256578d4.entry.js +0 -4
  242. package/lib/duet/p-53ebaffb.js +0 -4
  243. package/lib/duet/p-a61cf42c.entry.js +0 -4
  244. package/lib/duet/p-d6fe977f.system.entry.js +0 -4
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const bodyScrollLock_es6 = require('./bodyScrollLock.es6-6ef1142a.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
12
- const focusUtils = require('./focus-utils-fed98b6a.js');
12
+ const focusUtils = require('./focus-utils-8089a1a8.js');
13
13
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
14
14
  const languageUtils = require('./language-utils-4f62a7db.js');
15
15
  require('./string-utils-5cadd058.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const languageUtils = require('./language-utils-4f62a7db.js');
11
11
  const actionArrowDownSmall = require('./action-arrow-down-small-ef77a2d1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const jsUtils = require('./js-utils-134e0318.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const languageUtils = require('./language-utils-4f62a7db.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const watchOptions = require('./watch-options-d88afac0.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const tokens_module = require('./tokens.module-ef598645.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const languageUtils = require('./language-utils-4f62a7db.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const stringUtils = require('./string-utils-5cadd058.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const inputUtils = require('./input-utils-b5e8f524.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const languageUtils = require('./language-utils-4f62a7db.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const tokens_module = require('./tokens.module-ef598645.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
 
10
10
  const DuetUploadAriaStatus = class {
11
11
  constructor(hostRef) {
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
 
10
10
  const duetVisuallyHiddenCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}";
11
11
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-b5a163e2.js');
6
+ const index = require('./index-9d0e33db.js');
7
7
  const appGlobals = require('./app-globals-a032b236.js');
8
8
 
9
9
  /*
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-b5a163e2.js');
6
+ const index = require('./index-9d0e33db.js');
7
7
 
8
8
  const focusElement = (element) => {
9
9
  if ("setFocus" in element) {
@@ -24,7 +24,7 @@ function _interopNamespace(e) {
24
24
  }
25
25
 
26
26
  const NAMESPACE = 'duet';
27
- const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"3.0.0"};
27
+ const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"3.0.2"};
28
28
 
29
29
  let scopeId;
30
30
  let contentRef;
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b5a163e2.js');
8
+ const index = require('./index-9d0e33db.js');
9
9
  const appGlobals = require('./app-globals-a032b236.js');
10
10
 
11
11
  /*
@@ -3,9 +3,11 @@
3
3
  */
4
4
  import { Component, Event, h, Host, Prop, State } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
+ import { createID } from "../../utils/create-id";
6
7
  import { getLocaleString } from "../../utils/language-utils";
7
8
  export class DuetAlert {
8
9
  constructor() {
10
+ this.descriptiveId = createID("DuetAlert");
9
11
  /**
10
12
  * Theme of the card.
11
13
  */
@@ -85,7 +87,7 @@ export class DuetAlert {
85
87
  render() {
86
88
  const closeColor = this.theme === "turva" ? "secondary-turva" : "secondary";
87
89
  const role = this.variation === "danger" || this.variation === "warning" ? "alert" : "status";
88
- return (h(Host, { tabindex: "0", class: { "duet-theme-turva": this.theme === "turva", "duet-alert-is-dismissed": this.isDismissed }, role: this.announcements ? role : undefined },
90
+ return (h(Host, { class: { "duet-theme-turva": this.theme === "turva", "duet-alert-is-dismissed": this.isDismissed }, role: this.announcements ? role : undefined },
89
91
  h("div", { class: {
90
92
  "duet-alert": true,
91
93
  "duet-alert-has-icon": !!this.icon,
@@ -98,10 +100,10 @@ export class DuetAlert {
98
100
  h("div", { class: "duet-alert-container" },
99
101
  this.icon && (h("div", { class: "duet-alert-icon" },
100
102
  h("duet-icon", { size: "auto", name: this.icon, color: "currentColor" }))),
101
- h("span", null,
103
+ h("span", { id: this.descriptiveId },
102
104
  h("slot", null))),
103
105
  this.dismissible && (h("div", { class: "duet-alert-dismiss" },
104
- h("duet-button", { variation: "plain", accessibleLabel: this.accessibleLabel, color: closeColor, iconSize: "medium", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: this.handleDismiss, fixed: true }))))));
106
+ h("duet-button", { variation: "plain", accessibleLabel: this.accessibleLabel, accessibleDescribedBy: this.descriptiveId, color: closeColor, iconSize: "medium", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: this.handleDismiss, fixed: true }))))));
105
107
  }
106
108
  static get is() { return "duet-alert"; }
107
109
  static get encapsulation() { return "shadow"; }
@@ -124,6 +124,11 @@
124
124
  border-radius: 4px;
125
125
  transition: background-color 150ms ease;
126
126
  }
127
+ .duet-choice-label.has-before-text .duet-choice-card-icon,
128
+ .duet-choice-label.has-before-text .duet-choice-card-text {
129
+ align-self: flex-start;
130
+ margin-top: 0.25rem;
131
+ }
127
132
  .duet-choice-label > div:last-child {
128
133
  flex: 1;
129
134
  align-self: flex-start;
@@ -11,6 +11,8 @@ import { isEscapeKey, isKeyboardClick, isQuestionKey } from "../../utils/keyboar
11
11
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
12
12
  /**
13
13
  * @slot unnamed default slot - The component’s primary content. All child nodes that do not have a slot attribute defined are inserted into this primary slot.
14
+ * @slot label - Label content.
15
+ * @slot before-text - Content before text can be for example icons or images.
14
16
  * @slot info - Info content. Anything inserted into this slot is displayed in a collapsible info box.
15
17
  * @slot collapsible_header - header that is only added to collapsible element, this header should be used when the components collapsible area contains additional interactive elements (such as form items) and should be user for a short description of the content below it, it is mandatory for good accessibility to use this - and aria-decribe-by will point to it. If you use the collapsible area with simple text - describe-by will point to this area
16
18
  * @slot additional - Additional content. Anything inserted into this slot is displayed as additional content under the label and caption
@@ -205,6 +207,8 @@ export class DuetChoice {
205
207
  this.hasInfo = !!this.element.querySelector("[slot='info']");
206
208
  this.hasHeader = !!this.element.querySelector('[slot="header"]');
207
209
  this.hasAdditional = !!this.element.querySelector("[slot='additional']");
210
+ this.hasLabel = !!this.element.querySelector("[slot='label']");
211
+ this.hasBeforeText = !!this.element.querySelector("[slot='before-text']");
208
212
  }
209
213
  /**
210
214
  * Component event handling.
@@ -300,11 +304,12 @@ export class DuetChoice {
300
304
  "duet-p-0": this.padding === "none",
301
305
  } },
302
306
  h("input", { class: "duet-choice-input", type: this.type, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, disabled: this.disabled || this.groupDisabled, required: this.required, id: identifier, name: this.name, value: this.value, checked: this.checked, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-owns": this.accessibleOwns, "aria-describedby": this.getAriaDescribedby(), onKeyDown: this.handleKeyDown, ref: input => (this.nativeInput = input) }),
303
- h("label", { htmlFor: identifier, class: { "duet-choice-label": true, "no-hover": this.isHovering }, onClick: this.onClick },
307
+ h("label", { htmlFor: identifier, class: { "duet-choice-label": true, "no-hover": this.isHovering, "has-before-text": this.hasBeforeText }, onClick: this.onClick },
308
+ this.hasBeforeText && h("slot", { name: "before-text" }),
304
309
  this.icon && (h("div", { class: "duet-choice-card-icon" },
305
310
  h("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))),
306
- h("div", null,
307
- h("div", null, this.label),
311
+ h("div", { class: "duet-choice-card-text" },
312
+ h("div", null, this.hasLabel ? h("slot", { name: "label" }) : this.label),
308
313
  this.caption && (h("div", null,
309
314
  h("duet-spacer", { size: "xx-small" }),
310
315
  h("duet-caption", { margin: "none", selected: this.checked }, this.caption))),
@@ -4,6 +4,7 @@
4
4
  import { Build, Component, Element, h, Host, Prop, Watch } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  import { findCheckedOption, watchForOptions } from "../../utils/watch-options";
7
+ const duetChoiceSelector = ":scope duet-choice:not(:scope duet-choice duet-choice-group duet-choice)";
7
8
  export class DuetChoiceGroup {
8
9
  constructor() {
9
10
  /**
@@ -49,6 +50,9 @@ export class DuetChoiceGroup {
49
50
  * makes sure that contents are stacked vertically on mobile.
50
51
  */
51
52
  this.responsive = false;
53
+ this.getChoices = () => {
54
+ return Array.from(this.element.querySelectorAll(duetChoiceSelector));
55
+ };
52
56
  /**
53
57
  * Component event handling.
54
58
  */
@@ -74,7 +78,7 @@ export class DuetChoiceGroup {
74
78
  }
75
79
  const el = this.element;
76
80
  if (this.value === undefined) {
77
- const choice = findCheckedOption(el, ":scope > duet-choice");
81
+ const choice = findCheckedOption(el, duetChoiceSelector);
78
82
  if (choice !== undefined) {
79
83
  await choice.componentOnReady();
80
84
  if (this.value === undefined) {
@@ -82,10 +86,13 @@ export class DuetChoiceGroup {
82
86
  }
83
87
  }
84
88
  }
85
- this.mutationO = watchForOptions(el, ":scope > duet-choice", newOption => {
89
+ this.mutationO = watchForOptions(el, duetChoiceSelector, newOption => {
86
90
  if (newOption !== undefined) {
87
91
  newOption.componentOnReady().then(() => {
88
- this.value = newOption.value;
92
+ const choices = this.getChoices();
93
+ if (choices.includes(newOption)) {
94
+ this.value = newOption.value;
95
+ }
89
96
  });
90
97
  }
91
98
  else {
@@ -114,7 +121,7 @@ export class DuetChoiceGroup {
114
121
  * Make sure we get all choices first so values are up to date prior
115
122
  * to caching the choice group value
116
123
  */
117
- const choices = Array.from(this.element.querySelectorAll(":scope > duet-choice, :scope .duet-choice-group > duet-choice"));
124
+ const choices = this.getChoices();
118
125
  const { value } = this;
119
126
  let hasChecked = false;
120
127
  // Walk the DOM in reverse order, since the last selected one wins
@@ -2,7 +2,7 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  const NAMESPACE = 'duet';
5
- const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"3.0.0"};
5
+ const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"3.0.2"};
6
6
 
7
7
  let scopeId;
8
8
  let contentRef;
@@ -2485,6 +2485,7 @@ const DuetAlert$1 = class extends H {
2485
2485
  this.__registerHost();
2486
2486
  this.__attachShadow();
2487
2487
  this.duetDismiss = createEvent$2(this, "duetDismiss", 7);
2488
+ this.descriptiveId = createID("DuetAlert");
2488
2489
  /**
2489
2490
  * Theme of the card.
2490
2491
  */
@@ -2564,7 +2565,7 @@ const DuetAlert$1 = class extends H {
2564
2565
  render() {
2565
2566
  const closeColor = this.theme === "turva" ? "secondary-turva" : "secondary";
2566
2567
  const role = this.variation === "danger" || this.variation === "warning" ? "alert" : "status";
2567
- return (h$1(Host, { tabindex: "0", class: { "duet-theme-turva": this.theme === "turva", "duet-alert-is-dismissed": this.isDismissed }, role: this.announcements ? role : undefined }, h$1("div", { class: {
2568
+ return (h$1(Host, { class: { "duet-theme-turva": this.theme === "turva", "duet-alert-is-dismissed": this.isDismissed }, role: this.announcements ? role : undefined }, h$1("div", { class: {
2568
2569
  "duet-alert": true,
2569
2570
  "duet-alert-has-icon": !!this.icon,
2570
2571
  "duet-alert-is-dismissible": this.dismissible,
@@ -2572,7 +2573,7 @@ const DuetAlert$1 = class extends H {
2572
2573
  "duet-m-0": this.margin === "none",
2573
2574
  [this.variation]: true,
2574
2575
  "duet-theme-turva": this.theme === "turva",
2575
- } }, h$1("div", { class: "duet-alert-container" }, this.icon && (h$1("div", { class: "duet-alert-icon" }, h$1("duet-icon", { size: "auto", name: this.icon, color: "currentColor" }))), h$1("span", null, h$1("slot", null))), this.dismissible && (h$1("div", { class: "duet-alert-dismiss" }, h$1("duet-button", { variation: "plain", accessibleLabel: this.accessibleLabel, color: closeColor, iconSize: "medium", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: this.handleDismiss, fixed: true }))))));
2576
+ } }, h$1("div", { class: "duet-alert-container" }, this.icon && (h$1("div", { class: "duet-alert-icon" }, h$1("duet-icon", { size: "auto", name: this.icon, color: "currentColor" }))), h$1("span", { id: this.descriptiveId }, h$1("slot", null))), this.dismissible && (h$1("div", { class: "duet-alert-dismiss" }, h$1("duet-button", { variation: "plain", accessibleLabel: this.accessibleLabel, accessibleDescribedBy: this.descriptiveId, color: closeColor, iconSize: "medium", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: this.handleDismiss, fixed: true }))))));
2576
2577
  }
2577
2578
  static get style() { return duetAlertCss; }
2578
2579
  };
@@ -3426,7 +3427,7 @@ const FocusGuard = ({ moveFocusTo }) => {
3426
3427
  return h("div", { class: "duet-focus-guard", "aria-hidden": "true", tabIndex: 0, onFocus: () => focusElement(moveFocusTo) });
3427
3428
  };
3428
3429
 
3429
- const duetChoiceCss = "*.sc-duet-choice,*.sc-duet-choice::after,*.sc-duet-choice::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;flex-direction:column;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-choice-h:last-child,.sc-duet-choice-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){.sc-duet-choice-h{width:100%}}.duet-expand.sc-duet-choice-h{width:100% !important}.duet-m-0.sc-duet-choice-h{margin:0 !important}.duet-fixed.sc-duet-choice-h{width:auto !important}.vertical.sc-duet-choice-h{margin-right:0 !important}.horizontal.sc-duet-choice-h{margin-bottom:0 !important}@media (min-width: 48em){.horizontal-responsive.sc-duet-choice-h{margin-bottom:0 !important;margin-right:16px !important}.horizontal-responsive.sc-duet-choice-h:last-child,.horizontal-responsive.sc-duet-choice-h:last-of-type{margin-right:0 !important}}.sc-duet-choice-h:last-child:not(:only-child){margin-right:0 !important}.duet-choice-card.sc-duet-choice{position:relative;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:400;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#00294d !important;text-align:left;background:white;border-width:2px}.duet-choice-card.duet-p-0.sc-duet-choice{padding:0 !important}.duet-choice-card.duet-m-0.sc-duet-choice{margin:0 !important}.duet-theme-turva.sc-duet-choice .duet-choice-card.sc-duet-choice{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 !important}.duet-choice-card-flextainer.sc-duet-choice{display:flex}.duet-choice-label.sc-duet-choice{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:flex;gap:1rem;align-items:center;justify-content:flex-start;width:100%;height:100%;min-height:3.875rem;padding:1rem;font-size:1rem;font-weight:600;text-decoration:none;word-break:break-word;cursor:pointer;border:2px solid #e1e3e6;border-radius:4px;transition:background-color 150ms ease}.duet-choice-label.sc-duet-choice>div.sc-duet-choice:last-child{flex:1;align-self:flex-start;justify-self:flex-end;margin-top:0.25rem}.has-info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-top-right-radius:0;border-bottom-right-radius:0}.info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom-right-radius:0;border-bottom-left-radius:0}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#909599}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#909599}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#747475}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-choice-label.sc-duet-choice:active{opacity:0.75;transition:none !important}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#0077b3 !important;background:#f3f9fc;border-color:#0077b3 !important}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#0077b3}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#171c3a !important;background:#f5f5f7;border-color:#171c3a !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#c60c30}.checked.collapsible.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom:0 !important;border-bottom-right-radius:0;border-bottom-left-radius:0}input.sc-duet-choice:focus{outline:0}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3)}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2)}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#657787 !important;cursor:default !important;background:#f5f8fa !important;border-color:#e1e3e6 !important}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#657787 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#747475 !important;background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#747475 !important}.checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e1e3e6 !important;border-color:#e1e3e6 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-checkmark-container.sc-duet-choice{position:relative;width:20px;height:20px;margin-left:auto;border:1px solid #909599;border-radius:4px;transition:border 300ms ease}.duet-theme-turva.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#747475}.checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#0077b3;border-color:#0077b3;transition:none}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#171c3a;border-color:#171c3a !important}.duet-checkmark-container.duet-checkmark-radio.sc-duet-choice{border-radius:50%}[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfcfd1 !important}.checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfcfd1 !important}.duet-checkmark.sc-duet-choice{position:absolute;top:10px;left:3px;width:5.3333333333px;height:11.8518518519px;border-top:2px solid white;border-right:2px solid white;opacity:1;transform:scaleX(-1) rotate(135deg) translateZ(0);transform-origin:left top;animation-name:duet-checkmark;animation-duration:600ms;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes duet-checkmark{0%{width:0;height:0;opacity:1}20%{width:5.3333333333px;height:0;opacity:1}40%,100%{width:5.3333333333px;height:11.8518518519px;opacity:1}}.duet-choice-card-icon.sc-duet-choice{position:relative}.duet-choice-card-icon.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-section-hidden.sc-duet-choice{display:none}.duet-choice-card-info.duet-choice-card-collapsed.sc-duet-choice,.duet-choice-card-collapsed.duet-choice-card-collapsible.sc-duet-choice{position:relative;width:auto;padding:0 !important;background:unset !important;border:0;border-radius:0}.duet-choice-card-info.sc-duet-choice,.duet-choice-card-collapsible.sc-duet-choice{padding:28px !important;position:relative;z-index:200;width:100%;font-weight:400;color:#00294d;border:2px solid #e1e3e6;border-top:0;border-radius:0 0 4px 4px}.duet-theme-turva.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.duet-theme-turva.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{color:#171c3a;border-color:#171c3a}.checked.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.checked.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{display:block}.duet-choice-card-info-expanded.sc-duet-choice,.duet-choice-card-collapsible-expanded.sc-duet-choice{display:block}.duet-choice-card-collapsible.sc-duet-choice{background:white;border:2px solid #0077b3;border-top:0}.duet-choice-card-collapsible.duet-theme-turva.sc-duet-choice{background:white;border-color:#171c3a}.duet-choice-card-collapsible-disabled.sc-duet-choice{background:#f5f8fa;border-color:#e1e3e6}.duet-choice-card-collapsible-disabled.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-card-info.sc-duet-choice{font-size:0.875rem;line-height:1.5;background:#f5f8fa;transition:150ms ease-out}.duet-choice-card-info.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-info-toggle.sc-duet-choice{display:flex;flex-shrink:0;align-items:flex-start;justify-content:center;width:57.6px;padding-top:1.25rem;cursor:pointer;background:white;border:2px solid #e1e3e6;border-left:0 none;border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-appearance:none;appearance:none}.duet-choice-info-toggle[aria-expanded=true].sc-duet-choice{background:#f5f8fa;border-bottom-color:transparent;border-bottom-right-radius:0}.duet-choice-info-toggle[disabled].sc-duet-choice{pointer-events:none;background:#f5f8fa !important;border-color:#e1e3e6 !important}.duet-choice-info-toggle[disabled].sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#909599 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice{background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#747475 !important}.duet-choice-info-toggle.sc-duet-choice:focus{outline:none}.user-is-tabbing.sc-duet-choice-h .duet-choice-info-toggle.sc-duet-choice:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-choice-info-toggle.sc-duet-choice{border-left-color:#909599}.checked.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice{border-left-color:#0077b3 !important}.duet-choice-info-toggle.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#0077b3}.duet-theme-turva.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#c60c30}.duet-choice-input.sc-duet-choice{position:absolute !important;width:auto;height:auto;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);color:transparent}";
3430
+ const duetChoiceCss = "*.sc-duet-choice,*.sc-duet-choice::after,*.sc-duet-choice::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;flex-direction:column;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-choice-h:last-child,.sc-duet-choice-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){.sc-duet-choice-h{width:100%}}.duet-expand.sc-duet-choice-h{width:100% !important}.duet-m-0.sc-duet-choice-h{margin:0 !important}.duet-fixed.sc-duet-choice-h{width:auto !important}.vertical.sc-duet-choice-h{margin-right:0 !important}.horizontal.sc-duet-choice-h{margin-bottom:0 !important}@media (min-width: 48em){.horizontal-responsive.sc-duet-choice-h{margin-bottom:0 !important;margin-right:16px !important}.horizontal-responsive.sc-duet-choice-h:last-child,.horizontal-responsive.sc-duet-choice-h:last-of-type{margin-right:0 !important}}.sc-duet-choice-h:last-child:not(:only-child){margin-right:0 !important}.duet-choice-card.sc-duet-choice{position:relative;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:400;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#00294d !important;text-align:left;background:white;border-width:2px}.duet-choice-card.duet-p-0.sc-duet-choice{padding:0 !important}.duet-choice-card.duet-m-0.sc-duet-choice{margin:0 !important}.duet-theme-turva.sc-duet-choice .duet-choice-card.sc-duet-choice{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 !important}.duet-choice-card-flextainer.sc-duet-choice{display:flex}.duet-choice-label.sc-duet-choice{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:flex;gap:1rem;align-items:center;justify-content:flex-start;width:100%;height:100%;min-height:3.875rem;padding:1rem;font-size:1rem;font-weight:600;text-decoration:none;word-break:break-word;cursor:pointer;border:2px solid #e1e3e6;border-radius:4px;transition:background-color 150ms ease}.duet-choice-label.has-before-text.sc-duet-choice .duet-choice-card-icon.sc-duet-choice,.duet-choice-label.has-before-text.sc-duet-choice .duet-choice-card-text.sc-duet-choice{align-self:flex-start;margin-top:0.25rem}.duet-choice-label.sc-duet-choice>div.sc-duet-choice:last-child{flex:1;align-self:flex-start;justify-self:flex-end;margin-top:0.25rem}.has-info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-top-right-radius:0;border-bottom-right-radius:0}.info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom-right-radius:0;border-bottom-left-radius:0}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#909599}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#909599}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#747475}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-choice-label.sc-duet-choice:active{opacity:0.75;transition:none !important}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#0077b3 !important;background:#f3f9fc;border-color:#0077b3 !important}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#0077b3}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#171c3a !important;background:#f5f5f7;border-color:#171c3a !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#c60c30}.checked.collapsible.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom:0 !important;border-bottom-right-radius:0;border-bottom-left-radius:0}input.sc-duet-choice:focus{outline:0}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3)}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2)}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#657787 !important;cursor:default !important;background:#f5f8fa !important;border-color:#e1e3e6 !important}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#657787 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#747475 !important;background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#747475 !important}.checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e1e3e6 !important;border-color:#e1e3e6 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-checkmark-container.sc-duet-choice{position:relative;width:20px;height:20px;margin-left:auto;border:1px solid #909599;border-radius:4px;transition:border 300ms ease}.duet-theme-turva.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#747475}.checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#0077b3;border-color:#0077b3;transition:none}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#171c3a;border-color:#171c3a !important}.duet-checkmark-container.duet-checkmark-radio.sc-duet-choice{border-radius:50%}[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfcfd1 !important}.checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfcfd1 !important}.duet-checkmark.sc-duet-choice{position:absolute;top:10px;left:3px;width:5.3333333333px;height:11.8518518519px;border-top:2px solid white;border-right:2px solid white;opacity:1;transform:scaleX(-1) rotate(135deg) translateZ(0);transform-origin:left top;animation-name:duet-checkmark;animation-duration:600ms;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes duet-checkmark{0%{width:0;height:0;opacity:1}20%{width:5.3333333333px;height:0;opacity:1}40%,100%{width:5.3333333333px;height:11.8518518519px;opacity:1}}.duet-choice-card-icon.sc-duet-choice{position:relative}.duet-choice-card-icon.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-section-hidden.sc-duet-choice{display:none}.duet-choice-card-info.duet-choice-card-collapsed.sc-duet-choice,.duet-choice-card-collapsed.duet-choice-card-collapsible.sc-duet-choice{position:relative;width:auto;padding:0 !important;background:unset !important;border:0;border-radius:0}.duet-choice-card-info.sc-duet-choice,.duet-choice-card-collapsible.sc-duet-choice{padding:28px !important;position:relative;z-index:200;width:100%;font-weight:400;color:#00294d;border:2px solid #e1e3e6;border-top:0;border-radius:0 0 4px 4px}.duet-theme-turva.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.duet-theme-turva.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{color:#171c3a;border-color:#171c3a}.checked.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.checked.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{display:block}.duet-choice-card-info-expanded.sc-duet-choice,.duet-choice-card-collapsible-expanded.sc-duet-choice{display:block}.duet-choice-card-collapsible.sc-duet-choice{background:white;border:2px solid #0077b3;border-top:0}.duet-choice-card-collapsible.duet-theme-turva.sc-duet-choice{background:white;border-color:#171c3a}.duet-choice-card-collapsible-disabled.sc-duet-choice{background:#f5f8fa;border-color:#e1e3e6}.duet-choice-card-collapsible-disabled.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-card-info.sc-duet-choice{font-size:0.875rem;line-height:1.5;background:#f5f8fa;transition:150ms ease-out}.duet-choice-card-info.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-info-toggle.sc-duet-choice{display:flex;flex-shrink:0;align-items:flex-start;justify-content:center;width:57.6px;padding-top:1.25rem;cursor:pointer;background:white;border:2px solid #e1e3e6;border-left:0 none;border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-appearance:none;appearance:none}.duet-choice-info-toggle[aria-expanded=true].sc-duet-choice{background:#f5f8fa;border-bottom-color:transparent;border-bottom-right-radius:0}.duet-choice-info-toggle[disabled].sc-duet-choice{pointer-events:none;background:#f5f8fa !important;border-color:#e1e3e6 !important}.duet-choice-info-toggle[disabled].sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#909599 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice{background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#747475 !important}.duet-choice-info-toggle.sc-duet-choice:focus{outline:none}.user-is-tabbing.sc-duet-choice-h .duet-choice-info-toggle.sc-duet-choice:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-choice-info-toggle.sc-duet-choice{border-left-color:#909599}.checked.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice{border-left-color:#0077b3 !important}.duet-choice-info-toggle.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#0077b3}.duet-theme-turva.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#c60c30}.duet-choice-input.sc-duet-choice{position:absolute !important;width:auto;height:auto;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);color:transparent}";
3430
3431
 
3431
3432
  const DuetChoice$1 = class extends H {
3432
3433
  constructor() {
@@ -3623,6 +3624,8 @@ const DuetChoice$1 = class extends H {
3623
3624
  this.hasInfo = !!this.element.querySelector("[slot='info']");
3624
3625
  this.hasHeader = !!this.element.querySelector('[slot="header"]');
3625
3626
  this.hasAdditional = !!this.element.querySelector("[slot='additional']");
3627
+ this.hasLabel = !!this.element.querySelector("[slot='label']");
3628
+ this.hasBeforeText = !!this.element.querySelector("[slot='before-text']");
3626
3629
  }
3627
3630
  /**
3628
3631
  * Component event handling.
@@ -3714,7 +3717,7 @@ const DuetChoice$1 = class extends H {
3714
3717
  info: this.isInfoOpen,
3715
3718
  collapsible: this.collapsible,
3716
3719
  "duet-p-0": this.padding === "none",
3717
- } }, h$1("input", { class: "duet-choice-input", type: this.type, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, disabled: this.disabled || this.groupDisabled, required: this.required, id: identifier, name: this.name, value: this.value, checked: this.checked, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-owns": this.accessibleOwns, "aria-describedby": this.getAriaDescribedby(), onKeyDown: this.handleKeyDown, ref: input => (this.nativeInput = input) }), h$1("label", { htmlFor: identifier, class: { "duet-choice-label": true, "no-hover": this.isHovering }, onClick: this.onClick }, this.icon && (h$1("div", { class: "duet-choice-card-icon" }, h$1("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))), h$1("div", null, h$1("div", null, this.label), this.caption && (h$1("div", null, h$1("duet-spacer", { size: "xx-small" }), h$1("duet-caption", { margin: "none", selected: this.checked }, this.caption))), this.hasAdditional && (h$1("div", null, h$1("duet-spacer", { size: "xx-small" }), h$1("slot", { name: "additional" })))), h$1("div", null, h$1("div", { class: { "duet-checkmark-container": true, "duet-checkmark-radio": this.type === "radio" } }, this.checked && h$1("div", { class: "duet-checkmark" }))))), this.hasInfo && !this.collapsible && (h$1("button", { ref: button => (this.infoButtonEl = button), id: this.infoButtonId, class: {
3720
+ } }, h$1("input", { class: "duet-choice-input", type: this.type, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, disabled: this.disabled || this.groupDisabled, required: this.required, id: identifier, name: this.name, value: this.value, checked: this.checked, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-owns": this.accessibleOwns, "aria-describedby": this.getAriaDescribedby(), onKeyDown: this.handleKeyDown, ref: input => (this.nativeInput = input) }), h$1("label", { htmlFor: identifier, class: { "duet-choice-label": true, "no-hover": this.isHovering, "has-before-text": this.hasBeforeText }, onClick: this.onClick }, this.hasBeforeText && h$1("slot", { name: "before-text" }), this.icon && (h$1("div", { class: "duet-choice-card-icon" }, h$1("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))), h$1("div", { class: "duet-choice-card-text" }, h$1("div", null, this.hasLabel ? h$1("slot", { name: "label" }) : this.label), this.caption && (h$1("div", null, h$1("duet-spacer", { size: "xx-small" }), h$1("duet-caption", { margin: "none", selected: this.checked }, this.caption))), this.hasAdditional && (h$1("div", null, h$1("duet-spacer", { size: "xx-small" }), h$1("slot", { name: "additional" })))), h$1("div", null, h$1("div", { class: { "duet-checkmark-container": true, "duet-checkmark-radio": this.type === "radio" } }, this.checked && h$1("div", { class: "duet-checkmark" }))))), this.hasInfo && !this.collapsible && (h$1("button", { ref: button => (this.infoButtonEl = button), id: this.infoButtonId, class: {
3718
3721
  "duet-choice-info-toggle": true,
3719
3722
  "duet-theme-turva": this.theme === "turva",
3720
3723
  }, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onClick: this.toggleInfo, disabled: this.disabled || this.groupDisabled, "aria-expanded": this.isInfoOpen ? "true" : "false", "aria-label": `${this.infoLabel} ${this.label}`, "aria-controls": this.expandId, "aria-flowto": this.expandId, tabindex: this.type === "radio" && !this.checked ? "-1" : "0", type: "button" }, h$1("duet-visually-hidden", { "aria-hidden": !this.isBlurred ? "true" : "false" }, this.accessibleLabelInfoButton), h$1("div", { class: "duet-choice-info-icon" }, h$1("duet-icon", { icon: messagingInfo.svg, margin: "none", size: "small", color: "currentColor" }))))), this.collapsible || this.hasInfo ? (h$1("div", { class: this.getClassNames(), id: this.expandId }, h$1("span", { class: {
@@ -3781,6 +3784,7 @@ const findCheckedOption = (el, tagName) => {
3781
3784
 
3782
3785
  const duetChoiceGroupCss = "*.sc-duet-choice-group,*.sc-duet-choice-group::after,*.sc-duet-choice-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:block}@media (min-width: 48em){.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:flex;margin-bottom:0}}.horizontal.sc-duet-choice-group-h .duet-choice-group.duet-no-stacking.sc-duet-choice-group{display:flex}.duet-choice-group.sc-duet-choice-group{position:relative;width:100%;margin-bottom:-12px}";
3783
3786
 
3787
+ const duetChoiceSelector = ":scope duet-choice:not(:scope duet-choice duet-choice-group duet-choice)";
3784
3788
  const DuetChoiceGroup$1 = class extends H {
3785
3789
  constructor() {
3786
3790
  super();
@@ -3828,6 +3832,9 @@ const DuetChoiceGroup$1 = class extends H {
3828
3832
  * makes sure that contents are stacked vertically on mobile.
3829
3833
  */
3830
3834
  this.responsive = false;
3835
+ this.getChoices = () => {
3836
+ return Array.from(this.element.querySelectorAll(duetChoiceSelector));
3837
+ };
3831
3838
  /**
3832
3839
  * Component event handling.
3833
3840
  */
@@ -3850,7 +3857,7 @@ const DuetChoiceGroup$1 = class extends H {
3850
3857
  async connectedCallback() {
3851
3858
  const el = this.element;
3852
3859
  if (this.value === undefined) {
3853
- const choice = findCheckedOption(el, ":scope > duet-choice");
3860
+ const choice = findCheckedOption(el, duetChoiceSelector);
3854
3861
  if (choice !== undefined) {
3855
3862
  await choice.componentOnReady();
3856
3863
  if (this.value === undefined) {
@@ -3858,10 +3865,13 @@ const DuetChoiceGroup$1 = class extends H {
3858
3865
  }
3859
3866
  }
3860
3867
  }
3861
- this.mutationO = watchForOptions(el, ":scope > duet-choice", newOption => {
3868
+ this.mutationO = watchForOptions(el, duetChoiceSelector, newOption => {
3862
3869
  if (newOption !== undefined) {
3863
3870
  newOption.componentOnReady().then(() => {
3864
- this.value = newOption.value;
3871
+ const choices = this.getChoices();
3872
+ if (choices.includes(newOption)) {
3873
+ this.value = newOption.value;
3874
+ }
3865
3875
  });
3866
3876
  }
3867
3877
  else {
@@ -3887,7 +3897,7 @@ const DuetChoiceGroup$1 = class extends H {
3887
3897
  * Make sure we get all choices first so values are up to date prior
3888
3898
  * to caching the choice group value
3889
3899
  */
3890
- const choices = Array.from(this.element.querySelectorAll(":scope > duet-choice, :scope .duet-choice-group > duet-choice"));
3900
+ const choices = this.getChoices();
3891
3901
  const { value } = this;
3892
3902
  let hasChecked = false;
3893
3903
  // Walk the DOM in reverse order, since the last selected one wins