@riverty/web-components 5.7.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/CHANGELOG.md +128 -0
  2. package/custom-elements.json +152 -372
  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 +45 -14
  10. package/dist/cjs/r-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/r-button.cjs.entry.js +2 -2
  12. package/dist/cjs/r-checkbox-group.cjs.entry.js +28 -24
  13. package/dist/cjs/r-checkbox.cjs.entry.js +97 -81
  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 +133 -25
  19. package/dist/cjs/r-input-date.cjs.entry.js +87 -23
  20. package/dist/cjs/r-input-password.cjs.entry.js +34 -13
  21. package/dist/cjs/r-input-phone-number.cjs.entry.js +30 -22
  22. package/dist/cjs/r-input.cjs.entry.js +108 -49
  23. package/dist/cjs/r-list-item.cjs.entry.js +5 -5
  24. package/dist/cjs/r-pagination.cjs.entry.js +1 -1
  25. package/dist/cjs/r-panel.cjs.entry.js +2 -2
  26. package/dist/cjs/r-popover-action.cjs.entry.js +2 -2
  27. package/dist/cjs/r-popover-content.cjs.entry.js +1 -1
  28. package/dist/cjs/r-popover-headline.cjs.entry.js +1 -1
  29. package/dist/cjs/r-popover-trigger.cjs.entry.js +1 -1
  30. package/dist/cjs/r-popover.cjs.entry.js +3 -3
  31. package/dist/cjs/r-progress-bar.cjs.entry.js +1 -1
  32. package/dist/cjs/r-radio-button-description.cjs.entry.js +1 -1
  33. package/dist/cjs/r-radio-button-leading.cjs.entry.js +1 -1
  34. package/dist/cjs/r-radio-button-title.cjs.entry.js +1 -1
  35. package/dist/cjs/r-radio-button-trailing.cjs.entry.js +1 -1
  36. package/dist/cjs/r-radio-button.cjs.entry.js +29 -12
  37. package/dist/cjs/r-radio-group.cjs.entry.js +32 -32
  38. package/dist/cjs/r-select-option.cjs.entry.js +1 -1
  39. package/dist/cjs/r-select.cjs.entry.js +116 -40
  40. package/dist/cjs/r-skip-link.cjs.entry.js +1 -1
  41. package/dist/cjs/r-stepper-item.cjs.entry.js +2 -2
  42. package/dist/cjs/r-stepper.cjs.entry.js +1 -1
  43. package/dist/cjs/r-tab-panel.cjs.entry.js +1 -1
  44. package/dist/cjs/r-tab.cjs.entry.js +1 -1
  45. package/dist/cjs/r-tabs-list.cjs.entry.js +1 -1
  46. package/dist/cjs/r-tabs.cjs.entry.js +1 -1
  47. package/dist/cjs/r-textarea.cjs.entry.js +24 -23
  48. package/dist/cjs/r-toast-group.cjs.entry.js +1 -1
  49. package/dist/cjs/r-toast.cjs.entry.js +51 -20
  50. package/dist/cjs/web-components.cjs.js +1 -1
  51. package/dist/collection/collection-manifest.json +0 -1
  52. package/dist/collection/components/accordion/accordion.css +0 -2
  53. package/dist/collection/components/accordion/accordion.js +4 -8
  54. package/dist/collection/components/accordion/exports.js +1 -1
  55. package/dist/collection/components/accordion-panel/accordion-panel.js +1 -1
  56. package/dist/collection/components/accordion-section/accordion-section.js +1 -1
  57. package/dist/collection/components/accordion-trigger/accordion-trigger.css +0 -4
  58. package/dist/collection/components/accordion-trigger/accordion-trigger.js +4 -215
  59. package/dist/collection/components/alert/alert.css +58 -12
  60. package/dist/collection/components/alert/alert.js +92 -17
  61. package/dist/collection/components/alert/exports.js +1 -1
  62. package/dist/collection/components/badge/badge.js +1 -1
  63. package/dist/collection/components/button/button.css +6 -7
  64. package/dist/collection/components/button/button.js +1 -1
  65. package/dist/collection/components/checkbox/checkbox.js +121 -104
  66. package/dist/collection/components/checkbox-group/checkbox-group.js +48 -63
  67. package/dist/collection/components/dialog/dialog.css +1 -3
  68. package/dist/collection/components/dialog/dialog.js +2 -10
  69. package/dist/collection/components/hint/hint.js +2 -2
  70. package/dist/collection/components/icon/bundled-icons/riverty-kit.json +1 -1
  71. package/dist/collection/components/icon/riverty-kit.js +1 -1
  72. package/dist/collection/components/icon-button/icon-button.css +0 -7
  73. package/dist/collection/components/icon-button/icon-button.js +3 -3
  74. package/dist/collection/components/input/input.css +3 -0
  75. package/dist/collection/components/input/input.js +221 -378
  76. package/dist/collection/components/input-code/exports.js +2 -0
  77. package/dist/collection/components/input-code/input-code.js +335 -34
  78. package/dist/collection/components/input-date/input-date.js +237 -87
  79. package/dist/collection/components/input-password/exports.js +1 -0
  80. package/dist/collection/components/input-password/input-password.css +1 -0
  81. package/dist/collection/components/input-password/input-password.js +233 -75
  82. package/dist/collection/components/input-phone-number/input-phone-number.js +50 -85
  83. package/dist/collection/components/label/label.js +3 -113
  84. package/dist/collection/components/list-item/list-item/list-item.css +7 -7
  85. package/dist/collection/components/list-item/list-item/list-item.js +4 -26
  86. package/dist/collection/components/pagination/pagination.css +23 -23
  87. package/dist/collection/components/panel/panel.js +2 -2
  88. package/dist/collection/components/popover/exports.js +0 -1
  89. package/dist/collection/components/popover/popover.css +13 -13
  90. package/dist/collection/components/popover/popover.js +2 -55
  91. package/dist/collection/components/popover-action/popover-action.css +3 -5
  92. package/dist/collection/components/popover-action/popover-action.js +1 -1
  93. package/dist/collection/components/popover-content/popover-content.js +1 -1
  94. package/dist/collection/components/popover-headline/popover-headline.js +1 -1
  95. package/dist/collection/components/popover-trigger/popover-trigger.js +1 -1
  96. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  97. package/dist/collection/components/radio-button/radio-button.js +49 -12
  98. package/dist/collection/components/radio-button-description/radio-button-description.js +1 -1
  99. package/dist/collection/components/radio-button-leading/radio-button-leading.js +1 -1
  100. package/dist/collection/components/radio-button-title/radio-button-title.js +1 -1
  101. package/dist/collection/components/radio-button-trailing/radio-button-trailing.js +1 -1
  102. package/dist/collection/components/radio-group/radio-group.js +53 -135
  103. package/dist/collection/components/select/select.js +197 -349
  104. package/dist/collection/components/select-option/select-option.js +1 -1
  105. package/dist/collection/components/skip-link/skip-link.js +1 -1
  106. package/dist/collection/components/stepper/stepper.js +1 -1
  107. package/dist/collection/components/stepper-item/stepper-item.js +2 -2
  108. package/dist/collection/components/tab/tab.js +1 -1
  109. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  110. package/dist/collection/components/tabs/tabs.js +1 -1
  111. package/dist/collection/components/tabs-list/tabs-list.js +1 -1
  112. package/dist/collection/components/textarea/textarea.js +44 -163
  113. package/dist/collection/components/toast/toast.css +22 -14
  114. package/dist/collection/components/toast/toast.js +95 -43
  115. package/dist/collection/components/toast-group/toast-group.js +1 -1
  116. package/dist/collection/components/tooltip/tooltip.js +1 -1
  117. package/dist/esm/index-Da7qOBFr.js +6 -10
  118. package/dist/esm/loader.js +1 -1
  119. package/dist/esm/r-accordion-panel.entry.js +1 -1
  120. package/dist/esm/r-accordion-section.entry.js +1 -1
  121. package/dist/esm/r-accordion-trigger.entry.js +5 -35
  122. package/dist/esm/r-accordion.entry.js +3 -7
  123. package/dist/esm/r-alert.entry.js +45 -14
  124. package/dist/esm/r-badge.entry.js +1 -1
  125. package/dist/esm/r-button.entry.js +2 -2
  126. package/dist/esm/r-checkbox-group.entry.js +28 -24
  127. package/dist/esm/r-checkbox.entry.js +97 -81
  128. package/dist/esm/r-dialog.entry.js +3 -11
  129. package/dist/esm/r-hint_2.entry.js +47 -0
  130. package/dist/esm/{r-hint_3.entry.js → r-icon-button_2.entry.js} +65 -51
  131. package/dist/esm/r-icon.entry.js +1 -1
  132. package/dist/esm/r-input-code.entry.js +133 -25
  133. package/dist/esm/r-input-date.entry.js +87 -23
  134. package/dist/esm/r-input-password.entry.js +34 -13
  135. package/dist/esm/r-input-phone-number.entry.js +30 -22
  136. package/dist/esm/r-input.entry.js +108 -49
  137. package/dist/esm/r-list-item.entry.js +5 -5
  138. package/dist/esm/r-pagination.entry.js +1 -1
  139. package/dist/esm/r-panel.entry.js +2 -2
  140. package/dist/esm/r-popover-action.entry.js +2 -2
  141. package/dist/esm/r-popover-content.entry.js +1 -1
  142. package/dist/esm/r-popover-headline.entry.js +1 -1
  143. package/dist/esm/r-popover-trigger.entry.js +1 -1
  144. package/dist/esm/r-popover.entry.js +3 -3
  145. package/dist/esm/r-progress-bar.entry.js +1 -1
  146. package/dist/esm/r-radio-button-description.entry.js +1 -1
  147. package/dist/esm/r-radio-button-leading.entry.js +1 -1
  148. package/dist/esm/r-radio-button-title.entry.js +1 -1
  149. package/dist/esm/r-radio-button-trailing.entry.js +1 -1
  150. package/dist/esm/r-radio-button.entry.js +29 -12
  151. package/dist/esm/r-radio-group.entry.js +32 -32
  152. package/dist/esm/r-select-option.entry.js +1 -1
  153. package/dist/esm/r-select.entry.js +116 -40
  154. package/dist/esm/r-skip-link.entry.js +1 -1
  155. package/dist/esm/r-stepper-item.entry.js +2 -2
  156. package/dist/esm/r-stepper.entry.js +1 -1
  157. package/dist/esm/r-tab-panel.entry.js +1 -1
  158. package/dist/esm/r-tab.entry.js +1 -1
  159. package/dist/esm/r-tabs-list.entry.js +1 -1
  160. package/dist/esm/r-tabs.entry.js +1 -1
  161. package/dist/esm/r-textarea.entry.js +24 -23
  162. package/dist/esm/r-toast-group.entry.js +1 -1
  163. package/dist/esm/r-toast.entry.js +51 -20
  164. package/dist/esm/web-components.js +1 -1
  165. package/dist/types/components/accordion/accordion.d.ts +1 -5
  166. package/dist/types/components/accordion/exports.d.ts +1 -1
  167. package/dist/types/components/accordion-trigger/accordion-trigger.d.ts +0 -36
  168. package/dist/types/components/alert/alert.d.ts +9 -1
  169. package/dist/types/components/alert/exports.d.ts +1 -1
  170. package/dist/types/components/checkbox/checkbox.d.ts +29 -34
  171. package/dist/types/components/checkbox-group/checkbox-group.d.ts +6 -11
  172. package/dist/types/components/dialog/dialog.d.ts +0 -2
  173. package/dist/types/components/input/input.d.ts +35 -72
  174. package/dist/types/components/input-code/exports.d.ts +4 -0
  175. package/dist/types/components/input-code/input-code.d.ts +54 -7
  176. package/dist/types/components/input-date/input-date.d.ts +30 -16
  177. package/dist/types/components/input-password/exports.d.ts +1 -0
  178. package/dist/types/components/input-password/input-password.d.ts +53 -16
  179. package/dist/types/components/input-phone-number/input-phone-number.d.ts +5 -16
  180. package/dist/types/components/label/label.d.ts +0 -18
  181. package/dist/types/components/list-item/list-item/list-item.d.ts +0 -6
  182. package/dist/types/components/popover/exports.d.ts +0 -2
  183. package/dist/types/components/popover/popover.d.ts +1 -14
  184. package/dist/types/components/radio-button/radio-button.d.ts +5 -0
  185. package/dist/types/components/radio-group/radio-group.d.ts +6 -28
  186. package/dist/types/components/select/select.d.ts +34 -52
  187. package/dist/types/components/textarea/textarea.d.ts +5 -32
  188. package/dist/types/components/toast/toast.d.ts +10 -7
  189. package/dist/types/components.d.ts +347 -647
  190. package/dist/web-components/bundled-icons/riverty-kit.json +1 -1
  191. package/dist/web-components/p-0347feff.entry.js +1 -0
  192. package/dist/web-components/p-05738503.entry.js +1 -0
  193. package/dist/web-components/p-0e4c8bf1.entry.js +1 -0
  194. package/dist/web-components/p-1da75540.entry.js +1 -0
  195. package/dist/web-components/p-26ef77d6.entry.js +1 -0
  196. package/dist/web-components/p-3884c6e7.entry.js +1 -0
  197. package/dist/web-components/p-3a5a67e7.entry.js +1 -0
  198. package/dist/web-components/p-3f60c6c0.entry.js +1 -0
  199. package/dist/web-components/p-4254a383.entry.js +1 -0
  200. package/dist/web-components/{p-87f39749.entry.js → p-4595fa8e.entry.js} +1 -1
  201. package/dist/web-components/{p-4e3df002.entry.js → p-4cc58c6a.entry.js} +1 -1
  202. package/dist/web-components/p-5441b746.entry.js +1 -0
  203. package/dist/web-components/{p-72fa1fd1.entry.js → p-550e2237.entry.js} +1 -1
  204. package/dist/web-components/p-589baaf9.entry.js +1 -0
  205. package/dist/web-components/p-60341de2.entry.js +1 -0
  206. package/dist/web-components/{p-4bd3e077.entry.js → p-60ca994e.entry.js} +1 -1
  207. package/dist/web-components/{p-44ae9f33.entry.js → p-62b788bf.entry.js} +1 -1
  208. package/dist/web-components/{p-2b2f581a.entry.js → p-6303b9fe.entry.js} +1 -1
  209. package/dist/web-components/p-63fd817d.entry.js +1 -0
  210. package/dist/web-components/{p-e0e2f2b2.entry.js → p-673dbfd0.entry.js} +1 -1
  211. package/dist/web-components/p-67fa3f84.entry.js +1 -0
  212. package/dist/web-components/p-6a4f3836.entry.js +1 -0
  213. package/dist/web-components/p-6cc2ea2c.entry.js +1 -0
  214. package/dist/web-components/p-70784685.entry.js +1 -0
  215. package/dist/web-components/{p-429213ea.entry.js → p-7fed6f4d.entry.js} +1 -1
  216. package/dist/web-components/p-8a66d20c.entry.js +1 -0
  217. package/dist/web-components/{p-0bb04d79.entry.js → p-8b4d2448.entry.js} +1 -1
  218. package/dist/web-components/{p-c7f8e59b.entry.js → p-8c31cbd5.entry.js} +1 -1
  219. package/dist/web-components/p-8dac326b.entry.js +1 -0
  220. package/dist/web-components/{p-1c2497de.entry.js → p-9ef1bbee.entry.js} +1 -1
  221. package/dist/web-components/p-a0dbde7c.entry.js +1 -0
  222. package/dist/web-components/{p-755cc697.entry.js → p-a71485d8.entry.js} +1 -1
  223. package/dist/web-components/p-a7d22c76.entry.js +1 -0
  224. package/dist/web-components/{p-85a9af42.entry.js → p-ae251d2f.entry.js} +1 -1
  225. package/dist/web-components/{p-77155630.entry.js → p-b98ab649.entry.js} +1 -1
  226. package/dist/web-components/p-b9e3b3d6.entry.js +1 -0
  227. package/dist/web-components/p-c1e748f2.entry.js +1 -0
  228. package/dist/web-components/p-c478712b.entry.js +1 -0
  229. package/dist/web-components/{p-72c0c0d8.entry.js → p-d054eb4d.entry.js} +1 -1
  230. package/dist/web-components/p-d433a828.entry.js +1 -0
  231. package/dist/web-components/p-d7726e46.entry.js +1 -0
  232. package/dist/web-components/p-d819c8e5.entry.js +1 -0
  233. package/dist/web-components/p-e2188953.entry.js +1 -0
  234. package/dist/web-components/{p-3b4e3faf.entry.js → p-e5945c01.entry.js} +1 -1
  235. package/dist/web-components/{p-d1379ac6.entry.js → p-f9d5004c.entry.js} +1 -1
  236. package/dist/web-components/web-components.esm.js +1 -1
  237. package/package.json +1 -1
  238. package/dist/cjs/r-accordion-item.cjs.entry.js +0 -78
  239. package/dist/cjs/r-icon-button.cjs.entry.js +0 -81
  240. package/dist/collection/components/accordion-item/accordion-item.css +0 -121
  241. package/dist/collection/components/accordion-item/accordion-item.js +0 -138
  242. package/dist/esm/r-accordion-item.entry.js +0 -76
  243. package/dist/esm/r-icon-button.entry.js +0 -79
  244. package/dist/types/components/accordion-item/accordion-item.d.ts +0 -26
  245. package/dist/web-components/p-00ca474f.entry.js +0 -1
  246. package/dist/web-components/p-289eb4b0.entry.js +0 -1
  247. package/dist/web-components/p-2b8e12ae.entry.js +0 -1
  248. package/dist/web-components/p-2e2c8a5b.entry.js +0 -1
  249. package/dist/web-components/p-3a39932b.entry.js +0 -1
  250. package/dist/web-components/p-3bc93d65.entry.js +0 -1
  251. package/dist/web-components/p-44be9992.entry.js +0 -1
  252. package/dist/web-components/p-4652635a.entry.js +0 -1
  253. package/dist/web-components/p-51a5804b.entry.js +0 -1
  254. package/dist/web-components/p-63474b32.entry.js +0 -1
  255. package/dist/web-components/p-74d2a563.entry.js +0 -1
  256. package/dist/web-components/p-7ad8e78b.entry.js +0 -1
  257. package/dist/web-components/p-8028c2a9.entry.js +0 -1
  258. package/dist/web-components/p-96ddeb7f.entry.js +0 -1
  259. package/dist/web-components/p-9d898089.entry.js +0 -1
  260. package/dist/web-components/p-9e50120b.entry.js +0 -1
  261. package/dist/web-components/p-9eb1f262.entry.js +0 -1
  262. package/dist/web-components/p-a022f356.entry.js +0 -1
  263. package/dist/web-components/p-a7e7f8fa.entry.js +0 -1
  264. package/dist/web-components/p-b2f03016.entry.js +0 -1
  265. package/dist/web-components/p-c300c22f.entry.js +0 -1
  266. package/dist/web-components/p-c937bd92.entry.js +0 -1
  267. package/dist/web-components/p-cbcd7699.entry.js +0 -1
  268. package/dist/web-components/p-d93c240d.entry.js +0 -1
  269. package/dist/web-components/p-e4b66277.entry.js +0 -1
  270. package/dist/web-components/p-e6a31881.entry.js +0 -1
  271. package/dist/web-components/p-f6a92287.entry.js +0 -1
  272. package/dist/web-components/p-f770e22b.entry.js +0 -1
  273. package/dist/web-components/p-f952161b.entry.js +0 -1
@@ -1,5 +1,4 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import type { IconName, IconPosition } from '../icon/exports';
3
2
  import type { InputAutocomplete, InputType } from './exports';
4
3
  export declare class RInput {
5
4
  host: HTMLRInputElement;
@@ -42,83 +41,18 @@ export declare class RInput {
42
41
  * When true, hides visual label & messages (for internal layout use; accessibility still preserved).
43
42
  */
44
43
  internal?: boolean;
45
- /**
46
- * @deprecated Use `fieldIndicator` instead. Will be removed November 2025.
47
- * Boolean flag to render an “optional” marker.
48
- */
49
- optional?: boolean;
50
- /**
51
- * @deprecated Use `fieldIndicator` instead. Will be removed November 2025.
52
- * Custom text for optional marker.
53
- */
54
- optionalText?: string;
55
- /**
56
- * @deprecated Use the `popover` slot instead. Will be removed November 2025.
57
- * Label tooltip text content.
58
- */
59
- tooltip?: string;
60
- /**
61
- * @deprecated Use the `popover` slot instead. Will be removed November 2025.
62
- * Icon name used as tooltip trigger.
63
- */
64
- tooltipIcon?: IconName;
65
- /**
66
- * @deprecated Use the `popover` slot instead. Will be removed November 2025.
67
- * Color token for tooltip trigger icon.
68
- */
69
- tooltipIconColor?: string;
70
44
  /**
71
45
  * Optional contextual help text displayed beneath the field.
72
46
  */
73
47
  hint?: string;
74
- /**
75
- * @deprecated Will be removed November 2025.
76
- * Legacy single icon (prefer `leading` / `trailing` slots).
77
- */
78
- icon?: IconName;
79
- /**
80
- * @deprecated Will be removed November 2025.
81
- * Color for legacy icon.
82
- */
83
- iconColor?: string;
84
- /**
85
- * @deprecated Will be removed November 2025.
86
- * Position of legacy icon: `start` | `end`.
87
- */
88
- iconPosition: IconPosition;
89
- /**
90
- * @deprecated Will be removed November 2025.
91
- * Treat legacy icon as submit trigger.
92
- */
93
- iconSubmit?: boolean;
94
48
  /**
95
49
  * When true, stretches the component horizontally to fill its container.
96
50
  */
97
51
  fullWidth?: boolean;
98
- /**
99
- * @deprecated Will be removed November 2025.
100
- * Controls visibility of success validation marker.
101
- */
102
- showValid?: boolean;
103
52
  /**
104
53
  * Explicit valid state override (when set manually).
105
54
  */
106
55
  valid?: boolean;
107
- /**
108
- * @deprecated Will be removed November 2025.
109
- * Legacy boolean to show a validation marker icon.
110
- */
111
- validMarker: boolean;
112
- /**
113
- * @deprecated Will be removed November 2025.
114
- * Icon name used when `validMarker` is active and state is valid.
115
- */
116
- validMarkerIcon: IconName;
117
- /**
118
- * @deprecated Will be removed November 2025.
119
- * Custom success message when field is valid.
120
- */
121
- validMessage?: string;
122
56
  /**
123
57
  * Explicit invalid state override (when set manually).
124
58
  */
@@ -176,6 +110,13 @@ export declare class RInput {
176
110
  * Native `autocomplete` hint for browsers / password managers.
177
111
  */
178
112
  autocomplete?: InputAutocomplete;
113
+ /**
114
+ * Safari-specific password rules for strong password generation (password inputs only).
115
+ * Format: "minlength: X; required: lower; required: upper; required: digit; required: special;"
116
+ * This attribute is Safari-specific and will be ignored by other browsers.
117
+ * See: https://developer.apple.com/documentation/security/password_autofill/customizing_password_autofill_rules
118
+ */
119
+ passwordrules?: string;
179
120
  /**
180
121
  * Automatically focus the input when it is first rendered.
181
122
  * Mirrors native `autofocus` attribute behavior. Avoid using multiple times per page.
@@ -186,15 +127,20 @@ export declare class RInput {
186
127
  * but the field can still receive focus, be selected, and be submitted with a form.
187
128
  */
188
129
  readonly?: boolean;
130
+ /**
131
+ * When `true` field renders valid/invalid marker within.
132
+ */
133
+ validityMarker: boolean;
189
134
  /** Validity state passed from validateFormElement function after validation */
190
135
  validityState: string;
191
136
  /** Validity message passed from validateFormElement function after validation */
192
137
  validityMessage: string;
193
- /**
194
- * @deprecated Will be removed November 2025.
195
- * Emitted when legacy icon is clicked.
196
- */
197
- rClickIcon: EventEmitter;
138
+ /** Defines if the component has been touched by user */
139
+ touched: boolean;
140
+ /** Defines if the value has been changed by user interaction */
141
+ dirty: boolean;
142
+ /** Private flag to prevent validation during reset */
143
+ private isResetting;
198
144
  /**
199
145
  * Emitted after each validation attempt (native or triggered logic).
200
146
  */
@@ -266,6 +212,23 @@ export declare class RInput {
266
212
  * Set the current value programmatically (does not fire native input/change automatically).
267
213
  */
268
214
  setValue(value: string): Promise<void>;
215
+ /**
216
+ * Validates the input without triggering UI and returns a boolean indicating its validity.
217
+ * @returns A boolean indicating whether the input is valid.
218
+ */
219
+ checkValidity(): Promise<boolean>;
220
+ /**
221
+ * Gets the touched state (whether user has interacted with the input)
222
+ */
223
+ isTouched(): Promise<boolean>;
224
+ /**
225
+ * Gets the dirty state (whether value has been changed by user)
226
+ */
227
+ isDirty(): Promise<boolean>;
228
+ /**
229
+ * Resets touched and dirty states to pristine (untouched/clean)
230
+ */
231
+ markAsPristine(): Promise<void>;
269
232
  private nativeElement;
270
233
  private uniqueId;
271
234
  /**
@@ -277,7 +240,6 @@ export declare class RInput {
277
240
  private get ariaDescribedBy();
278
241
  private get hasError();
279
242
  private get hasValidationError();
280
- private get hasValidationSuccess();
281
243
  private get hasMessage();
282
244
  /**
283
245
  * Determine whether this element should be ignored
@@ -303,5 +265,6 @@ export declare class RInput {
303
265
  private handleKeyup;
304
266
  private handleClick;
305
267
  handleValueChange(): void;
268
+ handleTypeChange(): void;
306
269
  render(): any;
307
270
  }
@@ -0,0 +1,4 @@
1
+ export declare const inputModeArray: readonly ["none", "text", "tel", "url", "email", "numeric", "decimal", "search"];
2
+ export declare const enterKeyHintArray: readonly ["enter", "done", "go", "next", "previous", "search", "send"];
3
+ export type InputMode = typeof inputModeArray[number];
4
+ export type EnterKeyHint = typeof enterKeyHintArray[number];
@@ -1,11 +1,14 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
+ import type { InputMode, EnterKeyHint } from './exports';
2
3
  export declare class InputCode {
3
4
  host: HTMLRInputCodeElement;
4
5
  /** Specifies the `id` of the `<form>` to which the element belongs. */
5
6
  form?: string;
6
- /** Specifies a name for an input for submittion within formData object. */
7
+ /** Specifies a name for an input for submission within formData object. */
7
8
  name: string;
8
- /** Number of digits (typically 4–6) */
9
+ /** Number of digits (typically 4–6).
10
+ * @default: 4
11
+ */
9
12
  length: number;
10
13
  /** Whether the input is disabled */
11
14
  disabled?: boolean;
@@ -18,7 +21,9 @@ export declare class InputCode {
18
21
  * but the field can still receive focus, be selected, and be submitted with a form.
19
22
  */
20
23
  readonly?: boolean;
21
- /** Label for accessibility */
24
+ /** Label for accessibility.
25
+ * @default: 'Verification code'
26
+ */
22
27
  label: string;
23
28
  /** Text of an additional marker in the label */
24
29
  fieldIndicator?: string;
@@ -31,7 +36,7 @@ export declare class InputCode {
31
36
  /** Visual indication of valid state */
32
37
  valid?: boolean;
33
38
  /** Set custom message for `tooShort` property of a ValidityState object (set by `minlength`) within Constrain Validation API */
34
- tooShortMessage: string;
39
+ tooShortMessage?: string;
35
40
  /** Set custom message for `customError` property of a ValidityState object indicating whether the element's custom validity message has been set to a non-empty string by calling the element's setCustomValidity() method. */
36
41
  customErrorMessage?: string;
37
42
  /** Set custom message for `valueMissing` property of a ValidityState object (set by `required`) within Constrain Validation API */
@@ -43,6 +48,18 @@ export declare class InputCode {
43
48
  ariaCharacterLabel?: string;
44
49
  /** Defines initial value */
45
50
  value?: string | null;
51
+ /** Specifies the input mode for the virtual keyboard on mobile devices. Default is 'numeric' for OTP codes.
52
+ * @default: 'numeric'
53
+ */
54
+ inputmode?: InputMode;
55
+ /** Specifies the enter key hint for the virtual keyboard. Default is 'done' for OTP completion.
56
+ * @default: 'done'
57
+ */
58
+ enterkeyhint?: EnterKeyHint;
59
+ /** Specifies the autocomplete behavior. Default is 'one-time-code' for SMS OTP autofill.
60
+ * @default: 'one-time-code'
61
+ */
62
+ autocomplete?: string;
46
63
  /** Emits the current code value as it changes */
47
64
  rChange: EventEmitter<{
48
65
  value: string;
@@ -60,10 +77,16 @@ export declare class InputCode {
60
77
  /** Holds the current values of each input box */
61
78
  values: string[];
62
79
  /** Validity state passed from validateFormElement function after validation */
63
- validityState: string;
80
+ validityState: string | null;
64
81
  /** Validity message passed from validateFormElement function after validation */
65
- validityMessage: string;
82
+ validityMessage: string | null;
66
83
  private inputs;
84
+ /**
85
+ * Validates segment index and throws descriptive errors if invalid.
86
+ * @param index - The index to validate
87
+ * @throws Error if index is not an integer or out of bounds
88
+ */
89
+ private validateSegmentIndex;
67
90
  /**
68
91
  * Gets the current complete code value by joining all individual digit values.
69
92
  * @returns Promise that resolves to the complete code string
@@ -77,8 +100,32 @@ export declare class InputCode {
77
100
  /**
78
101
  * Sets provided value.
79
102
  * */
80
- setValue(value: any): Promise<void>;
103
+ setValue(value: string | null): Promise<void>;
104
+ /**
105
+ * Validates the input code without triggering UI and returns a boolean indicating its validity.
106
+ * @returns A boolean indicating whether the input code is valid.
107
+ */
108
+ checkValidity(): Promise<boolean>;
109
+ /**
110
+ * Focuses a specific segment (input) by index.
111
+ * @param index - The zero-based index of the segment to focus (0 to length-1)
112
+ * @returns Promise that resolves when focus is set, or rejects if index is invalid
113
+ */
114
+ focusSegment(index: number): Promise<void>;
115
+ /**
116
+ * Gets the value of a specific segment by index.
117
+ * @param index - The zero-based index of the segment (0 to length-1)
118
+ * @returns Promise that resolves to the segment value (single character string or empty string)
119
+ */
120
+ getSegmentValue(index: number): Promise<string>;
121
+ /**
122
+ * Sets the value of a specific segment by index.
123
+ * @param index - The zero-based index of the segment (0 to length-1)
124
+ * @param value - The value to set (will be truncated to first character if longer)
125
+ */
126
+ setSegmentValue(index: number, value: string): Promise<void>;
81
127
  handleValuesChange(): void;
128
+ handleLengthChange(newLength: number): void;
82
129
  private handleInput;
83
130
  private handleKeyDown;
84
131
  private createInputHandler;
@@ -1,5 +1,4 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import type { IconName } from "../icon/exports";
3
2
  import { DateStructure } from "./exports";
4
3
  export declare class InputDate {
5
4
  host: HTMLRInputDateElement;
@@ -17,21 +16,6 @@ export declare class InputDate {
17
16
  label: string;
18
17
  /** Text of an additional marker in the label */
19
18
  fieldIndicator?: string;
20
- /**
21
- * _DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)
22
- * Label tooltip text
23
- * */
24
- tooltip?: string;
25
- /**
26
- * _DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)
27
- * Tooltip trigger icon by name from [Riverty icons set](https://storybook.riverty.design/?path=/story/components-icon--riverty-kit)
28
- * */
29
- tooltipIcon?: IconName;
30
- /**
31
- * _DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)
32
- * Change color of an icon that triggers tooltip to one of the Riverty color tokens
33
- * */
34
- tooltipIconColor?: string;
35
19
  /**
36
20
  * Optional hint, visually presented under the input,
37
21
  * giving additional context to the user
@@ -64,6 +48,20 @@ export declare class InputDate {
64
48
  valueMissingMessage?: string;
65
49
  /** Custom error message displayed when date is not valid. */
66
50
  invalidDateMessage?: string;
51
+ /**
52
+ * Minimum date value (in the same format as the date input).
53
+ * Note: When changing the `format` prop, ensure `min` is also updated to match the new format.
54
+ */
55
+ min?: string;
56
+ /**
57
+ * Maximum date value (in the same format as the date input).
58
+ * Note: When changing the `format` prop, ensure `max` is also updated to match the new format.
59
+ */
60
+ max?: string;
61
+ /** Custom error message displayed when date is before the minimum date. */
62
+ rangeUnderflowMessage?: string;
63
+ /** Custom error message displayed when date is after the maximum date. */
64
+ rangeOverflowMessage?: string;
67
65
  /** Custom error message displayed for any validation failures in the input. */
68
66
  customErrorMessage?: string;
69
67
  /** Save current value */
@@ -74,6 +72,10 @@ export declare class InputDate {
74
72
  validityState: string;
75
73
  /** Validity message passed from validateFormElement function after validation */
76
74
  validityMessage: string;
75
+ /** Defines if the component has been touched by user */
76
+ touched: boolean;
77
+ /** Defines if the value has been changed by user interaction */
78
+ dirty: boolean;
77
79
  /** Emits event after each validation */
78
80
  rValidate: EventEmitter<{
79
81
  state: string;
@@ -104,11 +106,22 @@ export declare class InputDate {
104
106
  getFormat(): Promise<string>;
105
107
  /** Sets the date format */
106
108
  setFormat(format: string): Promise<void>;
109
+ /** Gets the touched state (whether user has interacted with the input) */
110
+ isTouched(): Promise<boolean>;
111
+ /** Gets the dirty state (whether value has been changed by user) */
112
+ isDirty(): Promise<boolean>;
113
+ /** Resets touched and dirty states to pristine (untouched/clean) */
114
+ markAsPristine(): Promise<void>;
107
115
  /**
108
116
  * Resets the component by clearing all input values and focusing the first input.
109
117
  * @returns Promise that resolves when reset is complete
110
118
  */
111
119
  reset(): Promise<void>;
120
+ /**
121
+ * Validates the input date without triggering UI and returns a boolean indicating its validity.
122
+ * @returns A boolean indicating whether the input date is valid.
123
+ */
124
+ checkValidity(): Promise<boolean>;
112
125
  /**
113
126
  * Initial attributes state
114
127
  * */
@@ -143,6 +156,7 @@ export declare class InputDate {
143
156
  private handleInput;
144
157
  private createChangeHandler;
145
158
  private handleChange;
159
+ private handleBlur;
146
160
  private getValidityStateData;
147
161
  private validateFormElement;
148
162
  private onResetForm;
@@ -0,0 +1 @@
1
+ export type PasswordAutocomplete = 'current-password' | 'new-password' | 'off';
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import type { IconName } from "../icon/exports";
2
+ import type { PasswordAutocomplete } from './exports';
3
3
  export declare class InputPassword {
4
4
  host: HTMLRInputPasswordElement;
5
5
  /** Specifies the `id` of the `<form>` to which the element belongs */
@@ -16,21 +16,6 @@ export declare class InputPassword {
16
16
  label: string;
17
17
  /** Text of an additional marker in the label */
18
18
  fieldIndicator?: string;
19
- /**
20
- * _DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)
21
- * Label tooltip text
22
- * */
23
- tooltip?: string;
24
- /**
25
- * _DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)
26
- * Tooltip trigger icon by name from [Riverty icons set](https://storybook.riverty.design/?path=/story/components-icon--riverty-kit)
27
- * */
28
- tooltipIcon?: IconName;
29
- /**
30
- * _DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)
31
- * Change color of an icon that triggers tooltip to one of the Riverty color tokens
32
- * */
33
- tooltipIconColor?: string;
34
19
  /**
35
20
  * Optional hint, visually presented under the input,
36
21
  * giving additional context to the user
@@ -53,8 +38,20 @@ export declare class InputPassword {
53
38
  readonly?: boolean;
54
39
  /** Specifies that an input is required/must be filled out */
55
40
  required?: boolean;
41
+ /** Maximum character length (enforced by native input). */
42
+ maxlength?: number;
43
+ /** Minimum character length (validation only). */
44
+ minlength?: number;
45
+ /** Regex pattern the value must match (string form). */
46
+ pattern?: string;
56
47
  /** Set custom message for `valueMissing` property of a ValidityState object (set by `required`) within Constrain Validation API */
57
48
  valueMissingMessage?: string;
49
+ /** Custom message for `tooLong`. */
50
+ tooLongMessage?: string;
51
+ /** Custom message for `tooShort`. */
52
+ tooShortMessage?: string;
53
+ /** Custom message for `patternMismatch`. */
54
+ patternMismatchMessage?: string;
58
55
  /** Custom error message displayed for any validation failures in the input. */
59
56
  customErrorMessage?: string;
60
57
  /**
@@ -69,6 +66,36 @@ export declare class InputPassword {
69
66
  shownPasswordMessage: string;
70
67
  /** Custom message when the password is hidden to alert screen reader users. */
71
68
  hiddenPasswordMessage: string;
69
+ /**
70
+ * Safari-specific password rules for strong password generation.
71
+ * Format: "minlength: X; required: lower; required: upper; required: digit; required: special;"
72
+ * Example: "minlength: 8; required: lower; required: upper; required: digit; required: special;"
73
+ * Note: This attribute is Safari-specific and will be ignored by other browsers.
74
+ * See: https://developer.apple.com/documentation/security/password_autofill/customizing_password_autofill_rules
75
+ */
76
+ passwordrules?: string;
77
+ /**
78
+ * Password-specific autocomplete behavior for browser password managers.
79
+ *
80
+ * @example
81
+ * **Usage Guidelines:**
82
+ * - `'current-password'`: Use in login forms where users enter their existing password
83
+ * - `'new-password'`: Use in registration forms or password change forms for the new password field
84
+ * - `'off'`: Disable autofill in sensitive contexts where password managers should not suggest values
85
+ *
86
+ * **Common Patterns:**
87
+ * ```tsx
88
+ * // Login form
89
+ * <r-input-password autocomplete="current-password" />
90
+ *
91
+ * // Registration form
92
+ * <r-input-password autocomplete="new-password" />
93
+ *
94
+ * // Sensitive form (e.g., admin panel)
95
+ * <r-input-password autocomplete="off" />
96
+ * ```
97
+ */
98
+ autocomplete?: PasswordAutocomplete;
72
99
  showed: boolean;
73
100
  /** Validity state passed from validateFormElement function after validation */
74
101
  validityState: string;
@@ -95,6 +122,11 @@ export declare class InputPassword {
95
122
  element: HTMLRInputPasswordElement;
96
123
  value: any;
97
124
  }>;
125
+ /** Emits 'rVisibilityChange' event when password visibility is toggled */
126
+ rVisibilityChange: EventEmitter<{
127
+ element: HTMLRInputPasswordElement;
128
+ visible: boolean;
129
+ }>;
98
130
  /**
99
131
  * Toggle password text visibility.
100
132
  * */
@@ -111,6 +143,11 @@ export declare class InputPassword {
111
143
  getValue(): Promise<string>;
112
144
  /** Set the input value */
113
145
  setValue(value: string): Promise<void>;
146
+ /**
147
+ * Validates the input password without triggering UI and returns a boolean indicating its validity.
148
+ * @returns A boolean indicating whether the input password is valid.
149
+ */
150
+ checkValidity(): Promise<boolean>;
114
151
  /**
115
152
  * Initial attributes state
116
153
  * */
@@ -1,5 +1,4 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import type { IconName } from "../icon/exports";
3
2
  export declare class InputPhoneNumber {
4
3
  host: HTMLRInputPhoneNumberElement;
5
4
  /** Phone number value */
@@ -14,21 +13,6 @@ export declare class InputPhoneNumber {
14
13
  fieldIndicator?: string;
15
14
  /** Optional hint giving additional context to the user */
16
15
  hint?: string;
17
- /**
18
- * _DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)
19
- * Label tooltip text
20
- * */
21
- tooltip?: string;
22
- /**
23
- * _DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)
24
- * Label tooltip trigger icon
25
- * */
26
- tooltipIcon?: IconName;
27
- /**
28
- * _DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)
29
- * Change color of an icon that triggers tooltip to one of the Riverty color tokens
30
- * */
31
- tooltipIconColor?: string;
32
16
  /** Specifies a name for an input for submitting within formData object. */
33
17
  name: string;
34
18
  /** Label for phone input */
@@ -90,6 +74,11 @@ export declare class InputPhoneNumber {
90
74
  setValue(value: string): Promise<void>;
91
75
  /** Validates an element, displays provided message in case value is invalid. */
92
76
  setCustomValidity(message: string): Promise<void>;
77
+ /**
78
+ * Validates the input phone number without triggering UI and returns a boolean indicating its validity.
79
+ * @returns A boolean indicating whether the input phone number is valid.
80
+ */
81
+ checkValidity(): Promise<boolean>;
93
82
  /** Check validity and reveal validation state. */
94
83
  reportValidity(): Promise<boolean>;
95
84
  /** Reset phone number input to its initial state */
@@ -1,26 +1,8 @@
1
- import type { IconName } from '../icon/exports';
2
- import { TooltipPosition } from '../tooltip/exports';
3
1
  /**
4
2
  * Utility component, mostly used internally in other design system components,
5
3
  * for consistent presentation of text with optional associated tooltip.
6
4
  */
7
5
  export declare class RLabel {
8
- /**
9
- * _DEPRECATED_ (This property will be removed in November 2025 release.)
10
- * Tooltip represents additional description */
11
- tooltip?: string;
12
- /**
13
- * _DEPRECATED_ (This property will be removed in November 2025 release.)
14
- * Defines preferable position of the tooltip */
15
- tooltipPosition?: TooltipPosition;
16
- /**
17
- * _DEPRECATED_ (This property will be removed in November 2025 release.)
18
- * Icon tooltip trigger by name from the set */
19
- tooltipIcon?: IconName;
20
- /**
21
- * _DEPRECATED_ (This property will be removed in November 2025 release.)
22
- * Change color of an icon that triggers tooltip to one of the Riverty color tokens */
23
- tooltipIconColor?: string;
24
6
  /** Text of an additional marker */
25
7
  fieldIndicator?: string;
26
8
  render(): any;
@@ -6,12 +6,6 @@ export declare class RListItem {
6
6
  * The main text or headline displayed in the text slot (2nd slot) of the list item.
7
7
  */
8
8
  headline?: string;
9
- /**
10
- * @deprecated
11
- * Use `description` instead. Will be removed November 2025.
12
- * Secondary text displayed below the headline (2nd slot), used for additional details or context.
13
- * */
14
- subtext?: string;
15
9
  /** Secondary text displayed below the headline (2nd slot), used for additional details or context. */
16
10
  description?: string;
17
11
  /** When enabled, the description is limited to a single line and truncated with an ellipsis if it overflows. */
@@ -1,8 +1,6 @@
1
1
  export declare const popoverDismissModeArray: readonly ["auto", "manual"];
2
- export declare const popoverSizeArray: readonly ["s", "l"];
3
2
  export declare const popoverHorizontalArray: readonly ["left", "center", "right", "cover"];
4
3
  export declare const popoverVerticalArray: readonly ["top", "middle", "bottom", "cover"];
5
4
  export type PopoverDismissMode = typeof popoverDismissModeArray[number];
6
- export type PopoverSize = typeof popoverSizeArray[number];
7
5
  export type PopoverHorizontal = typeof popoverHorizontalArray[number];
8
6
  export type PopoverVertical = typeof popoverVerticalArray[number];
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { PopoverSize, PopoverDismissMode, PopoverVertical, PopoverHorizontal } from './exports';
2
+ import { PopoverDismissMode, PopoverVertical, PopoverHorizontal } from './exports';
3
3
  import { PopoverTriggerAction } from '../popover-trigger/exports';
4
4
  export declare class Popover {
5
5
  host: HTMLRPopoverElement;
@@ -8,13 +8,6 @@ export declare class Popover {
8
8
  * @default false
9
9
  */
10
10
  open?: boolean;
11
- /**
12
- * _DEPRECATED_ (This property will be removed in November 2025 release.)
13
- * Size of the Popover: `s` | `l`.
14
- * @default "s"
15
- * @deprecated This property will be removed in November 2025 release.
16
- */
17
- size: PopoverSize;
18
11
  /**
19
12
  * Defines the behavior of the popover's dismissing.
20
13
  * - `auto`: The popover can be dismissed by clicking outside or pressing Esc.
@@ -40,12 +33,6 @@ export declare class Popover {
40
33
  * Used for accessibility to describe the trigger button.
41
34
  */
42
35
  triggerAriaLabel?: string;
43
- /**
44
- * Defines `aria-label` content for the popover container.
45
- * Used for accessibility to describe the popover content area.
46
- * @deprecated This property will be removed in December 2025 release.
47
- * */
48
- containerAriaLabel?: string;
49
36
  /**
50
37
  * Defines preferred placement vertically relative to the trigger.
51
38
  * - `top`: Position above the trigger
@@ -20,6 +20,8 @@ export declare class RadioButton {
20
20
  required?: boolean;
21
21
  /** Prevents user interaction and applies disabled style */
22
22
  disabled?: boolean;
23
+ /** 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. */
24
+ autofocus?: boolean;
23
25
  /** When true the radio is selected */
24
26
  checked?: boolean;
25
27
  /**
@@ -82,6 +84,9 @@ export declare class RadioButton {
82
84
  private onKeydown;
83
85
  private onFocus;
84
86
  private onBlur;
87
+ private get shouldAutofocus();
88
+ private applyAutofocus;
85
89
  componentWillLoad(): void;
90
+ componentDidLoad(): void;
86
91
  render(): any;
87
92
  }