@riverty/web-components 5.8.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/custom-elements.json +215 -362
  3. package/dist/cjs/index-DJ4H_bFj.js +6 -10
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/r-accordion-panel.cjs.entry.js +1 -1
  6. package/dist/cjs/r-accordion-section.cjs.entry.js +1 -1
  7. package/dist/cjs/r-accordion-trigger.cjs.entry.js +5 -35
  8. package/dist/cjs/r-accordion.cjs.entry.js +3 -7
  9. package/dist/cjs/r-alert.cjs.entry.js +26 -11
  10. package/dist/cjs/r-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/r-button.cjs.entry.js +1 -1
  12. package/dist/cjs/r-checkbox-group.cjs.entry.js +1 -11
  13. package/dist/cjs/r-checkbox.cjs.entry.js +76 -75
  14. package/dist/cjs/r-dialog.cjs.entry.js +3 -11
  15. package/dist/cjs/r-hint_2.cjs.entry.js +50 -0
  16. package/dist/cjs/{r-hint_3.cjs.entry.js → r-icon-button_2.cjs.entry.js} +64 -51
  17. package/dist/cjs/r-icon.cjs.entry.js +1 -1
  18. package/dist/cjs/r-input-code.cjs.entry.js +112 -17
  19. package/dist/cjs/r-input-date.cjs.entry.js +8 -14
  20. package/dist/cjs/r-input-password.cjs.entry.js +16 -8
  21. package/dist/cjs/r-input-phone-number.cjs.entry.js +7 -12
  22. package/dist/cjs/r-input.cjs.entry.js +90 -42
  23. package/dist/cjs/r-list-item.cjs.entry.js +20 -19
  24. package/dist/cjs/r-panel.cjs.entry.js +5 -5
  25. package/dist/cjs/r-popover-action.cjs.entry.js +1 -1
  26. package/dist/cjs/r-popover-content.cjs.entry.js +1 -1
  27. package/dist/cjs/r-popover-headline.cjs.entry.js +1 -1
  28. package/dist/cjs/r-popover-trigger.cjs.entry.js +1 -1
  29. package/dist/cjs/r-popover.cjs.entry.js +3 -3
  30. package/dist/cjs/r-progress-bar.cjs.entry.js +1 -1
  31. package/dist/cjs/r-radio-button-description.cjs.entry.js +1 -1
  32. package/dist/cjs/r-radio-button-leading.cjs.entry.js +1 -1
  33. package/dist/cjs/r-radio-button-title.cjs.entry.js +1 -1
  34. package/dist/cjs/r-radio-button-trailing.cjs.entry.js +1 -1
  35. package/dist/cjs/r-radio-button.cjs.entry.js +29 -12
  36. package/dist/cjs/r-radio-group.cjs.entry.js +18 -22
  37. package/dist/cjs/r-select-option.cjs.entry.js +1 -1
  38. package/dist/cjs/r-select.cjs.entry.js +6 -24
  39. package/dist/cjs/r-skip-link.cjs.entry.js +1 -1
  40. package/dist/cjs/r-stepper-item.cjs.entry.js +3 -3
  41. package/dist/cjs/r-stepper.cjs.entry.js +2 -2
  42. package/dist/cjs/r-tab-panel.cjs.entry.js +1 -1
  43. package/dist/cjs/r-tab.cjs.entry.js +6 -2
  44. package/dist/cjs/r-tabs-list.cjs.entry.js +160 -2
  45. package/dist/cjs/r-tabs.cjs.entry.js +34 -6
  46. package/dist/cjs/r-textarea.cjs.entry.js +7 -19
  47. package/dist/cjs/r-toast-group.cjs.entry.js +2 -2
  48. package/dist/cjs/r-toast.cjs.entry.js +31 -11
  49. package/dist/cjs/web-components.cjs.js +1 -1
  50. package/dist/collection/collection-manifest.json +0 -1
  51. package/dist/collection/components/accordion/accordion.css +0 -2
  52. package/dist/collection/components/accordion/accordion.js +4 -8
  53. package/dist/collection/components/accordion/exports.js +1 -1
  54. package/dist/collection/components/accordion-panel/accordion-panel.js +1 -1
  55. package/dist/collection/components/accordion-section/accordion-section.js +1 -1
  56. package/dist/collection/components/accordion-trigger/accordion-trigger.css +0 -4
  57. package/dist/collection/components/accordion-trigger/accordion-trigger.js +4 -215
  58. package/dist/collection/components/alert/alert.css +8 -3
  59. package/dist/collection/components/alert/alert.js +48 -10
  60. package/dist/collection/components/badge/badge.js +1 -1
  61. package/dist/collection/components/button/button.js +1 -1
  62. package/dist/collection/components/checkbox/checkbox.js +80 -98
  63. package/dist/collection/components/checkbox-group/checkbox-group.js +1 -50
  64. package/dist/collection/components/dialog/dialog.css +1 -3
  65. package/dist/collection/components/dialog/dialog.js +2 -10
  66. package/dist/collection/components/hint/hint.js +2 -2
  67. package/dist/collection/components/icon/bundled-icons/riverty-kit.json +1 -1
  68. package/dist/collection/components/icon/riverty-kit.js +1 -1
  69. package/dist/collection/components/icon-button/icon-button.js +22 -3
  70. package/dist/collection/components/input/exports.js +2 -0
  71. package/dist/collection/components/input/input.css +3 -0
  72. package/dist/collection/components/input/input.js +233 -371
  73. package/dist/collection/components/input-code/exports.js +2 -0
  74. package/dist/collection/components/input-code/input-code.js +294 -26
  75. package/dist/collection/components/input-date/input-date.js +8 -77
  76. package/dist/collection/components/input-password/exports.js +1 -0
  77. package/dist/collection/components/input-password/input-password.css +1 -0
  78. package/dist/collection/components/input-password/input-password.js +195 -70
  79. package/dist/collection/components/input-phone-number/input-phone-number.js +7 -75
  80. package/dist/collection/components/label/label.js +3 -113
  81. package/dist/collection/components/list-item/list-item/list-item.css +53 -19
  82. package/dist/collection/components/list-item/list-item/list-item.js +38 -40
  83. package/dist/collection/components/panel/panel.css +40 -17
  84. package/dist/collection/components/panel/panel.js +6 -6
  85. package/dist/collection/components/popover/exports.js +0 -1
  86. package/dist/collection/components/popover/popover.css +2 -10
  87. package/dist/collection/components/popover/popover.js +2 -55
  88. package/dist/collection/components/popover-action/popover-action.js +1 -1
  89. package/dist/collection/components/popover-content/popover-content.js +1 -1
  90. package/dist/collection/components/popover-headline/popover-headline.js +1 -1
  91. package/dist/collection/components/popover-trigger/popover-trigger.js +1 -1
  92. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  93. package/dist/collection/components/radio-button/radio-button.js +49 -12
  94. package/dist/collection/components/radio-button-description/radio-button-description.js +1 -1
  95. package/dist/collection/components/radio-button-leading/radio-button-leading.js +1 -1
  96. package/dist/collection/components/radio-button-title/radio-button-title.js +1 -1
  97. package/dist/collection/components/radio-button-trailing/radio-button-trailing.js +1 -1
  98. package/dist/collection/components/radio-group/radio-group.js +38 -124
  99. package/dist/collection/components/select/select.js +6 -330
  100. package/dist/collection/components/select-option/select-option.js +1 -1
  101. package/dist/collection/components/skip-link/skip-link.js +1 -1
  102. package/dist/collection/components/stepper/stepper.css +1 -1
  103. package/dist/collection/components/stepper/stepper.js +1 -1
  104. package/dist/collection/components/stepper-item/stepper-item.css +3 -3
  105. package/dist/collection/components/stepper-item/stepper-item.js +2 -2
  106. package/dist/collection/components/tab/tab.css +29 -29
  107. package/dist/collection/components/tab/tab.js +5 -1
  108. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  109. package/dist/collection/components/tabs/tabs.js +34 -6
  110. package/dist/collection/components/tabs-list/exports.js +2 -0
  111. package/dist/collection/components/tabs-list/tabs-list.css +43 -2
  112. package/dist/collection/components/tabs-list/tabs-list.js +277 -1
  113. package/dist/collection/components/textarea/textarea.css +1 -1
  114. package/dist/collection/components/textarea/textarea.js +6 -158
  115. package/dist/collection/components/toast/toast.css +35 -9
  116. package/dist/collection/components/toast/toast.js +44 -32
  117. package/dist/collection/components/toast-group/toast-group.css +1 -1
  118. package/dist/collection/components/toast-group/toast-group.js +1 -1
  119. package/dist/collection/components/tooltip/tooltip.js +2 -2
  120. package/dist/esm/index-Da7qOBFr.js +6 -10
  121. package/dist/esm/loader.js +1 -1
  122. package/dist/esm/r-accordion-panel.entry.js +1 -1
  123. package/dist/esm/r-accordion-section.entry.js +1 -1
  124. package/dist/esm/r-accordion-trigger.entry.js +5 -35
  125. package/dist/esm/r-accordion.entry.js +3 -7
  126. package/dist/esm/r-alert.entry.js +26 -11
  127. package/dist/esm/r-badge.entry.js +1 -1
  128. package/dist/esm/r-button.entry.js +1 -1
  129. package/dist/esm/r-checkbox-group.entry.js +1 -11
  130. package/dist/esm/r-checkbox.entry.js +76 -75
  131. package/dist/esm/r-dialog.entry.js +3 -11
  132. package/dist/esm/r-hint_2.entry.js +47 -0
  133. package/dist/esm/{r-hint_3.entry.js → r-icon-button_2.entry.js} +65 -51
  134. package/dist/esm/r-icon.entry.js +1 -1
  135. package/dist/esm/r-input-code.entry.js +112 -17
  136. package/dist/esm/r-input-date.entry.js +8 -14
  137. package/dist/esm/r-input-password.entry.js +16 -8
  138. package/dist/esm/r-input-phone-number.entry.js +7 -12
  139. package/dist/esm/r-input.entry.js +90 -42
  140. package/dist/esm/r-list-item.entry.js +20 -19
  141. package/dist/esm/r-panel.entry.js +5 -5
  142. package/dist/esm/r-popover-action.entry.js +1 -1
  143. package/dist/esm/r-popover-content.entry.js +1 -1
  144. package/dist/esm/r-popover-headline.entry.js +1 -1
  145. package/dist/esm/r-popover-trigger.entry.js +1 -1
  146. package/dist/esm/r-popover.entry.js +3 -3
  147. package/dist/esm/r-progress-bar.entry.js +1 -1
  148. package/dist/esm/r-radio-button-description.entry.js +1 -1
  149. package/dist/esm/r-radio-button-leading.entry.js +1 -1
  150. package/dist/esm/r-radio-button-title.entry.js +1 -1
  151. package/dist/esm/r-radio-button-trailing.entry.js +1 -1
  152. package/dist/esm/r-radio-button.entry.js +29 -12
  153. package/dist/esm/r-radio-group.entry.js +18 -22
  154. package/dist/esm/r-select-option.entry.js +1 -1
  155. package/dist/esm/r-select.entry.js +6 -24
  156. package/dist/esm/r-skip-link.entry.js +1 -1
  157. package/dist/esm/r-stepper-item.entry.js +3 -3
  158. package/dist/esm/r-stepper.entry.js +2 -2
  159. package/dist/esm/r-tab-panel.entry.js +1 -1
  160. package/dist/esm/r-tab.entry.js +6 -2
  161. package/dist/esm/r-tabs-list.entry.js +161 -3
  162. package/dist/esm/r-tabs.entry.js +34 -6
  163. package/dist/esm/r-textarea.entry.js +7 -19
  164. package/dist/esm/r-toast-group.entry.js +2 -2
  165. package/dist/esm/r-toast.entry.js +31 -11
  166. package/dist/esm/web-components.js +1 -1
  167. package/dist/types/components/accordion/accordion.d.ts +1 -5
  168. package/dist/types/components/accordion/exports.d.ts +1 -1
  169. package/dist/types/components/accordion-trigger/accordion-trigger.d.ts +0 -36
  170. package/dist/types/components/alert/alert.d.ts +6 -1
  171. package/dist/types/components/checkbox/checkbox.d.ts +24 -34
  172. package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -11
  173. package/dist/types/components/dialog/dialog.d.ts +0 -2
  174. package/dist/types/components/icon/exports.d.ts +1 -0
  175. package/dist/types/components/icon/icon-data.d.ts +1 -0
  176. package/dist/types/components/icon/riverty-kit.d.ts +1 -0
  177. package/dist/types/components/icon-button/icon-button.d.ts +4 -0
  178. package/dist/types/components/input/exports.d.ts +4 -0
  179. package/dist/types/components/input/input.d.ts +47 -73
  180. package/dist/types/components/input-code/exports.d.ts +4 -0
  181. package/dist/types/components/input-code/input-code.d.ts +49 -7
  182. package/dist/types/components/input-date/input-date.d.ts +0 -16
  183. package/dist/types/components/input-password/exports.d.ts +1 -0
  184. package/dist/types/components/input-password/input-password.d.ts +48 -16
  185. package/dist/types/components/input-phone-number/input-phone-number.d.ts +0 -16
  186. package/dist/types/components/label/label.d.ts +0 -18
  187. package/dist/types/components/list-item/list-item/list-item.d.ts +5 -9
  188. package/dist/types/components/popover/exports.d.ts +0 -2
  189. package/dist/types/components/popover/popover.d.ts +1 -14
  190. package/dist/types/components/radio-button/radio-button.d.ts +5 -0
  191. package/dist/types/components/radio-group/radio-group.d.ts +5 -26
  192. package/dist/types/components/select/select.d.ts +0 -50
  193. package/dist/types/components/tabs/tabs.d.ts +1 -0
  194. package/dist/types/components/tabs-list/exports.d.ts +4 -0
  195. package/dist/types/components/tabs-list/tabs-list.d.ts +38 -0
  196. package/dist/types/components/textarea/textarea.d.ts +0 -32
  197. package/dist/types/components/toast/toast.d.ts +11 -5
  198. package/dist/types/components.d.ts +280 -638
  199. package/dist/web-components/bundled-icons/riverty-kit.json +1 -1
  200. package/dist/web-components/p-0347feff.entry.js +1 -0
  201. package/dist/web-components/p-159822fe.entry.js +1 -0
  202. package/dist/web-components/p-19407a14.entry.js +1 -0
  203. package/dist/web-components/{p-5744d75c.entry.js → p-1da75540.entry.js} +1 -1
  204. package/dist/web-components/p-26ef77d6.entry.js +1 -0
  205. package/dist/web-components/p-3884c6e7.entry.js +1 -0
  206. package/dist/web-components/p-3f60c6c0.entry.js +1 -0
  207. package/dist/web-components/{p-87f39749.entry.js → p-4595fa8e.entry.js} +1 -1
  208. package/dist/web-components/{p-4e3df002.entry.js → p-4cc58c6a.entry.js} +1 -1
  209. package/dist/web-components/p-4f261b63.entry.js +1 -0
  210. package/dist/web-components/{p-e0e2f2b2.entry.js → p-50893211.entry.js} +1 -1
  211. package/dist/web-components/{p-72fa1fd1.entry.js → p-550e2237.entry.js} +1 -1
  212. package/dist/web-components/p-589baaf9.entry.js +1 -0
  213. package/dist/web-components/{p-3b4e3faf.entry.js → p-5eeb7002.entry.js} +1 -1
  214. package/dist/web-components/p-60341de2.entry.js +1 -0
  215. package/dist/web-components/{p-44ae9f33.entry.js → p-62b788bf.entry.js} +1 -1
  216. package/dist/web-components/p-63fd817d.entry.js +1 -0
  217. package/dist/web-components/p-67fa3f84.entry.js +1 -0
  218. package/dist/web-components/p-6bb44ec6.entry.js +1 -0
  219. package/dist/web-components/p-6cc2ea2c.entry.js +1 -0
  220. package/dist/web-components/p-70784685.entry.js +1 -0
  221. package/dist/web-components/p-7ce57332.entry.js +1 -0
  222. package/dist/web-components/{p-429213ea.entry.js → p-7fed6f4d.entry.js} +1 -1
  223. package/dist/web-components/p-8a66d20c.entry.js +1 -0
  224. package/dist/web-components/{p-c7f8e59b.entry.js → p-8c31cbd5.entry.js} +1 -1
  225. package/dist/web-components/p-8dac326b.entry.js +1 -0
  226. package/dist/web-components/p-92c7cf33.entry.js +1 -0
  227. package/dist/web-components/{p-1c2497de.entry.js → p-9ef1bbee.entry.js} +1 -1
  228. package/dist/web-components/p-a7d22c76.entry.js +1 -0
  229. package/dist/web-components/p-b96d59ca.entry.js +1 -0
  230. package/dist/web-components/p-ba801820.entry.js +1 -0
  231. package/dist/web-components/{p-a022f356.entry.js → p-bfc8c077.entry.js} +1 -1
  232. package/dist/web-components/p-c05b05da.entry.js +1 -0
  233. package/dist/web-components/p-c1e748f2.entry.js +1 -0
  234. package/dist/web-components/{p-5bbd6e3c.entry.js → p-c478712b.entry.js} +1 -1
  235. package/dist/web-components/p-c95b6470.entry.js +1 -0
  236. package/dist/web-components/p-cd5daad2.entry.js +1 -0
  237. package/dist/web-components/p-cdd88c5a.entry.js +1 -0
  238. package/dist/web-components/{p-3078b2b8.entry.js → p-d054eb4d.entry.js} +1 -1
  239. package/dist/web-components/{p-8563a1ab.entry.js → p-d433a828.entry.js} +1 -1
  240. package/dist/web-components/p-d7726e46.entry.js +1 -0
  241. package/dist/web-components/p-d819c8e5.entry.js +1 -0
  242. package/dist/web-components/{p-755cc697.entry.js → p-e4dc60f0.entry.js} +1 -1
  243. package/dist/web-components/{p-d1379ac6.entry.js → p-f9d5004c.entry.js} +1 -1
  244. package/dist/web-components/web-components.esm.js +1 -1
  245. package/package.json +1 -1
  246. package/dist/cjs/r-accordion-item.cjs.entry.js +0 -78
  247. package/dist/cjs/r-icon-button.cjs.entry.js +0 -81
  248. package/dist/collection/components/accordion-item/accordion-item.css +0 -121
  249. package/dist/collection/components/accordion-item/accordion-item.js +0 -138
  250. package/dist/esm/r-accordion-item.entry.js +0 -76
  251. package/dist/esm/r-icon-button.entry.js +0 -79
  252. package/dist/types/components/accordion-item/accordion-item.d.ts +0 -26
  253. package/dist/web-components/p-00ca474f.entry.js +0 -1
  254. package/dist/web-components/p-0bb04d79.entry.js +0 -1
  255. package/dist/web-components/p-15ac0fdd.entry.js +0 -1
  256. package/dist/web-components/p-1c956370.entry.js +0 -1
  257. package/dist/web-components/p-2a512983.entry.js +0 -1
  258. package/dist/web-components/p-2b2f581a.entry.js +0 -1
  259. package/dist/web-components/p-2e18e762.entry.js +0 -1
  260. package/dist/web-components/p-3bc93d65.entry.js +0 -1
  261. package/dist/web-components/p-4bd3e077.entry.js +0 -1
  262. package/dist/web-components/p-51a5804b.entry.js +0 -1
  263. package/dist/web-components/p-56da04d8.entry.js +0 -1
  264. package/dist/web-components/p-5e6aabd8.entry.js +0 -1
  265. package/dist/web-components/p-656229de.entry.js +0 -1
  266. package/dist/web-components/p-6a4f3836.entry.js +0 -1
  267. package/dist/web-components/p-7775228c.entry.js +0 -1
  268. package/dist/web-components/p-7ad8e78b.entry.js +0 -1
  269. package/dist/web-components/p-85a9af42.entry.js +0 -1
  270. package/dist/web-components/p-9e50120b.entry.js +0 -1
  271. package/dist/web-components/p-a7e7f8fa.entry.js +0 -1
  272. package/dist/web-components/p-ad9b2a48.entry.js +0 -1
  273. package/dist/web-components/p-b2f03016.entry.js +0 -1
  274. package/dist/web-components/p-b87ad83b.entry.js +0 -1
  275. package/dist/web-components/p-c937bd92.entry.js +0 -1
  276. package/dist/web-components/p-cbcd7699.entry.js +0 -1
  277. package/dist/web-components/p-dbe579e8.entry.js +0 -1
  278. package/dist/web-components/p-e4b66277.entry.js +0 -1
  279. package/dist/web-components/p-e6a31881.entry.js +0 -1
  280. package/dist/web-components/p-f2577a3c.entry.js +0 -1
  281. package/dist/web-components/p-f6a92287.entry.js +0 -1
@@ -180,23 +180,51 @@ export class RTabs {
180
180
  history.pushState({ tabId, tabsGroup }, '', url.toString());
181
181
  }
182
182
  _changeFocusTab(tab, keycode) {
183
- var _a, _b, _c, _d;
184
183
  const tabs = Array.from(this.tabElements).filter(element => !element.disabled);
185
184
  const index = tabs.indexOf(tab);
185
+ let nextTab;
186
186
  switch (keycode) {
187
187
  case 'ArrowLeft':
188
- index === 0 ? (_a = tabs[tabs.length - 1]) === null || _a === void 0 ? void 0 : _a.focus() : tabs[index - 1].focus();
188
+ nextTab = index === 0 ? tabs[tabs.length - 1] : tabs[index - 1];
189
189
  break;
190
190
  case 'ArrowRight':
191
- index === tabs.length - 1 ? (_b = tabs[0]) === null || _b === void 0 ? void 0 : _b.focus() : tabs[index + 1].focus();
191
+ nextTab = index === tabs.length - 1 ? tabs[0] : tabs[index + 1];
192
192
  break;
193
193
  case 'Home':
194
- (_c = tabs[0]) === null || _c === void 0 ? void 0 : _c.focus();
194
+ nextTab = tabs[0];
195
195
  break;
196
196
  case 'End':
197
- (_d = tabs[tabs.length - 1]) === null || _d === void 0 ? void 0 : _d.focus();
197
+ nextTab = tabs[tabs.length - 1];
198
198
  break;
199
199
  }
200
+ if (nextTab) {
201
+ nextTab.focus();
202
+ this.scrollTabIntoView(nextTab);
203
+ }
204
+ }
205
+ scrollTabIntoView(tab) {
206
+ var _a;
207
+ const tabsList = this.host.querySelector('r-tabs-list');
208
+ if (!tabsList)
209
+ return;
210
+ const container = (_a = tabsList.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.r-tabs-list--tabs-container');
211
+ if (!container)
212
+ return;
213
+ const containerRect = container.getBoundingClientRect();
214
+ const tabRect = tab.getBoundingClientRect();
215
+ // Check if tab is fully visible
216
+ const isFullyVisible = tabRect.left >= containerRect.left - 1 &&
217
+ tabRect.right <= containerRect.right + 1;
218
+ if (isFullyVisible)
219
+ return;
220
+ // Calculate scroll offset to center the tab
221
+ const centerOffset = (tabRect.left - containerRect.left) -
222
+ (containerRect.width / 2) +
223
+ (tabRect.width / 2);
224
+ container.scrollBy({
225
+ left: centerOffset,
226
+ behavior: 'smooth'
227
+ });
200
228
  }
201
229
  /** Listen for "click" event on `<r-tab>` */
202
230
  tabChangeAction(event) {
@@ -233,7 +261,7 @@ export class RTabs {
233
261
  this._changeFocusTab(e.target, e.detail.keycode);
234
262
  }
235
263
  render() {
236
- return (h(Host, { key: 'ddb0847ae3eb4a03c446b2dd193f2fa9603081df', class: "r-tabs" }, h("slot", { key: 'd60346bd45b58534e6ac922ac66c09c1bb04c532' })));
264
+ return (h(Host, { key: 'b058fd461951dad54e7eb73f7dc5df838c864ebd', class: "r-tabs" }, h("slot", { key: '8e93fded06f0f01dc326e8368aac200d36613753' })));
237
265
  }
238
266
  static get is() { return "r-tabs"; }
239
267
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,2 @@
1
+ export const TabListVariantArray = ['expanded', 'compact'];
2
+ export const ActiveTabBorderArray = ['standard', 'branded'];
@@ -2,15 +2,56 @@
2
2
  display: block;
3
3
  }
4
4
 
5
+ :host([variant=compact]) {
6
+ --r-tabs-list--r-tab--margin-right: 0;
7
+ --r-tabs-list--r-tab--flex: 1;
8
+ --r-tab--width: 100%;
9
+ }
10
+
11
+ :host([scrollable=true]) {
12
+ --r-tabs-list--tabs-container--margin: -6px 4px ;
13
+ }
14
+
15
+ :host([border=branded]) {
16
+ --r-tab--marker--background-color: var(--r-border-brand-vanguard, #527a42);
17
+ }
18
+
5
19
  .r-tabs-list {
6
20
  display: var(--r-tabs-list--display, flex);
7
- margin-bottom: var(--r-tabs-list--margin-bottom, 40px);
21
+ margin-bottom: var(--r-tabs-list--margin-bottom, var(--r-spacing-250, 2.5rem));
8
22
  border-bottom-width: var(--r-tabs-list--border-bottom-width, 1px);
9
23
  border-bottom-style: var(--r-tabs-list--border-bottom-style, solid);
10
24
  border-bottom-color: var(--r-tabs-list--border-bottom-color, var(--r-border-softer, #c9c9c9));
11
25
  }
26
+ .r-tabs-list--scroll-button {
27
+ --r-icon-button--border-radius: var(--r-tabs-list--border-radius, 0);
28
+ --r-icon-button--width: var(--r-tabs-list--scroll-button--width, var(--r-spacing-200, 2rem));
29
+ --r-icon-button--height: var(--r-tabs-list--scroll-button--height, var(--r-spacing-200, 2rem));
30
+ }
31
+ .r-tabs-list--tabs-container {
32
+ display: var(--r-tabs-list--tabs-container--display, flex);
33
+ flex: var(--r-tabs-list--tabs-container--flex, 1);
34
+ overflow: var(--r-tabs-list--tabs-container--overflow, scroll hidden);
35
+ scroll-snap-type: var(--r-tabs-list--tabs-container--scroll-snap-type, x proximity);
36
+ scrollbar-width: var(--r-tabs-list--tabs-container--scrollbar-width, none);
37
+ margin: var(--r-tabs-list--tabs-container--margin, -6px);
38
+ padding: var(--r-tabs-list--tabs-container--padding, 6px);
39
+ }
40
+ .r-tabs-list--scroll-button-container {
41
+ display: var(--r-tabs-list--scroll-button-container--display, flex);
42
+ align-items: var(--r-tabs-list--scroll-button-container--align-items, start);
43
+ gap: var(--r-tabs-list--scroll-button-container--gap, var(--r-spacing-025, 0.25rem));
44
+ }
45
+ .r-tabs-list--scroll-indicator {
46
+ margin-top: var(--r-tabs-list--scroll-indicator--margin, 2px);
47
+ width: var(--r-tabs-list--scroll-button--after--width, 1px);
48
+ height: var(--r-tabs-list--scroll-button--after--height, var(--r-spacing-175, 1.75rem));
49
+ background-color: var(--r-tabs-list----scroll-indicator--background-color, var(--r-border-softer, #c9c9c9));
50
+ z-index: var(--r-tabs-list----scroll-indicator--z-index, 1);
51
+ }
12
52
  .r-tabs-list ::slotted(r-tab) {
13
- margin-right: var(--r-tabs-list--r-tab--margin-right, 40px);
53
+ margin-right: var(--r-tabs-list--r-tab--margin-right, var(--r-spacing-250, 2.5rem));
54
+ flex: var(--r-tabs-list--r-tab--flex, none);
14
55
  }
15
56
  .r-tabs-list ::slotted(r-tab:last-of-type) {
16
57
  margin-right: var(--r-tabs-list--r-tab--last-of-type--margin-right, 0);
@@ -1,7 +1,166 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  export class RTabsList {
3
+ constructor() {
4
+ /**
5
+ * Visual variant of the tab list
6
+ * @defaulr 'expanded'
7
+ * */
8
+ this.variant = 'expanded';
9
+ /**
10
+ * Border style of the active tab
11
+ * @default 'standard'
12
+ * */
13
+ this.border = 'standard';
14
+ /** Indicates if the tab list is scrollable */
15
+ this.scrollable = false;
16
+ /** Indicates if the first tab is fully visible */
17
+ this.firstItemVisible = true;
18
+ /** Indicates if the last tab is fully visible */
19
+ this.lastItemVisible = false;
20
+ this.initiatizeResizeObserver = () => {
21
+ if (!this.containerRef || this.resizeObserver)
22
+ return;
23
+ this.resizeObserver = new ResizeObserver(() => this.updateScrollState());
24
+ this.resizeObserver.observe(this.containerRef);
25
+ };
26
+ this.updateScrollState = () => {
27
+ if (!this.containerRef)
28
+ return;
29
+ const { scrollWidth, clientWidth } = this.containerRef;
30
+ const containerRect = this.containerRef.getBoundingClientRect();
31
+ const tabs = Array.from(this.tabElements);
32
+ // Check if content is scrollable
33
+ this.scrollable = scrollWidth > clientWidth;
34
+ if (!this.scrollable || tabs.length === 0) {
35
+ this.firstItemVisible = true;
36
+ this.lastItemVisible = true;
37
+ return;
38
+ }
39
+ const firstTab = tabs[0];
40
+ const firstTabRect = firstTab.getBoundingClientRect();
41
+ this.firstItemVisible = firstTabRect.left >= containerRect.left - 1;
42
+ const lastTab = tabs[tabs.length - 1];
43
+ const lastTabRect = lastTab.getBoundingClientRect();
44
+ this.lastItemVisible = lastTabRect.right <= containerRect.right + 1;
45
+ };
46
+ this.getVisibleTabOnLeft = () => {
47
+ if (!this.containerRef)
48
+ return null;
49
+ const containerRect = this.containerRef.getBoundingClientRect();
50
+ const tabs = Array.from(this.tabElements);
51
+ // Find first tab that's partially or fully visible from the left
52
+ for (const tab of tabs) {
53
+ const tabRect = tab.getBoundingClientRect();
54
+ if (tabRect.right > containerRect.left + 1) {
55
+ return tab;
56
+ }
57
+ }
58
+ return;
59
+ };
60
+ this.getVisibleTabOnRight = () => {
61
+ if (!this.containerRef)
62
+ return null;
63
+ const containerRect = this.containerRef.getBoundingClientRect();
64
+ const tabs = Array.from(this.tabElements);
65
+ for (let i = tabs.length - 1; i >= 0; i--) {
66
+ const tab = tabs[i];
67
+ const tabRect = tab.getBoundingClientRect();
68
+ if (tabRect.left < containerRect.right - 1) {
69
+ return tab;
70
+ }
71
+ }
72
+ return null;
73
+ };
74
+ this.scrollLeft = () => {
75
+ if (!this.containerRef)
76
+ return;
77
+ const visibleTab = this.getVisibleTabOnLeft();
78
+ if (!visibleTab)
79
+ return;
80
+ const tabs = Array.from(this.tabElements);
81
+ const currentIndex = tabs.indexOf(visibleTab);
82
+ const prevTab = currentIndex > 0 ? tabs[currentIndex - 1] : null;
83
+ if (!prevTab)
84
+ return;
85
+ const containerLeft = this.containerRef.getBoundingClientRect().left;
86
+ const prevTabLeft = prevTab.getBoundingClientRect().left;
87
+ const offset = prevTabLeft - containerLeft;
88
+ this.containerRef.scrollBy({
89
+ left: offset,
90
+ behavior: 'smooth'
91
+ });
92
+ };
93
+ this.scrollRight = () => {
94
+ if (!this.containerRef)
95
+ return;
96
+ const visibleTab = this.getVisibleTabOnRight();
97
+ if (!visibleTab)
98
+ return;
99
+ const tabs = Array.from(this.tabElements);
100
+ const currentIndex = tabs.indexOf(visibleTab);
101
+ const nextTab = currentIndex < tabs.length - 1 ? tabs[currentIndex + 1] : null;
102
+ if (!nextTab)
103
+ return;
104
+ const containerRight = this.containerRef.getBoundingClientRect().right;
105
+ const nextTabRight = nextTab.getBoundingClientRect().right;
106
+ const offset = nextTabRight - containerRight;
107
+ this.containerRef.scrollBy({
108
+ left: offset,
109
+ behavior: 'smooth'
110
+ });
111
+ };
112
+ this.scrollToActiveTab = (activeTabElement) => {
113
+ if (!this.containerRef || !this.scrollable)
114
+ return;
115
+ const activeTab = activeTabElement || this.host.querySelector('r-tab[active]');
116
+ if (!activeTab)
117
+ return;
118
+ const containerRect = this.containerRef.getBoundingClientRect();
119
+ const activeTabRect = activeTab.getBoundingClientRect();
120
+ // Check if already fully visible
121
+ const isVisible = activeTabRect.left >= containerRect.left &&
122
+ activeTabRect.right <= containerRect.right;
123
+ if (isVisible)
124
+ return;
125
+ // Center the active tab
126
+ const offset = (activeTabRect.left - containerRect.left) -
127
+ (containerRect.width / 2) +
128
+ (activeTabRect.width / 2);
129
+ this.containerRef.scrollBy({
130
+ left: offset,
131
+ behavior: 'smooth'
132
+ });
133
+ };
134
+ this.renderScrollButton = (direction, disabled, onClick, tooltip) => {
135
+ const iconName = direction === 'left' ? 'angle-left' : 'angle-right';
136
+ const button = (h("r-icon-button", { onRClick: onClick, disabled: disabled, name: iconName, size: "s", rTabindex: -1, class: "r-tabs-list--scroll-button" }));
137
+ if (tooltip) {
138
+ return (h("r-tooltip", { text: tooltip, position: "top" }, button));
139
+ }
140
+ return button;
141
+ };
142
+ }
143
+ /** Listen for "click" event on `<r-tab>` */
144
+ tabChangeAction(event) {
145
+ this.scrollToActiveTab(event.target);
146
+ }
147
+ /** `<r-tab>` group of elements */
148
+ get tabElements() {
149
+ return this.host.querySelectorAll('r-tab');
150
+ }
151
+ componentDidLoad() {
152
+ this.updateScrollState();
153
+ this.initiatizeResizeObserver();
154
+ this.scrollToActiveTab();
155
+ }
156
+ disconnectedCallback() {
157
+ var _a;
158
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
159
+ }
3
160
  render() {
4
- return (h(Host, { key: '323b36e7d276c42c72764c34f2564153d80b64d2', role: "tablist" }, h("div", { key: 'bab777186d6d538c6f541e08bda090ab228f38d3', class: "r-tabs-list" }, h("slot", { key: '60a0d80ba3ada9d218ca8058cdcdf720277e19d0' }))));
161
+ return (h(Host, { key: '8191b15343491c66259b583930ee73916c6bbd9e', scrollable: `${this.scrollable}`, role: "tablist" }, h("div", { key: 'e5c2a308889986b80549aba5b9a7bec8e6961891', class: "r-tabs-list" }, this.scrollable &&
162
+ h("div", { key: '62e6abb4a9e5ff9c553162c6de4176c8ce4c0407', "aria-hidden": "true", class: "r-tabs-list--scroll-button-container" }, this.renderScrollButton('left', this.firstItemVisible, this.scrollLeft, this.scrollLeftTooltip), !this.firstItemVisible && h("div", { key: '62e5c2ca7e76323ff367940cd9ab1cb6e5b6db74', class: "r-tabs-list--scroll-indicator" })), h("div", { key: '5f0b264eb4abaf51d4e2f3a85a92d89ff9e378f5', class: "r-tabs-list--tabs-container", ref: (el) => this.containerRef = el, onScroll: this.updateScrollState }, h("slot", { key: '38f6060007491fa9b50cf7cf7d36372c32e63d97' })), this.scrollable &&
163
+ h("div", { key: 'd51473735f550b81b5ba630126fe3bcc41848648', "aria-hidden": "true", class: "r-tabs-list--scroll-button-container" }, !this.lastItemVisible && h("div", { key: '89d712984dd7797cbca0df86989cf8eedcd95a61', class: "r-tabs-list--scroll-indicator" }), this.renderScrollButton('right', this.lastItemVisible, this.scrollRight, this.scrollRightTooltip)))));
5
164
  }
6
165
  static get is() { return "r-tabs-list"; }
7
166
  static get encapsulation() { return "shadow"; }
@@ -15,4 +174,121 @@ export class RTabsList {
15
174
  "$": ["tabs-list.css"]
16
175
  };
17
176
  }
177
+ static get properties() {
178
+ return {
179
+ "variant": {
180
+ "type": "string",
181
+ "attribute": "variant",
182
+ "mutable": false,
183
+ "complexType": {
184
+ "original": "TabListVariant",
185
+ "resolved": "\"compact\" | \"expanded\"",
186
+ "references": {
187
+ "TabListVariant": {
188
+ "location": "import",
189
+ "path": "./exports",
190
+ "id": "src/components/tabs-list/exports.ts::TabListVariant"
191
+ }
192
+ }
193
+ },
194
+ "required": false,
195
+ "optional": false,
196
+ "docs": {
197
+ "tags": [{
198
+ "name": "defaulr",
199
+ "text": "'expanded'"
200
+ }],
201
+ "text": "Visual variant of the tab list"
202
+ },
203
+ "getter": false,
204
+ "setter": false,
205
+ "reflect": true,
206
+ "defaultValue": "'expanded'"
207
+ },
208
+ "border": {
209
+ "type": "string",
210
+ "attribute": "border",
211
+ "mutable": false,
212
+ "complexType": {
213
+ "original": "ActiveTabBorder",
214
+ "resolved": "\"branded\" | \"standard\"",
215
+ "references": {
216
+ "ActiveTabBorder": {
217
+ "location": "import",
218
+ "path": "./exports",
219
+ "id": "src/components/tabs-list/exports.ts::ActiveTabBorder"
220
+ }
221
+ }
222
+ },
223
+ "required": false,
224
+ "optional": false,
225
+ "docs": {
226
+ "tags": [{
227
+ "name": "default",
228
+ "text": "'standard'"
229
+ }],
230
+ "text": "Border style of the active tab"
231
+ },
232
+ "getter": false,
233
+ "setter": false,
234
+ "reflect": true,
235
+ "defaultValue": "'standard'"
236
+ },
237
+ "scrollLeftTooltip": {
238
+ "type": "string",
239
+ "attribute": "scroll-left-tooltip",
240
+ "mutable": false,
241
+ "complexType": {
242
+ "original": "string",
243
+ "resolved": "string",
244
+ "references": {}
245
+ },
246
+ "required": false,
247
+ "optional": false,
248
+ "docs": {
249
+ "tags": [],
250
+ "text": "Tooltip visibility for left scroll button"
251
+ },
252
+ "getter": false,
253
+ "setter": false,
254
+ "reflect": false
255
+ },
256
+ "scrollRightTooltip": {
257
+ "type": "string",
258
+ "attribute": "scroll-right-tooltip",
259
+ "mutable": false,
260
+ "complexType": {
261
+ "original": "string",
262
+ "resolved": "string",
263
+ "references": {}
264
+ },
265
+ "required": false,
266
+ "optional": false,
267
+ "docs": {
268
+ "tags": [],
269
+ "text": "Tooltip visibility for left right button"
270
+ },
271
+ "getter": false,
272
+ "setter": false,
273
+ "reflect": false
274
+ }
275
+ };
276
+ }
277
+ static get states() {
278
+ return {
279
+ "scrollable": {},
280
+ "firstItemVisible": {},
281
+ "lastItemVisible": {}
282
+ };
283
+ }
284
+ static get elementRef() { return "host"; }
285
+ static get listeners() {
286
+ return [{
287
+ "name": "tabChange",
288
+ "method": "tabChangeAction",
289
+ "target": undefined,
290
+ "capture": false,
291
+ "passive": false
292
+ }];
293
+ }
18
294
  }
@@ -76,7 +76,7 @@
76
76
  padding: var(--r-textarea--input--padding, var(--r-textarea--input--padding-top, 0.688em) var(--r-textarea--input--padding-right, 0.625em) var(--r-textarea--input--padding-bottom, 0.688em) var(--r-textarea--input--padding-left, 0.625em));
77
77
  margin-top: var(--r-textarea--input--margin-top, 0);
78
78
  resize: var(--r-textarea--input--resize, both);
79
- z-index: var(--r-textarea--input--z-index, 1);
79
+ z-index: var(--r-textarea--input--z-index, initial);
80
80
  outline: var(--r-textarea--input--outline, none);
81
81
  outline-offset: var(--r-textarea--input--outline-offset, 0);
82
82
  pointer-events: var(--r-textarea--input--pointer-events, auto);
@@ -13,11 +13,6 @@ export class RTextarea {
13
13
  this.resize = 'none';
14
14
  /** Custom message when the character limit is reached to alert screen reader users. */
15
15
  this.characterLimitReachedMessage = "You've reached the character limit.";
16
- /**
17
- * _DEPRECATED_ (This property will be removed in November 2025 release.)
18
- * Controls the visibility of validation indicators for the field.
19
- * */
20
- this.showValid = false;
21
16
  /** Custom validity state */
22
17
  this.validityState = null;
23
18
  /** Custom validity message */
@@ -180,11 +175,8 @@ export class RTextarea {
180
175
  const hasMessage = !!(this.customErrorMessage || this.validityMessage);
181
176
  return isInvalid && hasMessage;
182
177
  }
183
- get hasValidationSuccess() {
184
- return this.valid && this.validMessage && this.showValid;
185
- }
186
178
  get hasMessage() {
187
- return this.hasError || this.hasValidationError || this.hasValidationSuccess;
179
+ return this.hasError || this.hasValidationError;
188
180
  }
189
181
  /**
190
182
  * Determine whether this element should be ignored
@@ -225,7 +217,7 @@ export class RTextarea {
225
217
  this.disconnectFormEventListeners();
226
218
  }
227
219
  render() {
228
- const { name, rows, cols, placeholder, required, showCounter, maxlength, minlength, form, value, disabled, resize, hint, invalid, label, uniqueId, fieldIndicator, tooltip, tooltipIcon, tooltipIconColor, readonly } = this;
220
+ const { name, rows, cols, placeholder, required, showCounter, maxlength, minlength, form, value, disabled, resize, hint, invalid, label, uniqueId, fieldIndicator, readonly } = this;
229
221
  const textareaAttrs = {
230
222
  name,
231
223
  rows,
@@ -244,14 +236,10 @@ export class RTextarea {
244
236
  'aria-invalid': `${!!invalid}`,
245
237
  'aria-required': `${!!required}`
246
238
  };
247
- // DEPRECATED: will be removed in November 2025 release.
248
- const tooltipAttrs = tooltip && !disabled ? {
249
- tooltip,
250
- tooltipIcon,
251
- tooltipIconColor
239
+ const labelAttr = label ? {
240
+ label,
241
+ fieldIndicator
252
242
  } : {};
253
- const labelAttr = label ? Object.assign({ label,
254
- fieldIndicator }, tooltipAttrs) : {};
255
243
  // Filter out event listener properties based on naming convention.
256
244
  // Pass them to native element.
257
245
  const eventListeners = Object.entries(this).reduce((acc, [key, value]) => {
@@ -262,7 +250,7 @@ export class RTextarea {
262
250
  }, {});
263
251
  return (h(Host, null, h("div", { class: "r-textarea--label-container" }, h("label", { htmlFor: uniqueId }, label &&
264
252
  h("r-label", Object.assign({ id: `${uniqueId}-label` }, labelAttr), label)), h("slot", { name: "popover" })), hint &&
265
- h("r-hint", { id: `${uniqueId}-hint`, role: "note" }, hint), h("div", { class: "r-textarea--container", "data-disabled": `${!!disabled}`, "data-readonly": `${!!readonly}` }, h("textarea", Object.assign({ class: "r-textarea--input" }, textareaAttrs, eventListeners, { ref: el => this.nativeElement = el, onChange: this.onChange, onInput: this.onInput })), h("div", { class: "r-textarea--trailing" }, this.readonly && h("r-icon", { class: "r-textarea--readonly-icon", name: "pen-disabled", size: "s" }), this.hasTrailingSlot && h("slot", { name: "trailing" }))), h("div", { class: "r-textarea--messages" }, h("r-hint", { "aria-live": "polite", "aria-atomic": "true", id: `${uniqueId}-message`, class: !this.hasMessage && 'visually-hidden', variant: invalid ? 'error' : 'success' }, this.hasError && this.error, this.hasValidationError && (this.customErrorMessage || this.validityMessage), this.hasValidationSuccess && this.validMessage), showCounter && h("r-hint", { "aria-hidden": true, class: "r-textarea--messages--counter" }, `${value.length}${maxlength ? '/' : ''}${maxlength}`), maxlength &&
253
+ h("r-hint", { id: `${uniqueId}-hint`, role: "note" }, hint), h("div", { class: "r-textarea--container", "data-disabled": `${!!disabled}`, "data-readonly": `${!!readonly}` }, h("textarea", Object.assign({ class: "r-textarea--input" }, textareaAttrs, eventListeners, { ref: el => this.nativeElement = el, onChange: this.onChange, onInput: this.onInput })), h("div", { class: "r-textarea--trailing" }, this.readonly && h("r-icon", { class: "r-textarea--readonly-icon", name: "pen-disabled", size: "s" }), this.hasTrailingSlot && h("slot", { name: "trailing" }))), h("div", { class: "r-textarea--messages" }, h("r-hint", { "aria-live": "polite", "aria-atomic": "true", id: `${uniqueId}-message`, class: !this.hasMessage && 'visually-hidden', variant: invalid ? 'error' : 'success' }, this.hasError && this.error, this.hasValidationError && (this.customErrorMessage || this.validityMessage)), showCounter && h("r-hint", { "aria-hidden": true, class: "r-textarea--messages--counter" }, `${value.length}${maxlength ? '/' : ''}${maxlength}`), maxlength &&
266
254
  h("div", { class: "visually-hidden", ref: el => this.characterLimitReachedAlert = el, "aria-live": "assertive" }))));
267
255
  }
268
256
  static get is() { return "r-textarea"; }
@@ -669,26 +657,6 @@ export class RTextarea {
669
657
  "setter": false,
670
658
  "reflect": false
671
659
  },
672
- "showValid": {
673
- "type": "boolean",
674
- "attribute": "show-valid",
675
- "mutable": false,
676
- "complexType": {
677
- "original": "boolean",
678
- "resolved": "boolean",
679
- "references": {}
680
- },
681
- "required": false,
682
- "optional": false,
683
- "docs": {
684
- "tags": [],
685
- "text": "_DEPRECATED_ (This property will be removed in November 2025 release.)\nControls the visibility of validation indicators for the field."
686
- },
687
- "getter": false,
688
- "setter": false,
689
- "reflect": false,
690
- "defaultValue": "false"
691
- },
692
660
  "valid": {
693
661
  "type": "boolean",
694
662
  "attribute": "valid",
@@ -708,25 +676,6 @@ export class RTextarea {
708
676
  "setter": false,
709
677
  "reflect": true
710
678
  },
711
- "validMessage": {
712
- "type": "string",
713
- "attribute": "valid-message",
714
- "mutable": false,
715
- "complexType": {
716
- "original": "string",
717
- "resolved": "string",
718
- "references": {}
719
- },
720
- "required": false,
721
- "optional": true,
722
- "docs": {
723
- "tags": [],
724
- "text": "_DEPRECATED_ (This property will be removed in November 2025 release.)\nCustom message displayed when the `<textarea>` value is valid,\nproviding positive feedback to the user."
725
- },
726
- "getter": false,
727
- "setter": false,
728
- "reflect": false
729
- },
730
679
  "invalid": {
731
680
  "type": "boolean",
732
681
  "attribute": "invalid",
@@ -802,107 +751,6 @@ export class RTextarea {
802
751
  "getter": false,
803
752
  "setter": false,
804
753
  "reflect": false
805
- },
806
- "optional": {
807
- "type": "boolean",
808
- "attribute": "optional",
809
- "mutable": false,
810
- "complexType": {
811
- "original": "boolean",
812
- "resolved": "boolean",
813
- "references": {}
814
- },
815
- "required": false,
816
- "optional": true,
817
- "docs": {
818
- "tags": [],
819
- "text": "_DEPRECATED_ This property will be removed"
820
- },
821
- "getter": false,
822
- "setter": false,
823
- "reflect": false
824
- },
825
- "optionalText": {
826
- "type": "string",
827
- "attribute": "optional-text",
828
- "mutable": false,
829
- "complexType": {
830
- "original": "string",
831
- "resolved": "string",
832
- "references": {}
833
- },
834
- "required": false,
835
- "optional": true,
836
- "docs": {
837
- "tags": [],
838
- "text": "_DEPRECATED_ (use `fieldIndicator` instead) Text of an additional marker in the label"
839
- },
840
- "getter": false,
841
- "setter": false,
842
- "reflect": false
843
- },
844
- "tooltip": {
845
- "type": "string",
846
- "attribute": "tooltip",
847
- "mutable": false,
848
- "complexType": {
849
- "original": "string",
850
- "resolved": "string",
851
- "references": {}
852
- },
853
- "required": false,
854
- "optional": true,
855
- "docs": {
856
- "tags": [],
857
- "text": "_DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)\nTooltip text displayed when the user hovers over the icon,\nproviding additional information."
858
- },
859
- "getter": false,
860
- "setter": false,
861
- "reflect": false
862
- },
863
- "tooltipIcon": {
864
- "type": "string",
865
- "attribute": "tooltip-icon",
866
- "mutable": false,
867
- "complexType": {
868
- "original": "IconName",
869
- "resolved": "string",
870
- "references": {
871
- "IconName": {
872
- "location": "import",
873
- "path": "../icon/exports",
874
- "id": "src/components/icon/exports.ts::IconName"
875
- }
876
- }
877
- },
878
- "required": false,
879
- "optional": true,
880
- "docs": {
881
- "tags": [],
882
- "text": "_DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)\nIcon used to trigger the tooltip for the label,\nproviding a visual cue for additional information."
883
- },
884
- "getter": false,
885
- "setter": false,
886
- "reflect": false
887
- },
888
- "tooltipIconColor": {
889
- "type": "string",
890
- "attribute": "tooltip-icon-color",
891
- "mutable": false,
892
- "complexType": {
893
- "original": "string",
894
- "resolved": "string",
895
- "references": {}
896
- },
897
- "required": false,
898
- "optional": true,
899
- "docs": {
900
- "tags": [],
901
- "text": "_DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)\nSpecifies the color of the tooltip icon from Riverty color tokens.\nDisplayed alongside the label."
902
- },
903
- "getter": false,
904
- "setter": false,
905
- "reflect": false
906
754
  }
907
755
  };
908
756
  }