@ionic/core 8.7.3-dev.11755195979.1ec83531 → 8.7.3-dev.11755551681.10d084fd

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 (236) hide show
  1. package/components/checkbox.js +1 -1
  2. package/components/ion-input.js +7 -38
  3. package/components/ion-item-divider.js +2 -2
  4. package/components/ion-item-group.js +1 -1
  5. package/components/ion-item-option.js +2 -2
  6. package/components/ion-item-options.js +1 -1
  7. package/components/ion-item-sliding.js +1 -1
  8. package/components/ion-loading.js +2 -2
  9. package/components/ion-menu-button.js +2 -2
  10. package/components/ion-menu-toggle.js +2 -2
  11. package/components/ion-menu.js +2 -2
  12. package/components/ion-nav-link.js +1 -1
  13. package/components/ion-nav.js +1 -1
  14. package/components/ion-note.js +2 -2
  15. package/components/ion-picker-legacy.js +2 -2
  16. package/components/ion-progress-bar.js +1 -1
  17. package/components/ion-range.js +3 -3
  18. package/components/ion-refresher-content.js +1 -1
  19. package/components/ion-refresher.js +18 -1
  20. package/components/ion-reorder-group.js +1 -1
  21. package/components/ion-reorder.js +1 -1
  22. package/components/ion-router-link.js +2 -2
  23. package/components/ion-router-outlet.js +1 -1
  24. package/components/ion-row.js +1 -1
  25. package/components/ion-searchbar.js +4 -4
  26. package/components/ion-segment-button.js +2 -2
  27. package/components/ion-segment-content.js +1 -1
  28. package/components/ion-segment-view.js +2 -2
  29. package/components/ion-segment.js +2 -2
  30. package/components/ion-select-option.js +1 -1
  31. package/components/ion-select.js +2 -2
  32. package/components/ion-skeleton-text.js +2 -2
  33. package/components/ion-split-pane.js +2 -2
  34. package/components/ion-tab-bar.js +2 -2
  35. package/components/ion-tab-button.js +2 -2
  36. package/components/ion-tab.js +2 -2
  37. package/components/ion-tabs.js +1 -1
  38. package/components/ion-text.js +2 -2
  39. package/components/ion-textarea.js +6 -37
  40. package/components/ion-thumbnail.js +1 -1
  41. package/components/ion-toast.js +2 -2
  42. package/components/ion-toggle.js +3 -3
  43. package/components/label.js +2 -2
  44. package/components/list-header.js +2 -2
  45. package/components/modal.js +4 -4
  46. package/components/picker-column-option.js +2 -2
  47. package/components/picker-column2.js +2 -2
  48. package/components/popover.js +2 -2
  49. package/components/radio-group.js +1 -1
  50. package/components/radio.js +3 -3
  51. package/components/ripple-effect.js +1 -1
  52. package/components/select-modal.js +1 -1
  53. package/components/select-popover.js +1 -1
  54. package/components/spinner.js +1 -1
  55. package/components/title.js +2 -2
  56. package/components/toolbar.js +2 -2
  57. package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
  58. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  59. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  60. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  61. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  62. package/dist/cjs/ion-input.cjs.entry.js +7 -37
  63. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  64. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  65. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  66. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  67. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  68. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  72. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  73. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  74. package/dist/cjs/ion-refresher_2.cjs.entry.js +19 -2
  75. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  77. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  78. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  79. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  80. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  81. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  82. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  83. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  84. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  85. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  86. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  87. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  88. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-textarea.cjs.entry.js +6 -36
  90. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  91. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  92. package/dist/cjs/ionic.cjs.js +1 -1
  93. package/dist/cjs/loader.cjs.js +1 -1
  94. package/dist/collection/components/checkbox/checkbox.js +1 -1
  95. package/dist/collection/components/input/input.js +8 -39
  96. package/dist/collection/components/item-divider/item-divider.js +2 -2
  97. package/dist/collection/components/item-group/item-group.js +1 -1
  98. package/dist/collection/components/item-option/item-option.js +2 -2
  99. package/dist/collection/components/item-options/item-options.js +1 -1
  100. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  101. package/dist/collection/components/label/label.js +2 -2
  102. package/dist/collection/components/list-header/list-header.js +2 -2
  103. package/dist/collection/components/loading/loading.js +2 -2
  104. package/dist/collection/components/menu/menu.js +2 -2
  105. package/dist/collection/components/menu-button/menu-button.js +2 -2
  106. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  107. package/dist/collection/components/modal/modal.js +4 -4
  108. package/dist/collection/components/nav/nav.js +1 -1
  109. package/dist/collection/components/nav-link/nav-link.js +1 -1
  110. package/dist/collection/components/note/note.js +2 -2
  111. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  112. package/dist/collection/components/picker-legacy/picker.js +2 -2
  113. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  114. package/dist/collection/components/popover/popover.js +2 -2
  115. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  116. package/dist/collection/components/radio/radio.js +3 -3
  117. package/dist/collection/components/radio-group/radio-group.js +1 -1
  118. package/dist/collection/components/range/range.js +3 -3
  119. package/dist/collection/components/refresher/refresher.js +18 -1
  120. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  121. package/dist/collection/components/reorder/reorder.js +1 -1
  122. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  123. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  124. package/dist/collection/components/router-link/router-link.js +2 -2
  125. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  126. package/dist/collection/components/row/row.js +1 -1
  127. package/dist/collection/components/searchbar/searchbar.js +4 -4
  128. package/dist/collection/components/segment/segment.js +2 -2
  129. package/dist/collection/components/segment-button/segment-button.js +2 -2
  130. package/dist/collection/components/segment-content/segment-content.js +1 -1
  131. package/dist/collection/components/segment-view/segment-view.js +2 -2
  132. package/dist/collection/components/select/select.js +2 -2
  133. package/dist/collection/components/select-modal/select-modal.js +1 -1
  134. package/dist/collection/components/select-option/select-option.js +1 -1
  135. package/dist/collection/components/select-popover/select-popover.js +1 -1
  136. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  137. package/dist/collection/components/spinner/spinner.js +1 -1
  138. package/dist/collection/components/split-pane/split-pane.js +2 -2
  139. package/dist/collection/components/tab/tab.js +2 -2
  140. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  141. package/dist/collection/components/tab-button/tab-button.js +2 -2
  142. package/dist/collection/components/tabs/tabs.js +1 -1
  143. package/dist/collection/components/text/text.js +2 -2
  144. package/dist/collection/components/textarea/textarea.js +7 -38
  145. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  146. package/dist/collection/components/title/title.js +2 -2
  147. package/dist/collection/components/toast/toast.js +2 -2
  148. package/dist/collection/components/toggle/toggle.js +3 -3
  149. package/dist/collection/components/toolbar/toolbar.js +2 -2
  150. package/dist/docs.json +1 -1
  151. package/dist/esm/ion-app_8.entry.js +5 -5
  152. package/dist/esm/ion-avatar_3.entry.js +1 -1
  153. package/dist/esm/ion-checkbox.entry.js +1 -1
  154. package/dist/esm/ion-col_3.entry.js +1 -1
  155. package/dist/esm/ion-datetime_3.entry.js +4 -4
  156. package/dist/esm/ion-input.entry.js +7 -37
  157. package/dist/esm/ion-item-option_3.entry.js +4 -4
  158. package/dist/esm/ion-item_8.entry.js +11 -11
  159. package/dist/esm/ion-loading.entry.js +2 -2
  160. package/dist/esm/ion-menu_3.entry.js +6 -6
  161. package/dist/esm/ion-modal.entry.js +4 -4
  162. package/dist/esm/ion-nav_2.entry.js +2 -2
  163. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  164. package/dist/esm/ion-popover.entry.js +2 -2
  165. package/dist/esm/ion-progress-bar.entry.js +1 -1
  166. package/dist/esm/ion-radio_2.entry.js +4 -4
  167. package/dist/esm/ion-range.entry.js +3 -3
  168. package/dist/esm/ion-refresher_2.entry.js +19 -2
  169. package/dist/esm/ion-reorder_2.entry.js +2 -2
  170. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  171. package/dist/esm/ion-route_4.entry.js +2 -2
  172. package/dist/esm/ion-searchbar.entry.js +4 -4
  173. package/dist/esm/ion-segment-content.entry.js +1 -1
  174. package/dist/esm/ion-segment-view.entry.js +2 -2
  175. package/dist/esm/ion-segment_2.entry.js +4 -4
  176. package/dist/esm/ion-select-modal.entry.js +1 -1
  177. package/dist/esm/ion-select_3.entry.js +4 -4
  178. package/dist/esm/ion-spinner.entry.js +1 -1
  179. package/dist/esm/ion-split-pane.entry.js +2 -2
  180. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  181. package/dist/esm/ion-tab_2.entry.js +3 -3
  182. package/dist/esm/ion-text.entry.js +2 -2
  183. package/dist/esm/ion-textarea.entry.js +6 -36
  184. package/dist/esm/ion-toast.entry.js +2 -2
  185. package/dist/esm/ion-toggle.entry.js +3 -3
  186. package/dist/esm/ionic.js +1 -1
  187. package/dist/esm/loader.js +1 -1
  188. package/dist/ionic/ionic.esm.js +1 -1
  189. package/dist/ionic/{p-92e8f208.entry.js → p-039c8f8e.entry.js} +1 -1
  190. package/dist/ionic/{p-f9eb54ee.entry.js → p-0c580145.entry.js} +1 -1
  191. package/dist/ionic/{p-40d56a51.entry.js → p-0e45320b.entry.js} +1 -1
  192. package/dist/ionic/{p-1bbd0a23.entry.js → p-12b99129.entry.js} +1 -1
  193. package/dist/ionic/p-1488b7cc.entry.js +4 -0
  194. package/dist/ionic/{p-6383afc2.entry.js → p-165d1309.entry.js} +1 -1
  195. package/dist/ionic/{p-7b12d853.entry.js → p-165d8e84.entry.js} +1 -1
  196. package/dist/ionic/p-1a91f317.entry.js +4 -0
  197. package/dist/ionic/{p-c575e7ce.entry.js → p-1cfb0bc4.entry.js} +1 -1
  198. package/dist/ionic/{p-4f2c5845.entry.js → p-1e8b1767.entry.js} +1 -1
  199. package/dist/ionic/{p-e6c465ff.entry.js → p-22351d1b.entry.js} +1 -1
  200. package/dist/ionic/{p-3624b640.entry.js → p-2e967897.entry.js} +1 -1
  201. package/dist/ionic/p-332e4eac.entry.js +4 -0
  202. package/dist/ionic/p-3364562a.entry.js +4 -0
  203. package/dist/ionic/{p-d04d66fc.entry.js → p-4c79bd85.entry.js} +1 -1
  204. package/dist/ionic/{p-cde6d39b.entry.js → p-5420fd3e.entry.js} +1 -1
  205. package/dist/ionic/{p-54dec9b1.entry.js → p-70e05fd1.entry.js} +1 -1
  206. package/dist/ionic/{p-16116947.entry.js → p-78aff731.entry.js} +1 -1
  207. package/dist/ionic/p-7922ca30.entry.js +4 -0
  208. package/dist/ionic/{p-ab33ef20.entry.js → p-82ce0043.entry.js} +1 -1
  209. package/dist/ionic/{p-29032e49.entry.js → p-8ca65589.entry.js} +1 -1
  210. package/dist/ionic/p-8de104c4.entry.js +4 -0
  211. package/dist/ionic/{p-7bac2c5f.entry.js → p-9cf01220.entry.js} +1 -1
  212. package/dist/ionic/{p-1191a2d9.entry.js → p-c32b6c20.entry.js} +1 -1
  213. package/dist/ionic/{p-982fe1c4.entry.js → p-c7d2c21b.entry.js} +1 -1
  214. package/dist/ionic/p-c91aa324.entry.js +4 -0
  215. package/dist/ionic/p-dff5b0b6.entry.js +4 -0
  216. package/dist/ionic/{p-ec76fec4.entry.js → p-e1310192.entry.js} +1 -1
  217. package/dist/ionic/{p-dbba38cf.entry.js → p-e8429777.entry.js} +1 -1
  218. package/dist/ionic/{p-528af4e6.entry.js → p-ee881603.entry.js} +1 -1
  219. package/dist/ionic/{p-ac434970.entry.js → p-f267c7dc.entry.js} +1 -1
  220. package/dist/ionic/{p-7a53f04c.entry.js → p-f4e6e570.entry.js} +1 -1
  221. package/dist/ionic/{p-c0d58c8e.entry.js → p-f550f186.entry.js} +1 -1
  222. package/dist/ionic/{p-f456d176.entry.js → p-f5da8541.entry.js} +1 -1
  223. package/dist/ionic/{p-f7db572a.entry.js → p-f868d51c.entry.js} +1 -1
  224. package/dist/types/components/input/input.d.ts +0 -9
  225. package/dist/types/components/textarea/textarea.d.ts +0 -9
  226. package/hydrate/index.js +123 -138
  227. package/hydrate/index.mjs +123 -138
  228. package/package.json +1 -1
  229. package/dist/ionic/p-0f396661.entry.js +0 -4
  230. package/dist/ionic/p-44415a3b.entry.js +0 -4
  231. package/dist/ionic/p-8d96a0cd.entry.js +0 -4
  232. package/dist/ionic/p-ac2be9d6.entry.js +0 -4
  233. package/dist/ionic/p-c836e1a2.entry.js +0 -4
  234. package/dist/ionic/p-d3df6032.entry.js +0 -4
  235. package/dist/ionic/p-e6c3214c.entry.js +0 -4
  236. package/dist/ionic/p-f80f7416.entry.js +0 -4
package/hydrate/index.mjs CHANGED
@@ -9843,7 +9843,7 @@ class Checkbox {
9843
9843
  }), onClick: this.onClick }, hAsync("label", { key: 'f025cec5ff08e8be4487b9cc0324616ca5dfae2a', class: "checkbox-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: 'dc53f7e4e240dc2e18556e6350df2b5c3169f553', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: 'a625e9b50c3b617de8bbbfd624d772454fecaf2d', class: {
9844
9844
  'label-text-wrapper': true,
9845
9845
  'label-text-wrapper-hidden': !hasLabelContent,
9846
- }, part: "label", id: this.inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '87d1a90691327945f4343406706e4ab27f453844' }), this.renderHintText()), hAsync("div", { key: 'b57fed8cdecee4df1ef0d57f157267ee77fac653', class: "native-wrapper" }, hAsync("svg", { key: 'd472a06ec6c8b74dfb651415d2236db8080f6805', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
9846
+ }, part: "label", id: this.inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '87d1a90691327945f4343406706e4ab27f453844' }), this.renderHintText()), hAsync("div", { key: 'b57fed8cdecee4df1ef0d57f157267ee77fac653', class: "native-wrapper" }, hAsync("svg", { key: '13a8aac044d46dc99e3b60a1a643785511f216ac', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container", "aria-hidden": "true" }, path)))));
9847
9847
  }
9848
9848
  getSVGPath(mode, indeterminate) {
9849
9849
  let path = indeterminate ? (hAsync("path", { d: "M6 12L18 12", part: "mark" })) : (hAsync("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
@@ -16627,10 +16627,6 @@ 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;
16634
16630
  /**
16635
16631
  * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
16636
16632
  * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
@@ -16814,12 +16810,6 @@ class Input {
16814
16810
  componentWillLoad() {
16815
16811
  this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes$1(this.el, ['tabindex', 'title', 'data-form-type', 'dir']));
16816
16812
  }
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
- }
16823
16813
  connectedCallback() {
16824
16814
  const { el } = this;
16825
16815
  this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate());
@@ -16850,11 +16840,6 @@ class Input {
16850
16840
  this.notchController.destroy();
16851
16841
  this.notchController = undefined;
16852
16842
  }
16853
- // Clean up validation observer to prevent memory leaks
16854
- if (this.validationObserver) {
16855
- this.validationObserver.disconnect();
16856
- this.validationObserver = undefined;
16857
- }
16858
16843
  }
16859
16844
  /**
16860
16845
  * Sets focus on the native `input` in `ion-input`. Use this method instead of the global
@@ -16956,15 +16941,15 @@ class Input {
16956
16941
  * Renders the helper text or error text values
16957
16942
  */
16958
16943
  renderHintText() {
16959
- const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
16944
+ const { helperText, errorText, helperTextId, errorTextId } = this;
16960
16945
  return [
16961
16946
  hAsync("div", { id: helperTextId, class: "helper-text" }, helperText),
16962
- hAsync("div", { id: errorTextId, class: "error-text", role: isInvalid && errorText ? 'alert' : undefined, "aria-live": isInvalid && errorText ? 'polite' : 'off', "aria-atomic": "true" }, isInvalid && errorText ? errorText : ''),
16947
+ hAsync("div", { id: errorTextId, class: "error-text" }, errorText),
16963
16948
  ];
16964
16949
  }
16965
16950
  getHintTextID() {
16966
- const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
16967
- if (isInvalid && errorText) {
16951
+ const { el, helperText, errorText, helperTextId, errorTextId } = this;
16952
+ if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
16968
16953
  return errorTextId;
16969
16954
  }
16970
16955
  if (helperText) {
@@ -17077,7 +17062,7 @@ class Input {
17077
17062
  * TODO(FW-5592): Remove hasStartEndSlots condition
17078
17063
  */
17079
17064
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
17080
- return (hAsync(Host, { key: 'fcb5d96c872ce63cb6252b6d7d302ab30e6ea83b', class: createColorClasses$1(this.color, {
17065
+ return (hAsync(Host, { key: '41b2526627e7d2773a80f011b123284203a71ca0', class: createColorClasses$1(this.color, {
17081
17066
  [mode]: true,
17082
17067
  'has-value': hasValue,
17083
17068
  'has-focus': hasFocus,
@@ -17088,14 +17073,14 @@ class Input {
17088
17073
  'in-item': inItem,
17089
17074
  'in-item-color': hostContext('ion-item.ion-color', this.el),
17090
17075
  'input-disabled': disabled,
17091
- }) }, hAsync("label", { key: '73bcaaf2527cbf295283b4581046fb9b361ce2dd', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '22dd6c6623a284e6a51910fa47b0a2ebdbd5971d', class: "native-wrapper", onClick: this.onLabelClick }, hAsync("slot", { key: 'c02dac4336eb8e7570ed07cfa18fadca4bc6dd9d', name: "start" }), hAsync("input", Object.assign({ key: '42fc6409e9ee51feed480a672bf074cfa6f74c8f', 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: 'b124a2b970542daa6fcb45ac5546a9fde22b45be', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
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) => {
17092
17077
  /**
17093
17078
  * This prevents mobile browsers from
17094
17079
  * blurring the input when the clear
17095
17080
  * button is activated.
17096
17081
  */
17097
17082
  ev.preventDefault();
17098
- }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '243037c08825c2bf26c53bb9507f7cd73e56a4de', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '9faff25f968c089b7716a8afb405ba5afb86a1ac', name: "end" })), shouldRenderHighlight && hAsync("div", { key: '54bf3da059a2bf30e4990ba34abb23fd3bf137b0', class: "input-highlight" })), this.renderBottomContent()));
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()));
17099
17084
  }
17100
17085
  get el() { return getElement(this); }
17101
17086
  static get watchers() { return {
@@ -17147,7 +17132,6 @@ class Input {
17147
17132
  "type": [1],
17148
17133
  "value": [1032],
17149
17134
  "hasFocus": [32],
17150
- "isInvalid": [32],
17151
17135
  "setFocus": [64],
17152
17136
  "getInputElement": [64]
17153
17137
  },
@@ -18217,11 +18201,11 @@ class ItemDivider {
18217
18201
  }
18218
18202
  render() {
18219
18203
  const mode = getIonMode$1(this);
18220
- return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
18204
+ return (hAsync(Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: createColorClasses$1(this.color, {
18221
18205
  [mode]: true,
18222
18206
  'item-divider-sticky': this.sticky,
18223
18207
  item: true,
18224
- }) }, 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" }))));
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" }))));
18225
18209
  }
18226
18210
  get el() { return getElement(this); }
18227
18211
  static get style() { return {
@@ -18251,7 +18235,7 @@ class ItemGroup {
18251
18235
  }
18252
18236
  render() {
18253
18237
  const mode = getIonMode$1(this);
18254
- return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
18238
+ return (hAsync(Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
18255
18239
  [mode]: true,
18256
18240
  // Used internally for styling
18257
18241
  [`item-group-${mode}`]: true,
@@ -18321,12 +18305,12 @@ class ItemOption {
18321
18305
  href: this.href,
18322
18306
  target: this.target,
18323
18307
  };
18324
- return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
18308
+ return (hAsync(Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
18325
18309
  [mode]: true,
18326
18310
  'item-option-disabled': disabled,
18327
18311
  'item-option-expandable': expandable,
18328
18312
  'ion-activatable': true,
18329
- }) }, 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' }))));
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' }))));
18330
18314
  }
18331
18315
  get el() { return getElement(this); }
18332
18316
  static get style() { return {
@@ -18375,7 +18359,7 @@ class ItemOptions {
18375
18359
  render() {
18376
18360
  const mode = getIonMode$1(this);
18377
18361
  const isEnd = isEndSide(this.side);
18378
- return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
18362
+ return (hAsync(Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
18379
18363
  [mode]: true,
18380
18364
  // Used internally for styling
18381
18365
  [`item-options-${mode}`]: true,
@@ -18840,7 +18824,7 @@ class ItemSliding {
18840
18824
  }
18841
18825
  render() {
18842
18826
  const mode = getIonMode$1(this);
18843
- return (hAsync(Host, { key: 'd812322c9fb5da4ee16e99dc38bfb24cb4590d03', class: {
18827
+ return (hAsync(Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
18844
18828
  [mode]: true,
18845
18829
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
18846
18830
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -18945,13 +18929,13 @@ class Label {
18945
18929
  render() {
18946
18930
  const position = this.position;
18947
18931
  const mode = getIonMode$1(this);
18948
- return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
18932
+ return (hAsync(Host, { key: '684ddfa719e34d743489ff05a0df067829257c73', class: createColorClasses$1(this.color, {
18949
18933
  [mode]: true,
18950
18934
  'in-item-color': hostContext('ion-item.ion-color', this.el),
18951
18935
  [`label-${position}`]: position !== undefined,
18952
18936
  [`label-no-animate`]: this.noAnimate,
18953
18937
  'label-rtl': document.dir === 'rtl',
18954
- }) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
18938
+ }) }, hAsync("slot", { key: '4aace3e2b36250e832c44f63bea21116d77220fb' })));
18955
18939
  }
18956
18940
  get el() { return getElement(this); }
18957
18941
  static get watchers() { return {
@@ -19049,10 +19033,10 @@ class ListHeader {
19049
19033
  render() {
19050
19034
  const { lines } = this;
19051
19035
  const mode = getIonMode$1(this);
19052
- return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
19036
+ return (hAsync(Host, { key: '2e529021279761b2b2889885437f619b0e8f71c4', class: createColorClasses$1(this.color, {
19053
19037
  [mode]: true,
19054
19038
  [`list-header-lines-${lines}`]: lines !== undefined,
19055
- }) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
19039
+ }) }, hAsync("div", { key: '9a6a11b0db015df79374f6489a40b959bc80b3e4', class: "list-header-inner" }, hAsync("slot", { key: 'ef347fc6afb47850797e2e4d1aeefcd6a318f789' }))));
19056
19040
  }
19057
19041
  static get style() { return {
19058
19042
  ios: listHeaderIosCss,
@@ -19337,9 +19321,9 @@ class Loading {
19337
19321
  * Otherwise, don't set aria-labelledby.
19338
19322
  */
19339
19323
  const ariaLabelledBy = message !== undefined ? msgId : null;
19340
- return (hAsync(Host, Object.assign({ key: '4497183ce220242abe19ae15f328f9a92ccafbbc', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19324
+ return (hAsync(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19341
19325
  zIndex: `${40000 + this.overlayIndex}`,
19342
- }, 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" })));
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" })));
19343
19327
  }
19344
19328
  get el() { return getElement(this); }
19345
19329
  static get watchers() { return {
@@ -20385,14 +20369,14 @@ class Menu {
20385
20369
  * the ionBackButton listener in the menu controller
20386
20370
  * will handle closing the menu when Escape is pressed.
20387
20371
  */
20388
- return (hAsync(Host, { key: 'a5c75aa40a34530b56ee3b98d706a5ac5ae300de', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20372
+ return (hAsync(Host, { key: 'fe83e1633252b66757d30f603bb82ab65fc520f0', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20389
20373
  [mode]: true,
20390
20374
  [`menu-type-${type}`]: true,
20391
20375
  'menu-enabled': !disabled,
20392
20376
  [`menu-side-${side}`]: true,
20393
20377
  'menu-pane-visible': isPaneVisible,
20394
20378
  'split-pane-side': hostContext('ion-split-pane', el),
20395
- } }, 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" })));
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" })));
20396
20380
  }
20397
20381
  get el() { return getElement(this); }
20398
20382
  static get watchers() { return {
@@ -20500,7 +20484,7 @@ class MenuButton {
20500
20484
  type: this.type,
20501
20485
  };
20502
20486
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
20503
- return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20487
+ return (hAsync(Host, { key: 'dcade732e366f0687d92cb9ce4065b78b0b41d24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20504
20488
  [mode]: true,
20505
20489
  button: true, // ion-buttons target .button
20506
20490
  'menu-button-hidden': hidden,
@@ -20509,7 +20493,7 @@ class MenuButton {
20509
20493
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
20510
20494
  'ion-activatable': true,
20511
20495
  'ion-focusable': true,
20512
- }) }, 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" }))));
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" }))));
20513
20497
  }
20514
20498
  get el() { return getElement(this); }
20515
20499
  static get style() { return {
@@ -20562,10 +20546,10 @@ class MenuToggle {
20562
20546
  render() {
20563
20547
  const mode = getIonMode$1(this);
20564
20548
  const hidden = this.autoHide && !this.visible;
20565
- return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20549
+ return (hAsync(Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20566
20550
  [mode]: true,
20567
20551
  'menu-toggle-hidden': hidden,
20568
- } }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
20552
+ } }, hAsync("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
20569
20553
  }
20570
20554
  static get style() { return menuToggleCss; }
20571
20555
  static get cmpMeta() { return {
@@ -23230,20 +23214,20 @@ class Modal {
23230
23214
  const isCardModal = presentingElement !== undefined && mode === 'ios';
23231
23215
  const isHandleCycle = handleBehavior === 'cycle';
23232
23216
  const isSheetModalWithHandle = isSheetModal && showHandle;
23233
- return (hAsync(Host, Object.assign({ key: '9e9a7bd591eb17a225a00b4fa2e379e94601d17f', "no-router": true,
23217
+ return (hAsync(Host, Object.assign({ key: '3fc94b846a80cf23ab9c4d4534d5835f2ada5449', "no-router": true,
23234
23218
  // Allow the modal to be navigable when the handle is focusable
23235
23219
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
23236
23220
  zIndex: `${20000 + this.overlayIndex}`,
23237
- }, 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',
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',
23238
23222
  /*
23239
23223
  role and aria-modal must be used on the
23240
23224
  same element. They must also be set inside the
23241
23225
  shadow DOM otherwise ion-button will not be highlighted
23242
23226
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
23243
23227
  */
23244
- 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",
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",
23245
23229
  // Prevents the handle from receiving keyboard focus when it does not cycle
23246
- 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 }))));
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 }))));
23247
23231
  }
23248
23232
  get el() { return getElement(this); }
23249
23233
  static get watchers() { return {
@@ -24190,7 +24174,7 @@ class Nav {
24190
24174
  }
24191
24175
  }
24192
24176
  render() {
24193
- return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
24177
+ return hAsync("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
24194
24178
  }
24195
24179
  get el() { return getElement(this); }
24196
24180
  static get watchers() { return {
@@ -24263,7 +24247,7 @@ class NavLink {
24263
24247
  };
24264
24248
  }
24265
24249
  render() {
24266
- return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
24250
+ return hAsync(Host, { key: 'd4d80feb51c0d92b0bedf6952c892f9df3002046', onClick: this.onClick });
24267
24251
  }
24268
24252
  get el() { return getElement(this); }
24269
24253
  static get cmpMeta() { return {
@@ -24294,9 +24278,9 @@ class Note {
24294
24278
  }
24295
24279
  render() {
24296
24280
  const mode = getIonMode$1(this);
24297
- return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
24281
+ return (hAsync(Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: createColorClasses$1(this.color, {
24298
24282
  [mode]: true,
24299
- }) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
24283
+ }) }, hAsync("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
24300
24284
  }
24301
24285
  static get style() { return {
24302
24286
  ios: noteIosCss,
@@ -25056,11 +25040,11 @@ class Picker {
25056
25040
  render() {
25057
25041
  const { htmlAttributes } = this;
25058
25042
  const mode = getIonMode$1(this);
25059
- return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25043
+ return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25060
25044
  zIndex: `${20000 + this.overlayIndex}`,
25061
25045
  }, class: Object.assign({ [mode]: true,
25062
25046
  // Used internally for styling
25063
- [`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" })));
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" })));
25064
25048
  }
25065
25049
  get el() { return getElement(this); }
25066
25050
  static get watchers() { return {
@@ -26065,9 +26049,9 @@ class PickerColumnCmp {
26065
26049
  render() {
26066
26050
  const col = this.col;
26067
26051
  const mode = getIonMode$1(this);
26068
- 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: {
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: {
26069
26053
  'max-width': this.col.columnWidth,
26070
- } }, 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))));
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))));
26071
26055
  }
26072
26056
  get el() { return getElement(this); }
26073
26057
  static get watchers() { return {
@@ -26184,10 +26168,10 @@ class PickerColumnOption {
26184
26168
  render() {
26185
26169
  const { color, disabled, ariaLabel } = this;
26186
26170
  const mode = getIonMode$1(this);
26187
- return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
26171
+ return (hAsync(Host, { key: 'c45a1c14a351bf57d7113671164852349be5aa8a', class: createColorClasses$1(color, {
26188
26172
  [mode]: true,
26189
26173
  ['option-disabled']: disabled,
26190
- }) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
26174
+ }) }, hAsync("button", { key: '67334c3bc6fbff93f65aaf9a0979b5ef62db1e5b', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'a4766c43931d1a5cb3124a2a97141d1a4ca2bf24' }))));
26191
26175
  }
26192
26176
  get el() { return getElement(this); }
26193
26177
  static get watchers() { return {
@@ -27594,9 +27578,9 @@ class Popover {
27594
27578
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
27595
27579
  const desktop = isPlatform('desktop');
27596
27580
  const enableArrow = arrow && !parentPopover;
27597
- return (hAsync(Host, Object.assign({ key: '16866c02534968c982cf4730d2936d03a5107c8b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
27581
+ return (hAsync(Host, Object.assign({ key: 'f977b26ee1607d83bc78418e319da90d1691b49f', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
27598
27582
  zIndex: `${20000 + this.overlayIndex}`,
27599
- }, 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' })))));
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' })))));
27600
27584
  }
27601
27585
  get el() { return getElement(this); }
27602
27586
  static get watchers() { return {
@@ -27701,7 +27685,7 @@ class ProgressBar {
27701
27685
  const mode = getIonMode$1(this);
27702
27686
  // If the progress is displayed as a solid bar.
27703
27687
  const progressSolid = buffer === 1;
27704
- return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
27688
+ return (hAsync(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
27705
27689
  [mode]: true,
27706
27690
  [`progress-bar-${type}`]: true,
27707
27691
  'progress-paused': paused,
@@ -27886,7 +27870,7 @@ class Radio {
27886
27870
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
27887
27871
  const mode = getIonMode$1(this);
27888
27872
  const inItem = hostContext('ion-item', el);
27889
- return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
27873
+ return (hAsync(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
27890
27874
  [mode]: true,
27891
27875
  'in-item': inItem,
27892
27876
  'radio-checked': checked,
@@ -27897,10 +27881,10 @@ class Radio {
27897
27881
  // Focus and active styling should not apply when the radio is in an item
27898
27882
  'ion-activatable': !inItem,
27899
27883
  'ion-focusable': !inItem,
27900
- }), 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: {
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: {
27901
27885
  'label-text-wrapper': true,
27902
27886
  'label-text-wrapper-hidden': !hasLabel,
27903
- }, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
27887
+ }, part: "label" }, hAsync("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), hAsync("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
27904
27888
  }
27905
27889
  get el() { return getElement(this); }
27906
27890
  static get watchers() { return {
@@ -28123,7 +28107,7 @@ class RadioGroup {
28123
28107
  const { label, labelId, el, name, value } = this;
28124
28108
  const mode = getIonMode$1(this);
28125
28109
  renderHiddenInput(true, el, name, value, false);
28126
- 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' }))));
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' })));
28127
28111
  }
28128
28112
  get el() { return getElement(this); }
28129
28113
  static get watchers() { return {
@@ -28881,7 +28865,7 @@ class Range {
28881
28865
  const needsEndAdjustment = inItem && !hasEndContent;
28882
28866
  const mode = getIonMode$1(this);
28883
28867
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
28884
- return (hAsync(Host, { key: 'ef7b01f80515bcaeb2983934ad7f10a6bd5d13ec', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
28868
+ return (hAsync(Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
28885
28869
  [mode]: true,
28886
28870
  'in-item': inItem,
28887
28871
  'range-disabled': disabled,
@@ -28890,10 +28874,10 @@ class Range {
28890
28874
  [`range-label-placement-${labelPlacement}`]: true,
28891
28875
  'range-item-start-adjustment': needsStartAdjustment,
28892
28876
  'range-item-end-adjustment': needsEndAdjustment,
28893
- }) }, hAsync("label", { key: 'fd8aa90a9d52be9da024b907e68858dae424449d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '2172b4f329c22017dd23475c80aac25ba6e753eb', class: {
28877
+ }) }, hAsync("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
28894
28878
  'label-text-wrapper': true,
28895
28879
  'label-text-wrapper-hidden': !hasLabel,
28896
- }, 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" })))));
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" })))));
28897
28881
  }
28898
28882
  get el() { return getElement(this); }
28899
28883
  static get watchers() { return {
@@ -29346,6 +29330,14 @@ class Refresher {
29346
29330
  this.beginRefresh();
29347
29331
  this.didRefresh = true;
29348
29332
  hapticImpact({ style: ImpactStyle.Light });
29333
+ /**
29334
+ * Clear focus from any active element to prevent scroll jumps
29335
+ * when the refresh completes
29336
+ */
29337
+ const activeElement = document.activeElement;
29338
+ if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) !== undefined) {
29339
+ activeElement.blur();
29340
+ }
29349
29341
  /**
29350
29342
  * Translate the content element otherwise when pointer is removed
29351
29343
  * from screen the scroll content will bounce back over the refresher
@@ -29761,6 +29753,15 @@ class Refresher {
29761
29753
  this.state = 8 /* RefresherState.Refreshing */;
29762
29754
  // place the content in a hangout position while it thinks
29763
29755
  this.setCss(this.pullMin, this.snapbackDuration, true, '');
29756
+ /**
29757
+ * Clear focus from any active element to prevent the browser
29758
+ * from restoring focus and causing scroll jumps after refresh.
29759
+ * This ensures the view stays at the top after refresh completes.
29760
+ */
29761
+ const activeElement = document.activeElement;
29762
+ if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) !== undefined) {
29763
+ activeElement.blur();
29764
+ }
29764
29765
  // emit "refresh" because it was pulled down far enough
29765
29766
  // and they let go to begin refreshing
29766
29767
  this.ionRefresh.emit({
@@ -29843,7 +29844,7 @@ class Refresher {
29843
29844
  }
29844
29845
  render() {
29845
29846
  const mode = getIonMode$1(this);
29846
- return (hAsync(Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
29847
+ return (hAsync(Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
29847
29848
  [mode]: true,
29848
29849
  // Used internally for styling
29849
29850
  [`refresher-${mode}`]: true,
@@ -30067,7 +30068,7 @@ class RefresherContent {
30067
30068
  const pullingIcon = this.pullingIcon;
30068
30069
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
30069
30070
  const mode = getIonMode$1(this);
30070
- 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())));
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())));
30071
30072
  }
30072
30073
  get el() { return getElement(this); }
30073
30074
  static get cmpMeta() { return {
@@ -30108,7 +30109,7 @@ class Reorder {
30108
30109
  render() {
30109
30110
  const mode = getIonMode$1(this);
30110
30111
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
30111
- 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" }))));
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" }))));
30112
30113
  }
30113
30114
  get el() { return getElement(this); }
30114
30115
  static get style() { return {
@@ -30379,7 +30380,7 @@ class ReorderGroup {
30379
30380
  }
30380
30381
  render() {
30381
30382
  const mode = getIonMode$1(this);
30382
- return (hAsync(Host, { key: 'b9641f3061d67fbfe68317b901ec33267046e073', class: {
30383
+ return (hAsync(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
30383
30384
  [mode]: true,
30384
30385
  'reorder-enabled': !this.disabled,
30385
30386
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -30495,7 +30496,7 @@ class RippleEffect {
30495
30496
  }
30496
30497
  render() {
30497
30498
  const mode = getIonMode$1(this);
30498
- return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
30499
+ return (hAsync(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
30499
30500
  [mode]: true,
30500
30501
  unbounded: this.unbounded,
30501
30502
  } }));
@@ -31454,10 +31455,10 @@ class RouterLink {
31454
31455
  rel: this.rel,
31455
31456
  target: this.target,
31456
31457
  };
31457
- return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
31458
+ return (hAsync(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses$1(this.color, {
31458
31459
  [mode]: true,
31459
31460
  'ion-activatable': true,
31460
- }) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
31461
+ }) }, hAsync("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), hAsync("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
31461
31462
  }
31462
31463
  static get style() { return routerLinkCss; }
31463
31464
  static get cmpMeta() { return {
@@ -31654,7 +31655,7 @@ class RouterOutlet {
31654
31655
  return true;
31655
31656
  }
31656
31657
  render() {
31657
- return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
31658
+ return hAsync("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
31658
31659
  }
31659
31660
  get el() { return getElement(this); }
31660
31661
  static get watchers() { return {
@@ -31687,7 +31688,7 @@ class Row {
31687
31688
  registerInstance(this, hostRef);
31688
31689
  }
31689
31690
  render() {
31690
- return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
31691
+ return (hAsync(Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
31691
31692
  }
31692
31693
  static get style() { return rowCss; }
31693
31694
  static get cmpMeta() { return {
@@ -32128,8 +32129,8 @@ class Searchbar {
32128
32129
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
32129
32130
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
32130
32131
  const shouldShowCancelButton = this.shouldShowCancelButton();
32131
- 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))));
32132
- return (hAsync(Host, { key: '074aa60e051bfb3225e87d44bbb6346c59c73574', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
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, {
32133
32134
  [mode]: true,
32134
32135
  'searchbar-animated': animated,
32135
32136
  'searchbar-disabled': this.disabled,
@@ -32139,14 +32140,14 @@ class Searchbar {
32139
32140
  'searchbar-has-focus': this.focused,
32140
32141
  'searchbar-should-show-clear': this.shouldShowClearButton(),
32141
32142
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
32142
- }) }, 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) => {
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) => {
32143
32144
  /**
32144
32145
  * This prevents mobile browsers from
32145
32146
  * blurring the input when the clear
32146
32147
  * button is activated.
32147
32148
  */
32148
32149
  ev.preventDefault();
32149
- }, 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));
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));
32150
32151
  }
32151
32152
  get el() { return getElement(this); }
32152
32153
  static get watchers() { return {
@@ -32741,14 +32742,14 @@ class Segment {
32741
32742
  }
32742
32743
  render() {
32743
32744
  const mode = getIonMode$1(this);
32744
- return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
32745
+ return (hAsync(Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
32745
32746
  [mode]: true,
32746
32747
  'in-toolbar': hostContext('ion-toolbar', this.el),
32747
32748
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
32748
32749
  'segment-activated': this.activated,
32749
32750
  'segment-disabled': this.disabled,
32750
32751
  'segment-scrollable': this.scrollable,
32751
- }) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
32752
+ }) }, hAsync("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
32752
32753
  }
32753
32754
  get el() { return getElement(this); }
32754
32755
  static get watchers() { return {
@@ -32888,7 +32889,7 @@ class SegmentButton {
32888
32889
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
32889
32890
  const mode = getIonMode$1(this);
32890
32891
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
32891
- return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
32892
+ return (hAsync(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
32892
32893
  [mode]: true,
32893
32894
  'in-toolbar': hostContext('ion-toolbar', this.el),
32894
32895
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -32904,7 +32905,7 @@ class SegmentButton {
32904
32905
  'ion-activatable': true,
32905
32906
  'ion-activatable-instant': true,
32906
32907
  'ion-focusable': true,
32907
- } }, 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" }))));
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" }))));
32908
32909
  }
32909
32910
  get el() { return getElement(this); }
32910
32911
  static get watchers() { return {
@@ -32939,7 +32940,7 @@ class SegmentContent {
32939
32940
  registerInstance(this, hostRef);
32940
32941
  }
32941
32942
  render() {
32942
- return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
32943
+ return (hAsync(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, hAsync("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
32943
32944
  }
32944
32945
  static get style() { return segmentContentCss; }
32945
32946
  static get cmpMeta() { return {
@@ -33052,10 +33053,10 @@ class SegmentView {
33052
33053
  }
33053
33054
  render() {
33054
33055
  const { disabled, isManualScroll } = this;
33055
- return (hAsync(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
33056
+ return (hAsync(Host, { key: '3776707134f85b81028f9668e77974c21e3a5491', class: {
33056
33057
  'segment-view-disabled': disabled,
33057
33058
  'segment-view-scroll-disabled': isManualScroll === false,
33058
- } }, hAsync("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
33059
+ } }, hAsync("slot", { key: 'e67efc16cbfa0c13aa9d81e9f91b61162782c0ea' })));
33059
33060
  }
33060
33061
  get el() { return getElement(this); }
33061
33062
  static get style() { return {
@@ -33805,7 +33806,7 @@ class Select {
33805
33806
  * TODO(FW-5592): Remove hasStartEndSlots condition
33806
33807
  */
33807
33808
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
33808
- return (hAsync(Host, { key: 'c03fb65e8fc9f9aab295e07b282377d57d910519', onClick: this.onClick, class: createColorClasses$1(this.color, {
33809
+ return (hAsync(Host, { key: 'c1e6967b3ccc9631bfceeadd074a6e87b4e96dbe', onClick: this.onClick, class: createColorClasses$1(this.color, {
33809
33810
  [mode]: true,
33810
33811
  'in-item': inItem,
33811
33812
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -33823,7 +33824,7 @@ class Select {
33823
33824
  [`select-justify-${justify}`]: justifyEnabled,
33824
33825
  [`select-shape-${shape}`]: shape !== undefined,
33825
33826
  [`select-label-placement-${labelPlacement}`]: true,
33826
- }) }, 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()));
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()));
33827
33828
  }
33828
33829
  get el() { return getElement(this); }
33829
33830
  static get watchers() { return {
@@ -33982,7 +33983,7 @@ class SelectModal {
33982
33983
  } }, option.text))));
33983
33984
  }
33984
33985
  render() {
33985
- 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()))));
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()))));
33986
33987
  }
33987
33988
  get el() { return getElement(this); }
33988
33989
  static get style() { return {
@@ -34016,7 +34017,7 @@ class SelectOption {
34016
34017
  this.disabled = false;
34017
34018
  }
34018
34019
  render() {
34019
- return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
34020
+ return hAsync(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode$1(this) });
34020
34021
  }
34021
34022
  get el() { return getElement(this); }
34022
34023
  static get style() { return selectOptionCss; }
@@ -34133,7 +34134,7 @@ class SelectPopover {
34133
34134
  render() {
34134
34135
  const { header, message, options, subHeader } = this;
34135
34136
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
34136
- 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))));
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))));
34137
34138
  }
34138
34139
  get el() { return getElement(this); }
34139
34140
  static get style() { return {
@@ -34183,11 +34184,11 @@ class SkeletonText {
34183
34184
  const animated = this.animated && config.getBoolean('animated', true);
34184
34185
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
34185
34186
  const mode = getIonMode$1(this);
34186
- return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
34187
+ return (hAsync(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
34187
34188
  [mode]: true,
34188
34189
  'skeleton-text-animated': animated,
34189
34190
  'in-media': inMedia,
34190
- } }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
34191
+ } }, hAsync("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
34191
34192
  }
34192
34193
  get el() { return getElement(this); }
34193
34194
  static get style() { return skeletonTextCss; }
@@ -34239,7 +34240,7 @@ class Spinner {
34239
34240
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
34240
34241
  }
34241
34242
  }
34242
- return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
34243
+ return (hAsync(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses$1(self.color, {
34243
34244
  [mode]: true,
34244
34245
  [`spinner-${spinnerName}`]: true,
34245
34246
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -34338,12 +34339,12 @@ class SplitPane {
34338
34339
  }
34339
34340
  render() {
34340
34341
  const mode = getIonMode$1(this);
34341
- return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
34342
+ return (hAsync(Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
34342
34343
  [mode]: true,
34343
34344
  // Used internally for styling
34344
34345
  [`split-pane-${mode}`]: true,
34345
34346
  'split-pane-visible': this.visible,
34346
- } }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
34347
+ } }, hAsync("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
34347
34348
  }
34348
34349
  get el() { return getElement(this); }
34349
34350
  static get watchers() { return {
@@ -34409,10 +34410,10 @@ class Tab {
34409
34410
  }
34410
34411
  render() {
34411
34412
  const { tab, active, component } = this;
34412
- return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34413
+ return (hAsync(Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34413
34414
  'ion-page': component === undefined,
34414
34415
  'tab-hidden': !active,
34415
- } }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
34416
+ } }, hAsync("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
34416
34417
  }
34417
34418
  get el() { return getElement(this); }
34418
34419
  static get watchers() { return {
@@ -34491,11 +34492,11 @@ class TabBar {
34491
34492
  const { color, translucent, keyboardVisible } = this;
34492
34493
  const mode = getIonMode$1(this);
34493
34494
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
34494
- return (hAsync(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
34495
+ return (hAsync(Host, { key: '7384afd3f2d364c8a052ea5a27131c51ce7ef94b', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
34495
34496
  [mode]: true,
34496
34497
  'tab-bar-translucent': translucent,
34497
34498
  'tab-bar-hidden': shouldHide,
34498
- }) }, hAsync("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
34499
+ }) }, hAsync("slot", { key: '4330de4be572cb2c88a37c88124fe66b8da98cc5' })));
34499
34500
  }
34500
34501
  get el() { return getElement(this); }
34501
34502
  static get watchers() { return {
@@ -34591,7 +34592,7 @@ class TabButton {
34591
34592
  rel,
34592
34593
  target,
34593
34594
  };
34594
- return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
34595
+ return (hAsync(Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
34595
34596
  [mode]: true,
34596
34597
  'tab-selected': selected,
34597
34598
  'tab-disabled': disabled,
@@ -34603,7 +34604,7 @@ class TabButton {
34603
34604
  'ion-activatable': true,
34604
34605
  'ion-selectable': true,
34605
34606
  'ion-focusable': true,
34606
- } }, 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" }))));
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" }))));
34607
34608
  }
34608
34609
  get el() { return getElement(this); }
34609
34610
  static get style() { return {
@@ -34795,7 +34796,7 @@ class Tabs {
34795
34796
  return Array.from(this.el.querySelectorAll('ion-tab'));
34796
34797
  }
34797
34798
  render() {
34798
- 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" })));
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" })));
34799
34800
  }
34800
34801
  get el() { return getElement(this); }
34801
34802
  static get style() { return tabsCss; }
@@ -34835,9 +34836,9 @@ class Text {
34835
34836
  }
34836
34837
  render() {
34837
34838
  const mode = getIonMode$1(this);
34838
- return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
34839
+ return (hAsync(Host, { key: 'bfaa49d35f43b8036725ae8a322c716fc6e43bdf', class: createColorClasses$1(this.color, {
34839
34840
  [mode]: true,
34840
- }) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
34841
+ }) }, hAsync("slot", { key: 'c04880cd1935b42cbe60f58fd523b4d8a96072dc' })));
34841
34842
  }
34842
34843
  static get style() { return textCss; }
34843
34844
  static get cmpMeta() { return {
@@ -34890,10 +34891,6 @@ class Textarea {
34890
34891
  * is applied in both cases.
34891
34892
  */
34892
34893
  this.hasFocus = false;
34893
- /**
34894
- * Track validation state for proper aria-live announcements
34895
- */
34896
- this.isInvalid = false;
34897
34894
  /**
34898
34895
  * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
34899
34896
  * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
@@ -35039,12 +35036,6 @@ class Textarea {
35039
35036
  this.el.click();
35040
35037
  }
35041
35038
  }
35042
- /**
35043
- * Checks if the textarea is in an invalid state based on validation classes
35044
- */
35045
- checkValidationState() {
35046
- return this.el.classList.contains('ion-touched') && this.el.classList.contains('ion-invalid');
35047
- }
35048
35039
  connectedCallback() {
35049
35040
  const { el } = this;
35050
35041
  this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate());
@@ -35060,11 +35051,6 @@ class Textarea {
35060
35051
  this.notchController.destroy();
35061
35052
  this.notchController = undefined;
35062
35053
  }
35063
- // Clean up validation observer to prevent memory leaks
35064
- if (this.validationObserver) {
35065
- this.validationObserver.disconnect();
35066
- this.validationObserver = undefined;
35067
- }
35068
35054
  }
35069
35055
  componentWillLoad() {
35070
35056
  this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes$1(this.el, ['data-form-type', 'title', 'tabindex', 'dir']));
@@ -35235,15 +35221,15 @@ class Textarea {
35235
35221
  * Renders the helper text or error text values
35236
35222
  */
35237
35223
  renderHintText() {
35238
- const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
35224
+ const { helperText, errorText, helperTextId, errorTextId } = this;
35239
35225
  return [
35240
35226
  hAsync("div", { id: helperTextId, class: "helper-text" }, helperText),
35241
- hAsync("div", { id: errorTextId, class: "error-text", role: isInvalid && errorText ? 'alert' : undefined, "aria-live": isInvalid && errorText ? 'polite' : 'off', "aria-atomic": "true" }, isInvalid && errorText ? errorText : ''),
35227
+ hAsync("div", { id: errorTextId, class: "error-text" }, errorText),
35242
35228
  ];
35243
35229
  }
35244
35230
  getHintTextID() {
35245
- const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
35246
- if (isInvalid && errorText) {
35231
+ const { el, helperText, errorText, helperTextId, errorTextId } = this;
35232
+ if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
35247
35233
  return errorTextId;
35248
35234
  }
35249
35235
  if (helperText) {
@@ -35302,7 +35288,7 @@ class Textarea {
35302
35288
  * TODO(FW-5592): Remove hasStartEndSlots condition
35303
35289
  */
35304
35290
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
35305
- return (hAsync(Host, { key: 'b67193cbdbd70844901e7f58346cb6021ea8ff9b', class: createColorClasses$1(this.color, {
35291
+ return (hAsync(Host, { key: '9fd36834a8ed8496212e00e5cc684c7fa6e8f6d5', class: createColorClasses$1(this.color, {
35306
35292
  [mode]: true,
35307
35293
  'has-value': hasValue,
35308
35294
  'has-focus': hasFocus,
@@ -35311,7 +35297,7 @@ class Textarea {
35311
35297
  [`textarea-shape-${shape}`]: shape !== undefined,
35312
35298
  [`textarea-label-placement-${labelPlacement}`]: true,
35313
35299
  'textarea-disabled': disabled,
35314
- }) }, hAsync("label", { key: '11cb5c9eefd6c82f0d94a283f65e3bfea7cfd31f', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'f23c54b1d02b07ae54a729a1c871788b804031fe', class: "textarea-wrapper-inner" }, hAsync("div", { key: 'd467679b2132c67307eacf29f0cb9cffe9fa3f70', class: "start-slot-wrapper" }, hAsync("slot", { key: 'e75629aeb663218b24598803a400c0755bbc0958', name: "start" })), hAsync("div", { key: 'dacfbeaee43984034a59375adcda329e5cf73de4', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: 'cee91118b3d2fa7f6b0660bab8384cd508e432b1', 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: '7802d173e3e338776ae2a095037191fdfe771dda', class: "end-slot-wrapper" }, hAsync("slot", { key: '1b721a633799701fab2527b046c03ee23fa30c2e', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: 'ae2836d8d7ab9a1a6e70c3c17bbf99e30835c39d', class: "textarea-highlight" })), this.renderBottomContent()));
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()));
35315
35301
  }
35316
35302
  get el() { return getElement(this); }
35317
35303
  static get watchers() { return {
@@ -35356,7 +35342,6 @@ class Textarea {
35356
35342
  "labelPlacement": [1, "label-placement"],
35357
35343
  "shape": [1],
35358
35344
  "hasFocus": [32],
35359
- "isInvalid": [32],
35360
35345
  "setFocus": [64],
35361
35346
  "getInputElement": [64]
35362
35347
  },
@@ -35374,7 +35359,7 @@ class Thumbnail {
35374
35359
  registerInstance(this, hostRef);
35375
35360
  }
35376
35361
  render() {
35377
- return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
35362
+ return (hAsync(Host, { key: 'b250e01664238f1dca8f9757b15bc3d5d9387ffa', class: getIonMode$1(this) }, hAsync("slot", { key: '72cb568bccabc983c5186a7596ef6c6d4ebf5ad9' })));
35378
35363
  }
35379
35364
  static get style() { return thumbnailCss; }
35380
35365
  static get cmpMeta() { return {
@@ -36232,9 +36217,9 @@ class Toast {
36232
36217
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
36233
36218
  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);
36234
36219
  }
36235
- return (hAsync(Host, Object.assign({ key: 'd1ecd90c87700aad4685e230cdd430aa286b8791', tabindex: "-1" }, this.htmlAttributes, { style: {
36220
+ return (hAsync(Host, Object.assign({ key: '4a303f9ebb69614e9dca677d9d80a4a275de0d85', tabindex: "-1" }, this.htmlAttributes, { style: {
36236
36221
  zIndex: `${60000 + this.overlayIndex}`,
36237
- }, 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')))));
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')))));
36238
36223
  }
36239
36224
  get el() { return getElement(this); }
36240
36225
  static get watchers() { return {
@@ -36536,7 +36521,7 @@ class Toggle {
36536
36521
  const value = this.getValue();
36537
36522
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
36538
36523
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
36539
- 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, {
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, {
36540
36525
  [mode]: true,
36541
36526
  'in-item': hostContext('ion-item', el),
36542
36527
  'toggle-activated': activated,
@@ -36546,10 +36531,10 @@ class Toggle {
36546
36531
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
36547
36532
  [`toggle-label-placement-${labelPlacement}`]: true,
36548
36533
  [`toggle-${rtl}`]: true,
36549
- }) }, 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: {
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: {
36550
36535
  'label-text-wrapper': true,
36551
36536
  'label-text-wrapper-hidden': !hasLabel,
36552
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'd88e1e3dcdd8293f6b61f237cd7a0511dcbce300' }), this.renderHintText()), hAsync("div", { key: '0e924225f5f0caf3c88738acb6c557bd8c1b68f6', class: "native-wrapper" }, this.renderToggleControl()))));
36537
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '0cb70572a622b68d8e49239314bf00a32d7551c0' }), this.renderHintText()), hAsync("div", { key: 'f6e2a4f074af1398af3b6eaeb1a2ef2125e1ba67', class: "native-wrapper" }, this.renderToggleControl()))));
36553
36538
  }
36554
36539
  get el() { return getElement(this); }
36555
36540
  static get watchers() { return {
@@ -36657,10 +36642,10 @@ class Toolbar {
36657
36642
  this.childrenStyles.forEach((value) => {
36658
36643
  Object.assign(childStyles, value);
36659
36644
  });
36660
- return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
36645
+ return (hAsync(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
36661
36646
  [mode]: true,
36662
36647
  'in-toolbar': hostContext('ion-toolbar', this.el),
36663
- })) }, 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" }))));
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" }))));
36664
36649
  }
36665
36650
  get el() { return getElement(this); }
36666
36651
  static get style() { return {
@@ -36706,11 +36691,11 @@ class ToolbarTitle {
36706
36691
  render() {
36707
36692
  const mode = getIonMode$1(this);
36708
36693
  const size = this.getSize();
36709
- return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
36694
+ return (hAsync(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses$1(this.color, {
36710
36695
  [mode]: true,
36711
36696
  [`title-${size}`]: true,
36712
36697
  'title-rtl': document.dir === 'rtl',
36713
- }) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
36698
+ }) }, hAsync("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, hAsync("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
36714
36699
  }
36715
36700
  get el() { return getElement(this); }
36716
36701
  static get watchers() { return {