@riverty/web-components 5.7.0 → 5.8.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 (115) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/custom-elements.json +28 -3
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/r-alert.cjs.entry.js +24 -8
  5. package/dist/cjs/r-button.cjs.entry.js +1 -1
  6. package/dist/cjs/r-checkbox-group.cjs.entry.js +27 -13
  7. package/dist/cjs/r-checkbox.cjs.entry.js +25 -10
  8. package/dist/cjs/r-icon-button.cjs.entry.js +1 -1
  9. package/dist/cjs/r-icon.cjs.entry.js +1 -1
  10. package/dist/cjs/r-input-code.cjs.entry.js +29 -16
  11. package/dist/cjs/r-input-date.cjs.entry.js +85 -15
  12. package/dist/cjs/r-input-password.cjs.entry.js +20 -7
  13. package/dist/cjs/r-input-phone-number.cjs.entry.js +27 -14
  14. package/dist/cjs/r-input.cjs.entry.js +24 -11
  15. package/dist/cjs/r-pagination.cjs.entry.js +1 -1
  16. package/dist/cjs/r-popover-action.cjs.entry.js +1 -1
  17. package/dist/cjs/r-popover.cjs.entry.js +1 -1
  18. package/dist/cjs/r-radio-group.cjs.entry.js +20 -16
  19. package/dist/cjs/r-select.cjs.entry.js +112 -18
  20. package/dist/cjs/r-textarea.cjs.entry.js +18 -5
  21. package/dist/cjs/r-toast.cjs.entry.js +50 -19
  22. package/dist/cjs/web-components.cjs.js +1 -1
  23. package/dist/collection/components/alert/alert.css +52 -12
  24. package/dist/collection/components/alert/alert.js +48 -11
  25. package/dist/collection/components/alert/exports.js +1 -1
  26. package/dist/collection/components/button/button.css +6 -7
  27. package/dist/collection/components/checkbox/checkbox.js +45 -10
  28. package/dist/collection/components/checkbox-group/checkbox-group.js +47 -13
  29. package/dist/collection/components/icon/bundled-icons/riverty-kit.json +1 -1
  30. package/dist/collection/components/icon/riverty-kit.js +1 -1
  31. package/dist/collection/components/icon-button/icon-button.css +0 -7
  32. package/dist/collection/components/input/input.js +44 -11
  33. package/dist/collection/components/input-code/input-code.js +49 -16
  34. package/dist/collection/components/input-date/input-date.js +235 -16
  35. package/dist/collection/components/input-password/input-password.js +40 -7
  36. package/dist/collection/components/input-phone-number/input-phone-number.js +47 -14
  37. package/dist/collection/components/pagination/pagination.css +23 -23
  38. package/dist/collection/components/popover/popover.css +11 -3
  39. package/dist/collection/components/popover-action/popover-action.css +3 -5
  40. package/dist/collection/components/radio-group/radio-group.js +21 -17
  41. package/dist/collection/components/select/select.js +193 -21
  42. package/dist/collection/components/textarea/textarea.js +38 -5
  43. package/dist/collection/components/toast/toast.css +22 -14
  44. package/dist/collection/components/toast/toast.js +94 -20
  45. package/dist/esm/loader.js +1 -1
  46. package/dist/esm/r-alert.entry.js +24 -8
  47. package/dist/esm/r-button.entry.js +1 -1
  48. package/dist/esm/r-checkbox-group.entry.js +27 -13
  49. package/dist/esm/r-checkbox.entry.js +25 -10
  50. package/dist/esm/r-icon-button.entry.js +1 -1
  51. package/dist/esm/r-icon.entry.js +1 -1
  52. package/dist/esm/r-input-code.entry.js +29 -16
  53. package/dist/esm/r-input-date.entry.js +85 -15
  54. package/dist/esm/r-input-password.entry.js +20 -7
  55. package/dist/esm/r-input-phone-number.entry.js +27 -14
  56. package/dist/esm/r-input.entry.js +24 -11
  57. package/dist/esm/r-pagination.entry.js +1 -1
  58. package/dist/esm/r-popover-action.entry.js +1 -1
  59. package/dist/esm/r-popover.entry.js +1 -1
  60. package/dist/esm/r-radio-group.entry.js +20 -16
  61. package/dist/esm/r-select.entry.js +112 -18
  62. package/dist/esm/r-textarea.entry.js +18 -5
  63. package/dist/esm/r-toast.entry.js +50 -19
  64. package/dist/esm/web-components.js +1 -1
  65. package/dist/types/components/alert/alert.d.ts +3 -0
  66. package/dist/types/components/alert/exports.d.ts +1 -1
  67. package/dist/types/components/checkbox/checkbox.d.ts +5 -0
  68. package/dist/types/components/checkbox-group/checkbox-group.d.ts +6 -0
  69. package/dist/types/components/input/input.d.ts +5 -0
  70. package/dist/types/components/input-code/input-code.d.ts +5 -0
  71. package/dist/types/components/input-date/input-date.d.ts +30 -0
  72. package/dist/types/components/input-password/input-password.d.ts +5 -0
  73. package/dist/types/components/input-phone-number/input-phone-number.d.ts +5 -0
  74. package/dist/types/components/radio-group/radio-group.d.ts +1 -2
  75. package/dist/types/components/select/select.d.ts +34 -2
  76. package/dist/types/components/textarea/textarea.d.ts +5 -0
  77. package/dist/types/components/toast/toast.d.ts +10 -2
  78. package/dist/types/components.d.ts +143 -8
  79. package/dist/web-components/bundled-icons/riverty-kit.json +1 -1
  80. package/dist/web-components/p-15ac0fdd.entry.js +1 -0
  81. package/dist/web-components/p-1c956370.entry.js +1 -0
  82. package/dist/web-components/p-2a512983.entry.js +1 -0
  83. package/dist/web-components/p-2e18e762.entry.js +1 -0
  84. package/dist/web-components/{p-72c0c0d8.entry.js → p-3078b2b8.entry.js} +1 -1
  85. package/dist/web-components/p-56da04d8.entry.js +1 -0
  86. package/dist/web-components/p-5744d75c.entry.js +1 -0
  87. package/dist/web-components/p-5bbd6e3c.entry.js +1 -0
  88. package/dist/web-components/p-5e6aabd8.entry.js +1 -0
  89. package/dist/web-components/p-656229de.entry.js +1 -0
  90. package/dist/web-components/p-6a4f3836.entry.js +1 -0
  91. package/dist/web-components/p-7775228c.entry.js +1 -0
  92. package/dist/web-components/p-8563a1ab.entry.js +1 -0
  93. package/dist/web-components/p-ad9b2a48.entry.js +1 -0
  94. package/dist/web-components/p-b87ad83b.entry.js +1 -0
  95. package/dist/web-components/{p-77155630.entry.js → p-b98ab649.entry.js} +1 -1
  96. package/dist/web-components/p-dbe579e8.entry.js +1 -0
  97. package/dist/web-components/p-f2577a3c.entry.js +1 -0
  98. package/dist/web-components/web-components.esm.js +1 -1
  99. package/package.json +1 -1
  100. package/dist/web-components/p-289eb4b0.entry.js +0 -1
  101. package/dist/web-components/p-2b8e12ae.entry.js +0 -1
  102. package/dist/web-components/p-2e2c8a5b.entry.js +0 -1
  103. package/dist/web-components/p-3a39932b.entry.js +0 -1
  104. package/dist/web-components/p-44be9992.entry.js +0 -1
  105. package/dist/web-components/p-4652635a.entry.js +0 -1
  106. package/dist/web-components/p-63474b32.entry.js +0 -1
  107. package/dist/web-components/p-74d2a563.entry.js +0 -1
  108. package/dist/web-components/p-8028c2a9.entry.js +0 -1
  109. package/dist/web-components/p-96ddeb7f.entry.js +0 -1
  110. package/dist/web-components/p-9d898089.entry.js +0 -1
  111. package/dist/web-components/p-9eb1f262.entry.js +0 -1
  112. package/dist/web-components/p-c300c22f.entry.js +0 -1
  113. package/dist/web-components/p-d93c240d.entry.js +0 -1
  114. package/dist/web-components/p-f770e22b.entry.js +0 -1
  115. package/dist/web-components/p-f952161b.entry.js +0 -1
@@ -70,6 +70,10 @@ const InputDate = class {
70
70
  this.validityState = '';
71
71
  /** Validity message passed from validateFormElement function after validation */
72
72
  this.validityMessage = '';
73
+ /** Defines if the component has been touched by user */
74
+ this.touched = false;
75
+ /** Defines if the value has been changed by user interaction */
76
+ this.dirty = false;
73
77
  /**
74
78
  * Initial attributes state
75
79
  * */
@@ -160,6 +164,7 @@ const InputDate = class {
160
164
  if (this.readonly)
161
165
  return;
162
166
  if (event.code === 'Enter') {
167
+ this.touched = true;
163
168
  this.validateFormElement(this.nativeElement);
164
169
  if (this.invalid && !this.isNoValidate)
165
170
  return;
@@ -210,6 +215,8 @@ const InputDate = class {
210
215
  if (this.readonly)
211
216
  return;
212
217
  this.value = event.clipboardData.getData('text');
218
+ this.touched = true;
219
+ this.dirty = true;
213
220
  event.preventDefault();
214
221
  };
215
222
  this.createInputHandler = (input, index) => {
@@ -227,7 +234,10 @@ const InputDate = class {
227
234
  index < this.inputOrder.length - 1) {
228
235
  (_c = this.inputs[index + 1]) === null || _c === void 0 ? void 0 : _c.focus();
229
236
  }
237
+ this.touched = true;
238
+ this.dirty = true;
230
239
  this.rInput.emit({ element: this.host, value: this.value });
240
+ this.validateFormElement(this.nativeElement);
231
241
  };
232
242
  this.createChangeHandler = (input) => {
233
243
  return (e) => this.handleChange(input, e);
@@ -240,29 +250,64 @@ const InputDate = class {
240
250
  event.target.value = value;
241
251
  this.setDateComponent(input, value);
242
252
  this.value = this.inputOrder.map((el) => this.getDateComponent(el)).join(this.delimiter);
253
+ this.touched = true;
254
+ this.dirty = true;
243
255
  this.rChange.emit({ element: this.host, value: this.value });
244
256
  this.validateFormElement(this.nativeElement);
245
257
  };
258
+ this.handleBlur = () => {
259
+ this.touched = true;
260
+ this.validateFormElement(this.nativeElement);
261
+ };
246
262
  this.getValidityStateData = (element) => {
263
+ let validityState = '';
264
+ let validityMessage = '';
247
265
  if (this.required && element.value.length === 0) {
248
- this.validityState = 'valueMissing';
249
- this.validityMessage = this.valueMissingMessage;
250
- return;
266
+ validityState = 'valueMissing';
267
+ validityMessage = this.valueMissingMessage;
268
+ return { validityState, validityMessage };
251
269
  }
252
- const valid = dayjs(this.value, this.format, true).isValid();
270
+ const valid = this.value ? dayjs(this.value, this.format, true).isValid() : true;
253
271
  if (!valid) {
254
- this.validityState = 'invalid';
255
- this.validityMessage = this.invalidDateMessage;
256
- return;
272
+ validityState = 'invalid';
273
+ validityMessage = this.invalidDateMessage;
274
+ return { validityState, validityMessage };
257
275
  }
258
- this.validityState = 'valid';
276
+ // Check min/max constraints only if date is valid and has a value
277
+ // Note: min and max are expected to be in the same format as this.format
278
+ // If format changes, the developer should update min/max accordingly
279
+ if (this.value && valid) {
280
+ const currentDate = dayjs(this.value, this.format, true);
281
+ // Check minimum date constraint
282
+ if (this.min) {
283
+ const minDate = dayjs(this.min, this.format, true);
284
+ if (minDate.isValid() && currentDate.isBefore(minDate, 'day')) {
285
+ validityState = 'rangeUnderflow';
286
+ validityMessage = this.rangeUnderflowMessage;
287
+ return { validityState, validityMessage };
288
+ }
289
+ }
290
+ // Check maximum date constraint
291
+ if (this.max) {
292
+ const maxDate = dayjs(this.max, this.format, true);
293
+ if (maxDate.isValid() && currentDate.isAfter(maxDate, 'day')) {
294
+ validityState = 'rangeOverflow';
295
+ validityMessage = this.rangeOverflowMessage;
296
+ return { validityState, validityMessage };
297
+ }
298
+ }
299
+ }
300
+ validityState = 'valid';
301
+ return { validityState, validityMessage };
259
302
  };
260
303
  this.validateFormElement = (element) => {
261
304
  if (element === null)
262
305
  return;
263
306
  if (this.isNoValidate)
264
307
  return;
265
- this.getValidityStateData(element);
308
+ const { validityState, validityMessage } = this.getValidityStateData(element);
309
+ this.validityState = validityState;
310
+ this.validityMessage = validityMessage;
266
311
  const isValid = this.validityState === 'valid';
267
312
  this.valid = isValid;
268
313
  this.invalid = !isValid;
@@ -311,6 +356,8 @@ const InputDate = class {
311
356
  }
312
357
  handleValueChange() {
313
358
  this.setCurrentValues();
359
+ if (this.touched)
360
+ this.validateFormElement(this.nativeElement);
314
361
  }
315
362
  /** Get the date value */
316
363
  async getValue() {
@@ -318,6 +365,7 @@ const InputDate = class {
318
365
  }
319
366
  /** Sets the date value */
320
367
  async setValue(value) {
368
+ this.nativeElement.value = value;
321
369
  this.value = value;
322
370
  }
323
371
  /** Gets the current date format */
@@ -328,6 +376,19 @@ const InputDate = class {
328
376
  async setFormat(format) {
329
377
  this.format = format;
330
378
  }
379
+ /** Gets the touched state (whether user has interacted with the input) */
380
+ async isTouched() {
381
+ return this.touched;
382
+ }
383
+ /** Gets the dirty state (whether value has been changed by user) */
384
+ async isDirty() {
385
+ return this.dirty;
386
+ }
387
+ /** Resets touched and dirty states to pristine (untouched/clean) */
388
+ async markAsPristine() {
389
+ this.touched = false;
390
+ this.dirty = false;
391
+ }
331
392
  /**
332
393
  * Resets the component by clearing all input values and focusing the first input.
333
394
  * @returns Promise that resolves when reset is complete
@@ -335,6 +396,7 @@ const InputDate = class {
335
396
  async reset() {
336
397
  if (this.readonly)
337
398
  return;
399
+ this.markAsPristine();
338
400
  this.validityState = null;
339
401
  this.validityMessage = null;
340
402
  this.value = this.initial['value'];
@@ -342,6 +404,14 @@ const InputDate = class {
342
404
  this.format = this.initial['format'];
343
405
  this.valid = !this.invalid;
344
406
  }
407
+ /**
408
+ * Validates the input date without triggering UI and returns a boolean indicating its validity.
409
+ * @returns A boolean indicating whether the input date is valid.
410
+ */
411
+ async checkValidity() {
412
+ const { validityState } = this.getValidityStateData(this.nativeElement);
413
+ return validityState === 'valid';
414
+ }
345
415
  get inputs() {
346
416
  return Array.from(this.host.shadowRoot.querySelectorAll('input[data-date-type]'));
347
417
  }
@@ -435,14 +505,14 @@ const InputDate = class {
435
505
  id: `${uniqueId}-label`,
436
506
  fieldIndicator
437
507
  } : {};
438
- return (index.h(index.Host, { key: '8a1395ebe9606836eeca8c63958dd2c904901cc5', onClick: this.onHostClick }, index.h("fieldset", Object.assign({ key: '67eda3917e37c76e22dba41a3f168f25542b3e74', class: "r-input-date" }, groupAttrs), index.h("div", { key: '2e1c2fc3ff538cbaeb79cea6728a0fc01a3cfafe', class: "r-input-date--legend-container" }, index.h("legend", { key: '0f41209fd3934af15d17a60c366ae95cb7b0ffab', class: "r-input-date--legend" }, index.h("label", { key: '406ee340682dc64d75aacfe33456ed3d819b1a7d', htmlFor: uniqueId }, label ?
508
+ return (index.h(index.Host, { key: '00e6bbea2dcaf1e88b4587fa9df6165a2c28c134', onClick: this.onHostClick, "data-touched": `${this.touched}`, "data-dirty": `${this.dirty}` }, index.h("fieldset", Object.assign({ key: '94d107ad0f00608263df3f47b0c2240d93a01c4e', class: "r-input-date" }, groupAttrs), index.h("div", { key: '3ac5991c7b8754f2fa94c8053f60af17a99301e0', class: "r-input-date--legend-container" }, index.h("legend", { key: '62fc7c2b6af2f7911c11f135432323621dd278b8', class: "r-input-date--legend" }, index.h("label", { key: 'd161f2b149ca1295c6e96746520c6ef1cf2e23ba', htmlFor: uniqueId }, label ?
439
509
  index.h("r-label", Object.assign({}, labelAttr, tooltipAttrs), label)
440
510
  :
441
- index.h("slot", { name: "label" }))), index.h("slot", { key: '825c6e93994dd54738f3168e782066787c48af5c', name: "popover" })), hint &&
442
- index.h("r-hint", { key: '9cee9fa8904d8fc1a1968c4a2a12caed9a708cfb', id: `${uniqueId}-hint`, role: "note" }, hint), index.h("div", { key: '60db93b0f58918d1ab087455fc495b093175dca4', class: "r-input-date--container" }, index.h("r-icon", { key: '74a495cb61d248a3d10422c6e28bde310684a7e9', name: "calendar", size: "s", class: "r-input-date--calendar-icon" }), index.h("div", { key: '59d28137260f613ef9f404821e6dc2b6624fb455', class: "r-input-date--inputs" }, this.inputOrder.map((input, i) => (index.h(index.Fragment, null, index.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, onKeyDown: this.createKeyDownHandler(i), onPaste: this.handlePaste })), i < this.inputOrder.length - 1 &&
443
- index.h("span", { "aria-hidden": "true", class: "r-input-date--delimiter" }, this.delimiter)))), index.h("input", Object.assign({ key: '9723d0a2417bf427a5a1ff4690f8745cc40899a0', type: "hidden" }, dateInputAttrs, { value: this.value, ref: (el) => this.nativeElement = el }))), index.h("div", { key: '65997938c00455e81becba759dc3fdadeeecc1e4', class: "r-input-date--trailing" }, this.readonly &&
444
- index.h("r-icon", { key: '750df4d848ef7d0e7a6b9a7b7853a3389da44232', class: "r-input-date--readonly-icon", name: "pen-disabled", size: "s" }), valid &&
445
- index.h("r-icon", { key: 'b24b8ea8a53b423c0060ac6a34d75ea7ad192b94', name: "circled-check", size: "s", color: "var(--r-status-success-regular)" }), this.hasTrailingSlot && index.h("slot", { key: '147d79539620af0051addf49d7e237c2a3428ff4', name: "trailing" }))), index.h("div", { key: 'e6b2bccd8d97560940805a08f420f5fc9b165649', id: `${uniqueId}-message`, "aria-live": "polite", class: "r-input-date--message" }, this.hasMessage && index.h("r-hint", { key: 'd4807c998838bf7a6c748a4555901e66f2ef92d0', variant: "error" }, this.message)))));
511
+ index.h("slot", { name: "label" }))), index.h("slot", { key: '81c9e7753273c5e7d6db5d6a1f0fad8398a57c0a', name: "popover" })), hint &&
512
+ index.h("r-hint", { key: '0814c3ef100ed6a8512b2f15d5b59e01664bd811', id: `${uniqueId}-hint`, role: "note" }, hint), index.h("div", { key: '65247f18a297ef6a5751ab86e1123271ed8759f7', class: "r-input-date--container" }, index.h("r-icon", { key: 'fce4150b7c1b801752e1a67339b1a599728b0631', name: "calendar", size: "s", class: "r-input-date--calendar-icon" }), index.h("div", { key: '3b5e4776102b06acd9626477c702d2dc52ef681c', class: "r-input-date--inputs" }, this.inputOrder.map((input, i) => (index.h(index.Fragment, null, index.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 &&
513
+ index.h("span", { "aria-hidden": "true", class: "r-input-date--delimiter" }, this.delimiter)))), index.h("input", Object.assign({ key: '2c181871c97962a35988eb406c09a05c8f27181d', type: "hidden" }, dateInputAttrs, { value: this.value, ref: (el) => this.nativeElement = el }))), index.h("div", { key: '8c694c11cc7ea4ecc23484d3f014cc865e0c56ad', class: "r-input-date--trailing" }, this.readonly &&
514
+ index.h("r-icon", { key: '8ed65eaef19f280381b7c0fae206163f3adeb5f4', class: "r-input-date--readonly-icon", name: "pen-disabled", size: "s" }), valid &&
515
+ index.h("r-icon", { key: 'aef55123b4b001576b482e0be4eff0df6dc97930', name: "circled-check", size: "s", color: "var(--r-status-success-regular)" }), this.hasTrailingSlot && index.h("slot", { key: 'd92dcda80b7434af1f8ed781329ce8f2e6734225', name: "trailing" }))), index.h("div", { key: '139792ccc090b29f041e3a731f65e5916379b911', id: `${uniqueId}-message`, "aria-live": "polite", class: "r-input-date--message" }, this.hasMessage && index.h("r-hint", { key: '74d444c9748c032e844c0772b8758873bdaef391', variant: "error" }, this.message)))));
446
516
  }
447
517
  get host() { return index.getElement(this); }
448
518
  static get watchers() { return {
@@ -61,16 +61,19 @@ const InputPassword = class {
61
61
  this.rChange.emit({ element: host, value });
62
62
  };
63
63
  this.getValidityStateData = (element) => {
64
+ let validityState = '';
65
+ let validityMessage = '';
64
66
  for (const state in element.validity) {
65
67
  if (element.validity[state]) {
66
- this.validityState = state;
68
+ validityState = state;
67
69
  if (this[state + 'Message']) {
68
- this.validityMessage = this[state + 'Message'];
69
- return;
70
+ validityMessage = this[state + 'Message'];
71
+ return { validityState, validityMessage };
70
72
  }
71
- this.validityMessage = element.validationMessage;
73
+ validityMessage = element.validationMessage;
72
74
  }
73
75
  }
76
+ return { validityState, validityMessage };
74
77
  };
75
78
  this.validateFormElement = (element) => {
76
79
  if (element === null)
@@ -79,7 +82,9 @@ const InputPassword = class {
79
82
  return;
80
83
  if (this.error)
81
84
  return;
82
- this.getValidityStateData(element.shadowRoot.querySelector('input'));
85
+ const { validityState, validityMessage } = this.getValidityStateData(element.shadowRoot.querySelector('input'));
86
+ this.validityState = validityState;
87
+ this.validityMessage = validityMessage;
83
88
  const isValid = this.validityState === 'valid';
84
89
  this.valid = isValid;
85
90
  this.invalid = !isValid;
@@ -166,6 +171,14 @@ const InputPassword = class {
166
171
  this.value = value;
167
172
  this.validateFormElement(this.nativeElement);
168
173
  }
174
+ /**
175
+ * Validates the input password without triggering UI and returns a boolean indicating its validity.
176
+ * @returns A boolean indicating whether the input password is valid.
177
+ */
178
+ async checkValidity() {
179
+ const { validityState } = this.getValidityStateData(this.nativeElement.shadowRoot.querySelector('input'));
180
+ return validityState === 'valid';
181
+ }
169
182
  /** Identify wrapping form element */
170
183
  get parentFormEl() {
171
184
  return this.host.closest('form') || document.querySelector(`#${this.form}`) || null;
@@ -234,8 +247,8 @@ const InputPassword = class {
234
247
  novalidate: true,
235
248
  readonly
236
249
  };
237
- return (index.h(index.Host, { key: '27a9dec1e7b44ca89bf6fa3a2519e449250503e0' }, index.h("r-input", Object.assign({ key: '5ca5a59b7dcbcc5f5bbeefd8741b679bc1d11004' }, inputAttrs, { ref: (el) => this.nativeElement = el, type: showed ? 'text' : 'password', onRInput: this.onInput, onRChange: this.onChange, onKeyUp: this.handleKeyup, onRBlur: this.handleBlur }), index.h("r-icon", { key: '62a04c271572db925e1992bd1ac540a5a09234dc', name: "padlock-closed", size: "s", slot: "leading" }), index.h("slot", { key: 'cbee36e927550e21e76dcf61de99980f92564177', name: "popover", slot: "popover" }), index.h("r-icon-button", { key: 'd4939f4be247d76df7e96eee97ea9ed1079a8f5d', slot: "trailing", name: showed ? 'eye-crossed-out' : 'eye', size: "s", disabled: disabled, label: showed ? hidePasswordAriaLabel : showPasswordAriaLabel, onClick: this.onShowClick }), this.hasMessage &&
238
- index.h("r-hint", { key: '5c5ba0c83013b4e6a283a86beb5abe1676b97093', slot: "message", variant: "error" }, this.hasError && this.error, this.hasValidationError && (this.customErrorMessage || this.validityMessage))), index.h("div", { key: '0763d06fbaf887574e44b0fedbb9d08b1725b99f', class: "visually-hidden", ref: el => this.passwordVisibilityChangeAlertContainer = el, "aria-live": "polite" })));
250
+ return (index.h(index.Host, { key: '810ae74cdcdcd8a4289255e2b99b6cfc213330ac' }, index.h("r-input", Object.assign({ key: '55027ca5cd8b8ba4eade60067ac182e38eaf1bfa' }, inputAttrs, { ref: (el) => this.nativeElement = el, type: showed ? 'text' : 'password', onRInput: this.onInput, onRChange: this.onChange, onKeyUp: this.handleKeyup, onRBlur: this.handleBlur }), index.h("r-icon", { key: '935aa481c0eff444462e6be6d8e6975db8a24708', name: "padlock-closed", size: "s", slot: "leading" }), index.h("slot", { key: 'df29bd4fa96db1c1f5f70be9c44fab1b9c5f02be', name: "popover", slot: "popover" }), index.h("r-icon-button", { key: '95d5f3c5e64eb7b43364db7aff943d35fbdc4d2d', slot: "trailing", name: showed ? 'eye-crossed-out' : 'eye', size: "s", disabled: disabled, label: showed ? hidePasswordAriaLabel : showPasswordAriaLabel, onClick: this.onShowClick }), this.hasMessage &&
251
+ index.h("r-hint", { key: '7390d667a69c4ae5c2c6ae480eaf5f879ad6ed78', slot: "message", variant: "error" }, this.hasError && this.error, this.hasValidationError && (this.customErrorMessage || this.validityMessage))), index.h("div", { key: 'c70c38f1249c80973bb2fe2a25ddf7d88835c686', class: "visually-hidden", ref: el => this.passwordVisibilityChangeAlertContainer = el, "aria-live": "polite" })));
239
252
  }
240
253
  get host() { return index.getElement(this); }
241
254
  };
@@ -2273,7 +2273,9 @@ const InputPhoneNumber = class {
2273
2273
  return;
2274
2274
  if (this.error)
2275
2275
  return;
2276
- this.getValidityStateData();
2276
+ const { validityState, validityMessage } = this.getValidityStateData();
2277
+ this.validityState = validityState;
2278
+ this.validityMessage = validityMessage;
2277
2279
  const isValid = this.validityState === 'valid';
2278
2280
  this.valid = isValid;
2279
2281
  this.invalid = !isValid;
@@ -2284,22 +2286,25 @@ const InputPhoneNumber = class {
2284
2286
  };
2285
2287
  this.getValidityStateData = () => {
2286
2288
  var _a, _b;
2289
+ let validityState = '';
2290
+ let validityMessage = '';
2287
2291
  if (!this.required && !((_a = this.phoneNumber) === null || _a === void 0 ? void 0 : _a.length)) {
2288
- this.validityState = 'valid';
2289
- return;
2292
+ validityState = 'valid';
2293
+ return { validityState, validityMessage };
2290
2294
  }
2291
2295
  if (!((_b = this.phoneNumber) === null || _b === void 0 ? void 0 : _b.length)) {
2292
- this.validityState = 'valueMissing';
2293
- this.validityMessage = this.valueMissingMessage;
2294
- return;
2296
+ validityState = 'valueMissing';
2297
+ validityMessage = this.valueMissingMessage;
2298
+ return { validityState, validityMessage };
2295
2299
  }
2296
2300
  const isPhoneNumberValid = this.countryCode ? this.getPhoneValidationResult(this.phoneNumber, this.countryCode).isValid : false;
2297
2301
  if (!isPhoneNumberValid) {
2298
- this.validityState = 'invalid';
2299
- this.validityMessage = this.customErrorMessage;
2300
- return;
2302
+ validityState = 'invalid';
2303
+ validityMessage = this.customErrorMessage;
2304
+ return { validityState, validityMessage };
2301
2305
  }
2302
- this.validityState = 'valid';
2306
+ validityState = 'valid';
2307
+ return { validityState, validityMessage };
2303
2308
  };
2304
2309
  this.onSubmitForm = (event) => {
2305
2310
  if (this.isNoValidate)
@@ -2341,6 +2346,14 @@ const InputPhoneNumber = class {
2341
2346
  this.customErrorMessage = message;
2342
2347
  this.validateFormElement(this.nativeElement);
2343
2348
  }
2349
+ /**
2350
+ * Validates the input phone number without triggering UI and returns a boolean indicating its validity.
2351
+ * @returns A boolean indicating whether the input phone number is valid.
2352
+ */
2353
+ async checkValidity() {
2354
+ const { validityState } = this.getValidityStateData();
2355
+ return validityState === 'valid';
2356
+ }
2344
2357
  /** Check validity and reveal validation state. */
2345
2358
  async reportValidity() {
2346
2359
  this.validateFormElement(this.nativeElement);
@@ -2498,10 +2511,10 @@ const InputPhoneNumber = class {
2498
2511
  disabled,
2499
2512
  'aria-describedby': this.ariaDescribedBy
2500
2513
  };
2501
- return (index.h(index.Host, { key: '87f5720347e3627524f95f7110088b8eddef7f8f' }, index.h("div", { key: '091e2048f011ff4167b35434567149de061954bd', class: "r-input-phone-number--label-container" }, index.h("label", { key: '80994d1cfd1b6f2228fb231f64894e660bdb1a1c', id: `${uniqueId}-label` }, label &&
2502
- index.h("r-label", Object.assign({ key: '36fa07371ee2c9d37645060a29f2d6f4ffe66342' }, labelAttr), label)), index.h("slot", { key: '76034d24a4208a46ee92185221256b9b5e87f971', name: "popover" })), hint &&
2503
- index.h("r-hint", { key: '574a0ec6541310640594eed29e0c301f5f9a01f7', id: `${uniqueId}-hint`, role: "note" }, hint), index.h("div", { key: '63f37ce77a8e247091e0e6bf55632a834e19992d', class: "r-input-phone-number", role: "group", "aria-labelledby": `${uniqueId}-label`, "aria-describedby": this.ariaDescribedBy }, index.h("slot", { key: '36f3e834567d3ce77b6d89ae3e835eee630675b7' }), index.h("r-input", { key: '2f8dc7a95823b3107d8e24f90ae53791554c19af', label: inputLabel, value: phoneNumber, internal: true, valid: valid, invalid: invalid, required: required, readonly: this.readonly, novalidate: true, fullWidth: fullWidth, type: "tel", error: this.errorMessage || '', onRInput: this.handleOnInput, onRChange: this.handleInputOnChange, disabled: disabled }, valid && phoneNumber &&
2504
- index.h("r-icon", { key: '4559b1d4c55e35b2ef9560554a62d4742bca875e', slot: "trailing", name: "circled-check", size: "s", color: "var(--r-status-success-regular)" }))), index.h("input", Object.assign({ key: 'c68a9255419c41e8b9fc02127d5f3b68cd14f40b', type: "hidden" }, inputAttrs, { readonly: this.readonly, value: fullPhoneNumber, ref: el => this.nativeElement = el })), index.h("r-hint", { key: '43712e3a6b916945b1a00d3c6d8ace5f7bdcc1d7', "aria-live": "polite", "aria-atomic": "true", id: `${uniqueId}-message`, class: !this.hasMessage && 'visually-hidden', variant: "error" }, this.hasMessage ? (this.hasError ? this.error : this.validityMessage) : '')));
2514
+ return (index.h(index.Host, { key: '4551070926e1974ddf3fcb8cc435570ddde50276' }, index.h("div", { key: 'a076fb01b4e0563ec2d30a5680a6ccd48b2f6895', class: "r-input-phone-number--label-container" }, index.h("label", { key: 'a8ad943efeca2ac3b5a63857ea0a52b19c32f09c', id: `${uniqueId}-label` }, label &&
2515
+ index.h("r-label", Object.assign({ key: 'ac0d2a1c12cb85ec03e6596b9bb2e28328026eac' }, labelAttr), label)), index.h("slot", { key: 'cadd98a33c32bfb60be0a3448772eac483630bdf', name: "popover" })), hint &&
2516
+ index.h("r-hint", { key: '23874cabee60dc0a5e620066eed92de809cac1eb', id: `${uniqueId}-hint`, role: "note" }, hint), index.h("div", { key: '800b3a389ce815c5e137077dd5766177c317a05d', class: "r-input-phone-number", role: "group", "aria-labelledby": `${uniqueId}-label`, "aria-describedby": this.ariaDescribedBy }, index.h("slot", { key: '6106007980212ef05cd11304da2a4d0cc28ddf4f' }), index.h("r-input", { key: 'd65b4d9ca8761c7e6dd08359ff02f3c88c57aa66', label: inputLabel, value: phoneNumber, internal: true, valid: valid, invalid: invalid, required: required, readonly: this.readonly, novalidate: true, fullWidth: fullWidth, type: "tel", error: this.errorMessage || '', onRInput: this.handleOnInput, onRChange: this.handleInputOnChange, disabled: disabled }, valid && phoneNumber &&
2517
+ index.h("r-icon", { key: '09c721cb014d6d7ece724bcf7de9ec5928624dac', slot: "trailing", name: "circled-check", size: "s", color: "var(--r-status-success-regular)" }))), index.h("input", Object.assign({ key: 'e2eef2512f9125f0dd3d1b09120cbb77955350bd', type: "hidden" }, inputAttrs, { readonly: this.readonly, value: fullPhoneNumber, ref: el => this.nativeElement = el })), index.h("r-hint", { key: 'a12e9640bcf2df7b754de4e54b111e4ead2d023e', "aria-live": "polite", "aria-atomic": "true", id: `${uniqueId}-message`, class: !this.hasMessage && 'visually-hidden', variant: "error" }, this.hasMessage ? (this.hasError ? this.error : this.validityMessage) : '')));
2505
2518
  }
2506
2519
  get host() { return index.getElement(this); }
2507
2520
  static get watchers() { return {
@@ -50,16 +50,25 @@ const RInput = class {
50
50
  * */
51
51
  this.initial = {};
52
52
  this.getValidityStateData = (element) => {
53
+ let validityState = '';
54
+ let validityMessage = '';
55
+ if (this.type === 'email' && this.pattern) {
56
+ element.setCustomValidity('');
57
+ validityState = this.validEmailPattern ? 'valid' : 'patternMismatch';
58
+ validityMessage = this.validEmailPattern ? '' : this.patternMismatchMessage;
59
+ return { validityState, validityMessage };
60
+ }
53
61
  for (const state in element.validity) {
54
62
  if (element.validity[state]) {
55
- this.validityState = state;
63
+ validityState = state;
56
64
  if (this[state + 'Message']) {
57
- this.validityMessage = this[state + 'Message'];
58
- return;
65
+ validityMessage = this[state + 'Message'];
66
+ return { validityState, validityMessage };
59
67
  }
60
- this.validityMessage = element.validationMessage;
68
+ validityMessage = element.validationMessage;
61
69
  }
62
70
  }
71
+ return { validityState, validityMessage };
63
72
  };
64
73
  this.validateFormElement = (element) => {
65
74
  if (element === null)
@@ -68,13 +77,9 @@ const RInput = class {
68
77
  return;
69
78
  if (this.error)
70
79
  return;
71
- if (this.type === 'email' && this.pattern) {
72
- element.setCustomValidity('');
73
- this.validityState = this.validEmailPattern ? 'valid' : 'patternMismatch';
74
- this.validityMessage = this.validEmailPattern ? '' : this.patternMismatchMessage;
75
- }
76
- else
77
- this.getValidityStateData(element);
80
+ const { validityState, validityMessage } = this.getValidityStateData(element);
81
+ this.validityState = validityState;
82
+ this.validityMessage = validityMessage;
78
83
  const isValid = this.validityState === 'valid';
79
84
  this.valid = isValid;
80
85
  this.invalid = !isValid;
@@ -209,6 +214,14 @@ const RInput = class {
209
214
  this.nativeElement.value = value;
210
215
  this.validateFormElement(this.nativeElement);
211
216
  }
217
+ /**
218
+ * Validates the input without triggering UI and returns a boolean indicating its validity.
219
+ * @returns A boolean indicating whether the input is valid.
220
+ */
221
+ async checkValidity() {
222
+ const { validityState } = this.getValidityStateData(this.nativeElement);
223
+ return validityState === 'valid';
224
+ }
212
225
  /** Identify wrapping form element */
213
226
  get parentFormEl() {
214
227
  return this.host.closest('form') || document.querySelector(`#${this.form}`) || null;
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-DJ4H_bFj.js');
4
4
 
5
- const paginationCss = ":host{--r-pagination--display:flex;--r-pagination--list-style:none;--r-pagination--align-items:center;--r-pagination--justify-content:center;--r-pagination--font-family:var(--r-font-family-text);--r-pagination--margin:0 auto;--r-pagination--flex-direction:column;--r-pagination--width:100%;--r-pagination--max-width:664px;--r-pagination--margin:0 auto;--r-pagination--item--display:flex;--r-pagination--item--align-items:center;--r-pagination--item--justify-content:center;--r-pagination--item--margin-right:-1px;--r-pagination--item--color:var(--r-text-regular);--r-pagination--item--background-color:transparent;--r-pagination--item--width:48px;--r-pagination--item--height:48px;--r-pagination--item--border-width:1px;--r-pagination--item--border-style:solid;--r-pagination--item--border-color:var(--r-border-softer);--r-pagination--item--z-index:0;--r-pagination--item--font-family:inherit;--r-pagination--button--width:100%;--r-pagination--button--height:100%;--r-pagination--button--color:var(--r-text-regular);--r-pagination--button--background-color:transparent;--r-pagination--button--border-width:0;--r-pagination--button--padding:0;--r-pagination--button--font-size:var(--r-font-size-300);--r-pagination--header--display:flex;--r-pagination--header--align-items:center;--r-pagination--header--justify-content:space-between;--r-pagination--header--min-width:287px;--r-pagination--footer--display:flex;--r-pagination--footer--justify-content:center;--r-pagination--footer--width:100%;--r-pagination--item--disabled-text:none;--r-pagination--font-size:var(--r-font-size-200);display:block}:host([variant=minimized]){--r-pagination--max-width:440px}:host([variant=standard]){--r-pagination--max-width:560px}:host([variant=maximized]){--r-pagination--max-width:664px}.r-pagination r-select{--r-select--font-size:var(--r-pagination--font-size, 12px);--r-select-option--font-size:var(--r-pagination--font-size, 12px)}.r-pagination{align-items:var(--r-pagination--align-items);display:var(--r-pagination--display);flex-direction:var(--r-pagination--flex-direction);font-family:var(--r-pagination--font-family);font-size:var(--r-pagination--font-size);justify-content:var(--r-pagination--justify-content);list-style:var(--r-pagination--list-style);margin:var(--r-pagination--margin);max-width:var(--r-pagination--max-width);user-select:var(--r-pagination--item--disabled-text);width:var(--r-pagination--width)}.r-pagination--footer{align-items:var(--r-pagination--header--align-items);display:var(--r-pagination--footer--display);justify-content:var(--r-pagination--footer--justify-content)}.r-pagination--header{align-items:var(--r-pagination--header--align-items);display:var(--r-pagination--header--display);justify-content:var(--r-pagination--header--justify-content);font-family:var(--r-pagination--font-family);min-width:var(--r-pagination--header--min-width)}.r-pagination--header--select{min-width:auto;--width:unset !important}.r-pagination--header label{font-size:var(--r-pagination--font-size)}.r-pagination--item{--r-button--display:flex;--r-button--width:var(--r-pagination--button--width);--r-button--height:var(--r-pagination--button--height);--r-button--color:var(--r-pagination--button--color);--r-button--background-color:var(--r-pagination--button--background-color);--r-button--border-width:var(--r-pagination--button--border-width);--r-button--padding:var(--r-pagination--button--padding);--r-button--icon--width:auto;--r-button--icon--height:auto;align-items:var(--r-pagination--item--align-items);background-color:var(--r-pagination--item--background-color);color:var(--r-pagination--item--color);display:var(--r-pagination--item--display);font-family:var(--r-pagination--item--font-family);height:var(--r-pagination--item--height);justify-content:var(--r-pagination--item--justify-content);margin-left:var(--r-pagination--item--margin-left);margin-right:var(--r-pagination--item--margin-right);opacity:var(--r-pagination--item--opacity);width:var(--r-pagination--item--width);z-index:var(--r-pagination--item--z-index)}.r-pagination--item:hover{--r-pagination--item--background-color:var(--r-background-interactive-hovered)}.r-pagination--item:focus{--r-pagination--item--outline-color:var(--r-border-focused);--r-pagination--item--box-shadow:0 0 0 3px var(--r-border-focused-outlined);--r-pagination--item--z-index:1}.r-pagination--item:active{--r-pagination--item--background-color:var(--r-background-interactive-pressed)}.r-pagination--item.stepper{--r-pagination--item--background-color:transparent}.r-pagination--item.active{--r-pagination--item--color:var(--r-text-regular);--r-pagination--item--background-color:var(--r-background-interactive-activated);font-weight:var(--r-font-weight-semibold)}.r-pagination--item.arrow.previous{--r-pagination--item--margin-left:0;--r-pagination--item--margin-right:16px}.r-pagination--item.arrow.next{--r-pagination--item--margin-left:16px;--r-pagination--item--margin-right:0}.r-pagination--item.arrow.first{--r-pagination--item--margin-left:0;--r-pagination--item--margin-right:8px}.r-pagination--item.arrow.last{--r-pagination--item--margin-left:8px;--r-pagination--item--margin-right:0}.r-pagination--item.disabled,.r-pagination--item.disabled:hover{--r-pagination--item--opacity:0.4;--r-pagination--item--background-color:transparent}.r-pagination--item.number{--r-button--font-size:0.813rem}";
5
+ const paginationCss = ":host{--r-pagination--display:flex;--r-pagination--list-style:none;--r-pagination--align-items:center;--r-pagination--justify-content:center;--r-pagination--font-family:var(--r-font-family-text);--r-pagination--margin:0 auto;--r-pagination--flex-direction:column;--r-pagination--width:100%;--r-pagination--max-width:664px;--r-pagination--margin:0 auto;--r-pagination--item--display:flex;--r-pagination--item--align-items:center;--r-pagination--item--justify-content:center;--r-pagination--item--margin-right:-1px;--r-pagination--item--color:var(--r-text-regular);--r-pagination--item--background-color:transparent;--r-pagination--item--width:48px;--r-pagination--item--height:48px;--r-pagination--item--border-width:1px;--r-pagination--item--border-style:solid;--r-pagination--item--border-color:var(--r-border-softer);--r-pagination--item--z-index:0;--r-pagination--item--font-family:inherit;--r-pagination--button--width:100%;--r-pagination--button--height:100%;--r-pagination--button--color:var(--r-text-regular);--r-pagination--button--background-color:transparent;--r-pagination--button--border-width:0;--r-pagination--button--padding:0;--r-pagination--button--font-size:var(--r-font-size-300);--r-pagination--header--display:flex;--r-pagination--header--align-items:center;--r-pagination--header--justify-content:space-between;--r-pagination--header--min-width:287px;--r-pagination--footer--display:flex;--r-pagination--footer--justify-content:center;--r-pagination--footer--width:100%;--r-pagination--item--disabled-text:none;--r-pagination--font-size:var(--r-font-size-200);display:block}:host([variant=minimized]){--r-pagination--max-width:440px}:host([variant=standard]){--r-pagination--max-width:560px}:host([variant=maximized]){--r-pagination--max-width:664px}.r-pagination r-select{--r-select--font-size:var(--r-pagination--font-size, 12px);--r-select-option--font-size:var(--r-pagination--font-size, 12px)}.r-pagination{align-items:var(--r-pagination--align-items);display:var(--r-pagination--display);flex-direction:var(--r-pagination--flex-direction);font-family:var(--r-pagination--font-family);font-size:var(--r-pagination--font-size);justify-content:var(--r-pagination--justify-content);list-style:var(--r-pagination--list-style);margin:var(--r-pagination--margin);max-width:var(--r-pagination--max-width);user-select:var(--r-pagination--item--disabled-text);width:var(--r-pagination--width)}.r-pagination--footer{align-items:var(--r-pagination--header--align-items);display:var(--r-pagination--footer--display);justify-content:var(--r-pagination--footer--justify-content)}.r-pagination--header{align-items:var(--r-pagination--header--align-items);display:var(--r-pagination--header--display);justify-content:var(--r-pagination--header--justify-content);font-family:var(--r-pagination--font-family);min-width:var(--r-pagination--header--min-width)}.r-pagination--header--select{min-width:auto;--width:unset !important}.r-pagination--header label{font-size:var(--r-pagination--font-size)}.r-pagination--item:hover{--r-pagination--item--background-color:var(--r-background-interactive-hovered)}.r-pagination--item:focus{--r-pagination--item--outline-color:var(--r-border-focused);--r-pagination--item--box-shadow:0 0 0 3px var(--r-border-focused-outlined);--r-pagination--item--z-index:1}.r-pagination--item:active{--r-pagination--item--background-color:var(--r-background-interactive-pressed)}.r-pagination--item.stepper{--r-pagination--item--background-color:transparent}.r-pagination--item.active{--r-pagination--item--color:var(--r-text-regular);--r-pagination--item--background-color:var(--r-background-interactive-activated);font-weight:var(--r-font-weight-semibold)}.r-pagination--item.arrow.previous{--r-pagination--item--margin-left:0;--r-pagination--item--margin-right:16px}.r-pagination--item.arrow.next{--r-pagination--item--margin-left:16px;--r-pagination--item--margin-right:0}.r-pagination--item.arrow.first{--r-pagination--item--margin-left:0;--r-pagination--item--margin-right:8px}.r-pagination--item.arrow.last{--r-pagination--item--margin-left:8px;--r-pagination--item--margin-right:0}.r-pagination--item.disabled,.r-pagination--item.disabled:hover{--r-pagination--item--opacity:0.4;--r-pagination--item--background-color:transparent}.r-pagination--item.number{--r-button--font-size:0.813rem}.r-pagination--item{--r-button--display:flex;--r-button--width:var(--r-pagination--button--width);--r-button--height:var(--r-pagination--button--height);--r-button--color:var(--r-pagination--button--color);--r-button--background-color:var(--r-pagination--button--background-color);--r-button--border-width:var(--r-pagination--button--border-width);--r-button--padding:var(--r-pagination--button--padding);--r-button--icon--width:auto;--r-button--icon--height:auto;align-items:var(--r-pagination--item--align-items);background-color:var(--r-pagination--item--background-color);color:var(--r-pagination--item--color);display:var(--r-pagination--item--display);font-family:var(--r-pagination--item--font-family);height:var(--r-pagination--item--height);justify-content:var(--r-pagination--item--justify-content);margin-left:var(--r-pagination--item--margin-left);margin-right:var(--r-pagination--item--margin-right);opacity:var(--r-pagination--item--opacity);width:var(--r-pagination--item--width);z-index:var(--r-pagination--item--z-index)}";
6
6
 
7
7
  const RPagination = class {
8
8
  constructor(hostRef) {
@@ -5,7 +5,7 @@ var theming = require('./theming-NqxjhVJS.js');
5
5
  var focusable = require('./focusable-Oll_rmtP.js');
6
6
  require('./style-observer-D9zSP9wP.js');
7
7
 
8
- const popoverActionCss = ":host slot{display:contents}::slotted(r-button){--r-button--color:var(--r-text-regular);--r-button--border-color:rgba(0,0,0,0);--r-button--background-color:rgba(0,0,0,0);--r-button--slot--position:relative;--r-button--slot--text-decoration:underline;--r-button--padding:12px 0.125rem 19px 0.125rem;--r-button--slot--text-underline-offset:12px}::slotted(r-button:hover:not([disabled]):not([disabled=false])){--r-button--border-color:var(--r-border-soft);--r-button--background-color:var(--r-background-interactive-hovered)}::slotted(r-button:active:not([disabled]):not([disabled=false])){--r-button--background-color:var(--r-background-interactive-pressed);--r-button--border-color:var(--r-border-soft)}";
8
+ const popoverActionCss = ":host slot{display:contents}::slotted(r-button){--r-button--color:var(--r-text-regular);--r-button--border-width:0;--r-button--background-color:rgba(0,0,0,0);--r-button--slot--position:relative;--r-button--slot--text-decoration:underline;--r-button--padding:10px 2px 18px 2px;--r-button--slot--text-underline-offset:9px}::slotted(r-button:hover:not([disabled]):not([disabled=false])){--r-button--background-color:var(--r-background-interactive-hovered)}::slotted(r-button:active:not([disabled]):not([disabled=false])){--r-button--background-color:var(--r-background-interactive-pressed)}";
9
9
 
10
10
  const PopoverAction = class {
11
11
  constructor(hostRef) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-DJ4H_bFj.js');
4
4
 
5
- const popoverCss = ":host{position:relative;overflow:visible;color:var(--r-text-inverse);font-family:var(--r-font-family-text, system-ui);font-weight:var(--r-font-weight-regular, 400);font-size:var(--r-font-size-400, 1rem);text-align:left;--board--shift:1rem;--board--min-width:304px;--board--max-width:504px;--board--max-height:320px;--pointer--width:1rem;--pointer--height:0.5rem;--pointer--spacer:0.25rem}:host slot{display:contents}:host([size=s]){--r-popover--board--max-width:375px}:host([size=l]){--r-popover--board--max-width:500px}:host([data-open=true]){--r-popover--pointer--display:block;--r-popover--board--visibility:visible;--r-popover--board--left:var(--r-popover--trigger--left);--r-popover--board--top:var(--r-popover--trigger--top)}:host([data-open=true]) ::slotted([slot=trigger]){--r-popover--trigger--display:none}:host([data-vertical=top]){--r-popover--pointer--top:100%;--r-popover--pointer--transform:rotate(0deg) translate(0,-1px)}:host([data-vertical=bottom]){--r-popover--pointer--bottom:100%;--r-popover--pointer--transform:rotate(180deg)}:host([data-vertical=middle]){--r-popover--pointer--top:calc(50% - var(--pointer--height)/2);--r-popover--pointer--bottom:auto}:host([data-horizontal=left]){--r-popover--board--left:calc(var(--r-popover--trigger--left, 0) + var(--r-popover--trigger--width, 0) + var(--board--shift));--r-popover--pointer--left:calc(100% - var(--r-popover--trigger--width, 0)/2 - var(--board--shift) - var(--pointer--width)/2)}:host([data-horizontal=right]){--r-popover--pointer--left:calc(var(--r-popover--trigger--width, 0)/2 + var(--pointer--width)/2)}:host([data-horizontal=center]){--r-popover--pointer--left:calc(50% - var(--pointer--width)/2)}:host([data-vertical=top][data-horizontal=left]){--r-popover--board--transform:translate(-100%, calc(-100% - var(--pointer--spacer) - var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=top][data-horizontal=right]){--r-popover--board--transform:translate(calc(0px - var(--board--shift)), calc(-100% - var(--pointer--spacer) - var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=top][data-horizontal=center]){--r-popover--board--transform:translate(calc(-50% + var(--r-popover--trigger--width, 0)/2), calc(-100% - var(--pointer--spacer) - var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=top][data-horizontal=cover]){--r-popover--pointer--left:calc(var(--r-popover--trigger--left, 0) + var(--r-popover--trigger--width, 0)/2 - var(--r-popover--pointer--width, var(--pointer--width))/2);--r-popover--board--left:0;--r-popover--board--transform:translate(0, calc(-100% - var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=middle][data-horizontal=left]){--r-popover--board--left:var(--r-popover--trigger--left, 0);--r-popover--board--transform:translate(calc(-100% - var(--pointer--height) - var(--pointer--spacer)), calc(-50% + var(--r-popover--trigger--height, 0)/2));--r-popover--pointer--left:100%;--r-popover--pointer--right:auto;--r-popover--pointer--transform:rotate(-90deg) translate(0, calc(0px - var(--pointer--spacer)))}:host([data-vertical=middle][data-horizontal=right]){--r-popover--board--left:calc(var(--r-popover--trigger--left, 0) + var(--r-popover--trigger--width, 0) + var(--pointer--height) + var(--pointer--spacer));--r-popover--board--transform:translate(0, calc(-50% + var(--r-popover--trigger--height, 0)/2));--r-popover--pointer--top:calc(50% - var(--pointer--height)/2);--r-popover--pointer--left:auto;--r-popover--pointer--right:100%;--r-popover--pointer--transform:rotate(90deg) translate(0, calc(0px - var(--pointer--spacer)))}:host([data-vertical=middle][data-horizontal=center]){--r-popover--pointer--display:none;--r-popover--board--transform:translate(calc(-50% + var(--r-popover--trigger--width, 0)/2), calc(-50% + var(--r-popover--trigger--height, 0)/2))}:host([data-vertical=middle][data-horizontal=cover]){--r-popover--pointer--display:none;--r-popover--board--left:0;--r-popover--board--transform:translate(0, calc(-50% + var(--r-popover--trigger--height, 0)/2))}:host([data-vertical=bottom][data-horizontal=left]){--r-popover--board--transform:translate(-100%, calc(var(--r-popover--trigger--height, 0) + var(--pointer--spacer) + var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=bottom][data-horizontal=right]){--r-popover--board--transform:translate(calc(0px - var(--board--shift)), calc(var(--r-popover--trigger--height, 0) + var(--r-popover--pointer--height, var(--pointer--height)) + var(--pointer--spacer)))}:host([data-vertical=bottom][data-horizontal=center]){--r-popover--board--transform:translate(calc(-50% + var(--r-popover--trigger--width, 0)/2), calc(var(--r-popover--trigger--height, 0) + var(--pointer--spacer) + var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=bottom][data-horizontal=cover]){--r-popover--pointer--left:calc(var(--r-popover--trigger--left, 0) + var(--r-popover--trigger--width, 0)/2 - var(--r-popover--pointer--width, var(--pointer--width))/2);--r-popover--board--left:0;--r-popover--board--transform:translate(0, calc(var(--r-popover--trigger--height, 0) + var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=cover]){--r-popover--board--top:0;--r-popover--board--height:100%;--r-popover--board-content--height:100%;--r-popover--pointer--top:calc(var(--r-popover--trigger--top, 0) + var(--r-popover--trigger--height)/2 - var(--pointer--height)/2);--r-popover--pointer--bottom:auto}:host([data-vertical=cover][data-content-has-scroll=false]){--r-popover--board--top:var(--r-popover--trigger--top, 0)}:host([data-vertical=cover][data-horizontal=left]){--r-popover--board--left:var(--r-popover--trigger--left, 0);--r-popover--board--transform:translate(calc(-100% - var(--pointer--spacer) - var(--pointer--height)), 0);--r-popover--pointer--left:100%;--r-popover--pointer--right:auto;--r-popover--pointer--transform:rotate(-90deg) translate(0, calc(0px - var(--pointer--spacer)))}:host([data-vertical=cover][data-horizontal=right]){--r-popover--board--left:calc(var(--r-popover--trigger--left, 0) + var(--r-popover--trigger--width, 0) + var(--pointer--width));--r-popover--pointer--left:auto;--r-popover--pointer--right:100%;--r-popover--pointer--transform:rotate(90deg) translate(0, calc(0px - var(--pointer--spacer)))}:host([data-vertical=cover][data-horizontal=center]),:host([data-vertical=cover][data-horizontal=cover]){--r-popover--pointer--display:none;--r-popover--board--transform:translate(calc(-50% + var(--r-popover--trigger--width, 0)/2), 0)}:host([data-vertical=cover][data-horizontal=cover]){--r-popover--pointer--display:none;--r-popover--board--transform:none;--r-popover--board--height:100%;--r-popover--board--width:100%;--r-popover--board--left:0}:host([data-fixed-top=true]){--r-popover--board-container--height:var(--r-popover--trigger--top, var(--board--max-height))}:host([dismiss-mode=manual]){--r-popover--board-content--padding:1.5rem 3.5rem 1.5rem 1.5rem}.r-popover{position:var(--r-popover--position, relative);display:var(--r-popover--display, inline-flex)}.r-popover--dismiss{position:var(--r-popover--dismiss--position, absolute);top:var(--r-popover--dismiss--top, 20px);right:var(--r-popover--dismiss--right, 20px);color:var(--r-text-inverse)}.r-popover--trigger{border:var(--r-popover--trigger--border, none);background:var(--r-popover--trigger--background, none);padding:var(--r-popover--trigger--padding, 0);cursor:var(--r-popover--trigger--cursor, pointer);display:var(--r-popover--trigger--display, inline-flex);align-items:var(--r-popover--trigger--align-items, center);justify-content:var(--r-popover--trigger--justify-content, center);min-width:var(--r-popover--trigger--min-width, unset);min-height:var(--r-popover--trigger--min-height, unset)}.r-popover--trigger:focus{box-shadow:0 0 0 6px var(--r-border-focused-outlined, #fff);outline:2px solid var(--r-border-focused, #0071e3);outline-offset:2px}.r-popover--board{position:var(--r-popover--board--position, fixed);top:var(--r-popover--board--top, -1000em);right:var(--r-popover--board--right, auto);bottom:var(--r-popover--board--bottom, auto);left:var(--r-popover--board--left, -1000em);visibility:var(--r-popover--board--visibility, hidden);width:var(--r-popover--board--width, 100%);min-width:var(--r-popover--board--max-width, var(--board--min-width));max-width:var(--r-popover--board--max-width, var(--board--max-width));height:var(--r-popover--board--height, auto);max-height:var(--r-popover--board--max-height, var(--board--max-height));background-color:var(--r-popover--board--background-color, var(--r-background-inverse));color:var(--r-popover--board--color, var(--r-text-inverse));border:var(--r-popover--board--border, none);transform:var(--r-popover--board--transform, none);box-sizing:var(--r-popover--board--box-sizing, border-box);padding:var(--r-popover--board--padding, 0);margin:var(--r-popover--board--margin, 0);overflow:var(--r-popover--board--overflow, visible)}.r-popover--board-content{display:var(--r-popover--board-content--display, flex);flex-direction:var(--r-popover--board-content--flex-direction, column);gap:var(--r-popover--board-content--gap, 1.5rem);overflow:var(--r-popover--board-content--overflow, auto);height:var(--r-popover--board-content--height, auto);max-height:var(--r-popover--board-content--max-height, var(--board--max-height));padding:var(--r-popover--board-content--padding, 1.5rem);box-sizing:var(--r-popover--board-content--box-sizing, border-box)}.r-popover--board-pointer{display:var(--r-popover--pointer--display, flex);width:var(--r-popover--pointer--width, var(--pointer--width));height:var(--r-popover--pointer--height, var(--pointer--height));position:var(--r-popover--pointer--position, absolute);top:var(--r-popover--pointer--top, auto);right:var(--r-popover--pointer--right, auto);bottom:var(--r-popover--pointer--bottom, auto);left:var(--r-popover--pointer--left, auto);color:var(--r-popover--pointer--color, var(--r-background-inverse));transform:var(--r-popover--pointer--transform, none);transform-origin:var(--r-popover--pointer--transform-origin, center)}.r-popover--board-pointer>svg{display:flex}";
5
+ const popoverCss = ":host{position:relative;overflow:visible;color:var(--r-text-inverse);font-family:var(--r-font-family-text, system-ui);font-weight:var(--r-font-weight-regular, 400);font-size:var(--r-font-size-400, 1rem);text-align:left}:host slot{display:contents}:host{--board--shift:1rem;--board--min-width:304px;--board--max-width:504px;--board--max-height:320px;--pointer--width:1rem;--pointer--height:0.5rem;--pointer--spacer:0.25rem}:host([size=s]){--r-popover--board--max-width:375px}:host([size=l]){--r-popover--board--max-width:500px}:host([data-open=true]){--r-popover--pointer--display:block;--r-popover--board--visibility:visible;--r-popover--board--left:var(--r-popover--trigger--left);--r-popover--board--top:var(--r-popover--trigger--top)}:host([data-open=true]) ::slotted([slot=trigger]){--r-popover--trigger--display:none}:host([data-vertical=top]){--r-popover--pointer--top:100%;--r-popover--pointer--transform:rotate(0deg) translate(0,-1px)}:host([data-vertical=bottom]){--r-popover--pointer--bottom:100%;--r-popover--pointer--transform:rotate(180deg)}:host([data-vertical=middle]){--r-popover--pointer--top:calc(50% - var(--pointer--height)/2);--r-popover--pointer--bottom:auto}:host([data-horizontal=left]){--r-popover--board--left:calc(var(--r-popover--trigger--left, 0) + var(--r-popover--trigger--width, 0) + var(--board--shift));--r-popover--pointer--left:calc(100% - var(--r-popover--trigger--width, 0)/2 - var(--board--shift) - var(--pointer--width)/2)}:host([data-horizontal=right]){--r-popover--pointer--left:calc(var(--r-popover--trigger--width, 0)/2 + var(--pointer--width)/2)}:host([data-horizontal=center]){--r-popover--pointer--left:calc(50% - var(--pointer--width)/2)}:host([data-vertical=top][data-horizontal=left]){--r-popover--board--transform:translate(-100%, calc(-100% - var(--pointer--spacer) - var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=top][data-horizontal=right]){--r-popover--board--transform:translate(calc(0px - var(--board--shift)), calc(-100% - var(--pointer--spacer) - var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=top][data-horizontal=center]){--r-popover--board--transform:translate(calc(-50% + var(--r-popover--trigger--width, 0)/2), calc(-100% - var(--pointer--spacer) - var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=top][data-horizontal=cover]){--r-popover--pointer--left:calc(var(--r-popover--trigger--left, 0) + var(--r-popover--trigger--width, 0)/2 - var(--r-popover--pointer--width, var(--pointer--width))/2);--r-popover--board--left:0;--r-popover--board--transform:translate(0, calc(-100% - var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=middle][data-horizontal=left]){--r-popover--board--left:var(--r-popover--trigger--left, 0);--r-popover--board--transform:translate(calc(-100% - var(--pointer--height) - var(--pointer--spacer)), calc(-50% + var(--r-popover--trigger--height, 0)/2));--r-popover--pointer--left:100%;--r-popover--pointer--right:auto;--r-popover--pointer--transform:rotate(-90deg) translate(0, calc(0px - var(--pointer--spacer)))}:host([data-vertical=middle][data-horizontal=right]){--r-popover--board--left:calc(var(--r-popover--trigger--left, 0) + var(--r-popover--trigger--width, 0) + var(--pointer--height) + var(--pointer--spacer));--r-popover--board--transform:translate(0, calc(-50% + var(--r-popover--trigger--height, 0)/2));--r-popover--pointer--top:calc(50% - var(--pointer--height)/2);--r-popover--pointer--left:auto;--r-popover--pointer--right:100%;--r-popover--pointer--transform:rotate(90deg) translate(0, calc(0px - var(--pointer--spacer)))}:host([data-vertical=middle][data-horizontal=center]){--r-popover--pointer--display:none;--r-popover--board--transform:translate(calc(-50% + var(--r-popover--trigger--width, 0)/2), calc(-50% + var(--r-popover--trigger--height, 0)/2))}:host([data-vertical=middle][data-horizontal=cover]){--r-popover--pointer--display:none;--r-popover--board--left:0;--r-popover--board--transform:translate(0, calc(-50% + var(--r-popover--trigger--height, 0)/2))}:host([data-vertical=bottom][data-horizontal=left]){--r-popover--board--transform:translate(-100%, calc(var(--r-popover--trigger--height, 0) + var(--pointer--spacer) + var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=bottom][data-horizontal=right]){--r-popover--board--transform:translate(calc(0px - var(--board--shift)), calc(var(--r-popover--trigger--height, 0) + var(--r-popover--pointer--height, var(--pointer--height)) + var(--pointer--spacer)))}:host([data-vertical=bottom][data-horizontal=center]){--r-popover--board--transform:translate(calc(-50% + var(--r-popover--trigger--width, 0)/2), calc(var(--r-popover--trigger--height, 0) + var(--pointer--spacer) + var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=bottom][data-horizontal=cover]){--r-popover--pointer--left:calc(var(--r-popover--trigger--left, 0) + var(--r-popover--trigger--width, 0)/2 - var(--r-popover--pointer--width, var(--pointer--width))/2);--r-popover--board--left:0;--r-popover--board--transform:translate(0, calc(var(--r-popover--trigger--height, 0) + var(--r-popover--pointer--height, var(--pointer--height))))}:host([data-vertical=cover]){--r-popover--board--top:0;--r-popover--board--height:100%;--r-popover--board-content--height:100%;--r-popover--pointer--top:calc(var(--r-popover--trigger--top, 0) + var(--r-popover--trigger--height)/2 - var(--pointer--height)/2);--r-popover--pointer--bottom:auto}:host([data-vertical=cover][data-content-has-scroll=false]){--r-popover--board--top:var(--r-popover--trigger--top, 0)}:host([data-vertical=cover][data-horizontal=left]){--r-popover--board--left:var(--r-popover--trigger--left, 0);--r-popover--board--transform:translate(calc(-100% - var(--pointer--spacer) - var(--pointer--height)), 0);--r-popover--pointer--left:100%;--r-popover--pointer--right:auto;--r-popover--pointer--transform:rotate(-90deg) translate(0, calc(0px - var(--pointer--spacer)))}:host([data-vertical=cover][data-horizontal=right]){--r-popover--board--left:calc(var(--r-popover--trigger--left, 0) + var(--r-popover--trigger--width, 0) + var(--pointer--width));--r-popover--pointer--left:auto;--r-popover--pointer--right:100%;--r-popover--pointer--transform:rotate(90deg) translate(0, calc(0px - var(--pointer--spacer)))}:host([data-vertical=cover][data-horizontal=center]),:host([data-vertical=cover][data-horizontal=cover]){--r-popover--pointer--display:none;--r-popover--board--transform:translate(calc(-50% + var(--r-popover--trigger--width, 0)/2), 0)}:host([data-vertical=cover][data-horizontal=cover]){--r-popover--pointer--display:none;--r-popover--board--transform:none;--r-popover--board--height:100%;--r-popover--board--width:100%;--r-popover--board--left:0}:host([data-fixed-top=true]){--r-popover--board-container--height:var(--r-popover--trigger--top, var(--board--max-height))}:host([dismiss-mode=manual]){--r-popover--board-content--padding:1.5rem 3.5rem 1.5rem 1.5rem}.r-popover{position:var(--r-popover--position, relative);display:var(--r-popover--display, inline-flex)}.r-popover--dismiss{position:var(--r-popover--dismiss--position, absolute);top:var(--r-popover--dismiss--top, 20px);right:var(--r-popover--dismiss--right, 20px);color:var(--r-text-inverse)}.r-popover--dismiss:hover{--r-icon-button--background-color:var(--r-background-interactive-hovered-inverse, rgba(243, 241, 240, 0.04))}.r-popover--dismiss:active{--r-icon-button--background-color:var(--r-background-interactive-pressed-inverse, rgba(243, 241, 240, 0.12))}.r-popover--trigger{border:var(--r-popover--trigger--border, none);background:var(--r-popover--trigger--background, none);padding:var(--r-popover--trigger--padding, 0);cursor:var(--r-popover--trigger--cursor, pointer);display:var(--r-popover--trigger--display, inline-flex);align-items:var(--r-popover--trigger--align-items, center);justify-content:var(--r-popover--trigger--justify-content, center);min-width:var(--r-popover--trigger--min-width, unset);min-height:var(--r-popover--trigger--min-height, unset)}.r-popover--trigger:focus{box-shadow:0 0 0 6px var(--r-border-focused-outlined, #fff);outline:2px solid var(--r-border-focused, #0071e3);outline-offset:2px}.r-popover--board{position:var(--r-popover--board--position, fixed);top:var(--r-popover--board--top, -1000em);right:var(--r-popover--board--right, auto);bottom:var(--r-popover--board--bottom, auto);left:var(--r-popover--board--left, -1000em);visibility:var(--r-popover--board--visibility, hidden);width:var(--r-popover--board--width, 100%);min-width:var(--r-popover--board--max-width, var(--board--min-width));max-width:var(--r-popover--board--max-width, var(--board--max-width));height:var(--r-popover--board--height, auto);max-height:var(--r-popover--board--max-height, var(--board--max-height));background-color:var(--r-popover--board--background-color, var(--r-background-inverse));color:var(--r-popover--board--color, var(--r-text-inverse));border:var(--r-popover--board--border, none);transform:var(--r-popover--board--transform, none);box-sizing:var(--r-popover--board--box-sizing, border-box);padding:var(--r-popover--board--padding, 0);margin:var(--r-popover--board--margin, 0);overflow:var(--r-popover--board--overflow, visible)}.r-popover--board-content{display:var(--r-popover--board-content--display, flex);flex-direction:var(--r-popover--board-content--flex-direction, column);gap:var(--r-popover--board-content--gap, 1.5rem);overflow:var(--r-popover--board-content--overflow, auto);height:var(--r-popover--board-content--height, auto);max-height:var(--r-popover--board-content--max-height, var(--board--max-height));padding:var(--r-popover--board-content--padding, 1.5rem);box-sizing:var(--r-popover--board-content--box-sizing, border-box)}.r-popover--board-pointer{display:var(--r-popover--pointer--display, flex);width:var(--r-popover--pointer--width, var(--pointer--width));height:var(--r-popover--pointer--height, var(--pointer--height));position:var(--r-popover--pointer--position, absolute);top:var(--r-popover--pointer--top, auto);right:var(--r-popover--pointer--right, auto);bottom:var(--r-popover--pointer--bottom, auto);left:var(--r-popover--pointer--left, auto);color:var(--r-popover--pointer--color, var(--r-background-inverse));transform:var(--r-popover--pointer--transform, none);transform-origin:var(--r-popover--pointer--transform-origin, center)}.r-popover--board-pointer>svg{display:flex}";
6
6
 
7
7
  const Popover = class {
8
8
  constructor(hostRef) {
@@ -29,18 +29,21 @@ const RadioGroup = class {
29
29
  /** Unique id */
30
30
  this.uniqueId = `r-radio-group-${Date.now().toString(32)}${Math.random().toString(32)}`.replace(/\./g, '');
31
31
  this.getValidityStateData = element => {
32
+ let validityState = '';
33
+ let validityMessage = '';
32
34
  if (element === null)
33
- return;
35
+ return { validityState, validityMessage };
34
36
  for (const state in element.validity) {
35
37
  if (element.validity[state]) {
36
- this.validityState = state;
38
+ validityState = state;
37
39
  if (this[state + 'Message']) {
38
- this.validityMessage = this[state + 'Message'];
39
- return;
40
+ validityMessage = this[state + 'Message'];
41
+ return { validityState, validityMessage };
40
42
  }
41
- this.validityMessage = element.validationMessage;
43
+ validityMessage = element.validationMessage;
42
44
  }
43
45
  }
46
+ return { validityState, validityMessage };
44
47
  };
45
48
  this.validateFormElement = (element = null) => {
46
49
  if (element === null)
@@ -49,7 +52,9 @@ const RadioGroup = class {
49
52
  return;
50
53
  if (this.error)
51
54
  return;
52
- this.getValidityStateData(element);
55
+ const { validityState, validityMessage } = this.getValidityStateData(element);
56
+ this.validityState = validityState;
57
+ this.validityMessage = validityMessage;
53
58
  const isValid = this.validityState === 'valid';
54
59
  this.valid = isValid;
55
60
  this.invalid = !isValid;
@@ -206,14 +211,13 @@ const RadioGroup = class {
206
211
  this.value = null;
207
212
  }
208
213
  /**
209
- * Validates the radio group and returns a boolean indicating its validity.
210
- *
214
+ * Validates the radio group without triggering UI and returns a boolean indicating its validity.
211
215
  * @returns A boolean indicating whether the radio group is valid.
212
216
  */
213
217
  async checkValidity() {
214
218
  const element = this.nativeSelectedEl || this.nativeFirstEl || null;
215
- this.getValidityStateData(element);
216
- return this.validityState === 'valid';
219
+ const { validityState } = this.getValidityStateData(element);
220
+ return validityState === 'valid';
217
221
  }
218
222
  /**
219
223
  * Validates the radio group and displays the validity state.
@@ -338,12 +342,12 @@ const RadioGroup = class {
338
342
  'tooltip-icon': tooltipIcon,
339
343
  'tooltip-icon-color': tooltipIconColor
340
344
  };
341
- return (index.h(index.Host, { key: '0a209644dc2a122c793a38e1f624eccf3ca0b884' }, index.h("div", { key: 'b4d8dbe5fb3d1e11d87a7902addcc801852e3554', class: "r-radio-group", onClick: this.onLabelClick }, label &&
342
- index.h("div", { key: 'c77bc88a07ddad6f45671c869b99b3fa5c4d0e2a', class: "r-radio-group--label-container" }, index.h("r-label", Object.assign({ key: '1dbfc739da13dbae04481912203a53837941b8e0', id: `${uniqueId}-label`, class: "r-radio-group--label", "field-indicator": fieldIndicator }, labelAttr), label), index.h("slot", { key: '2f1b6a50b2f7d7b1becef2cc95a4d7f6a26d970d', name: "popover" })), hint &&
343
- index.h("r-hint", { key: 'c3c4310d3550d17d34ee26fa308cb3957a19dfd3', id: `${uniqueId}-hint`, class: "r-radio-group--hint", role: "note" }, hint), index.h("div", { key: '891beaea14680a2d629fa59f4597a968b8c2b695', class: "r-radio-group--content" }, index.h("slot", { key: '1d107723f7c363564e488309fdcb586ff43046ff' }))), invalid && error &&
344
- index.h("r-hint", { key: 'de64c7c8a42136b7ac3ca93536a7654dc1d274fa', "aria-live": "polite", id: `${uniqueId}-message`, role: "alert", variant: "error" }, error), this.validityState !== 'valid' && this.validityMessage &&
345
- index.h("r-hint", { key: 'c40eba0d5b6c47276ca91ca1631948d11f950c86', "aria-live": "polite", id: `${uniqueId}-message`, role: "alert", variant: "error" }, this.customErrorMessage || this.validityMessage), this.valid && this.validMessage && this.showValid &&
346
- index.h("r-hint", { key: '0b13cc722509fe66231f18bd2783b29b798882ef', role: "alert", variant: "success" }, this.validMessage)));
345
+ return (index.h(index.Host, { key: '5bf5f0493d2329b07d82e332153e467239ddff0f' }, index.h("div", { key: '06f96cb1868f7cbb635137ca68eda6a326b969c3', class: "r-radio-group", onClick: this.onLabelClick }, label &&
346
+ index.h("div", { key: '4dca24e0cb903a2e74e55ee743ed595608af0bf4', class: "r-radio-group--label-container" }, index.h("r-label", Object.assign({ key: 'cba1398032eae164db0a00808a06116affa671ec', id: `${uniqueId}-label`, class: "r-radio-group--label", "field-indicator": fieldIndicator }, labelAttr), label), index.h("slot", { key: 'c0180f3c6c99fed7d524719aff8eb8e64236cc3c', name: "popover" })), hint &&
347
+ index.h("r-hint", { key: '3ae1c84630975059aa1532b4b72957967e398949', id: `${uniqueId}-hint`, class: "r-radio-group--hint", role: "note" }, hint), index.h("div", { key: '2c18a09474189e6f2719db7c6ee5fb51c460e52f', class: "r-radio-group--content" }, index.h("slot", { key: '1c79f92cc0cd2095cfe51ee5fc108b6a004c4e4e' }))), invalid && error &&
348
+ index.h("r-hint", { key: '86aa0f4d1400e401cc7f71259511f118a3f68ef7', "aria-live": "polite", id: `${uniqueId}-message`, role: "alert", variant: "error" }, error), this.validityState !== 'valid' && this.validityMessage &&
349
+ index.h("r-hint", { key: 'aa06f829a6566becdf4a1f86e26e5161526756fb', "aria-live": "polite", id: `${uniqueId}-message`, role: "alert", variant: "error" }, this.customErrorMessage || this.validityMessage), this.valid && this.validMessage && this.showValid &&
350
+ index.h("r-hint", { key: '11500e705487028e4312679a6757dc48d861ebba', role: "alert", variant: "success" }, this.validMessage)));
347
351
  }
348
352
  get host() { return index.getElement(this); }
349
353
  };