@ionic/core 8.7.3-dev.11755551681.10d084fd → 8.7.3-dev.11755622775.1fc05815

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 (229) hide show
  1. package/components/ion-input.js +36 -5
  2. package/components/ion-item-divider.js +2 -2
  3. package/components/ion-item-group.js +1 -1
  4. package/components/ion-item-option.js +2 -2
  5. package/components/ion-item-options.js +1 -1
  6. package/components/ion-item-sliding.js +1 -1
  7. package/components/ion-loading.js +2 -2
  8. package/components/ion-menu-button.js +2 -2
  9. package/components/ion-menu-toggle.js +2 -2
  10. package/components/ion-menu.js +2 -2
  11. package/components/ion-nav-link.js +1 -1
  12. package/components/ion-nav.js +1 -1
  13. package/components/ion-note.js +2 -2
  14. package/components/ion-picker-legacy.js +2 -2
  15. package/components/ion-progress-bar.js +1 -1
  16. package/components/ion-range.js +3 -3
  17. package/components/ion-refresher-content.js +1 -1
  18. package/components/ion-refresher.js +1 -1
  19. package/components/ion-reorder-group.js +1 -1
  20. package/components/ion-reorder.js +1 -1
  21. package/components/ion-router-link.js +2 -2
  22. package/components/ion-router-outlet.js +1 -1
  23. package/components/ion-row.js +1 -1
  24. package/components/ion-searchbar.js +4 -4
  25. package/components/ion-segment-button.js +2 -2
  26. package/components/ion-segment-content.js +1 -1
  27. package/components/ion-segment-view.js +2 -2
  28. package/components/ion-segment.js +2 -2
  29. package/components/ion-select-option.js +1 -1
  30. package/components/ion-select.js +2 -2
  31. package/components/ion-skeleton-text.js +2 -2
  32. package/components/ion-split-pane.js +2 -2
  33. package/components/ion-tab-bar.js +2 -2
  34. package/components/ion-tab-button.js +2 -2
  35. package/components/ion-tab.js +2 -2
  36. package/components/ion-tabs.js +1 -1
  37. package/components/ion-text.js +2 -2
  38. package/components/ion-textarea.js +35 -4
  39. package/components/ion-thumbnail.js +1 -1
  40. package/components/ion-toast.js +2 -2
  41. package/components/ion-toggle.js +3 -3
  42. package/components/label.js +2 -2
  43. package/components/list-header.js +2 -2
  44. package/components/modal.js +4 -4
  45. package/components/picker-column-option.js +2 -2
  46. package/components/picker-column2.js +2 -2
  47. package/components/popover.js +2 -2
  48. package/components/radio-group.js +1 -1
  49. package/components/radio.js +3 -3
  50. package/components/ripple-effect.js +1 -1
  51. package/components/select-modal.js +1 -1
  52. package/components/select-popover.js +1 -1
  53. package/components/spinner.js +1 -1
  54. package/components/title.js +2 -2
  55. package/components/toolbar.js +2 -2
  56. package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
  57. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  58. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  59. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  60. package/dist/cjs/ion-input.cjs.entry.js +35 -5
  61. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  62. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  63. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  65. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  66. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  68. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  70. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  71. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  72. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  75. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  77. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  78. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  80. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  81. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  82. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  83. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  85. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  86. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  87. package/dist/cjs/ion-textarea.cjs.entry.js +34 -4
  88. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  90. package/dist/cjs/ionic.cjs.js +1 -1
  91. package/dist/cjs/loader.cjs.js +1 -1
  92. package/dist/collection/components/input/input.js +37 -6
  93. package/dist/collection/components/item-divider/item-divider.js +2 -2
  94. package/dist/collection/components/item-group/item-group.js +1 -1
  95. package/dist/collection/components/item-option/item-option.js +2 -2
  96. package/dist/collection/components/item-options/item-options.js +1 -1
  97. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  98. package/dist/collection/components/label/label.js +2 -2
  99. package/dist/collection/components/list-header/list-header.js +2 -2
  100. package/dist/collection/components/loading/loading.js +2 -2
  101. package/dist/collection/components/menu/menu.js +2 -2
  102. package/dist/collection/components/menu-button/menu-button.js +2 -2
  103. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  104. package/dist/collection/components/modal/modal.js +4 -4
  105. package/dist/collection/components/nav/nav.js +1 -1
  106. package/dist/collection/components/nav-link/nav-link.js +1 -1
  107. package/dist/collection/components/note/note.js +2 -2
  108. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  109. package/dist/collection/components/picker-legacy/picker.js +2 -2
  110. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  111. package/dist/collection/components/popover/popover.js +2 -2
  112. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  113. package/dist/collection/components/radio/radio.js +3 -3
  114. package/dist/collection/components/radio-group/radio-group.js +1 -1
  115. package/dist/collection/components/range/range.js +3 -3
  116. package/dist/collection/components/refresher/refresher.js +1 -1
  117. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  118. package/dist/collection/components/reorder/reorder.js +1 -1
  119. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  120. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  121. package/dist/collection/components/router-link/router-link.js +2 -2
  122. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  123. package/dist/collection/components/row/row.js +1 -1
  124. package/dist/collection/components/searchbar/searchbar.js +4 -4
  125. package/dist/collection/components/segment/segment.js +2 -2
  126. package/dist/collection/components/segment-button/segment-button.js +2 -2
  127. package/dist/collection/components/segment-content/segment-content.js +1 -1
  128. package/dist/collection/components/segment-view/segment-view.js +2 -2
  129. package/dist/collection/components/select/select.js +2 -2
  130. package/dist/collection/components/select-modal/select-modal.js +1 -1
  131. package/dist/collection/components/select-option/select-option.js +1 -1
  132. package/dist/collection/components/select-popover/select-popover.js +1 -1
  133. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  134. package/dist/collection/components/spinner/spinner.js +1 -1
  135. package/dist/collection/components/split-pane/split-pane.js +2 -2
  136. package/dist/collection/components/tab/tab.js +2 -2
  137. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  138. package/dist/collection/components/tab-button/tab-button.js +2 -2
  139. package/dist/collection/components/tabs/tabs.js +1 -1
  140. package/dist/collection/components/text/text.js +2 -2
  141. package/dist/collection/components/textarea/textarea.js +36 -5
  142. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  143. package/dist/collection/components/title/title.js +2 -2
  144. package/dist/collection/components/toast/toast.js +2 -2
  145. package/dist/collection/components/toggle/toggle.js +3 -3
  146. package/dist/collection/components/toolbar/toolbar.js +2 -2
  147. package/dist/docs.json +1 -1
  148. package/dist/esm/ion-app_8.entry.js +5 -5
  149. package/dist/esm/ion-avatar_3.entry.js +1 -1
  150. package/dist/esm/ion-col_3.entry.js +1 -1
  151. package/dist/esm/ion-datetime_3.entry.js +4 -4
  152. package/dist/esm/ion-input.entry.js +35 -5
  153. package/dist/esm/ion-item-option_3.entry.js +4 -4
  154. package/dist/esm/ion-item_8.entry.js +11 -11
  155. package/dist/esm/ion-loading.entry.js +2 -2
  156. package/dist/esm/ion-menu_3.entry.js +6 -6
  157. package/dist/esm/ion-modal.entry.js +4 -4
  158. package/dist/esm/ion-nav_2.entry.js +2 -2
  159. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  160. package/dist/esm/ion-popover.entry.js +2 -2
  161. package/dist/esm/ion-progress-bar.entry.js +1 -1
  162. package/dist/esm/ion-radio_2.entry.js +4 -4
  163. package/dist/esm/ion-range.entry.js +3 -3
  164. package/dist/esm/ion-refresher_2.entry.js +2 -2
  165. package/dist/esm/ion-reorder_2.entry.js +2 -2
  166. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  167. package/dist/esm/ion-route_4.entry.js +2 -2
  168. package/dist/esm/ion-searchbar.entry.js +4 -4
  169. package/dist/esm/ion-segment-content.entry.js +1 -1
  170. package/dist/esm/ion-segment-view.entry.js +2 -2
  171. package/dist/esm/ion-segment_2.entry.js +4 -4
  172. package/dist/esm/ion-select-modal.entry.js +1 -1
  173. package/dist/esm/ion-select_3.entry.js +4 -4
  174. package/dist/esm/ion-spinner.entry.js +1 -1
  175. package/dist/esm/ion-split-pane.entry.js +2 -2
  176. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  177. package/dist/esm/ion-tab_2.entry.js +3 -3
  178. package/dist/esm/ion-text.entry.js +2 -2
  179. package/dist/esm/ion-textarea.entry.js +34 -4
  180. package/dist/esm/ion-toast.entry.js +2 -2
  181. package/dist/esm/ion-toggle.entry.js +3 -3
  182. package/dist/esm/ionic.js +1 -1
  183. package/dist/esm/loader.js +1 -1
  184. package/dist/ionic/ionic.esm.js +1 -1
  185. package/dist/ionic/p-0f396661.entry.js +4 -0
  186. package/dist/ionic/{p-c32b6c20.entry.js → p-1191a2d9.entry.js} +1 -1
  187. package/dist/ionic/{p-78aff731.entry.js → p-16116947.entry.js} +1 -1
  188. package/dist/ionic/p-187aaf4a.entry.js +4 -0
  189. package/dist/ionic/{p-12b99129.entry.js → p-1bbd0a23.entry.js} +1 -1
  190. package/dist/ionic/p-1e34d434.entry.js +4 -0
  191. package/dist/ionic/{p-8ca65589.entry.js → p-29032e49.entry.js} +1 -1
  192. package/dist/ionic/{p-2e967897.entry.js → p-3624b640.entry.js} +1 -1
  193. package/dist/ionic/{p-0e45320b.entry.js → p-40d56a51.entry.js} +1 -1
  194. package/dist/ionic/{p-1e8b1767.entry.js → p-4f2c5845.entry.js} +1 -1
  195. package/dist/ionic/{p-ee881603.entry.js → p-528af4e6.entry.js} +1 -1
  196. package/dist/ionic/{p-70e05fd1.entry.js → p-54dec9b1.entry.js} +1 -1
  197. package/dist/ionic/{p-165d1309.entry.js → p-6383afc2.entry.js} +1 -1
  198. package/dist/ionic/{p-f4e6e570.entry.js → p-7a53f04c.entry.js} +1 -1
  199. package/dist/ionic/{p-165d8e84.entry.js → p-7b12d853.entry.js} +1 -1
  200. package/dist/ionic/{p-9cf01220.entry.js → p-7bac2c5f.entry.js} +1 -1
  201. package/dist/ionic/{p-332e4eac.entry.js → p-8cdb4ff5.entry.js} +1 -1
  202. package/dist/ionic/p-8d96a0cd.entry.js +4 -0
  203. package/dist/ionic/{p-039c8f8e.entry.js → p-92e8f208.entry.js} +1 -1
  204. package/dist/ionic/{p-c7d2c21b.entry.js → p-982fe1c4.entry.js} +1 -1
  205. package/dist/ionic/{p-82ce0043.entry.js → p-ab33ef20.entry.js} +1 -1
  206. package/dist/ionic/{p-f267c7dc.entry.js → p-ac434970.entry.js} +1 -1
  207. package/dist/ionic/{p-f550f186.entry.js → p-c0d58c8e.entry.js} +1 -1
  208. package/dist/ionic/{p-1cfb0bc4.entry.js → p-c575e7ce.entry.js} +1 -1
  209. package/dist/ionic/{p-5420fd3e.entry.js → p-cde6d39b.entry.js} +1 -1
  210. package/dist/ionic/{p-4c79bd85.entry.js → p-d04d66fc.entry.js} +1 -1
  211. package/dist/ionic/p-d3df6032.entry.js +4 -0
  212. package/dist/ionic/{p-e8429777.entry.js → p-dbba38cf.entry.js} +1 -1
  213. package/dist/ionic/p-e6c3214c.entry.js +4 -0
  214. package/dist/ionic/{p-22351d1b.entry.js → p-e6c465ff.entry.js} +1 -1
  215. package/dist/ionic/{p-e1310192.entry.js → p-ec76fec4.entry.js} +1 -1
  216. package/dist/ionic/{p-f5da8541.entry.js → p-f456d176.entry.js} +1 -1
  217. package/dist/ionic/{p-f868d51c.entry.js → p-f7db572a.entry.js} +1 -1
  218. package/dist/ionic/{p-0c580145.entry.js → p-f9eb54ee.entry.js} +1 -1
  219. package/dist/types/components/input/input.d.ts +9 -0
  220. package/dist/types/components/textarea/textarea.d.ts +9 -0
  221. package/hydrate/index.js +137 -101
  222. package/hydrate/index.mjs +137 -101
  223. package/package.json +1 -1
  224. package/dist/ionic/p-1488b7cc.entry.js +0 -4
  225. package/dist/ionic/p-3364562a.entry.js +0 -4
  226. package/dist/ionic/p-7922ca30.entry.js +0 -4
  227. package/dist/ionic/p-8de104c4.entry.js +0 -4
  228. package/dist/ionic/p-c91aa324.entry.js +0 -4
  229. package/dist/ionic/p-dff5b0b6.entry.js +0 -4
package/hydrate/index.mjs CHANGED
@@ -16627,6 +16627,10 @@ class Input {
16627
16627
  * is applied in both cases.
16628
16628
  */
16629
16629
  this.hasFocus = false;
16630
+ /**
16631
+ * Track validation state for proper aria-live announcements
16632
+ */
16633
+ this.isInvalid = false;
16630
16634
  /**
16631
16635
  * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
16632
16636
  * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
@@ -16810,10 +16814,18 @@ class Input {
16810
16814
  componentWillLoad() {
16811
16815
  this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes$1(this.el, ['tabindex', 'title', 'data-form-type', 'dir']));
16812
16816
  }
16817
+ /**
16818
+ * Checks if the input is in an invalid state based on validation classes
16819
+ */
16820
+ checkValidationState() {
16821
+ return this.el.classList.contains('ion-touched') && this.el.classList.contains('ion-invalid');
16822
+ }
16813
16823
  connectedCallback() {
16814
16824
  const { el } = this;
16815
16825
  this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate());
16816
16826
  this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
16827
+ // Always set initial state
16828
+ this.isInvalid = this.checkValidationState();
16817
16829
  this.debounceChanged();
16818
16830
  }
16819
16831
  componentDidLoad() {
@@ -16840,6 +16852,11 @@ class Input {
16840
16852
  this.notchController.destroy();
16841
16853
  this.notchController = undefined;
16842
16854
  }
16855
+ // Clean up validation observer to prevent memory leaks
16856
+ if (this.validationObserver) {
16857
+ this.validationObserver.disconnect();
16858
+ this.validationObserver = undefined;
16859
+ }
16843
16860
  }
16844
16861
  /**
16845
16862
  * Sets focus on the native `input` in `ion-input`. Use this method instead of the global
@@ -16948,8 +16965,8 @@ class Input {
16948
16965
  ];
16949
16966
  }
16950
16967
  getHintTextID() {
16951
- const { el, helperText, errorText, helperTextId, errorTextId } = this;
16952
- if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
16968
+ const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
16969
+ if (isInvalid && errorText) {
16953
16970
  return errorTextId;
16954
16971
  }
16955
16972
  if (helperText) {
@@ -17062,7 +17079,7 @@ class Input {
17062
17079
  * TODO(FW-5592): Remove hasStartEndSlots condition
17063
17080
  */
17064
17081
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
17065
- return (hAsync(Host, { key: '41b2526627e7d2773a80f011b123284203a71ca0', class: createColorClasses$1(this.color, {
17082
+ return (hAsync(Host, { key: '1b0cffa910aef4eac24438bf3158e51905e70788', class: createColorClasses$1(this.color, {
17066
17083
  [mode]: true,
17067
17084
  'has-value': hasValue,
17068
17085
  'has-focus': hasFocus,
@@ -17073,14 +17090,14 @@ class Input {
17073
17090
  'in-item': inItem,
17074
17091
  'in-item-color': hostContext('ion-item.ion-color', this.el),
17075
17092
  'input-disabled': disabled,
17076
- }) }, hAsync("label", { key: '9ab078363e32528102b441ad1791d83f86fdcbdc', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'e34b594980ec62e4c618e827fadf7669a39ad0d8', class: "native-wrapper", onClick: this.onLabelClick }, hAsync("slot", { key: '12dc04ead5502e9e5736240e918bf9331bf7b5d9', name: "start" }), hAsync("input", Object.assign({ key: 'df356eb4ced23109b2c0242f36dc043aba8782d6', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: 'f79f68cabcd4ea99419331174a377827db0c0741', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
17093
+ }) }, hAsync("label", { key: '24411a6cc190e2054015bca5e2827b96c65bba17', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '7fa7a7f6d2778e6efbebc6f2671d8a63048f76a8', class: "native-wrapper", onClick: this.onLabelClick }, hAsync("slot", { key: '14f489e6026967ee1b2eee1519bad4230f028489', name: "start" }), hAsync("input", Object.assign({ key: 'd0f5b756394aced0831e80e91313a417bda37e6f', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '3e37003927082bbbfce4b3396a263969aa2289fc', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
17077
17094
  /**
17078
17095
  * This prevents mobile browsers from
17079
17096
  * blurring the input when the clear
17080
17097
  * button is activated.
17081
17098
  */
17082
17099
  ev.preventDefault();
17083
- }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '237ec07ec2e10f08818a332bb596578c2c49f770', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '1f0a3624aa3e8dc3c307a6762230ab698768a5e5', name: "end" })), shouldRenderHighlight && hAsync("div", { key: '8a8cbb82695a722a0010b53dd0b1f1f97534a20b', class: "input-highlight" })), this.renderBottomContent()));
17100
+ }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '269ccdfd95a8a5b39bf0587b1494b4badd5c65b3', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '5d93a350194c4197c01c5d54f50060e7f527f065', name: "end" })), shouldRenderHighlight && hAsync("div", { key: 'fbdd13d41b37aa1e4608ba2535f7b833748eae3f', class: "input-highlight" })), this.renderBottomContent()));
17084
17101
  }
17085
17102
  get el() { return getElement(this); }
17086
17103
  static get watchers() { return {
@@ -17132,6 +17149,7 @@ class Input {
17132
17149
  "type": [1],
17133
17150
  "value": [1032],
17134
17151
  "hasFocus": [32],
17152
+ "isInvalid": [32],
17135
17153
  "setFocus": [64],
17136
17154
  "getInputElement": [64]
17137
17155
  },
@@ -18201,11 +18219,11 @@ class ItemDivider {
18201
18219
  }
18202
18220
  render() {
18203
18221
  const mode = getIonMode$1(this);
18204
- return (hAsync(Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: createColorClasses$1(this.color, {
18222
+ return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
18205
18223
  [mode]: true,
18206
18224
  'item-divider-sticky': this.sticky,
18207
18225
  item: true,
18208
- }) }, hAsync("slot", { key: 'a1b7bbb1a008b0a56887f130d166931033801746', name: "start" }), hAsync("div", { key: '9d572da46ab616bdf881098e96aa6796a249507f', class: "item-divider-inner" }, hAsync("div", { key: 'a57a2c17093b74b9e4f8fd2778230a440b293aa1', class: "item-divider-wrapper" }, hAsync("slot", { key: 'ef15ebf58f3acd4b4d1b7c51144e26c3759dba49' })), hAsync("slot", { key: '1787c2400534301fe72b8ec213d0ce1e8f75b65a', name: "end" }))));
18226
+ }) }, hAsync("slot", { key: '39105d888e115416c3a3fe588da44b4c61f4e5fe', name: "start" }), hAsync("div", { key: '67e16f1056bd39187f3629c1bb383b7abbda829b', class: "item-divider-inner" }, hAsync("div", { key: 'b3a218fdcc7b9aeab6e0155340152d39fa0b6329', class: "item-divider-wrapper" }, hAsync("slot", { key: '69d8587533b387869d34b075d02f61396858fc90' })), hAsync("slot", { key: 'b91c654699b3b26d0012ea0c719c4a07d1fcfbaa', name: "end" }))));
18209
18227
  }
18210
18228
  get el() { return getElement(this); }
18211
18229
  static get style() { return {
@@ -18235,7 +18253,7 @@ class ItemGroup {
18235
18253
  }
18236
18254
  render() {
18237
18255
  const mode = getIonMode$1(this);
18238
- return (hAsync(Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
18256
+ return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
18239
18257
  [mode]: true,
18240
18258
  // Used internally for styling
18241
18259
  [`item-group-${mode}`]: true,
@@ -18305,12 +18323,12 @@ class ItemOption {
18305
18323
  href: this.href,
18306
18324
  target: this.target,
18307
18325
  };
18308
- return (hAsync(Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
18326
+ return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
18309
18327
  [mode]: true,
18310
18328
  'item-option-disabled': disabled,
18311
18329
  'item-option-expandable': expandable,
18312
18330
  'ion-activatable': true,
18313
- }) }, hAsync(TagType, Object.assign({ key: '045052656ab652bec065d421950fe9ea00dc1141' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: '988b9166c0dda3c822a99ceace4c105339b2465b', class: "button-inner" }, hAsync("slot", { key: '8050b870ada6b09283f8acbcbb6d2bd1c76508b3', name: "top" }), hAsync("div", { key: 'a206e7b09e660c878ce3c5b61d018e8cdd89dc55', class: "horizontal-wrapper" }, hAsync("slot", { key: '394e5e4ce14cd19b5d5eafca29bb9f971f5f0741', name: "start" }), hAsync("slot", { key: 'dd4c3a1bee7622df40a3d8f2a298045b772f1600', name: "icon-only" }), hAsync("slot", { key: '318f3ec97b722c5e7df1a78b1e0439f919d0aacc' }), hAsync("slot", { key: 'fff6a9a602cf7bd698528982f91742a2d36ea245', name: "end" })), hAsync("slot", { key: '26b4bb155701d8080b486dbad7bb9a6d2e35182c', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '152b74643bf0f5725c39bfdbb940f0f32ec83d58' }))));
18331
+ }) }, hAsync(TagType, Object.assign({ key: '5a7140eb99da5ec82fe2ea3ea134513130763399' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: '9b8577e612706b43e575c9a20f2f9d35c0d1bcb1', class: "button-inner" }, hAsync("slot", { key: '9acb82f04e4822bfaa363cc2c4d29d5c0fec0ad6', name: "top" }), hAsync("div", { key: '66f5fb4fdd0c39f205574c602c793dcf109c7a17', class: "horizontal-wrapper" }, hAsync("slot", { key: '3761a32bca7c6c41b7eb394045497cfde181a62a', name: "start" }), hAsync("slot", { key: 'a96a568955cf6962883dc6771726d3d07462da00', name: "icon-only" }), hAsync("slot", { key: 'af5dfe5eb41456b9359bafe3615b576617ed7b57' }), hAsync("slot", { key: '00426958066ab7b949ff966fabad5cf8a0b54079', name: "end" })), hAsync("slot", { key: 'ae66c8bd536a9f27865f49240980d7b4b831b229', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '30df6c935ef8a3f28a6bc1f3bb162ca4f80aaf26' }))));
18314
18332
  }
18315
18333
  get el() { return getElement(this); }
18316
18334
  static get style() { return {
@@ -18359,7 +18377,7 @@ class ItemOptions {
18359
18377
  render() {
18360
18378
  const mode = getIonMode$1(this);
18361
18379
  const isEnd = isEndSide(this.side);
18362
- return (hAsync(Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
18380
+ return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
18363
18381
  [mode]: true,
18364
18382
  // Used internally for styling
18365
18383
  [`item-options-${mode}`]: true,
@@ -18824,7 +18842,7 @@ class ItemSliding {
18824
18842
  }
18825
18843
  render() {
18826
18844
  const mode = getIonMode$1(this);
18827
- return (hAsync(Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
18845
+ return (hAsync(Host, { key: 'd812322c9fb5da4ee16e99dc38bfb24cb4590d03', class: {
18828
18846
  [mode]: true,
18829
18847
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
18830
18848
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -18929,13 +18947,13 @@ class Label {
18929
18947
  render() {
18930
18948
  const position = this.position;
18931
18949
  const mode = getIonMode$1(this);
18932
- return (hAsync(Host, { key: '684ddfa719e34d743489ff05a0df067829257c73', class: createColorClasses$1(this.color, {
18950
+ return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
18933
18951
  [mode]: true,
18934
18952
  'in-item-color': hostContext('ion-item.ion-color', this.el),
18935
18953
  [`label-${position}`]: position !== undefined,
18936
18954
  [`label-no-animate`]: this.noAnimate,
18937
18955
  'label-rtl': document.dir === 'rtl',
18938
- }) }, hAsync("slot", { key: '4aace3e2b36250e832c44f63bea21116d77220fb' })));
18956
+ }) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
18939
18957
  }
18940
18958
  get el() { return getElement(this); }
18941
18959
  static get watchers() { return {
@@ -19033,10 +19051,10 @@ class ListHeader {
19033
19051
  render() {
19034
19052
  const { lines } = this;
19035
19053
  const mode = getIonMode$1(this);
19036
- return (hAsync(Host, { key: '2e529021279761b2b2889885437f619b0e8f71c4', class: createColorClasses$1(this.color, {
19054
+ return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
19037
19055
  [mode]: true,
19038
19056
  [`list-header-lines-${lines}`]: lines !== undefined,
19039
- }) }, hAsync("div", { key: '9a6a11b0db015df79374f6489a40b959bc80b3e4', class: "list-header-inner" }, hAsync("slot", { key: 'ef347fc6afb47850797e2e4d1aeefcd6a318f789' }))));
19057
+ }) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
19040
19058
  }
19041
19059
  static get style() { return {
19042
19060
  ios: listHeaderIosCss,
@@ -19321,9 +19339,9 @@ class Loading {
19321
19339
  * Otherwise, don't set aria-labelledby.
19322
19340
  */
19323
19341
  const ariaLabelledBy = message !== undefined ? msgId : null;
19324
- return (hAsync(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19342
+ return (hAsync(Host, Object.assign({ key: '4497183ce220242abe19ae15f328f9a92ccafbbc', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19325
19343
  zIndex: `${40000 + this.overlayIndex}`,
19326
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, hAsync("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
19344
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '231dec84e424a2dc358ce95b84d6035cf43e4dea', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'c9af29b6e6bb49a217396a5c874bbfb8835a926c', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'a8659863743cdeccbe1ba810eaabfd3ebfcb86f3', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '3b346f39bc71691bd8686556a1e142198a7b12fa', class: "loading-spinner" }, hAsync("ion-spinner", { key: '8dc2bf1556e5138e262827f1516c59ecd09f3520', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '054164c0dbae9a0e0973dd3c8e28f5b771820310', tabindex: "0", "aria-hidden": "true" })));
19327
19345
  }
19328
19346
  get el() { return getElement(this); }
19329
19347
  static get watchers() { return {
@@ -20369,14 +20387,14 @@ class Menu {
20369
20387
  * the ionBackButton listener in the menu controller
20370
20388
  * will handle closing the menu when Escape is pressed.
20371
20389
  */
20372
- return (hAsync(Host, { key: 'fe83e1633252b66757d30f603bb82ab65fc520f0', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20390
+ return (hAsync(Host, { key: 'a5c75aa40a34530b56ee3b98d706a5ac5ae300de', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20373
20391
  [mode]: true,
20374
20392
  [`menu-type-${type}`]: true,
20375
20393
  'menu-enabled': !disabled,
20376
20394
  [`menu-side-${side}`]: true,
20377
20395
  'menu-pane-visible': isPaneVisible,
20378
20396
  'split-pane-side': hostContext('ion-split-pane', el),
20379
- } }, hAsync("div", { key: '1e4cdb9728137618195797c758ff3ea3e8c4af55', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '05b98bee11a9bb0d199e24fa0d450fd4d174d5e6' })), hAsync("ion-backdrop", { key: 'd9374f19fa1f2df5ecbe26ffe36e72862b650d56', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
20397
+ } }, hAsync("div", { key: '3f5f70acd4d3ed6bb445122f4f01d73db738a75f', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '3161326c9330e7f7441299c428b87a91b31a83e9' })), hAsync("ion-backdrop", { key: '917b50f38489bdf03d0c642af8b4e4e172c7dc4c', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
20380
20398
  }
20381
20399
  get el() { return getElement(this); }
20382
20400
  static get watchers() { return {
@@ -20484,7 +20502,7 @@ class MenuButton {
20484
20502
  type: this.type,
20485
20503
  };
20486
20504
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
20487
- return (hAsync(Host, { key: 'dcade732e366f0687d92cb9ce4065b78b0b41d24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20505
+ return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20488
20506
  [mode]: true,
20489
20507
  button: true, // ion-buttons target .button
20490
20508
  'menu-button-hidden': hidden,
@@ -20493,7 +20511,7 @@ class MenuButton {
20493
20511
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
20494
20512
  'ion-activatable': true,
20495
20513
  'ion-focusable': true,
20496
- }) }, hAsync("button", Object.assign({ key: '7c4a449e239679376f38471d95fd602f9caec5f6' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: '8bb5bf453280a66109198c970b678ad800c7a8cf', class: "button-inner" }, hAsync("slot", { key: '7f78b1e7a0695f2bd600d13ca81f50dd8b965726' }, hAsync("ion-icon", { key: '9f67f5bb06b1f03a6e5df9ecbe23ebf69fb40756', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: '10be7145c614144e94c3cc0b92dc5ee4e1587fe6', type: "unbounded" }))));
20514
+ }) }, hAsync("button", Object.assign({ key: 'ffebf7083d23501839970059ef8e411b571de197' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: 'cab0c1c763b3ce33ef11dba1d230f66126e59424', class: "button-inner" }, hAsync("slot", { key: 'ccfd2be8479b75b5c63e97e1ca7dfe203e9b36ee' }, hAsync("ion-icon", { key: 'ac254fe7f327b08f1ae3fcea89d5cf0e83c9a96c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: 'f0f17c4ca96e3eed3c1727ee00578d40af8f0115', type: "unbounded" }))));
20497
20515
  }
20498
20516
  get el() { return getElement(this); }
20499
20517
  static get style() { return {
@@ -20546,10 +20564,10 @@ class MenuToggle {
20546
20564
  render() {
20547
20565
  const mode = getIonMode$1(this);
20548
20566
  const hidden = this.autoHide && !this.visible;
20549
- return (hAsync(Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20567
+ return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20550
20568
  [mode]: true,
20551
20569
  'menu-toggle-hidden': hidden,
20552
- } }, hAsync("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
20570
+ } }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
20553
20571
  }
20554
20572
  static get style() { return menuToggleCss; }
20555
20573
  static get cmpMeta() { return {
@@ -23214,20 +23232,20 @@ class Modal {
23214
23232
  const isCardModal = presentingElement !== undefined && mode === 'ios';
23215
23233
  const isHandleCycle = handleBehavior === 'cycle';
23216
23234
  const isSheetModalWithHandle = isSheetModal && showHandle;
23217
- return (hAsync(Host, Object.assign({ key: '3fc94b846a80cf23ab9c4d4534d5835f2ada5449', "no-router": true,
23235
+ return (hAsync(Host, Object.assign({ key: '9e9a7bd591eb17a225a00b4fa2e379e94601d17f', "no-router": true,
23218
23236
  // Allow the modal to be navigable when the handle is focusable
23219
23237
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
23220
23238
  zIndex: `${20000 + this.overlayIndex}`,
23221
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: 'a99663c15d2374448a2a2243da63cfc5fac769f4', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '840e71a6e0d334b413766b3b00fa60841b8abdaf', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'a77a8a58fbb541fb78319bd8fc790cc7c35133e7',
23239
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: 'e5eae2c14f830f75e308fcd7f4c10c86fac5b962', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'e268f9cd310c3cf4e051b5b92524ce4fb70d005e', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '9c380f36c18144c153077b15744d1c3346bce63e',
23222
23240
  /*
23223
23241
  role and aria-modal must be used on the
23224
23242
  same element. They must also be set inside the
23225
23243
  shadow DOM otherwise ion-button will not be highlighted
23226
23244
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
23227
23245
  */
23228
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '4856c8e31055dc33b8dc997c891507c2b556cd7b', class: "modal-handle",
23246
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '2d5ee6d5959d97309c306e8ce72eb0f2c19be144', class: "modal-handle",
23229
23247
  // Prevents the handle from receiving keyboard focus when it does not cycle
23230
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: 'ecc33d1c0670d884aeee5a0c9fe4f16030edb511', onSlotchange: this.onSlotChange }))));
23248
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '5590434c35ea04c42fc006498bc189038e15a298', onSlotchange: this.onSlotChange }))));
23231
23249
  }
23232
23250
  get el() { return getElement(this); }
23233
23251
  static get watchers() { return {
@@ -24174,7 +24192,7 @@ class Nav {
24174
24192
  }
24175
24193
  }
24176
24194
  render() {
24177
- return hAsync("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
24195
+ return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
24178
24196
  }
24179
24197
  get el() { return getElement(this); }
24180
24198
  static get watchers() { return {
@@ -24247,7 +24265,7 @@ class NavLink {
24247
24265
  };
24248
24266
  }
24249
24267
  render() {
24250
- return hAsync(Host, { key: 'd4d80feb51c0d92b0bedf6952c892f9df3002046', onClick: this.onClick });
24268
+ return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
24251
24269
  }
24252
24270
  get el() { return getElement(this); }
24253
24271
  static get cmpMeta() { return {
@@ -24278,9 +24296,9 @@ class Note {
24278
24296
  }
24279
24297
  render() {
24280
24298
  const mode = getIonMode$1(this);
24281
- return (hAsync(Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: createColorClasses$1(this.color, {
24299
+ return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
24282
24300
  [mode]: true,
24283
- }) }, hAsync("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
24301
+ }) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
24284
24302
  }
24285
24303
  static get style() { return {
24286
24304
  ios: noteIosCss,
@@ -25040,11 +25058,11 @@ class Picker {
25040
25058
  render() {
25041
25059
  const { htmlAttributes } = this;
25042
25060
  const mode = getIonMode$1(this);
25043
- return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25061
+ return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25044
25062
  zIndex: `${20000 + this.overlayIndex}`,
25045
25063
  }, class: Object.assign({ [mode]: true,
25046
25064
  // Used internally for styling
25047
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, hAsync("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), hAsync("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
25065
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '169d1c83ef40e7fcb134219a585298b403a70b0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '98518e5f5cea2dfb8dfa63d9545e9ae3a5765023', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '151755ab8eb23f9adafbfe201349398f5a69dee7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '5dcf93b2f4fe8f4fce7c7aec8f85ef45a03ef470', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: 'fd5d66708edd38adc5a4d2fad7298969398a05e3', class: "picker-columns" }, hAsync("div", { key: '1b5830fd6cef1016af7736792c514965d6cb38a8', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'c6edeca7afd69e13c9c66ba36f261974fd0f8f78', class: "picker-below-highlight" }))), hAsync("div", { key: 'e2a4b24710e30579b14b82dbfd3761b2187797b5', tabindex: "0", "aria-hidden": "true" })));
25048
25066
  }
25049
25067
  get el() { return getElement(this); }
25050
25068
  static get watchers() { return {
@@ -26049,9 +26067,9 @@ class PickerColumnCmp {
26049
26067
  render() {
26050
26068
  const col = this.col;
26051
26069
  const mode = getIonMode$1(this);
26052
- return (hAsync(Host, { key: '86125e95f18837dfd021db01777d72a1562d8ee3', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
26070
+ return (hAsync(Host, { key: 'ed32d108dd94f0302fb453c31a3497ebae65ec37', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
26053
26071
  'max-width': this.col.columnWidth,
26054
- } }, col.prefix && (hAsync("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
26072
+ } }, col.prefix && (hAsync("div", { key: '9f0634890e66fd4ae74f826d1eea3431de121393', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '337e996e5be91af16446085fe22436f213b771eb', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: 'd69a132599d78d9e5107f12228978cfce4e43098', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
26055
26073
  }
26056
26074
  get el() { return getElement(this); }
26057
26075
  static get watchers() { return {
@@ -26168,10 +26186,10 @@ class PickerColumnOption {
26168
26186
  render() {
26169
26187
  const { color, disabled, ariaLabel } = this;
26170
26188
  const mode = getIonMode$1(this);
26171
- return (hAsync(Host, { key: 'c45a1c14a351bf57d7113671164852349be5aa8a', class: createColorClasses$1(color, {
26189
+ return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
26172
26190
  [mode]: true,
26173
26191
  ['option-disabled']: disabled,
26174
- }) }, hAsync("button", { key: '67334c3bc6fbff93f65aaf9a0979b5ef62db1e5b', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'a4766c43931d1a5cb3124a2a97141d1a4ca2bf24' }))));
26192
+ }) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
26175
26193
  }
26176
26194
  get el() { return getElement(this); }
26177
26195
  static get watchers() { return {
@@ -27578,9 +27596,9 @@ class Popover {
27578
27596
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
27579
27597
  const desktop = isPlatform('desktop');
27580
27598
  const enableArrow = arrow && !parentPopover;
27581
- return (hAsync(Host, Object.assign({ key: 'f977b26ee1607d83bc78418e319da90d1691b49f', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
27599
+ return (hAsync(Host, Object.assign({ key: '16866c02534968c982cf4730d2936d03a5107c8b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
27582
27600
  zIndex: `${20000 + this.overlayIndex}`,
27583
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '3cfc18823bca1fd43f9f7da876a69a5d8b1eac4e', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '060bc23b567e92bd4740397d3d2c1994cebd2859', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: 'cbb21b281a69713dd4233ea27256d696173a634b', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: 'a28dc0557aac79410d56828746d1b77aaa9d636c', class: "popover-content", part: "content" }, hAsync("slot", { key: 'cd29600cb42be78005e635672ee2ec1e251116cc' })))));
27601
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '0df258601a4d30df3c27aa8234a7d5e056c3ecbb', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'f94e80ed996b957b5cd09b826472b4f60e8fcc78', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '185ce22f6386e8444a9cc7b8818dbfc16c463c99', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '206202b299404e110de5397b229678cca18568d3', class: "popover-content", part: "content" }, hAsync("slot", { key: 'ee543a0b92d6e35a837c0a0e4617c7b0fc4ad0b0' })))));
27584
27602
  }
27585
27603
  get el() { return getElement(this); }
27586
27604
  static get watchers() { return {
@@ -27685,7 +27703,7 @@ class ProgressBar {
27685
27703
  const mode = getIonMode$1(this);
27686
27704
  // If the progress is displayed as a solid bar.
27687
27705
  const progressSolid = buffer === 1;
27688
- return (hAsync(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
27706
+ return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
27689
27707
  [mode]: true,
27690
27708
  [`progress-bar-${type}`]: true,
27691
27709
  'progress-paused': paused,
@@ -27870,7 +27888,7 @@ class Radio {
27870
27888
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
27871
27889
  const mode = getIonMode$1(this);
27872
27890
  const inItem = hostContext('ion-item', el);
27873
- return (hAsync(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
27891
+ return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
27874
27892
  [mode]: true,
27875
27893
  'in-item': inItem,
27876
27894
  'radio-checked': checked,
@@ -27881,10 +27899,10 @@ class Radio {
27881
27899
  // Focus and active styling should not apply when the radio is in an item
27882
27900
  'ion-activatable': !inItem,
27883
27901
  'ion-focusable': !inItem,
27884
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, hAsync("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
27902
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '418a0a48366ff900e97da123abf665bbbda87fb7', class: "radio-wrapper" }, hAsync("div", { key: '6e5acdd8c8f5d0ad26632a65396afef8094153d1', class: {
27885
27903
  'label-text-wrapper': true,
27886
27904
  'label-text-wrapper-hidden': !hasLabel,
27887
- }, part: "label" }, hAsync("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), hAsync("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
27905
+ }, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
27888
27906
  }
27889
27907
  get el() { return getElement(this); }
27890
27908
  static get watchers() { return {
@@ -28107,7 +28125,7 @@ class RadioGroup {
28107
28125
  const { label, labelId, el, name, value } = this;
28108
28126
  const mode = getIonMode$1(this);
28109
28127
  renderHiddenInput(true, el, name, value, false);
28110
- return (hAsync(Host, { key: '81b8ebc96b2f383c36717f290d2959cc921ad6e8', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: mode }, this.renderHintText(), hAsync("slot", { key: '77f7b5a2040b65222c9c2178c8e87d58b347ef7c' })));
28128
+ return (hAsync(Host, { key: '81b8ebc96b2f383c36717f290d2959cc921ad6e8', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: mode }, this.renderHintText(), hAsync("div", { key: '45b09efc10776b889a8f372cba80d25a3fc849da', class: "radio-group-wrapper" }, hAsync("slot", { key: '58714934542c2fdd7396de160364f3f06b32e8f8' }))));
28111
28129
  }
28112
28130
  get el() { return getElement(this); }
28113
28131
  static get watchers() { return {
@@ -28865,7 +28883,7 @@ class Range {
28865
28883
  const needsEndAdjustment = inItem && !hasEndContent;
28866
28884
  const mode = getIonMode$1(this);
28867
28885
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
28868
- return (hAsync(Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
28886
+ return (hAsync(Host, { key: 'ef7b01f80515bcaeb2983934ad7f10a6bd5d13ec', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
28869
28887
  [mode]: true,
28870
28888
  'in-item': inItem,
28871
28889
  'range-disabled': disabled,
@@ -28874,10 +28892,10 @@ class Range {
28874
28892
  [`range-label-placement-${labelPlacement}`]: true,
28875
28893
  'range-item-start-adjustment': needsStartAdjustment,
28876
28894
  'range-item-end-adjustment': needsEndAdjustment,
28877
- }) }, hAsync("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
28895
+ }) }, hAsync("label", { key: 'fd8aa90a9d52be9da024b907e68858dae424449d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '2172b4f329c22017dd23475c80aac25ba6e753eb', class: {
28878
28896
  'label-text-wrapper': true,
28879
28897
  'label-text-wrapper-hidden': !hasLabel,
28880
- }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '3c275d822b29a8008e044722e8b6bdabd3ecfad7', class: "native-wrapper" }, hAsync("slot", { key: '03c849d0aa708914984ad57ca292bc5fc66ecad5', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '10ca7b8152cac00b45d8fa98ad91410f59fd176a', name: "end" })))));
28898
+ }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '3c318bf2ea0576646d4c010bf44573fd0f483186', class: "native-wrapper" }, hAsync("slot", { key: '6586fd6fc96271e73f8a86c202d1913ad1a26f96', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '74ac0bc2d2cb66ef708bb729f88b6ecbc1b2155d', name: "end" })))));
28881
28899
  }
28882
28900
  get el() { return getElement(this); }
28883
28901
  static get watchers() { return {
@@ -29844,7 +29862,7 @@ class Refresher {
29844
29862
  }
29845
29863
  render() {
29846
29864
  const mode = getIonMode$1(this);
29847
- return (hAsync(Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
29865
+ return (hAsync(Host, { key: '2d1bd880877b698604542ab2d602d38b9504d975', slot: "fixed", class: {
29848
29866
  [mode]: true,
29849
29867
  // Used internally for styling
29850
29868
  [`refresher-${mode}`]: true,
@@ -30068,7 +30086,7 @@ class RefresherContent {
30068
30086
  const pullingIcon = this.pullingIcon;
30069
30087
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
30070
30088
  const mode = getIonMode$1(this);
30071
- return (hAsync(Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, hAsync("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, hAsync("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, hAsync("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
30089
+ return (hAsync(Host, { key: 'e235f8a9a84070ece2e2066ced234a64663bfa1d', class: mode }, hAsync("div", { key: '9121691818ddaa35801a5f442e144ac27686cf19', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: 'c8d65d740f1575041bd3b752c789077927397fe4', class: "refresher-pulling-icon" }, hAsync("div", { key: '309dd904977eaa788b09ea95b7fa4996a73bec5b', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: 'a2a1480f67775d56ca7822e76be1e9f983bca2f9', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: '811d7e06d324bf4b6a18a31427a43e5177f3ae3a', class: "arrow-container" }, hAsync("ion-icon", { key: '86cc48e2e8dc054ff6ff1299094da35b524be63d', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '464ae097dbc95c18a2dd7dfd03f8489153dab719', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'ed6875978b9035add562caa743a68353743d978f', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'aff891924e44354543fec484e5cde1ca92e69904', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '842d7ac4ff10a1058775493d62f31cbdcd34f7a0', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '8c3e6195501e7e78d5cde1e3ad1fef90fd4a953f', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
30072
30090
  }
30073
30091
  get el() { return getElement(this); }
30074
30092
  static get cmpMeta() { return {
@@ -30109,7 +30127,7 @@ class Reorder {
30109
30127
  render() {
30110
30128
  const mode = getIonMode$1(this);
30111
30129
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
30112
- return (hAsync(Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, hAsync("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, hAsync("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
30130
+ return (hAsync(Host, { key: 'e6807bb349725682e99e791ac65e729a360d64e8', class: mode }, hAsync("slot", { key: '1c691cdbffa6427ba08dc12184c69559ed5d5506' }, hAsync("ion-icon", { key: '8b4150302cdca475379582b2251737b5e74079b1', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
30113
30131
  }
30114
30132
  get el() { return getElement(this); }
30115
30133
  static get style() { return {
@@ -30380,7 +30398,7 @@ class ReorderGroup {
30380
30398
  }
30381
30399
  render() {
30382
30400
  const mode = getIonMode$1(this);
30383
- return (hAsync(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
30401
+ return (hAsync(Host, { key: 'b9641f3061d67fbfe68317b901ec33267046e073', class: {
30384
30402
  [mode]: true,
30385
30403
  'reorder-enabled': !this.disabled,
30386
30404
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -30496,7 +30514,7 @@ class RippleEffect {
30496
30514
  }
30497
30515
  render() {
30498
30516
  const mode = getIonMode$1(this);
30499
- return (hAsync(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
30517
+ return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
30500
30518
  [mode]: true,
30501
30519
  unbounded: this.unbounded,
30502
30520
  } }));
@@ -31455,10 +31473,10 @@ class RouterLink {
31455
31473
  rel: this.rel,
31456
31474
  target: this.target,
31457
31475
  };
31458
- return (hAsync(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses$1(this.color, {
31476
+ return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
31459
31477
  [mode]: true,
31460
31478
  'ion-activatable': true,
31461
- }) }, hAsync("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), hAsync("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
31479
+ }) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
31462
31480
  }
31463
31481
  static get style() { return routerLinkCss; }
31464
31482
  static get cmpMeta() { return {
@@ -31655,7 +31673,7 @@ class RouterOutlet {
31655
31673
  return true;
31656
31674
  }
31657
31675
  render() {
31658
- return hAsync("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
31676
+ return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
31659
31677
  }
31660
31678
  get el() { return getElement(this); }
31661
31679
  static get watchers() { return {
@@ -31688,7 +31706,7 @@ class Row {
31688
31706
  registerInstance(this, hostRef);
31689
31707
  }
31690
31708
  render() {
31691
- return (hAsync(Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
31709
+ return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
31692
31710
  }
31693
31711
  static get style() { return rowCss; }
31694
31712
  static get cmpMeta() { return {
@@ -32129,8 +32147,8 @@ class Searchbar {
32129
32147
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
32130
32148
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
32131
32149
  const shouldShowCancelButton = this.shouldShowCancelButton();
32132
- const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: 'bf574336a561a5bf66c771fb606a9b19adbecb68', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '747ad4368bda5044198259d5bc8f7be9e472e5af', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
32133
- return (hAsync(Host, { key: 'bcc5b33a2859903ba11bfc5c611c6a2aaa71d06b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
32150
+ const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '19e18775856db87daeb4b9e3d7bca0461915a0df', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: 'b3bbdcc033f3bd3441d619e4a252cef0dad4d07e', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
32151
+ return (hAsync(Host, { key: '074aa60e051bfb3225e87d44bbb6346c59c73574', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
32134
32152
  [mode]: true,
32135
32153
  'searchbar-animated': animated,
32136
32154
  'searchbar-disabled': this.disabled,
@@ -32140,14 +32158,14 @@ class Searchbar {
32140
32158
  'searchbar-has-focus': this.focused,
32141
32159
  'searchbar-should-show-clear': this.shouldShowClearButton(),
32142
32160
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
32143
- }) }, hAsync("div", { key: 'ac0dbf5ddd9c4eb6d714f45c62c44ba3d0bf034d', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '4b9fdac1b0d5a7a68bf61a6beb00f166434d3e84', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: '32a889c48b3960560a3873061b4ac5a8a5ce532f', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '71222df691ef0b95008e619f755224d069ee9388', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
32161
+ }) }, hAsync("div", { key: '54f58a79fe36e85d9295157303f1be89c98bbdaf', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: 'f991a37fcf54d26b7ad10d89084764e03d97b9de', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: '8b44dd90a3292c5cf872ef16a8520675f5673494', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '79d9cfed8f01268044f82811a35d323a12dca749', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
32144
32162
  /**
32145
32163
  * This prevents mobile browsers from
32146
32164
  * blurring the input when the clear
32147
32165
  * button is activated.
32148
32166
  */
32149
32167
  ev.preventDefault();
32150
- }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: 'f1c8c0bd8fbb655085875731d3ece387dbe2967e', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
32168
+ }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: 'aa3b9fa8a61f853236783ac7bcd0b113ea65ece2', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
32151
32169
  }
32152
32170
  get el() { return getElement(this); }
32153
32171
  static get watchers() { return {
@@ -32742,14 +32760,14 @@ class Segment {
32742
32760
  }
32743
32761
  render() {
32744
32762
  const mode = getIonMode$1(this);
32745
- return (hAsync(Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
32763
+ return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
32746
32764
  [mode]: true,
32747
32765
  'in-toolbar': hostContext('ion-toolbar', this.el),
32748
32766
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
32749
32767
  'segment-activated': this.activated,
32750
32768
  'segment-disabled': this.disabled,
32751
32769
  'segment-scrollable': this.scrollable,
32752
- }) }, hAsync("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
32770
+ }) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
32753
32771
  }
32754
32772
  get el() { return getElement(this); }
32755
32773
  static get watchers() { return {
@@ -32889,7 +32907,7 @@ class SegmentButton {
32889
32907
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
32890
32908
  const mode = getIonMode$1(this);
32891
32909
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
32892
- return (hAsync(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
32910
+ return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
32893
32911
  [mode]: true,
32894
32912
  'in-toolbar': hostContext('ion-toolbar', this.el),
32895
32913
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -32905,7 +32923,7 @@ class SegmentButton {
32905
32923
  'ion-activatable': true,
32906
32924
  'ion-activatable-instant': true,
32907
32925
  'ion-focusable': true,
32908
- } }, hAsync("button", Object.assign({ key: '0a6fea3a374074af19f7ece0ba3a7cf1e269ab6d', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '991018a38c59a6f3d76b2e952e5569c874d2c13e', class: "button-inner" }, hAsync("slot", { key: '23c547c80108025027b913c7fcbec189286627a3' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '7faa9d06ab6aa7346d16b0b6808979759a79650c' })), hAsync("div", { key: '0d61badf2c227dc38e20185b2b2bb590a5efa434', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'a84035752b78491c344179d1e61d109fb4bd1cf1', part: "indicator-background", class: "segment-button-indicator-background" }))));
32926
+ } }, hAsync("button", Object.assign({ key: '75add37f11c107d1e2cfdb154e08004e9579e863', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '8e720d2a3e304903685bf09d226a64e944d78a22', class: "button-inner" }, hAsync("slot", { key: 'c8e7b3ebf8f03042a1001155643b585283c73c65' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '3586ac317b8d82c92b0ccfbfae42f8778612321b' })), hAsync("div", { key: '9cf93957da9e8dc333c8b05327bb903385b1c5f4', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'd3b6f0b3860ec6896b46703f64ed1cc8c75612e3', part: "indicator-background", class: "segment-button-indicator-background" }))));
32909
32927
  }
32910
32928
  get el() { return getElement(this); }
32911
32929
  static get watchers() { return {
@@ -32940,7 +32958,7 @@ class SegmentContent {
32940
32958
  registerInstance(this, hostRef);
32941
32959
  }
32942
32960
  render() {
32943
- return (hAsync(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, hAsync("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
32961
+ return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
32944
32962
  }
32945
32963
  static get style() { return segmentContentCss; }
32946
32964
  static get cmpMeta() { return {
@@ -33053,10 +33071,10 @@ class SegmentView {
33053
33071
  }
33054
33072
  render() {
33055
33073
  const { disabled, isManualScroll } = this;
33056
- return (hAsync(Host, { key: '3776707134f85b81028f9668e77974c21e3a5491', class: {
33074
+ return (hAsync(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
33057
33075
  'segment-view-disabled': disabled,
33058
33076
  'segment-view-scroll-disabled': isManualScroll === false,
33059
- } }, hAsync("slot", { key: 'e67efc16cbfa0c13aa9d81e9f91b61162782c0ea' })));
33077
+ } }, hAsync("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
33060
33078
  }
33061
33079
  get el() { return getElement(this); }
33062
33080
  static get style() { return {
@@ -33806,7 +33824,7 @@ class Select {
33806
33824
  * TODO(FW-5592): Remove hasStartEndSlots condition
33807
33825
  */
33808
33826
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
33809
- return (hAsync(Host, { key: 'c1e6967b3ccc9631bfceeadd074a6e87b4e96dbe', onClick: this.onClick, class: createColorClasses$1(this.color, {
33827
+ return (hAsync(Host, { key: 'c03fb65e8fc9f9aab295e07b282377d57d910519', onClick: this.onClick, class: createColorClasses$1(this.color, {
33810
33828
  [mode]: true,
33811
33829
  'in-item': inItem,
33812
33830
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -33824,7 +33842,7 @@ class Select {
33824
33842
  [`select-justify-${justify}`]: justifyEnabled,
33825
33843
  [`select-shape-${shape}`]: shape !== undefined,
33826
33844
  [`select-label-placement-${labelPlacement}`]: true,
33827
- }) }, hAsync("label", { key: 'b890417073d5a622869549173f9cdac695d51079', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '43deb671a8570f9b407617dd3153f8ed37cf77b9', class: "select-wrapper-inner" }, hAsync("slot", { key: '91b64e1926ea44912e85eec336992c36ca5a6fff', name: "start" }), hAsync("div", { key: '4d3b26a304b18c68576302440ba7810a91324b86', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '64d839f2e862efffd32e01204e567c58f59c20cb', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'edffaee197d2f9ee8268cd2ecac6d6ce4ed28bfb', class: "select-highlight" })), this.renderBottomContent()));
33845
+ }) }, hAsync("label", { key: '0d0c8ec55269adcac625f2899a547f4e7f3e3741', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'f6dfc93c0e23cbe75a2947abde67d842db2dad78', class: "select-wrapper-inner" }, hAsync("slot", { key: '957bfadf9f101f519091419a362d3abdc2be66f6', name: "start" }), hAsync("div", { key: 'ca349202a484e7f2e884533fd330f0b136754f7d', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: 'f0e62a6533ff1c8f62bd2d27f60b23385c4fa9ed', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'fb840d46bafafb09898ebeebbe8c181906a3d8a2', class: "select-highlight" })), this.renderBottomContent()));
33828
33846
  }
33829
33847
  get el() { return getElement(this); }
33830
33848
  static get watchers() { return {
@@ -33983,7 +34001,7 @@ class SelectModal {
33983
34001
  } }, option.text))));
33984
34002
  }
33985
34003
  render() {
33986
- return (hAsync(Host, { key: '5bffdb106e6f628dae2e2aeb9ee8008b5c547b3a', class: getIonMode$1(this) }, hAsync("ion-header", { key: '4de1c33b0504372f8a0a26123e4e086080ee1ecb' }, hAsync("ion-toolbar", { key: '5d55a67d1db4352c260e9e0457d5dac6110b6598' }, this.header !== undefined && hAsync("ion-title", { key: '4f07fe8a9af8c9bd0852af2a9b95517d16356e50' }, this.header), hAsync("ion-buttons", { key: 'ca676a34f7cd3dd6b465b0d803434c2e2c8536c5', slot: "end" }, hAsync("ion-button", { key: '801ed63a357c7c9d354668851db65e5c1b0e1abe', onClick: () => this.closeModal() }, "Close")))), hAsync("ion-content", { key: 'f3c239ec9d84b8ed7413ea9db6efa18e29aca285' }, hAsync("ion-list", { key: '40c157e9abe477171a39ae7e6e1cd4ed08735cb4' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
34004
+ return (hAsync(Host, { key: 'b6c0dec240b2e41985b15fdf4e5a6d3a145c1567', class: getIonMode$1(this) }, hAsync("ion-header", { key: 'cd177e85ee0f62a60a3a708342d6ab6eb19a44dc' }, hAsync("ion-toolbar", { key: 'aee8222a5a4daa540ad202b2e4cac1ef93d9558c' }, this.header !== undefined && hAsync("ion-title", { key: '5f8fecc764d97bf840d3d4cfddeeccd118ab4436' }, this.header), hAsync("ion-buttons", { key: '919033950d7c2b0101f96a9c9698219de9f568ea', slot: "end" }, hAsync("ion-button", { key: '34b571cab6dced4bde555a077a21e91800829931', onClick: () => this.closeModal() }, "Close")))), hAsync("ion-content", { key: '3c9153d26ba7a5a03d3b20fcd628d0c3031661a7' }, hAsync("ion-list", { key: 'e00b222c071bc97c82ad1bba4db95a8a5c43ed6d' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
33987
34005
  }
33988
34006
  get el() { return getElement(this); }
33989
34007
  static get style() { return {
@@ -34017,7 +34035,7 @@ class SelectOption {
34017
34035
  this.disabled = false;
34018
34036
  }
34019
34037
  render() {
34020
- return hAsync(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode$1(this) });
34038
+ return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
34021
34039
  }
34022
34040
  get el() { return getElement(this); }
34023
34041
  static get style() { return selectOptionCss; }
@@ -34134,7 +34152,7 @@ class SelectPopover {
34134
34152
  render() {
34135
34153
  const { header, message, options, subHeader } = this;
34136
34154
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
34137
- return (hAsync(Host, { key: '0c9845a40d3fc392b0a7d64e2a6ed27d94bb7634', class: getIonMode$1(this) }, hAsync("ion-list", { key: '84a30f6661b0f8c00e6fa199658ed2adbcf27358' }, header !== undefined && hAsync("ion-list-header", { key: '13f5f56bbfbc06751fa516291a2da72629b60ece' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: '3d39d18e720e798bbde334e79e6832091c7dfb81' }, hAsync("ion-label", { key: 'd3051b0d140120b44bf5e79572f6f287e7cfb03a', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'b16805956f3316f8ec703c123b76f717488e8637' }, subHeader), message !== undefined && hAsync("p", { key: '2215ac4ab4146a14e75a79192e319a8016286b5f' }, message)))), this.renderOptions(options))));
34155
+ return (hAsync(Host, { key: 'ab931b49b59283825bd2afa3f7f995b0e6e05bef', class: getIonMode$1(this) }, hAsync("ion-list", { key: '3bd12b67832607596b912a73d5b3ae9b954b244d' }, header !== undefined && hAsync("ion-list-header", { key: '97da930246edf7423a039c030d40e3ff7a5148a3' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'c579df6ea8fac07bb0c59d34c69b149656863224' }, hAsync("ion-label", { key: 'af699c5f465710ccb13b8cf8e7be66f0e8acfad1', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'df9a936d42064b134e843c7229f314a2a3ec7e80' }, subHeader), message !== undefined && hAsync("p", { key: '9c3ddad378df00f106afa94e9928cf68c17124dd' }, message)))), this.renderOptions(options))));
34138
34156
  }
34139
34157
  get el() { return getElement(this); }
34140
34158
  static get style() { return {
@@ -34184,11 +34202,11 @@ class SkeletonText {
34184
34202
  const animated = this.animated && config.getBoolean('animated', true);
34185
34203
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
34186
34204
  const mode = getIonMode$1(this);
34187
- return (hAsync(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
34205
+ return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
34188
34206
  [mode]: true,
34189
34207
  'skeleton-text-animated': animated,
34190
34208
  'in-media': inMedia,
34191
- } }, hAsync("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
34209
+ } }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
34192
34210
  }
34193
34211
  get el() { return getElement(this); }
34194
34212
  static get style() { return skeletonTextCss; }
@@ -34240,7 +34258,7 @@ class Spinner {
34240
34258
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
34241
34259
  }
34242
34260
  }
34243
- return (hAsync(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses$1(self.color, {
34261
+ return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
34244
34262
  [mode]: true,
34245
34263
  [`spinner-${spinnerName}`]: true,
34246
34264
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -34339,12 +34357,12 @@ class SplitPane {
34339
34357
  }
34340
34358
  render() {
34341
34359
  const mode = getIonMode$1(this);
34342
- return (hAsync(Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
34360
+ return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
34343
34361
  [mode]: true,
34344
34362
  // Used internally for styling
34345
34363
  [`split-pane-${mode}`]: true,
34346
34364
  'split-pane-visible': this.visible,
34347
- } }, hAsync("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
34365
+ } }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
34348
34366
  }
34349
34367
  get el() { return getElement(this); }
34350
34368
  static get watchers() { return {
@@ -34410,10 +34428,10 @@ class Tab {
34410
34428
  }
34411
34429
  render() {
34412
34430
  const { tab, active, component } = this;
34413
- return (hAsync(Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34431
+ return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34414
34432
  'ion-page': component === undefined,
34415
34433
  'tab-hidden': !active,
34416
- } }, hAsync("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
34434
+ } }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
34417
34435
  }
34418
34436
  get el() { return getElement(this); }
34419
34437
  static get watchers() { return {
@@ -34492,11 +34510,11 @@ class TabBar {
34492
34510
  const { color, translucent, keyboardVisible } = this;
34493
34511
  const mode = getIonMode$1(this);
34494
34512
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
34495
- return (hAsync(Host, { key: '7384afd3f2d364c8a052ea5a27131c51ce7ef94b', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
34513
+ return (hAsync(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
34496
34514
  [mode]: true,
34497
34515
  'tab-bar-translucent': translucent,
34498
34516
  'tab-bar-hidden': shouldHide,
34499
- }) }, hAsync("slot", { key: '4330de4be572cb2c88a37c88124fe66b8da98cc5' })));
34517
+ }) }, hAsync("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
34500
34518
  }
34501
34519
  get el() { return getElement(this); }
34502
34520
  static get watchers() { return {
@@ -34592,7 +34610,7 @@ class TabButton {
34592
34610
  rel,
34593
34611
  target,
34594
34612
  };
34595
- return (hAsync(Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
34613
+ return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
34596
34614
  [mode]: true,
34597
34615
  'tab-selected': selected,
34598
34616
  'tab-disabled': disabled,
@@ -34604,7 +34622,7 @@ class TabButton {
34604
34622
  'ion-activatable': true,
34605
34623
  'ion-selectable': true,
34606
34624
  'ion-focusable': true,
34607
- } }, hAsync("a", Object.assign({ key: 'c053d32fbcdad8d5e4a409956b47164d7a080c6b' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: 'b3b460d33ec978a46b069442280d31b23bc8e794', class: "button-inner" }, hAsync("slot", { key: '87b3928475c941263261101b8fae27c6370d4671' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '6532e5b4546aebe4becaebe1c93ce0e6aedaffe7', type: "unbounded" }))));
34625
+ } }, hAsync("a", Object.assign({ key: '01cb0ed2e77c5c1a8abd48da1bb07ac1b305d0b6' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: 'd0240c05f42217cfb186b86ff8a0c9cd70b9c8df', class: "button-inner" }, hAsync("slot", { key: '0a20b84925037dbaa8bb4a495b813d3f7c2e58ac' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '4c92c27178cdac89d69cffef8d2c39c3644914e8', type: "unbounded" }))));
34608
34626
  }
34609
34627
  get el() { return getElement(this); }
34610
34628
  static get style() { return {
@@ -34796,7 +34814,7 @@ class Tabs {
34796
34814
  return Array.from(this.el.querySelectorAll('ion-tab'));
34797
34815
  }
34798
34816
  render() {
34799
- return (hAsync(Host, { key: '97d3548ef12a33b783b4ea090ba19ca5055ef6d7', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '13fc2090ff2d030803caec332f30b2dd41352644', name: "top" }), hAsync("div", { key: '5f5c12c96efca85cba50442e7633b8a95f699918', class: "tabs-inner" }, hAsync("slot", { key: '92e702217cb2bab6133928adae8a6a516796ca1a' })), hAsync("slot", { key: '57a08296c8d77d62e4832a4eca431fea8ace3616', name: "bottom" })));
34817
+ return (hAsync(Host, { key: '6dd1d17cc5a7aff4b910303006b4478080ca97af', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: 'db54a692d1a825498a116f090eb305f7cceceb5a', name: "top" }), hAsync("div", { key: 'e1b7d49ba7032e9071de2029695254e2a8303be9', class: "tabs-inner" }, hAsync("slot", { key: '4c3b58d5292c8c834e7532c51de0861068943d79' })), hAsync("slot", { key: 'dd59c0b9b217dfbfb0fccdbc6896b593278549cc', name: "bottom" })));
34800
34818
  }
34801
34819
  get el() { return getElement(this); }
34802
34820
  static get style() { return tabsCss; }
@@ -34836,9 +34854,9 @@ class Text {
34836
34854
  }
34837
34855
  render() {
34838
34856
  const mode = getIonMode$1(this);
34839
- return (hAsync(Host, { key: 'bfaa49d35f43b8036725ae8a322c716fc6e43bdf', class: createColorClasses$1(this.color, {
34857
+ return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
34840
34858
  [mode]: true,
34841
- }) }, hAsync("slot", { key: 'c04880cd1935b42cbe60f58fd523b4d8a96072dc' })));
34859
+ }) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
34842
34860
  }
34843
34861
  static get style() { return textCss; }
34844
34862
  static get cmpMeta() { return {
@@ -34891,6 +34909,10 @@ class Textarea {
34891
34909
  * is applied in both cases.
34892
34910
  */
34893
34911
  this.hasFocus = false;
34912
+ /**
34913
+ * Track validation state for proper aria-live announcements
34914
+ */
34915
+ this.isInvalid = false;
34894
34916
  /**
34895
34917
  * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
34896
34918
  * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
@@ -35036,10 +35058,18 @@ class Textarea {
35036
35058
  this.el.click();
35037
35059
  }
35038
35060
  }
35061
+ /**
35062
+ * Checks if the textarea is in an invalid state based on validation classes
35063
+ */
35064
+ checkValidationState() {
35065
+ return this.el.classList.contains('ion-touched') && this.el.classList.contains('ion-invalid');
35066
+ }
35039
35067
  connectedCallback() {
35040
35068
  const { el } = this;
35041
35069
  this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate());
35042
35070
  this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
35071
+ // Always set initial state
35072
+ this.isInvalid = this.checkValidationState();
35043
35073
  this.debounceChanged();
35044
35074
  }
35045
35075
  disconnectedCallback() {
@@ -35051,6 +35081,11 @@ class Textarea {
35051
35081
  this.notchController.destroy();
35052
35082
  this.notchController = undefined;
35053
35083
  }
35084
+ // Clean up validation observer to prevent memory leaks
35085
+ if (this.validationObserver) {
35086
+ this.validationObserver.disconnect();
35087
+ this.validationObserver = undefined;
35088
+ }
35054
35089
  }
35055
35090
  componentWillLoad() {
35056
35091
  this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes$1(this.el, ['data-form-type', 'title', 'tabindex', 'dir']));
@@ -35228,8 +35263,8 @@ class Textarea {
35228
35263
  ];
35229
35264
  }
35230
35265
  getHintTextID() {
35231
- const { el, helperText, errorText, helperTextId, errorTextId } = this;
35232
- if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
35266
+ const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
35267
+ if (isInvalid && errorText) {
35233
35268
  return errorTextId;
35234
35269
  }
35235
35270
  if (helperText) {
@@ -35288,7 +35323,7 @@ class Textarea {
35288
35323
  * TODO(FW-5592): Remove hasStartEndSlots condition
35289
35324
  */
35290
35325
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
35291
- return (hAsync(Host, { key: '9fd36834a8ed8496212e00e5cc684c7fa6e8f6d5', class: createColorClasses$1(this.color, {
35326
+ return (hAsync(Host, { key: 'de258335fde7fa934cf3bd58c469525440457468', class: createColorClasses$1(this.color, {
35292
35327
  [mode]: true,
35293
35328
  'has-value': hasValue,
35294
35329
  'has-focus': hasFocus,
@@ -35297,7 +35332,7 @@ class Textarea {
35297
35332
  [`textarea-shape-${shape}`]: shape !== undefined,
35298
35333
  [`textarea-label-placement-${labelPlacement}`]: true,
35299
35334
  'textarea-disabled': disabled,
35300
- }) }, hAsync("label", { key: '60dd748594cb8e710bd6be8779c5bbafc7bb129c', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'dc11a0e37279c142cde124e3868144024a5439ed', class: "textarea-wrapper-inner" }, hAsync("div", { key: '49aee693a69bf17cf9d05a903d5e176f5ef7c50d', class: "start-slot-wrapper" }, hAsync("slot", { key: '7307aad65706b8191dac46b7e61e662af8976e97', name: "start" })), hAsync("div", { key: '81fb54829e4dd759d812fe98e24893071fdfb92a', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: 'fe51fca195f8e2ec6607ba6d92bce72e0a94e2cd', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), hAsync("div", { key: '87fd163075ea795ddb75b8d6bbf2f89ddceca4dc', class: "end-slot-wrapper" }, hAsync("slot", { key: 'b09b52993d2471e7e75773a8f36c49995959ce7a', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: 'acad88bca506ebf44d3bedab29f6d53ff8f92981', class: "textarea-highlight" })), this.renderBottomContent()));
35335
+ }) }, hAsync("label", { key: '79fc87122871d45316b1c5fd0a467bf85351e804', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '2375888a47557b41ea3b3bf8eae1fd3f2a4032bd', class: "textarea-wrapper-inner" }, hAsync("div", { key: 'c5af683527a870bd85256b6de8a7d216283403dd', class: "start-slot-wrapper" }, hAsync("slot", { key: 'd972e5784403c5cc6ed067ae578ce23ff8303e1e', name: "start" })), hAsync("div", { key: '1092067609d912a76a8679767611e4ca3e071c6f', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: 'cd23a4bad4d5b460830340009d24d0618f14fd73', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), hAsync("div", { key: 'c91a5456f4490ef8699f2e44b4a6c64f6084f5fd', class: "end-slot-wrapper" }, hAsync("slot", { key: 'b71ba7ba0d74091e81784432dcffa832b66f3f25', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: '757c3287e1cea5ee851227407685a437f8408c54', class: "textarea-highlight" })), this.renderBottomContent()));
35301
35336
  }
35302
35337
  get el() { return getElement(this); }
35303
35338
  static get watchers() { return {
@@ -35342,6 +35377,7 @@ class Textarea {
35342
35377
  "labelPlacement": [1, "label-placement"],
35343
35378
  "shape": [1],
35344
35379
  "hasFocus": [32],
35380
+ "isInvalid": [32],
35345
35381
  "setFocus": [64],
35346
35382
  "getInputElement": [64]
35347
35383
  },
@@ -35359,7 +35395,7 @@ class Thumbnail {
35359
35395
  registerInstance(this, hostRef);
35360
35396
  }
35361
35397
  render() {
35362
- return (hAsync(Host, { key: 'b250e01664238f1dca8f9757b15bc3d5d9387ffa', class: getIonMode$1(this) }, hAsync("slot", { key: '72cb568bccabc983c5186a7596ef6c6d4ebf5ad9' })));
35398
+ return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
35363
35399
  }
35364
35400
  static get style() { return thumbnailCss; }
35365
35401
  static get cmpMeta() { return {
@@ -36217,9 +36253,9 @@ class Toast {
36217
36253
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
36218
36254
  printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
36219
36255
  }
36220
- return (hAsync(Host, Object.assign({ key: '4a303f9ebb69614e9dca677d9d80a4a275de0d85', tabindex: "-1" }, this.htmlAttributes, { style: {
36256
+ return (hAsync(Host, Object.assign({ key: 'd1ecd90c87700aad4685e230cdd430aa286b8791', tabindex: "-1" }, this.htmlAttributes, { style: {
36221
36257
  zIndex: `${60000 + this.overlayIndex}`,
36222
- }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '4f58fcbba8dce9834eab743fc91715935216f3d0', class: wrapperClass }, hAsync("div", { key: 'bbc7b73b186432bd4be8247c5de2ce3b2551fb0a', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '0b953478eb739ceb864373416183bfbf5ce2f9f1', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '7a63497d1c0440256218426194851a969b042ca6', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
36258
+ }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '4bfc863417324de69e222054d5cf9c452038b41e', class: wrapperClass }, hAsync("div", { key: '3417940afec0392e81b7d54c7cb00f3ab6c30d47', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '6bf878fbc85c01e1e5faa9d97d46255a6511a952', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '54b500348a9c37660c3aff37436d9188e4374947', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
36223
36259
  }
36224
36260
  get el() { return getElement(this); }
36225
36261
  static get watchers() { return {
@@ -36521,7 +36557,7 @@ class Toggle {
36521
36557
  const value = this.getValue();
36522
36558
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
36523
36559
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
36524
- return (hAsync(Host, { key: '4bfaf87191b3ba4daef9d7afc693e290dbb2c5d2', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: createColorClasses$1(color, {
36560
+ return (hAsync(Host, { key: '21037ea2e8326f58c84becadde475f007f931924', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: createColorClasses$1(color, {
36525
36561
  [mode]: true,
36526
36562
  'in-item': hostContext('ion-item', el),
36527
36563
  'toggle-activated': activated,
@@ -36531,10 +36567,10 @@ class Toggle {
36531
36567
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
36532
36568
  [`toggle-label-placement-${labelPlacement}`]: true,
36533
36569
  [`toggle-${rtl}`]: true,
36534
- }) }, hAsync("label", { key: '08a7744d71410f8befc04776a0ef7d3b03e9cfaf', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: 'e41f1cc9779e3ea364f3b0cee91686bd177bc883', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: '986ee5fd8f7011dc8f2857b3ed19ea391070f20b', class: {
36570
+ }) }, hAsync("label", { key: '4d153679d118d01286f6633d1c19558a97745ff6', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '0dfcd4df15b8d41bec5ff5f8912503afbb7bec53', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: 'ffed3a07ba2ab70e5b232e6041bc3b6b34be8331', class: {
36535
36571
  'label-text-wrapper': true,
36536
36572
  'label-text-wrapper-hidden': !hasLabel,
36537
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '0cb70572a622b68d8e49239314bf00a32d7551c0' }), this.renderHintText()), hAsync("div", { key: 'f6e2a4f074af1398af3b6eaeb1a2ef2125e1ba67', class: "native-wrapper" }, this.renderToggleControl()))));
36573
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'd88e1e3dcdd8293f6b61f237cd7a0511dcbce300' }), this.renderHintText()), hAsync("div", { key: '0e924225f5f0caf3c88738acb6c557bd8c1b68f6', class: "native-wrapper" }, this.renderToggleControl()))));
36538
36574
  }
36539
36575
  get el() { return getElement(this); }
36540
36576
  static get watchers() { return {
@@ -36642,10 +36678,10 @@ class Toolbar {
36642
36678
  this.childrenStyles.forEach((value) => {
36643
36679
  Object.assign(childStyles, value);
36644
36680
  });
36645
- return (hAsync(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
36681
+ return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
36646
36682
  [mode]: true,
36647
36683
  'in-toolbar': hostContext('ion-toolbar', this.el),
36648
- })) }, hAsync("div", { key: '67f5bba9c4f527c3f35bfe1313a2b85741f9b246', class: "toolbar-background", part: "background" }), hAsync("div", { key: '085e8c68f056e5b0deb9d1606431fbeb45dae8e5', class: "toolbar-container", part: "container" }, hAsync("slot", { key: '15227c79c3baf883fd8c43fdb7e1313453933c79', name: "start" }), hAsync("slot", { key: '0b8a7f7e685aa31c80d9bc03446ccc3a9d07e0e8', name: "secondary" }), hAsync("div", { key: '57e4628c1fa89df79dd80456259db961bb691404', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '82c2f6e1acf8d96db259bd8baf295881801edbd5' })), hAsync("slot", { key: 'b2d4afb15214199f206c0a5e08b581e4c9c2f58a', name: "primary" }), hAsync("slot", { key: 'bfb909a0c472f8834046c2ea23bef2f562167ad3', name: "end" }))));
36684
+ })) }, hAsync("div", { key: '9c81742ffa02de9ba7417025b077d05e67305074', class: "toolbar-background", part: "background" }), hAsync("div", { key: '5fc96d166fa47894a062e41541a9beee38078a36', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'b62c0d9d59a70176bdbf769aec6090d7a166853b', name: "start" }), hAsync("slot", { key: 'd01d3cc2c50e5aaa49c345b209fe8dbdf3d48131', name: "secondary" }), hAsync("div", { key: '3aaa3a2810aedd38c37eb616158ec7b9638528fc', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '357246690f8d5e1cc3ca369611d4845a79edf610' })), hAsync("slot", { key: '06ed3cca4f7ebff4a54cd877dad3cc925ccf9f75', name: "primary" }), hAsync("slot", { key: 'e453d43d14a26b0d72f41e1b81a554bab8ece811', name: "end" }))));
36649
36685
  }
36650
36686
  get el() { return getElement(this); }
36651
36687
  static get style() { return {
@@ -36691,11 +36727,11 @@ class ToolbarTitle {
36691
36727
  render() {
36692
36728
  const mode = getIonMode$1(this);
36693
36729
  const size = this.getSize();
36694
- return (hAsync(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses$1(this.color, {
36730
+ return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
36695
36731
  [mode]: true,
36696
36732
  [`title-${size}`]: true,
36697
36733
  'title-rtl': document.dir === 'rtl',
36698
- }) }, hAsync("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, hAsync("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
36734
+ }) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
36699
36735
  }
36700
36736
  get el() { return getElement(this); }
36701
36737
  static get watchers() { return {