@riverty/web-components 6.3.0 → 6.3.1

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 (397) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
  3. package/dist/cjs/focusable-Oll_rmtP.js +28 -0
  4. package/dist/cjs/formData-B2DZyLxP.js +44 -0
  5. package/dist/cjs/index-BnETQtSf.js +1834 -0
  6. package/dist/cjs/index.cjs.js +37 -0
  7. package/dist/cjs/loader.cjs.js +13 -0
  8. package/dist/cjs/r-accordion-panel.cjs.entry.js +24 -0
  9. package/dist/cjs/r-accordion-section.cjs.entry.js +125 -0
  10. package/dist/cjs/r-accordion-trigger.cjs.entry.js +93 -0
  11. package/dist/cjs/r-accordion.cjs.entry.js +20 -0
  12. package/dist/cjs/r-alert.cjs.entry.js +146 -0
  13. package/dist/cjs/r-badge.cjs.entry.js +41 -0
  14. package/dist/cjs/r-button.cjs.entry.js +149 -0
  15. package/dist/cjs/r-checkbox-group.cjs.entry.js +237 -0
  16. package/dist/cjs/r-checkbox.cjs.entry.js +274 -0
  17. package/dist/cjs/r-design-system-devtools.cjs.entry.js +31 -0
  18. package/dist/cjs/r-dialog.cjs.entry.js +107 -0
  19. package/dist/cjs/r-hint_2.cjs.entry.js +50 -0
  20. package/dist/cjs/r-icon-button_2.cjs.entry.js +492 -0
  21. package/dist/cjs/r-icon.cjs.entry.js +284 -0
  22. package/dist/cjs/r-illustration.cjs.entry.js +396 -0
  23. package/dist/cjs/r-input-code.cjs.entry.js +437 -0
  24. package/dist/cjs/r-input-date.cjs.entry.js +524 -0
  25. package/dist/cjs/r-input-password.cjs.entry.js +270 -0
  26. package/dist/cjs/r-input-phone-number.cjs.entry.js +2525 -0
  27. package/dist/cjs/r-input.cjs.entry.js +618 -0
  28. package/dist/cjs/r-list-item.cjs.entry.js +109 -0
  29. package/dist/cjs/r-pagination.cjs.entry.js +320 -0
  30. package/dist/cjs/r-panel.cjs.entry.js +184 -0
  31. package/dist/cjs/r-popover-action.cjs.entry.js +80 -0
  32. package/dist/cjs/r-popover-content.cjs.entry.js +62 -0
  33. package/dist/cjs/r-popover-headline.cjs.entry.js +28 -0
  34. package/dist/cjs/r-popover-trigger.cjs.entry.js +70 -0
  35. package/dist/cjs/r-popover.cjs.entry.js +347 -0
  36. package/dist/cjs/r-progress-bar.cjs.entry.js +25 -0
  37. package/dist/cjs/r-radio-button-description.cjs.entry.js +18 -0
  38. package/dist/cjs/r-radio-button-leading.cjs.entry.js +18 -0
  39. package/dist/cjs/r-radio-button-title.cjs.entry.js +18 -0
  40. package/dist/cjs/r-radio-button-trailing.cjs.entry.js +18 -0
  41. package/dist/cjs/r-radio-button.cjs.entry.js +139 -0
  42. package/dist/cjs/r-radio-group.cjs.entry.js +428 -0
  43. package/dist/cjs/r-select-option.cjs.entry.js +130 -0
  44. package/dist/cjs/r-select.cjs.entry.js +1107 -0
  45. package/dist/cjs/r-skip-link.cjs.entry.js +19 -0
  46. package/dist/cjs/r-stepper-item.cjs.entry.js +42 -0
  47. package/dist/cjs/r-stepper.cjs.entry.js +99 -0
  48. package/dist/cjs/r-tab-panel.cjs.entry.js +26 -0
  49. package/dist/cjs/r-tab.cjs.entry.js +62 -0
  50. package/dist/cjs/r-tabs-list.cjs.entry.js +175 -0
  51. package/dist/cjs/r-tabs.cjs.entry.js +277 -0
  52. package/dist/cjs/r-textarea.cjs.entry.js +270 -0
  53. package/dist/cjs/r-toast-group.cjs.entry.js +46 -0
  54. package/dist/cjs/r-toast.cjs.entry.js +314 -0
  55. package/dist/cjs/style-observer-D9zSP9wP.js +1118 -0
  56. package/dist/cjs/theming-NqxjhVJS.js +109 -0
  57. package/dist/cjs/web-components.cjs.js +25 -0
  58. package/dist/collection/collection-manifest.json +60 -0
  59. package/dist/collection/components/accordion/accordion.css +24 -0
  60. package/dist/collection/components/accordion/accordion.js +90 -0
  61. package/dist/collection/components/accordion/exports.js +1 -0
  62. package/dist/collection/components/accordion-panel/accordion-panel.css +50 -0
  63. package/dist/collection/components/accordion-panel/accordion-panel.js +86 -0
  64. package/dist/collection/components/accordion-section/accordion-section.css +27 -0
  65. package/dist/collection/components/accordion-section/accordion-section.js +235 -0
  66. package/dist/collection/components/accordion-trigger/accordion-trigger.css +93 -0
  67. package/dist/collection/components/accordion-trigger/accordion-trigger.js +220 -0
  68. package/dist/collection/components/alert/alert.css +120 -0
  69. package/dist/collection/components/alert/alert.js +526 -0
  70. package/dist/collection/components/alert/exports.js +2 -0
  71. package/dist/collection/components/badge/badge.css +62 -0
  72. package/dist/collection/components/badge/badge.js +124 -0
  73. package/dist/collection/components/badge/exports.js +1 -0
  74. package/dist/collection/components/button/button.css +180 -0
  75. package/dist/collection/components/button/button.js +510 -0
  76. package/dist/collection/components/button/exports.js +5 -0
  77. package/dist/collection/components/checkbox/checkbox.css +116 -0
  78. package/dist/collection/components/checkbox/checkbox.js +803 -0
  79. package/dist/collection/components/checkbox-group/checkbox-group.css +48 -0
  80. package/dist/collection/components/checkbox-group/checkbox-group.js +744 -0
  81. package/dist/collection/components/design-system-devtools/design-system-devtools.js +59 -0
  82. package/dist/collection/components/dialog/dialog.css +125 -0
  83. package/dist/collection/components/dialog/dialog.js +345 -0
  84. package/dist/collection/components/dialog/exports.js +9 -0
  85. package/dist/collection/components/hint/exports.js +1 -0
  86. package/dist/collection/components/hint/hint.css +63 -0
  87. package/dist/collection/components/hint/hint.js +114 -0
  88. package/dist/collection/components/icon/all-kit.js +2 -0
  89. package/dist/collection/components/icon/data.js +90 -0
  90. package/dist/collection/components/icon/exports.js +7 -0
  91. package/dist/collection/components/icon/icon.css +105 -0
  92. package/dist/collection/components/icon/icon.js +379 -0
  93. package/dist/collection/components/icon/riverty-kit.js +2 -0
  94. package/dist/collection/components/icon-button/icon-button.css +105 -0
  95. package/dist/collection/components/icon-button/icon-button.js +343 -0
  96. package/dist/collection/components/illustration/data.js +112 -0
  97. package/dist/collection/components/illustration/exports.js +3 -0
  98. package/dist/collection/components/illustration/illustration.css +52 -0
  99. package/dist/collection/components/illustration/illustration.js +540 -0
  100. package/dist/collection/components/illustration/illustrations-ui-kit.js +2 -0
  101. package/dist/collection/components/input/exports.js +62 -0
  102. package/dist/collection/components/input/input.css +186 -0
  103. package/dist/collection/components/input/input.js +1861 -0
  104. package/dist/collection/components/input-code/exports.js +2 -0
  105. package/dist/collection/components/input-code/input-code.css +127 -0
  106. package/dist/collection/components/input-code/input-code.js +1165 -0
  107. package/dist/collection/components/input-date/exports.js +1 -0
  108. package/dist/collection/components/input-date/input-date.css +148 -0
  109. package/dist/collection/components/input-date/input-date.js +1254 -0
  110. package/dist/collection/components/input-password/exports.js +1 -0
  111. package/dist/collection/components/input-password/input-password.css +25 -0
  112. package/dist/collection/components/input-password/input-password.js +1077 -0
  113. package/dist/collection/components/input-phone-number/input-phone-number.css +61 -0
  114. package/dist/collection/components/input-phone-number/input-phone-number.js +893 -0
  115. package/dist/collection/components/label/label.css +38 -0
  116. package/dist/collection/components/label/label.js +47 -0
  117. package/dist/collection/components/list-item/list-item/exports.js +2 -0
  118. package/dist/collection/components/list-item/list-item/list-item.css +199 -0
  119. package/dist/collection/components/list-item/list-item/list-item.js +467 -0
  120. package/dist/collection/components/pagination/exports.js +3 -0
  121. package/dist/collection/components/pagination/pagination.css +118 -0
  122. package/dist/collection/components/pagination/pagination.js +814 -0
  123. package/dist/collection/components/panel/exports.js +1 -0
  124. package/dist/collection/components/panel/panel.css +192 -0
  125. package/dist/collection/components/panel/panel.js +473 -0
  126. package/dist/collection/components/popover/exports.js +3 -0
  127. package/dist/collection/components/popover/popover.css +251 -0
  128. package/dist/collection/components/popover/popover.js +741 -0
  129. package/dist/collection/components/popover-action/popover-action.css +21 -0
  130. package/dist/collection/components/popover-action/popover-action.js +150 -0
  131. package/dist/collection/components/popover-content/popover-content.css +9 -0
  132. package/dist/collection/components/popover-content/popover-content.js +130 -0
  133. package/dist/collection/components/popover-headline/popover-headline.css +7 -0
  134. package/dist/collection/components/popover-headline/popover-headline.js +28 -0
  135. package/dist/collection/components/popover-trigger/exports.js +1 -0
  136. package/dist/collection/components/popover-trigger/popover-trigger.css +4 -0
  137. package/dist/collection/components/popover-trigger/popover-trigger.js +163 -0
  138. package/dist/collection/components/progress-bar/progress-bar.css +41 -0
  139. package/dist/collection/components/progress-bar/progress-bar.js +71 -0
  140. package/dist/collection/components/radio-button/radio-button.css +126 -0
  141. package/dist/collection/components/radio-button/radio-button.js +559 -0
  142. package/dist/collection/components/radio-button-description/radio-button-description.css +5 -0
  143. package/dist/collection/components/radio-button-description/radio-button-description.js +22 -0
  144. package/dist/collection/components/radio-button-leading/radio-button-leading.css +3 -0
  145. package/dist/collection/components/radio-button-leading/radio-button-leading.js +22 -0
  146. package/dist/collection/components/radio-button-title/radio-button-title.css +8 -0
  147. package/dist/collection/components/radio-button-title/radio-button-title.js +22 -0
  148. package/dist/collection/components/radio-button-trailing/radio-button-trailing.css +6 -0
  149. package/dist/collection/components/radio-button-trailing/radio-button-trailing.js +22 -0
  150. package/dist/collection/components/radio-group/exports.js +1 -0
  151. package/dist/collection/components/radio-group/radio-group.css +65 -0
  152. package/dist/collection/components/radio-group/radio-group.js +1023 -0
  153. package/dist/collection/components/select/exports.js +1 -0
  154. package/dist/collection/components/select/select.css +247 -0
  155. package/dist/collection/components/select/select.js +2038 -0
  156. package/dist/collection/components/select-option/select-option.css +93 -0
  157. package/dist/collection/components/select-option/select-option.js +459 -0
  158. package/dist/collection/components/skip-link/exports.js +1 -0
  159. package/dist/collection/components/skip-link/skip-link.css +37 -0
  160. package/dist/collection/components/skip-link/skip-link.js +52 -0
  161. package/dist/collection/components/stepper/stepper.css +25 -0
  162. package/dist/collection/components/stepper/stepper.js +216 -0
  163. package/dist/collection/components/stepper-item/stepper-item.css +62 -0
  164. package/dist/collection/components/stepper-item/stepper-item.js +171 -0
  165. package/dist/collection/components/tab/tab.css +81 -0
  166. package/dist/collection/components/tab/tab.js +169 -0
  167. package/dist/collection/components/tab-panel/tab-panel.css +19 -0
  168. package/dist/collection/components/tab-panel/tab-panel.js +72 -0
  169. package/dist/collection/components/tabs/tabs.css +4 -0
  170. package/dist/collection/components/tabs/tabs.js +345 -0
  171. package/dist/collection/components/tabs-list/exports.js +2 -0
  172. package/dist/collection/components/tabs-list/tabs-list.css +58 -0
  173. package/dist/collection/components/tabs-list/tabs-list.js +294 -0
  174. package/dist/collection/components/textarea/exports.js +8 -0
  175. package/dist/collection/components/textarea/textarea.css +148 -0
  176. package/dist/collection/components/textarea/textarea.js +1055 -0
  177. package/dist/collection/components/toast/exports.js +3 -0
  178. package/dist/collection/components/toast/toast.css +179 -0
  179. package/dist/collection/components/toast/toast.js +820 -0
  180. package/dist/collection/components/toast-group/exports.js +1 -0
  181. package/dist/collection/components/toast-group/toast-group.css +37 -0
  182. package/dist/collection/components/toast-group/toast-group.js +49 -0
  183. package/dist/collection/components/tooltip/exports.js +3 -0
  184. package/dist/collection/components/tooltip/tooltip.css +77 -0
  185. package/dist/collection/components/tooltip/tooltip.js +525 -0
  186. package/dist/collection/index.js +2 -0
  187. package/dist/collection/utils/focusable.js +24 -0
  188. package/dist/collection/utils/formData.js +40 -0
  189. package/dist/collection/utils/theming.js +103 -0
  190. package/dist/collection/utils/version-checker.js +33 -0
  191. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  192. package/dist/esm/focusable-ky1yonnS.js +26 -0
  193. package/dist/esm/formData-DvLT8-y3.js +42 -0
  194. package/dist/esm/index-CTxpqopm.js +1806 -0
  195. package/dist/esm/index.js +35 -0
  196. package/dist/esm/loader.js +11 -0
  197. package/dist/esm/r-accordion-panel.entry.js +22 -0
  198. package/dist/esm/r-accordion-section.entry.js +123 -0
  199. package/dist/esm/r-accordion-trigger.entry.js +91 -0
  200. package/dist/esm/r-accordion.entry.js +18 -0
  201. package/dist/esm/r-alert.entry.js +144 -0
  202. package/dist/esm/r-badge.entry.js +39 -0
  203. package/dist/esm/r-button.entry.js +147 -0
  204. package/dist/esm/r-checkbox-group.entry.js +235 -0
  205. package/dist/esm/r-checkbox.entry.js +272 -0
  206. package/dist/esm/r-design-system-devtools.entry.js +29 -0
  207. package/dist/esm/r-dialog.entry.js +105 -0
  208. package/dist/esm/r-hint_2.entry.js +47 -0
  209. package/dist/esm/r-icon-button_2.entry.js +489 -0
  210. package/dist/esm/r-icon.entry.js +282 -0
  211. package/dist/esm/r-illustration.entry.js +394 -0
  212. package/dist/esm/r-input-code.entry.js +435 -0
  213. package/dist/esm/r-input-date.entry.js +522 -0
  214. package/dist/esm/r-input-password.entry.js +268 -0
  215. package/dist/esm/r-input-phone-number.entry.js +2523 -0
  216. package/dist/esm/r-input.entry.js +616 -0
  217. package/dist/esm/r-list-item.entry.js +107 -0
  218. package/dist/esm/r-pagination.entry.js +318 -0
  219. package/dist/esm/r-panel.entry.js +182 -0
  220. package/dist/esm/r-popover-action.entry.js +78 -0
  221. package/dist/esm/r-popover-content.entry.js +60 -0
  222. package/dist/esm/r-popover-headline.entry.js +26 -0
  223. package/dist/esm/r-popover-trigger.entry.js +68 -0
  224. package/dist/esm/r-popover.entry.js +345 -0
  225. package/dist/esm/r-progress-bar.entry.js +23 -0
  226. package/dist/esm/r-radio-button-description.entry.js +16 -0
  227. package/dist/esm/r-radio-button-leading.entry.js +16 -0
  228. package/dist/esm/r-radio-button-title.entry.js +16 -0
  229. package/dist/esm/r-radio-button-trailing.entry.js +16 -0
  230. package/dist/esm/r-radio-button.entry.js +137 -0
  231. package/dist/esm/r-radio-group.entry.js +426 -0
  232. package/dist/esm/r-select-option.entry.js +128 -0
  233. package/dist/esm/r-select.entry.js +1105 -0
  234. package/dist/esm/r-skip-link.entry.js +17 -0
  235. package/dist/esm/r-stepper-item.entry.js +40 -0
  236. package/dist/esm/r-stepper.entry.js +97 -0
  237. package/dist/esm/r-tab-panel.entry.js +24 -0
  238. package/dist/esm/r-tab.entry.js +60 -0
  239. package/dist/esm/r-tabs-list.entry.js +173 -0
  240. package/dist/esm/r-tabs.entry.js +275 -0
  241. package/dist/esm/r-textarea.entry.js +268 -0
  242. package/dist/esm/r-toast-group.entry.js +44 -0
  243. package/dist/esm/r-toast.entry.js +312 -0
  244. package/dist/esm/style-observer-4Uv3PpKT.js +1116 -0
  245. package/dist/esm/theming-DD2IrjpG.js +106 -0
  246. package/dist/esm/web-components.js +21 -0
  247. package/dist/index.cjs.js +1 -0
  248. package/dist/index.js +1 -0
  249. package/dist/types/components/accordion/accordion.d.ts +27 -0
  250. package/dist/types/components/accordion/exports.d.ts +2 -0
  251. package/dist/types/components/accordion-panel/accordion-panel.d.ts +10 -0
  252. package/dist/types/components/accordion-section/accordion-section.d.ts +36 -0
  253. package/dist/types/components/accordion-trigger/accordion-trigger.d.ts +33 -0
  254. package/dist/types/components/alert/alert.d.ts +67 -0
  255. package/dist/types/components/alert/exports.d.ts +4 -0
  256. package/dist/types/components/badge/badge.d.ts +26 -0
  257. package/dist/types/components/badge/exports.d.ts +2 -0
  258. package/dist/types/components/button/button.d.ts +89 -0
  259. package/dist/types/components/button/exports.d.ts +10 -0
  260. package/dist/types/components/checkbox/checkbox.d.ts +138 -0
  261. package/dist/types/components/checkbox-group/checkbox-group.d.ts +124 -0
  262. package/dist/types/components/design-system-devtools/design-system-devtools.d.ts +15 -0
  263. package/dist/types/components/dialog/dialog.d.ts +69 -0
  264. package/dist/types/components/dialog/exports.d.ts +10 -0
  265. package/dist/types/components/hint/exports.d.ts +2 -0
  266. package/dist/types/components/hint/hint.d.ts +20 -0
  267. package/dist/types/components/icon/all-kit.d.ts +2890 -0
  268. package/dist/types/components/icon/data.d.ts +145 -0
  269. package/dist/types/components/icon/exports.d.ts +152 -0
  270. package/dist/types/components/icon/icon.d.ts +37 -0
  271. package/dist/types/components/icon/riverty-kit.d.ts +139 -0
  272. package/dist/types/components/icon-button/icon-button.d.ts +69 -0
  273. package/dist/types/components/illustration/data.d.ts +52 -0
  274. package/dist/types/components/illustration/exports.d.ts +23 -0
  275. package/dist/types/components/illustration/illustration.d.ts +51 -0
  276. package/dist/types/components/illustration/illustrations-ui-kit.d.ts +21 -0
  277. package/dist/types/components/input/exports.d.ts +55 -0
  278. package/dist/types/components/input/input.d.ts +365 -0
  279. package/dist/types/components/input-code/exports.d.ts +4 -0
  280. package/dist/types/components/input-code/input-code.d.ts +177 -0
  281. package/dist/types/components/input-date/exports.d.ts +5 -0
  282. package/dist/types/components/input-date/input-date.d.ts +174 -0
  283. package/dist/types/components/input-password/exports.d.ts +1 -0
  284. package/dist/types/components/input-password/input-password.d.ts +186 -0
  285. package/dist/types/components/input-phone-number/input-phone-number.d.ts +130 -0
  286. package/dist/types/components/label/label.d.ts +9 -0
  287. package/dist/types/components/list-item/list-item/exports.d.ts +4 -0
  288. package/dist/types/components/list-item/list-item/list-item.d.ts +61 -0
  289. package/dist/types/components/pagination/exports.d.ts +6 -0
  290. package/dist/types/components/pagination/pagination.d.ts +140 -0
  291. package/dist/types/components/panel/exports.d.ts +2 -0
  292. package/dist/types/components/panel/panel.d.ts +56 -0
  293. package/dist/types/components/popover/exports.d.ts +6 -0
  294. package/dist/types/components/popover/popover.d.ts +131 -0
  295. package/dist/types/components/popover-action/popover-action.d.ts +24 -0
  296. package/dist/types/components/popover-content/popover-content.d.ts +22 -0
  297. package/dist/types/components/popover-headline/popover-headline.d.ts +6 -0
  298. package/dist/types/components/popover-trigger/exports.d.ts +2 -0
  299. package/dist/types/components/popover-trigger/popover-trigger.d.ts +31 -0
  300. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -0
  301. package/dist/types/components/radio-button/radio-button.d.ts +92 -0
  302. package/dist/types/components/radio-button-description/radio-button-description.d.ts +8 -0
  303. package/dist/types/components/radio-button-leading/radio-button-leading.d.ts +8 -0
  304. package/dist/types/components/radio-button-title/radio-button-title.d.ts +8 -0
  305. package/dist/types/components/radio-button-trailing/radio-button-trailing.d.ts +8 -0
  306. package/dist/types/components/radio-group/exports.d.ts +2 -0
  307. package/dist/types/components/radio-group/radio-group.d.ts +179 -0
  308. package/dist/types/components/select/exports.d.ts +2 -0
  309. package/dist/types/components/select/select.d.ts +319 -0
  310. package/dist/types/components/select-option/select-option.d.ts +113 -0
  311. package/dist/types/components/skip-link/exports.d.ts +2 -0
  312. package/dist/types/components/skip-link/skip-link.d.ts +6 -0
  313. package/dist/types/components/stepper/stepper.d.ts +22 -0
  314. package/dist/types/components/stepper-item/stepper-item.d.ts +23 -0
  315. package/dist/types/components/tab/tab.d.ts +23 -0
  316. package/dist/types/components/tab-panel/tab-panel.d.ts +7 -0
  317. package/dist/types/components/tabs/tabs.d.ts +49 -0
  318. package/dist/types/components/tabs-list/exports.d.ts +4 -0
  319. package/dist/types/components/tabs-list/tabs-list.d.ts +41 -0
  320. package/dist/types/components/textarea/exports.d.ts +2 -0
  321. package/dist/types/components/textarea/textarea.d.ts +158 -0
  322. package/dist/types/components/toast/exports.d.ts +6 -0
  323. package/dist/types/components/toast/toast.d.ts +146 -0
  324. package/dist/types/components/toast-group/exports.d.ts +2 -0
  325. package/dist/types/components/toast-group/toast-group.d.ts +9 -0
  326. package/dist/types/components/tooltip/exports.d.ts +6 -0
  327. package/dist/types/components/tooltip/tooltip.d.ts +132 -0
  328. package/dist/types/components.d.ts +6347 -0
  329. package/dist/types/index.d.ts +1 -0
  330. package/dist/types/stencil-public-runtime.d.ts +1732 -0
  331. package/dist/types/types/jsx-shim.d.ts +13 -0
  332. package/dist/types/types/style-observer.d.ts +20 -0
  333. package/dist/types/utils/focusable.d.ts +1 -0
  334. package/dist/types/utils/formData.d.ts +1 -0
  335. package/dist/types/utils/theming.d.ts +15 -0
  336. package/dist/types/utils/version-checker.d.ts +1 -0
  337. package/dist/web-components/index.esm.js +1 -0
  338. package/dist/web-components/p-01aefcf0.entry.js +1 -0
  339. package/dist/web-components/p-05cb55db.entry.js +1 -0
  340. package/dist/web-components/p-0a34d33b.entry.js +1 -0
  341. package/dist/web-components/p-11b22309.entry.js +1 -0
  342. package/dist/web-components/p-2d878934.entry.js +1 -0
  343. package/dist/web-components/p-325dbedf.entry.js +1 -0
  344. package/dist/web-components/p-34b9457b.entry.js +1 -0
  345. package/dist/web-components/p-36abd05a.entry.js +1 -0
  346. package/dist/web-components/p-386d1ef9.entry.js +1 -0
  347. package/dist/web-components/p-3d67b77b.entry.js +1 -0
  348. package/dist/web-components/p-4Uv3PpKT.js +1 -0
  349. package/dist/web-components/p-4b12fbc0.entry.js +1 -0
  350. package/dist/web-components/p-52f7b505.entry.js +1 -0
  351. package/dist/web-components/p-55600d47.entry.js +1 -0
  352. package/dist/web-components/p-57ebc474.entry.js +1 -0
  353. package/dist/web-components/p-57edf7f4.entry.js +1 -0
  354. package/dist/web-components/p-69a24fe2.entry.js +1 -0
  355. package/dist/web-components/p-6d92648c.entry.js +1 -0
  356. package/dist/web-components/p-75052597.entry.js +1 -0
  357. package/dist/web-components/p-7b2c5b63.entry.js +1 -0
  358. package/dist/web-components/p-7bf463ff.entry.js +1 -0
  359. package/dist/web-components/p-838e43d4.entry.js +1 -0
  360. package/dist/web-components/p-8c16d038.entry.js +1 -0
  361. package/dist/web-components/p-8f8313de.entry.js +1 -0
  362. package/dist/web-components/p-9026d5a2.entry.js +1 -0
  363. package/dist/web-components/p-95396b5c.entry.js +1 -0
  364. package/dist/web-components/p-9c31c7c4.entry.js +1 -0
  365. package/dist/web-components/p-9c415b9c.entry.js +1 -0
  366. package/dist/web-components/p-9f583ed1.entry.js +1 -0
  367. package/dist/web-components/p-B9rsR6cQ.js +1 -0
  368. package/dist/web-components/p-CTxpqopm.js +2 -0
  369. package/dist/web-components/p-DQuL1Twl.js +1 -0
  370. package/dist/web-components/p-DvLT8-y3.js +1 -0
  371. package/dist/web-components/p-b303b2cc.entry.js +1 -0
  372. package/dist/web-components/p-b8df041d.entry.js +1 -0
  373. package/dist/web-components/p-bc30844f.entry.js +1 -0
  374. package/dist/web-components/p-c4a77a65.entry.js +1 -0
  375. package/dist/web-components/p-c549addf.entry.js +1 -0
  376. package/dist/web-components/p-c65df19f.entry.js +1 -0
  377. package/dist/web-components/p-c80a5541.entry.js +1 -0
  378. package/dist/web-components/p-c96ee61a.entry.js +1 -0
  379. package/dist/web-components/p-cf3f044d.entry.js +1 -0
  380. package/dist/web-components/p-d1412932.entry.js +1 -0
  381. package/dist/web-components/p-d9778cfa.entry.js +1 -0
  382. package/dist/web-components/p-dbe4ccb8.entry.js +1 -0
  383. package/dist/web-components/p-ded50850.entry.js +1 -0
  384. package/dist/web-components/p-e5be895b.entry.js +1 -0
  385. package/dist/web-components/p-e6b34c1e.entry.js +1 -0
  386. package/dist/web-components/p-ec3c4800.entry.js +1 -0
  387. package/dist/web-components/p-f670fd87.entry.js +1 -0
  388. package/dist/web-components/p-f867e4c3.entry.js +1 -0
  389. package/dist/web-components/p-ff6b1b8f.entry.js +1 -0
  390. package/dist/web-components/p-ky1yonnS.js +1 -0
  391. package/dist/web-components/web-components.esm.js +1 -0
  392. package/loader/cdn.js +1 -0
  393. package/loader/index.cjs.js +1 -0
  394. package/loader/index.d.ts +24 -0
  395. package/loader/index.es2017.js +1 -0
  396. package/loader/index.js +2 -0
  397. package/package.json +1 -1
@@ -0,0 +1,16 @@
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-CTxpqopm.js';
2
+
3
+ const radioButtonTitleCss = ":host{font-weight:var(--r-font-weight-semibold, 600);font-size:var(--r-font-size-400, 1rem);line-height:var(--r-line-height-m, 1.5);color:var(--r-text-regular, #282828);text-align:left;cursor:inherit}";
4
+
5
+ const RadioButtonTitle = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ }
9
+ render() {
10
+ return (h(Host, { key: '12da195c66d902eba41e84b1ccaf3efbabbac144', slot: "title" }, h("div", { key: '84fc3a3e1d0b9b641a7fb859d03e904b5009cb44', class: "r-radio-button-title", style: { display: 'contents' } }, h("slot", { key: '6562965e5dfa79f4b9f80f22b4293e8ea600e4b2' }))));
11
+ }
12
+ get host() { return getElement(this); }
13
+ };
14
+ RadioButtonTitle.style = radioButtonTitleCss;
15
+
16
+ export { RadioButtonTitle as r_radio_button_title };
@@ -0,0 +1,16 @@
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-CTxpqopm.js';
2
+
3
+ const radioButtonTrailingCss = ":host{font-weight:var(--r-font-weight-regular, 400);font-size:var(--r-font-size-400, 1rem);text-align:right;color:var(--r-text-regular, #282828)}";
4
+
5
+ const RadioButtonTrailing = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ }
9
+ render() {
10
+ return (h(Host, { key: 'b9fc1731ecc2b522e341cfaceb5b703c8d74253f', slot: "trailing" }, h("div", { key: 'f1319664b1543a4a784cb2cd665567a4d561bdc3', class: "r-radio-button-trailing", style: { display: 'contents' } }, h("slot", { key: 'dbed8559c3b0a5ba2580fe9e8c297e7eb947e5a5' }))));
11
+ }
12
+ get host() { return getElement(this); }
13
+ };
14
+ RadioButtonTrailing.style = radioButtonTrailingCss;
15
+
16
+ export { RadioButtonTrailing as r_radio_button_trailing };
@@ -0,0 +1,137 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-CTxpqopm.js';
2
+
3
+ const radioButtonCss = ":host{display:inline-flex;outline:none;position:relative;pointer-events:auto;border:0.0625rem solid transparent;cursor:pointer;min-width:17.5rem}:host slot{display:contents}:host(:hover:not([disabled]:not([disabled=false])):not([checked]:not([checked=false]))){--r-radio-button--cursor:pointer;--r-radio-button--box--background-color:var(--r-background-interactive-hovered, rgba(40, 40, 40, 0.04))}:host(:active:not([disabled]:not([disabled=false])):not([checked]:not([checked=false]))){--r-radio-button--box--border-color:var(--r-border-regular, #282828);--r-radio-button--box--background-color:var(--r-background-interactive-pressed, rgba(40, 40, 40, 0.12))}:host(:focus-within),:host(.focused){--r-radio-button--box--box-shadow:0 0 0 4px var(--r-border-focused-outlined, #fff);--r-radio-button--box--outline:2px solid var(--r-border-focused, #0071e3);--r-radio-button--box--outline-offset:1px}:host([checked]:not([checked=false])),:host([checked]:not([checked=false]):hover){cursor:default;--r-radio-button--box--border-color:var(--r-border-regular, #282828);--r-radio-button--box--background-color:var(--r-background-interactive-softest, #fff);--r-radio-button--marker--transform:scale(1)}:host([invalid]:not([invalid=false])),:host([invalid]:not([invalid=false])[checked]:not([checked=false])){--r-radio-button--box--border-color:var(--r-status-error-regular, #b00c15);--r-radio-button--box--background-color:var(--r-status-error-soft, #fef6f6)}:host([disabled]:not([disabled=false])){--r-radio-button--box--opacity:0.4;cursor:not-allowed}.r-radio-button{display:var(--r-radio-button--display, flex);flex:var(--r-radio-button--flex, 1);gap:var(--r-radio-button--gap, var(--r-spacing-075, 0.75rem));position:var(--r-radio-button--position, relative);min-height:var(--r-radio-button--min-height, 24px);user-select:var(--r-radio-button--user-select, none);box-sizing:var(--r-radio-button--box-sizing, border-box);font-family:var(--r-radio-button--font-family, var(--r-font-family-text, system-ui));font-size:var(--r-radio-button--font-size, var(--r-font-size-400, 1rem));line-height:var(--r-radio-button--line-height, var(--r-line-height-m, 1.5rem));text-align:var(--r-radio-button--text-align, left);color:var(--r-radio-button--color, var(--r-text-regular, #282828));opacity:var(--r-radio-button--opacity, 1);box-shadow:var(--r-radio-button--box-shadow, none);outline:var(--r-radio-button--outline, none);cursor:var(--r-radio-button--cursor, inherit);padding:var(--r-radio-button--padding, var(--r-spacing-100, 1rem));margin:var(--r-radio-button--margin, 0);background-color:var(--r-radio-button--background-color, transparent);border-color:var(--r-radio-button--border-color, transparent);border-width:var(--r-radio-button--border-width, 0);border-style:var(--r-radio-button--border-style, solid)}.r-radio-button--input{position:var(--r-radio-button--input--position, absolute);z-index:var(--r-radio-button--input--z-index, -1);opacity:var(--r-radio-button--input--opacity, 0)}.r-radio-button--box{position:var(--r-radio-button--box--position, relative);display:var(--r-radio-button--box--display, block);top:var(--r-radio-button--box--top, 0);left:var(--r-radio-button--box--left, 0);width:var(--r-radio-button--box--width, 1.5rem);height:var(--r-radio-button--box--height, 1.5rem);background-color:var(--r-radio-button--box--background-color, var(--r-background-interactive-softest, #fff));border-width:var(--r-radio-button--box--border-width, 0.0625rem);border-style:var(--r-radio-button--box--border-style, solid);border-color:var(--r-radio-button--box--border-color, var(--r-border-soft, #686868));border-radius:var(--r-radio-button--box--border-radius, 50%);box-sizing:var(--r-radio-button--box--box-sizing, border-box);box-shadow:var(--r-radio-button--box--box-shadow, none);outline:var(--r-radio-button--box--outline, none);outline-offset:var(--r-radio-button--box--outline-offset, 0);cursor:var(--r-radio-button--box--cursor, inherit);opacity:var(--r-radio-button--box--opacity, 1)}.r-radio-button--box::before{content:var(--r-radio-button--marker--content, \"\");display:var(--r-radio-button--marker--display, block);width:var(--r-radio-button--marker--width, 0.75rem);height:var(--r-radio-button--marker--height, 0.75rem);position:var(--r-radio-button--marker--position, absolute);top:var(--r-radio-button--marker--top, calc(50% - 0.375rem));left:var(--r-radio-button--marker--left, calc(50% - 0.375rem));border-radius:var(--r-radio-button--marker--border-radius, 50%);background-color:var(--r-radio-button--marker--background-color, var(--r-background-interactive-regular, #282828));transition:var(--r-radio-button--marker--transition, 0.1s all);transform:var(--r-radio-button--marker--transform, scale(0));transform-origin:var(--r-radio-button--marker--transform-origin, center)}.r-radio-button--text{flex:var(--r-radio-button--text--flex, 1);display:var(--r-radio-button--text--display, flex);flex-direction:var(--r-radio-button--text--flex-direction, column);gap:var(--r-radio-button--text--gap, var(--r-spacing-025, 0.25rem));font-weight:var(--r-radio-button--text--font-weight, var(--r-font-weight-semibold, 600))}.r-radio-button--leading{min-height:var(--r-radio-button--leading--min-height, var(--r-spacing-150, 1.5rem));min-width:var(--r-radio-button--leading--min-width, calc(var(--r-spacing-150, 1.5rem) + 2 * var(--r-spacing-075, 0.75rem)));color:var(--r-radio-button--leading--color, var(--r-icon-soft, #686868));display:var(--r-radio-button--leading--display, flex);justify-content:var(--r-radio-button--leading--justify-content, center);align-items:var(--r-radio-button--leading--align-items, start)}";
4
+
5
+ const RadioButton = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.rChange = createEvent(this, "rChange");
9
+ this.rReset = createEvent(this, "rReset");
10
+ this.radioButtonClick = createEvent(this, "radioButtonClick");
11
+ this.radioButtonKeydown = createEvent(this, "radioButtonKeydown");
12
+ this.radioButtonDeselect = createEvent(this, "radioButtonDeselect");
13
+ /** Value of element data within a form */
14
+ this.value = this.slotTextValue;
15
+ /** Automatically focus the radio button when the component is mounted. Note: Only one element per page should have autofocus set to true, following browser standard behavior. */
16
+ this.autofocus = false;
17
+ /** Unique id */
18
+ this.uniqueId = `r-radio-button-${Date.now().toString(32)}${Math.random().toString(32)}`.replace(/\./g, '');
19
+ this.onClick = (event) => {
20
+ if (this.disabled)
21
+ return;
22
+ event.stopPropagation();
23
+ event.preventDefault();
24
+ this.radioButtonClick.emit(event);
25
+ };
26
+ this.onKeydown = (event) => {
27
+ if (this.disabled)
28
+ return;
29
+ this.radioButtonKeydown.emit(event);
30
+ };
31
+ this.onFocus = () => {
32
+ this.host.classList.add('focused');
33
+ };
34
+ this.onBlur = () => {
35
+ this.host.classList.remove('focused');
36
+ };
37
+ this.applyAutofocus = () => {
38
+ queueMicrotask(() => {
39
+ this.setFocus();
40
+ });
41
+ };
42
+ }
43
+ /** Sets focus on the radio button element */
44
+ async setFocus() {
45
+ var _a;
46
+ (_a = this.nativeEl) === null || _a === void 0 ? void 0 : _a.focus();
47
+ }
48
+ /** Blurs the radio button element */
49
+ async setBlur() {
50
+ var _a;
51
+ (_a = this.nativeEl) === null || _a === void 0 ? void 0 : _a.blur();
52
+ }
53
+ /** Selects the radio button element */
54
+ async select() {
55
+ var _a, _b, _c;
56
+ if (this.checked)
57
+ return;
58
+ if (this.disabled)
59
+ return;
60
+ (_a = this.radioElements) === null || _a === void 0 ? void 0 : _a.forEach(radio => {
61
+ radio.checked = false;
62
+ radio.shadowRoot.querySelector('.r-radio-button--input').setAttribute('tabindex', '-1');
63
+ });
64
+ this.checked = true;
65
+ (_b = this.nativeEl) === null || _b === void 0 ? void 0 : _b.setAttribute('tabindex', '0');
66
+ (_c = this.nativeEl) === null || _c === void 0 ? void 0 : _c.focus();
67
+ const { host, value, checked } = this;
68
+ this.rChange.emit({ element: host, value, checked });
69
+ }
70
+ /** Reference to the radio button elements */
71
+ get radioElements() {
72
+ if (this.groupEl) {
73
+ // Use :scope > to only select direct children, excluding nested radio-group buttons
74
+ return this.groupEl.querySelectorAll(`:scope > r-radio-button`);
75
+ }
76
+ if (this.parentFormEl) {
77
+ return this.parentFormEl.querySelectorAll(`r-radio-button[name=${this.name}]`);
78
+ }
79
+ return document.querySelectorAll(`r-radio-button[name=${this.name}]`);
80
+ }
81
+ /** Get the text content of the slot */
82
+ get slotTextValue() {
83
+ return this.host.textContent || null;
84
+ }
85
+ /** Identify wrapping radio group element */
86
+ get groupEl() {
87
+ return this.host.closest('r-radio-group') || null;
88
+ }
89
+ /** Identify wrapping form element */
90
+ get parentFormEl() {
91
+ return this.host.closest('form') || null;
92
+ }
93
+ /** Check if the radio button is leading */
94
+ get isLeading() {
95
+ return this.icon !== undefined || this.host.querySelector('[slot="leading"]') !== null || this.host.querySelector('r-radio-button-leading') !== null;
96
+ }
97
+ /** Check if the radio button is trailing */
98
+ get isTrailing() {
99
+ return this.host.querySelector('[slot="trailing"]') !== null || this.host.querySelector('r-radio-button-trailing') !== null;
100
+ }
101
+ get shouldAutofocus() {
102
+ return this.autofocus && (!this.groupEl || !this.groupEl.autofocus);
103
+ }
104
+ componentWillLoad() {
105
+ if (!this.initialState)
106
+ this.initialState = this.checked;
107
+ if (this.groupEl && !this.name) {
108
+ this.name = this.groupEl.name;
109
+ }
110
+ }
111
+ componentDidLoad() {
112
+ if (this.shouldAutofocus)
113
+ this.applyAutofocus();
114
+ }
115
+ render() {
116
+ const { name, value, checked, disabled, hint, uniqueId, required, invalid, error, autofocus } = this;
117
+ const inputAttrs = {
118
+ type: 'radio',
119
+ tabindex: '-1',
120
+ name,
121
+ value,
122
+ disabled,
123
+ checked,
124
+ required,
125
+ autofocus
126
+ };
127
+ return (h(Host, { key: 'ce9e98b6480c18675ac0dac4b118e574872f9af7' }, h("label", { key: 'adb23e0f9092e7c5bc2c0c70df71fa255f8a441b', class: "r-radio-button", onClick: this.onClick, onKeyDown: this.onKeydown }, h("input", Object.assign({ key: 'cdd35d3caebb8e7eb8162dcc97c73f85067a55bb' }, inputAttrs, { id: `${uniqueId}-input`, class: "r-radio-button--input", ref: el => this.nativeEl = el, onFocus: this.onFocus, onBlur: this.onBlur })), h("span", { key: '89e258e8d5b41a51ff48ad26f1e83bcdb447089a', class: "r-radio-button--box" }), this.isLeading &&
128
+ h("div", { key: '14e5cbd3fb54b86761f68f53f64081be3021bf9d', class: "r-radio-button--leading" }, h("slot", { key: '8350ee29002de443338179d8e926356fa080cb97', name: "leading" }, this.icon && h("r-icon", { key: 'ba1ad94e6eabd2aa113e46ddc4f5f7cdc8e39635', name: this.icon, size: "m" }))), h("div", { key: '75c735e748dc36c3c785cb048f920060f31c7c9a', class: "r-radio-button--text" }, h("slot", { key: 'b2f39d35860d6ed36bf1913836af065ed093a9b4', name: "title" }, h("div", { key: '4f6fdd992b61a01c13810fbee76f66d514f8e8e2', style: { display: 'contents' } }, h("slot", { key: 'b0d6d3eb4b9687751822fd6e026cc5eec2fe3d6b' }))), h("slot", { key: '66f2d4a0262d494b4c5c700e48abb7210e5fc8df', name: "description" }, this.description)), this.isTrailing &&
129
+ h("div", { key: '64bb5efd43a7e52461dff3e3416c968bbe44d1a4', class: "r-radio-button--trailing" }, h("slot", { key: '20798c2198cc1360f6b04fa0a94984bb697eda6c', name: "trailing" }))), invalid && error &&
130
+ h("r-hint", { key: '06bd4aa937a926612c428e9f9cfcde98e60c6ca7', role: "alert", variant: "error", id: `${uniqueId}-hint` }, this.error), hint &&
131
+ h("r-hint", { key: '5031e00344241c184fb8ef2aa8275274415b8a3e', role: "note", variant: "information", id: `${uniqueId}-hint` }, hint)));
132
+ }
133
+ get host() { return getElement(this); }
134
+ };
135
+ RadioButton.style = radioButtonCss;
136
+
137
+ export { RadioButton as r_radio_button };
@@ -0,0 +1,426 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-CTxpqopm.js';
2
+ import { a as appendControlToFormData } from './formData-DvLT8-y3.js';
3
+
4
+ const radioGroupCss = ":host{display:flex;flex-direction:column;box-sizing:border-box;margin-bottom:var(--r-spacing-100)}:host ::slotted(r-radio-button){display:var(--r-radio-group--slotted-radio-button--display, flex)}:host ::slotted(.focused){--r-radio-button--box-shadow:0 0 0 3px var(--r-border-focused-outlined, #fff), inset 0 0 0 1px var(--r-border-focused-outlined, #fff);--r-radio-button--outline:2px solid var(--r-border-focused, #0071e3);--r-radio-button--outline-offset:2px}:host slot{display:contents}:host([variant=contained]) ::slotted(r-radio-button){padding:0;--r-radio-button--padding:var(--r-spacing-100, 1rem);--r-radio-button--border-color:var(--r-border-soft, #686868);--r-radio-button--border-width:1px}:host([invalid]:not([invalid=false])) ::slotted(r-radio-button){--r-radio-button--box--border-color:var(--r-status-error-regular, #b00c15);--r-radio-button--box--background-color:var(--r-status-error-soft, #fef6f6);--r-radio-button--marker--background-color:var(--r-status-error-regular, #b00c15)}:host .r-radio-group{display:var(--r-radio-group--display, flex);flex-direction:var(--r-radio-group--flex-direction, column);padding:var(--r-radio-group--padding, 0);margin:var(--r-radio-group--margin, 0);border:var(--r-radio-group--border, none)}:host .r-radio-group--label-container{display:var(--r-radio-group--label-container--display, flex);gap:var(--r-radio-group--label-container--gap, var(--r-spacing-100, 1rem));align-items:var(--r-radio-group--label-container--align-items, center);justify-content:var(--r-radio-group--label-container--justify-content, space-between)}:host .r-radio-group--label-container ::slotted([slot=popover]){display:var(--r-radio-group--popover--display, inline-flex);height:var(--r-radio-group--popover--height, var(--r-spacing-150, 1.5));align-items:var(--r-radio-group--popover--align-items, center);justify-content:var(--r-radio-group--popover--justify-content, center);margin-right:var(--r-radio-group--popover--margin-right, -0.25rem);--r-popover--trigger--min-width:var(--r-radio-group--popover-trigger--min-width, var(--r-spacing-150, 1.5));--r-popover--trigger--min-height:var(--r-radio-group--popover--trigger--min-height, var(--r-spacing-150, 1.5))}:host .r-radio-group--hint{margin-bottom:var(--r-radio-group--hint--margin-bottom, var(--r-spacing-100, 1rem))}:host .r-radio-group--content{display:var(--r-radio-group--content--display, flex);flex-direction:var(--r-radio-group--content--flex-direction, column);flex-wrap:var(--r-radio-group--content--flex-wrap, nowrap);gap:var(--r-radio-group--content--gap, var(--r-spacing-050, 0.5rem))}:host .r-radio-group+.r-radio-group--message r-hint{margin-top:var(--r-radio-group--hint--margin-top, var(--r-spacing-050, 0.5rem))}";
5
+
6
+ const RadioGroup = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.rValidate = createEvent(this, "rValidate");
10
+ this.rChange = createEvent(this, "rChange");
11
+ this.rReset = createEvent(this, "rReset");
12
+ /** Controls the style variation of the radio buttons. */
13
+ this.variant = 'standard';
14
+ /**
15
+ * When set to `true`, automatically focuses the first enabled radio button in the group on mount.
16
+ * This will focus the selected radio button if one exists, or the first enabled radio button otherwise.
17
+ */
18
+ this.autofocus = false;
19
+ this.validityState = '';
20
+ this.validityMessage = '';
21
+ /**
22
+ * Initial attributes state
23
+ * */
24
+ this.initial = {};
25
+ /** Unique id */
26
+ this.uniqueId = `r-radio-group-${Date.now().toString(32)}${Math.random().toString(32)}`.replace(/\./g, '');
27
+ this.getValidityStateData = element => {
28
+ let validityState = '';
29
+ let validityMessage = '';
30
+ if (element === null)
31
+ return { validityState, validityMessage };
32
+ for (const state in element.validity) {
33
+ if (element.validity[state]) {
34
+ validityState = state;
35
+ if (this[state + 'Message']) {
36
+ validityMessage = this[state + 'Message'];
37
+ return { validityState, validityMessage };
38
+ }
39
+ validityMessage = element.validationMessage;
40
+ }
41
+ }
42
+ return { validityState, validityMessage };
43
+ };
44
+ this.validateFormElement = (element = null) => {
45
+ if (element === null)
46
+ return;
47
+ if (this.isNoValidate)
48
+ return;
49
+ if (this.error)
50
+ return;
51
+ const { validityState, validityMessage } = this.getValidityStateData(element);
52
+ this.validityState = validityState;
53
+ this.validityMessage = validityMessage;
54
+ const isValid = this.validityState === 'valid';
55
+ this.valid = isValid;
56
+ this.invalid = !isValid;
57
+ this.rValidate.emit({
58
+ state: this.validityState,
59
+ message: this.validityMessage
60
+ });
61
+ };
62
+ this.onSubmitForm = (event) => {
63
+ if (this.isNoValidate)
64
+ return;
65
+ this.validateFormElement(this.nativeSelectedEl || this.nativeFirstEl);
66
+ if (!this.hasSelected || this.invalid) {
67
+ event.preventDefault();
68
+ event.stopPropagation();
69
+ }
70
+ };
71
+ this.onResetForm = () => {
72
+ this.reset();
73
+ };
74
+ this.onLabelClick = () => {
75
+ const radioButtonEl = this.radioButtonElements[0].shadowRoot.querySelector('[type="radio"]');
76
+ radioButtonEl === null || radioButtonEl === void 0 ? void 0 : radioButtonEl.focus();
77
+ };
78
+ this.contributeToFormData = (event) => {
79
+ appendControlToFormData(this.host, event.formData);
80
+ };
81
+ /**
82
+ * Handles parent radio group value changes for nested groups.
83
+ * If this is a nested group with a parentValue specified, it will reset when
84
+ * the parent group's value changes to something other than the parentValue.
85
+ */
86
+ this.onParentGroupChange = (event) => {
87
+ // Only proceed if this group has a parentValue specified (indicating it's nested)
88
+ if (!this.parentValue)
89
+ return;
90
+ const parentNewValue = event.detail.value;
91
+ // If parent changed to a different value than our parentValue, reset this nested group
92
+ if (parentNewValue !== this.parentValue) {
93
+ this.clearValue();
94
+ // Emit rReset event to notify that the nested group was automatically reset
95
+ this.rReset.emit({
96
+ element: this.host,
97
+ value: null
98
+ });
99
+ }
100
+ };
101
+ }
102
+ rChangeAction(event) {
103
+ // Only handle events from direct children, not from nested radio-groups
104
+ const targetElement = event.target;
105
+ const isDirectChild = targetElement.parentElement === this.host;
106
+ if (!isDirectChild) {
107
+ return; // Ignore events from nested radio-groups
108
+ }
109
+ // Stop event from bubbling to parent radio-groups
110
+ event.stopPropagation();
111
+ this.resetValidity();
112
+ this.setValue(event.detail.value);
113
+ }
114
+ /**
115
+ * Resets the radio group to its initial state.
116
+ * This method clears the validity state and message, and sets the value and validity
117
+ * to their initial values.
118
+ */
119
+ radioButtonClickAction(event) {
120
+ // Only handle events from direct children, not from nested radio-groups
121
+ const targetElement = event.target;
122
+ const isDirectChild = targetElement.parentElement === this.host;
123
+ if (!isDirectChild) {
124
+ return; // Ignore events from nested radio-groups
125
+ }
126
+ // Stop event from bubbling to parent radio-groups
127
+ event.stopPropagation();
128
+ !event.target.disabled && event.target.select();
129
+ }
130
+ get selectedIndex() {
131
+ return Array.from(this.radioButtonElements).findIndex(el => el.hasAttribute('checked'));
132
+ }
133
+ get prevIndex() {
134
+ const isNoSelected = this.selectedIndex === -1;
135
+ const isnativeFirstElement = this.selectedIndex === 0;
136
+ return isnativeFirstElement || isNoSelected ? this.radioButtonElements.length - 1 : this.selectedIndex - 1;
137
+ }
138
+ get focusedRadioButtonEl() {
139
+ // Query all descendants to find focused element, but it will only be used for direct children
140
+ return this.host.querySelector('r-radio-button.focused');
141
+ }
142
+ get focusedRadioButtonElIndex() {
143
+ return Array.from(this.radioButtonElements).indexOf(this.focusedRadioButtonEl);
144
+ }
145
+ get nextIndex() {
146
+ const isNoSelected = this.selectedIndex === -1;
147
+ if (isNoSelected) {
148
+ return this.focusedRadioButtonElIndex === -1 ? 0 : this.focusedRadioButtonElIndex + 1;
149
+ }
150
+ const isLastElement = this.selectedIndex === this.radioButtonElements.length - 1;
151
+ return isLastElement ? 0 : this.selectedIndex + 1;
152
+ }
153
+ radioButtonKeydownAction(event) {
154
+ var _a;
155
+ // Only handle events from direct children, not from nested radio-groups
156
+ const targetElement = event.target;
157
+ const isDirectChild = targetElement.parentElement === this.host;
158
+ if (!isDirectChild) {
159
+ return; // Ignore events from nested radio-groups
160
+ }
161
+ // Stop event from bubbling to parent radio-groups
162
+ event.stopPropagation();
163
+ switch (event.detail.code) {
164
+ case 'ArrowUp':
165
+ case 'ArrowLeft':
166
+ // Select previous radio button
167
+ this.radioButtonElements[this.prevIndex].select();
168
+ break;
169
+ case 'ArrowDown':
170
+ case 'ArrowRight':
171
+ // Select next radio button
172
+ this.radioButtonElements[this.nextIndex].select();
173
+ break;
174
+ case 'Enter': {
175
+ const submitEl = this.host.querySelector('[type="submit"]') ||
176
+ ((_a = this.parentFormEl) === null || _a === void 0 ? void 0 : _a.querySelector('[type="submit"]'));
177
+ if (submitEl && 'triggerClick' in submitEl) {
178
+ submitEl === null || submitEl === void 0 ? void 0 : submitEl.triggerClick();
179
+ }
180
+ else {
181
+ this.parentFormEl.requestSubmit();
182
+ }
183
+ break;
184
+ }
185
+ }
186
+ }
187
+ /**
188
+ * Resets the validity state and message of the radio group.
189
+ * This method clears the validity message and state, and sets the invalid
190
+ * property to its initial value.
191
+ */
192
+ async resetValidity() {
193
+ this.validityMessage = null;
194
+ this.validityState = null;
195
+ this.invalid = this.initial['invalid'];
196
+ this.valid = !this.invalid;
197
+ }
198
+ /**
199
+ * Resets the radio group to its initial state.
200
+ *
201
+ * This method:
202
+ * - clears the validity state and message,
203
+ * - sets the value and validity to initial values,
204
+ * - if no initial value the radio group will be deselected,
205
+ * - restores the tabindex on the first element.
206
+ */
207
+ async reset() {
208
+ this.resetValidity();
209
+ if (this.initial['value']) {
210
+ this.setValue(this.initial['value']);
211
+ return;
212
+ }
213
+ // Set default value to null
214
+ this.clearValue();
215
+ }
216
+ /**
217
+ * Sets the value of the radio group to the specified value.
218
+ * If a radio button with the specified value exists, it will be selected.
219
+ *
220
+ * @param value - The value to set for the radio group.
221
+ */
222
+ async setValue(value) {
223
+ const element = Array.from(this.radioButtonElements).find(el => el.value === value);
224
+ if (element === undefined) {
225
+ this.clearValue();
226
+ return;
227
+ }
228
+ this.value = value;
229
+ element === null || element === void 0 ? void 0 : element.select();
230
+ }
231
+ /**
232
+ * Gets the current value of the radio group.
233
+ *
234
+ * @returns The current value of the radio group.
235
+ */
236
+ async getValue() {
237
+ return this.value || null;
238
+ }
239
+ /**
240
+ * Clears the value of the radio group and deselects all radio buttons.
241
+ * This method sets the value to null and deselects all radio buttons in the group.
242
+ */
243
+ async clearValue() {
244
+ var _a, _b, _c, _d, _e, _f;
245
+ const isSelectedEqualsFirst = ((_a = this.nativeSelectedEl) === null || _a === void 0 ? void 0 : _a.value) === ((_b = this.nativeFirstEl) === null || _b === void 0 ? void 0 : _b.value);
246
+ if (!isSelectedEqualsFirst) {
247
+ (_c = this.nativeSelectedEl) === null || _c === void 0 ? void 0 : _c.setAttribute('tabindex', '-1');
248
+ }
249
+ (_d = this.nativeSelectedEl) === null || _d === void 0 ? void 0 : _d.setAttribute('tabindex', '-1');
250
+ (_e = this.nativeFirstEl) === null || _e === void 0 ? void 0 : _e.setAttribute('tabindex', '0');
251
+ (_f = this.selectedRadioButtonElement) === null || _f === void 0 ? void 0 : _f.removeAttribute('checked');
252
+ this.value = null;
253
+ }
254
+ /**
255
+ * Validates the radio group without triggering UI and returns a boolean indicating its validity.
256
+ * @returns A boolean indicating whether the radio group is valid.
257
+ */
258
+ async checkValidity() {
259
+ const element = this.nativeSelectedEl || this.nativeFirstEl || null;
260
+ const { validityState } = this.getValidityStateData(element);
261
+ return validityState === 'valid';
262
+ }
263
+ /**
264
+ * Validates the radio group and displays the validity state.
265
+ */
266
+ async reportValidity() {
267
+ const element = this.nativeSelectedEl || this.nativeFirstEl || null;
268
+ this.validateFormElement(element);
269
+ return this.validityState === 'valid';
270
+ }
271
+ /**
272
+ * Sets a custom validity message for the radio group.
273
+ * If the message is not empty, the radio group will be considered invalid.
274
+ *
275
+ * @param message - The custom validity message to set.
276
+ */
277
+ async setCustomValidity(message) {
278
+ const element = this.nativeSelectedEl || this.nativeFirstEl || null;
279
+ this.customErrorMessage = message;
280
+ this.validateFormElement(element);
281
+ }
282
+ /**
283
+ * Sets focus on the radio button element.
284
+ * */
285
+ async setFocus() {
286
+ const element = this.selectedRadioButtonElement || this.radioButtonElements[0] || null;
287
+ element === null || element === void 0 ? void 0 : element.setFocus();
288
+ }
289
+ /**
290
+ * Blurs the radio button element.
291
+ * */
292
+ async setBlur() {
293
+ var _a;
294
+ (_a = this.focusedRadioButtonEl) === null || _a === void 0 ? void 0 : _a.setBlur();
295
+ }
296
+ /** Determine whether this element should be ignored during Constraint Validation API validation. */
297
+ get isNoValidate() {
298
+ var _a;
299
+ return (((_a = this.parentFormEl) === null || _a === void 0 ? void 0 : _a.hasAttribute('novalidate')) ||
300
+ this.novalidate ||
301
+ !this.required ||
302
+ false);
303
+ }
304
+ /** Identify wrapping form element */
305
+ get parentFormEl() {
306
+ return this.host.closest('form') || document.querySelector(`#${this.form}`) || null;
307
+ }
308
+ get radioButtonElements() {
309
+ // Use :scope > to only select direct children, excluding nested radio-group buttons
310
+ return this.host.querySelectorAll(':scope > r-radio-button:not([disabled]:not([disabled="false"]))');
311
+ }
312
+ get selectedRadioButtonElement() {
313
+ return Array.from(this.radioButtonElements).find(el => el.checked || el.hasAttribute('checked')) || null;
314
+ }
315
+ get hasSelected() {
316
+ return Array.from(this.radioButtonElements).some(el => el.checked || el.hasAttribute('checked'));
317
+ }
318
+ get nativeSelectedEl() {
319
+ var _a, _b;
320
+ if (this.selectedRadioButtonElement === null)
321
+ return null;
322
+ return ((_b = (_a = this.selectedRadioButtonElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.r-radio-button--input')) || null;
323
+ }
324
+ get nativeFirstEl() {
325
+ var _a, _b;
326
+ return ((_b = (_a = this.radioButtonElements[0]) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.r-radio-button--input')) || null;
327
+ }
328
+ get hasValidationError() {
329
+ return this.validityState && this.validityState !== 'valid' && !!(this.validityMessage || this.customErrorMessage);
330
+ }
331
+ passPropsToGroupItems(props = {}) {
332
+ Object.entries(props).forEach(([key, value]) => {
333
+ this.radioButtonElements.forEach(el => {
334
+ if (typeof value === 'string')
335
+ el.setAttribute(key, value);
336
+ if (typeof value === 'boolean' && value)
337
+ el.setAttribute(key, '');
338
+ });
339
+ });
340
+ }
341
+ selectGroupItemByValue() {
342
+ if (this.hasSelected && !this.value) {
343
+ this.value = this.selectedRadioButtonElement.value;
344
+ }
345
+ this.setValue(this.value);
346
+ }
347
+ setTabindex() {
348
+ const el = this.nativeSelectedEl || this.nativeFirstEl;
349
+ el === null || el === void 0 ? void 0 : el.setAttribute('tabindex', '0');
350
+ }
351
+ get parentRadioGroup() {
352
+ var _a;
353
+ // Find the parent radio group element
354
+ return ((_a = this.host.parentElement) === null || _a === void 0 ? void 0 : _a.closest('r-radio-group')) || null;
355
+ }
356
+ connectFormEventListeners() {
357
+ var _a, _b, _c;
358
+ (_a = this.parentFormEl) === null || _a === void 0 ? void 0 : _a.addEventListener('formdata', this.contributeToFormData);
359
+ (_b = this.parentFormEl) === null || _b === void 0 ? void 0 : _b.addEventListener('reset', this.onResetForm);
360
+ (_c = this.parentFormEl) === null || _c === void 0 ? void 0 : _c.addEventListener('submit', this.onSubmitForm, { capture: true });
361
+ }
362
+ disconnectFormEventListeners() {
363
+ var _a, _b, _c;
364
+ (_a = this.parentFormEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('formdata', this.contributeToFormData);
365
+ (_b = this.parentFormEl) === null || _b === void 0 ? void 0 : _b.removeEventListener('reset', this.onResetForm);
366
+ (_c = this.parentFormEl) === null || _c === void 0 ? void 0 : _c.removeEventListener('submit', this.onSubmitForm);
367
+ }
368
+ connectParentGroupListener() {
369
+ // Only connect if this is a nested group (has parentValue specified)
370
+ if (this.parentValue && this.parentRadioGroup) {
371
+ this.parentRadioGroup.addEventListener('rChange', this.onParentGroupChange);
372
+ }
373
+ }
374
+ disconnectParentGroupListener() {
375
+ if (this.parentValue && this.parentRadioGroup) {
376
+ this.parentRadioGroup.removeEventListener('rChange', this.onParentGroupChange);
377
+ }
378
+ }
379
+ get ariaDescribedBy() {
380
+ const messageId = `${this.uniqueId}-message`;
381
+ return this.hint ? `${this.uniqueId}-hint ${messageId}` : messageId;
382
+ }
383
+ connectedCallback() {
384
+ this.connectFormEventListeners();
385
+ this.connectParentGroupListener();
386
+ }
387
+ disconnectedCallback() {
388
+ this.disconnectFormEventListeners();
389
+ this.disconnectParentGroupListener();
390
+ }
391
+ componentWillLoad() {
392
+ const { required, name } = this;
393
+ this.passPropsToGroupItems({ required, name });
394
+ // If `value` is provided: item within group with such value shall be selected
395
+ this.selectGroupItemByValue();
396
+ this.initial['value'] = this.value;
397
+ this.initial['invalid'] = this.invalid;
398
+ }
399
+ componentDidLoad() {
400
+ const { name, required } = this;
401
+ this.passPropsToGroupItems({ name, required });
402
+ this.setTabindex();
403
+ if (this.autofocus) {
404
+ // Use setTimeout to ensure setValue has completed and checked state is synced
405
+ setTimeout(() => {
406
+ this.setFocus();
407
+ }, 0);
408
+ }
409
+ }
410
+ render() {
411
+ const { label, hint, fieldIndicator, error, uniqueId, invalid } = this;
412
+ const fieldsetAttrs = {
413
+ 'aria-invalid': `${invalid || false}`,
414
+ 'aria-describedby': this.ariaDescribedBy
415
+ };
416
+ return (h(Host, { key: 'a542762b5523cd568341316eb9e1d3ba328662f3' }, h("fieldset", Object.assign({ key: 'cd6877a67816eff8a423a60ef1e9079cab4ea21a', class: "r-radio-group" }, fieldsetAttrs, { onClick: this.onLabelClick }), label &&
417
+ h("legend", { key: '00adcfa6fa8296f295b48f90d19b11928fb580d6', class: "r-radio-group--label-container" }, h("r-label", { key: 'f353298317ffe0043dd0dae0905499ef17fa90ba', id: `${uniqueId}-label`, class: "r-radio-group--label", "field-indicator": fieldIndicator }, label), h("slot", { key: '5e9ecf61a1a65f20ed3e48006f2a913723bdfb38', name: "popover" })), hint &&
418
+ h("r-hint", { key: '0e266db62c6bb2f8a770502ab64ca7f2edc54d39', id: `${uniqueId}-hint`, class: "r-radio-group--hint", role: "note" }, hint), h("div", { key: '2d951da223a892721db7e5d858e52b27eebfcf98', class: "r-radio-group--content" }, h("slot", { key: '341225a7be93a07fa9c3e4c96241f84c8008b182' })), h("div", { key: '255d3bbd8fd5b192e4dd2cca03bb7b0e2bdefd0e', id: `${uniqueId}-message`, "aria-live": "polite", role: "alert", class: "r-radio-group--message" }, invalid && error &&
419
+ h("r-hint", { key: '7c91e92235c2d4bd36baf327ce0bf7ed18982886', variant: "error" }, error), this.hasValidationError &&
420
+ h("r-hint", { key: '522a8a74f88356d42929f9e1fe4ab2a4326d25d7', "aria-live": "polite", id: `${uniqueId}-message`, role: "alert", variant: "error" }, this.customErrorMessage || this.validityMessage)))));
421
+ }
422
+ get host() { return getElement(this); }
423
+ };
424
+ RadioGroup.style = radioGroupCss;
425
+
426
+ export { RadioGroup as r_radio_group };