@aurodesignsystem/auro-formkit 2.0.0-beta.2 → 2.0.0-beta.4

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 (257) hide show
  1. package/.turbo/cache/013a48308b893dac-meta.json +1 -1
  2. package/.turbo/cache/02244170c798a2bd-meta.json +1 -0
  3. package/.turbo/cache/02244170c798a2bd.tar.zst +0 -0
  4. package/.turbo/cache/051ff97a20add0e2-meta.json +1 -0
  5. package/.turbo/cache/051ff97a20add0e2.tar.zst +0 -0
  6. package/.turbo/cache/07ca42419b9f050c-meta.json +1 -1
  7. package/.turbo/cache/0cea4c1f34f3683b-meta.json +1 -1
  8. package/.turbo/cache/0ea853339c064fa1-meta.json +1 -0
  9. package/.turbo/cache/0ea853339c064fa1.tar.zst +0 -0
  10. package/.turbo/cache/16658beec9f4a809-meta.json +1 -0
  11. package/.turbo/cache/16658beec9f4a809.tar.zst +0 -0
  12. package/.turbo/cache/17259cf94d8f8925-meta.json +1 -1
  13. package/.turbo/cache/1b9818717e4bdf9f-meta.json +1 -0
  14. package/.turbo/cache/1b9818717e4bdf9f.tar.zst +0 -0
  15. package/.turbo/cache/1c0f580d37370ba2-meta.json +1 -0
  16. package/.turbo/cache/1c0f580d37370ba2.tar.zst +0 -0
  17. package/.turbo/cache/1c99a949ec63ab35-meta.json +1 -1
  18. package/.turbo/cache/1df4710eef8ed00d-meta.json +1 -0
  19. package/.turbo/cache/1df4710eef8ed00d.tar.zst +0 -0
  20. package/.turbo/cache/204b66d1b253e9cc-meta.json +1 -0
  21. package/.turbo/cache/204b66d1b253e9cc.tar.zst +0 -0
  22. package/.turbo/cache/257a7a26ea72dbc5-meta.json +1 -1
  23. package/.turbo/cache/2a5d0939d6fc1052-meta.json +1 -0
  24. package/.turbo/cache/2a5d0939d6fc1052.tar.zst +0 -0
  25. package/.turbo/cache/2e3b829fcf75c836-meta.json +1 -0
  26. package/.turbo/cache/2e3b829fcf75c836.tar.zst +0 -0
  27. package/.turbo/cache/3bf45120d0cc9bd8-meta.json +1 -1
  28. package/.turbo/cache/3d380d0d40404cac-meta.json +1 -0
  29. package/.turbo/cache/3d380d0d40404cac.tar.zst +0 -0
  30. package/.turbo/cache/3e12285c614db539-meta.json +1 -0
  31. package/.turbo/cache/3e12285c614db539.tar.zst +0 -0
  32. package/.turbo/cache/45035bf5c4147ccd-meta.json +1 -1
  33. package/.turbo/cache/5bf2d3f7ba5891e0-meta.json +1 -0
  34. package/.turbo/cache/5bf2d3f7ba5891e0.tar.zst +0 -0
  35. package/.turbo/cache/5f304c0f37ef25f3-meta.json +1 -1
  36. package/.turbo/cache/64de7a53e02db647-meta.json +1 -1
  37. package/.turbo/cache/691a74627ec57993-meta.json +1 -1
  38. package/.turbo/cache/69aae513b7ec6c7d-meta.json +1 -1
  39. package/.turbo/cache/6dd67d179191bda8-meta.json +1 -0
  40. package/.turbo/cache/6dd67d179191bda8.tar.zst +0 -0
  41. package/.turbo/cache/6dd7058e6703cb35-meta.json +1 -1
  42. package/.turbo/cache/73e9073a5274616d-meta.json +1 -1
  43. package/.turbo/cache/773edc0f83c8c5a5-meta.json +1 -1
  44. package/.turbo/cache/786a822763403879-meta.json +1 -1
  45. package/.turbo/cache/7e1043cffa69f327-meta.json +1 -0
  46. package/.turbo/cache/7e1043cffa69f327.tar.zst +0 -0
  47. package/.turbo/cache/7ffd501e81790676-meta.json +1 -0
  48. package/.turbo/cache/7ffd501e81790676.tar.zst +0 -0
  49. package/.turbo/cache/80a13352066a9801-meta.json +1 -0
  50. package/.turbo/cache/80a13352066a9801.tar.zst +0 -0
  51. package/.turbo/cache/80b5d974184a01df-meta.json +1 -1
  52. package/.turbo/cache/8954c6073396fadd-meta.json +1 -1
  53. package/.turbo/cache/8e79bd5c3a16a72e-meta.json +1 -0
  54. package/.turbo/cache/8e9ebc3df0e18de0-meta.json +1 -0
  55. package/.turbo/cache/8e9ebc3df0e18de0.tar.zst +0 -0
  56. package/.turbo/cache/92daa6d7c389d548-meta.json +1 -1
  57. package/.turbo/cache/973d0eea26083f4b-meta.json +1 -0
  58. package/.turbo/cache/973d0eea26083f4b.tar.zst +0 -0
  59. package/.turbo/cache/9c6ad42729c7b2d8-meta.json +1 -0
  60. package/.turbo/cache/9c6ad42729c7b2d8.tar.zst +0 -0
  61. package/.turbo/cache/a77bc920ea508bb8-meta.json +1 -1
  62. package/.turbo/cache/a77bc920ea508bb8.tar.zst +0 -0
  63. package/.turbo/cache/a9a9d012c83882d8-meta.json +1 -0
  64. package/.turbo/cache/a9a9d012c83882d8.tar.zst +0 -0
  65. package/.turbo/cache/b54fc4f664a7a5a0-meta.json +1 -1
  66. package/.turbo/cache/ba4418918621fbcd-meta.json +1 -1
  67. package/.turbo/cache/be7c23c37b8ec74b-meta.json +1 -1
  68. package/.turbo/cache/be7c23c37b8ec74b.tar.zst +0 -0
  69. package/.turbo/cache/bffc7582905c2a5e-meta.json +1 -0
  70. package/.turbo/cache/bffc7582905c2a5e.tar.zst +0 -0
  71. package/.turbo/cache/caa0b4ac8d2a04dd-meta.json +1 -1
  72. package/.turbo/cache/caa0b4ac8d2a04dd.tar.zst +0 -0
  73. package/.turbo/cache/cc81de9c0b452a7c-meta.json +1 -1
  74. package/.turbo/cache/d572ebb3c833e8f4-meta.json +1 -0
  75. package/.turbo/cache/d572ebb3c833e8f4.tar.zst +0 -0
  76. package/.turbo/cache/d61543843c932504-meta.json +1 -0
  77. package/.turbo/cache/d61543843c932504.tar.zst +0 -0
  78. package/.turbo/cache/dad1301ac69bcb85-meta.json +1 -1
  79. package/.turbo/cache/db361cb6578dca84-meta.json +1 -0
  80. package/.turbo/cache/db361cb6578dca84.tar.zst +0 -0
  81. package/.turbo/cache/dea5945f55c6aba5-meta.json +1 -0
  82. package/.turbo/cache/dea5945f55c6aba5.tar.zst +0 -0
  83. package/.turbo/cache/e992dab20aeefbaf-meta.json +1 -1
  84. package/.turbo/cache/e992dab20aeefbaf.tar.zst +0 -0
  85. package/.turbo/cache/f3ff9040a2196834-meta.json +1 -0
  86. package/.turbo/cache/f3ff9040a2196834.tar.zst +0 -0
  87. package/.turbo/cache/f817d89688cefca8-meta.json +1 -0
  88. package/.turbo/cache/f817d89688cefca8.tar.zst +0 -0
  89. package/.turbo/cache/fa132b5b5f0e75f8-meta.json +1 -1
  90. package/.turbo/cache/fc57c17867dcac3d-meta.json +1 -0
  91. package/.turbo/cache/fc57c17867dcac3d.tar.zst +0 -0
  92. package/CHANGELOG.md +44 -0
  93. package/components/checkbox/.turbo/turbo-build.log +3 -3
  94. package/components/checkbox/.turbo/turbo-bundler.log +3 -3
  95. package/components/checkbox/demo/api.md +4 -2
  96. package/components/checkbox/demo/api.min.js +31 -36
  97. package/components/checkbox/demo/index.min.js +31 -36
  98. package/components/checkbox/dist/auro-checkbox-group.d.ts +1 -1
  99. package/components/checkbox/dist/index.js +31 -36
  100. package/components/checkbox/src/auro-checkbox-group.js +2 -2
  101. package/components/combobox/.turbo/turbo-build.log +3 -3
  102. package/components/combobox/demo/api.md +17 -15
  103. package/components/combobox/demo/api.min.js +500 -218
  104. package/components/combobox/demo/index.min.js +500 -218
  105. package/components/combobox/dist/auro-combobox.d.ts +11 -4
  106. package/components/combobox/dist/auro-combobox.d.ts.map +1 -1
  107. package/components/combobox/dist/index.js +499 -217
  108. package/components/combobox/src/auro-combobox.js +22 -20
  109. package/components/counter/.turbo/turbo-build.log +3 -3
  110. package/components/counter/.turbo/turbo-bundler.log +3 -3
  111. package/components/datepicker/.turbo/turbo-build.log +9 -8
  112. package/components/datepicker/demo/api.md +107 -87
  113. package/components/datepicker/demo/api.min.js +492 -232
  114. package/components/datepicker/demo/index.min.js +492 -232
  115. package/components/datepicker/dist/auro-datepicker.d.ts +6 -13
  116. package/components/datepicker/dist/auro-datepicker.d.ts.map +1 -1
  117. package/components/datepicker/dist/index.js +492 -232
  118. package/components/datepicker/src/auro-datepicker.js +15 -35
  119. package/components/dropdown/.turbo/turbo-build.log +3 -3
  120. package/components/dropdown/.turbo/turbo-bundler.log +2 -2
  121. package/components/dropdown/demo/api.md +4 -4
  122. package/components/dropdown/demo/api.min.js +166 -42
  123. package/components/dropdown/demo/index.min.js +166 -42
  124. package/components/dropdown/dist/auro-dropdown.d.ts +93 -34
  125. package/components/dropdown/dist/auro-dropdown.d.ts.map +1 -1
  126. package/components/dropdown/dist/auro-dropdownBib.d.ts +9 -3
  127. package/components/dropdown/dist/auro-dropdownBib.d.ts.map +1 -1
  128. package/components/dropdown/dist/index.js +166 -42
  129. package/components/dropdown/src/auro-dropdown.js +154 -39
  130. package/components/dropdown/src/auro-dropdownBib.js +12 -3
  131. package/components/dropdown/src/styles/style-css.js +1 -1
  132. package/components/dropdown/src/styles/style.css +4 -0
  133. package/components/dropdown/src/styles/style.scss +5 -0
  134. package/components/form/.turbo/turbo-build.log +3 -3
  135. package/components/form/.turbo/turbo-bundler.log +3 -3
  136. package/components/input/.turbo/turbo-build$colon$sass.log +51 -1
  137. package/components/input/.turbo/turbo-build.log +56 -6
  138. package/components/input/.turbo/turbo-bundler.log +3 -3
  139. package/components/input/.turbo/turbo-sass$colon$render.log +6 -0
  140. package/components/input/demo/api.md +83 -81
  141. package/components/input/demo/api.min.js +282 -121
  142. package/components/input/demo/index.md +6 -6
  143. package/components/input/demo/index.min.js +282 -121
  144. package/components/input/dist/auro-input.d.ts.map +1 -1
  145. package/components/input/dist/base-input.d.ts +155 -84
  146. package/components/input/dist/base-input.d.ts.map +1 -1
  147. package/components/input/dist/index.js +282 -121
  148. package/components/input/dist/styles/mixins-css.d.ts +3 -0
  149. package/components/input/dist/styles/mixins-css.d.ts.map +1 -0
  150. package/components/input/src/auro-input.js +0 -1
  151. package/components/input/src/base-input.js +252 -85
  152. package/components/input/src/styles/borders.scss +3 -19
  153. package/components/input/src/styles/color.css +1 -2
  154. package/components/input/src/styles/color.scss +3 -10
  155. package/components/input/src/styles/input-css.js +1 -1
  156. package/components/input/src/styles/input.css +1 -1
  157. package/components/input/src/styles/input.scss +4 -1
  158. package/components/input/src/styles/label-css.js +1 -1
  159. package/components/input/src/styles/label.css +1 -1
  160. package/components/input/src/styles/label.scss +4 -7
  161. package/components/input/src/styles/mixins-css.js +2 -0
  162. package/components/input/src/styles/mixins.css +1 -0
  163. package/components/input/src/styles/mixins.scss +45 -0
  164. package/components/input/src/styles/notificationIcons-css.js +1 -1
  165. package/components/input/src/styles/notificationIcons.css +13 -12
  166. package/components/input/src/styles/notificationIcons.scss +17 -25
  167. package/components/input/src/styles/style-css.js +1 -1
  168. package/components/input/src/styles/style.css +15 -17
  169. package/components/input/src/styles/style.scss +0 -4
  170. package/components/menu/.turbo/turbo-build.log +3 -3
  171. package/components/menu/.turbo/turbo-bundler.log +3 -3
  172. package/components/menu/demo/api.min.js +1 -1
  173. package/components/menu/demo/index.min.js +1 -1
  174. package/components/menu/dist/auro-menu.d.ts +1 -1
  175. package/components/menu/dist/index.js +1 -1
  176. package/components/menu/src/auro-menu.js +1 -1
  177. package/components/radio/.turbo/turbo-build.log +3 -3
  178. package/components/radio/.turbo/turbo-bundler.log +3 -3
  179. package/components/radio/demo/api.md +3 -1
  180. package/components/radio/demo/api.min.js +30 -35
  181. package/components/radio/demo/index.min.js +30 -35
  182. package/components/radio/dist/index.js +30 -35
  183. package/components/radio/src/auro-radio-group.js +1 -1
  184. package/components/select/.turbo/turbo-build.log +7 -9
  185. package/components/select/demo/api.md +45 -110
  186. package/components/select/demo/api.min.js +320 -224
  187. package/components/select/demo/index.md +100 -43
  188. package/components/select/demo/index.min.js +320 -220
  189. package/components/select/dist/auro-select.d.ts +64 -51
  190. package/components/select/dist/auro-select.d.ts.map +1 -1
  191. package/components/select/dist/index.js +314 -201
  192. package/components/select/src/auro-select.js +100 -118
  193. package/components/select/src/styles/style-css.js +1 -1
  194. package/components/select/src/styles/style.css +7 -0
  195. package/components/select/src/styles/style.scss +11 -1
  196. package/package.json +1 -1
  197. package/packages/form-validation/src/validation.js +29 -34
  198. package/.turbo/cache/0663fcbb1d711029-meta.json +0 -1
  199. package/.turbo/cache/0663fcbb1d711029.tar.zst +0 -0
  200. package/.turbo/cache/0a2b0a4df8a0443f-meta.json +0 -1
  201. package/.turbo/cache/120c8e207aa1ba35-meta.json +0 -1
  202. package/.turbo/cache/120c8e207aa1ba35.tar.zst +0 -0
  203. package/.turbo/cache/17dd4bdef6550a07-meta.json +0 -1
  204. package/.turbo/cache/17dd4bdef6550a07.tar.zst +0 -0
  205. package/.turbo/cache/1de15d89eed2d760-meta.json +0 -1
  206. package/.turbo/cache/1de15d89eed2d760.tar.zst +0 -0
  207. package/.turbo/cache/2990aaa7ebc5b967-meta.json +0 -1
  208. package/.turbo/cache/2990aaa7ebc5b967.tar.zst +0 -0
  209. package/.turbo/cache/32c0b9995fb5f8dd-meta.json +0 -1
  210. package/.turbo/cache/32c0b9995fb5f8dd.tar.zst +0 -0
  211. package/.turbo/cache/47ba2b5ebdb579e9-meta.json +0 -1
  212. package/.turbo/cache/47ba2b5ebdb579e9.tar.zst +0 -0
  213. package/.turbo/cache/4f92cea2d8c63de2-meta.json +0 -1
  214. package/.turbo/cache/4f92cea2d8c63de2.tar.zst +0 -0
  215. package/.turbo/cache/56cb35d4c7473a23-meta.json +0 -1
  216. package/.turbo/cache/56cb35d4c7473a23.tar.zst +0 -0
  217. package/.turbo/cache/5c16ce3cff5c9dff-meta.json +0 -1
  218. package/.turbo/cache/5c16ce3cff5c9dff.tar.zst +0 -0
  219. package/.turbo/cache/626afdc67e0cb540-meta.json +0 -1
  220. package/.turbo/cache/626afdc67e0cb540.tar.zst +0 -0
  221. package/.turbo/cache/6ef81cf9a66f982a-meta.json +0 -1
  222. package/.turbo/cache/6ef81cf9a66f982a.tar.zst +0 -0
  223. package/.turbo/cache/784c03fe9fd5ac05-meta.json +0 -1
  224. package/.turbo/cache/784c03fe9fd5ac05.tar.zst +0 -0
  225. package/.turbo/cache/87219c41a4ace9cd-meta.json +0 -1
  226. package/.turbo/cache/87219c41a4ace9cd.tar.zst +0 -0
  227. package/.turbo/cache/8b735250fa5a62bf-meta.json +0 -1
  228. package/.turbo/cache/8b735250fa5a62bf.tar.zst +0 -0
  229. package/.turbo/cache/9154e8fe6ab767ea-meta.json +0 -1
  230. package/.turbo/cache/9154e8fe6ab767ea.tar.zst +0 -0
  231. package/.turbo/cache/993dff2edb7b6766-meta.json +0 -1
  232. package/.turbo/cache/993dff2edb7b6766.tar.zst +0 -0
  233. package/.turbo/cache/9a097d6576dadd64-meta.json +0 -1
  234. package/.turbo/cache/9a097d6576dadd64.tar.zst +0 -0
  235. package/.turbo/cache/a49cc58242467fdc-meta.json +0 -1
  236. package/.turbo/cache/a49cc58242467fdc.tar.zst +0 -0
  237. package/.turbo/cache/a6a56bb802e1c20f-meta.json +0 -1
  238. package/.turbo/cache/a6a56bb802e1c20f.tar.zst +0 -0
  239. package/.turbo/cache/af061e7a077a9ba5-meta.json +0 -1
  240. package/.turbo/cache/af061e7a077a9ba5.tar.zst +0 -0
  241. package/.turbo/cache/b50f1b283b4b81cd-meta.json +0 -1
  242. package/.turbo/cache/b50f1b283b4b81cd.tar.zst +0 -0
  243. package/.turbo/cache/bf85bc040b7e64db-meta.json +0 -1
  244. package/.turbo/cache/bf85bc040b7e64db.tar.zst +0 -0
  245. package/.turbo/cache/cd5f6987783fb56d-meta.json +0 -1
  246. package/.turbo/cache/cd5f6987783fb56d.tar.zst +0 -0
  247. package/.turbo/cache/ce67b6522dd09e64-meta.json +0 -1
  248. package/.turbo/cache/ce67b6522dd09e64.tar.zst +0 -0
  249. package/.turbo/cache/d716cb7a08152beb-meta.json +0 -1
  250. package/.turbo/cache/d716cb7a08152beb.tar.zst +0 -0
  251. package/.turbo/cache/d7a47b77deb3d9a4-meta.json +0 -1
  252. package/.turbo/cache/d7a47b77deb3d9a4.tar.zst +0 -0
  253. package/.turbo/cache/fbbe2704bf9cb90b-meta.json +0 -1
  254. package/.turbo/cache/fbbe2704bf9cb90b.tar.zst +0 -0
  255. package/.turbo/cache/ff58f630c9d69af4-meta.json +0 -1
  256. package/.turbo/cache/ff58f630c9d69af4.tar.zst +0 -0
  257. /package/.turbo/cache/{0a2b0a4df8a0443f.tar.zst → 8e79bd5c3a16a72e.tar.zst} +0 -0
@@ -185,20 +185,20 @@ let AuroFormValidation$1 = class AuroFormValidation {
185
185
  const pattern = new RegExp(`^${elem.pattern}$`, 'u');
186
186
 
187
187
  if (!pattern.test(elem.value)) {
188
- elem.validity = 'badInput';
189
- elem.setCustomValidity = elem.setCustomValidityBadInput || '';
188
+ elem.validity = 'patternMismatch';
189
+ elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || '';
190
190
  }
191
191
  }
192
192
 
193
193
  // Length > 0 is required to prevent the error message from showing when the input is empty
194
194
  if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
195
195
  elem.validity = 'tooShort';
196
- elem.setCustomValidity = elem.setCustomValidityTooShort || '';
196
+ elem.errorMessage = elem.setCustomValidityTooShort || elem.setCustomValidity || '';
197
197
  }
198
198
 
199
199
  if (elem.value?.length > elem.maxLength) {
200
200
  elem.validity = 'tooLong';
201
- elem.setCustomValidity = elem.setCustomValidityTooLong || '';
201
+ elem.errorMessage = elem.setCustomValidityTooLong || elem.setCustomValidity || '';
202
202
  }
203
203
  }
204
204
 
@@ -214,33 +214,32 @@ let AuroFormValidation$1 = class AuroFormValidation {
214
214
  const emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; // eslint-disable-line require-unicode-regexp
215
215
 
216
216
  if (!elem.value.match(emailRegex)) {
217
- elem.validity = 'badInput';
218
- elem.setCustomValidity = elem.setCustomValidityForType || '';
217
+ elem.validity = 'patternMismatch';
218
+ elem.errorMessage = elem.setCustomValidityForType || elem.setCustomValidity || '';
219
219
  }
220
220
  } else if (elem.type === 'credit-card') {
221
221
  if (elem.value.length > 0 && elem.value.length < elem.validationCCLength) {
222
222
  elem.validity = 'tooShort';
223
- elem.setCustomValidity = elem.setCustomValidityForType || '';
223
+ elem.errorMessage = elem.setCustomValidityForType || elem.setCustomValidity || '';
224
224
  }
225
225
  } else if (elem.type === 'number') {
226
226
  if (elem.max !== undefined && Number(elem.max) < Number(elem.value)) {
227
227
  elem.validity = 'rangeOverflow';
228
- elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeOverflow') || '';
228
+ elem.errorMessage = elem.setCustomValidityRangeOverflow || elem.setCustomValidity || '';
229
229
  }
230
230
 
231
- if (elem.min !== undefined && Number(elem.min) > Number(elem.value)) {
231
+ if (elem.min !== undefined && elem.value?.length > 0 && Number(elem.min) > Number(elem.value)) {
232
232
  elem.validity = 'rangeUnderflow';
233
- elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeUnderflow') || '';
233
+ elem.errorMessage = elem.setCustomValidityRangeUnderflow || elem.setCustomValidity || '';
234
234
  }
235
-
236
235
  } else if (elem.type === 'month-day-year' ||
237
236
  elem.type === 'month-year' ||
238
237
  elem.type === 'month-fullYear' ||
239
238
  elem.type === 'year-month-day'
240
239
  ) {
241
- if (elem.value && elem.value.length > 0 && elem.value.length < elem.dateStrLength) {
240
+ if (elem.value?.length > 0 && elem.value.length < elem.dateStrLength) {
242
241
  elem.validity = 'tooShort';
243
- elem.setCustomValidity = elem.setCustomValidityForType || '';
242
+ elem.errorMessage = elem.setCustomValidityForType || elem.setCustomValidity || '';
244
243
  } else {
245
244
  const valueDate = new Date(elem.value);
246
245
 
@@ -250,7 +249,7 @@ let AuroFormValidation$1 = class AuroFormValidation {
250
249
 
251
250
  if (valueDate > maxDate) {
252
251
  elem.validity = 'rangeOverflow';
253
- elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeOverflow') || '';
252
+ elem.errorMessage = elem.setCustomValidityRangeOverflow || elem.setCustomValidity || '';
254
253
  }
255
254
  }
256
255
 
@@ -260,7 +259,7 @@ let AuroFormValidation$1 = class AuroFormValidation {
260
259
 
261
260
  if (valueDate < minDate) {
262
261
  elem.validity = 'rangeUnderflow';
263
- elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeUnderflow') || '';
262
+ elem.errorMessage = elem.setCustomValidityRangeUnderflow || elem.setCustomValidity || '';
264
263
  }
265
264
  }
266
265
  }
@@ -283,10 +282,10 @@ let AuroFormValidation$1 = class AuroFormValidation {
283
282
 
284
283
  if (elem.hasAttribute('error')) {
285
284
  elem.validity = 'customError';
286
- elem.setCustomValidity = elem.error;
285
+ elem.errorMessage = elem.setCustomValidityCustomError || elem.error || elem.setCustomValidity || '';
287
286
  } else if (validationShouldRun) {
288
287
  elem.validity = 'valid';
289
- elem.setCustomValidity = '';
288
+ elem.errorMessage = '';
290
289
 
291
290
  /**
292
291
  * Only validate once we interact with the datepicker
@@ -298,7 +297,7 @@ let AuroFormValidation$1 = class AuroFormValidation {
298
297
  let hasValue = elem.value && elem.value.length > 0;
299
298
 
300
299
  // If there is a second input in the elem and that value is undefined or an empty string set hasValue to false;
301
- if (this.auroInputElements && this.auroInputElements.length === 2) {
300
+ if (this.auroInputElements?.length === 2) {
302
301
  if (!this.auroInputElements[1].value || this.auroInputElements[1].length === 0) {
303
302
  hasValue = false;
304
303
  }
@@ -306,31 +305,27 @@ let AuroFormValidation$1 = class AuroFormValidation {
306
305
 
307
306
  if (!hasValue && elem.required) {
308
307
  elem.validity = 'valueMissing';
309
- elem.setCustomValidity = elem.setCustomValidityValueMissing || '';
308
+ elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
310
309
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
311
310
  this.validateType(elem);
312
311
  this.validateAttributes(elem);
313
312
  }
314
313
  }
315
314
 
316
- if (this.auroInputElements && this.auroInputElements.length > 0) {
315
+ if (this.auroInputElements?.length > 0) {
317
316
  elem.validity = this.auroInputElements[0].validity;
318
- elem.setCustomValidity = this.auroInputElements[0].setCustomValidity;
317
+ elem.errorMessage = this.auroInputElements[0].errorMessage;
319
318
 
320
- if (elem.validity === 'valid') {
321
- if (this.auroInputElements.length > 1) {
322
- elem.validity = this.auroInputElements[1].validity;
323
- elem.setCustomValidity = this.auroInputElements[1].setCustomValidity;
324
- }
319
+ if (elem.validity === 'valid' && this.auroInputElements.length > 1) {
320
+ elem.validity = this.auroInputElements[1].validity;
321
+ elem.errorMessage = this.auroInputElements[1].errorMessage;
325
322
  }
326
323
  }
327
324
 
328
325
  if (validationShouldRun || elem.hasAttribute('error')) {
329
- if (elem.validity && elem.validity !== 'valid') {
330
- // Use the validity message override if it is declared
331
- if (elem.ValidityMessageOverride) {
332
- elem.setCustomValidity = elem.ValidityMessageOverride;
333
- }
326
+ // Use the validity message override if it is declared
327
+ if (elem.validity && elem.validity !== 'valid' && elem.ValidityMessageOverride) {
328
+ elem.errorMessage = elem.ValidityMessageOverride;
334
329
  }
335
330
 
336
331
  this.getErrorMessage(elem);
@@ -376,18 +371,18 @@ let AuroFormValidation$1 = class AuroFormValidation {
376
371
  if (elem.validity !== 'valid') {
377
372
  if (elem.setCustomValidity) {
378
373
  elem.errorMessage = elem.setCustomValidity;
379
- } else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
374
+ } else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
380
375
  const input = elem.renderRoot.querySelector('input');
381
376
 
382
377
  if (input.validationMessage.length > 0) {
383
378
  elem.errorMessage = input.validationMessage;
384
379
  }
385
- } else if (this.inputElements && this.inputElements.length > 0) {
380
+ } else if (this.inputElements?.length > 0 && elem.errorMessage === '') {
386
381
  const firstInput = this.inputElements[0];
387
382
 
388
383
  if (firstInput.validationMessage.length > 0) {
389
384
  elem.errorMessage = firstInput.validationMessage;
390
- } else if (this.inputElements.length === 2) {
385
+ } else if (this.inputElements?.length === 2) {
391
386
  const secondInput = this.inputElements[1];
392
387
 
393
388
  if (secondInput.validationMessage.length > 0) {
@@ -2805,7 +2800,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
2805
2800
 
2806
2801
  var iconVersion$1 = '6.1.2';
2807
2802
 
2808
- var styleCss$1$1 = i$3$1`:host{position:relative;display:inline-block;max-width:100%}:host([fluid]){display:block}#bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}.label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);white-space:normal}.trigger{position:relative;display:flex;align-items:center;border-width:1px;border-style:solid}@media(hover: hover){.trigger:hover{cursor:pointer}}.triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}#showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;margin-left:var(--ds-size-100, 0.5rem)}#showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}#showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}.helpText{margin-top:var(--ds-size-50, 0.25rem);font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem)}:host([matchwidth]) #bibSizer{width:100%}:host([disabled]){pointer-events:none}:host([inset]) .trigger{padding:var(--ds-size-150, 0.75rem) var(--ds-size-200, 1rem)}:host([common]) .trigger,:host([inset][bordered]) .trigger{padding:var(--ds-size-200, 1rem) var(--ds-size-150, 0.75rem)}:host([common]) .trigger,:host([rounded]) .trigger{border-radius:var(--ds-border-radius, 0.375rem)}`;
2803
+ var styleCss$1$1 = i$3$1`:host{position:relative;display:inline-block;max-width:100%}:host([fluid]){display:block}#bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}.label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}.label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}.trigger{position:relative;display:flex;align-items:center;border-width:1px;border-style:solid}@media(hover: hover){.trigger:hover{cursor:pointer}}.triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}#showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;margin-left:var(--ds-size-100, 0.5rem)}#showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}#showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}.helpText{margin-top:var(--ds-size-50, 0.25rem);font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem)}:host([matchwidth]) #bibSizer{width:100%}:host([disabled]){pointer-events:none}:host([inset]) .trigger{padding:var(--ds-size-150, 0.75rem) var(--ds-size-200, 1rem)}:host([common]) .trigger,:host([inset][bordered]) .trigger{padding:var(--ds-size-200, 1rem) var(--ds-size-150, 0.75rem)}:host([common]) .trigger,:host([rounded]) .trigger{border-radius:var(--ds-border-radius, 0.375rem)}`;
2809
2804
 
2810
2805
  var colorCss$1$1 = i$3$1`.label{color:var(--ds-auro-dropdown-label-text-color)}.trigger{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-container-color);color:var(--ds-auro-dropdown-trigger-text-color)}.trigger:focus-within,.trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8)}.trigger:focus-within:not(:active){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5);outline:1px solid var(--ds-color-border-ui-focus-default, #2c67b5)}.trigger:hover{--ds-auro-dropdown-trigger-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}.helpText{color:var(--ds-auro-dropdown-help-text-color)}:host([disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-color-text-ui-disabled-default, #adadad);--ds-auro-dropdown-label-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host([common]),:host([bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-primary-default, #585e67)}:host([common]) .trigger:active,:host([common]) .trigger:focus-within,:host([bordered]) .trigger:active,:host([bordered]) .trigger:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5)}:host([error]){--ds-auro-dropdown-help-text-color: var(--ds-color-text-error-default, #cc1816);--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-error-default, #cc1816)}:host([error]) .trigger{outline:solid 1px var(--ds-auro-dropdown-trigger-border-color)}:host([error]) .trigger:focus-within,:host([error]) .trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8)}:host([error]) .trigger:active{box-shadow:none;outline:none}:host([disabled][common]),:host([disabled][bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-disabled-default, #adadad)}`;
2811
2806
 
@@ -2829,9 +2824,6 @@ const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
2829
2824
  ];
2830
2825
 
2831
2826
  /**
2832
- * @attr { Boolean } common - If declared, will apply all styles for the common theme.
2833
- * @attr { Boolean } rounded - If declared, will apply border-radius to the bib.
2834
- * @attr { Boolean } inset - If declared, will apply extra padding to bib content.
2835
2827
  * @prop { String } mobileFullscreenBreakpoint - Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
2836
2828
  * @csspart bibContainer - Apply css to the bib container.
2837
2829
  */
@@ -2857,14 +2849,26 @@ class AuroDropdownBib extends r$5 {
2857
2849
 
2858
2850
  static get properties() {
2859
2851
  return {
2852
+
2853
+ /**
2854
+ * If declared, will apply all styles for the common theme.
2855
+ */
2860
2856
  common: {
2861
2857
  type: Boolean,
2862
2858
  reflect: true
2863
2859
  },
2860
+
2861
+ /**
2862
+ * If declared, will apply extra padding to bib content.
2863
+ */
2864
2864
  inset: {
2865
2865
  type: Boolean,
2866
2866
  reflect: true
2867
2867
  },
2868
+
2869
+ /**
2870
+ * If declared, will apply border-radius to the bib.
2871
+ */
2868
2872
  rounded: {
2869
2873
  type: Boolean,
2870
2874
  reflect: true
@@ -2908,22 +2912,7 @@ if (!customElements.get("auro-dropdownbib")) {
2908
2912
 
2909
2913
 
2910
2914
  /**
2911
- * @attr { Boolean } bordered - If declared, applies a border around the trigger slot.
2912
- * @attr { Boolean } common - If declared, the dropdown will be styled with the common theme.
2913
- * @attr { Boolean } chevron - If declared, the dropdown displays an display state chevron on the right.
2914
- * @attr { Boolean } disabled - If declared, the dropdown is not interactive.
2915
2915
  * @attr { Boolean } disableEventShow - If declared, the dropdown will only show by calling the API .show() public method.
2916
- * @attr { Boolean } error - If declared in combination with `bordered` property or `helpText` slot content, will apply red color to both.
2917
- * @attr {Boolean} fluid - Makes the trigger to be full width of its parent container
2918
- * @attr { Boolean } matchWidth - If declared, the popover and trigger will be set to the same width.
2919
- * @attr { Boolean } inset - If declared, will apply padding around trigger slot content.
2920
- * @attr { Boolean } rounded - If declared, will apply border-radius to trigger and default slots.
2921
- * @attr { Boolean } hoverToggle - if declared, the trigger will toggle the big on mouseover/mouseout.
2922
- * @attr { Boolean } noToggle - If declared, the trigger will only show the dropdown bib.
2923
- * @attr { Boolean } focusShow - if declared, the bib will display when focus is applied to the trigger.
2924
- * @attr { Boolean } noHideOnThisFocusLoss - If declared, the dropdown will not hide when moving focus outside the element.
2925
- * @attr { String } mobileFullscreenBreakpoint - Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
2926
- * @prop { Boolean } isPopoverVisible - If true, the dropdown bib is displayed.
2927
2916
  * @slot - Default slot for the popover content.
2928
2917
  * @slot label - Defines the content of the label.
2929
2918
  * @slot helpText - Defines the content of the helpText.
@@ -2961,6 +2950,16 @@ class AuroDropdown extends r$5 {
2961
2950
  this.tabIndex = 0;
2962
2951
  this.noToggle = false;
2963
2952
 
2953
+ /**
2954
+ * @private
2955
+ */
2956
+ this.hasTriggerContent = false;
2957
+
2958
+ /**
2959
+ * @private
2960
+ */
2961
+ this.triggerContentSlot = undefined;
2962
+
2964
2963
  /**
2965
2964
  * @private
2966
2965
  */
@@ -3007,89 +3006,166 @@ class AuroDropdown extends r$5 {
3007
3006
  // function to define props used within the scope of this component
3008
3007
  static get properties() {
3009
3008
  return {
3009
+
3010
+ /**
3011
+ * If declared, applies a border around the trigger slot.
3012
+ */
3010
3013
  bordered: {
3011
3014
  type: Boolean,
3012
3015
  reflect: true
3013
3016
  },
3017
+
3018
+ /**
3019
+ * If declared, the dropdown displays a chevron on the right.
3020
+ * @attr {Boolean} chevron
3021
+ */
3014
3022
  chevron: {
3015
3023
  type: Boolean,
3016
3024
  reflect: true
3017
3025
  },
3018
- disabled: {
3026
+
3027
+ /**
3028
+ * If declared, the dropdown will be styled with the common theme.
3029
+ */
3030
+ common: {
3019
3031
  type: Boolean,
3020
3032
  reflect: true
3021
3033
  },
3022
- error: {
3034
+
3035
+ /**
3036
+ * If declared, the dropdown is not interactive.
3037
+ */
3038
+ disabled: {
3023
3039
  type: Boolean,
3024
3040
  reflect: true
3025
3041
  },
3026
- fluid: {
3042
+
3043
+ /**
3044
+ * @private
3045
+ */
3046
+ dropdownWidth: {
3047
+ type: Number
3048
+ },
3049
+
3050
+ /**
3051
+ * If declared in combination with `bordered` property or `helpText` slot content, will apply red color to both.
3052
+ */
3053
+ error: {
3027
3054
  type: Boolean,
3028
- reflect: true,
3055
+ reflect: true
3029
3056
  },
3057
+
3058
+ /**
3059
+ * If declared, the bib will display when focus is applied to the trigger.
3060
+ */
3030
3061
  focusShow: {
3031
3062
  type: Boolean,
3032
3063
  reflect: true
3033
3064
  },
3034
- hoverToggle: {
3065
+
3066
+ /**
3067
+ * Makes the trigger to be full width of its parent container.
3068
+ */
3069
+ fluid: {
3035
3070
  type: Boolean,
3036
3071
  reflect: true
3037
3072
  },
3073
+
3074
+ /**
3075
+ * If declared, will apply padding around trigger slot content.
3076
+ */
3038
3077
  inset: {
3039
3078
  type: Boolean,
3040
3079
  reflect: true
3041
3080
  },
3042
- matchWidth: {
3081
+
3082
+ /**
3083
+ * If true, the dropdown bib is displayed.
3084
+ */
3085
+ isPopoverVisible: {
3086
+ type: Boolean
3087
+ },
3088
+
3089
+ /**
3090
+ * If declared, the trigger will toggle the dropdown on mouseover/mouseout.
3091
+ */
3092
+ hoverToggle: {
3043
3093
  type: Boolean,
3044
3094
  reflect: true
3045
3095
  },
3046
- rounded: {
3047
- type: Boolean,
3096
+
3097
+ /**
3098
+ * @private
3099
+ */
3100
+ hasTriggerContent: {
3101
+ type: Boolean
3102
+ },
3103
+
3104
+ /**
3105
+ * Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
3106
+ */
3107
+ mobileFullscreenBreakpoint: {
3108
+ type: String,
3048
3109
  reflect: true
3049
3110
  },
3050
- common: {
3111
+
3112
+ /**
3113
+ * If declared, the popover and trigger will be set to the same width.
3114
+ */
3115
+ matchWidth: {
3051
3116
  type: Boolean,
3052
3117
  reflect: true
3053
3118
  },
3054
- noToggle: {
3119
+
3120
+ /**
3121
+ * If declared, the dropdown will not hide when moving focus outside the element.
3122
+ */
3123
+ noHideOnThisFocusLoss: {
3055
3124
  type: Boolean,
3056
3125
  reflect: true
3057
3126
  },
3058
- noHideOnThisFocusLoss: {
3127
+
3128
+ /**
3129
+ * If declared, the trigger will only show the dropdown bib.
3130
+ */
3131
+ noToggle: {
3059
3132
  type: Boolean,
3060
3133
  reflect: true
3061
3134
  },
3062
- isPopoverVisible: { type: Boolean },
3135
+
3063
3136
  onSlotChange: {
3064
3137
  type: Function,
3065
3138
  reflect: false
3066
3139
  },
3067
- mobileFullscreenBreakpoint: {
3068
- type: String,
3069
- reflect: true,
3070
- },
3071
3140
 
3072
3141
  /**
3073
3142
  * @private
3074
3143
  */
3075
- dropdownWidth: { type: Number },
3144
+ placement: {
3145
+ type: String
3146
+ },
3076
3147
 
3077
3148
  /**
3078
- * @private
3149
+ * If declared, will apply border-radius to trigger and default slots.
3079
3150
  */
3080
- placement: { type: String },
3151
+ rounded: {
3152
+ type: Boolean,
3153
+ reflect: true
3154
+ },
3081
3155
 
3082
3156
  /**
3083
3157
  * @private
3084
3158
  */
3085
- tabIndex: { type: Number }
3159
+ tabIndex: {
3160
+ type: Number
3161
+ }
3086
3162
  };
3087
3163
  }
3088
3164
 
3089
3165
  static get styles() {
3090
3166
  return [
3091
- styleCss$1$1,
3092
3167
  colorCss$1$1,
3168
+ styleCss$1$1,
3093
3169
  tokensCss$4
3094
3170
  ];
3095
3171
  }
@@ -3120,6 +3196,12 @@ class AuroDropdown extends r$5 {
3120
3196
  if (changedProperties.has('mobileFullscreenBreakpoint')) {
3121
3197
  this.bibContent.mobileFullscreenBreakpoint = this.mobileFullscreenBreakpoint;
3122
3198
  }
3199
+
3200
+ // when trigger's content is changed without any attribute or node change,
3201
+ // `requestUpdate` needs to be called to update hasTriggerContnet
3202
+ if (changedProperties.size === 0 || changedProperties.has('isPopoverVisible')) {
3203
+ this.handleTriggerContentSlotChange();
3204
+ }
3123
3205
  }
3124
3206
 
3125
3207
  firstUpdated() {
@@ -3162,6 +3244,43 @@ class AuroDropdown extends r$5 {
3162
3244
  return inCustomSlot;
3163
3245
  }
3164
3246
 
3247
+ /**
3248
+ * Handles changes to the trigger content slot and updates related properties.
3249
+ *
3250
+ * It first updates the floater settings
3251
+ * Then, it retrieves the assigned nodes from the event target and checks if any of
3252
+ * the nodes contain non-empty text content, updating the `hasTriggerContent` property accordingly.
3253
+ *
3254
+ * @private
3255
+ * @method handleTriggerContentSlotChange
3256
+ * @param {Event} event - native slotchange event
3257
+ * @returns {void}
3258
+ */
3259
+ handleTriggerContentSlotChange(event) {
3260
+ this.floater.handleTriggerTabIndex();
3261
+
3262
+ if (event) {
3263
+ this.triggerNode = event.target;
3264
+ this.triggerContentSlot = event.target.assignedNodes();
3265
+ }
3266
+
3267
+ if (this.triggerContentSlot) {
3268
+ this.hasTriggerContent = this.triggerContentSlot.some((slot) => {
3269
+ if (slot.textContent.trim()) {
3270
+ return true;
3271
+ }
3272
+ const slotInSlot = slot.querySelector('slot');
3273
+ if (!slotInSlot) {
3274
+ return false;
3275
+ }
3276
+ const slotsInSlotNodes = slotInSlot.assignedNodes();
3277
+ return slotsInSlotNodes.some((ss) => Boolean(ss.textContent.trim()));
3278
+ });
3279
+ } else {
3280
+ this.hasTriggerContent = false;
3281
+ }
3282
+ }
3283
+
3165
3284
  /**
3166
3285
  * Handles the default slot change event and updates the content.
3167
3286
  *
@@ -3196,13 +3315,13 @@ class AuroDropdown extends r$5 {
3196
3315
  tabindex="${this.tabIndex}"
3197
3316
  >
3198
3317
  <div class="triggerContentWrapper">
3199
- <label class="label" id="triggerLabel">
3318
+ <label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
3200
3319
  <slot name="label"></slot>
3201
3320
  </label>
3202
3321
  <div class="triggerContent">
3203
3322
  <slot
3204
3323
  name="trigger"
3205
- @slotchange="${() => {this.floater.handleTriggerTabIndex(); }}"></slot>
3324
+ @slotchange="${(event) => this.handleTriggerContentSlotChange(event)}"></slot>
3206
3325
  </div>
3207
3326
  </div>
3208
3327
  ${this.chevron || this.common ? u$1$1`
@@ -3412,7 +3531,7 @@ const t=globalThis,e$1=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShad
3412
3531
  * SPDX-License-Identifier: BSD-3-Clause
3413
3532
  */class r extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1);}render(){return T}}r._$litElement$=!0,r["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:r});const i=globalThis.litElementPolyfillSupport;i?.({LitElement:r});(globalThis.litElementVersions??=[]).push("4.1.1");
3414
3533
 
3415
- var styleCss$3 = i$2`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.typeIcon{display:flex;flex-direction:row;align-items:center}.typeIcon [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-100, 0.5rem)}.notificationIcons{display:flex;flex-direction:row;padding-right:var(--ds-size-100, 0.5rem)}:host([bordered]) .typeIcon{padding-left:var(--ds-size-100, 0.5rem)}:host([bordered]) .notificationIcons{align-items:center}.notification:not(:first-of-type){margin-left:var(--ds-size-100, 0.5rem)}.alertNotification{width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem))}.clearBtn{width:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));opacity:0;pointer-events:none}:host .wrapper:hover .clearBtn,:host .wrapper:focus-within .clearBtn{opacity:1;pointer-events:auto}.passwordBtn{width:calc(var(--ds-size-300, 1.5rem));height:calc(var(--ds-size-300, 1.5rem))}.notificationBtn{display:block;width:var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);padding:0;border:0;background:unset;cursor:pointer}.notificationBtn [auro-icon]{display:block;height:var(--ds-size-300, 1.5rem);--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}.notificationBtn [auro-icon][hidden]{display:none}:host(:not([bordered])) .typeIcon,:host(:not([bordered])) .notificationIcons{align-items:flex-end;padding-bottom:var(--ds-size-50, 0.25rem)}:host(:focus-within[type=password]) .notificationIcons[hasValue] .alertNotification{overflow:hidden;width:0;height:0;padding:0;margin:0;visibility:hidden}.inputElement-helpText{margin:var(--ds-size-50, 0.25rem) 0;font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-size-200, 1rem)}input{border:unset}.wrapper{position:relative;overflow:hidden;border-style:solid}:host(:not([bordered],[borderless])) .wrapper{border-width:1px 0}:host([bordered]) .wrapper{border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}:host(:not([borderless])) .wrapper:focus-within:before{position:absolute;display:block;border-bottom-width:1px;border-bottom-style:solid;content:"";inset:0;pointer-events:none}:host([validity]:not([validity=valid])) .wrapper:before{border-bottom:0}label{position:absolute;overflow:hidden;pointer-events:none;text-overflow:ellipsis;transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:nowrap}:host(:not([bordered])) label{top:calc(100% - var(--ds-size-25, 0.125rem));transform:translateY(-100%)}:host(:not([bordered])) label.withIcon{left:var(--ds-size-400, 2rem)}:host([bordered]) label{top:50%;transform:translateY(-50%)}:host([bordered]) label.withIcon{left:var(--ds-size-500, 2.5rem)}:host([bordered]) label:not(label.withIcon){left:var(--ds-size-100, 0.5rem)}:host .wrapper:focus-within label{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host label.withValue{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host([activeLabel]) .wrapper label{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host{--size-lgsm: 1.875rem;--size-xlsm: 2.75rem;--size-mdxxs: 1.2rem;position:relative;display:block}.wrapper{display:flex;flex-direction:row}.main{display:flex;flex-direction:row;position:relative;flex:1}input{position:relative;overflow:hidden;min-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));max-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));flex:1;padding:var(--ds-size-400, 2rem) 0 var(--ds-size-50, 0.25rem);margin:0;font-family:var(--ds-font-family-default, "AS Circular", Helvetica Neue, Arial, sans-serif);font-size:var(--ds-size-200, 1rem);outline:none;text-overflow:ellipsis;transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:nowrap}input::-ms-reveal,input::-ms-clear{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}input[type=number]{-moz-appearance:textfield;appearance:textfield}input:disabled{background:none;pointer-events:none}:host([bordered]) input{padding:var(--ds-size-400, 2rem) 0 var(--ds-size-100, 0.5rem)}`;
3534
+ var styleCss$3 = i$2`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.typeIcon{display:flex;flex-direction:row;align-items:center}.typeIcon [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-100, 0.5rem)}.notificationIcons{display:flex;flex-direction:row;padding-right:var(--ds-size-100, 0.5rem)}:host([bordered]) .typeIcon{padding-left:var(--ds-size-100, 0.5rem)}:host([bordered]) .notificationIcons{align-items:center}.notification:not(:first-of-type){margin-left:var(--ds-size-100, 0.5rem)}.alertNotification{width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem))}.passwordBtn{width:calc(var(--ds-size-300, 1.5rem));height:calc(var(--ds-size-300, 1.5rem))}.notificationBtn{display:block;width:var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);padding:0;border:0;background:unset;cursor:pointer}.notificationBtn [auro-icon]{display:block;height:var(--ds-size-300, 1.5rem);--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}.notificationBtn [auro-icon][hidden]{display:none}:host(:not([bordered])) .typeIcon,:host(:not([bordered])) .notificationIcons{align-items:flex-end;padding-bottom:var(--ds-size-50, 0.25rem)}.clearBtn{transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);overflow:hidden;width:0;opacity:0}:host .wrapper:hover .clearBtn,:host .wrapper:focus-within .clearBtn{width:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));opacity:1}:host(:focus-within[type=password]) .notificationIcons[hasValue] .alertNotification{overflow:hidden;width:0;height:0;padding:0;margin:0;visibility:hidden}.inputElement-helpText{margin:var(--ds-size-50, 0.25rem) 0;font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-size-200, 1rem)}input{border:unset}.wrapper{position:relative;overflow:hidden;border-style:solid}:host(:not([bordered],[borderless])) .wrapper{border-width:1px 0}:host([bordered]) .wrapper{border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}:host(:not([borderless])) .wrapper:focus-within:before{position:absolute;display:block;border-bottom-width:1px;border-bottom-style:solid;content:"";inset:0;pointer-events:none}:host([validity]:not([validity=valid])) .wrapper:before{border-bottom:0}label{transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);position:absolute;overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}:host(:not([bordered])) label{top:calc(100% - var(--ds-size-25, 0.125rem));transform:translateY(-100%)}:host(:not([bordered])) label.withIcon{left:var(--ds-size-400, 2rem)}:host([bordered]) label{top:50%;transform:translateY(-50%)}:host([bordered]) label.withIcon{left:var(--ds-size-500, 2.5rem)}:host([bordered]) label:not(label.withIcon){left:var(--ds-size-100, 0.5rem)}:host .wrapper:focus-within label{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host label.withValue{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host([activeLabel]) .wrapper label{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host{position:relative;display:block}.wrapper{display:flex;flex-direction:row}.main{display:flex;flex-direction:row;position:relative;flex:1}input{transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);position:relative;overflow:hidden;min-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));max-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));flex:1;padding:var(--ds-size-400, 2rem) 0 var(--ds-size-50, 0.25rem);margin:0;font-family:var(--ds-font-family-default, "AS Circular", Helvetica Neue, Arial, sans-serif);font-size:var(--ds-size-200, 1rem);outline:none;text-overflow:ellipsis;white-space:nowrap}input::-ms-reveal,input::-ms-clear{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}input[type=number]{-moz-appearance:textfield;appearance:textfield}input:disabled{background:none;pointer-events:none}:host([bordered]) input{padding:var(--ds-size-400, 2rem) 0 var(--ds-size-100, 0.5rem)}`;
3416
3535
 
3417
3536
  var colorCss$3 = i$2`.wrapper{border-color:transparent}.inputElement-helpText{color:var(--ds-auro-input-help-text-color)}input{background-color:transparent;caret-color:var(--ds-auro-input-caret-color);color:var(--ds-auro-input-text-color)}input::placeholder{color:transparent}input:focus::placeholder{color:var(--ds-auro-input-placeholder-text-color)}input:disabled{--ds-auro-input-input-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}label{color:var(--ds-auro-input-label-text-color)}:host(:not([bordered],[borderless])) .wrapper{border-bottom-color:var(--ds-auro-input-border-color)}:host([bordered]) .wrapper{border-color:var(--ds-auro-input-border-color);background-color:var(--ds-auro-input-container-color)}:host([bordered]) .wrapper:focus-within{--ds-auro-input-border-color: var(--ds-color-border-ui-focus-default, #2c67b5);box-shadow:inset 0 0 0 1px var(--ds-auro-input-border-color)}:host(:not([borderless])) .wrapper:focus-within{--ds-auro-input-border-color: var(--ds-color-border-ui-focus-default, #2c67b5)}:host(:not([borderless])) .wrapper:focus-within:before{border-bottom-color:transparent}:host([validity]:not([validity=valid])){--ds-auro-input-border-color: var(--ds-color-border-error-default, #cc1816);--ds-auro-input-help-text-color: var(--ds-color-text-error-default, #cc1816)}:host([validity]:not([validity=valid])[bordered]) .wrapper{--ds-auro-input-border-color: var(--ds-color-border-error-default, #cc1816);box-shadow:inset 0 0 0 1px var(--ds-auro-input-border-color)}:host([disabled]){--ds-auro-input-border-color: var(--ds-color-border-ui-disabled-default, #adadad);--ds-auro-input-label-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}`;
3418
3537
 
@@ -5089,20 +5208,20 @@ class AuroFormValidation {
5089
5208
  const pattern = new RegExp(`^${elem.pattern}$`, 'u');
5090
5209
 
5091
5210
  if (!pattern.test(elem.value)) {
5092
- elem.validity = 'badInput';
5093
- elem.setCustomValidity = elem.setCustomValidityBadInput || '';
5211
+ elem.validity = 'patternMismatch';
5212
+ elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || '';
5094
5213
  }
5095
5214
  }
5096
5215
 
5097
5216
  // Length > 0 is required to prevent the error message from showing when the input is empty
5098
5217
  if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
5099
5218
  elem.validity = 'tooShort';
5100
- elem.setCustomValidity = elem.setCustomValidityTooShort || '';
5219
+ elem.errorMessage = elem.setCustomValidityTooShort || elem.setCustomValidity || '';
5101
5220
  }
5102
5221
 
5103
5222
  if (elem.value?.length > elem.maxLength) {
5104
5223
  elem.validity = 'tooLong';
5105
- elem.setCustomValidity = elem.setCustomValidityTooLong || '';
5224
+ elem.errorMessage = elem.setCustomValidityTooLong || elem.setCustomValidity || '';
5106
5225
  }
5107
5226
  }
5108
5227
 
@@ -5118,33 +5237,32 @@ class AuroFormValidation {
5118
5237
  const emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; // eslint-disable-line require-unicode-regexp
5119
5238
 
5120
5239
  if (!elem.value.match(emailRegex)) {
5121
- elem.validity = 'badInput';
5122
- elem.setCustomValidity = elem.setCustomValidityForType || '';
5240
+ elem.validity = 'patternMismatch';
5241
+ elem.errorMessage = elem.setCustomValidityForType || elem.setCustomValidity || '';
5123
5242
  }
5124
5243
  } else if (elem.type === 'credit-card') {
5125
5244
  if (elem.value.length > 0 && elem.value.length < elem.validationCCLength) {
5126
5245
  elem.validity = 'tooShort';
5127
- elem.setCustomValidity = elem.setCustomValidityForType || '';
5246
+ elem.errorMessage = elem.setCustomValidityForType || elem.setCustomValidity || '';
5128
5247
  }
5129
5248
  } else if (elem.type === 'number') {
5130
5249
  if (elem.max !== undefined && Number(elem.max) < Number(elem.value)) {
5131
5250
  elem.validity = 'rangeOverflow';
5132
- elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeOverflow') || '';
5251
+ elem.errorMessage = elem.setCustomValidityRangeOverflow || elem.setCustomValidity || '';
5133
5252
  }
5134
5253
 
5135
- if (elem.min !== undefined && Number(elem.min) > Number(elem.value)) {
5254
+ if (elem.min !== undefined && elem.value?.length > 0 && Number(elem.min) > Number(elem.value)) {
5136
5255
  elem.validity = 'rangeUnderflow';
5137
- elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeUnderflow') || '';
5256
+ elem.errorMessage = elem.setCustomValidityRangeUnderflow || elem.setCustomValidity || '';
5138
5257
  }
5139
-
5140
5258
  } else if (elem.type === 'month-day-year' ||
5141
5259
  elem.type === 'month-year' ||
5142
5260
  elem.type === 'month-fullYear' ||
5143
5261
  elem.type === 'year-month-day'
5144
5262
  ) {
5145
- if (elem.value && elem.value.length > 0 && elem.value.length < elem.dateStrLength) {
5263
+ if (elem.value?.length > 0 && elem.value.length < elem.dateStrLength) {
5146
5264
  elem.validity = 'tooShort';
5147
- elem.setCustomValidity = elem.setCustomValidityForType || '';
5265
+ elem.errorMessage = elem.setCustomValidityForType || elem.setCustomValidity || '';
5148
5266
  } else {
5149
5267
  const valueDate = new Date(elem.value);
5150
5268
 
@@ -5154,7 +5272,7 @@ class AuroFormValidation {
5154
5272
 
5155
5273
  if (valueDate > maxDate) {
5156
5274
  elem.validity = 'rangeOverflow';
5157
- elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeOverflow') || '';
5275
+ elem.errorMessage = elem.setCustomValidityRangeOverflow || elem.setCustomValidity || '';
5158
5276
  }
5159
5277
  }
5160
5278
 
@@ -5164,7 +5282,7 @@ class AuroFormValidation {
5164
5282
 
5165
5283
  if (valueDate < minDate) {
5166
5284
  elem.validity = 'rangeUnderflow';
5167
- elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeUnderflow') || '';
5285
+ elem.errorMessage = elem.setCustomValidityRangeUnderflow || elem.setCustomValidity || '';
5168
5286
  }
5169
5287
  }
5170
5288
  }
@@ -5187,10 +5305,10 @@ class AuroFormValidation {
5187
5305
 
5188
5306
  if (elem.hasAttribute('error')) {
5189
5307
  elem.validity = 'customError';
5190
- elem.setCustomValidity = elem.error;
5308
+ elem.errorMessage = elem.setCustomValidityCustomError || elem.error || elem.setCustomValidity || '';
5191
5309
  } else if (validationShouldRun) {
5192
5310
  elem.validity = 'valid';
5193
- elem.setCustomValidity = '';
5311
+ elem.errorMessage = '';
5194
5312
 
5195
5313
  /**
5196
5314
  * Only validate once we interact with the datepicker
@@ -5202,7 +5320,7 @@ class AuroFormValidation {
5202
5320
  let hasValue = elem.value && elem.value.length > 0;
5203
5321
 
5204
5322
  // If there is a second input in the elem and that value is undefined or an empty string set hasValue to false;
5205
- if (this.auroInputElements && this.auroInputElements.length === 2) {
5323
+ if (this.auroInputElements?.length === 2) {
5206
5324
  if (!this.auroInputElements[1].value || this.auroInputElements[1].length === 0) {
5207
5325
  hasValue = false;
5208
5326
  }
@@ -5210,31 +5328,27 @@ class AuroFormValidation {
5210
5328
 
5211
5329
  if (!hasValue && elem.required) {
5212
5330
  elem.validity = 'valueMissing';
5213
- elem.setCustomValidity = elem.setCustomValidityValueMissing || '';
5331
+ elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
5214
5332
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
5215
5333
  this.validateType(elem);
5216
5334
  this.validateAttributes(elem);
5217
5335
  }
5218
5336
  }
5219
5337
 
5220
- if (this.auroInputElements && this.auroInputElements.length > 0) {
5338
+ if (this.auroInputElements?.length > 0) {
5221
5339
  elem.validity = this.auroInputElements[0].validity;
5222
- elem.setCustomValidity = this.auroInputElements[0].setCustomValidity;
5340
+ elem.errorMessage = this.auroInputElements[0].errorMessage;
5223
5341
 
5224
- if (elem.validity === 'valid') {
5225
- if (this.auroInputElements.length > 1) {
5226
- elem.validity = this.auroInputElements[1].validity;
5227
- elem.setCustomValidity = this.auroInputElements[1].setCustomValidity;
5228
- }
5342
+ if (elem.validity === 'valid' && this.auroInputElements.length > 1) {
5343
+ elem.validity = this.auroInputElements[1].validity;
5344
+ elem.errorMessage = this.auroInputElements[1].errorMessage;
5229
5345
  }
5230
5346
  }
5231
5347
 
5232
5348
  if (validationShouldRun || elem.hasAttribute('error')) {
5233
- if (elem.validity && elem.validity !== 'valid') {
5234
- // Use the validity message override if it is declared
5235
- if (elem.ValidityMessageOverride) {
5236
- elem.setCustomValidity = elem.ValidityMessageOverride;
5237
- }
5349
+ // Use the validity message override if it is declared
5350
+ if (elem.validity && elem.validity !== 'valid' && elem.ValidityMessageOverride) {
5351
+ elem.errorMessage = elem.ValidityMessageOverride;
5238
5352
  }
5239
5353
 
5240
5354
  this.getErrorMessage(elem);
@@ -5280,18 +5394,18 @@ class AuroFormValidation {
5280
5394
  if (elem.validity !== 'valid') {
5281
5395
  if (elem.setCustomValidity) {
5282
5396
  elem.errorMessage = elem.setCustomValidity;
5283
- } else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
5397
+ } else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
5284
5398
  const input = elem.renderRoot.querySelector('input');
5285
5399
 
5286
5400
  if (input.validationMessage.length > 0) {
5287
5401
  elem.errorMessage = input.validationMessage;
5288
5402
  }
5289
- } else if (this.inputElements && this.inputElements.length > 0) {
5403
+ } else if (this.inputElements?.length > 0 && elem.errorMessage === '') {
5290
5404
  const firstInput = this.inputElements[0];
5291
5405
 
5292
5406
  if (firstInput.validationMessage.length > 0) {
5293
5407
  elem.errorMessage = firstInput.validationMessage;
5294
- } else if (this.inputElements.length === 2) {
5408
+ } else if (this.inputElements?.length === 2) {
5295
5409
  const secondInput = this.inputElements[1];
5296
5410
 
5297
5411
  if (secondInput.validationMessage.length > 0) {
@@ -5312,42 +5426,8 @@ class AuroFormValidation {
5312
5426
  /**
5313
5427
  * Auro-input provides users a way to enter data into a text field.
5314
5428
  *
5315
- * @attr {Boolean} activeLabel - If set, the label will remain fixed in the active position.
5316
- * @attr {String} autocapitalize - An enumerated attribute that controls whether and how text input is automatically capitalized as it is entered/edited by the user. [off/none, on/sentences, words, characters]
5317
- * @attr {String} autocomplete - An enumerated attribute that defines what the user agent can suggest for autofill. At this time, only `autocomplete="off"` is supported.
5318
- * @attr {String} autocorrect - When set to `off`, stops iOS from auto correcting words when typed into a text box.
5319
5429
  * @attr {Boolean} bordered - Applies bordered UI variant.
5320
5430
  * @attr {Boolean} borderless - Applies borderless UI variant.
5321
- * @attr {Boolean} disabled - If set, disables the input.
5322
- * @attr {String} error - When defined, sets persistent validity to `customError` and sets `setCustomValidity` = attribute value.
5323
- * @prop {String} errorMessage - Contains the help text message for the current validity error.
5324
- * @attr {Boolean} icon - If set, will render an icon inside the input to the left of the value. Support is limited to auro-input instances with credit card format.
5325
- * @attr {String} id - Sets the unique ID of the element.
5326
- * @attr {String} lang - defines the language of an element.
5327
- * @attr {String} max - The maximum value allowed. This only applies for inputs with a type of `number` and all date formats.
5328
- * @attr {Number} maxLength - The maximum number of characters the user can enter into the text input. This must be an integer value `0` or higher.
5329
- * @attr {String} min - The minimum value allowed. This only applies for inputs with a type of `number` and all date formats.
5330
- * @attr {Number} minLength - The minimum number of characters the user can enter into the text input. This must be an non-negative integer value smaller than or equal to the value specified by `maxlength`.
5331
- * @attr {String} name - Populates the `name` attribute on the input.
5332
- * @attr {Boolean} noValidate - If set, disables auto-validation on blur.
5333
- * @attr {Boolean} readonly - Makes the input read-only, but can be set programmatically.
5334
- * @attr {Boolean} required - Populates the `required` attribute on the input. Used for client-side validation.
5335
- * @attr {String} pattern - Specifies a regular expression the form control's value should match.
5336
- * @attr {String} placeholder - Define custom placeholder text, only supported by date input formats.
5337
- * @attr {String} setCustomValidity - Sets a custom help text message to display for all validityStates.
5338
- * @attr {String} setCustomValidityCustomError - Custom help text message to display when validity = `customError`.
5339
- * @attr {String} setCustomValidityValueMissing - Custom help text message to display when validity = `valueMissing`.
5340
- * @attr {String} setCustomValidityBadInput - Custom help text message to display when validity = `badInput`.
5341
- * @attr {String} setCustomValidityTooShort - Custom help text message to display when validity = `tooShort`.
5342
- * @attr {String} setCustomValidityTooLong - Custom help text message to display when validity = `tooLong`.
5343
- * @attr {String} setCustomValidityForType - Custom help text message to display for the declared element `type` and type validity fails.
5344
- * @attr {String} setCustomValidityRangeOverflow - Custom help text message to display when validity = `rangeOverflow`.
5345
- * @attr {String} setCustomValidityRangeUnderflow - Custom help text message to display when validity = `rangeUnderflow`.
5346
- * @attr {String} spellcheck - An enumerated attribute defines whether the element may be checked for spelling errors. [true, false]. When set to `false` the attribute `autocorrect` is set to `off` and `autocapitalize` is set to `none`.
5347
- * @attr {String} type - Populates the `type` attribute on the input. Allowed values are `password`, `email`, `credit-card`, `month-day-year`, `month-year`, `year-month-day` or `text`. If given value is not allowed or set, defaults to `text`.
5348
- * @attr {Boolean} validateOnInput - Sets validation mode to re-eval with each input.
5349
- * @attr {String} validity - Specifies the `validityState` this element is in.
5350
- * @attr {String} value - Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
5351
5431
  *
5352
5432
  * @slot helptext - Sets the help text displayed below the input.
5353
5433
  * @slot label - Sets the label text for the input.
@@ -5439,71 +5519,272 @@ class BaseInput extends r {
5439
5519
  .substring(idSubstrStart, idSubstrEnd);
5440
5520
  }
5441
5521
 
5442
- // function to define props used within the scope of this component
5522
+ // function to define props used within the scope of this componentstatic
5443
5523
  static get properties() {
5444
5524
  return {
5445
- id: { type: String },
5446
- name: { type: String },
5447
- type: { type: String,
5448
- reflect: true },
5449
- value: { type: String },
5450
- lang: { type: String },
5451
- pattern: {
5525
+
5526
+ /**
5527
+ * If set, the label will remain fixed in the active position.
5528
+ */
5529
+ activeLabel: {
5530
+ type: Boolean,
5531
+ reflect: true
5532
+ },
5533
+
5534
+ /**
5535
+ * An enumerated attribute that controls whether and how text input is automatically capitalized as it is entered/edited by the user. [off/none, on/sentences, words, characters]
5536
+ */
5537
+ autocapitalize: {
5538
+ type: String
5539
+ },
5540
+
5541
+ /**
5542
+ * An enumerated attribute that defines what the user agent can suggest for autofill. At this time, only `autocomplete="off"` is supported.
5543
+ */
5544
+ autocomplete: {
5452
5545
  type: String,
5453
5546
  reflect: true
5454
5547
  },
5455
- icon: { type: Boolean },
5456
- disabled: { type: Boolean },
5457
- required: { type: Boolean },
5458
- noValidate: { type: Boolean },
5459
- spellcheck: { type: String },
5460
- autocorrect: { type: String },
5461
- autocapitalize: { type: String },
5462
- autocomplete: {
5548
+
5549
+ /**
5550
+ * When set to `off`, stops iOS from auto-correcting words when typed into a text box.
5551
+ */
5552
+ autocorrect: {
5553
+ type: String
5554
+ },
5555
+
5556
+ /**
5557
+ * If set, disables the input.
5558
+ */
5559
+ disabled: {
5560
+ type: Boolean
5561
+ },
5562
+
5563
+ error: {
5463
5564
  type: String,
5464
5565
  reflect: true
5465
5566
  },
5466
- placeholder: { type: String },
5467
- activeLabel: {
5468
- type: Boolean,
5567
+
5568
+ /**
5569
+ * Contains the help text message for the current validity error.
5570
+ */
5571
+ errorMessage: {
5572
+ type: String
5573
+ },
5574
+
5575
+ /**
5576
+ * If set, will render an icon inside the input to the left of the value. Support is limited to auro-input instances with credit card format.
5577
+ */
5578
+ icon: {
5579
+ type: Boolean
5580
+ },
5581
+
5582
+ /**
5583
+ * Sets the unique ID of the element.
5584
+ */
5585
+ id: {
5586
+ type: String
5587
+ },
5588
+
5589
+ /**
5590
+ * Defines the language of an element.
5591
+ */
5592
+ lang: {
5593
+ type: String
5594
+ },
5595
+
5596
+ /**
5597
+ * The maximum value allowed. This only applies for inputs with a type of `number` and all date formats.
5598
+ */
5599
+ max: {
5600
+ type: String
5601
+ },
5602
+
5603
+ /**
5604
+ * The maximum number of characters the user can enter into the text input. This must be an integer value `0` or higher.
5605
+ */
5606
+ maxLength: {
5607
+ type: Number
5608
+ },
5609
+
5610
+ /**
5611
+ * The minimum value allowed. This only applies for inputs with a type of `number` and all date formats.
5612
+ */
5613
+ min: {
5614
+ type: String
5615
+ },
5616
+
5617
+ /**
5618
+ * The minimum number of characters the user can enter into the text input. This must be a non-negative integer value smaller than or equal to the value specified by `maxlength`.
5619
+ */
5620
+ minLength: {
5621
+ type: Number
5622
+ },
5623
+
5624
+ /**
5625
+ * Populates the `name` attribute on the input.
5626
+ */
5627
+ name: {
5628
+ type: String
5629
+ },
5630
+
5631
+ /**
5632
+ * If set, disables auto-validation on blur.
5633
+ */
5634
+ noValidate: {
5635
+ type: Boolean
5636
+ },
5637
+
5638
+ /**
5639
+ * Specifies a regular expression the form control's value should match.
5640
+ */
5641
+ pattern: {
5642
+ type: String,
5469
5643
  reflect: true
5470
5644
  },
5471
- max: { type: String },
5472
- min: { type: String },
5473
- maxLength: { type: Number },
5474
- minLength: { type: Number },
5645
+
5646
+ /**
5647
+ * Define custom placeholder text, only supported by date input formats.
5648
+ */
5649
+ placeholder: {
5650
+ type: String
5651
+ },
5652
+
5653
+ /**
5654
+ * Makes the input read-only, but can be set programmatically.
5655
+ */
5656
+ readonly: {
5657
+ type: Boolean
5658
+ },
5659
+
5660
+ /**
5661
+ * Populates the `required` attribute on the input. Used for client-side validation.
5662
+ */
5663
+ required: {
5664
+ type: Boolean
5665
+ },
5475
5666
 
5476
5667
  /**
5477
5668
  * @ignore
5478
5669
  */
5479
- showPassword: { state: true },
5480
- validateOnInput: { type: Boolean },
5481
- readonly: { type: Boolean },
5482
- error: {
5670
+ showPassword: {
5671
+ state: true
5672
+ },
5673
+
5674
+ /**
5675
+ * Sets a custom help text message to display for all validityStates.
5676
+ */
5677
+ setCustomValidity: {
5678
+ type: String
5679
+ },
5680
+
5681
+ /**
5682
+ * Custom help text message to display when validity = `badInput`.
5683
+ */
5684
+ setCustomValidityBadInput: {
5685
+ type: String
5686
+ },
5687
+
5688
+ /**
5689
+ * Custom help text message to display when validity = `customError`.
5690
+ */
5691
+ setCustomValidityCustomError: {
5692
+ type: String
5693
+ },
5694
+
5695
+ /**
5696
+ * Custom help text message to display for the declared element `type` and type validity fails.
5697
+ */
5698
+ setCustomValidityForType: {
5699
+ type: String
5700
+ },
5701
+
5702
+ /**
5703
+ * Custom help text message to display when validity = `rangeOverflow`.
5704
+ */
5705
+ setCustomValidityRangeOverflow: {
5706
+ type: String
5707
+ },
5708
+
5709
+ /**
5710
+ * Custom help text message to display when validity = `rangeUnderflow`.
5711
+ */
5712
+ setCustomValidityRangeUnderflow: {
5713
+ type: String
5714
+ },
5715
+
5716
+ /**
5717
+ * Custom help text message to display when validity = `tooLong`.
5718
+ */
5719
+ setCustomValidityTooLong: {
5720
+ type: String
5721
+ },
5722
+
5723
+ /**
5724
+ * Custom help text message to display when validity = `tooShort`.
5725
+ */
5726
+ setCustomValidityTooShort: {
5727
+ type: String
5728
+ },
5729
+
5730
+ /**
5731
+ * Custom help text message to display when validity = `valueMissing`.
5732
+ */
5733
+ setCustomValidityValueMissing: {
5734
+ type: String
5735
+ },
5736
+
5737
+ /**
5738
+ * Custom help text message for email type validity.
5739
+ */
5740
+ customValidityTypeEmail: {
5741
+ type: String
5742
+ },
5743
+
5744
+ /**
5745
+ * An enumerated attribute defines whether the element may be checked for spelling errors. [true, false]. When set to `false` the attribute `autocorrect` is set to `off` and `autocapitalize` is set to `none`.
5746
+ */
5747
+ spellcheck: {
5748
+ type: String
5749
+ },
5750
+
5751
+ /**
5752
+ * Populates the `type` attribute on the input. Allowed values are `password`, `email`, `credit-card`, `month-day-year`, `month-year`, `year-month-day` or `text`. If given value is not allowed or set, defaults to `text`.
5753
+ */
5754
+ type: {
5483
5755
  type: String,
5484
5756
  reflect: true
5485
5757
  },
5486
- errorMessage: { type: String },
5487
- validity: {
5758
+
5759
+ /**
5760
+ * Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
5761
+ */
5762
+ value: {
5763
+ type: String
5764
+ },
5765
+
5766
+ /**
5767
+ * Sets validation mode to re-eval with each input.
5768
+ */
5769
+ validateOnInput: {
5770
+ type: Boolean
5771
+ },
5772
+
5773
+ /**
5774
+ * Specifies the `validityState` this element is in.
5775
+ */
5776
+ validity: {
5488
5777
  type: String,
5489
5778
  reflect: true
5490
- },
5491
- setCustomValidity: { type: String },
5492
- setCustomValidityCustomError: { type: String },
5493
- setCustomValidityValueMissing: { type: String },
5494
- setCustomValidityBadInput: { type: String },
5495
- setCustomValidityTooShort: { type: String },
5496
- setCustomValidityTooLong: { type: String },
5497
- setCustomValidityRangeOverflow: { type: String},
5498
- setCustomValidityRangeUnderflow: { type: String},
5499
- customValidityTypeEmail: { type: String }
5779
+ }
5500
5780
  };
5501
5781
  }
5502
5782
 
5783
+
5503
5784
  static get styles() {
5504
5785
  return [
5505
- i$2`${styleCss$3}`,
5506
5786
  i$2`${colorCss$3}`,
5787
+ i$2`${styleCss$3}`,
5507
5788
  i$2`${tokensCss$3}`
5508
5789
  ];
5509
5790
  }
@@ -6124,7 +6405,7 @@ class BaseInput extends r {
6124
6405
  this.maxLength = card.formatLength;
6125
6406
  this.minLength = card.formatMinLength;
6126
6407
 
6127
- this.setCustomValidity = card.setCustomValidity;
6408
+ this.errorMessage = card.errorMessage;
6128
6409
 
6129
6410
  if (this.icon) {
6130
6411
  this.inputIconName = card.cardIcon;
@@ -6144,63 +6425,63 @@ class BaseInput extends r {
6144
6425
  name: 'Airlines',
6145
6426
  regex: /^(?<num>1|2)\d{0}/u,
6146
6427
  formatMinLength: 17,
6147
- setCustomValidity: CreditCardValidationMessage,
6428
+ errorMessage: CreditCardValidationMessage,
6148
6429
  cardIcon: 'credit-card'
6149
6430
  },
6150
6431
  {
6151
6432
  name: 'Commercial',
6152
6433
  regex: /^(?<num>2)\d{0}/u,
6153
6434
  formatMinLength: 8,
6154
- setCustomValidity: CreditCardValidationMessage,
6435
+ errorMessage: CreditCardValidationMessage,
6155
6436
  cardIcon: 'credit-card'
6156
6437
  },
6157
6438
  {
6158
6439
  name: 'Alaska Commercial',
6159
6440
  regex: /^(?<num>27)\d{0}/u,
6160
6441
  formatMinLength: 8,
6161
- setCustomValidity: CreditCardValidationMessage,
6442
+ errorMessage: CreditCardValidationMessage,
6162
6443
  cardIcon: 'cc-alaska'
6163
6444
  },
6164
6445
  {
6165
6446
  name: 'American Express',
6166
6447
  regex: /^(?<num>34|37)\d{0}/u,
6167
6448
  formatLength: 17,
6168
- setCustomValidity: CreditCardValidationMessage,
6449
+ errorMessage: CreditCardValidationMessage,
6169
6450
  cardIcon: 'cc-amex'
6170
6451
  },
6171
6452
  {
6172
6453
  name: 'Diners club',
6173
6454
  regex: /^(?<num>36|38)\d{0}/u,
6174
6455
  formatLength: 16,
6175
- setCustomValidity: CreditCardValidationMessage,
6456
+ errorMessage: CreditCardValidationMessage,
6176
6457
  cardIcon: 'credit-card'
6177
6458
  },
6178
6459
  {
6179
6460
  name: 'Visa',
6180
6461
  regex: /^(?<num>4)\d{0}/u,
6181
6462
  formatLength: 19,
6182
- setCustomValidity: CreditCardValidationMessage,
6463
+ errorMessage: CreditCardValidationMessage,
6183
6464
  cardIcon: 'cc-visa'
6184
6465
  },
6185
6466
  {
6186
6467
  name: 'Alaska Airlines Visa',
6187
6468
  regex: /^(?<num>4147\s34|4888\s93|4800\s11|4313\s51|4313\s07)\d{0}/u,
6188
6469
  formatLength: 19,
6189
- setCustomValidity: CreditCardValidationMessage,
6470
+ errorMessage: CreditCardValidationMessage,
6190
6471
  cardIcon: 'cc-alaska'
6191
6472
  },
6192
6473
  {
6193
6474
  name: 'Master Card',
6194
6475
  regex: /^(?<num>5)\d{0}/u,
6195
6476
  formatLength: 19,
6196
- setCustomValidity: CreditCardValidationMessage,
6477
+ errorMessage: CreditCardValidationMessage,
6197
6478
  cardIcon: 'cc-mastercard'
6198
6479
  },
6199
6480
  {
6200
6481
  name: 'Discover Card',
6201
6482
  regex: /^(?<num>6)\d{0}/u,
6202
6483
  formatLength: 19,
6203
- setCustomValidity: CreditCardValidationMessage,
6484
+ errorMessage: CreditCardValidationMessage,
6204
6485
  cardIcon: 'cc-discover'
6205
6486
  }
6206
6487
  ];
@@ -6208,7 +6489,7 @@ class BaseInput extends r {
6208
6489
  let type = {
6209
6490
  name: 'Default Card',
6210
6491
  formatLength: 19,
6211
- setCustomValidity: CreditCardValidationMessage,
6492
+ errorMessage: CreditCardValidationMessage,
6212
6493
  cardIcon: 'credit-card'
6213
6494
  };
6214
6495
 
@@ -7233,7 +7514,6 @@ class AuroInput extends BaseInput {
7233
7514
  <p class="inputElement-helpText" id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
7234
7515
  ${this.errorMessage}
7235
7516
  </p>`
7236
-
7237
7517
  }
7238
7518
  `;
7239
7519
  }
@@ -7254,9 +7534,11 @@ var styleCss = i$b`.util_displayInline{display:inline}.util_displayInlineBlock{d
7254
7534
  * @prop {Object} optionSelected - Specifies the current selected option.
7255
7535
  * @prop {String} value - Value selected for the dropdown menu.
7256
7536
  * @prop {Boolean} checkmark - When attribute is present auro-menu will apply checkmarks to selected options.
7257
- * @attr {Boolean} error - Sets a persistent error state (e.g. an error state returned from the server).
7537
+ * @attr {String} error - When defined, sets persistent validity to `customError` and sets the validation message to the attribute value.
7258
7538
  * @attr {String} validity - Specifies the `validityState` this element is in.
7259
7539
  * @attr {String} setCustomValidity - Sets a custom help text message to display for all validityStates.
7540
+ * @attr {String} setCustomValidityCustomError - Custom help text message to display when validity = `customError`.
7541
+ * @attr {String} setCustomValidityValueMissing - Custom help text message to display when validity = `valueMissing`.
7260
7542
  * @attr {Boolean} disabled - If set, disables the combobox.
7261
7543
  * @attr {Boolean} noFilter - If set, combobox will not filter menuoptions based in input.
7262
7544
  * @attr {Boolean} noValidate - If set, disables auto-validation on blur.
@@ -7322,12 +7604,17 @@ class AuroCombobox extends r$6 {
7322
7604
  return {
7323
7605
  // ...super.properties,
7324
7606
  error: {
7325
- type: Boolean,
7607
+ type: String,
7326
7608
  reflect: true
7327
7609
  },
7328
7610
  setCustomValidity: {
7329
- type: String,
7330
- reflect: true
7611
+ type: String
7612
+ },
7613
+ setCustomValidityCustomError: {
7614
+ type: String
7615
+ },
7616
+ setCustomValidityValueMissing: {
7617
+ type: String
7331
7618
  },
7332
7619
  validity: {
7333
7620
  type: String,
@@ -7611,9 +7898,7 @@ class AuroCombobox extends r$6 {
7611
7898
  });
7612
7899
 
7613
7900
  this.menu.addEventListener('auroMenu-selectValueReset', () => {
7614
- this.optionSelected = undefined;
7615
- this.value = undefined;
7616
- this.validation.validate(this);
7901
+ this.reset();
7617
7902
  });
7618
7903
  }
7619
7904
 
@@ -7691,7 +7976,7 @@ class AuroCombobox extends r$6 {
7691
7976
  });
7692
7977
 
7693
7978
  this.input.addEventListener('auroFormElement-validated', (evt) => {
7694
- this.auroInputHelpText = evt.detail.message;
7979
+ this.errorMessage = evt.detail.message;
7695
7980
  });
7696
7981
  }
7697
7982
 
@@ -7835,9 +8120,6 @@ class AuroCombobox extends r$6 {
7835
8120
  * @returns {void}
7836
8121
  */
7837
8122
  reset() {
7838
- // Resets the help text of the combobox
7839
- this.auroInputHelpText = undefined;
7840
-
7841
8123
  this.input.reset();
7842
8124
  this.validation.reset(this);
7843
8125
  }
@@ -7870,10 +8152,6 @@ class AuroCombobox extends r$6 {
7870
8152
  this.input.setAttribute('error', this.getAttribute('error'));
7871
8153
  this.validation.validate(this);
7872
8154
  }
7873
-
7874
- if (changedProperties.has('setCustomValidity')) {
7875
- this.input.setAttribute('setCustomValidity', this.setCustomValidity);
7876
- }
7877
8155
  }
7878
8156
 
7879
8157
  /**
@@ -7927,19 +8205,23 @@ class AuroCombobox extends r$6 {
7927
8205
  ?noValidate="${this.noValidate}"
7928
8206
  ?disabled="${this.disabled}"
7929
8207
  ?icon="${this.triggerIcon}"
8208
+ setCustomValidity="${this.setCustomValidity}"
8209
+ setCustomValidityValueMissing="${this.setCustomValidityValueMissing}"
8210
+ setCustomValidityCustomError="${this.setCustomValidityCustomError}"
7930
8211
  .type="${this.type}">
7931
8212
  <slot name="label" slot="label"></slot>
7932
8213
  </${this.inputTag}>
7933
8214
  <div class="menuWrapper">
7934
8215
  </div>
7935
8216
  <span slot="helpText">
7936
- ${this.auroInputHelpText
8217
+ <!-- Help text and error message template -->
8218
+ ${!this.validity || this.validity === undefined || this.validity === 'valid'
7937
8219
  ? u$6`
7938
- ${this.auroInputHelpText}
7939
- `
7940
- : u$6`
7941
8220
  <slot name="helpText"></slot>
7942
- `
8221
+ ` : u$6`
8222
+ <p role="alert" aria-live="assertive" part="helpText">
8223
+ ${this.errorMessage}
8224
+ </p>`
7943
8225
  }
7944
8226
  </span>
7945
8227
  </${this.dropdownTag}>