@aurodesignsystem/auro-formkit 2.0.0-beta.8 → 2.0.0-beta.9
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/.turbo/cache/012997da408d7381-meta.json +1 -0
- package/.turbo/cache/0c8124a987c1cc05-meta.json +1 -1
- package/.turbo/cache/114f70925d97840c-meta.json +1 -0
- package/.turbo/cache/114f70925d97840c.tar.zst +0 -0
- package/.turbo/cache/144803363093af6b-meta.json +1 -0
- package/.turbo/cache/18129dba20f51b6b-meta.json +1 -1
- package/.turbo/cache/19afa09c8e45c25d-meta.json +1 -0
- package/.turbo/cache/19afa09c8e45c25d.tar.zst +0 -0
- package/.turbo/cache/20a17be1e896dc95-meta.json +1 -0
- package/.turbo/cache/20a17be1e896dc95.tar.zst +0 -0
- package/.turbo/cache/2624bedf18a03ab1-meta.json +1 -0
- package/.turbo/cache/2624bedf18a03ab1.tar.zst +0 -0
- package/.turbo/cache/2706814699cff63a-meta.json +1 -0
- package/.turbo/cache/2787020e69f50af2-meta.json +1 -1
- package/.turbo/cache/29d704afd7578cda-meta.json +1 -0
- package/.turbo/cache/2edcc8b31cd713fc-meta.json +1 -0
- package/.turbo/cache/2edcc8b31cd713fc.tar.zst +0 -0
- package/.turbo/cache/318a9085a92f2d32-meta.json +1 -0
- package/.turbo/cache/326d9e4692d61af1-meta.json +1 -0
- package/.turbo/cache/326d9e4692d61af1.tar.zst +0 -0
- package/.turbo/cache/36962b1c4c89a3a2-meta.json +1 -0
- package/.turbo/cache/{0ca9c5ccf3e90704.tar.zst → 36962b1c4c89a3a2.tar.zst} +0 -0
- package/.turbo/cache/3cd8fc5f388323db-meta.json +1 -1
- package/.turbo/cache/3f8ea42b850fd7b1-meta.json +1 -0
- package/.turbo/cache/3f8ea42b850fd7b1.tar.zst +0 -0
- package/.turbo/cache/4006a206400d5c7b-meta.json +1 -1
- package/.turbo/cache/457af7906413d2ff-meta.json +1 -0
- package/.turbo/cache/492dda333b8d15f1-meta.json +1 -1
- package/.turbo/cache/508f2fcc60e5046f-meta.json +1 -0
- package/.turbo/cache/508f2fcc60e5046f.tar.zst +0 -0
- package/.turbo/cache/50993de942ec15a9-meta.json +1 -1
- package/.turbo/cache/51eaa58d5c167de8-meta.json +1 -1
- package/.turbo/cache/5567d6b2fdae56a9-meta.json +1 -0
- package/.turbo/cache/5a6290b52b84f5ef-meta.json +1 -0
- package/.turbo/cache/5a6290b52b84f5ef.tar.zst +0 -0
- package/.turbo/cache/5aadae8d3f94202e-meta.json +1 -1
- package/.turbo/cache/6081837e8943b62e-meta.json +1 -0
- package/.turbo/cache/6081837e8943b62e.tar.zst +0 -0
- package/.turbo/cache/60ad74320c682a2b-meta.json +1 -1
- package/.turbo/cache/61e218aba69cff58-meta.json +1 -1
- package/.turbo/cache/64ac8d6a4669ba20-meta.json +1 -0
- package/.turbo/cache/64ac8d6a4669ba20.tar.zst +0 -0
- package/.turbo/cache/706649b429184693-meta.json +1 -0
- package/.turbo/cache/706649b429184693.tar.zst +0 -0
- package/.turbo/cache/71dbeaf0706c12fe-meta.json +1 -1
- package/.turbo/cache/7445df6e7feed2a7-meta.json +1 -1
- package/.turbo/cache/769652d1b874d7cf-meta.json +1 -0
- package/.turbo/cache/77da375a012de9d0-meta.json +1 -1
- package/.turbo/cache/7bf2b06a479d0b30-meta.json +1 -1
- package/.turbo/cache/7c4645de5001b034-meta.json +1 -0
- package/.turbo/cache/7c4645de5001b034.tar.zst +0 -0
- package/.turbo/cache/7e3244d67de2d977-meta.json +1 -0
- package/.turbo/cache/7e3244d67de2d977.tar.zst +0 -0
- package/.turbo/cache/7f3b42ddf36d0158-meta.json +1 -1
- package/.turbo/cache/804ad767c7ba2fc3-meta.json +1 -0
- package/.turbo/cache/8366405184d123d2-meta.json +1 -0
- package/.turbo/cache/8366405184d123d2.tar.zst +0 -0
- package/.turbo/cache/85cc23a2de6b1009-meta.json +1 -0
- package/.turbo/cache/99936b010f1533f9-meta.json +1 -0
- package/.turbo/cache/{dc6fbe2a8d5b9d9b.tar.zst → 99936b010f1533f9.tar.zst} +0 -0
- package/.turbo/cache/9a9b4e449cd84be4-meta.json +1 -1
- package/.turbo/cache/9ae99e8e7bd83d06-meta.json +1 -1
- package/.turbo/cache/a275406512608e45-meta.json +1 -1
- package/.turbo/cache/a54b4d75b5d265de-meta.json +1 -0
- package/.turbo/cache/b280ed4daaf15dcb-meta.json +1 -0
- package/.turbo/cache/b5e6dc7fb9ae1a2f-meta.json +1 -1
- package/.turbo/cache/b6a202cc85cb61a0-meta.json +1 -1
- package/.turbo/cache/c44efc9e4ddd8a0e-meta.json +1 -1
- package/.turbo/cache/c47b8032d18fc452-meta.json +1 -0
- package/.turbo/cache/c47b8032d18fc452.tar.zst +0 -0
- package/.turbo/cache/c6c6411199b68170-meta.json +1 -1
- package/.turbo/cache/d3a05e38449c9b24-meta.json +1 -1
- package/.turbo/cache/d44acd685455b288-meta.json +1 -0
- package/.turbo/cache/d5db503b2eaf239c-meta.json +1 -1
- package/.turbo/cache/d683a7d23b0d7073-meta.json +1 -0
- package/.turbo/cache/d683a7d23b0d7073.tar.zst +0 -0
- package/.turbo/cache/d7caaacb8114772f-meta.json +1 -0
- package/.turbo/cache/d7caaacb8114772f.tar.zst +0 -0
- package/.turbo/cache/dad3d78b33edd9e4-meta.json +1 -0
- package/.turbo/cache/dad3d78b33edd9e4.tar.zst +0 -0
- package/.turbo/cache/db4ea5071b44ee8c-meta.json +1 -1
- package/.turbo/cache/de44707e76bdd80c-meta.json +1 -0
- package/.turbo/cache/de44707e76bdd80c.tar.zst +0 -0
- package/.turbo/cache/e03997efe5adad43-meta.json +1 -0
- package/.turbo/cache/e1aa836f0cc2d7c5-meta.json +1 -0
- package/.turbo/cache/e1aa836f0cc2d7c5.tar.zst +0 -0
- package/.turbo/cache/e62cfee068e3ef36-meta.json +1 -1
- package/.turbo/cache/e820cc8f220a05f3-meta.json +1 -0
- package/.turbo/cache/e9e36823f6c98f07-meta.json +1 -0
- package/.turbo/cache/e9e36823f6c98f07.tar.zst +0 -0
- package/.turbo/cache/f3f4ddfd3230e489-meta.json +1 -0
- package/.turbo/cache/f3f4ddfd3230e489.tar.zst +0 -0
- package/.turbo/cache/fdaf484b1ec4b5ed-meta.json +1 -0
- package/.vscode/settings.json +3 -0
- package/CHANGELOG.md +20 -0
- package/components/checkbox/.turbo/turbo-build.log +3 -3
- package/components/checkbox/.turbo/turbo-bundler.log +3 -3
- package/components/checkbox/README.md +1 -1
- package/components/checkbox/demo/api.min.js +79 -20
- package/components/checkbox/demo/index.min.js +79 -20
- package/components/checkbox/dist/index.js +79 -20
- package/components/combobox/.turbo/turbo-build.log +3 -3
- package/components/combobox/.turbo/turbo-bundler.log +3 -3
- package/components/combobox/README.md +4 -4
- package/components/combobox/demo/api.min.js +160 -42
- package/components/combobox/demo/index.min.js +160 -42
- package/components/combobox/dist/index.js +158 -40
- package/components/counter/.turbo/turbo-build$colon$sass.log +172 -0
- package/components/counter/.turbo/turbo-build$colon$version.log +10 -0
- package/components/counter/.turbo/turbo-build.log +278 -4
- package/components/counter/.turbo/turbo-bundler.log +3 -3
- package/components/counter/.turbo/turbo-sass$colon$render.log +36 -0
- package/components/counter/README.md +188 -0
- package/components/counter/demo/api.md +98 -1016
- package/components/counter/demo/api.min.js +1670 -32
- package/components/counter/demo/index.js +2 -1
- package/components/counter/demo/index.md +194 -0
- package/components/counter/demo/index.min.js +1702 -19
- package/components/counter/dist/auro-counter-button.d.ts +13 -0
- package/components/counter/dist/auro-counter-button.d.ts.map +1 -0
- package/components/counter/dist/auro-counter-group.d.ts +77 -6
- package/components/counter/dist/auro-counter-group.d.ts.map +1 -1
- package/components/counter/dist/auro-counter.d.ts +78 -0
- package/components/counter/dist/auro-counter.d.ts.map +1 -1
- package/components/counter/dist/formkit/auro-dropdownVersion.d.ts +3 -0
- package/components/counter/dist/formkit/auro-dropdownVersion.d.ts.map +1 -0
- package/components/counter/dist/iconVersion.d.ts +3 -0
- package/components/counter/dist/iconVersion.d.ts.map +1 -0
- package/components/counter/dist/index.js +1670 -32
- package/components/counter/dist/styles/color-css.d.ts +3 -0
- package/components/counter/dist/styles/color-css.d.ts.map +1 -0
- package/components/counter/dist/styles/counter-button-color-css.d.ts +3 -0
- package/components/counter/dist/styles/counter-button-color-css.d.ts.map +1 -0
- package/components/counter/dist/styles/counter-button-css.d.ts +3 -0
- package/components/counter/dist/styles/counter-button-css.d.ts.map +1 -0
- package/components/counter/dist/styles/counter-button-tokens-css.d.ts +3 -0
- package/components/counter/dist/styles/counter-button-tokens-css.d.ts.map +1 -0
- package/components/counter/dist/styles/counter-group-color-css.d.ts +3 -0
- package/components/counter/dist/styles/counter-group-color-css.d.ts.map +1 -0
- package/components/counter/dist/styles/tokens-css.d.ts +3 -0
- package/components/counter/dist/styles/tokens-css.d.ts.map +1 -0
- package/components/counter/package.json +8 -2
- package/components/counter/src/auro-counter-button.js +42 -0
- package/components/counter/src/auro-counter-group.js +150 -21
- package/components/counter/src/auro-counter.js +272 -12
- package/components/counter/src/formkit/auro-dropdownVersion.js +1 -0
- package/components/counter/src/iconVersion.js +1 -0
- package/components/counter/src/index.js +1 -1
- package/components/counter/src/styles/color-css.js +2 -0
- package/components/counter/src/styles/color.css +25 -0
- package/components/counter/src/styles/color.scss +44 -0
- package/components/counter/src/styles/counter-button-color-css.js +2 -0
- package/components/counter/src/styles/counter-button-color.css +14 -0
- package/components/counter/src/styles/counter-button-color.scss +29 -0
- package/components/counter/src/styles/counter-button-css.js +2 -0
- package/components/counter/src/styles/counter-button-tokens-css.js +2 -0
- package/components/counter/src/styles/counter-button-tokens.css +7 -0
- package/components/counter/src/styles/counter-button-tokens.scss +9 -0
- package/components/counter/src/styles/counter-button.css +187 -0
- package/components/counter/src/styles/counter-button.scss +83 -0
- package/components/counter/src/styles/counter-group-color-css.js +2 -0
- package/components/counter/src/styles/counter-group-color.css +4 -0
- package/components/counter/src/styles/counter-group-color.scss +19 -0
- package/components/counter/src/styles/counter-group-css.js +1 -1
- package/components/counter/src/styles/counter-group.css +13 -1
- package/components/counter/src/styles/counter-group.scss +14 -1
- package/components/counter/src/styles/style-css.js +1 -1
- package/components/counter/src/styles/style.css +43 -1
- package/components/counter/src/styles/style.scss +48 -2
- package/components/counter/src/styles/tokens-css.js +2 -0
- package/components/counter/src/styles/tokens.css +11 -0
- package/components/counter/src/styles/tokens.scss +24 -0
- package/components/datepicker/.turbo/turbo-build.log +2 -2
- package/components/datepicker/.turbo/turbo-bundler.log +2 -2
- package/components/datepicker/README.md +4 -4
- package/components/datepicker/demo/api.min.js +158 -40
- package/components/datepicker/demo/index.min.js +158 -40
- package/components/datepicker/dist/index.js +158 -40
- package/components/dropdown/.turbo/turbo-build.log +3 -3
- package/components/dropdown/.turbo/turbo-bundler.log +2 -2
- package/components/dropdown/README.md +1 -1
- package/components/form/.turbo/turbo-build.log +3 -3
- package/components/form/.turbo/turbo-bundler.log +3 -3
- package/components/form/README.md +1 -1
- package/components/input/.turbo/turbo-build.log +2 -2
- package/components/input/.turbo/turbo-bundler.log +3 -3
- package/components/input/README.md +1 -1
- package/components/input/demo/api.min.js +79 -20
- package/components/input/demo/index.min.js +79 -20
- package/components/input/dist/index.js +79 -20
- package/components/menu/.turbo/turbo-build.log +3 -3
- package/components/menu/.turbo/turbo-bundler.log +2 -2
- package/components/menu/README.md +1 -1
- package/components/radio/.turbo/turbo-build.log +3 -3
- package/components/radio/.turbo/turbo-bundler.log +3 -3
- package/components/radio/README.md +1 -1
- package/components/radio/demo/api.min.js +79 -20
- package/components/radio/demo/index.min.js +79 -20
- package/components/radio/dist/index.js +79 -20
- package/components/select/.turbo/turbo-build.log +3 -3
- package/components/select/.turbo/turbo-bundler.log +6 -3
- package/components/select/README.md +3 -3
- package/components/select/demo/api.min.js +79 -20
- package/components/select/demo/index.min.js +79 -20
- package/components/select/dist/index.js +79 -20
- package/package.json +1 -1
- package/packages/form-validation/src/validation.js +79 -20
- package/packages/utils/package.json +12 -0
- package/packages/utils/src/iconUtil.js +25 -0
- package/packages/utils/src/index.js +1 -0
- package/.turbo/cache/06845874cc82b186-meta.json +0 -1
- package/.turbo/cache/06845874cc82b186.tar.zst +0 -0
- package/.turbo/cache/0a96f136af026d57-meta.json +0 -1
- package/.turbo/cache/0a96f136af026d57.tar.zst +0 -0
- package/.turbo/cache/0c9ee13a7c863709-meta.json +0 -1
- package/.turbo/cache/0ca9c5ccf3e90704-meta.json +0 -1
- package/.turbo/cache/1a8d6e4cab38121a-meta.json +0 -1
- package/.turbo/cache/1ce32edb29492636-meta.json +0 -1
- package/.turbo/cache/1ce32edb29492636.tar.zst +0 -0
- package/.turbo/cache/2ec1b6d23563659e-meta.json +0 -1
- package/.turbo/cache/3afc5b2ea7c1bf51-meta.json +0 -1
- package/.turbo/cache/3afc5b2ea7c1bf51.tar.zst +0 -0
- package/.turbo/cache/40de011abc31c0cf-meta.json +0 -1
- package/.turbo/cache/40de011abc31c0cf.tar.zst +0 -0
- package/.turbo/cache/426c825f57054f5f-meta.json +0 -1
- package/.turbo/cache/426c825f57054f5f.tar.zst +0 -0
- package/.turbo/cache/4524aae614598308-meta.json +0 -1
- package/.turbo/cache/4524aae614598308.tar.zst +0 -0
- package/.turbo/cache/45ea3e30ae949d53-meta.json +0 -1
- package/.turbo/cache/45ea3e30ae949d53.tar.zst +0 -0
- package/.turbo/cache/577d86e4072c01f5-meta.json +0 -1
- package/.turbo/cache/577d86e4072c01f5.tar.zst +0 -0
- package/.turbo/cache/5d770c787aa78d4d-meta.json +0 -1
- package/.turbo/cache/5d770c787aa78d4d.tar.zst +0 -0
- package/.turbo/cache/624bf5350aacae42-meta.json +0 -1
- package/.turbo/cache/68060c79df03f45a-meta.json +0 -1
- package/.turbo/cache/68060c79df03f45a.tar.zst +0 -0
- package/.turbo/cache/68e3afb31feab4e9-meta.json +0 -1
- package/.turbo/cache/6a1c28febca6163f-meta.json +0 -1
- package/.turbo/cache/6bc4e2d881af6ffb-meta.json +0 -1
- package/.turbo/cache/6bc4e2d881af6ffb.tar.zst +0 -0
- package/.turbo/cache/6c8ea74dc3b07640-meta.json +0 -1
- package/.turbo/cache/7a6ef918375d4010-meta.json +0 -1
- package/.turbo/cache/7a6ef918375d4010.tar.zst +0 -0
- package/.turbo/cache/7da23884069695e6-meta.json +0 -1
- package/.turbo/cache/7da23884069695e6.tar.zst +0 -0
- package/.turbo/cache/83e1029b14af6545-meta.json +0 -1
- package/.turbo/cache/8410cd8eeadc3af7-meta.json +0 -1
- package/.turbo/cache/98936c69a55361fc-meta.json +0 -1
- package/.turbo/cache/a3db8f78e018a955-meta.json +0 -1
- package/.turbo/cache/a3db8f78e018a955.tar.zst +0 -0
- package/.turbo/cache/b91d2888e699c76a-meta.json +0 -1
- package/.turbo/cache/b91d2888e699c76a.tar.zst +0 -0
- package/.turbo/cache/bdc6aadfdbb6feb9-meta.json +0 -1
- package/.turbo/cache/c114d428251f56a5-meta.json +0 -1
- package/.turbo/cache/c114d428251f56a5.tar.zst +0 -0
- package/.turbo/cache/c7338727efbc457a-meta.json +0 -1
- package/.turbo/cache/c7338727efbc457a.tar.zst +0 -0
- package/.turbo/cache/cf235df1ef8d90b0-meta.json +0 -1
- package/.turbo/cache/d1d1a072ee099992-meta.json +0 -1
- package/.turbo/cache/d9331772756d3d94-meta.json +0 -1
- package/.turbo/cache/d9331772756d3d94.tar.zst +0 -0
- package/.turbo/cache/dc6fbe2a8d5b9d9b-meta.json +0 -1
- package/.turbo/cache/df28a5ee199e995d-meta.json +0 -1
- package/.turbo/cache/e1e2582a7131011f-meta.json +0 -1
- package/.turbo/cache/e6271174c00888fe-meta.json +0 -1
- package/.turbo/cache/e8485d2a584b5f08-meta.json +0 -1
- package/.turbo/cache/e8485d2a584b5f08.tar.zst +0 -0
- package/.turbo/cache/e86451b8f88594b2-meta.json +0 -1
- package/.turbo/cache/e86451b8f88594b2.tar.zst +0 -0
- package/.turbo/cache/e9872ba002963dd3-meta.json +0 -1
- package/.turbo/cache/e9872ba002963dd3.tar.zst +0 -0
- /package/.turbo/cache/{e6271174c00888fe.tar.zst → 012997da408d7381.tar.zst} +0 -0
- /package/.turbo/cache/{6a1c28febca6163f.tar.zst → 144803363093af6b.tar.zst} +0 -0
- /package/.turbo/cache/{0c9ee13a7c863709.tar.zst → 2706814699cff63a.tar.zst} +0 -0
- /package/.turbo/cache/{8410cd8eeadc3af7.tar.zst → 29d704afd7578cda.tar.zst} +0 -0
- /package/.turbo/cache/{68e3afb31feab4e9.tar.zst → 318a9085a92f2d32.tar.zst} +0 -0
- /package/.turbo/cache/{1a8d6e4cab38121a.tar.zst → 457af7906413d2ff.tar.zst} +0 -0
- /package/.turbo/cache/{6c8ea74dc3b07640.tar.zst → 5567d6b2fdae56a9.tar.zst} +0 -0
- /package/.turbo/cache/{d1d1a072ee099992.tar.zst → 769652d1b874d7cf.tar.zst} +0 -0
- /package/.turbo/cache/{df28a5ee199e995d.tar.zst → 804ad767c7ba2fc3.tar.zst} +0 -0
- /package/.turbo/cache/{bdc6aadfdbb6feb9.tar.zst → 85cc23a2de6b1009.tar.zst} +0 -0
- /package/.turbo/cache/{e1e2582a7131011f.tar.zst → a54b4d75b5d265de.tar.zst} +0 -0
- /package/.turbo/cache/{83e1029b14af6545.tar.zst → b280ed4daaf15dcb.tar.zst} +0 -0
- /package/.turbo/cache/{624bf5350aacae42.tar.zst → d44acd685455b288.tar.zst} +0 -0
- /package/.turbo/cache/{cf235df1ef8d90b0.tar.zst → e03997efe5adad43.tar.zst} +0 -0
- /package/.turbo/cache/{2ec1b6d23563659e.tar.zst → e820cc8f220a05f3.tar.zst} +0 -0
- /package/.turbo/cache/{98936c69a55361fc.tar.zst → fdaf484b1ec4b5ed.tar.zst} +0 -0
|
@@ -353,30 +353,87 @@ class AuroFormValidation {
|
|
|
353
353
|
}
|
|
354
354
|
|
|
355
355
|
/**
|
|
356
|
-
*
|
|
357
|
-
*
|
|
358
|
-
* @param {
|
|
356
|
+
* Validates the attributes of a given element based on predefined validation rules.
|
|
357
|
+
*
|
|
358
|
+
* @param {HTMLElement} elem - The element to be validated.
|
|
359
359
|
* @returns {void}
|
|
360
|
+
*
|
|
361
|
+
* @example
|
|
362
|
+
* // Assuming `inputElement` is a reference to an input element in the DOM
|
|
363
|
+
* validateElementAttributes(inputElement);
|
|
364
|
+
*
|
|
365
|
+
* The function checks the element's attributes against the validation rules defined for 'input' and 'counter' types.
|
|
366
|
+
* If a validation rule is violated, it sets the element's validity state and error message accordingly.
|
|
367
|
+
*
|
|
368
|
+
* Validation rules:
|
|
369
|
+
* - input:
|
|
370
|
+
* - length:
|
|
371
|
+
* - tooShort: Checks if the value length is less than the minimum length.
|
|
372
|
+
* - tooLong: Checks if the value length exceeds the maximum length.
|
|
373
|
+
* - pattern:
|
|
374
|
+
* - patternMismatch: Checks if the value does not match the specified pattern.
|
|
375
|
+
* - counter:
|
|
376
|
+
* - range:
|
|
377
|
+
* - rangeOverflow: Checks if the value exceeds the maximum value.
|
|
378
|
+
* - rangeUnderflow: Checks if the value is less than the minimum value.
|
|
360
379
|
*/
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
380
|
+
validateElementAttributes(elem) {
|
|
381
|
+
const validationRules = {
|
|
382
|
+
input: {
|
|
383
|
+
length: [
|
|
384
|
+
{
|
|
385
|
+
check: (e) => e.value?.length > 0 && e.value?.length < e.minLength,
|
|
386
|
+
validity: 'tooShort',
|
|
387
|
+
message: e => e.setCustomValidityTooShort || e.setCustomValidity || ''
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
check: (e) => e.value?.length > e.maxLength,
|
|
391
|
+
validity: 'tooLong',
|
|
392
|
+
message: e => e.setCustomValidityTooLong || e.setCustomValidity || ''
|
|
393
|
+
}
|
|
394
|
+
],
|
|
395
|
+
pattern: [
|
|
396
|
+
{
|
|
397
|
+
check: (e) => e.pattern && !new RegExp(`^${e.pattern}$`, 'u').test(e.value),
|
|
398
|
+
validity: 'patternMismatch',
|
|
399
|
+
message: e => e.setCustomValidityPatternMismatch || e.setCustomValidity || ''
|
|
400
|
+
}
|
|
401
|
+
]
|
|
402
|
+
},
|
|
403
|
+
counter: {
|
|
404
|
+
range: [
|
|
405
|
+
{
|
|
406
|
+
check: (e) => e.max !== undefined && Number(e.max) < Number(e.value),
|
|
407
|
+
validity: 'rangeOverflow',
|
|
408
|
+
message: e => e.getAttribute('setCustomValidityRangeOverflow') || ''
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
check: (e) => e.min !== undefined && Number(e.min) > Number(e.value),
|
|
412
|
+
validity: 'rangeUnderflow',
|
|
413
|
+
message: e => e.getAttribute('setCustomValidityRangeUnderflow') || ''
|
|
414
|
+
}
|
|
415
|
+
]
|
|
368
416
|
}
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
let elementType;
|
|
420
|
+
if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
421
|
+
elementType = 'input';
|
|
422
|
+
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
423
|
+
elementType = 'counter';
|
|
369
424
|
}
|
|
370
|
-
|
|
371
|
-
// Length > 0 is required to prevent the error message from showing when the input is empty
|
|
372
|
-
if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
|
|
373
|
-
elem.validity = 'tooShort';
|
|
374
|
-
elem.errorMessage = elem.setCustomValidityTooShort || elem.setCustomValidity || '';
|
|
375
|
-
}
|
|
376
425
|
|
|
377
|
-
if (
|
|
378
|
-
|
|
379
|
-
|
|
426
|
+
if (elementType) {
|
|
427
|
+
const rules = validationRules[elementType];
|
|
428
|
+
|
|
429
|
+
if (rules) {
|
|
430
|
+
Object.values(rules).flat().forEach(rule => {
|
|
431
|
+
if (rule.check(elem)) {
|
|
432
|
+
elem.validity = rule.validity;
|
|
433
|
+
elem.errorMessage = rule.message(elem);
|
|
434
|
+
}
|
|
435
|
+
});
|
|
436
|
+
}
|
|
380
437
|
}
|
|
381
438
|
}
|
|
382
439
|
|
|
@@ -486,7 +543,9 @@ class AuroFormValidation {
|
|
|
486
543
|
elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
|
|
487
544
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
488
545
|
this.validateType(elem);
|
|
489
|
-
this.
|
|
546
|
+
this.validateElementAttributes(elem);
|
|
547
|
+
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
548
|
+
this.validateElementAttributes(elem);
|
|
490
549
|
}
|
|
491
550
|
}
|
|
492
551
|
|
|
@@ -353,30 +353,87 @@ class AuroFormValidation {
|
|
|
353
353
|
}
|
|
354
354
|
|
|
355
355
|
/**
|
|
356
|
-
*
|
|
357
|
-
*
|
|
358
|
-
* @param {
|
|
356
|
+
* Validates the attributes of a given element based on predefined validation rules.
|
|
357
|
+
*
|
|
358
|
+
* @param {HTMLElement} elem - The element to be validated.
|
|
359
359
|
* @returns {void}
|
|
360
|
+
*
|
|
361
|
+
* @example
|
|
362
|
+
* // Assuming `inputElement` is a reference to an input element in the DOM
|
|
363
|
+
* validateElementAttributes(inputElement);
|
|
364
|
+
*
|
|
365
|
+
* The function checks the element's attributes against the validation rules defined for 'input' and 'counter' types.
|
|
366
|
+
* If a validation rule is violated, it sets the element's validity state and error message accordingly.
|
|
367
|
+
*
|
|
368
|
+
* Validation rules:
|
|
369
|
+
* - input:
|
|
370
|
+
* - length:
|
|
371
|
+
* - tooShort: Checks if the value length is less than the minimum length.
|
|
372
|
+
* - tooLong: Checks if the value length exceeds the maximum length.
|
|
373
|
+
* - pattern:
|
|
374
|
+
* - patternMismatch: Checks if the value does not match the specified pattern.
|
|
375
|
+
* - counter:
|
|
376
|
+
* - range:
|
|
377
|
+
* - rangeOverflow: Checks if the value exceeds the maximum value.
|
|
378
|
+
* - rangeUnderflow: Checks if the value is less than the minimum value.
|
|
360
379
|
*/
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
380
|
+
validateElementAttributes(elem) {
|
|
381
|
+
const validationRules = {
|
|
382
|
+
input: {
|
|
383
|
+
length: [
|
|
384
|
+
{
|
|
385
|
+
check: (e) => e.value?.length > 0 && e.value?.length < e.minLength,
|
|
386
|
+
validity: 'tooShort',
|
|
387
|
+
message: e => e.setCustomValidityTooShort || e.setCustomValidity || ''
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
check: (e) => e.value?.length > e.maxLength,
|
|
391
|
+
validity: 'tooLong',
|
|
392
|
+
message: e => e.setCustomValidityTooLong || e.setCustomValidity || ''
|
|
393
|
+
}
|
|
394
|
+
],
|
|
395
|
+
pattern: [
|
|
396
|
+
{
|
|
397
|
+
check: (e) => e.pattern && !new RegExp(`^${e.pattern}$`, 'u').test(e.value),
|
|
398
|
+
validity: 'patternMismatch',
|
|
399
|
+
message: e => e.setCustomValidityPatternMismatch || e.setCustomValidity || ''
|
|
400
|
+
}
|
|
401
|
+
]
|
|
402
|
+
},
|
|
403
|
+
counter: {
|
|
404
|
+
range: [
|
|
405
|
+
{
|
|
406
|
+
check: (e) => e.max !== undefined && Number(e.max) < Number(e.value),
|
|
407
|
+
validity: 'rangeOverflow',
|
|
408
|
+
message: e => e.getAttribute('setCustomValidityRangeOverflow') || ''
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
check: (e) => e.min !== undefined && Number(e.min) > Number(e.value),
|
|
412
|
+
validity: 'rangeUnderflow',
|
|
413
|
+
message: e => e.getAttribute('setCustomValidityRangeUnderflow') || ''
|
|
414
|
+
}
|
|
415
|
+
]
|
|
368
416
|
}
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
let elementType;
|
|
420
|
+
if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
421
|
+
elementType = 'input';
|
|
422
|
+
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
423
|
+
elementType = 'counter';
|
|
369
424
|
}
|
|
370
|
-
|
|
371
|
-
// Length > 0 is required to prevent the error message from showing when the input is empty
|
|
372
|
-
if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
|
|
373
|
-
elem.validity = 'tooShort';
|
|
374
|
-
elem.errorMessage = elem.setCustomValidityTooShort || elem.setCustomValidity || '';
|
|
375
|
-
}
|
|
376
425
|
|
|
377
|
-
if (
|
|
378
|
-
|
|
379
|
-
|
|
426
|
+
if (elementType) {
|
|
427
|
+
const rules = validationRules[elementType];
|
|
428
|
+
|
|
429
|
+
if (rules) {
|
|
430
|
+
Object.values(rules).flat().forEach(rule => {
|
|
431
|
+
if (rule.check(elem)) {
|
|
432
|
+
elem.validity = rule.validity;
|
|
433
|
+
elem.errorMessage = rule.message(elem);
|
|
434
|
+
}
|
|
435
|
+
});
|
|
436
|
+
}
|
|
380
437
|
}
|
|
381
438
|
}
|
|
382
439
|
|
|
@@ -486,7 +543,9 @@ class AuroFormValidation {
|
|
|
486
543
|
elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
|
|
487
544
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
488
545
|
this.validateType(elem);
|
|
489
|
-
this.
|
|
546
|
+
this.validateElementAttributes(elem);
|
|
547
|
+
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
548
|
+
this.validateElementAttributes(elem);
|
|
490
549
|
}
|
|
491
550
|
}
|
|
492
551
|
|
|
@@ -64,13 +64,13 @@ More info and automated migrator: https://sass-lang.com/d/import
|
|
|
64
64
|
|
|
65
65
|
[36m
|
|
66
66
|
[1m./src/index.js[22m → [1mdist[22m...[39m
|
|
67
|
-
[32mcreated [1mdist[22m in [1m2.
|
|
67
|
+
[32mcreated [1mdist[22m in [1m2.7s[22m[39m
|
|
68
68
|
[36m
|
|
69
69
|
[1m./demo/index.js[22m → [1m./demo/[22m...[39m
|
|
70
|
-
[32mcreated [1m./demo/[22m in [1m2.
|
|
70
|
+
[32mcreated [1m./demo/[22m in [1m2.3s[22m[39m
|
|
71
71
|
[36m
|
|
72
72
|
[1m./demo/api.js[22m → [1m./demo/[22m...[39m
|
|
73
|
-
[32mcreated [1m./demo/[22m in [
|
|
73
|
+
[32mcreated [1m./demo/[22m in [1m2.1s[22m[39m
|
|
74
74
|
|
|
75
75
|
> @aurodesignsystem/auro-combobox@2.1.4 build:docs
|
|
76
76
|
> wca analyze 'scripts/wca/*.js' --outFiles docs/api.md; node ../../packages/build-tools/src/docProcessor.mjs --component combobox
|
|
@@ -6,16 +6,16 @@
|
|
|
6
6
|
[1m./src/index.js[22m → [1mdist[22m...[39m
|
|
7
7
|
[1m[33m(!) Unresolved dependencies[39m[22m
|
|
8
8
|
[90mhttps://rollupjs.org/troubleshooting/#warning-treating-module-as-external-dependency[39m
|
|
9
|
-
[1m@auro-formkit/auro-dropdown[22m (imported by "src/auro-combobox.js")
|
|
10
9
|
[1m@auro-formkit/auro-input[22m (imported by "src/auro-combobox.js")
|
|
11
|
-
[
|
|
10
|
+
[1m@auro-formkit/auro-dropdown[22m (imported by "src/auro-combobox.js")
|
|
11
|
+
[32mcreated [1mdist[22m in [1m812ms[22m[39m
|
|
12
12
|
[36m
|
|
13
13
|
[1m./demo/index.js[22m → [1m./demo/[22m...[39m
|
|
14
14
|
[1m[33m(!) Unresolved dependencies[39m[22m
|
|
15
15
|
[90mhttps://rollupjs.org/troubleshooting/#warning-treating-module-as-external-dependency[39m
|
|
16
16
|
[1m@auro-formkit/auro-dropdown[22m (imported by "src/auro-combobox.js")
|
|
17
17
|
[1m@auro-formkit/auro-input[22m (imported by "src/auro-combobox.js")
|
|
18
|
-
[32mcreated [1m./demo/[22m in [
|
|
18
|
+
[32mcreated [1m./demo/[22m in [1m971ms[22m[39m
|
|
19
19
|
[36m
|
|
20
20
|
[1m./demo/api.js[22m → [1m./demo/[22m...[39m
|
|
21
21
|
[1m[33m(!) Unresolved dependencies[39m[22m
|
|
@@ -100,10 +100,10 @@ In cases where the project is not able to process JS assets, there are pre-proce
|
|
|
100
100
|
<!-- The below content is automatically added from ../../docs/templates/componentBundleUseModBrowsers.md -->
|
|
101
101
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@4.12.1/dist/tokens/CSSCustomProperties.css" />
|
|
102
102
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@5.1.2/dist/bundled/essentials.css" />
|
|
103
|
-
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit/auro-dropdown@2.0.0-beta.
|
|
104
|
-
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit/auro-input@2.0.0-beta.
|
|
105
|
-
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit/auro-menu@2.0.0-beta.
|
|
106
|
-
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit/auro-combobox@2.0.0-beta.
|
|
103
|
+
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit/auro-dropdown@2.0.0-beta.8/dist/auro-dropdown__bundled.js" type="module"></script>
|
|
104
|
+
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit/auro-input@2.0.0-beta.8/dist/auro-input__bundled.js" type="module"></script>
|
|
105
|
+
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit/auro-menu@2.0.0-beta.8/dist/auro-menu__bundled.js" type="module"></script>
|
|
106
|
+
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit/auro-combobox@2.0.0-beta.8/dist/auro-combobox__bundled.js" type="module"></script>
|
|
107
107
|
<!-- AURO-GENERATED-CONTENT:END -->
|
|
108
108
|
|
|
109
109
|
## auro-combobox use cases
|
|
@@ -340,30 +340,87 @@ let AuroFormValidation$1 = class AuroFormValidation {
|
|
|
340
340
|
}
|
|
341
341
|
|
|
342
342
|
/**
|
|
343
|
-
*
|
|
344
|
-
*
|
|
345
|
-
* @param {
|
|
343
|
+
* Validates the attributes of a given element based on predefined validation rules.
|
|
344
|
+
*
|
|
345
|
+
* @param {HTMLElement} elem - The element to be validated.
|
|
346
346
|
* @returns {void}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* // Assuming `inputElement` is a reference to an input element in the DOM
|
|
350
|
+
* validateElementAttributes(inputElement);
|
|
351
|
+
*
|
|
352
|
+
* The function checks the element's attributes against the validation rules defined for 'input' and 'counter' types.
|
|
353
|
+
* If a validation rule is violated, it sets the element's validity state and error message accordingly.
|
|
354
|
+
*
|
|
355
|
+
* Validation rules:
|
|
356
|
+
* - input:
|
|
357
|
+
* - length:
|
|
358
|
+
* - tooShort: Checks if the value length is less than the minimum length.
|
|
359
|
+
* - tooLong: Checks if the value length exceeds the maximum length.
|
|
360
|
+
* - pattern:
|
|
361
|
+
* - patternMismatch: Checks if the value does not match the specified pattern.
|
|
362
|
+
* - counter:
|
|
363
|
+
* - range:
|
|
364
|
+
* - rangeOverflow: Checks if the value exceeds the maximum value.
|
|
365
|
+
* - rangeUnderflow: Checks if the value is less than the minimum value.
|
|
366
|
+
*/
|
|
367
|
+
validateElementAttributes(elem) {
|
|
368
|
+
const validationRules = {
|
|
369
|
+
input: {
|
|
370
|
+
length: [
|
|
371
|
+
{
|
|
372
|
+
check: (e) => e.value?.length > 0 && e.value?.length < e.minLength,
|
|
373
|
+
validity: 'tooShort',
|
|
374
|
+
message: e => e.setCustomValidityTooShort || e.setCustomValidity || ''
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
check: (e) => e.value?.length > e.maxLength,
|
|
378
|
+
validity: 'tooLong',
|
|
379
|
+
message: e => e.setCustomValidityTooLong || e.setCustomValidity || ''
|
|
380
|
+
}
|
|
381
|
+
],
|
|
382
|
+
pattern: [
|
|
383
|
+
{
|
|
384
|
+
check: (e) => e.pattern && !new RegExp(`^${e.pattern}$`, 'u').test(e.value),
|
|
385
|
+
validity: 'patternMismatch',
|
|
386
|
+
message: e => e.setCustomValidityPatternMismatch || e.setCustomValidity || ''
|
|
387
|
+
}
|
|
388
|
+
]
|
|
389
|
+
},
|
|
390
|
+
counter: {
|
|
391
|
+
range: [
|
|
392
|
+
{
|
|
393
|
+
check: (e) => e.max !== undefined && Number(e.max) < Number(e.value),
|
|
394
|
+
validity: 'rangeOverflow',
|
|
395
|
+
message: e => e.getAttribute('setCustomValidityRangeOverflow') || ''
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
check: (e) => e.min !== undefined && Number(e.min) > Number(e.value),
|
|
399
|
+
validity: 'rangeUnderflow',
|
|
400
|
+
message: e => e.getAttribute('setCustomValidityRangeUnderflow') || ''
|
|
401
|
+
}
|
|
402
|
+
]
|
|
355
403
|
}
|
|
404
|
+
};
|
|
405
|
+
|
|
406
|
+
let elementType;
|
|
407
|
+
if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
408
|
+
elementType = 'input';
|
|
409
|
+
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
410
|
+
elementType = 'counter';
|
|
356
411
|
}
|
|
357
|
-
|
|
358
|
-
// Length > 0 is required to prevent the error message from showing when the input is empty
|
|
359
|
-
if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
|
|
360
|
-
elem.validity = 'tooShort';
|
|
361
|
-
elem.errorMessage = elem.setCustomValidityTooShort || elem.setCustomValidity || '';
|
|
362
|
-
}
|
|
363
412
|
|
|
364
|
-
if (
|
|
365
|
-
|
|
366
|
-
|
|
413
|
+
if (elementType) {
|
|
414
|
+
const rules = validationRules[elementType];
|
|
415
|
+
|
|
416
|
+
if (rules) {
|
|
417
|
+
Object.values(rules).flat().forEach(rule => {
|
|
418
|
+
if (rule.check(elem)) {
|
|
419
|
+
elem.validity = rule.validity;
|
|
420
|
+
elem.errorMessage = rule.message(elem);
|
|
421
|
+
}
|
|
422
|
+
});
|
|
423
|
+
}
|
|
367
424
|
}
|
|
368
425
|
}
|
|
369
426
|
|
|
@@ -473,7 +530,9 @@ let AuroFormValidation$1 = class AuroFormValidation {
|
|
|
473
530
|
elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
|
|
474
531
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
475
532
|
this.validateType(elem);
|
|
476
|
-
this.
|
|
533
|
+
this.validateElementAttributes(elem);
|
|
534
|
+
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
535
|
+
this.validateElementAttributes(elem);
|
|
477
536
|
}
|
|
478
537
|
}
|
|
479
538
|
|
|
@@ -5363,30 +5422,87 @@ class AuroFormValidation {
|
|
|
5363
5422
|
}
|
|
5364
5423
|
|
|
5365
5424
|
/**
|
|
5366
|
-
*
|
|
5367
|
-
*
|
|
5368
|
-
* @param {
|
|
5425
|
+
* Validates the attributes of a given element based on predefined validation rules.
|
|
5426
|
+
*
|
|
5427
|
+
* @param {HTMLElement} elem - The element to be validated.
|
|
5369
5428
|
* @returns {void}
|
|
5370
|
-
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5429
|
+
*
|
|
5430
|
+
* @example
|
|
5431
|
+
* // Assuming `inputElement` is a reference to an input element in the DOM
|
|
5432
|
+
* validateElementAttributes(inputElement);
|
|
5433
|
+
*
|
|
5434
|
+
* The function checks the element's attributes against the validation rules defined for 'input' and 'counter' types.
|
|
5435
|
+
* If a validation rule is violated, it sets the element's validity state and error message accordingly.
|
|
5436
|
+
*
|
|
5437
|
+
* Validation rules:
|
|
5438
|
+
* - input:
|
|
5439
|
+
* - length:
|
|
5440
|
+
* - tooShort: Checks if the value length is less than the minimum length.
|
|
5441
|
+
* - tooLong: Checks if the value length exceeds the maximum length.
|
|
5442
|
+
* - pattern:
|
|
5443
|
+
* - patternMismatch: Checks if the value does not match the specified pattern.
|
|
5444
|
+
* - counter:
|
|
5445
|
+
* - range:
|
|
5446
|
+
* - rangeOverflow: Checks if the value exceeds the maximum value.
|
|
5447
|
+
* - rangeUnderflow: Checks if the value is less than the minimum value.
|
|
5448
|
+
*/
|
|
5449
|
+
validateElementAttributes(elem) {
|
|
5450
|
+
const validationRules = {
|
|
5451
|
+
input: {
|
|
5452
|
+
length: [
|
|
5453
|
+
{
|
|
5454
|
+
check: (e) => e.value?.length > 0 && e.value?.length < e.minLength,
|
|
5455
|
+
validity: 'tooShort',
|
|
5456
|
+
message: e => e.setCustomValidityTooShort || e.setCustomValidity || ''
|
|
5457
|
+
},
|
|
5458
|
+
{
|
|
5459
|
+
check: (e) => e.value?.length > e.maxLength,
|
|
5460
|
+
validity: 'tooLong',
|
|
5461
|
+
message: e => e.setCustomValidityTooLong || e.setCustomValidity || ''
|
|
5462
|
+
}
|
|
5463
|
+
],
|
|
5464
|
+
pattern: [
|
|
5465
|
+
{
|
|
5466
|
+
check: (e) => e.pattern && !new RegExp(`^${e.pattern}$`, 'u').test(e.value),
|
|
5467
|
+
validity: 'patternMismatch',
|
|
5468
|
+
message: e => e.setCustomValidityPatternMismatch || e.setCustomValidity || ''
|
|
5469
|
+
}
|
|
5470
|
+
]
|
|
5471
|
+
},
|
|
5472
|
+
counter: {
|
|
5473
|
+
range: [
|
|
5474
|
+
{
|
|
5475
|
+
check: (e) => e.max !== undefined && Number(e.max) < Number(e.value),
|
|
5476
|
+
validity: 'rangeOverflow',
|
|
5477
|
+
message: e => e.getAttribute('setCustomValidityRangeOverflow') || ''
|
|
5478
|
+
},
|
|
5479
|
+
{
|
|
5480
|
+
check: (e) => e.min !== undefined && Number(e.min) > Number(e.value),
|
|
5481
|
+
validity: 'rangeUnderflow',
|
|
5482
|
+
message: e => e.getAttribute('setCustomValidityRangeUnderflow') || ''
|
|
5483
|
+
}
|
|
5484
|
+
]
|
|
5378
5485
|
}
|
|
5486
|
+
};
|
|
5487
|
+
|
|
5488
|
+
let elementType;
|
|
5489
|
+
if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
5490
|
+
elementType = 'input';
|
|
5491
|
+
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
5492
|
+
elementType = 'counter';
|
|
5379
5493
|
}
|
|
5380
|
-
|
|
5381
|
-
// Length > 0 is required to prevent the error message from showing when the input is empty
|
|
5382
|
-
if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
|
|
5383
|
-
elem.validity = 'tooShort';
|
|
5384
|
-
elem.errorMessage = elem.setCustomValidityTooShort || elem.setCustomValidity || '';
|
|
5385
|
-
}
|
|
5386
5494
|
|
|
5387
|
-
if (
|
|
5388
|
-
|
|
5389
|
-
|
|
5495
|
+
if (elementType) {
|
|
5496
|
+
const rules = validationRules[elementType];
|
|
5497
|
+
|
|
5498
|
+
if (rules) {
|
|
5499
|
+
Object.values(rules).flat().forEach(rule => {
|
|
5500
|
+
if (rule.check(elem)) {
|
|
5501
|
+
elem.validity = rule.validity;
|
|
5502
|
+
elem.errorMessage = rule.message(elem);
|
|
5503
|
+
}
|
|
5504
|
+
});
|
|
5505
|
+
}
|
|
5390
5506
|
}
|
|
5391
5507
|
}
|
|
5392
5508
|
|
|
@@ -5496,7 +5612,9 @@ class AuroFormValidation {
|
|
|
5496
5612
|
elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
|
|
5497
5613
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
5498
5614
|
this.validateType(elem);
|
|
5499
|
-
this.
|
|
5615
|
+
this.validateElementAttributes(elem);
|
|
5616
|
+
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
5617
|
+
this.validateElementAttributes(elem);
|
|
5500
5618
|
}
|
|
5501
5619
|
}
|
|
5502
5620
|
|