@riverty/web-components 5.7.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +128 -0
- package/custom-elements.json +152 -372
- package/dist/cjs/index-DJ4H_bFj.js +6 -10
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/r-accordion-panel.cjs.entry.js +1 -1
- package/dist/cjs/r-accordion-section.cjs.entry.js +1 -1
- package/dist/cjs/r-accordion-trigger.cjs.entry.js +5 -35
- package/dist/cjs/r-accordion.cjs.entry.js +3 -7
- package/dist/cjs/r-alert.cjs.entry.js +45 -14
- package/dist/cjs/r-badge.cjs.entry.js +1 -1
- package/dist/cjs/r-button.cjs.entry.js +2 -2
- package/dist/cjs/r-checkbox-group.cjs.entry.js +28 -24
- package/dist/cjs/r-checkbox.cjs.entry.js +97 -81
- package/dist/cjs/r-dialog.cjs.entry.js +3 -11
- package/dist/cjs/r-hint_2.cjs.entry.js +50 -0
- package/dist/cjs/{r-hint_3.cjs.entry.js → r-icon-button_2.cjs.entry.js} +64 -51
- package/dist/cjs/r-icon.cjs.entry.js +1 -1
- package/dist/cjs/r-input-code.cjs.entry.js +133 -25
- package/dist/cjs/r-input-date.cjs.entry.js +87 -23
- package/dist/cjs/r-input-password.cjs.entry.js +34 -13
- package/dist/cjs/r-input-phone-number.cjs.entry.js +30 -22
- package/dist/cjs/r-input.cjs.entry.js +108 -49
- package/dist/cjs/r-list-item.cjs.entry.js +5 -5
- package/dist/cjs/r-pagination.cjs.entry.js +1 -1
- package/dist/cjs/r-panel.cjs.entry.js +2 -2
- package/dist/cjs/r-popover-action.cjs.entry.js +2 -2
- package/dist/cjs/r-popover-content.cjs.entry.js +1 -1
- package/dist/cjs/r-popover-headline.cjs.entry.js +1 -1
- package/dist/cjs/r-popover-trigger.cjs.entry.js +1 -1
- package/dist/cjs/r-popover.cjs.entry.js +3 -3
- package/dist/cjs/r-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/r-radio-button-description.cjs.entry.js +1 -1
- package/dist/cjs/r-radio-button-leading.cjs.entry.js +1 -1
- package/dist/cjs/r-radio-button-title.cjs.entry.js +1 -1
- package/dist/cjs/r-radio-button-trailing.cjs.entry.js +1 -1
- package/dist/cjs/r-radio-button.cjs.entry.js +29 -12
- package/dist/cjs/r-radio-group.cjs.entry.js +32 -32
- package/dist/cjs/r-select-option.cjs.entry.js +1 -1
- package/dist/cjs/r-select.cjs.entry.js +116 -40
- package/dist/cjs/r-skip-link.cjs.entry.js +1 -1
- package/dist/cjs/r-stepper-item.cjs.entry.js +2 -2
- package/dist/cjs/r-stepper.cjs.entry.js +1 -1
- package/dist/cjs/r-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/r-tab.cjs.entry.js +1 -1
- package/dist/cjs/r-tabs-list.cjs.entry.js +1 -1
- package/dist/cjs/r-tabs.cjs.entry.js +1 -1
- package/dist/cjs/r-textarea.cjs.entry.js +24 -23
- package/dist/cjs/r-toast-group.cjs.entry.js +1 -1
- package/dist/cjs/r-toast.cjs.entry.js +51 -20
- package/dist/cjs/web-components.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +0 -1
- package/dist/collection/components/accordion/accordion.css +0 -2
- package/dist/collection/components/accordion/accordion.js +4 -8
- package/dist/collection/components/accordion/exports.js +1 -1
- package/dist/collection/components/accordion-panel/accordion-panel.js +1 -1
- package/dist/collection/components/accordion-section/accordion-section.js +1 -1
- package/dist/collection/components/accordion-trigger/accordion-trigger.css +0 -4
- package/dist/collection/components/accordion-trigger/accordion-trigger.js +4 -215
- package/dist/collection/components/alert/alert.css +58 -12
- package/dist/collection/components/alert/alert.js +92 -17
- package/dist/collection/components/alert/exports.js +1 -1
- package/dist/collection/components/badge/badge.js +1 -1
- package/dist/collection/components/button/button.css +6 -7
- package/dist/collection/components/button/button.js +1 -1
- package/dist/collection/components/checkbox/checkbox.js +121 -104
- package/dist/collection/components/checkbox-group/checkbox-group.js +48 -63
- package/dist/collection/components/dialog/dialog.css +1 -3
- package/dist/collection/components/dialog/dialog.js +2 -10
- package/dist/collection/components/hint/hint.js +2 -2
- package/dist/collection/components/icon/bundled-icons/riverty-kit.json +1 -1
- package/dist/collection/components/icon/riverty-kit.js +1 -1
- package/dist/collection/components/icon-button/icon-button.css +0 -7
- package/dist/collection/components/icon-button/icon-button.js +3 -3
- package/dist/collection/components/input/input.css +3 -0
- package/dist/collection/components/input/input.js +221 -378
- package/dist/collection/components/input-code/exports.js +2 -0
- package/dist/collection/components/input-code/input-code.js +335 -34
- package/dist/collection/components/input-date/input-date.js +237 -87
- package/dist/collection/components/input-password/exports.js +1 -0
- package/dist/collection/components/input-password/input-password.css +1 -0
- package/dist/collection/components/input-password/input-password.js +233 -75
- package/dist/collection/components/input-phone-number/input-phone-number.js +50 -85
- package/dist/collection/components/label/label.js +3 -113
- package/dist/collection/components/list-item/list-item/list-item.css +7 -7
- package/dist/collection/components/list-item/list-item/list-item.js +4 -26
- package/dist/collection/components/pagination/pagination.css +23 -23
- package/dist/collection/components/panel/panel.js +2 -2
- package/dist/collection/components/popover/exports.js +0 -1
- package/dist/collection/components/popover/popover.css +13 -13
- package/dist/collection/components/popover/popover.js +2 -55
- package/dist/collection/components/popover-action/popover-action.css +3 -5
- package/dist/collection/components/popover-action/popover-action.js +1 -1
- package/dist/collection/components/popover-content/popover-content.js +1 -1
- package/dist/collection/components/popover-headline/popover-headline.js +1 -1
- package/dist/collection/components/popover-trigger/popover-trigger.js +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio-button/radio-button.js +49 -12
- package/dist/collection/components/radio-button-description/radio-button-description.js +1 -1
- package/dist/collection/components/radio-button-leading/radio-button-leading.js +1 -1
- package/dist/collection/components/radio-button-title/radio-button-title.js +1 -1
- package/dist/collection/components/radio-button-trailing/radio-button-trailing.js +1 -1
- package/dist/collection/components/radio-group/radio-group.js +53 -135
- package/dist/collection/components/select/select.js +197 -349
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/skip-link/skip-link.js +1 -1
- package/dist/collection/components/stepper/stepper.js +1 -1
- package/dist/collection/components/stepper-item/stepper-item.js +2 -2
- package/dist/collection/components/tab/tab.js +1 -1
- package/dist/collection/components/tab-panel/tab-panel.js +1 -1
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/tabs-list/tabs-list.js +1 -1
- package/dist/collection/components/textarea/textarea.js +44 -163
- package/dist/collection/components/toast/toast.css +22 -14
- package/dist/collection/components/toast/toast.js +95 -43
- package/dist/collection/components/toast-group/toast-group.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +1 -1
- package/dist/esm/index-Da7qOBFr.js +6 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/r-accordion-panel.entry.js +1 -1
- package/dist/esm/r-accordion-section.entry.js +1 -1
- package/dist/esm/r-accordion-trigger.entry.js +5 -35
- package/dist/esm/r-accordion.entry.js +3 -7
- package/dist/esm/r-alert.entry.js +45 -14
- package/dist/esm/r-badge.entry.js +1 -1
- package/dist/esm/r-button.entry.js +2 -2
- package/dist/esm/r-checkbox-group.entry.js +28 -24
- package/dist/esm/r-checkbox.entry.js +97 -81
- package/dist/esm/r-dialog.entry.js +3 -11
- package/dist/esm/r-hint_2.entry.js +47 -0
- package/dist/esm/{r-hint_3.entry.js → r-icon-button_2.entry.js} +65 -51
- package/dist/esm/r-icon.entry.js +1 -1
- package/dist/esm/r-input-code.entry.js +133 -25
- package/dist/esm/r-input-date.entry.js +87 -23
- package/dist/esm/r-input-password.entry.js +34 -13
- package/dist/esm/r-input-phone-number.entry.js +30 -22
- package/dist/esm/r-input.entry.js +108 -49
- package/dist/esm/r-list-item.entry.js +5 -5
- package/dist/esm/r-pagination.entry.js +1 -1
- package/dist/esm/r-panel.entry.js +2 -2
- package/dist/esm/r-popover-action.entry.js +2 -2
- package/dist/esm/r-popover-content.entry.js +1 -1
- package/dist/esm/r-popover-headline.entry.js +1 -1
- package/dist/esm/r-popover-trigger.entry.js +1 -1
- package/dist/esm/r-popover.entry.js +3 -3
- package/dist/esm/r-progress-bar.entry.js +1 -1
- package/dist/esm/r-radio-button-description.entry.js +1 -1
- package/dist/esm/r-radio-button-leading.entry.js +1 -1
- package/dist/esm/r-radio-button-title.entry.js +1 -1
- package/dist/esm/r-radio-button-trailing.entry.js +1 -1
- package/dist/esm/r-radio-button.entry.js +29 -12
- package/dist/esm/r-radio-group.entry.js +32 -32
- package/dist/esm/r-select-option.entry.js +1 -1
- package/dist/esm/r-select.entry.js +116 -40
- package/dist/esm/r-skip-link.entry.js +1 -1
- package/dist/esm/r-stepper-item.entry.js +2 -2
- package/dist/esm/r-stepper.entry.js +1 -1
- package/dist/esm/r-tab-panel.entry.js +1 -1
- package/dist/esm/r-tab.entry.js +1 -1
- package/dist/esm/r-tabs-list.entry.js +1 -1
- package/dist/esm/r-tabs.entry.js +1 -1
- package/dist/esm/r-textarea.entry.js +24 -23
- package/dist/esm/r-toast-group.entry.js +1 -1
- package/dist/esm/r-toast.entry.js +51 -20
- package/dist/esm/web-components.js +1 -1
- package/dist/types/components/accordion/accordion.d.ts +1 -5
- package/dist/types/components/accordion/exports.d.ts +1 -1
- package/dist/types/components/accordion-trigger/accordion-trigger.d.ts +0 -36
- package/dist/types/components/alert/alert.d.ts +9 -1
- package/dist/types/components/alert/exports.d.ts +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +29 -34
- package/dist/types/components/checkbox-group/checkbox-group.d.ts +6 -11
- package/dist/types/components/dialog/dialog.d.ts +0 -2
- package/dist/types/components/input/input.d.ts +35 -72
- package/dist/types/components/input-code/exports.d.ts +4 -0
- package/dist/types/components/input-code/input-code.d.ts +54 -7
- package/dist/types/components/input-date/input-date.d.ts +30 -16
- package/dist/types/components/input-password/exports.d.ts +1 -0
- package/dist/types/components/input-password/input-password.d.ts +53 -16
- package/dist/types/components/input-phone-number/input-phone-number.d.ts +5 -16
- package/dist/types/components/label/label.d.ts +0 -18
- package/dist/types/components/list-item/list-item/list-item.d.ts +0 -6
- package/dist/types/components/popover/exports.d.ts +0 -2
- package/dist/types/components/popover/popover.d.ts +1 -14
- package/dist/types/components/radio-button/radio-button.d.ts +5 -0
- package/dist/types/components/radio-group/radio-group.d.ts +6 -28
- package/dist/types/components/select/select.d.ts +34 -52
- package/dist/types/components/textarea/textarea.d.ts +5 -32
- package/dist/types/components/toast/toast.d.ts +10 -7
- package/dist/types/components.d.ts +347 -647
- package/dist/web-components/bundled-icons/riverty-kit.json +1 -1
- package/dist/web-components/p-0347feff.entry.js +1 -0
- package/dist/web-components/p-05738503.entry.js +1 -0
- package/dist/web-components/p-0e4c8bf1.entry.js +1 -0
- package/dist/web-components/p-1da75540.entry.js +1 -0
- package/dist/web-components/p-26ef77d6.entry.js +1 -0
- package/dist/web-components/p-3884c6e7.entry.js +1 -0
- package/dist/web-components/p-3a5a67e7.entry.js +1 -0
- package/dist/web-components/p-3f60c6c0.entry.js +1 -0
- package/dist/web-components/p-4254a383.entry.js +1 -0
- package/dist/web-components/{p-87f39749.entry.js → p-4595fa8e.entry.js} +1 -1
- package/dist/web-components/{p-4e3df002.entry.js → p-4cc58c6a.entry.js} +1 -1
- package/dist/web-components/p-5441b746.entry.js +1 -0
- package/dist/web-components/{p-72fa1fd1.entry.js → p-550e2237.entry.js} +1 -1
- package/dist/web-components/p-589baaf9.entry.js +1 -0
- package/dist/web-components/p-60341de2.entry.js +1 -0
- package/dist/web-components/{p-4bd3e077.entry.js → p-60ca994e.entry.js} +1 -1
- package/dist/web-components/{p-44ae9f33.entry.js → p-62b788bf.entry.js} +1 -1
- package/dist/web-components/{p-2b2f581a.entry.js → p-6303b9fe.entry.js} +1 -1
- package/dist/web-components/p-63fd817d.entry.js +1 -0
- package/dist/web-components/{p-e0e2f2b2.entry.js → p-673dbfd0.entry.js} +1 -1
- package/dist/web-components/p-67fa3f84.entry.js +1 -0
- package/dist/web-components/p-6a4f3836.entry.js +1 -0
- package/dist/web-components/p-6cc2ea2c.entry.js +1 -0
- package/dist/web-components/p-70784685.entry.js +1 -0
- package/dist/web-components/{p-429213ea.entry.js → p-7fed6f4d.entry.js} +1 -1
- package/dist/web-components/p-8a66d20c.entry.js +1 -0
- package/dist/web-components/{p-0bb04d79.entry.js → p-8b4d2448.entry.js} +1 -1
- package/dist/web-components/{p-c7f8e59b.entry.js → p-8c31cbd5.entry.js} +1 -1
- package/dist/web-components/p-8dac326b.entry.js +1 -0
- package/dist/web-components/{p-1c2497de.entry.js → p-9ef1bbee.entry.js} +1 -1
- package/dist/web-components/p-a0dbde7c.entry.js +1 -0
- package/dist/web-components/{p-755cc697.entry.js → p-a71485d8.entry.js} +1 -1
- package/dist/web-components/p-a7d22c76.entry.js +1 -0
- package/dist/web-components/{p-85a9af42.entry.js → p-ae251d2f.entry.js} +1 -1
- package/dist/web-components/{p-77155630.entry.js → p-b98ab649.entry.js} +1 -1
- package/dist/web-components/p-b9e3b3d6.entry.js +1 -0
- package/dist/web-components/p-c1e748f2.entry.js +1 -0
- package/dist/web-components/p-c478712b.entry.js +1 -0
- package/dist/web-components/{p-72c0c0d8.entry.js → p-d054eb4d.entry.js} +1 -1
- package/dist/web-components/p-d433a828.entry.js +1 -0
- package/dist/web-components/p-d7726e46.entry.js +1 -0
- package/dist/web-components/p-d819c8e5.entry.js +1 -0
- package/dist/web-components/p-e2188953.entry.js +1 -0
- package/dist/web-components/{p-3b4e3faf.entry.js → p-e5945c01.entry.js} +1 -1
- package/dist/web-components/{p-d1379ac6.entry.js → p-f9d5004c.entry.js} +1 -1
- package/dist/web-components/web-components.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/r-accordion-item.cjs.entry.js +0 -78
- package/dist/cjs/r-icon-button.cjs.entry.js +0 -81
- package/dist/collection/components/accordion-item/accordion-item.css +0 -121
- package/dist/collection/components/accordion-item/accordion-item.js +0 -138
- package/dist/esm/r-accordion-item.entry.js +0 -76
- package/dist/esm/r-icon-button.entry.js +0 -79
- package/dist/types/components/accordion-item/accordion-item.d.ts +0 -26
- package/dist/web-components/p-00ca474f.entry.js +0 -1
- package/dist/web-components/p-289eb4b0.entry.js +0 -1
- package/dist/web-components/p-2b8e12ae.entry.js +0 -1
- package/dist/web-components/p-2e2c8a5b.entry.js +0 -1
- package/dist/web-components/p-3a39932b.entry.js +0 -1
- package/dist/web-components/p-3bc93d65.entry.js +0 -1
- package/dist/web-components/p-44be9992.entry.js +0 -1
- package/dist/web-components/p-4652635a.entry.js +0 -1
- package/dist/web-components/p-51a5804b.entry.js +0 -1
- package/dist/web-components/p-63474b32.entry.js +0 -1
- package/dist/web-components/p-74d2a563.entry.js +0 -1
- package/dist/web-components/p-7ad8e78b.entry.js +0 -1
- package/dist/web-components/p-8028c2a9.entry.js +0 -1
- package/dist/web-components/p-96ddeb7f.entry.js +0 -1
- package/dist/web-components/p-9d898089.entry.js +0 -1
- package/dist/web-components/p-9e50120b.entry.js +0 -1
- package/dist/web-components/p-9eb1f262.entry.js +0 -1
- package/dist/web-components/p-a022f356.entry.js +0 -1
- package/dist/web-components/p-a7e7f8fa.entry.js +0 -1
- package/dist/web-components/p-b2f03016.entry.js +0 -1
- package/dist/web-components/p-c300c22f.entry.js +0 -1
- package/dist/web-components/p-c937bd92.entry.js +0 -1
- package/dist/web-components/p-cbcd7699.entry.js +0 -1
- package/dist/web-components/p-d93c240d.entry.js +0 -1
- package/dist/web-components/p-e4b66277.entry.js +0 -1
- package/dist/web-components/p-e6a31881.entry.js +0 -1
- package/dist/web-components/p-f6a92287.entry.js +0 -1
- package/dist/web-components/p-f770e22b.entry.js +0 -1
- 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
|
-
|
|
249
|
-
|
|
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
|
-
|
|
255
|
-
|
|
256
|
-
return;
|
|
272
|
+
validityState = 'invalid';
|
|
273
|
+
validityMessage = this.invalidDateMessage;
|
|
274
|
+
return { validityState, validityMessage };
|
|
275
|
+
}
|
|
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
|
+
}
|
|
257
299
|
}
|
|
258
|
-
|
|
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
|
}
|
|
@@ -411,7 +481,7 @@ const InputDate = class {
|
|
|
411
481
|
this.disconnectFormEventListeners();
|
|
412
482
|
}
|
|
413
483
|
render() {
|
|
414
|
-
const { form, name, required, disabled, label, fieldIndicator, hint,
|
|
484
|
+
const { form, name, required, disabled, label, fieldIndicator, hint, uniqueId, invalid, valid, readonly } = this;
|
|
415
485
|
const groupAttrs = {
|
|
416
486
|
'aria-invalid': `${invalid || false}`,
|
|
417
487
|
'aria-describedby': this.ariaDescribedBy
|
|
@@ -425,24 +495,18 @@ const InputDate = class {
|
|
|
425
495
|
readonly,
|
|
426
496
|
'aria-describedby': this.ariaDescribedBy
|
|
427
497
|
};
|
|
428
|
-
// DEPRECATED: will be removed in November 2025 release.
|
|
429
|
-
const tooltipAttrs = tooltip ? {
|
|
430
|
-
tooltip,
|
|
431
|
-
'tooltip-icon': tooltipIcon,
|
|
432
|
-
'tooltip-icon-color': tooltipIconColor,
|
|
433
|
-
} : {};
|
|
434
498
|
const labelAttr = label ? {
|
|
435
499
|
id: `${uniqueId}-label`,
|
|
436
500
|
fieldIndicator
|
|
437
501
|
} : {};
|
|
438
|
-
return (index.h(index.Host, { key: '
|
|
439
|
-
index.h("r-label", Object.assign({}, labelAttr
|
|
502
|
+
return (index.h(index.Host, { key: '1a8a9175148f43758ec6b9d905c4bd2f619ffd7f', onClick: this.onHostClick, "data-touched": `${this.touched}`, "data-dirty": `${this.dirty}` }, index.h("fieldset", Object.assign({ key: 'fb004332d8578b8da74df643bd93f93d062973bb', class: "r-input-date" }, groupAttrs), index.h("div", { key: '128e65638dc21d95c8b4b92669b0bd6733a653f6', class: "r-input-date--legend-container" }, index.h("legend", { key: '63e7e858c38930fecbe71d819f1a0b49bf711911', class: "r-input-date--legend" }, index.h("label", { key: 'ccd6a5434f5df91bf9b2c121bb182c152302d864', htmlFor: uniqueId }, label ?
|
|
503
|
+
index.h("r-label", Object.assign({}, labelAttr), label)
|
|
440
504
|
:
|
|
441
|
-
index.h("slot", { name: "label" }))), index.h("slot", { key: '
|
|
442
|
-
index.h("r-hint", { key: '
|
|
443
|
-
index.h("span", { "aria-hidden": "true", class: "r-input-date--delimiter" }, this.delimiter)))), index.h("input", Object.assign({ key: '
|
|
444
|
-
index.h("r-icon", { key: '
|
|
445
|
-
index.h("r-icon", { key: '
|
|
505
|
+
index.h("slot", { name: "label" }))), index.h("slot", { key: '4be5c643d1b0532d27f4b82692cb6ca937291d6b', name: "popover" })), hint &&
|
|
506
|
+
index.h("r-hint", { key: '07a912c146dff97ef991a6e375f4aeb8cd0ba45e', id: `${uniqueId}-hint`, role: "note" }, hint), index.h("div", { key: '386dfb87cface9333c93d5fe8165cbe52a9a83c4', class: "r-input-date--container" }, index.h("r-icon", { key: '9ff075723ac54f6d7c2325ba59f833422404bee6', name: "calendar", size: "s", class: "r-input-date--calendar-icon" }), index.h("div", { key: 'ebcb76a92ab1591c3128a60d6620bea5b0c517ec', 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 &&
|
|
507
|
+
index.h("span", { "aria-hidden": "true", class: "r-input-date--delimiter" }, this.delimiter)))), index.h("input", Object.assign({ key: 'e5736ffa215662436c539332be1414cc409ce448', type: "hidden" }, dateInputAttrs, { value: this.value, ref: (el) => this.nativeElement = el }))), index.h("div", { key: '45ccffbb4111f2fd906d9b687f62f4adc83b62aa', class: "r-input-date--trailing" }, this.readonly &&
|
|
508
|
+
index.h("r-icon", { key: '3a5433e3d601a83154687bdd55feeeef0ef04215', class: "r-input-date--readonly-icon", name: "pen-disabled", size: "s" }), valid &&
|
|
509
|
+
index.h("r-icon", { key: '03de3e49b8b51690e4fb6c2edbb7a53ca1a71f76', name: "circled-check", size: "s", color: "var(--r-status-success-regular)" }), this.hasTrailingSlot && index.h("slot", { key: 'db4911a4421b296effdd37ca08c96d8a0096e5e6', name: "trailing" }))), index.h("div", { key: 'd21f19188462be93812487702eb8a07fd3a91cea', id: `${uniqueId}-message`, "aria-live": "polite", class: "r-input-date--message" }, this.hasMessage && index.h("r-hint", { key: '6937f2d48a634308c97d33e59daa0a7242bd39fd', variant: "error" }, this.message)))));
|
|
446
510
|
}
|
|
447
511
|
get host() { return index.getElement(this); }
|
|
448
512
|
static get watchers() { return {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var index = require('./index-DJ4H_bFj.js');
|
|
4
4
|
var formData = require('./formData-B2DZyLxP.js');
|
|
5
5
|
|
|
6
|
-
const inputPasswordCss = ":host{display:inline-flex;flex-direction:column;vertical-align:top}:host([full-width]:not([full-width=false])){display:block}:host([disabled]:not([disabled=false])) r-icon-button{opacity:1}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";
|
|
6
|
+
const inputPasswordCss = ":host{display:inline-flex;flex-direction:column;vertical-align:top;--r-input--validation-icon--display:none}:host([full-width]:not([full-width=false])){display:block}:host([disabled]:not([disabled=false])) r-icon-button{opacity:1}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";
|
|
7
7
|
|
|
8
8
|
const InputPassword = class {
|
|
9
9
|
constructor(hostRef) {
|
|
@@ -12,6 +12,7 @@ const InputPassword = class {
|
|
|
12
12
|
this.rInput = index.createEvent(this, "rInput");
|
|
13
13
|
this.rChange = index.createEvent(this, "rChange");
|
|
14
14
|
this.rReset = index.createEvent(this, "rReset");
|
|
15
|
+
this.rVisibilityChange = index.createEvent(this, "rVisibilityChange");
|
|
15
16
|
/** The value of the password input */
|
|
16
17
|
this.value = '';
|
|
17
18
|
/**
|
|
@@ -61,16 +62,19 @@ const InputPassword = class {
|
|
|
61
62
|
this.rChange.emit({ element: host, value });
|
|
62
63
|
};
|
|
63
64
|
this.getValidityStateData = (element) => {
|
|
65
|
+
let validityState = '';
|
|
66
|
+
let validityMessage = '';
|
|
64
67
|
for (const state in element.validity) {
|
|
65
68
|
if (element.validity[state]) {
|
|
66
|
-
|
|
69
|
+
validityState = state;
|
|
67
70
|
if (this[state + 'Message']) {
|
|
68
|
-
|
|
69
|
-
return;
|
|
71
|
+
validityMessage = this[state + 'Message'];
|
|
72
|
+
return { validityState, validityMessage };
|
|
70
73
|
}
|
|
71
|
-
|
|
74
|
+
validityMessage = element.validationMessage;
|
|
72
75
|
}
|
|
73
76
|
}
|
|
77
|
+
return { validityState, validityMessage };
|
|
74
78
|
};
|
|
75
79
|
this.validateFormElement = (element) => {
|
|
76
80
|
if (element === null)
|
|
@@ -79,7 +83,9 @@ const InputPassword = class {
|
|
|
79
83
|
return;
|
|
80
84
|
if (this.error)
|
|
81
85
|
return;
|
|
82
|
-
this.getValidityStateData(element.shadowRoot.querySelector('input'));
|
|
86
|
+
const { validityState, validityMessage } = this.getValidityStateData(element.shadowRoot.querySelector('input'));
|
|
87
|
+
this.validityState = validityState;
|
|
88
|
+
this.validityMessage = validityMessage;
|
|
83
89
|
const isValid = this.validityState === 'valid';
|
|
84
90
|
this.valid = isValid;
|
|
85
91
|
this.invalid = !isValid;
|
|
@@ -147,6 +153,7 @@ const InputPassword = class {
|
|
|
147
153
|
async showPassword() {
|
|
148
154
|
this.showed = true;
|
|
149
155
|
this.alertOnPasswordVisibilityChange();
|
|
156
|
+
this.rVisibilityChange.emit({ element: this.host, visible: true });
|
|
150
157
|
}
|
|
151
158
|
/**
|
|
152
159
|
* Hide password text.
|
|
@@ -154,6 +161,7 @@ const InputPassword = class {
|
|
|
154
161
|
async hidePassword() {
|
|
155
162
|
this.showed = false;
|
|
156
163
|
this.alertOnPasswordVisibilityChange();
|
|
164
|
+
this.rVisibilityChange.emit({ element: this.host, visible: false });
|
|
157
165
|
}
|
|
158
166
|
/** Get the input value */
|
|
159
167
|
async getValue() {
|
|
@@ -166,6 +174,14 @@ const InputPassword = class {
|
|
|
166
174
|
this.value = value;
|
|
167
175
|
this.validateFormElement(this.nativeElement);
|
|
168
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Validates the input password without triggering UI and returns a boolean indicating its validity.
|
|
179
|
+
* @returns A boolean indicating whether the input password is valid.
|
|
180
|
+
*/
|
|
181
|
+
async checkValidity() {
|
|
182
|
+
const { validityState } = this.getValidityStateData(this.nativeElement.shadowRoot.querySelector('input'));
|
|
183
|
+
return validityState === 'valid';
|
|
184
|
+
}
|
|
169
185
|
/** Identify wrapping form element */
|
|
170
186
|
get parentFormEl() {
|
|
171
187
|
return this.host.closest('form') || document.querySelector(`#${this.form}`) || null;
|
|
@@ -214,11 +230,14 @@ const InputPassword = class {
|
|
|
214
230
|
this.disconnectFormEventListeners();
|
|
215
231
|
}
|
|
216
232
|
render() {
|
|
217
|
-
const { name, placeholder, required, fieldIndicator, value, disabled, form, invalid, valid, hint, label,
|
|
233
|
+
const { name, placeholder, required, minlength, maxlength, pattern, fieldIndicator, value, disabled, form, invalid, valid, hint, label, fullWidth, showPasswordAriaLabel, hidePasswordAriaLabel, showed, readonly, passwordrules, autocomplete, tooLongMessage, tooShortMessage, patternMismatchMessage } = this;
|
|
218
234
|
const inputAttrs = {
|
|
219
235
|
name,
|
|
220
236
|
placeholder,
|
|
221
237
|
required,
|
|
238
|
+
minlength,
|
|
239
|
+
maxlength,
|
|
240
|
+
pattern,
|
|
222
241
|
fieldIndicator,
|
|
223
242
|
value,
|
|
224
243
|
disabled,
|
|
@@ -227,15 +246,17 @@ const InputPassword = class {
|
|
|
227
246
|
valid,
|
|
228
247
|
hint,
|
|
229
248
|
label,
|
|
230
|
-
tooltip,
|
|
231
|
-
tooltipIcon,
|
|
232
|
-
tooltipIconColor,
|
|
233
249
|
fullWidth,
|
|
234
250
|
novalidate: true,
|
|
235
|
-
readonly
|
|
251
|
+
readonly,
|
|
252
|
+
passwordrules,
|
|
253
|
+
autocomplete,
|
|
254
|
+
tooLongMessage,
|
|
255
|
+
tooShortMessage,
|
|
256
|
+
patternMismatchMessage
|
|
236
257
|
};
|
|
237
|
-
return (index.h(index.Host, { key: '
|
|
238
|
-
index.h("r-hint", { key: '
|
|
258
|
+
return (index.h(index.Host, { key: '15d9cac9269a816de47d1ae4d3818a99f6229979' }, index.h("r-input", Object.assign({ key: 'eea64612b319eae93c0fc6591c22020bf2e3d4fb' }, 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: 'd7a425d45f7897d7f6f11b7bf37595e25da3295b', name: "padlock-closed", size: "s", slot: "leading" }), index.h("slot", { key: '6ae8e4dc4633e692ae4280d9cd1420bf7e02d0c0', name: "popover", slot: "popover" }), index.h("r-icon-button", { key: 'e51d43f5966477dc1c35bf6a8114d5b206a58187', slot: "trailing", name: showed ? 'eye-crossed-out' : 'eye', size: "s", disabled: disabled, label: showed ? hidePasswordAriaLabel : showPasswordAriaLabel, onClick: this.onShowClick }), this.hasMessage &&
|
|
259
|
+
index.h("r-hint", { key: 'bcee0a5b7f75a4ddd2e2fa6a2dd44cd0392170dc', slot: "message", variant: "error" }, this.hasError && this.error, this.hasValidationError && (this.customErrorMessage || this.validityMessage))), index.h("div", { key: '995e229dfab56b03e0a177c6952c2135777f7899', class: "visually-hidden", ref: el => this.passwordVisibilityChangeAlertContainer = el, "aria-live": "polite" })));
|
|
239
260
|
}
|
|
240
261
|
get host() { return index.getElement(this); }
|
|
241
262
|
};
|
|
@@ -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
|
-
|
|
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
|
-
|
|
2293
|
-
|
|
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
|
-
|
|
2299
|
-
|
|
2300
|
-
return;
|
|
2302
|
+
validityState = 'invalid';
|
|
2303
|
+
validityMessage = this.customErrorMessage;
|
|
2304
|
+
return { validityState, validityMessage };
|
|
2301
2305
|
}
|
|
2302
|
-
|
|
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);
|
|
@@ -2481,14 +2494,10 @@ const InputPhoneNumber = class {
|
|
|
2481
2494
|
this.disconnectEventListeners();
|
|
2482
2495
|
}
|
|
2483
2496
|
render() {
|
|
2484
|
-
const { label, fieldIndicator, hint, name, form, inputLabel,
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
'tooltip-icon': tooltipIcon,
|
|
2489
|
-
'tooltip-icon-color': tooltipIconColor,
|
|
2490
|
-
} : {};
|
|
2491
|
-
const labelAttr = Object.assign({ fieldIndicator }, tooltipAttrs);
|
|
2497
|
+
const { label, fieldIndicator, hint, name, form, inputLabel, disabled, uniqueId, required, valid, invalid, novalidate, phoneNumber, fullPhoneNumber, fullWidth } = this;
|
|
2498
|
+
const labelAttr = {
|
|
2499
|
+
fieldIndicator
|
|
2500
|
+
};
|
|
2492
2501
|
const inputAttrs = {
|
|
2493
2502
|
id: uniqueId,
|
|
2494
2503
|
form,
|
|
@@ -2498,10 +2507,9 @@ const InputPhoneNumber = class {
|
|
|
2498
2507
|
disabled,
|
|
2499
2508
|
'aria-describedby': this.ariaDescribedBy
|
|
2500
2509
|
};
|
|
2501
|
-
return (index.h(index.Host, { key: '
|
|
2502
|
-
index.h("r-label", Object.assign({ key: '
|
|
2503
|
-
index.h("r-hint", { key: '
|
|
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) : '')));
|
|
2510
|
+
return (index.h(index.Host, { key: '97edc0f9bbc4a3823e628bb08be3b3abbbcfe6ec' }, index.h("div", { key: '8a5236c58655d47368bfaa9bcea6bde3c39c6a22', class: "r-input-phone-number--label-container" }, index.h("label", { key: 'ae6e6e72381864d67d98f4429856cf5b1943943c', id: `${uniqueId}-label` }, label &&
|
|
2511
|
+
index.h("r-label", Object.assign({ key: 'd760960dbf5806084b0a10d14fef218ca5e4cd79' }, labelAttr), label)), index.h("slot", { key: '4f9bcaba34f2f49592a3167958bd091eeac9f6be', name: "popover" })), hint &&
|
|
2512
|
+
index.h("r-hint", { key: '0c3f402b7f9369dcea2c84478e12ed0ea241fd0a', id: `${uniqueId}-hint`, role: "note" }, hint), index.h("div", { key: '43e5dbd9ca897cfc2ca05e6ab020c321871f3961', class: "r-input-phone-number", role: "group", "aria-labelledby": `${uniqueId}-label`, "aria-describedby": this.ariaDescribedBy }, index.h("slot", { key: '4e3f891eb21f15927d6a33e7ba6728c09d20e981' }), index.h("r-input", { key: '6bd6e929e396bf515511fdd978d00df9de54cc37', 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 })), index.h("input", Object.assign({ key: 'f113123ef2fa2096b686d132ce11ca11970ab1be', type: "hidden" }, inputAttrs, { readonly: this.readonly, value: fullPhoneNumber, ref: el => this.nativeElement = el })), index.h("r-hint", { key: 'd00477c3a27f999c4a3079710c34266ed47e0e57', "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
2513
|
}
|
|
2506
2514
|
get host() { return index.getElement(this); }
|
|
2507
2515
|
static get watchers() { return {
|