@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
@@ -164,7 +164,7 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
164
164
  }), onClick: this.onClick }, h("label", { key: 'f025cec5ff08e8be4487b9cc0324616ca5dfae2a', class: "checkbox-wrapper", htmlFor: inputId }, h("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)), h("div", { key: 'a625e9b50c3b617de8bbbfd624d772454fecaf2d', class: {
165
165
  'label-text-wrapper': true,
166
166
  'label-text-wrapper-hidden': !hasLabelContent,
167
- }, part: "label", id: this.inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '87d1a90691327945f4343406706e4ab27f453844' }), this.renderHintText()), h("div", { key: 'b57fed8cdecee4df1ef0d57f157267ee77fac653', class: "native-wrapper" }, h("svg", { key: 'd472a06ec6c8b74dfb651415d2236db8080f6805', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
167
+ }, part: "label", id: this.inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '87d1a90691327945f4343406706e4ab27f453844' }), this.renderHintText()), h("div", { key: 'b57fed8cdecee4df1ef0d57f157267ee77fac653', class: "native-wrapper" }, h("svg", { key: '13a8aac044d46dc99e3b60a1a643785511f216ac', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container", "aria-hidden": "true" }, path)))));
168
168
  }
169
169
  getSVGPath(mode, indeterminate) {
170
170
  let path = indeterminate ? (h("path", { d: "M6 12L18 12", part: "mark" })) : (h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
@@ -43,10 +43,6 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
43
43
  * is applied in both cases.
44
44
  */
45
45
  this.hasFocus = false;
46
- /**
47
- * Track validation state for proper aria-live announcements
48
- */
49
- this.isInvalid = false;
50
46
  /**
51
47
  * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
52
48
  * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
@@ -231,31 +227,10 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
231
227
  componentWillLoad() {
232
228
  this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['tabindex', 'title', 'data-form-type', 'dir']));
233
229
  }
234
- /**
235
- * Checks if the input is in an invalid state based on validation classes
236
- */
237
- checkValidationState() {
238
- return this.el.classList.contains('ion-touched') && this.el.classList.contains('ion-invalid');
239
- }
240
230
  connectedCallback() {
241
231
  const { el } = this;
242
232
  this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate(this));
243
233
  this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
244
- // Watch for class changes to update validation state
245
- if (Build.isBrowser) {
246
- this.validationObserver = new MutationObserver(() => {
247
- const newIsInvalid = this.checkValidationState();
248
- if (this.isInvalid !== newIsInvalid) {
249
- this.isInvalid = newIsInvalid;
250
- }
251
- });
252
- this.validationObserver.observe(el, {
253
- attributes: true,
254
- attributeFilter: ['class'],
255
- });
256
- // Set initial state
257
- this.isInvalid = this.checkValidationState();
258
- }
259
234
  this.debounceChanged();
260
235
  if (Build.isBrowser) {
261
236
  document.dispatchEvent(new CustomEvent('ionInputDidLoad', {
@@ -292,11 +267,6 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
292
267
  this.notchController.destroy();
293
268
  this.notchController = undefined;
294
269
  }
295
- // Clean up validation observer to prevent memory leaks
296
- if (this.validationObserver) {
297
- this.validationObserver.disconnect();
298
- this.validationObserver = undefined;
299
- }
300
270
  }
301
271
  /**
302
272
  * Sets focus on the native `input` in `ion-input`. Use this method instead of the global
@@ -398,15 +368,15 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
398
368
  * Renders the helper text or error text values
399
369
  */
400
370
  renderHintText() {
401
- const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
371
+ const { helperText, errorText, helperTextId, errorTextId } = this;
402
372
  return [
403
373
  h("div", { id: helperTextId, class: "helper-text" }, helperText),
404
- h("div", { id: errorTextId, class: "error-text", role: isInvalid && errorText ? 'alert' : undefined, "aria-live": isInvalid && errorText ? 'polite' : 'off', "aria-atomic": "true" }, isInvalid && errorText ? errorText : ''),
374
+ h("div", { id: errorTextId, class: "error-text" }, errorText),
405
375
  ];
406
376
  }
407
377
  getHintTextID() {
408
- const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
409
- if (isInvalid && errorText) {
378
+ const { el, helperText, errorText, helperTextId, errorTextId } = this;
379
+ if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
410
380
  return errorTextId;
411
381
  }
412
382
  if (helperText) {
@@ -519,7 +489,7 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
519
489
  * TODO(FW-5592): Remove hasStartEndSlots condition
520
490
  */
521
491
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
522
- return (h(Host, { key: 'fcb5d96c872ce63cb6252b6d7d302ab30e6ea83b', class: createColorClasses(this.color, {
492
+ return (h(Host, { key: '41b2526627e7d2773a80f011b123284203a71ca0', class: createColorClasses(this.color, {
523
493
  [mode]: true,
524
494
  'has-value': hasValue,
525
495
  'has-focus': hasFocus,
@@ -530,14 +500,14 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
530
500
  'in-item': inItem,
531
501
  'in-item-color': hostContext('ion-item.ion-color', this.el),
532
502
  'input-disabled': disabled,
533
- }) }, h("label", { key: '73bcaaf2527cbf295283b4581046fb9b361ce2dd', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '22dd6c6623a284e6a51910fa47b0a2ebdbd5971d', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'c02dac4336eb8e7570ed07cfa18fadca4bc6dd9d', name: "start" }), h("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 && (h("button", { key: 'b124a2b970542daa6fcb45ac5546a9fde22b45be', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
503
+ }) }, h("label", { key: '9ab078363e32528102b441ad1791d83f86fdcbdc', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: 'e34b594980ec62e4c618e827fadf7669a39ad0d8', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: '12dc04ead5502e9e5736240e918bf9331bf7b5d9', name: "start" }), h("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 && (h("button", { key: 'f79f68cabcd4ea99419331174a377827db0c0741', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
534
504
  /**
535
505
  * This prevents mobile browsers from
536
506
  * blurring the input when the clear
537
507
  * button is activated.
538
508
  */
539
509
  ev.preventDefault();
540
- }, onClick: this.clearTextInput }, h("ion-icon", { key: '243037c08825c2bf26c53bb9507f7cd73e56a4de', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '9faff25f968c089b7716a8afb405ba5afb86a1ac', name: "end" })), shouldRenderHighlight && h("div", { key: '54bf3da059a2bf30e4990ba34abb23fd3bf137b0', class: "input-highlight" })), this.renderBottomContent()));
510
+ }, onClick: this.clearTextInput }, h("ion-icon", { key: '237ec07ec2e10f08818a332bb596578c2c49f770', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '1f0a3624aa3e8dc3c307a6762230ab698768a5e5', name: "end" })), shouldRenderHighlight && h("div", { key: '8a8cbb82695a722a0010b53dd0b1f1f97534a20b', class: "input-highlight" })), this.renderBottomContent()));
541
511
  }
542
512
  get el() { return this; }
543
513
  static get watchers() { return {
@@ -586,7 +556,6 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
586
556
  "type": [1],
587
557
  "value": [1032],
588
558
  "hasFocus": [32],
589
- "isInvalid": [32],
590
559
  "setFocus": [64],
591
560
  "getInputElement": [64]
592
561
  }, [[2, "click", "onClickCapture"]], {
@@ -25,11 +25,11 @@ const ItemDivider = /*@__PURE__*/ proxyCustomElement(class ItemDivider extends H
25
25
  }
26
26
  render() {
27
27
  const mode = getIonMode(this);
28
- return (h(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses(this.color, {
28
+ return (h(Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: createColorClasses(this.color, {
29
29
  [mode]: true,
30
30
  'item-divider-sticky': this.sticky,
31
31
  item: true,
32
- }) }, h("slot", { key: '39105d888e115416c3a3fe588da44b4c61f4e5fe', name: "start" }), h("div", { key: '67e16f1056bd39187f3629c1bb383b7abbda829b', class: "item-divider-inner" }, h("div", { key: 'b3a218fdcc7b9aeab6e0155340152d39fa0b6329', class: "item-divider-wrapper" }, h("slot", { key: '69d8587533b387869d34b075d02f61396858fc90' })), h("slot", { key: 'b91c654699b3b26d0012ea0c719c4a07d1fcfbaa', name: "end" }))));
32
+ }) }, h("slot", { key: 'a1b7bbb1a008b0a56887f130d166931033801746', name: "start" }), h("div", { key: '9d572da46ab616bdf881098e96aa6796a249507f', class: "item-divider-inner" }, h("div", { key: 'a57a2c17093b74b9e4f8fd2778230a440b293aa1', class: "item-divider-wrapper" }, h("slot", { key: 'ef15ebf58f3acd4b4d1b7c51144e26c3759dba49' })), h("slot", { key: '1787c2400534301fe72b8ec213d0ce1e8f75b65a', name: "end" }))));
33
33
  }
34
34
  get el() { return this; }
35
35
  static get style() { return {
@@ -15,7 +15,7 @@ const ItemGroup = /*@__PURE__*/ proxyCustomElement(class ItemGroup extends HTMLE
15
15
  }
16
16
  render() {
17
17
  const mode = getIonMode(this);
18
- return (h(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
18
+ return (h(Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
19
19
  [mode]: true,
20
20
  // Used internally for styling
21
21
  [`item-group-${mode}`]: true,
@@ -45,12 +45,12 @@ const ItemOption = /*@__PURE__*/ proxyCustomElement(class ItemOption extends HTM
45
45
  href: this.href,
46
46
  target: this.target,
47
47
  };
48
- return (h(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses(this.color, {
48
+ return (h(Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: createColorClasses(this.color, {
49
49
  [mode]: true,
50
50
  'item-option-disabled': disabled,
51
51
  'item-option-expandable': expandable,
52
52
  'ion-activatable': true,
53
- }) }, h(TagType, Object.assign({ key: '5a7140eb99da5ec82fe2ea3ea134513130763399' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: '9b8577e612706b43e575c9a20f2f9d35c0d1bcb1', class: "button-inner" }, h("slot", { key: '9acb82f04e4822bfaa363cc2c4d29d5c0fec0ad6', name: "top" }), h("div", { key: '66f5fb4fdd0c39f205574c602c793dcf109c7a17', class: "horizontal-wrapper" }, h("slot", { key: '3761a32bca7c6c41b7eb394045497cfde181a62a', name: "start" }), h("slot", { key: 'a96a568955cf6962883dc6771726d3d07462da00', name: "icon-only" }), h("slot", { key: 'af5dfe5eb41456b9359bafe3615b576617ed7b57' }), h("slot", { key: '00426958066ab7b949ff966fabad5cf8a0b54079', name: "end" })), h("slot", { key: 'ae66c8bd536a9f27865f49240980d7b4b831b229', name: "bottom" })), mode === 'md' && h("ion-ripple-effect", { key: '30df6c935ef8a3f28a6bc1f3bb162ca4f80aaf26' }))));
53
+ }) }, h(TagType, Object.assign({ key: '045052656ab652bec065d421950fe9ea00dc1141' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: '988b9166c0dda3c822a99ceace4c105339b2465b', class: "button-inner" }, h("slot", { key: '8050b870ada6b09283f8acbcbb6d2bd1c76508b3', name: "top" }), h("div", { key: 'a206e7b09e660c878ce3c5b61d018e8cdd89dc55', class: "horizontal-wrapper" }, h("slot", { key: '394e5e4ce14cd19b5d5eafca29bb9f971f5f0741', name: "start" }), h("slot", { key: 'dd4c3a1bee7622df40a3d8f2a298045b772f1600', name: "icon-only" }), h("slot", { key: '318f3ec97b722c5e7df1a78b1e0439f919d0aacc' }), h("slot", { key: 'fff6a9a602cf7bd698528982f91742a2d36ea245', name: "end" })), h("slot", { key: '26b4bb155701d8080b486dbad7bb9a6d2e35182c', name: "bottom" })), mode === 'md' && h("ion-ripple-effect", { key: '152b74643bf0f5725c39bfdbb940f0f32ec83d58' }))));
54
54
  }
55
55
  get el() { return this; }
56
56
  static get style() { return {
@@ -29,7 +29,7 @@ const ItemOptions = /*@__PURE__*/ proxyCustomElement(class ItemOptions extends H
29
29
  render() {
30
30
  const mode = getIonMode(this);
31
31
  const isEnd = isEndSide(this.side);
32
- return (h(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
32
+ return (h(Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
33
33
  [mode]: true,
34
34
  // Used internally for styling
35
35
  [`item-options-${mode}`]: true,
@@ -397,7 +397,7 @@ const ItemSliding = /*@__PURE__*/ proxyCustomElement(class ItemSliding extends H
397
397
  }
398
398
  render() {
399
399
  const mode = getIonMode(this);
400
- return (h(Host, { key: 'd812322c9fb5da4ee16e99dc38bfb24cb4590d03', class: {
400
+ return (h(Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
401
401
  [mode]: true,
402
402
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
403
403
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -276,9 +276,9 @@ const Loading = /*@__PURE__*/ proxyCustomElement(class Loading extends HTMLEleme
276
276
  * Otherwise, don't set aria-labelledby.
277
277
  */
278
278
  const ariaLabelledBy = message !== undefined ? msgId : null;
279
- return (h(Host, Object.assign({ key: '4497183ce220242abe19ae15f328f9a92ccafbbc', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
279
+ return (h(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
280
280
  zIndex: `${40000 + this.overlayIndex}`,
281
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '231dec84e424a2dc358ce95b84d6035cf43e4dea', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'c9af29b6e6bb49a217396a5c874bbfb8835a926c', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'a8659863743cdeccbe1ba810eaabfd3ebfcb86f3', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: '3b346f39bc71691bd8686556a1e142198a7b12fa', class: "loading-spinner" }, h("ion-spinner", { key: '8dc2bf1556e5138e262827f1516c59ecd09f3520', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '054164c0dbae9a0e0973dd3c8e28f5b771820310', tabindex: "0", "aria-hidden": "true" })));
281
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
282
282
  }
283
283
  get el() { return this; }
284
284
  static get watchers() { return {
@@ -57,7 +57,7 @@ const MenuButton = /*@__PURE__*/ proxyCustomElement(class MenuButton extends HTM
57
57
  type: this.type,
58
58
  };
59
59
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
60
- return (h(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
60
+ return (h(Host, { key: 'dcade732e366f0687d92cb9ce4065b78b0b41d24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
61
61
  [mode]: true,
62
62
  button: true, // ion-buttons target .button
63
63
  'menu-button-hidden': hidden,
@@ -66,7 +66,7 @@ const MenuButton = /*@__PURE__*/ proxyCustomElement(class MenuButton extends HTM
66
66
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
67
67
  'ion-activatable': true,
68
68
  'ion-focusable': true,
69
- }) }, h("button", Object.assign({ key: 'ffebf7083d23501839970059ef8e411b571de197' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: 'cab0c1c763b3ce33ef11dba1d230f66126e59424', class: "button-inner" }, h("slot", { key: 'ccfd2be8479b75b5c63e97e1ca7dfe203e9b36ee' }, h("ion-icon", { key: 'ac254fe7f327b08f1ae3fcea89d5cf0e83c9a96c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { key: 'f0f17c4ca96e3eed3c1727ee00578d40af8f0115', type: "unbounded" }))));
69
+ }) }, h("button", Object.assign({ key: '7c4a449e239679376f38471d95fd602f9caec5f6' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: '8bb5bf453280a66109198c970b678ad800c7a8cf', class: "button-inner" }, h("slot", { key: '7f78b1e7a0695f2bd600d13ca81f50dd8b965726' }, h("ion-icon", { key: '9f67f5bb06b1f03a6e5df9ecbe23ebf69fb40756', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { key: '10be7145c614144e94c3cc0b92dc5ee4e1587fe6', type: "unbounded" }))));
70
70
  }
71
71
  get el() { return this; }
72
72
  static get style() { return {
@@ -34,10 +34,10 @@ const MenuToggle = /*@__PURE__*/ proxyCustomElement(class MenuToggle extends HTM
34
34
  render() {
35
35
  const mode = getIonMode(this);
36
36
  const hidden = this.autoHide && !this.visible;
37
- return (h(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
37
+ return (h(Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
38
38
  [mode]: true,
39
39
  'menu-toggle-hidden': hidden,
40
- } }, h("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
40
+ } }, h("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
41
41
  }
42
42
  static get style() { return menuToggleCss; }
43
43
  }, [257, "ion-menu-toggle", {
@@ -662,14 +662,14 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
662
662
  * the ionBackButton listener in the menu controller
663
663
  * will handle closing the menu when Escape is pressed.
664
664
  */
665
- return (h(Host, { key: 'a5c75aa40a34530b56ee3b98d706a5ac5ae300de', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
665
+ return (h(Host, { key: 'fe83e1633252b66757d30f603bb82ab65fc520f0', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
666
666
  [mode]: true,
667
667
  [`menu-type-${type}`]: true,
668
668
  'menu-enabled': !disabled,
669
669
  [`menu-side-${side}`]: true,
670
670
  'menu-pane-visible': isPaneVisible,
671
671
  'split-pane-side': hostContext('ion-split-pane', el),
672
- } }, h("div", { key: '3f5f70acd4d3ed6bb445122f4f01d73db738a75f', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '3161326c9330e7f7441299c428b87a91b31a83e9' })), h("ion-backdrop", { key: '917b50f38489bdf03d0c642af8b4e4e172c7dc4c', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
672
+ } }, h("div", { key: '1e4cdb9728137618195797c758ff3ea3e8c4af55', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '05b98bee11a9bb0d199e24fa0d450fd4d174d5e6' })), h("ion-backdrop", { key: 'd9374f19fa1f2df5ecbe26ffe36e72862b650d56', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
673
673
  }
674
674
  get el() { return this; }
675
675
  static get watchers() { return {
@@ -36,7 +36,7 @@ const NavLink = /*@__PURE__*/ proxyCustomElement(class NavLink extends HTMLEleme
36
36
  };
37
37
  }
38
38
  render() {
39
- return h(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
39
+ return h(Host, { key: 'd4d80feb51c0d92b0bedf6952c892f9df3002046', onClick: this.onClick });
40
40
  }
41
41
  get el() { return this; }
42
42
  }, [256, "ion-nav-link", {
@@ -902,7 +902,7 @@ const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
902
902
  }
903
903
  }
904
904
  render() {
905
- return h("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
905
+ return h("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
906
906
  }
907
907
  get el() { return this; }
908
908
  static get watchers() { return {
@@ -17,9 +17,9 @@ const Note = /*@__PURE__*/ proxyCustomElement(class Note extends HTMLElement {
17
17
  }
18
18
  render() {
19
19
  const mode = getIonMode(this);
20
- return (h(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses(this.color, {
20
+ return (h(Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: createColorClasses(this.color, {
21
21
  [mode]: true,
22
- }) }, h("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
22
+ }) }, h("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
23
23
  }
24
24
  static get style() { return {
25
25
  ios: noteIosCss,
@@ -263,11 +263,11 @@ const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement
263
263
  render() {
264
264
  const { htmlAttributes } = this;
265
265
  const mode = getIonMode(this);
266
- return (h(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
266
+ return (h(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
267
267
  zIndex: `${20000 + this.overlayIndex}`,
268
268
  }, class: Object.assign({ [mode]: true,
269
269
  // Used internally for styling
270
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '169d1c83ef40e7fcb134219a585298b403a70b0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '98518e5f5cea2dfb8dfa63d9545e9ae3a5765023', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '151755ab8eb23f9adafbfe201349398f5a69dee7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '5dcf93b2f4fe8f4fce7c7aec8f85ef45a03ef470', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: 'fd5d66708edd38adc5a4d2fad7298969398a05e3', class: "picker-columns" }, h("div", { key: '1b5830fd6cef1016af7736792c514965d6cb38a8', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: 'c6edeca7afd69e13c9c66ba36f261974fd0f8f78', class: "picker-below-highlight" }))), h("div", { key: 'e2a4b24710e30579b14b82dbfd3761b2187797b5', tabindex: "0", "aria-hidden": "true" })));
270
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, h("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), h("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
271
271
  }
272
272
  get el() { return this; }
273
273
  static get watchers() { return {
@@ -43,7 +43,7 @@ const ProgressBar = /*@__PURE__*/ proxyCustomElement(class ProgressBar extends H
43
43
  const mode = getIonMode(this);
44
44
  // If the progress is displayed as a solid bar.
45
45
  const progressSolid = buffer === 1;
46
- return (h(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
46
+ return (h(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
47
47
  [mode]: true,
48
48
  [`progress-bar-${type}`]: true,
49
49
  'progress-paused': paused,
@@ -724,7 +724,7 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
724
724
  const needsEndAdjustment = inItem && !hasEndContent;
725
725
  const mode = getIonMode(this);
726
726
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
727
- return (h(Host, { key: 'ef7b01f80515bcaeb2983934ad7f10a6bd5d13ec', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
727
+ return (h(Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
728
728
  [mode]: true,
729
729
  'in-item': inItem,
730
730
  'range-disabled': disabled,
@@ -733,10 +733,10 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
733
733
  [`range-label-placement-${labelPlacement}`]: true,
734
734
  'range-item-start-adjustment': needsStartAdjustment,
735
735
  'range-item-end-adjustment': needsEndAdjustment,
736
- }) }, h("label", { key: 'fd8aa90a9d52be9da024b907e68858dae424449d', class: "range-wrapper", id: "range-label" }, h("div", { key: '2172b4f329c22017dd23475c80aac25ba6e753eb', class: {
736
+ }) }, h("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, h("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
737
737
  'label-text-wrapper': true,
738
738
  'label-text-wrapper-hidden': !hasLabel,
739
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '3c318bf2ea0576646d4c010bf44573fd0f483186', class: "native-wrapper" }, h("slot", { key: '6586fd6fc96271e73f8a86c202d1913ad1a26f96', name: "start" }), this.renderRangeSlider(), h("slot", { key: '74ac0bc2d2cb66ef708bb729f88b6ecbc1b2155d', name: "end" })))));
739
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '3c275d822b29a8008e044722e8b6bdabd3ecfad7', class: "native-wrapper" }, h("slot", { key: '03c849d0aa708914984ad57ca292bc5fc66ecad5', name: "start" }), this.renderRangeSlider(), h("slot", { key: '10ca7b8152cac00b45d8fa98ad91410f59fd176a', name: "end" })))));
740
740
  }
741
741
  get el() { return this; }
742
742
  static get watchers() { return {
@@ -51,7 +51,7 @@ const RefresherContent = /*@__PURE__*/ proxyCustomElement(class RefresherContent
51
51
  const pullingIcon = this.pullingIcon;
52
52
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
53
53
  const mode = getIonMode(this);
54
- return (h(Host, { key: 'e235f8a9a84070ece2e2066ced234a64663bfa1d', class: mode }, h("div", { key: '9121691818ddaa35801a5f442e144ac27686cf19', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: 'c8d65d740f1575041bd3b752c789077927397fe4', class: "refresher-pulling-icon" }, h("div", { key: '309dd904977eaa788b09ea95b7fa4996a73bec5b', class: "spinner-arrow-container" }, h("ion-spinner", { key: 'a2a1480f67775d56ca7822e76be1e9f983bca2f9', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: '811d7e06d324bf4b6a18a31427a43e5177f3ae3a', class: "arrow-container" }, h("ion-icon", { key: '86cc48e2e8dc054ff6ff1299094da35b524be63d', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: '464ae097dbc95c18a2dd7dfd03f8489153dab719', class: "refresher-pulling-icon" }, h("ion-icon", { key: 'ed6875978b9035add562caa743a68353743d978f', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: 'aff891924e44354543fec484e5cde1ca92e69904', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: '842d7ac4ff10a1058775493d62f31cbdcd34f7a0', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '8c3e6195501e7e78d5cde1e3ad1fef90fd4a953f', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
54
+ return (h(Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, h("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, h("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, h("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, h("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, h("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
55
55
  }
56
56
  get el() { return this; }
57
57
  }, [256, "ion-refresher-content", {
@@ -182,6 +182,14 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
182
182
  this.beginRefresh();
183
183
  this.didRefresh = true;
184
184
  hapticImpact({ style: ImpactStyle.Light });
185
+ /**
186
+ * Clear focus from any active element to prevent scroll jumps
187
+ * when the refresh completes
188
+ */
189
+ const activeElement = document.activeElement;
190
+ if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) !== undefined) {
191
+ activeElement.blur();
192
+ }
185
193
  /**
186
194
  * Translate the content element otherwise when pointer is removed
187
195
  * from screen the scroll content will bounce back over the refresher
@@ -597,6 +605,15 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
597
605
  this.state = 8 /* RefresherState.Refreshing */;
598
606
  // place the content in a hangout position while it thinks
599
607
  this.setCss(this.pullMin, this.snapbackDuration, true, '');
608
+ /**
609
+ * Clear focus from any active element to prevent the browser
610
+ * from restoring focus and causing scroll jumps after refresh.
611
+ * This ensures the view stays at the top after refresh completes.
612
+ */
613
+ const activeElement = document.activeElement;
614
+ if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) !== undefined) {
615
+ activeElement.blur();
616
+ }
600
617
  // emit "refresh" because it was pulled down far enough
601
618
  // and they let go to begin refreshing
602
619
  this.ionRefresh.emit({
@@ -679,7 +696,7 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
679
696
  }
680
697
  render() {
681
698
  const mode = getIonMode(this);
682
- return (h(Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
699
+ return (h(Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
683
700
  [mode]: true,
684
701
  // Used internally for styling
685
702
  [`refresher-${mode}`]: true,
@@ -262,7 +262,7 @@ const ReorderGroup = /*@__PURE__*/ proxyCustomElement(class ReorderGroup extends
262
262
  }
263
263
  render() {
264
264
  const mode = getIonMode(this);
265
- return (h(Host, { key: 'b9641f3061d67fbfe68317b901ec33267046e073', class: {
265
+ return (h(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
266
266
  [mode]: true,
267
267
  'reorder-enabled': !this.disabled,
268
268
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -28,7 +28,7 @@ const Reorder = /*@__PURE__*/ proxyCustomElement(class Reorder extends HTMLEleme
28
28
  render() {
29
29
  const mode = getIonMode(this);
30
30
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
31
- return (h(Host, { key: 'e6807bb349725682e99e791ac65e729a360d64e8', class: mode }, h("slot", { key: '1c691cdbffa6427ba08dc12184c69559ed5d5506' }, h("ion-icon", { key: '8b4150302cdca475379582b2251737b5e74079b1', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
31
+ return (h(Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, h("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, h("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
32
32
  }
33
33
  get el() { return this; }
34
34
  static get style() { return {
@@ -28,10 +28,10 @@ const RouterLink = /*@__PURE__*/ proxyCustomElement(class RouterLink extends HTM
28
28
  rel: this.rel,
29
29
  target: this.target,
30
30
  };
31
- return (h(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses(this.color, {
31
+ return (h(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses(this.color, {
32
32
  [mode]: true,
33
33
  'ion-activatable': true,
34
- }) }, h("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), h("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
34
+ }) }, h("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), h("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
35
35
  }
36
36
  static get style() { return routerLinkCss; }
37
37
  }, [257, "ion-router-link", {
@@ -189,7 +189,7 @@ const RouterOutlet = /*@__PURE__*/ proxyCustomElement(class RouterOutlet extends
189
189
  return true;
190
190
  }
191
191
  render() {
192
- return h("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
192
+ return h("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
193
193
  }
194
194
  get el() { return this; }
195
195
  static get watchers() { return {
@@ -13,7 +13,7 @@ const Row = /*@__PURE__*/ proxyCustomElement(class Row extends HTMLElement {
13
13
  this.__attachShadow();
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode(this) }, h("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
16
+ return (h(Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: getIonMode(this) }, h("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
17
17
  }
18
18
  static get style() { return rowCss; }
19
19
  }, [257, "ion-row"]);
@@ -439,8 +439,8 @@ const Searchbar = /*@__PURE__*/ proxyCustomElement(class Searchbar extends HTMLE
439
439
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
440
440
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
441
441
  const shouldShowCancelButton = this.shouldShowCancelButton();
442
- const cancelButton = this.showCancelButton !== 'never' && (h("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" }, h("div", { key: 'b3bbdcc033f3bd3441d619e4a252cef0dad4d07e', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
443
- return (h(Host, { key: '074aa60e051bfb3225e87d44bbb6346c59c73574', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
442
+ const cancelButton = this.showCancelButton !== 'never' && (h("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" }, h("div", { key: '747ad4368bda5044198259d5bc8f7be9e472e5af', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
443
+ return (h(Host, { key: 'bcc5b33a2859903ba11bfc5c611c6a2aaa71d06b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
444
444
  [mode]: true,
445
445
  'searchbar-animated': animated,
446
446
  'searchbar-disabled': this.disabled,
@@ -450,14 +450,14 @@ const Searchbar = /*@__PURE__*/ proxyCustomElement(class Searchbar extends HTMLE
450
450
  'searchbar-has-focus': this.focused,
451
451
  'searchbar-should-show-clear': this.shouldShowClearButton(),
452
452
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
453
- }) }, h("div", { key: '54f58a79fe36e85d9295157303f1be89c98bbdaf', class: "searchbar-input-container" }, h("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, h("ion-icon", { key: '8b44dd90a3292c5cf872ef16a8520675f5673494', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '79d9cfed8f01268044f82811a35d323a12dca749', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
453
+ }) }, h("div", { key: 'ac0dbf5ddd9c4eb6d714f45c62c44ba3d0bf034d', class: "searchbar-input-container" }, h("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, h("ion-icon", { key: '32a889c48b3960560a3873061b4ac5a8a5ce532f', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '71222df691ef0b95008e619f755224d069ee9388', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
454
454
  /**
455
455
  * This prevents mobile browsers from
456
456
  * blurring the input when the clear
457
457
  * button is activated.
458
458
  */
459
459
  ev.preventDefault();
460
- }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: 'aa3b9fa8a61f853236783ac7bcd0b113ea65ece2', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
460
+ }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: 'f1c8c0bd8fbb655085875731d3ece387dbe2967e', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
461
461
  }
462
462
  get el() { return this; }
463
463
  static get watchers() { return {
@@ -113,7 +113,7 @@ const SegmentButton = /*@__PURE__*/ proxyCustomElement(class SegmentButton exten
113
113
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
114
114
  const mode = getIonMode(this);
115
115
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
116
- return (h(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
116
+ return (h(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
117
117
  [mode]: true,
118
118
  'in-toolbar': hostContext('ion-toolbar', this.el),
119
119
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -129,7 +129,7 @@ const SegmentButton = /*@__PURE__*/ proxyCustomElement(class SegmentButton exten
129
129
  'ion-activatable': true,
130
130
  'ion-activatable-instant': true,
131
131
  'ion-focusable': true,
132
- } }, h("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), h("span", { key: '8e720d2a3e304903685bf09d226a64e944d78a22', class: "button-inner" }, h("slot", { key: 'c8e7b3ebf8f03042a1001155643b585283c73c65' })), mode === 'md' && h("ion-ripple-effect", { key: '3586ac317b8d82c92b0ccfbfae42f8778612321b' })), h("div", { key: '9cf93957da9e8dc333c8b05327bb903385b1c5f4', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'd3b6f0b3860ec6896b46703f64ed1cc8c75612e3', part: "indicator-background", class: "segment-button-indicator-background" }))));
132
+ } }, h("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), h("span", { key: '991018a38c59a6f3d76b2e952e5569c874d2c13e', class: "button-inner" }, h("slot", { key: '23c547c80108025027b913c7fcbec189286627a3' })), mode === 'md' && h("ion-ripple-effect", { key: '7faa9d06ab6aa7346d16b0b6808979759a79650c' })), h("div", { key: '0d61badf2c227dc38e20185b2b2bb590a5efa434', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'a84035752b78491c344179d1e61d109fb4bd1cf1', part: "indicator-background", class: "segment-button-indicator-background" }))));
133
133
  }
134
134
  get el() { return this; }
135
135
  static get watchers() { return {
@@ -12,7 +12,7 @@ const SegmentContent = /*@__PURE__*/ proxyCustomElement(class SegmentContent ext
12
12
  this.__attachShadow();
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, h("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
15
+ return (h(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, h("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
16
16
  }
17
17
  static get style() { return segmentContentCss; }
18
18
  }, [257, "ion-segment-content"]);
@@ -105,10 +105,10 @@ const SegmentView = /*@__PURE__*/ proxyCustomElement(class SegmentView extends H
105
105
  }
106
106
  render() {
107
107
  const { disabled, isManualScroll } = this;
108
- return (h(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
108
+ return (h(Host, { key: '3776707134f85b81028f9668e77974c21e3a5491', class: {
109
109
  'segment-view-disabled': disabled,
110
110
  'segment-view-scroll-disabled': isManualScroll === false,
111
- } }, h("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
111
+ } }, h("slot", { key: 'e67efc16cbfa0c13aa9d81e9f91b61162782c0ea' })));
112
112
  }
113
113
  get el() { return this; }
114
114
  static get style() { return {
@@ -549,14 +549,14 @@ const Segment = /*@__PURE__*/ proxyCustomElement(class Segment extends HTMLEleme
549
549
  }
550
550
  render() {
551
551
  const mode = getIonMode(this);
552
- return (h(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
552
+ return (h(Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
553
553
  [mode]: true,
554
554
  'in-toolbar': hostContext('ion-toolbar', this.el),
555
555
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
556
556
  'segment-activated': this.activated,
557
557
  'segment-disabled': this.disabled,
558
558
  'segment-scrollable': this.scrollable,
559
- }) }, h("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
559
+ }) }, h("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
560
560
  }
561
561
  get el() { return this; }
562
562
  static get watchers() { return {
@@ -18,7 +18,7 @@ const SelectOption = /*@__PURE__*/ proxyCustomElement(class SelectOption extends
18
18
  this.disabled = false;
19
19
  }
20
20
  render() {
21
- return h(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode(this) });
21
+ return h(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode(this) });
22
22
  }
23
23
  get el() { return this; }
24
24
  static get style() { return selectOptionCss; }