@riverty/web-components 5.8.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 (253) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/custom-elements.json +124 -369
  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-input-code.cjs.entry.js +112 -17
  18. package/dist/cjs/r-input-date.cjs.entry.js +8 -14
  19. package/dist/cjs/r-input-password.cjs.entry.js +16 -8
  20. package/dist/cjs/r-input-phone-number.cjs.entry.js +7 -12
  21. package/dist/cjs/r-input.cjs.entry.js +87 -41
  22. package/dist/cjs/r-list-item.cjs.entry.js +5 -5
  23. package/dist/cjs/r-panel.cjs.entry.js +2 -2
  24. package/dist/cjs/r-popover-action.cjs.entry.js +1 -1
  25. package/dist/cjs/r-popover-content.cjs.entry.js +1 -1
  26. package/dist/cjs/r-popover-headline.cjs.entry.js +1 -1
  27. package/dist/cjs/r-popover-trigger.cjs.entry.js +1 -1
  28. package/dist/cjs/r-popover.cjs.entry.js +3 -3
  29. package/dist/cjs/r-progress-bar.cjs.entry.js +1 -1
  30. package/dist/cjs/r-radio-button-description.cjs.entry.js +1 -1
  31. package/dist/cjs/r-radio-button-leading.cjs.entry.js +1 -1
  32. package/dist/cjs/r-radio-button-title.cjs.entry.js +1 -1
  33. package/dist/cjs/r-radio-button-trailing.cjs.entry.js +1 -1
  34. package/dist/cjs/r-radio-button.cjs.entry.js +29 -12
  35. package/dist/cjs/r-radio-group.cjs.entry.js +18 -22
  36. package/dist/cjs/r-select-option.cjs.entry.js +1 -1
  37. package/dist/cjs/r-select.cjs.entry.js +6 -24
  38. package/dist/cjs/r-skip-link.cjs.entry.js +1 -1
  39. package/dist/cjs/r-stepper-item.cjs.entry.js +2 -2
  40. package/dist/cjs/r-stepper.cjs.entry.js +1 -1
  41. package/dist/cjs/r-tab-panel.cjs.entry.js +1 -1
  42. package/dist/cjs/r-tab.cjs.entry.js +1 -1
  43. package/dist/cjs/r-tabs-list.cjs.entry.js +1 -1
  44. package/dist/cjs/r-tabs.cjs.entry.js +1 -1
  45. package/dist/cjs/r-textarea.cjs.entry.js +6 -18
  46. package/dist/cjs/r-toast-group.cjs.entry.js +1 -1
  47. package/dist/cjs/r-toast.cjs.entry.js +9 -9
  48. package/dist/cjs/web-components.cjs.js +1 -1
  49. package/dist/collection/collection-manifest.json +0 -1
  50. package/dist/collection/components/accordion/accordion.css +0 -2
  51. package/dist/collection/components/accordion/accordion.js +4 -8
  52. package/dist/collection/components/accordion/exports.js +1 -1
  53. package/dist/collection/components/accordion-panel/accordion-panel.js +1 -1
  54. package/dist/collection/components/accordion-section/accordion-section.js +1 -1
  55. package/dist/collection/components/accordion-trigger/accordion-trigger.css +0 -4
  56. package/dist/collection/components/accordion-trigger/accordion-trigger.js +4 -215
  57. package/dist/collection/components/alert/alert.css +6 -0
  58. package/dist/collection/components/alert/alert.js +48 -10
  59. package/dist/collection/components/badge/badge.js +1 -1
  60. package/dist/collection/components/button/button.js +1 -1
  61. package/dist/collection/components/checkbox/checkbox.js +80 -98
  62. package/dist/collection/components/checkbox-group/checkbox-group.js +1 -50
  63. package/dist/collection/components/dialog/dialog.css +1 -3
  64. package/dist/collection/components/dialog/dialog.js +2 -10
  65. package/dist/collection/components/hint/hint.js +2 -2
  66. package/dist/collection/components/icon-button/icon-button.js +3 -3
  67. package/dist/collection/components/input/input.css +3 -0
  68. package/dist/collection/components/input/input.js +180 -370
  69. package/dist/collection/components/input-code/exports.js +2 -0
  70. package/dist/collection/components/input-code/input-code.js +294 -26
  71. package/dist/collection/components/input-date/input-date.js +8 -77
  72. package/dist/collection/components/input-password/exports.js +1 -0
  73. package/dist/collection/components/input-password/input-password.css +1 -0
  74. package/dist/collection/components/input-password/input-password.js +195 -70
  75. package/dist/collection/components/input-phone-number/input-phone-number.js +7 -75
  76. package/dist/collection/components/label/label.js +3 -113
  77. package/dist/collection/components/list-item/list-item/list-item.css +7 -7
  78. package/dist/collection/components/list-item/list-item/list-item.js +4 -26
  79. package/dist/collection/components/panel/panel.js +2 -2
  80. package/dist/collection/components/popover/exports.js +0 -1
  81. package/dist/collection/components/popover/popover.css +2 -10
  82. package/dist/collection/components/popover/popover.js +2 -55
  83. package/dist/collection/components/popover-action/popover-action.js +1 -1
  84. package/dist/collection/components/popover-content/popover-content.js +1 -1
  85. package/dist/collection/components/popover-headline/popover-headline.js +1 -1
  86. package/dist/collection/components/popover-trigger/popover-trigger.js +1 -1
  87. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  88. package/dist/collection/components/radio-button/radio-button.js +49 -12
  89. package/dist/collection/components/radio-button-description/radio-button-description.js +1 -1
  90. package/dist/collection/components/radio-button-leading/radio-button-leading.js +1 -1
  91. package/dist/collection/components/radio-button-title/radio-button-title.js +1 -1
  92. package/dist/collection/components/radio-button-trailing/radio-button-trailing.js +1 -1
  93. package/dist/collection/components/radio-group/radio-group.js +38 -124
  94. package/dist/collection/components/select/select.js +6 -330
  95. package/dist/collection/components/select-option/select-option.js +1 -1
  96. package/dist/collection/components/skip-link/skip-link.js +1 -1
  97. package/dist/collection/components/stepper/stepper.js +1 -1
  98. package/dist/collection/components/stepper-item/stepper-item.js +2 -2
  99. package/dist/collection/components/tab/tab.js +1 -1
  100. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  101. package/dist/collection/components/tabs/tabs.js +1 -1
  102. package/dist/collection/components/tabs-list/tabs-list.js +1 -1
  103. package/dist/collection/components/textarea/textarea.js +6 -158
  104. package/dist/collection/components/toast/toast.js +9 -31
  105. package/dist/collection/components/toast-group/toast-group.js +1 -1
  106. package/dist/collection/components/tooltip/tooltip.js +1 -1
  107. package/dist/esm/index-Da7qOBFr.js +6 -10
  108. package/dist/esm/loader.js +1 -1
  109. package/dist/esm/r-accordion-panel.entry.js +1 -1
  110. package/dist/esm/r-accordion-section.entry.js +1 -1
  111. package/dist/esm/r-accordion-trigger.entry.js +5 -35
  112. package/dist/esm/r-accordion.entry.js +3 -7
  113. package/dist/esm/r-alert.entry.js +26 -11
  114. package/dist/esm/r-badge.entry.js +1 -1
  115. package/dist/esm/r-button.entry.js +1 -1
  116. package/dist/esm/r-checkbox-group.entry.js +1 -11
  117. package/dist/esm/r-checkbox.entry.js +76 -75
  118. package/dist/esm/r-dialog.entry.js +3 -11
  119. package/dist/esm/r-hint_2.entry.js +47 -0
  120. package/dist/esm/{r-hint_3.entry.js → r-icon-button_2.entry.js} +65 -51
  121. package/dist/esm/r-input-code.entry.js +112 -17
  122. package/dist/esm/r-input-date.entry.js +8 -14
  123. package/dist/esm/r-input-password.entry.js +16 -8
  124. package/dist/esm/r-input-phone-number.entry.js +7 -12
  125. package/dist/esm/r-input.entry.js +87 -41
  126. package/dist/esm/r-list-item.entry.js +5 -5
  127. package/dist/esm/r-panel.entry.js +2 -2
  128. package/dist/esm/r-popover-action.entry.js +1 -1
  129. package/dist/esm/r-popover-content.entry.js +1 -1
  130. package/dist/esm/r-popover-headline.entry.js +1 -1
  131. package/dist/esm/r-popover-trigger.entry.js +1 -1
  132. package/dist/esm/r-popover.entry.js +3 -3
  133. package/dist/esm/r-progress-bar.entry.js +1 -1
  134. package/dist/esm/r-radio-button-description.entry.js +1 -1
  135. package/dist/esm/r-radio-button-leading.entry.js +1 -1
  136. package/dist/esm/r-radio-button-title.entry.js +1 -1
  137. package/dist/esm/r-radio-button-trailing.entry.js +1 -1
  138. package/dist/esm/r-radio-button.entry.js +29 -12
  139. package/dist/esm/r-radio-group.entry.js +18 -22
  140. package/dist/esm/r-select-option.entry.js +1 -1
  141. package/dist/esm/r-select.entry.js +6 -24
  142. package/dist/esm/r-skip-link.entry.js +1 -1
  143. package/dist/esm/r-stepper-item.entry.js +2 -2
  144. package/dist/esm/r-stepper.entry.js +1 -1
  145. package/dist/esm/r-tab-panel.entry.js +1 -1
  146. package/dist/esm/r-tab.entry.js +1 -1
  147. package/dist/esm/r-tabs-list.entry.js +1 -1
  148. package/dist/esm/r-tabs.entry.js +1 -1
  149. package/dist/esm/r-textarea.entry.js +6 -18
  150. package/dist/esm/r-toast-group.entry.js +1 -1
  151. package/dist/esm/r-toast.entry.js +9 -9
  152. package/dist/esm/web-components.js +1 -1
  153. package/dist/types/components/accordion/accordion.d.ts +1 -5
  154. package/dist/types/components/accordion/exports.d.ts +1 -1
  155. package/dist/types/components/accordion-trigger/accordion-trigger.d.ts +0 -36
  156. package/dist/types/components/alert/alert.d.ts +6 -1
  157. package/dist/types/components/checkbox/checkbox.d.ts +24 -34
  158. package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -11
  159. package/dist/types/components/dialog/dialog.d.ts +0 -2
  160. package/dist/types/components/input/input.d.ts +30 -72
  161. package/dist/types/components/input-code/exports.d.ts +4 -0
  162. package/dist/types/components/input-code/input-code.d.ts +49 -7
  163. package/dist/types/components/input-date/input-date.d.ts +0 -16
  164. package/dist/types/components/input-password/exports.d.ts +1 -0
  165. package/dist/types/components/input-password/input-password.d.ts +48 -16
  166. package/dist/types/components/input-phone-number/input-phone-number.d.ts +0 -16
  167. package/dist/types/components/label/label.d.ts +0 -18
  168. package/dist/types/components/list-item/list-item/list-item.d.ts +0 -6
  169. package/dist/types/components/popover/exports.d.ts +0 -2
  170. package/dist/types/components/popover/popover.d.ts +1 -14
  171. package/dist/types/components/radio-button/radio-button.d.ts +5 -0
  172. package/dist/types/components/radio-group/radio-group.d.ts +5 -26
  173. package/dist/types/components/select/select.d.ts +0 -50
  174. package/dist/types/components/textarea/textarea.d.ts +0 -32
  175. package/dist/types/components/toast/toast.d.ts +0 -5
  176. package/dist/types/components.d.ts +201 -636
  177. package/dist/web-components/p-0347feff.entry.js +1 -0
  178. package/dist/web-components/p-05738503.entry.js +1 -0
  179. package/dist/web-components/p-0e4c8bf1.entry.js +1 -0
  180. package/dist/web-components/{p-5744d75c.entry.js → p-1da75540.entry.js} +1 -1
  181. package/dist/web-components/p-26ef77d6.entry.js +1 -0
  182. package/dist/web-components/p-3884c6e7.entry.js +1 -0
  183. package/dist/web-components/p-3a5a67e7.entry.js +1 -0
  184. package/dist/web-components/p-3f60c6c0.entry.js +1 -0
  185. package/dist/web-components/p-4254a383.entry.js +1 -0
  186. package/dist/web-components/{p-87f39749.entry.js → p-4595fa8e.entry.js} +1 -1
  187. package/dist/web-components/{p-4e3df002.entry.js → p-4cc58c6a.entry.js} +1 -1
  188. package/dist/web-components/p-5441b746.entry.js +1 -0
  189. package/dist/web-components/{p-72fa1fd1.entry.js → p-550e2237.entry.js} +1 -1
  190. package/dist/web-components/p-589baaf9.entry.js +1 -0
  191. package/dist/web-components/p-60341de2.entry.js +1 -0
  192. package/dist/web-components/{p-4bd3e077.entry.js → p-60ca994e.entry.js} +1 -1
  193. package/dist/web-components/{p-44ae9f33.entry.js → p-62b788bf.entry.js} +1 -1
  194. package/dist/web-components/{p-2b2f581a.entry.js → p-6303b9fe.entry.js} +1 -1
  195. package/dist/web-components/p-63fd817d.entry.js +1 -0
  196. package/dist/web-components/{p-e0e2f2b2.entry.js → p-673dbfd0.entry.js} +1 -1
  197. package/dist/web-components/p-67fa3f84.entry.js +1 -0
  198. package/dist/web-components/p-6cc2ea2c.entry.js +1 -0
  199. package/dist/web-components/p-70784685.entry.js +1 -0
  200. package/dist/web-components/{p-429213ea.entry.js → p-7fed6f4d.entry.js} +1 -1
  201. package/dist/web-components/p-8a66d20c.entry.js +1 -0
  202. package/dist/web-components/{p-0bb04d79.entry.js → p-8b4d2448.entry.js} +1 -1
  203. package/dist/web-components/{p-c7f8e59b.entry.js → p-8c31cbd5.entry.js} +1 -1
  204. package/dist/web-components/p-8dac326b.entry.js +1 -0
  205. package/dist/web-components/{p-1c2497de.entry.js → p-9ef1bbee.entry.js} +1 -1
  206. package/dist/web-components/p-a0dbde7c.entry.js +1 -0
  207. package/dist/web-components/{p-755cc697.entry.js → p-a71485d8.entry.js} +1 -1
  208. package/dist/web-components/p-a7d22c76.entry.js +1 -0
  209. package/dist/web-components/{p-85a9af42.entry.js → p-ae251d2f.entry.js} +1 -1
  210. package/dist/web-components/p-b9e3b3d6.entry.js +1 -0
  211. package/dist/web-components/p-c1e748f2.entry.js +1 -0
  212. package/dist/web-components/{p-5bbd6e3c.entry.js → p-c478712b.entry.js} +1 -1
  213. package/dist/web-components/{p-3078b2b8.entry.js → p-d054eb4d.entry.js} +1 -1
  214. package/dist/web-components/{p-8563a1ab.entry.js → p-d433a828.entry.js} +1 -1
  215. package/dist/web-components/p-d7726e46.entry.js +1 -0
  216. package/dist/web-components/p-d819c8e5.entry.js +1 -0
  217. package/dist/web-components/p-e2188953.entry.js +1 -0
  218. package/dist/web-components/{p-3b4e3faf.entry.js → p-e5945c01.entry.js} +1 -1
  219. package/dist/web-components/{p-d1379ac6.entry.js → p-f9d5004c.entry.js} +1 -1
  220. package/dist/web-components/web-components.esm.js +1 -1
  221. package/package.json +1 -1
  222. package/dist/cjs/r-accordion-item.cjs.entry.js +0 -78
  223. package/dist/cjs/r-icon-button.cjs.entry.js +0 -81
  224. package/dist/collection/components/accordion-item/accordion-item.css +0 -121
  225. package/dist/collection/components/accordion-item/accordion-item.js +0 -138
  226. package/dist/esm/r-accordion-item.entry.js +0 -76
  227. package/dist/esm/r-icon-button.entry.js +0 -79
  228. package/dist/types/components/accordion-item/accordion-item.d.ts +0 -26
  229. package/dist/web-components/p-00ca474f.entry.js +0 -1
  230. package/dist/web-components/p-15ac0fdd.entry.js +0 -1
  231. package/dist/web-components/p-1c956370.entry.js +0 -1
  232. package/dist/web-components/p-2a512983.entry.js +0 -1
  233. package/dist/web-components/p-2e18e762.entry.js +0 -1
  234. package/dist/web-components/p-3bc93d65.entry.js +0 -1
  235. package/dist/web-components/p-51a5804b.entry.js +0 -1
  236. package/dist/web-components/p-56da04d8.entry.js +0 -1
  237. package/dist/web-components/p-5e6aabd8.entry.js +0 -1
  238. package/dist/web-components/p-656229de.entry.js +0 -1
  239. package/dist/web-components/p-7775228c.entry.js +0 -1
  240. package/dist/web-components/p-7ad8e78b.entry.js +0 -1
  241. package/dist/web-components/p-9e50120b.entry.js +0 -1
  242. package/dist/web-components/p-a022f356.entry.js +0 -1
  243. package/dist/web-components/p-a7e7f8fa.entry.js +0 -1
  244. package/dist/web-components/p-ad9b2a48.entry.js +0 -1
  245. package/dist/web-components/p-b2f03016.entry.js +0 -1
  246. package/dist/web-components/p-b87ad83b.entry.js +0 -1
  247. package/dist/web-components/p-c937bd92.entry.js +0 -1
  248. package/dist/web-components/p-cbcd7699.entry.js +0 -1
  249. package/dist/web-components/p-dbe579e8.entry.js +0 -1
  250. package/dist/web-components/p-e4b66277.entry.js +0 -1
  251. package/dist/web-components/p-e6a31881.entry.js +0 -1
  252. package/dist/web-components/p-f2577a3c.entry.js +0 -1
  253. package/dist/web-components/p-f6a92287.entry.js +0 -1
@@ -0,0 +1,2 @@
1
+ export const inputModeArray = ['none', 'text', 'tel', 'url', 'email', 'numeric', 'decimal', 'search'];
2
+ export const enterKeyHintArray = ['enter', 'done', 'go', 'next', 'previous', 'search', 'send'];
@@ -2,18 +2,32 @@ import { h, Host } from "@stencil/core";
2
2
  import { appendControlToFormData } from "../../utils/formData";
3
3
  export class InputCode {
4
4
  constructor() {
5
- /** Specifies a name for an input for submittion within formData object. */
5
+ /** Specifies a name for an input for submission within formData object. */
6
6
  this.name = 'input-code';
7
- /** Number of digits (typically 4–6) */
7
+ /** Number of digits (typically 4–6).
8
+ * @default: 4
9
+ */
8
10
  this.length = 4;
9
- /** Label for accessibility */
11
+ /** Label for accessibility.
12
+ * @default: 'Verification code'
13
+ */
10
14
  this.label = 'Verification code';
11
- /** Set custom message for `tooShort` property of a ValidityState object (set by `minlength`) within Constrain Validation API */
12
- this.tooShortMessage = `All ${this.length} characters must be filled.`;
13
15
  /** Defines initial value */
14
16
  this.value = '';
17
+ /** Specifies the input mode for the virtual keyboard on mobile devices. Default is 'numeric' for OTP codes.
18
+ * @default: 'numeric'
19
+ */
20
+ this.inputmode = 'numeric';
21
+ /** Specifies the enter key hint for the virtual keyboard. Default is 'done' for OTP completion.
22
+ * @default: 'done'
23
+ */
24
+ this.enterkeyhint = 'done';
25
+ /** Specifies the autocomplete behavior. Default is 'one-time-code' for SMS OTP autofill.
26
+ * @default: 'one-time-code'
27
+ */
28
+ this.autocomplete = 'one-time-code';
15
29
  /** Holds the current values of each input box */
16
- this.values = new Array(this.length).fill('');
30
+ this.values = [];
17
31
  /** Validity state passed from validateFormElement function after validation */
18
32
  this.validityState = '';
19
33
  /** Validity message passed from validateFormElement function after validation */
@@ -100,6 +114,10 @@ export class InputCode {
100
114
  this.getValidityStateData = (element) => {
101
115
  let validityState = '';
102
116
  let validityMessage = '';
117
+ if (!element) {
118
+ validityState = 'valid';
119
+ return { validityState, validityMessage };
120
+ }
103
121
  if (this.required && element.value.length === 0) {
104
122
  validityState = 'valueMissing';
105
123
  validityMessage = this.valueMissingMessage;
@@ -107,7 +125,7 @@ export class InputCode {
107
125
  }
108
126
  if (element.value.length > 0 && element.value.length < this.length) {
109
127
  validityState = 'tooShort';
110
- validityMessage = this.tooShortMessage;
128
+ validityMessage = this.tooShortMessage || `All ${this.length} characters must be filled.`;
111
129
  return { validityState, validityMessage };
112
130
  }
113
131
  validityState = 'valid';
@@ -132,7 +150,7 @@ export class InputCode {
132
150
  this.onResetForm = async () => {
133
151
  if (this.readonly)
134
152
  return;
135
- this.reset();
153
+ await this.reset();
136
154
  this.validityState = null;
137
155
  this.validityMessage = null;
138
156
  this.invalid = null;
@@ -155,6 +173,19 @@ export class InputCode {
155
173
  appendControlToFormData(this.nativeElement || this.host, event.formData);
156
174
  };
157
175
  }
176
+ /**
177
+ * Validates segment index and throws descriptive errors if invalid.
178
+ * @param index - The index to validate
179
+ * @throws Error if index is not an integer or out of bounds
180
+ */
181
+ validateSegmentIndex(index) {
182
+ if (typeof index !== 'number' || !Number.isInteger(index)) {
183
+ throw new Error('Index must be an integer');
184
+ }
185
+ if (index < 0 || index >= this.length) {
186
+ throw new Error(`Index out of bounds: must be between 0 and ${this.length - 1}`);
187
+ }
188
+ }
158
189
  /**
159
190
  * Gets the current complete code value by joining all individual digit values.
160
191
  * @returns Promise that resolves to the complete code string
@@ -182,6 +213,10 @@ export class InputCode {
182
213
  return;
183
214
  }
184
215
  const valueArray = Array.from(value).slice(0, this.length).map(char => String(char));
216
+ // Pad with empty strings if value is shorter than length
217
+ while (valueArray.length < this.length) {
218
+ valueArray.push('');
219
+ }
185
220
  this.values = valueArray;
186
221
  this.rChange.emit({ value: this.values.join('') });
187
222
  }
@@ -193,9 +228,68 @@ export class InputCode {
193
228
  const { validityState } = this.getValidityStateData(this.nativeElement);
194
229
  return validityState === 'valid';
195
230
  }
231
+ /**
232
+ * Focuses a specific segment (input) by index.
233
+ * @param index - The zero-based index of the segment to focus (0 to length-1)
234
+ * @returns Promise that resolves when focus is set, or rejects if index is invalid
235
+ */
236
+ async focusSegment(index) {
237
+ this.validateSegmentIndex(index);
238
+ const input = this.inputs[index];
239
+ if (input) {
240
+ input.focus();
241
+ // Select the content if it exists
242
+ if (this.values[index]) {
243
+ setTimeout(() => {
244
+ // Check if setSelectionRange exists (not available in some test environments)
245
+ if (typeof input.setSelectionRange === 'function') {
246
+ input.setSelectionRange(0, 1);
247
+ }
248
+ }, 0);
249
+ }
250
+ }
251
+ }
252
+ /**
253
+ * Gets the value of a specific segment by index.
254
+ * @param index - The zero-based index of the segment (0 to length-1)
255
+ * @returns Promise that resolves to the segment value (single character string or empty string)
256
+ */
257
+ async getSegmentValue(index) {
258
+ this.validateSegmentIndex(index);
259
+ return this.values[index] || '';
260
+ }
261
+ /**
262
+ * Sets the value of a specific segment by index.
263
+ * @param index - The zero-based index of the segment (0 to length-1)
264
+ * @param value - The value to set (will be truncated to first character if longer)
265
+ */
266
+ async setSegmentValue(index, value) {
267
+ this.validateSegmentIndex(index);
268
+ // Take only the first character, or empty string if value is empty
269
+ const newValue = value ? value.charAt(0) : '';
270
+ this.values[index] = newValue;
271
+ this.values = [...this.values];
272
+ // Update the input element's value to reflect the change
273
+ const input = this.inputs[index];
274
+ if (input) {
275
+ input.value = newValue;
276
+ }
277
+ }
196
278
  handleValuesChange() {
197
279
  this.value = this.values.join('');
198
280
  }
281
+ handleLengthChange(newLength) {
282
+ // Adjust values array when length changes
283
+ if (this.values.length !== newLength) {
284
+ const newValues = new Array(newLength).fill('');
285
+ // Copy existing values up to the new length
286
+ for (let i = 0; i < Math.min(this.values.length, newLength); i++) {
287
+ newValues[i] = this.values[i];
288
+ }
289
+ this.values = newValues;
290
+ this.inputs = [];
291
+ }
292
+ }
199
293
  get firstEmptyInput() {
200
294
  return this.inputs.find(input => !input.value) || null;
201
295
  }
@@ -208,7 +302,7 @@ export class InputCode {
208
302
  return null;
209
303
  }
210
304
  return (this.validityState && this.validityState !== 'valid' ?
211
- (this.customErrorMessage || this.validityMessage)
305
+ (this.customErrorMessage || this.validityMessage || `All ${this.length} characters must be filled.`)
212
306
  : null);
213
307
  }
214
308
  get ariaDescribedBy() {
@@ -286,15 +380,15 @@ export class InputCode {
286
380
  id: `${uniqueId}-label`,
287
381
  fieldIndicator
288
382
  } : {};
289
- return (h(Host, { key: '2babfeef172a7d6b76c734f3170ede3a7a8d3392', value: this.value, onClick: this.onHostClick }, h("div", { key: '712d241caa9d80f982f831633009a8452c472a3c', class: "r-input-code--label-container" }, h("label", { key: '5a6be87bb1ab122cea9e2c7cefaf2781c39a9465', htmlFor: uniqueId }, label ?
383
+ return (h(Host, { key: '4d744320f4bf03760e4b11dd38934c0f7ce05223', value: this.value, onClick: this.onHostClick }, h("div", { key: 'f047f6669b243f301a2a462188d24721ccb565a5', class: "r-input-code--label-container" }, h("label", { key: 'a5acdd7308cca3981a78619c480d79c499ebc58a', htmlFor: uniqueId }, label ?
290
384
  h("r-label", Object.assign({}, labelAttr), label)
291
385
  :
292
- h("slot", { name: "label" })), h("slot", { key: 'd7afacaedc1741fdf703f5263eda57dc3591b36d', name: "popover" })), hint &&
293
- h("r-hint", { key: 'd49faa30ca4ebbefe7e88217392ef7f6a9487e7f', id: `${uniqueId}-hint`, role: "note" }, hint), h("div", { key: '89deb68a39134cdacc1009e83113c589aafc311e', class: "r-input-code--container", role: "group", "aria-labelledby": `${uniqueId}-label`, "aria-describedby": this.groupDescribedby }, h("slot", { key: '170f25027ccf4d3603474a77a92c5ff24579e46e', name: "leading" }), Array.from({ length: this.length }).map((_, i) => (h("input", { class: "r-input-code--input", key: i, id: `${uniqueId}-input-section-${i}`, "aria-label": `${this.ariaCharacterLabel || 'Character'}: ${i + 1}`, "aria-invalid": `${this.invalid || false}`, value: this.values[i], ref: el => this.inputs[i] = el, maxlength: 1, disabled: this.disabled, required: this.required, readonly: readonly, onInput: this.createInputHandler(i), onKeyDown: this.createKeyDownHandler(i), onPaste: this.handlePaste }))), h("input", Object.assign({ key: '482c544b68d48b089f7177846cee7f5fc279bbd9', type: "hidden" }, inputAttrs, { value: this.values.join(''), ref: el => this.nativeElement = el })), h("div", { key: '73f393a98b3ca5e830e7b35c360cd9e242564d8e', class: "r-input-code--trailing" }, this.readonly &&
294
- h("r-icon", { key: '751fb71619d0d0ea808332de4cc9e1b1f2dff59d', class: "r-input-code--readonly-icon", name: "pen-disabled", size: "s" }), this.hasTrailingSlot &&
295
- h("slot", { key: '072e2f141e1ef3fbf931e9c0abf24d6c42f64ec5', name: "trailing" }, valid &&
296
- h("r-icon", { key: '45b17f30472b9a5cc2e2101261f7884bd96d1d72', name: "circled-check", size: "s", color: "var(--r-status-success-regular)" })))), h("slot", { key: 'b8be9bc6d2c14fa04312313709a7911d8339c735', name: "message" }, this.hasMessage &&
297
- h("r-hint", { key: 'f76a1e5aa6d542790bdc01c7e931eda9a986a14b', "aria-live": "polite", id: `${uniqueId}-message`, variant: "error" }, this.message))));
386
+ h("slot", { name: "label" })), h("slot", { key: '696554954e2b29b49a8d639aa79d80abeaa6a729', name: "popover" })), hint &&
387
+ h("r-hint", { key: '58b3e011e49b4a3bd4dd31050ab554483fba0fc4', id: `${uniqueId}-hint`, role: "note" }, hint), h("div", { key: '6f4668b5bda975b59ff269759e2d3ae3306b09c4', class: "r-input-code--container", role: "group", "aria-labelledby": `${uniqueId}-label`, "aria-describedby": this.groupDescribedby }, h("slot", { key: '59206e0ed6e335735b610c44a925ea70b137ffe0', name: "leading" }), Array.from({ length: this.length }).map((_, i) => (h("input", { class: "r-input-code--input", key: i, id: `${uniqueId}-input-section-${i}`, "aria-label": `${this.ariaCharacterLabel || 'Character'}: ${i + 1}`, "aria-invalid": `${this.invalid || false}`, value: this.values[i], ref: el => this.inputs[i] = el, maxlength: 1, disabled: this.disabled, required: this.required, readonly: readonly, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, autocomplete: this.autocomplete, onInput: this.createInputHandler(i), onKeyDown: this.createKeyDownHandler(i), onPaste: this.handlePaste }))), h("input", Object.assign({ key: '815da7a7566b0cefdbdfda32c990637385eba304', type: "hidden" }, inputAttrs, { value: this.values.join(''), ref: el => this.nativeElement = el })), h("div", { key: 'b03d7e03bd6c91d441f4377d53bb7d845edf498d', class: "r-input-code--trailing" }, this.readonly &&
388
+ h("r-icon", { key: '53796d1b572ff2eac8297a0fad8e22d3a95f1bee', class: "r-input-code--readonly-icon", name: "pen-disabled", size: "s" }), this.hasTrailingSlot &&
389
+ h("slot", { key: '9becd49e7d79f824fcd79e7afbc3040a1b0f33a3', name: "trailing" }, valid &&
390
+ h("r-icon", { key: 'a31379d7e8eb6ad66bbf1567d4cd4f9526962226', name: "circled-check", size: "s", color: "var(--r-status-success-regular)" })))), h("slot", { key: 'a38ac5d9dda2017a443ec2b58cffbdd0db952239', name: "message" }, this.hasMessage &&
391
+ h("r-hint", { key: '39e47e0fdf23b1ebab5a0384447a965a8890d77f', "aria-live": "polite", id: `${uniqueId}-message`, variant: "error" }, this.message))));
298
392
  }
299
393
  static get is() { return "r-input-code"; }
300
394
  static get encapsulation() { return "shadow"; }
@@ -342,7 +436,7 @@ export class InputCode {
342
436
  "optional": false,
343
437
  "docs": {
344
438
  "tags": [],
345
- "text": "Specifies a name for an input for submittion within formData object."
439
+ "text": "Specifies a name for an input for submission within formData object."
346
440
  },
347
441
  "getter": false,
348
442
  "setter": false,
@@ -361,8 +455,11 @@ export class InputCode {
361
455
  "required": false,
362
456
  "optional": false,
363
457
  "docs": {
364
- "tags": [],
365
- "text": "Number of digits (typically 4\u20136)"
458
+ "tags": [{
459
+ "name": "default",
460
+ "text": ": 4"
461
+ }],
462
+ "text": "Number of digits (typically 4\u20136)."
366
463
  },
367
464
  "getter": false,
368
465
  "setter": false,
@@ -457,8 +554,11 @@ export class InputCode {
457
554
  "required": false,
458
555
  "optional": false,
459
556
  "docs": {
460
- "tags": [],
461
- "text": "Label for accessibility"
557
+ "tags": [{
558
+ "name": "default",
559
+ "text": ": 'Verification code'"
560
+ }],
561
+ "text": "Label for accessibility."
462
562
  },
463
563
  "getter": false,
464
564
  "setter": false,
@@ -570,15 +670,14 @@ export class InputCode {
570
670
  "references": {}
571
671
  },
572
672
  "required": false,
573
- "optional": false,
673
+ "optional": true,
574
674
  "docs": {
575
675
  "tags": [],
576
676
  "text": "Set custom message for `tooShort` property of a ValidityState object (set by `minlength`) within Constrain Validation API"
577
677
  },
578
678
  "getter": false,
579
679
  "setter": false,
580
- "reflect": false,
581
- "defaultValue": "`All ${this.length} characters must be filled.`"
680
+ "reflect": false
582
681
  },
583
682
  "customErrorMessage": {
584
683
  "type": "string",
@@ -675,6 +774,87 @@ export class InputCode {
675
774
  "setter": false,
676
775
  "reflect": true,
677
776
  "defaultValue": "''"
777
+ },
778
+ "inputmode": {
779
+ "type": "string",
780
+ "attribute": "inputmode",
781
+ "mutable": false,
782
+ "complexType": {
783
+ "original": "InputMode",
784
+ "resolved": "\"decimal\" | \"email\" | \"none\" | \"numeric\" | \"search\" | \"tel\" | \"text\" | \"url\"",
785
+ "references": {
786
+ "InputMode": {
787
+ "location": "import",
788
+ "path": "./exports",
789
+ "id": "src/components/input-code/exports.ts::InputMode"
790
+ }
791
+ }
792
+ },
793
+ "required": false,
794
+ "optional": true,
795
+ "docs": {
796
+ "tags": [{
797
+ "name": "default",
798
+ "text": ": 'numeric'"
799
+ }],
800
+ "text": "Specifies the input mode for the virtual keyboard on mobile devices. Default is 'numeric' for OTP codes."
801
+ },
802
+ "getter": false,
803
+ "setter": false,
804
+ "reflect": false,
805
+ "defaultValue": "'numeric'"
806
+ },
807
+ "enterkeyhint": {
808
+ "type": "string",
809
+ "attribute": "enterkeyhint",
810
+ "mutable": false,
811
+ "complexType": {
812
+ "original": "EnterKeyHint",
813
+ "resolved": "\"done\" | \"enter\" | \"go\" | \"next\" | \"previous\" | \"search\" | \"send\"",
814
+ "references": {
815
+ "EnterKeyHint": {
816
+ "location": "import",
817
+ "path": "./exports",
818
+ "id": "src/components/input-code/exports.ts::EnterKeyHint"
819
+ }
820
+ }
821
+ },
822
+ "required": false,
823
+ "optional": true,
824
+ "docs": {
825
+ "tags": [{
826
+ "name": "default",
827
+ "text": ": 'done'"
828
+ }],
829
+ "text": "Specifies the enter key hint for the virtual keyboard. Default is 'done' for OTP completion."
830
+ },
831
+ "getter": false,
832
+ "setter": false,
833
+ "reflect": false,
834
+ "defaultValue": "'done'"
835
+ },
836
+ "autocomplete": {
837
+ "type": "string",
838
+ "attribute": "autocomplete",
839
+ "mutable": false,
840
+ "complexType": {
841
+ "original": "string",
842
+ "resolved": "string",
843
+ "references": {}
844
+ },
845
+ "required": false,
846
+ "optional": true,
847
+ "docs": {
848
+ "tags": [{
849
+ "name": "default",
850
+ "text": ": 'one-time-code'"
851
+ }],
852
+ "text": "Specifies the autocomplete behavior. Default is 'one-time-code' for SMS OTP autofill."
853
+ },
854
+ "getter": false,
855
+ "setter": false,
856
+ "reflect": false,
857
+ "defaultValue": "'one-time-code'"
678
858
  }
679
859
  };
680
860
  }
@@ -782,10 +962,10 @@ export class InputCode {
782
962
  },
783
963
  "setValue": {
784
964
  "complexType": {
785
- "signature": "(value: any) => Promise<void>",
965
+ "signature": "(value: string | null) => Promise<void>",
786
966
  "parameters": [{
787
967
  "name": "value",
788
- "type": "any",
968
+ "type": "string",
789
969
  "docs": ""
790
970
  }],
791
971
  "references": {
@@ -820,6 +1000,91 @@ export class InputCode {
820
1000
  "text": "A boolean indicating whether the input code is valid."
821
1001
  }]
822
1002
  }
1003
+ },
1004
+ "focusSegment": {
1005
+ "complexType": {
1006
+ "signature": "(index: number) => Promise<void>",
1007
+ "parameters": [{
1008
+ "name": "index",
1009
+ "type": "number",
1010
+ "docs": "- The zero-based index of the segment to focus (0 to length-1)"
1011
+ }],
1012
+ "references": {
1013
+ "Promise": {
1014
+ "location": "global",
1015
+ "id": "global::Promise"
1016
+ }
1017
+ },
1018
+ "return": "Promise<void>"
1019
+ },
1020
+ "docs": {
1021
+ "text": "Focuses a specific segment (input) by index.",
1022
+ "tags": [{
1023
+ "name": "param",
1024
+ "text": "index - The zero-based index of the segment to focus (0 to length-1)"
1025
+ }, {
1026
+ "name": "returns",
1027
+ "text": "Promise that resolves when focus is set, or rejects if index is invalid"
1028
+ }]
1029
+ }
1030
+ },
1031
+ "getSegmentValue": {
1032
+ "complexType": {
1033
+ "signature": "(index: number) => Promise<string>",
1034
+ "parameters": [{
1035
+ "name": "index",
1036
+ "type": "number",
1037
+ "docs": "- The zero-based index of the segment (0 to length-1)"
1038
+ }],
1039
+ "references": {
1040
+ "Promise": {
1041
+ "location": "global",
1042
+ "id": "global::Promise"
1043
+ }
1044
+ },
1045
+ "return": "Promise<string>"
1046
+ },
1047
+ "docs": {
1048
+ "text": "Gets the value of a specific segment by index.",
1049
+ "tags": [{
1050
+ "name": "param",
1051
+ "text": "index - The zero-based index of the segment (0 to length-1)"
1052
+ }, {
1053
+ "name": "returns",
1054
+ "text": "Promise that resolves to the segment value (single character string or empty string)"
1055
+ }]
1056
+ }
1057
+ },
1058
+ "setSegmentValue": {
1059
+ "complexType": {
1060
+ "signature": "(index: number, value: string) => Promise<void>",
1061
+ "parameters": [{
1062
+ "name": "index",
1063
+ "type": "number",
1064
+ "docs": "- The zero-based index of the segment (0 to length-1)"
1065
+ }, {
1066
+ "name": "value",
1067
+ "type": "string",
1068
+ "docs": "- The value to set (will be truncated to first character if longer)"
1069
+ }],
1070
+ "references": {
1071
+ "Promise": {
1072
+ "location": "global",
1073
+ "id": "global::Promise"
1074
+ }
1075
+ },
1076
+ "return": "Promise<void>"
1077
+ },
1078
+ "docs": {
1079
+ "text": "Sets the value of a specific segment by index.",
1080
+ "tags": [{
1081
+ "name": "param",
1082
+ "text": "index - The zero-based index of the segment (0 to length-1)"
1083
+ }, {
1084
+ "name": "param",
1085
+ "text": "value - The value to set (will be truncated to first character if longer)"
1086
+ }]
1087
+ }
823
1088
  }
824
1089
  };
825
1090
  }
@@ -828,6 +1093,9 @@ export class InputCode {
828
1093
  return [{
829
1094
  "propName": "values",
830
1095
  "methodName": "handleValuesChange"
1096
+ }, {
1097
+ "propName": "length",
1098
+ "methodName": "handleLengthChange"
831
1099
  }];
832
1100
  }
833
1101
  }
@@ -433,7 +433,7 @@ export class InputDate {
433
433
  this.disconnectFormEventListeners();
434
434
  }
435
435
  render() {
436
- const { form, name, required, disabled, label, fieldIndicator, hint, tooltip, tooltipIcon, tooltipIconColor, uniqueId, invalid, valid, readonly } = this;
436
+ const { form, name, required, disabled, label, fieldIndicator, hint, uniqueId, invalid, valid, readonly } = this;
437
437
  const groupAttrs = {
438
438
  'aria-invalid': `${invalid || false}`,
439
439
  'aria-describedby': this.ariaDescribedBy
@@ -447,24 +447,18 @@ export class InputDate {
447
447
  readonly,
448
448
  'aria-describedby': this.ariaDescribedBy
449
449
  };
450
- // DEPRECATED: will be removed in November 2025 release.
451
- const tooltipAttrs = tooltip ? {
452
- tooltip,
453
- 'tooltip-icon': tooltipIcon,
454
- 'tooltip-icon-color': tooltipIconColor,
455
- } : {};
456
450
  const labelAttr = label ? {
457
451
  id: `${uniqueId}-label`,
458
452
  fieldIndicator
459
453
  } : {};
460
- return (h(Host, { key: '00e6bbea2dcaf1e88b4587fa9df6165a2c28c134', onClick: this.onHostClick, "data-touched": `${this.touched}`, "data-dirty": `${this.dirty}` }, h("fieldset", Object.assign({ key: '94d107ad0f00608263df3f47b0c2240d93a01c4e', class: "r-input-date" }, groupAttrs), h("div", { key: '3ac5991c7b8754f2fa94c8053f60af17a99301e0', class: "r-input-date--legend-container" }, h("legend", { key: '62fc7c2b6af2f7911c11f135432323621dd278b8', class: "r-input-date--legend" }, h("label", { key: 'd161f2b149ca1295c6e96746520c6ef1cf2e23ba', htmlFor: uniqueId }, label ?
461
- h("r-label", Object.assign({}, labelAttr, tooltipAttrs), label)
454
+ return (h(Host, { key: '1a8a9175148f43758ec6b9d905c4bd2f619ffd7f', onClick: this.onHostClick, "data-touched": `${this.touched}`, "data-dirty": `${this.dirty}` }, h("fieldset", Object.assign({ key: 'fb004332d8578b8da74df643bd93f93d062973bb', class: "r-input-date" }, groupAttrs), h("div", { key: '128e65638dc21d95c8b4b92669b0bd6733a653f6', class: "r-input-date--legend-container" }, h("legend", { key: '63e7e858c38930fecbe71d819f1a0b49bf711911', class: "r-input-date--legend" }, h("label", { key: 'ccd6a5434f5df91bf9b2c121bb182c152302d864', htmlFor: uniqueId }, label ?
455
+ h("r-label", Object.assign({}, labelAttr), label)
462
456
  :
463
- h("slot", { name: "label" }))), h("slot", { key: '81c9e7753273c5e7d6db5d6a1f0fad8398a57c0a', name: "popover" })), hint &&
464
- h("r-hint", { key: '0814c3ef100ed6a8512b2f15d5b59e01664bd811', id: `${uniqueId}-hint`, role: "note" }, hint), h("div", { key: '65247f18a297ef6a5751ab86e1123271ed8759f7', class: "r-input-date--container" }, h("r-icon", { key: 'fce4150b7c1b801752e1a67339b1a599728b0631', name: "calendar", size: "s", class: "r-input-date--calendar-icon" }), h("div", { key: '3b5e4776102b06acd9626477c702d2dc52ef681c', class: "r-input-date--inputs" }, this.inputOrder.map((input, i) => (h(Fragment, null, h("input", Object.assign({ class: "r-input-date--input" }, this.getInputAttrs(input), { key: input, value: this.getDateComponent(input), onInput: this.createInputHandler(input, i), onChange: this.createChangeHandler(input), onClick: this.onInputClick, onBlur: this.handleBlur, onKeyDown: this.createKeyDownHandler(i), onPaste: this.handlePaste })), i < this.inputOrder.length - 1 &&
465
- h("span", { "aria-hidden": "true", class: "r-input-date--delimiter" }, this.delimiter)))), h("input", Object.assign({ key: '2c181871c97962a35988eb406c09a05c8f27181d', type: "hidden" }, dateInputAttrs, { value: this.value, ref: (el) => this.nativeElement = el }))), h("div", { key: '8c694c11cc7ea4ecc23484d3f014cc865e0c56ad', class: "r-input-date--trailing" }, this.readonly &&
466
- h("r-icon", { key: '8ed65eaef19f280381b7c0fae206163f3adeb5f4', class: "r-input-date--readonly-icon", name: "pen-disabled", size: "s" }), valid &&
467
- h("r-icon", { key: 'aef55123b4b001576b482e0be4eff0df6dc97930', name: "circled-check", size: "s", color: "var(--r-status-success-regular)" }), this.hasTrailingSlot && h("slot", { key: 'd92dcda80b7434af1f8ed781329ce8f2e6734225', name: "trailing" }))), h("div", { key: '139792ccc090b29f041e3a731f65e5916379b911', id: `${uniqueId}-message`, "aria-live": "polite", class: "r-input-date--message" }, this.hasMessage && h("r-hint", { key: '74d444c9748c032e844c0772b8758873bdaef391', variant: "error" }, this.message)))));
457
+ h("slot", { name: "label" }))), h("slot", { key: '4be5c643d1b0532d27f4b82692cb6ca937291d6b', name: "popover" })), hint &&
458
+ h("r-hint", { key: '07a912c146dff97ef991a6e375f4aeb8cd0ba45e', id: `${uniqueId}-hint`, role: "note" }, hint), h("div", { key: '386dfb87cface9333c93d5fe8165cbe52a9a83c4', class: "r-input-date--container" }, h("r-icon", { key: '9ff075723ac54f6d7c2325ba59f833422404bee6', name: "calendar", size: "s", class: "r-input-date--calendar-icon" }), h("div", { key: 'ebcb76a92ab1591c3128a60d6620bea5b0c517ec', class: "r-input-date--inputs" }, this.inputOrder.map((input, i) => (h(Fragment, null, h("input", Object.assign({ class: "r-input-date--input" }, this.getInputAttrs(input), { key: input, value: this.getDateComponent(input), onInput: this.createInputHandler(input, i), onChange: this.createChangeHandler(input), onClick: this.onInputClick, onBlur: this.handleBlur, onKeyDown: this.createKeyDownHandler(i), onPaste: this.handlePaste })), i < this.inputOrder.length - 1 &&
459
+ h("span", { "aria-hidden": "true", class: "r-input-date--delimiter" }, this.delimiter)))), h("input", Object.assign({ key: 'e5736ffa215662436c539332be1414cc409ce448', type: "hidden" }, dateInputAttrs, { value: this.value, ref: (el) => this.nativeElement = el }))), h("div", { key: '45ccffbb4111f2fd906d9b687f62f4adc83b62aa', class: "r-input-date--trailing" }, this.readonly &&
460
+ h("r-icon", { key: '3a5433e3d601a83154687bdd55feeeef0ef04215', class: "r-input-date--readonly-icon", name: "pen-disabled", size: "s" }), valid &&
461
+ h("r-icon", { key: '03de3e49b8b51690e4fb6c2edbb7a53ca1a71f76', name: "circled-check", size: "s", color: "var(--r-status-success-regular)" }), this.hasTrailingSlot && h("slot", { key: 'db4911a4421b296effdd37ca08c96d8a0096e5e6', name: "trailing" }))), h("div", { key: 'd21f19188462be93812487702eb8a07fd3a91cea', id: `${uniqueId}-message`, "aria-live": "polite", class: "r-input-date--message" }, this.hasMessage && h("r-hint", { key: '6937f2d48a634308c97d33e59daa0a7242bd39fd', variant: "error" }, this.message)))));
468
462
  }
469
463
  static get is() { return "r-input-date"; }
470
464
  static get encapsulation() { return "shadow"; }
@@ -615,69 +609,6 @@ export class InputDate {
615
609
  "setter": false,
616
610
  "reflect": false
617
611
  },
618
- "tooltip": {
619
- "type": "string",
620
- "attribute": "tooltip",
621
- "mutable": false,
622
- "complexType": {
623
- "original": "string",
624
- "resolved": "string",
625
- "references": {}
626
- },
627
- "required": false,
628
- "optional": true,
629
- "docs": {
630
- "tags": [],
631
- "text": "_DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)\nLabel tooltip text"
632
- },
633
- "getter": false,
634
- "setter": false,
635
- "reflect": false
636
- },
637
- "tooltipIcon": {
638
- "type": "string",
639
- "attribute": "tooltip-icon",
640
- "mutable": false,
641
- "complexType": {
642
- "original": "IconName",
643
- "resolved": "string",
644
- "references": {
645
- "IconName": {
646
- "location": "import",
647
- "path": "../icon/exports",
648
- "id": "src/components/icon/exports.ts::IconName"
649
- }
650
- }
651
- },
652
- "required": false,
653
- "optional": true,
654
- "docs": {
655
- "tags": [],
656
- "text": "_DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)\nTooltip trigger icon by name from [Riverty icons set](https://storybook.riverty.design/?path=/story/components-icon--riverty-kit)"
657
- },
658
- "getter": false,
659
- "setter": false,
660
- "reflect": false
661
- },
662
- "tooltipIconColor": {
663
- "type": "string",
664
- "attribute": "tooltip-icon-color",
665
- "mutable": false,
666
- "complexType": {
667
- "original": "string",
668
- "resolved": "string",
669
- "references": {}
670
- },
671
- "required": false,
672
- "optional": true,
673
- "docs": {
674
- "tags": [],
675
- "text": "_DEPRECATED_ (Use popover slot instead. This property will be removed in November 2025 release.)\nChange color of an icon that triggers tooltip to one of the Riverty color tokens"
676
- },
677
- "getter": false,
678
- "setter": false,
679
- "reflect": false
680
- },
681
612
  "hint": {
682
613
  "type": "string",
683
614
  "attribute": "hint",
@@ -2,6 +2,7 @@
2
2
  display: inline-flex;
3
3
  flex-direction: column;
4
4
  vertical-align: top;
5
+ --r-input--validation-icon--display: none;
5
6
  }
6
7
 
7
8
  :host([full-width]:not([full-width=false])) {