@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.js CHANGED
@@ -9845,7 +9845,7 @@ class Checkbox {
9845
9845
  }), 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: {
9846
9846
  'label-text-wrapper': true,
9847
9847
  'label-text-wrapper-hidden': !hasLabelContent,
9848
- }, 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)))));
9848
+ }, 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)))));
9849
9849
  }
9850
9850
  getSVGPath(mode, indeterminate) {
9851
9851
  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" }));
@@ -16629,10 +16629,6 @@ class Input {
16629
16629
  * is applied in both cases.
16630
16630
  */
16631
16631
  this.hasFocus = false;
16632
- /**
16633
- * Track validation state for proper aria-live announcements
16634
- */
16635
- this.isInvalid = false;
16636
16632
  /**
16637
16633
  * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
16638
16634
  * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
@@ -16816,12 +16812,6 @@ class Input {
16816
16812
  componentWillLoad() {
16817
16813
  this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes$1(this.el, ['tabindex', 'title', 'data-form-type', 'dir']));
16818
16814
  }
16819
- /**
16820
- * Checks if the input is in an invalid state based on validation classes
16821
- */
16822
- checkValidationState() {
16823
- return this.el.classList.contains('ion-touched') && this.el.classList.contains('ion-invalid');
16824
- }
16825
16815
  connectedCallback() {
16826
16816
  const { el } = this;
16827
16817
  this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate());
@@ -16852,11 +16842,6 @@ class Input {
16852
16842
  this.notchController.destroy();
16853
16843
  this.notchController = undefined;
16854
16844
  }
16855
- // Clean up validation observer to prevent memory leaks
16856
- if (this.validationObserver) {
16857
- this.validationObserver.disconnect();
16858
- this.validationObserver = undefined;
16859
- }
16860
16845
  }
16861
16846
  /**
16862
16847
  * Sets focus on the native `input` in `ion-input`. Use this method instead of the global
@@ -16958,15 +16943,15 @@ class Input {
16958
16943
  * Renders the helper text or error text values
16959
16944
  */
16960
16945
  renderHintText() {
16961
- const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
16946
+ const { helperText, errorText, helperTextId, errorTextId } = this;
16962
16947
  return [
16963
16948
  hAsync("div", { id: helperTextId, class: "helper-text" }, helperText),
16964
- hAsync("div", { id: errorTextId, class: "error-text", role: isInvalid && errorText ? 'alert' : undefined, "aria-live": isInvalid && errorText ? 'polite' : 'off', "aria-atomic": "true" }, isInvalid && errorText ? errorText : ''),
16949
+ hAsync("div", { id: errorTextId, class: "error-text" }, errorText),
16965
16950
  ];
16966
16951
  }
16967
16952
  getHintTextID() {
16968
- const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
16969
- if (isInvalid && errorText) {
16953
+ const { el, helperText, errorText, helperTextId, errorTextId } = this;
16954
+ if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
16970
16955
  return errorTextId;
16971
16956
  }
16972
16957
  if (helperText) {
@@ -17079,7 +17064,7 @@ class Input {
17079
17064
  * TODO(FW-5592): Remove hasStartEndSlots condition
17080
17065
  */
17081
17066
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
17082
- return (hAsync(Host, { key: 'fcb5d96c872ce63cb6252b6d7d302ab30e6ea83b', class: createColorClasses$1(this.color, {
17067
+ return (hAsync(Host, { key: '41b2526627e7d2773a80f011b123284203a71ca0', class: createColorClasses$1(this.color, {
17083
17068
  [mode]: true,
17084
17069
  'has-value': hasValue,
17085
17070
  'has-focus': hasFocus,
@@ -17090,14 +17075,14 @@ class Input {
17090
17075
  'in-item': inItem,
17091
17076
  'in-item-color': hostContext('ion-item.ion-color', this.el),
17092
17077
  'input-disabled': disabled,
17093
- }) }, 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) => {
17078
+ }) }, 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) => {
17094
17079
  /**
17095
17080
  * This prevents mobile browsers from
17096
17081
  * blurring the input when the clear
17097
17082
  * button is activated.
17098
17083
  */
17099
17084
  ev.preventDefault();
17100
- }, 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()));
17085
+ }, 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()));
17101
17086
  }
17102
17087
  get el() { return getElement(this); }
17103
17088
  static get watchers() { return {
@@ -17149,7 +17134,6 @@ class Input {
17149
17134
  "type": [1],
17150
17135
  "value": [1032],
17151
17136
  "hasFocus": [32],
17152
- "isInvalid": [32],
17153
17137
  "setFocus": [64],
17154
17138
  "getInputElement": [64]
17155
17139
  },
@@ -18219,11 +18203,11 @@ class ItemDivider {
18219
18203
  }
18220
18204
  render() {
18221
18205
  const mode = getIonMode$1(this);
18222
- return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
18206
+ return (hAsync(Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: createColorClasses$1(this.color, {
18223
18207
  [mode]: true,
18224
18208
  'item-divider-sticky': this.sticky,
18225
18209
  item: true,
18226
- }) }, hAsync("slot", { key: '39105d888e115416c3a3fe588da44b4c61f4e5fe', name: "start" }), hAsync("div", { key: '67e16f1056bd39187f3629c1bb383b7abbda829b', class: "item-divider-inner" }, hAsync("div", { key: 'b3a218fdcc7b9aeab6e0155340152d39fa0b6329', class: "item-divider-wrapper" }, hAsync("slot", { key: '69d8587533b387869d34b075d02f61396858fc90' })), hAsync("slot", { key: 'b91c654699b3b26d0012ea0c719c4a07d1fcfbaa', name: "end" }))));
18210
+ }) }, 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" }))));
18227
18211
  }
18228
18212
  get el() { return getElement(this); }
18229
18213
  static get style() { return {
@@ -18253,7 +18237,7 @@ class ItemGroup {
18253
18237
  }
18254
18238
  render() {
18255
18239
  const mode = getIonMode$1(this);
18256
- return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
18240
+ return (hAsync(Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
18257
18241
  [mode]: true,
18258
18242
  // Used internally for styling
18259
18243
  [`item-group-${mode}`]: true,
@@ -18323,12 +18307,12 @@ class ItemOption {
18323
18307
  href: this.href,
18324
18308
  target: this.target,
18325
18309
  };
18326
- return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
18310
+ return (hAsync(Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
18327
18311
  [mode]: true,
18328
18312
  'item-option-disabled': disabled,
18329
18313
  'item-option-expandable': expandable,
18330
18314
  'ion-activatable': true,
18331
- }) }, hAsync(TagType, Object.assign({ key: '5a7140eb99da5ec82fe2ea3ea134513130763399' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: '9b8577e612706b43e575c9a20f2f9d35c0d1bcb1', class: "button-inner" }, hAsync("slot", { key: '9acb82f04e4822bfaa363cc2c4d29d5c0fec0ad6', name: "top" }), hAsync("div", { key: '66f5fb4fdd0c39f205574c602c793dcf109c7a17', class: "horizontal-wrapper" }, hAsync("slot", { key: '3761a32bca7c6c41b7eb394045497cfde181a62a', name: "start" }), hAsync("slot", { key: 'a96a568955cf6962883dc6771726d3d07462da00', name: "icon-only" }), hAsync("slot", { key: 'af5dfe5eb41456b9359bafe3615b576617ed7b57' }), hAsync("slot", { key: '00426958066ab7b949ff966fabad5cf8a0b54079', name: "end" })), hAsync("slot", { key: 'ae66c8bd536a9f27865f49240980d7b4b831b229', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '30df6c935ef8a3f28a6bc1f3bb162ca4f80aaf26' }))));
18315
+ }) }, 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' }))));
18332
18316
  }
18333
18317
  get el() { return getElement(this); }
18334
18318
  static get style() { return {
@@ -18377,7 +18361,7 @@ class ItemOptions {
18377
18361
  render() {
18378
18362
  const mode = getIonMode$1(this);
18379
18363
  const isEnd = isEndSide(this.side);
18380
- return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
18364
+ return (hAsync(Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
18381
18365
  [mode]: true,
18382
18366
  // Used internally for styling
18383
18367
  [`item-options-${mode}`]: true,
@@ -18842,7 +18826,7 @@ class ItemSliding {
18842
18826
  }
18843
18827
  render() {
18844
18828
  const mode = getIonMode$1(this);
18845
- return (hAsync(Host, { key: 'd812322c9fb5da4ee16e99dc38bfb24cb4590d03', class: {
18829
+ return (hAsync(Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
18846
18830
  [mode]: true,
18847
18831
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
18848
18832
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -18947,13 +18931,13 @@ class Label {
18947
18931
  render() {
18948
18932
  const position = this.position;
18949
18933
  const mode = getIonMode$1(this);
18950
- return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
18934
+ return (hAsync(Host, { key: '684ddfa719e34d743489ff05a0df067829257c73', class: createColorClasses$1(this.color, {
18951
18935
  [mode]: true,
18952
18936
  'in-item-color': hostContext('ion-item.ion-color', this.el),
18953
18937
  [`label-${position}`]: position !== undefined,
18954
18938
  [`label-no-animate`]: this.noAnimate,
18955
18939
  'label-rtl': document.dir === 'rtl',
18956
- }) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
18940
+ }) }, hAsync("slot", { key: '4aace3e2b36250e832c44f63bea21116d77220fb' })));
18957
18941
  }
18958
18942
  get el() { return getElement(this); }
18959
18943
  static get watchers() { return {
@@ -19051,10 +19035,10 @@ class ListHeader {
19051
19035
  render() {
19052
19036
  const { lines } = this;
19053
19037
  const mode = getIonMode$1(this);
19054
- return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
19038
+ return (hAsync(Host, { key: '2e529021279761b2b2889885437f619b0e8f71c4', class: createColorClasses$1(this.color, {
19055
19039
  [mode]: true,
19056
19040
  [`list-header-lines-${lines}`]: lines !== undefined,
19057
- }) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
19041
+ }) }, hAsync("div", { key: '9a6a11b0db015df79374f6489a40b959bc80b3e4', class: "list-header-inner" }, hAsync("slot", { key: 'ef347fc6afb47850797e2e4d1aeefcd6a318f789' }))));
19058
19042
  }
19059
19043
  static get style() { return {
19060
19044
  ios: listHeaderIosCss,
@@ -19339,9 +19323,9 @@ class Loading {
19339
19323
  * Otherwise, don't set aria-labelledby.
19340
19324
  */
19341
19325
  const ariaLabelledBy = message !== undefined ? msgId : null;
19342
- return (hAsync(Host, Object.assign({ key: '4497183ce220242abe19ae15f328f9a92ccafbbc', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19326
+ return (hAsync(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19343
19327
  zIndex: `${40000 + this.overlayIndex}`,
19344
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '231dec84e424a2dc358ce95b84d6035cf43e4dea', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'c9af29b6e6bb49a217396a5c874bbfb8835a926c', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'a8659863743cdeccbe1ba810eaabfd3ebfcb86f3', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '3b346f39bc71691bd8686556a1e142198a7b12fa', class: "loading-spinner" }, hAsync("ion-spinner", { key: '8dc2bf1556e5138e262827f1516c59ecd09f3520', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '054164c0dbae9a0e0973dd3c8e28f5b771820310', tabindex: "0", "aria-hidden": "true" })));
19328
+ }, 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" })));
19345
19329
  }
19346
19330
  get el() { return getElement(this); }
19347
19331
  static get watchers() { return {
@@ -20387,14 +20371,14 @@ class Menu {
20387
20371
  * the ionBackButton listener in the menu controller
20388
20372
  * will handle closing the menu when Escape is pressed.
20389
20373
  */
20390
- return (hAsync(Host, { key: 'a5c75aa40a34530b56ee3b98d706a5ac5ae300de', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20374
+ return (hAsync(Host, { key: 'fe83e1633252b66757d30f603bb82ab65fc520f0', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20391
20375
  [mode]: true,
20392
20376
  [`menu-type-${type}`]: true,
20393
20377
  'menu-enabled': !disabled,
20394
20378
  [`menu-side-${side}`]: true,
20395
20379
  'menu-pane-visible': isPaneVisible,
20396
20380
  'split-pane-side': hostContext('ion-split-pane', el),
20397
- } }, hAsync("div", { key: '3f5f70acd4d3ed6bb445122f4f01d73db738a75f', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '3161326c9330e7f7441299c428b87a91b31a83e9' })), hAsync("ion-backdrop", { key: '917b50f38489bdf03d0c642af8b4e4e172c7dc4c', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
20381
+ } }, 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" })));
20398
20382
  }
20399
20383
  get el() { return getElement(this); }
20400
20384
  static get watchers() { return {
@@ -20502,7 +20486,7 @@ class MenuButton {
20502
20486
  type: this.type,
20503
20487
  };
20504
20488
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
20505
- return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20489
+ return (hAsync(Host, { key: 'dcade732e366f0687d92cb9ce4065b78b0b41d24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20506
20490
  [mode]: true,
20507
20491
  button: true, // ion-buttons target .button
20508
20492
  'menu-button-hidden': hidden,
@@ -20511,7 +20495,7 @@ class MenuButton {
20511
20495
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
20512
20496
  'ion-activatable': true,
20513
20497
  'ion-focusable': true,
20514
- }) }, hAsync("button", Object.assign({ key: 'ffebf7083d23501839970059ef8e411b571de197' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: 'cab0c1c763b3ce33ef11dba1d230f66126e59424', class: "button-inner" }, hAsync("slot", { key: 'ccfd2be8479b75b5c63e97e1ca7dfe203e9b36ee' }, hAsync("ion-icon", { key: 'ac254fe7f327b08f1ae3fcea89d5cf0e83c9a96c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: 'f0f17c4ca96e3eed3c1727ee00578d40af8f0115', type: "unbounded" }))));
20498
+ }) }, 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" }))));
20515
20499
  }
20516
20500
  get el() { return getElement(this); }
20517
20501
  static get style() { return {
@@ -20564,10 +20548,10 @@ class MenuToggle {
20564
20548
  render() {
20565
20549
  const mode = getIonMode$1(this);
20566
20550
  const hidden = this.autoHide && !this.visible;
20567
- return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20551
+ return (hAsync(Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20568
20552
  [mode]: true,
20569
20553
  'menu-toggle-hidden': hidden,
20570
- } }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
20554
+ } }, hAsync("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
20571
20555
  }
20572
20556
  static get style() { return menuToggleCss; }
20573
20557
  static get cmpMeta() { return {
@@ -23232,20 +23216,20 @@ class Modal {
23232
23216
  const isCardModal = presentingElement !== undefined && mode === 'ios';
23233
23217
  const isHandleCycle = handleBehavior === 'cycle';
23234
23218
  const isSheetModalWithHandle = isSheetModal && showHandle;
23235
- return (hAsync(Host, Object.assign({ key: '9e9a7bd591eb17a225a00b4fa2e379e94601d17f', "no-router": true,
23219
+ return (hAsync(Host, Object.assign({ key: '3fc94b846a80cf23ab9c4d4534d5835f2ada5449', "no-router": true,
23236
23220
  // Allow the modal to be navigable when the handle is focusable
23237
23221
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
23238
23222
  zIndex: `${20000 + this.overlayIndex}`,
23239
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: 'e5eae2c14f830f75e308fcd7f4c10c86fac5b962', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'e268f9cd310c3cf4e051b5b92524ce4fb70d005e', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '9c380f36c18144c153077b15744d1c3346bce63e',
23223
+ }, 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',
23240
23224
  /*
23241
23225
  role and aria-modal must be used on the
23242
23226
  same element. They must also be set inside the
23243
23227
  shadow DOM otherwise ion-button will not be highlighted
23244
23228
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
23245
23229
  */
23246
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '2d5ee6d5959d97309c306e8ce72eb0f2c19be144', class: "modal-handle",
23230
+ 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",
23247
23231
  // Prevents the handle from receiving keyboard focus when it does not cycle
23248
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '5590434c35ea04c42fc006498bc189038e15a298', onSlotchange: this.onSlotChange }))));
23232
+ 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 }))));
23249
23233
  }
23250
23234
  get el() { return getElement(this); }
23251
23235
  static get watchers() { return {
@@ -24192,7 +24176,7 @@ class Nav {
24192
24176
  }
24193
24177
  }
24194
24178
  render() {
24195
- return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
24179
+ return hAsync("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
24196
24180
  }
24197
24181
  get el() { return getElement(this); }
24198
24182
  static get watchers() { return {
@@ -24265,7 +24249,7 @@ class NavLink {
24265
24249
  };
24266
24250
  }
24267
24251
  render() {
24268
- return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
24252
+ return hAsync(Host, { key: 'd4d80feb51c0d92b0bedf6952c892f9df3002046', onClick: this.onClick });
24269
24253
  }
24270
24254
  get el() { return getElement(this); }
24271
24255
  static get cmpMeta() { return {
@@ -24296,9 +24280,9 @@ class Note {
24296
24280
  }
24297
24281
  render() {
24298
24282
  const mode = getIonMode$1(this);
24299
- return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
24283
+ return (hAsync(Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: createColorClasses$1(this.color, {
24300
24284
  [mode]: true,
24301
- }) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
24285
+ }) }, hAsync("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
24302
24286
  }
24303
24287
  static get style() { return {
24304
24288
  ios: noteIosCss,
@@ -25058,11 +25042,11 @@ class Picker {
25058
25042
  render() {
25059
25043
  const { htmlAttributes } = this;
25060
25044
  const mode = getIonMode$1(this);
25061
- return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25045
+ return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25062
25046
  zIndex: `${20000 + this.overlayIndex}`,
25063
25047
  }, class: Object.assign({ [mode]: true,
25064
25048
  // Used internally for styling
25065
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '169d1c83ef40e7fcb134219a585298b403a70b0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '98518e5f5cea2dfb8dfa63d9545e9ae3a5765023', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '151755ab8eb23f9adafbfe201349398f5a69dee7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '5dcf93b2f4fe8f4fce7c7aec8f85ef45a03ef470', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: 'fd5d66708edd38adc5a4d2fad7298969398a05e3', class: "picker-columns" }, hAsync("div", { key: '1b5830fd6cef1016af7736792c514965d6cb38a8', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'c6edeca7afd69e13c9c66ba36f261974fd0f8f78', class: "picker-below-highlight" }))), hAsync("div", { key: 'e2a4b24710e30579b14b82dbfd3761b2187797b5', tabindex: "0", "aria-hidden": "true" })));
25049
+ [`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" })));
25066
25050
  }
25067
25051
  get el() { return getElement(this); }
25068
25052
  static get watchers() { return {
@@ -26067,9 +26051,9 @@ class PickerColumnCmp {
26067
26051
  render() {
26068
26052
  const col = this.col;
26069
26053
  const mode = getIonMode$1(this);
26070
- return (hAsync(Host, { key: 'ed32d108dd94f0302fb453c31a3497ebae65ec37', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
26054
+ 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: {
26071
26055
  'max-width': this.col.columnWidth,
26072
- } }, col.prefix && (hAsync("div", { key: '9f0634890e66fd4ae74f826d1eea3431de121393', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '337e996e5be91af16446085fe22436f213b771eb', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: 'd69a132599d78d9e5107f12228978cfce4e43098', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
26056
+ } }, 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))));
26073
26057
  }
26074
26058
  get el() { return getElement(this); }
26075
26059
  static get watchers() { return {
@@ -26186,10 +26170,10 @@ class PickerColumnOption {
26186
26170
  render() {
26187
26171
  const { color, disabled, ariaLabel } = this;
26188
26172
  const mode = getIonMode$1(this);
26189
- return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
26173
+ return (hAsync(Host, { key: 'c45a1c14a351bf57d7113671164852349be5aa8a', class: createColorClasses$1(color, {
26190
26174
  [mode]: true,
26191
26175
  ['option-disabled']: disabled,
26192
- }) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
26176
+ }) }, hAsync("button", { key: '67334c3bc6fbff93f65aaf9a0979b5ef62db1e5b', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'a4766c43931d1a5cb3124a2a97141d1a4ca2bf24' }))));
26193
26177
  }
26194
26178
  get el() { return getElement(this); }
26195
26179
  static get watchers() { return {
@@ -27596,9 +27580,9 @@ class Popover {
27596
27580
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
27597
27581
  const desktop = isPlatform('desktop');
27598
27582
  const enableArrow = arrow && !parentPopover;
27599
- return (hAsync(Host, Object.assign({ key: '16866c02534968c982cf4730d2936d03a5107c8b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
27583
+ return (hAsync(Host, Object.assign({ key: 'f977b26ee1607d83bc78418e319da90d1691b49f', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
27600
27584
  zIndex: `${20000 + this.overlayIndex}`,
27601
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '0df258601a4d30df3c27aa8234a7d5e056c3ecbb', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'f94e80ed996b957b5cd09b826472b4f60e8fcc78', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '185ce22f6386e8444a9cc7b8818dbfc16c463c99', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '206202b299404e110de5397b229678cca18568d3', class: "popover-content", part: "content" }, hAsync("slot", { key: 'ee543a0b92d6e35a837c0a0e4617c7b0fc4ad0b0' })))));
27585
+ }, 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' })))));
27602
27586
  }
27603
27587
  get el() { return getElement(this); }
27604
27588
  static get watchers() { return {
@@ -27703,7 +27687,7 @@ class ProgressBar {
27703
27687
  const mode = getIonMode$1(this);
27704
27688
  // If the progress is displayed as a solid bar.
27705
27689
  const progressSolid = buffer === 1;
27706
- return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
27690
+ return (hAsync(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
27707
27691
  [mode]: true,
27708
27692
  [`progress-bar-${type}`]: true,
27709
27693
  'progress-paused': paused,
@@ -27888,7 +27872,7 @@ class Radio {
27888
27872
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
27889
27873
  const mode = getIonMode$1(this);
27890
27874
  const inItem = hostContext('ion-item', el);
27891
- return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
27875
+ return (hAsync(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
27892
27876
  [mode]: true,
27893
27877
  'in-item': inItem,
27894
27878
  'radio-checked': checked,
@@ -27899,10 +27883,10 @@ class Radio {
27899
27883
  // Focus and active styling should not apply when the radio is in an item
27900
27884
  'ion-activatable': !inItem,
27901
27885
  'ion-focusable': !inItem,
27902
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '418a0a48366ff900e97da123abf665bbbda87fb7', class: "radio-wrapper" }, hAsync("div", { key: '6e5acdd8c8f5d0ad26632a65396afef8094153d1', class: {
27886
+ }), 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: {
27903
27887
  'label-text-wrapper': true,
27904
27888
  'label-text-wrapper-hidden': !hasLabel,
27905
- }, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
27889
+ }, part: "label" }, hAsync("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), hAsync("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
27906
27890
  }
27907
27891
  get el() { return getElement(this); }
27908
27892
  static get watchers() { return {
@@ -28125,7 +28109,7 @@ class RadioGroup {
28125
28109
  const { label, labelId, el, name, value } = this;
28126
28110
  const mode = getIonMode$1(this);
28127
28111
  renderHiddenInput(true, el, name, value, false);
28128
- return (hAsync(Host, { key: '81b8ebc96b2f383c36717f290d2959cc921ad6e8', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: mode }, this.renderHintText(), hAsync("div", { key: '45b09efc10776b889a8f372cba80d25a3fc849da', class: "radio-group-wrapper" }, hAsync("slot", { key: '58714934542c2fdd7396de160364f3f06b32e8f8' }))));
28112
+ 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' })));
28129
28113
  }
28130
28114
  get el() { return getElement(this); }
28131
28115
  static get watchers() { return {
@@ -28883,7 +28867,7 @@ class Range {
28883
28867
  const needsEndAdjustment = inItem && !hasEndContent;
28884
28868
  const mode = getIonMode$1(this);
28885
28869
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
28886
- return (hAsync(Host, { key: 'ef7b01f80515bcaeb2983934ad7f10a6bd5d13ec', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
28870
+ return (hAsync(Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
28887
28871
  [mode]: true,
28888
28872
  'in-item': inItem,
28889
28873
  'range-disabled': disabled,
@@ -28892,10 +28876,10 @@ class Range {
28892
28876
  [`range-label-placement-${labelPlacement}`]: true,
28893
28877
  'range-item-start-adjustment': needsStartAdjustment,
28894
28878
  'range-item-end-adjustment': needsEndAdjustment,
28895
- }) }, hAsync("label", { key: 'fd8aa90a9d52be9da024b907e68858dae424449d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '2172b4f329c22017dd23475c80aac25ba6e753eb', class: {
28879
+ }) }, hAsync("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
28896
28880
  'label-text-wrapper': true,
28897
28881
  'label-text-wrapper-hidden': !hasLabel,
28898
- }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '3c318bf2ea0576646d4c010bf44573fd0f483186', class: "native-wrapper" }, hAsync("slot", { key: '6586fd6fc96271e73f8a86c202d1913ad1a26f96', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '74ac0bc2d2cb66ef708bb729f88b6ecbc1b2155d', name: "end" })))));
28882
+ }, 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" })))));
28899
28883
  }
28900
28884
  get el() { return getElement(this); }
28901
28885
  static get watchers() { return {
@@ -29348,6 +29332,14 @@ class Refresher {
29348
29332
  this.beginRefresh();
29349
29333
  this.didRefresh = true;
29350
29334
  hapticImpact({ style: ImpactStyle.Light });
29335
+ /**
29336
+ * Clear focus from any active element to prevent scroll jumps
29337
+ * when the refresh completes
29338
+ */
29339
+ const activeElement = document.activeElement;
29340
+ if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) !== undefined) {
29341
+ activeElement.blur();
29342
+ }
29351
29343
  /**
29352
29344
  * Translate the content element otherwise when pointer is removed
29353
29345
  * from screen the scroll content will bounce back over the refresher
@@ -29763,6 +29755,15 @@ class Refresher {
29763
29755
  this.state = 8 /* RefresherState.Refreshing */;
29764
29756
  // place the content in a hangout position while it thinks
29765
29757
  this.setCss(this.pullMin, this.snapbackDuration, true, '');
29758
+ /**
29759
+ * Clear focus from any active element to prevent the browser
29760
+ * from restoring focus and causing scroll jumps after refresh.
29761
+ * This ensures the view stays at the top after refresh completes.
29762
+ */
29763
+ const activeElement = document.activeElement;
29764
+ if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) !== undefined) {
29765
+ activeElement.blur();
29766
+ }
29766
29767
  // emit "refresh" because it was pulled down far enough
29767
29768
  // and they let go to begin refreshing
29768
29769
  this.ionRefresh.emit({
@@ -29845,7 +29846,7 @@ class Refresher {
29845
29846
  }
29846
29847
  render() {
29847
29848
  const mode = getIonMode$1(this);
29848
- return (hAsync(Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
29849
+ return (hAsync(Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
29849
29850
  [mode]: true,
29850
29851
  // Used internally for styling
29851
29852
  [`refresher-${mode}`]: true,
@@ -30069,7 +30070,7 @@ class RefresherContent {
30069
30070
  const pullingIcon = this.pullingIcon;
30070
30071
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
30071
30072
  const mode = getIonMode$1(this);
30072
- 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())));
30073
+ 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())));
30073
30074
  }
30074
30075
  get el() { return getElement(this); }
30075
30076
  static get cmpMeta() { return {
@@ -30110,7 +30111,7 @@ class Reorder {
30110
30111
  render() {
30111
30112
  const mode = getIonMode$1(this);
30112
30113
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
30113
- 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" }))));
30114
+ 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" }))));
30114
30115
  }
30115
30116
  get el() { return getElement(this); }
30116
30117
  static get style() { return {
@@ -30381,7 +30382,7 @@ class ReorderGroup {
30381
30382
  }
30382
30383
  render() {
30383
30384
  const mode = getIonMode$1(this);
30384
- return (hAsync(Host, { key: 'b9641f3061d67fbfe68317b901ec33267046e073', class: {
30385
+ return (hAsync(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
30385
30386
  [mode]: true,
30386
30387
  'reorder-enabled': !this.disabled,
30387
30388
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -30497,7 +30498,7 @@ class RippleEffect {
30497
30498
  }
30498
30499
  render() {
30499
30500
  const mode = getIonMode$1(this);
30500
- return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
30501
+ return (hAsync(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
30501
30502
  [mode]: true,
30502
30503
  unbounded: this.unbounded,
30503
30504
  } }));
@@ -31456,10 +31457,10 @@ class RouterLink {
31456
31457
  rel: this.rel,
31457
31458
  target: this.target,
31458
31459
  };
31459
- return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
31460
+ return (hAsync(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses$1(this.color, {
31460
31461
  [mode]: true,
31461
31462
  'ion-activatable': true,
31462
- }) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
31463
+ }) }, hAsync("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), hAsync("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
31463
31464
  }
31464
31465
  static get style() { return routerLinkCss; }
31465
31466
  static get cmpMeta() { return {
@@ -31656,7 +31657,7 @@ class RouterOutlet {
31656
31657
  return true;
31657
31658
  }
31658
31659
  render() {
31659
- return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
31660
+ return hAsync("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
31660
31661
  }
31661
31662
  get el() { return getElement(this); }
31662
31663
  static get watchers() { return {
@@ -31689,7 +31690,7 @@ class Row {
31689
31690
  registerInstance(this, hostRef);
31690
31691
  }
31691
31692
  render() {
31692
- return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
31693
+ return (hAsync(Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
31693
31694
  }
31694
31695
  static get style() { return rowCss; }
31695
31696
  static get cmpMeta() { return {
@@ -32130,8 +32131,8 @@ class Searchbar {
32130
32131
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
32131
32132
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
32132
32133
  const shouldShowCancelButton = this.shouldShowCancelButton();
32133
- 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))));
32134
- return (hAsync(Host, { key: '074aa60e051bfb3225e87d44bbb6346c59c73574', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
32134
+ 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))));
32135
+ return (hAsync(Host, { key: 'bcc5b33a2859903ba11bfc5c611c6a2aaa71d06b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
32135
32136
  [mode]: true,
32136
32137
  'searchbar-animated': animated,
32137
32138
  'searchbar-disabled': this.disabled,
@@ -32141,14 +32142,14 @@ class Searchbar {
32141
32142
  'searchbar-has-focus': this.focused,
32142
32143
  'searchbar-should-show-clear': this.shouldShowClearButton(),
32143
32144
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
32144
- }) }, 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) => {
32145
+ }) }, 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) => {
32145
32146
  /**
32146
32147
  * This prevents mobile browsers from
32147
32148
  * blurring the input when the clear
32148
32149
  * button is activated.
32149
32150
  */
32150
32151
  ev.preventDefault();
32151
- }, 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));
32152
+ }, 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));
32152
32153
  }
32153
32154
  get el() { return getElement(this); }
32154
32155
  static get watchers() { return {
@@ -32743,14 +32744,14 @@ class Segment {
32743
32744
  }
32744
32745
  render() {
32745
32746
  const mode = getIonMode$1(this);
32746
- return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
32747
+ return (hAsync(Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
32747
32748
  [mode]: true,
32748
32749
  'in-toolbar': hostContext('ion-toolbar', this.el),
32749
32750
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
32750
32751
  'segment-activated': this.activated,
32751
32752
  'segment-disabled': this.disabled,
32752
32753
  'segment-scrollable': this.scrollable,
32753
- }) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
32754
+ }) }, hAsync("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
32754
32755
  }
32755
32756
  get el() { return getElement(this); }
32756
32757
  static get watchers() { return {
@@ -32890,7 +32891,7 @@ class SegmentButton {
32890
32891
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
32891
32892
  const mode = getIonMode$1(this);
32892
32893
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
32893
- return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
32894
+ return (hAsync(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
32894
32895
  [mode]: true,
32895
32896
  'in-toolbar': hostContext('ion-toolbar', this.el),
32896
32897
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -32906,7 +32907,7 @@ class SegmentButton {
32906
32907
  'ion-activatable': true,
32907
32908
  'ion-activatable-instant': true,
32908
32909
  'ion-focusable': true,
32909
- } }, 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" }))));
32910
+ } }, 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" }))));
32910
32911
  }
32911
32912
  get el() { return getElement(this); }
32912
32913
  static get watchers() { return {
@@ -32941,7 +32942,7 @@ class SegmentContent {
32941
32942
  registerInstance(this, hostRef);
32942
32943
  }
32943
32944
  render() {
32944
- return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
32945
+ return (hAsync(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, hAsync("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
32945
32946
  }
32946
32947
  static get style() { return segmentContentCss; }
32947
32948
  static get cmpMeta() { return {
@@ -33054,10 +33055,10 @@ class SegmentView {
33054
33055
  }
33055
33056
  render() {
33056
33057
  const { disabled, isManualScroll } = this;
33057
- return (hAsync(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
33058
+ return (hAsync(Host, { key: '3776707134f85b81028f9668e77974c21e3a5491', class: {
33058
33059
  'segment-view-disabled': disabled,
33059
33060
  'segment-view-scroll-disabled': isManualScroll === false,
33060
- } }, hAsync("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
33061
+ } }, hAsync("slot", { key: 'e67efc16cbfa0c13aa9d81e9f91b61162782c0ea' })));
33061
33062
  }
33062
33063
  get el() { return getElement(this); }
33063
33064
  static get style() { return {
@@ -33807,7 +33808,7 @@ class Select {
33807
33808
  * TODO(FW-5592): Remove hasStartEndSlots condition
33808
33809
  */
33809
33810
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
33810
- return (hAsync(Host, { key: 'c03fb65e8fc9f9aab295e07b282377d57d910519', onClick: this.onClick, class: createColorClasses$1(this.color, {
33811
+ return (hAsync(Host, { key: 'c1e6967b3ccc9631bfceeadd074a6e87b4e96dbe', onClick: this.onClick, class: createColorClasses$1(this.color, {
33811
33812
  [mode]: true,
33812
33813
  'in-item': inItem,
33813
33814
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -33825,7 +33826,7 @@ class Select {
33825
33826
  [`select-justify-${justify}`]: justifyEnabled,
33826
33827
  [`select-shape-${shape}`]: shape !== undefined,
33827
33828
  [`select-label-placement-${labelPlacement}`]: true,
33828
- }) }, 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()));
33829
+ }) }, 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()));
33829
33830
  }
33830
33831
  get el() { return getElement(this); }
33831
33832
  static get watchers() { return {
@@ -33984,7 +33985,7 @@ class SelectModal {
33984
33985
  } }, option.text))));
33985
33986
  }
33986
33987
  render() {
33987
- 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()))));
33988
+ 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()))));
33988
33989
  }
33989
33990
  get el() { return getElement(this); }
33990
33991
  static get style() { return {
@@ -34018,7 +34019,7 @@ class SelectOption {
34018
34019
  this.disabled = false;
34019
34020
  }
34020
34021
  render() {
34021
- return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
34022
+ return hAsync(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode$1(this) });
34022
34023
  }
34023
34024
  get el() { return getElement(this); }
34024
34025
  static get style() { return selectOptionCss; }
@@ -34135,7 +34136,7 @@ class SelectPopover {
34135
34136
  render() {
34136
34137
  const { header, message, options, subHeader } = this;
34137
34138
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
34138
- 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))));
34139
+ 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))));
34139
34140
  }
34140
34141
  get el() { return getElement(this); }
34141
34142
  static get style() { return {
@@ -34185,11 +34186,11 @@ class SkeletonText {
34185
34186
  const animated = this.animated && config.getBoolean('animated', true);
34186
34187
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
34187
34188
  const mode = getIonMode$1(this);
34188
- return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
34189
+ return (hAsync(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
34189
34190
  [mode]: true,
34190
34191
  'skeleton-text-animated': animated,
34191
34192
  'in-media': inMedia,
34192
- } }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
34193
+ } }, hAsync("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
34193
34194
  }
34194
34195
  get el() { return getElement(this); }
34195
34196
  static get style() { return skeletonTextCss; }
@@ -34241,7 +34242,7 @@ class Spinner {
34241
34242
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
34242
34243
  }
34243
34244
  }
34244
- return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
34245
+ return (hAsync(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses$1(self.color, {
34245
34246
  [mode]: true,
34246
34247
  [`spinner-${spinnerName}`]: true,
34247
34248
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -34340,12 +34341,12 @@ class SplitPane {
34340
34341
  }
34341
34342
  render() {
34342
34343
  const mode = getIonMode$1(this);
34343
- return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
34344
+ return (hAsync(Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
34344
34345
  [mode]: true,
34345
34346
  // Used internally for styling
34346
34347
  [`split-pane-${mode}`]: true,
34347
34348
  'split-pane-visible': this.visible,
34348
- } }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
34349
+ } }, hAsync("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
34349
34350
  }
34350
34351
  get el() { return getElement(this); }
34351
34352
  static get watchers() { return {
@@ -34411,10 +34412,10 @@ class Tab {
34411
34412
  }
34412
34413
  render() {
34413
34414
  const { tab, active, component } = this;
34414
- return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34415
+ return (hAsync(Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34415
34416
  'ion-page': component === undefined,
34416
34417
  'tab-hidden': !active,
34417
- } }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
34418
+ } }, hAsync("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
34418
34419
  }
34419
34420
  get el() { return getElement(this); }
34420
34421
  static get watchers() { return {
@@ -34493,11 +34494,11 @@ class TabBar {
34493
34494
  const { color, translucent, keyboardVisible } = this;
34494
34495
  const mode = getIonMode$1(this);
34495
34496
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
34496
- return (hAsync(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
34497
+ return (hAsync(Host, { key: '7384afd3f2d364c8a052ea5a27131c51ce7ef94b', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
34497
34498
  [mode]: true,
34498
34499
  'tab-bar-translucent': translucent,
34499
34500
  'tab-bar-hidden': shouldHide,
34500
- }) }, hAsync("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
34501
+ }) }, hAsync("slot", { key: '4330de4be572cb2c88a37c88124fe66b8da98cc5' })));
34501
34502
  }
34502
34503
  get el() { return getElement(this); }
34503
34504
  static get watchers() { return {
@@ -34593,7 +34594,7 @@ class TabButton {
34593
34594
  rel,
34594
34595
  target,
34595
34596
  };
34596
- return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
34597
+ return (hAsync(Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
34597
34598
  [mode]: true,
34598
34599
  'tab-selected': selected,
34599
34600
  'tab-disabled': disabled,
@@ -34605,7 +34606,7 @@ class TabButton {
34605
34606
  'ion-activatable': true,
34606
34607
  'ion-selectable': true,
34607
34608
  'ion-focusable': true,
34608
- } }, 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" }))));
34609
+ } }, 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" }))));
34609
34610
  }
34610
34611
  get el() { return getElement(this); }
34611
34612
  static get style() { return {
@@ -34797,7 +34798,7 @@ class Tabs {
34797
34798
  return Array.from(this.el.querySelectorAll('ion-tab'));
34798
34799
  }
34799
34800
  render() {
34800
- 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" })));
34801
+ 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" })));
34801
34802
  }
34802
34803
  get el() { return getElement(this); }
34803
34804
  static get style() { return tabsCss; }
@@ -34837,9 +34838,9 @@ class Text {
34837
34838
  }
34838
34839
  render() {
34839
34840
  const mode = getIonMode$1(this);
34840
- return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
34841
+ return (hAsync(Host, { key: 'bfaa49d35f43b8036725ae8a322c716fc6e43bdf', class: createColorClasses$1(this.color, {
34841
34842
  [mode]: true,
34842
- }) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
34843
+ }) }, hAsync("slot", { key: 'c04880cd1935b42cbe60f58fd523b4d8a96072dc' })));
34843
34844
  }
34844
34845
  static get style() { return textCss; }
34845
34846
  static get cmpMeta() { return {
@@ -34892,10 +34893,6 @@ class Textarea {
34892
34893
  * is applied in both cases.
34893
34894
  */
34894
34895
  this.hasFocus = false;
34895
- /**
34896
- * Track validation state for proper aria-live announcements
34897
- */
34898
- this.isInvalid = false;
34899
34896
  /**
34900
34897
  * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
34901
34898
  * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
@@ -35041,12 +35038,6 @@ class Textarea {
35041
35038
  this.el.click();
35042
35039
  }
35043
35040
  }
35044
- /**
35045
- * Checks if the textarea is in an invalid state based on validation classes
35046
- */
35047
- checkValidationState() {
35048
- return this.el.classList.contains('ion-touched') && this.el.classList.contains('ion-invalid');
35049
- }
35050
35041
  connectedCallback() {
35051
35042
  const { el } = this;
35052
35043
  this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate());
@@ -35062,11 +35053,6 @@ class Textarea {
35062
35053
  this.notchController.destroy();
35063
35054
  this.notchController = undefined;
35064
35055
  }
35065
- // Clean up validation observer to prevent memory leaks
35066
- if (this.validationObserver) {
35067
- this.validationObserver.disconnect();
35068
- this.validationObserver = undefined;
35069
- }
35070
35056
  }
35071
35057
  componentWillLoad() {
35072
35058
  this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes$1(this.el, ['data-form-type', 'title', 'tabindex', 'dir']));
@@ -35237,15 +35223,15 @@ class Textarea {
35237
35223
  * Renders the helper text or error text values
35238
35224
  */
35239
35225
  renderHintText() {
35240
- const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
35226
+ const { helperText, errorText, helperTextId, errorTextId } = this;
35241
35227
  return [
35242
35228
  hAsync("div", { id: helperTextId, class: "helper-text" }, helperText),
35243
- hAsync("div", { id: errorTextId, class: "error-text", role: isInvalid && errorText ? 'alert' : undefined, "aria-live": isInvalid && errorText ? 'polite' : 'off', "aria-atomic": "true" }, isInvalid && errorText ? errorText : ''),
35229
+ hAsync("div", { id: errorTextId, class: "error-text" }, errorText),
35244
35230
  ];
35245
35231
  }
35246
35232
  getHintTextID() {
35247
- const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
35248
- if (isInvalid && errorText) {
35233
+ const { el, helperText, errorText, helperTextId, errorTextId } = this;
35234
+ if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
35249
35235
  return errorTextId;
35250
35236
  }
35251
35237
  if (helperText) {
@@ -35304,7 +35290,7 @@ class Textarea {
35304
35290
  * TODO(FW-5592): Remove hasStartEndSlots condition
35305
35291
  */
35306
35292
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
35307
- return (hAsync(Host, { key: 'b67193cbdbd70844901e7f58346cb6021ea8ff9b', class: createColorClasses$1(this.color, {
35293
+ return (hAsync(Host, { key: '9fd36834a8ed8496212e00e5cc684c7fa6e8f6d5', class: createColorClasses$1(this.color, {
35308
35294
  [mode]: true,
35309
35295
  'has-value': hasValue,
35310
35296
  'has-focus': hasFocus,
@@ -35313,7 +35299,7 @@ class Textarea {
35313
35299
  [`textarea-shape-${shape}`]: shape !== undefined,
35314
35300
  [`textarea-label-placement-${labelPlacement}`]: true,
35315
35301
  'textarea-disabled': disabled,
35316
- }) }, 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()));
35302
+ }) }, 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()));
35317
35303
  }
35318
35304
  get el() { return getElement(this); }
35319
35305
  static get watchers() { return {
@@ -35358,7 +35344,6 @@ class Textarea {
35358
35344
  "labelPlacement": [1, "label-placement"],
35359
35345
  "shape": [1],
35360
35346
  "hasFocus": [32],
35361
- "isInvalid": [32],
35362
35347
  "setFocus": [64],
35363
35348
  "getInputElement": [64]
35364
35349
  },
@@ -35376,7 +35361,7 @@ class Thumbnail {
35376
35361
  registerInstance(this, hostRef);
35377
35362
  }
35378
35363
  render() {
35379
- return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
35364
+ return (hAsync(Host, { key: 'b250e01664238f1dca8f9757b15bc3d5d9387ffa', class: getIonMode$1(this) }, hAsync("slot", { key: '72cb568bccabc983c5186a7596ef6c6d4ebf5ad9' })));
35380
35365
  }
35381
35366
  static get style() { return thumbnailCss; }
35382
35367
  static get cmpMeta() { return {
@@ -36234,9 +36219,9 @@ class Toast {
36234
36219
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
36235
36220
  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);
36236
36221
  }
36237
- return (hAsync(Host, Object.assign({ key: 'd1ecd90c87700aad4685e230cdd430aa286b8791', tabindex: "-1" }, this.htmlAttributes, { style: {
36222
+ return (hAsync(Host, Object.assign({ key: '4a303f9ebb69614e9dca677d9d80a4a275de0d85', tabindex: "-1" }, this.htmlAttributes, { style: {
36238
36223
  zIndex: `${60000 + this.overlayIndex}`,
36239
- }, 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')))));
36224
+ }, 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')))));
36240
36225
  }
36241
36226
  get el() { return getElement(this); }
36242
36227
  static get watchers() { return {
@@ -36538,7 +36523,7 @@ class Toggle {
36538
36523
  const value = this.getValue();
36539
36524
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
36540
36525
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
36541
- 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, {
36526
+ 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, {
36542
36527
  [mode]: true,
36543
36528
  'in-item': hostContext('ion-item', el),
36544
36529
  'toggle-activated': activated,
@@ -36548,10 +36533,10 @@ class Toggle {
36548
36533
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
36549
36534
  [`toggle-label-placement-${labelPlacement}`]: true,
36550
36535
  [`toggle-${rtl}`]: true,
36551
- }) }, 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: {
36536
+ }) }, 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: {
36552
36537
  'label-text-wrapper': true,
36553
36538
  'label-text-wrapper-hidden': !hasLabel,
36554
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'd88e1e3dcdd8293f6b61f237cd7a0511dcbce300' }), this.renderHintText()), hAsync("div", { key: '0e924225f5f0caf3c88738acb6c557bd8c1b68f6', class: "native-wrapper" }, this.renderToggleControl()))));
36539
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '0cb70572a622b68d8e49239314bf00a32d7551c0' }), this.renderHintText()), hAsync("div", { key: 'f6e2a4f074af1398af3b6eaeb1a2ef2125e1ba67', class: "native-wrapper" }, this.renderToggleControl()))));
36555
36540
  }
36556
36541
  get el() { return getElement(this); }
36557
36542
  static get watchers() { return {
@@ -36659,10 +36644,10 @@ class Toolbar {
36659
36644
  this.childrenStyles.forEach((value) => {
36660
36645
  Object.assign(childStyles, value);
36661
36646
  });
36662
- return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
36647
+ return (hAsync(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
36663
36648
  [mode]: true,
36664
36649
  'in-toolbar': hostContext('ion-toolbar', this.el),
36665
- })) }, 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" }))));
36650
+ })) }, 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" }))));
36666
36651
  }
36667
36652
  get el() { return getElement(this); }
36668
36653
  static get style() { return {
@@ -36708,11 +36693,11 @@ class ToolbarTitle {
36708
36693
  render() {
36709
36694
  const mode = getIonMode$1(this);
36710
36695
  const size = this.getSize();
36711
- return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
36696
+ return (hAsync(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses$1(this.color, {
36712
36697
  [mode]: true,
36713
36698
  [`title-${size}`]: true,
36714
36699
  'title-rtl': document.dir === 'rtl',
36715
- }) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
36700
+ }) }, hAsync("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, hAsync("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
36716
36701
  }
36717
36702
  get el() { return getElement(this); }
36718
36703
  static get watchers() { return {