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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/components/ion-input.js +36 -5
  2. package/components/ion-item-divider.js +2 -2
  3. package/components/ion-item-group.js +1 -1
  4. package/components/ion-item-option.js +2 -2
  5. package/components/ion-item-options.js +1 -1
  6. package/components/ion-item-sliding.js +1 -1
  7. package/components/ion-loading.js +2 -2
  8. package/components/ion-menu-button.js +2 -2
  9. package/components/ion-menu-toggle.js +2 -2
  10. package/components/ion-menu.js +2 -2
  11. package/components/ion-nav-link.js +1 -1
  12. package/components/ion-nav.js +1 -1
  13. package/components/ion-note.js +2 -2
  14. package/components/ion-picker-legacy.js +2 -2
  15. package/components/ion-progress-bar.js +1 -1
  16. package/components/ion-range.js +3 -3
  17. package/components/ion-refresher-content.js +1 -1
  18. package/components/ion-refresher.js +1 -1
  19. package/components/ion-reorder-group.js +1 -1
  20. package/components/ion-reorder.js +1 -1
  21. package/components/ion-router-link.js +2 -2
  22. package/components/ion-router-outlet.js +1 -1
  23. package/components/ion-row.js +1 -1
  24. package/components/ion-searchbar.js +4 -4
  25. package/components/ion-segment-button.js +2 -2
  26. package/components/ion-segment-content.js +1 -1
  27. package/components/ion-segment-view.js +2 -2
  28. package/components/ion-segment.js +2 -2
  29. package/components/ion-select-option.js +1 -1
  30. package/components/ion-select.js +2 -2
  31. package/components/ion-skeleton-text.js +2 -2
  32. package/components/ion-split-pane.js +2 -2
  33. package/components/ion-tab-bar.js +2 -2
  34. package/components/ion-tab-button.js +2 -2
  35. package/components/ion-tab.js +2 -2
  36. package/components/ion-tabs.js +1 -1
  37. package/components/ion-text.js +2 -2
  38. package/components/ion-textarea.js +35 -4
  39. package/components/ion-thumbnail.js +1 -1
  40. package/components/ion-toast.js +2 -2
  41. package/components/ion-toggle.js +3 -3
  42. package/components/label.js +2 -2
  43. package/components/list-header.js +2 -2
  44. package/components/modal.js +4 -4
  45. package/components/picker-column-option.js +2 -2
  46. package/components/picker-column2.js +2 -2
  47. package/components/popover.js +2 -2
  48. package/components/radio-group.js +1 -1
  49. package/components/radio.js +3 -3
  50. package/components/ripple-effect.js +1 -1
  51. package/components/select-modal.js +1 -1
  52. package/components/select-popover.js +1 -1
  53. package/components/spinner.js +1 -1
  54. package/components/title.js +2 -2
  55. package/components/toolbar.js +2 -2
  56. package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
  57. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  58. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  59. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  60. package/dist/cjs/ion-input.cjs.entry.js +35 -5
  61. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  62. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  63. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  65. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  66. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  68. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  70. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  71. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  72. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  75. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  77. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  78. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  80. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  81. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  82. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  83. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  85. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  86. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  87. package/dist/cjs/ion-textarea.cjs.entry.js +34 -4
  88. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  90. package/dist/cjs/ionic.cjs.js +1 -1
  91. package/dist/cjs/loader.cjs.js +1 -1
  92. package/dist/collection/components/input/input.js +37 -6
  93. package/dist/collection/components/item-divider/item-divider.js +2 -2
  94. package/dist/collection/components/item-group/item-group.js +1 -1
  95. package/dist/collection/components/item-option/item-option.js +2 -2
  96. package/dist/collection/components/item-options/item-options.js +1 -1
  97. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  98. package/dist/collection/components/label/label.js +2 -2
  99. package/dist/collection/components/list-header/list-header.js +2 -2
  100. package/dist/collection/components/loading/loading.js +2 -2
  101. package/dist/collection/components/menu/menu.js +2 -2
  102. package/dist/collection/components/menu-button/menu-button.js +2 -2
  103. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  104. package/dist/collection/components/modal/modal.js +4 -4
  105. package/dist/collection/components/nav/nav.js +1 -1
  106. package/dist/collection/components/nav-link/nav-link.js +1 -1
  107. package/dist/collection/components/note/note.js +2 -2
  108. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  109. package/dist/collection/components/picker-legacy/picker.js +2 -2
  110. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  111. package/dist/collection/components/popover/popover.js +2 -2
  112. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  113. package/dist/collection/components/radio/radio.js +3 -3
  114. package/dist/collection/components/radio-group/radio-group.js +1 -1
  115. package/dist/collection/components/range/range.js +3 -3
  116. package/dist/collection/components/refresher/refresher.js +1 -1
  117. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  118. package/dist/collection/components/reorder/reorder.js +1 -1
  119. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  120. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  121. package/dist/collection/components/router-link/router-link.js +2 -2
  122. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  123. package/dist/collection/components/row/row.js +1 -1
  124. package/dist/collection/components/searchbar/searchbar.js +4 -4
  125. package/dist/collection/components/segment/segment.js +2 -2
  126. package/dist/collection/components/segment-button/segment-button.js +2 -2
  127. package/dist/collection/components/segment-content/segment-content.js +1 -1
  128. package/dist/collection/components/segment-view/segment-view.js +2 -2
  129. package/dist/collection/components/select/select.js +2 -2
  130. package/dist/collection/components/select-modal/select-modal.js +1 -1
  131. package/dist/collection/components/select-option/select-option.js +1 -1
  132. package/dist/collection/components/select-popover/select-popover.js +1 -1
  133. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  134. package/dist/collection/components/spinner/spinner.js +1 -1
  135. package/dist/collection/components/split-pane/split-pane.js +2 -2
  136. package/dist/collection/components/tab/tab.js +2 -2
  137. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  138. package/dist/collection/components/tab-button/tab-button.js +2 -2
  139. package/dist/collection/components/tabs/tabs.js +1 -1
  140. package/dist/collection/components/text/text.js +2 -2
  141. package/dist/collection/components/textarea/textarea.js +36 -5
  142. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  143. package/dist/collection/components/title/title.js +2 -2
  144. package/dist/collection/components/toast/toast.js +2 -2
  145. package/dist/collection/components/toggle/toggle.js +3 -3
  146. package/dist/collection/components/toolbar/toolbar.js +2 -2
  147. package/dist/docs.json +1 -1
  148. package/dist/esm/ion-app_8.entry.js +5 -5
  149. package/dist/esm/ion-avatar_3.entry.js +1 -1
  150. package/dist/esm/ion-col_3.entry.js +1 -1
  151. package/dist/esm/ion-datetime_3.entry.js +4 -4
  152. package/dist/esm/ion-input.entry.js +35 -5
  153. package/dist/esm/ion-item-option_3.entry.js +4 -4
  154. package/dist/esm/ion-item_8.entry.js +11 -11
  155. package/dist/esm/ion-loading.entry.js +2 -2
  156. package/dist/esm/ion-menu_3.entry.js +6 -6
  157. package/dist/esm/ion-modal.entry.js +4 -4
  158. package/dist/esm/ion-nav_2.entry.js +2 -2
  159. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  160. package/dist/esm/ion-popover.entry.js +2 -2
  161. package/dist/esm/ion-progress-bar.entry.js +1 -1
  162. package/dist/esm/ion-radio_2.entry.js +4 -4
  163. package/dist/esm/ion-range.entry.js +3 -3
  164. package/dist/esm/ion-refresher_2.entry.js +2 -2
  165. package/dist/esm/ion-reorder_2.entry.js +2 -2
  166. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  167. package/dist/esm/ion-route_4.entry.js +2 -2
  168. package/dist/esm/ion-searchbar.entry.js +4 -4
  169. package/dist/esm/ion-segment-content.entry.js +1 -1
  170. package/dist/esm/ion-segment-view.entry.js +2 -2
  171. package/dist/esm/ion-segment_2.entry.js +4 -4
  172. package/dist/esm/ion-select-modal.entry.js +1 -1
  173. package/dist/esm/ion-select_3.entry.js +4 -4
  174. package/dist/esm/ion-spinner.entry.js +1 -1
  175. package/dist/esm/ion-split-pane.entry.js +2 -2
  176. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  177. package/dist/esm/ion-tab_2.entry.js +3 -3
  178. package/dist/esm/ion-text.entry.js +2 -2
  179. package/dist/esm/ion-textarea.entry.js +34 -4
  180. package/dist/esm/ion-toast.entry.js +2 -2
  181. package/dist/esm/ion-toggle.entry.js +3 -3
  182. package/dist/esm/ionic.js +1 -1
  183. package/dist/esm/loader.js +1 -1
  184. package/dist/ionic/ionic.esm.js +1 -1
  185. package/dist/ionic/p-0f396661.entry.js +4 -0
  186. package/dist/ionic/{p-c32b6c20.entry.js → p-1191a2d9.entry.js} +1 -1
  187. package/dist/ionic/{p-78aff731.entry.js → p-16116947.entry.js} +1 -1
  188. package/dist/ionic/p-187aaf4a.entry.js +4 -0
  189. package/dist/ionic/{p-12b99129.entry.js → p-1bbd0a23.entry.js} +1 -1
  190. package/dist/ionic/p-1e34d434.entry.js +4 -0
  191. package/dist/ionic/{p-8ca65589.entry.js → p-29032e49.entry.js} +1 -1
  192. package/dist/ionic/{p-2e967897.entry.js → p-3624b640.entry.js} +1 -1
  193. package/dist/ionic/{p-0e45320b.entry.js → p-40d56a51.entry.js} +1 -1
  194. package/dist/ionic/{p-1e8b1767.entry.js → p-4f2c5845.entry.js} +1 -1
  195. package/dist/ionic/{p-ee881603.entry.js → p-528af4e6.entry.js} +1 -1
  196. package/dist/ionic/{p-70e05fd1.entry.js → p-54dec9b1.entry.js} +1 -1
  197. package/dist/ionic/{p-165d1309.entry.js → p-6383afc2.entry.js} +1 -1
  198. package/dist/ionic/{p-f4e6e570.entry.js → p-7a53f04c.entry.js} +1 -1
  199. package/dist/ionic/{p-165d8e84.entry.js → p-7b12d853.entry.js} +1 -1
  200. package/dist/ionic/{p-9cf01220.entry.js → p-7bac2c5f.entry.js} +1 -1
  201. package/dist/ionic/{p-332e4eac.entry.js → p-8cdb4ff5.entry.js} +1 -1
  202. package/dist/ionic/p-8d96a0cd.entry.js +4 -0
  203. package/dist/ionic/{p-039c8f8e.entry.js → p-92e8f208.entry.js} +1 -1
  204. package/dist/ionic/{p-c7d2c21b.entry.js → p-982fe1c4.entry.js} +1 -1
  205. package/dist/ionic/{p-82ce0043.entry.js → p-ab33ef20.entry.js} +1 -1
  206. package/dist/ionic/{p-f267c7dc.entry.js → p-ac434970.entry.js} +1 -1
  207. package/dist/ionic/{p-f550f186.entry.js → p-c0d58c8e.entry.js} +1 -1
  208. package/dist/ionic/{p-1cfb0bc4.entry.js → p-c575e7ce.entry.js} +1 -1
  209. package/dist/ionic/{p-5420fd3e.entry.js → p-cde6d39b.entry.js} +1 -1
  210. package/dist/ionic/{p-4c79bd85.entry.js → p-d04d66fc.entry.js} +1 -1
  211. package/dist/ionic/p-d3df6032.entry.js +4 -0
  212. package/dist/ionic/{p-e8429777.entry.js → p-dbba38cf.entry.js} +1 -1
  213. package/dist/ionic/p-e6c3214c.entry.js +4 -0
  214. package/dist/ionic/{p-22351d1b.entry.js → p-e6c465ff.entry.js} +1 -1
  215. package/dist/ionic/{p-e1310192.entry.js → p-ec76fec4.entry.js} +1 -1
  216. package/dist/ionic/{p-f5da8541.entry.js → p-f456d176.entry.js} +1 -1
  217. package/dist/ionic/{p-f868d51c.entry.js → p-f7db572a.entry.js} +1 -1
  218. package/dist/ionic/{p-0c580145.entry.js → p-f9eb54ee.entry.js} +1 -1
  219. package/dist/types/components/input/input.d.ts +9 -0
  220. package/dist/types/components/textarea/textarea.d.ts +9 -0
  221. package/hydrate/index.js +137 -101
  222. package/hydrate/index.mjs +137 -101
  223. package/package.json +1 -1
  224. package/dist/ionic/p-1488b7cc.entry.js +0 -4
  225. package/dist/ionic/p-3364562a.entry.js +0 -4
  226. package/dist/ionic/p-7922ca30.entry.js +0 -4
  227. package/dist/ionic/p-8de104c4.entry.js +0 -4
  228. package/dist/ionic/p-c91aa324.entry.js +0 -4
  229. package/dist/ionic/p-dff5b0b6.entry.js +0 -4
@@ -44,6 +44,10 @@ const Input = class {
44
44
  * is applied in both cases.
45
45
  */
46
46
  this.hasFocus = false;
47
+ /**
48
+ * Track validation state for proper aria-live announcements
49
+ */
50
+ this.isInvalid = false;
47
51
  /**
48
52
  * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
49
53
  * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
@@ -228,10 +232,31 @@ const Input = class {
228
232
  componentWillLoad() {
229
233
  this.inheritedAttributes = Object.assign(Object.assign({}, helpers.inheritAriaAttributes(this.el)), helpers.inheritAttributes(this.el, ['tabindex', 'title', 'data-form-type', 'dir']));
230
234
  }
235
+ /**
236
+ * Checks if the input is in an invalid state based on validation classes
237
+ */
238
+ checkValidationState() {
239
+ return this.el.classList.contains('ion-touched') && this.el.classList.contains('ion-invalid');
240
+ }
231
241
  connectedCallback() {
232
242
  const { el } = this;
233
243
  this.slotMutationController = input_utils.createSlotMutationController(el, ['label', 'start', 'end'], () => index.forceUpdate(this));
234
244
  this.notchController = notchController.createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
245
+ // Watch for class changes to update validation state
246
+ if (typeof MutationObserver !== 'undefined') {
247
+ this.validationObserver = new MutationObserver(() => {
248
+ const newIsInvalid = this.checkValidationState();
249
+ if (this.isInvalid !== newIsInvalid) {
250
+ this.isInvalid = newIsInvalid;
251
+ }
252
+ });
253
+ this.validationObserver.observe(el, {
254
+ attributes: true,
255
+ attributeFilter: ['class'],
256
+ });
257
+ }
258
+ // Always set initial state
259
+ this.isInvalid = this.checkValidationState();
235
260
  this.debounceChanged();
236
261
  {
237
262
  document.dispatchEvent(new CustomEvent('ionInputDidLoad', {
@@ -268,6 +293,11 @@ const Input = class {
268
293
  this.notchController.destroy();
269
294
  this.notchController = undefined;
270
295
  }
296
+ // Clean up validation observer to prevent memory leaks
297
+ if (this.validationObserver) {
298
+ this.validationObserver.disconnect();
299
+ this.validationObserver = undefined;
300
+ }
271
301
  }
272
302
  /**
273
303
  * Sets focus on the native `input` in `ion-input`. Use this method instead of the global
@@ -376,8 +406,8 @@ const Input = class {
376
406
  ];
377
407
  }
378
408
  getHintTextID() {
379
- const { el, helperText, errorText, helperTextId, errorTextId } = this;
380
- if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
409
+ const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
410
+ if (isInvalid && errorText) {
381
411
  return errorTextId;
382
412
  }
383
413
  if (helperText) {
@@ -490,7 +520,7 @@ const Input = class {
490
520
  * TODO(FW-5592): Remove hasStartEndSlots condition
491
521
  */
492
522
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
493
- return (index.h(index.Host, { key: '41b2526627e7d2773a80f011b123284203a71ca0', class: theme.createColorClasses(this.color, {
523
+ return (index.h(index.Host, { key: '1b0cffa910aef4eac24438bf3158e51905e70788', class: theme.createColorClasses(this.color, {
494
524
  [mode]: true,
495
525
  'has-value': hasValue,
496
526
  'has-focus': hasFocus,
@@ -501,14 +531,14 @@ const Input = class {
501
531
  'in-item': inItem,
502
532
  'in-item-color': theme.hostContext('ion-item.ion-color', this.el),
503
533
  'input-disabled': disabled,
504
- }) }, index.h("label", { key: '9ab078363e32528102b441ad1791d83f86fdcbdc', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: 'e34b594980ec62e4c618e827fadf7669a39ad0d8', class: "native-wrapper", onClick: this.onLabelClick }, index.h("slot", { key: '12dc04ead5502e9e5736240e918bf9331bf7b5d9', name: "start" }), index.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 && (index.h("button", { key: 'f79f68cabcd4ea99419331174a377827db0c0741', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
534
+ }) }, index.h("label", { key: '24411a6cc190e2054015bca5e2827b96c65bba17', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: '7fa7a7f6d2778e6efbebc6f2671d8a63048f76a8', class: "native-wrapper", onClick: this.onLabelClick }, index.h("slot", { key: '14f489e6026967ee1b2eee1519bad4230f028489', name: "start" }), index.h("input", Object.assign({ key: 'd0f5b756394aced0831e80e91313a417bda37e6f', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (index.h("button", { key: '3e37003927082bbbfce4b3396a263969aa2289fc', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
505
535
  /**
506
536
  * This prevents mobile browsers from
507
537
  * blurring the input when the clear
508
538
  * button is activated.
509
539
  */
510
540
  ev.preventDefault();
511
- }, onClick: this.clearTextInput }, index.h("ion-icon", { key: '237ec07ec2e10f08818a332bb596578c2c49f770', "aria-hidden": "true", icon: clearIconData }))), index.h("slot", { key: '1f0a3624aa3e8dc3c307a6762230ab698768a5e5', name: "end" })), shouldRenderHighlight && index.h("div", { key: '8a8cbb82695a722a0010b53dd0b1f1f97534a20b', class: "input-highlight" })), this.renderBottomContent()));
541
+ }, onClick: this.clearTextInput }, index.h("ion-icon", { key: '269ccdfd95a8a5b39bf0587b1494b4badd5c65b3', "aria-hidden": "true", icon: clearIconData }))), index.h("slot", { key: '5d93a350194c4197c01c5d54f50060e7f527f065', name: "end" })), shouldRenderHighlight && index.h("div", { key: 'fbdd13d41b37aa1e4608ba2535f7b833748eae3f', class: "input-highlight" })), this.renderBottomContent()));
512
542
  }
513
543
  get el() { return index.getElement(this); }
514
544
  static get watchers() { return {
@@ -47,12 +47,12 @@ const ItemOption = class {
47
47
  href: this.href,
48
48
  target: this.target,
49
49
  };
50
- return (index.h(index.Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: theme.createColorClasses(this.color, {
50
+ return (index.h(index.Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: theme.createColorClasses(this.color, {
51
51
  [mode]: true,
52
52
  'item-option-disabled': disabled,
53
53
  'item-option-expandable': expandable,
54
54
  'ion-activatable': true,
55
- }) }, index.h(TagType, Object.assign({ key: '045052656ab652bec065d421950fe9ea00dc1141' }, attrs, { class: "button-native", part: "native", disabled: disabled }), index.h("span", { key: '988b9166c0dda3c822a99ceace4c105339b2465b', class: "button-inner" }, index.h("slot", { key: '8050b870ada6b09283f8acbcbb6d2bd1c76508b3', name: "top" }), index.h("div", { key: 'a206e7b09e660c878ce3c5b61d018e8cdd89dc55', class: "horizontal-wrapper" }, index.h("slot", { key: '394e5e4ce14cd19b5d5eafca29bb9f971f5f0741', name: "start" }), index.h("slot", { key: 'dd4c3a1bee7622df40a3d8f2a298045b772f1600', name: "icon-only" }), index.h("slot", { key: '318f3ec97b722c5e7df1a78b1e0439f919d0aacc' }), index.h("slot", { key: 'fff6a9a602cf7bd698528982f91742a2d36ea245', name: "end" })), index.h("slot", { key: '26b4bb155701d8080b486dbad7bb9a6d2e35182c', name: "bottom" })), mode === 'md' && index.h("ion-ripple-effect", { key: '152b74643bf0f5725c39bfdbb940f0f32ec83d58' }))));
55
+ }) }, index.h(TagType, Object.assign({ key: '5a7140eb99da5ec82fe2ea3ea134513130763399' }, attrs, { class: "button-native", part: "native", disabled: disabled }), index.h("span", { key: '9b8577e612706b43e575c9a20f2f9d35c0d1bcb1', class: "button-inner" }, index.h("slot", { key: '9acb82f04e4822bfaa363cc2c4d29d5c0fec0ad6', name: "top" }), index.h("div", { key: '66f5fb4fdd0c39f205574c602c793dcf109c7a17', class: "horizontal-wrapper" }, index.h("slot", { key: '3761a32bca7c6c41b7eb394045497cfde181a62a', name: "start" }), index.h("slot", { key: 'a96a568955cf6962883dc6771726d3d07462da00', name: "icon-only" }), index.h("slot", { key: 'af5dfe5eb41456b9359bafe3615b576617ed7b57' }), index.h("slot", { key: '00426958066ab7b949ff966fabad5cf8a0b54079', name: "end" })), index.h("slot", { key: 'ae66c8bd536a9f27865f49240980d7b4b831b229', name: "bottom" })), mode === 'md' && index.h("ion-ripple-effect", { key: '30df6c935ef8a3f28a6bc1f3bb162ca4f80aaf26' }))));
56
56
  }
57
57
  get el() { return index.getElement(this); }
58
58
  };
@@ -84,7 +84,7 @@ const ItemOptions = class {
84
84
  render() {
85
85
  const mode = ionicGlobal.getIonMode(this);
86
86
  const isEnd = helpers.isEndSide(this.side);
87
- return (index.h(index.Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
87
+ return (index.h(index.Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
88
88
  [mode]: true,
89
89
  // Used internally for styling
90
90
  [`item-options-${mode}`]: true,
@@ -495,7 +495,7 @@ const ItemSliding = class {
495
495
  }
496
496
  render() {
497
497
  const mode = ionicGlobal.getIonMode(this);
498
- return (index.h(index.Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
498
+ return (index.h(index.Host, { key: 'd812322c9fb5da4ee16e99dc38bfb24cb4590d03', class: {
499
499
  [mode]: true,
500
500
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
501
501
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -274,11 +274,11 @@ const ItemDivider = class {
274
274
  }
275
275
  render() {
276
276
  const mode = ionicGlobal.getIonMode(this);
277
- return (index.h(index.Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: theme.createColorClasses(this.color, {
277
+ return (index.h(index.Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: theme.createColorClasses(this.color, {
278
278
  [mode]: true,
279
279
  'item-divider-sticky': this.sticky,
280
280
  item: true,
281
- }) }, index.h("slot", { key: 'a1b7bbb1a008b0a56887f130d166931033801746', name: "start" }), index.h("div", { key: '9d572da46ab616bdf881098e96aa6796a249507f', class: "item-divider-inner" }, index.h("div", { key: 'a57a2c17093b74b9e4f8fd2778230a440b293aa1', class: "item-divider-wrapper" }, index.h("slot", { key: 'ef15ebf58f3acd4b4d1b7c51144e26c3759dba49' })), index.h("slot", { key: '1787c2400534301fe72b8ec213d0ce1e8f75b65a', name: "end" }))));
281
+ }) }, index.h("slot", { key: '39105d888e115416c3a3fe588da44b4c61f4e5fe', name: "start" }), index.h("div", { key: '67e16f1056bd39187f3629c1bb383b7abbda829b', class: "item-divider-inner" }, index.h("div", { key: 'b3a218fdcc7b9aeab6e0155340152d39fa0b6329', class: "item-divider-wrapper" }, index.h("slot", { key: '69d8587533b387869d34b075d02f61396858fc90' })), index.h("slot", { key: 'b91c654699b3b26d0012ea0c719c4a07d1fcfbaa', name: "end" }))));
282
282
  }
283
283
  get el() { return index.getElement(this); }
284
284
  };
@@ -297,7 +297,7 @@ const ItemGroup = class {
297
297
  }
298
298
  render() {
299
299
  const mode = ionicGlobal.getIonMode(this);
300
- return (index.h(index.Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
300
+ return (index.h(index.Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
301
301
  [mode]: true,
302
302
  // Used internally for styling
303
303
  [`item-group-${mode}`]: true,
@@ -363,13 +363,13 @@ const Label = class {
363
363
  render() {
364
364
  const position = this.position;
365
365
  const mode = ionicGlobal.getIonMode(this);
366
- return (index.h(index.Host, { key: '684ddfa719e34d743489ff05a0df067829257c73', class: theme.createColorClasses(this.color, {
366
+ return (index.h(index.Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: theme.createColorClasses(this.color, {
367
367
  [mode]: true,
368
368
  'in-item-color': theme.hostContext('ion-item.ion-color', this.el),
369
369
  [`label-${position}`]: position !== undefined,
370
370
  [`label-no-animate`]: this.noAnimate,
371
371
  'label-rtl': document.dir === 'rtl',
372
- }) }, index.h("slot", { key: '4aace3e2b36250e832c44f63bea21116d77220fb' })));
372
+ }) }, index.h("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
373
373
  }
374
374
  get el() { return index.getElement(this); }
375
375
  static get watchers() { return {
@@ -437,10 +437,10 @@ const ListHeader = class {
437
437
  render() {
438
438
  const { lines } = this;
439
439
  const mode = ionicGlobal.getIonMode(this);
440
- return (index.h(index.Host, { key: '2e529021279761b2b2889885437f619b0e8f71c4', class: theme.createColorClasses(this.color, {
440
+ return (index.h(index.Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: theme.createColorClasses(this.color, {
441
441
  [mode]: true,
442
442
  [`list-header-lines-${lines}`]: lines !== undefined,
443
- }) }, index.h("div", { key: '9a6a11b0db015df79374f6489a40b959bc80b3e4', class: "list-header-inner" }, index.h("slot", { key: 'ef347fc6afb47850797e2e4d1aeefcd6a318f789' }))));
443
+ }) }, index.h("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, index.h("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
444
444
  }
445
445
  };
446
446
  ListHeader.style = {
@@ -458,9 +458,9 @@ const Note = class {
458
458
  }
459
459
  render() {
460
460
  const mode = ionicGlobal.getIonMode(this);
461
- return (index.h(index.Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: theme.createColorClasses(this.color, {
461
+ return (index.h(index.Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: theme.createColorClasses(this.color, {
462
462
  [mode]: true,
463
- }) }, index.h("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
463
+ }) }, index.h("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
464
464
  }
465
465
  };
466
466
  Note.style = {
@@ -495,11 +495,11 @@ const SkeletonText = class {
495
495
  const animated = this.animated && index.config.getBoolean('animated', true);
496
496
  const inMedia = theme.hostContext('ion-avatar', this.el) || theme.hostContext('ion-thumbnail', this.el);
497
497
  const mode = ionicGlobal.getIonMode(this);
498
- return (index.h(index.Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
498
+ return (index.h(index.Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
499
499
  [mode]: true,
500
500
  'skeleton-text-animated': animated,
501
501
  'in-media': inMedia,
502
- } }, index.h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
502
+ } }, index.h("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
503
503
  }
504
504
  get el() { return index.getElement(this); }
505
505
  };
@@ -278,9 +278,9 @@ const Loading = class {
278
278
  * Otherwise, don't set aria-labelledby.
279
279
  */
280
280
  const ariaLabelledBy = message !== undefined ? msgId : null;
281
- return (index.h(index.Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
281
+ return (index.h(index.Host, Object.assign({ key: '4497183ce220242abe19ae15f328f9a92ccafbbc', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
282
282
  zIndex: `${40000 + this.overlayIndex}`,
283
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (index.h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, index.h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), index.h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
283
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: '231dec84e424a2dc358ce95b84d6035cf43e4dea', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: 'c9af29b6e6bb49a217396a5c874bbfb8835a926c', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: 'a8659863743cdeccbe1ba810eaabfd3ebfcb86f3', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (index.h("div", { key: '3b346f39bc71691bd8686556a1e142198a7b12fa', class: "loading-spinner" }, index.h("ion-spinner", { key: '8dc2bf1556e5138e262827f1516c59ecd09f3520', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), index.h("div", { key: '054164c0dbae9a0e0973dd3c8e28f5b771820310', tabindex: "0", "aria-hidden": "true" })));
284
284
  }
285
285
  get el() { return index.getElement(this); }
286
286
  static get watchers() { return {
@@ -661,14 +661,14 @@ const Menu = class {
661
661
  * the ionBackButton listener in the menu controller
662
662
  * will handle closing the menu when Escape is pressed.
663
663
  */
664
- return (index.h(index.Host, { key: 'fe83e1633252b66757d30f603bb82ab65fc520f0', onKeyDown: hardwareBackButton.shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
664
+ return (index.h(index.Host, { key: 'a5c75aa40a34530b56ee3b98d706a5ac5ae300de', onKeyDown: hardwareBackButton.shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
665
665
  [mode]: true,
666
666
  [`menu-type-${type}`]: true,
667
667
  'menu-enabled': !disabled,
668
668
  [`menu-side-${side}`]: true,
669
669
  'menu-pane-visible': isPaneVisible,
670
670
  'split-pane-side': theme.hostContext('ion-split-pane', el),
671
- } }, index.h("div", { key: '1e4cdb9728137618195797c758ff3ea3e8c4af55', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, index.h("slot", { key: '05b98bee11a9bb0d199e24fa0d450fd4d174d5e6' })), index.h("ion-backdrop", { key: 'd9374f19fa1f2df5ecbe26ffe36e72862b650d56', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
671
+ } }, index.h("div", { key: '3f5f70acd4d3ed6bb445122f4f01d73db738a75f', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, index.h("slot", { key: '3161326c9330e7f7441299c428b87a91b31a83e9' })), index.h("ion-backdrop", { key: '917b50f38489bdf03d0c642af8b4e4e172c7dc4c', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
672
672
  }
673
673
  get el() { return index.getElement(this); }
674
674
  static get watchers() { return {
@@ -746,7 +746,7 @@ const MenuButton = class {
746
746
  type: this.type,
747
747
  };
748
748
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
749
- return (index.h(index.Host, { key: 'dcade732e366f0687d92cb9ce4065b78b0b41d24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: theme.createColorClasses(color, {
749
+ return (index.h(index.Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: theme.createColorClasses(color, {
750
750
  [mode]: true,
751
751
  button: true, // ion-buttons target .button
752
752
  'menu-button-hidden': hidden,
@@ -755,7 +755,7 @@ const MenuButton = class {
755
755
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
756
756
  'ion-activatable': true,
757
757
  'ion-focusable': true,
758
- }) }, index.h("button", Object.assign({ key: '7c4a449e239679376f38471d95fd602f9caec5f6' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), index.h("span", { key: '8bb5bf453280a66109198c970b678ad800c7a8cf', class: "button-inner" }, index.h("slot", { key: '7f78b1e7a0695f2bd600d13ca81f50dd8b965726' }, index.h("ion-icon", { key: '9f67f5bb06b1f03a6e5df9ecbe23ebf69fb40756', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && index.h("ion-ripple-effect", { key: '10be7145c614144e94c3cc0b92dc5ee4e1587fe6', type: "unbounded" }))));
758
+ }) }, index.h("button", Object.assign({ key: 'ffebf7083d23501839970059ef8e411b571de197' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), index.h("span", { key: 'cab0c1c763b3ce33ef11dba1d230f66126e59424', class: "button-inner" }, index.h("slot", { key: 'ccfd2be8479b75b5c63e97e1ca7dfe203e9b36ee' }, index.h("ion-icon", { key: 'ac254fe7f327b08f1ae3fcea89d5cf0e83c9a96c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && index.h("ion-ripple-effect", { key: 'f0f17c4ca96e3eed3c1727ee00578d40af8f0115', type: "unbounded" }))));
759
759
  }
760
760
  get el() { return index.getElement(this); }
761
761
  };
@@ -790,10 +790,10 @@ const MenuToggle = class {
790
790
  render() {
791
791
  const mode = ionicGlobal.getIonMode(this);
792
792
  const hidden = this.autoHide && !this.visible;
793
- return (index.h(index.Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
793
+ return (index.h(index.Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
794
794
  [mode]: true,
795
795
  'menu-toggle-hidden': hidden,
796
- } }, index.h("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
796
+ } }, index.h("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
797
797
  }
798
798
  };
799
799
  MenuToggle.style = menuToggleCss;
@@ -2318,20 +2318,20 @@ const Modal = class {
2318
2318
  const isCardModal = presentingElement !== undefined && mode === 'ios';
2319
2319
  const isHandleCycle = handleBehavior === 'cycle';
2320
2320
  const isSheetModalWithHandle = isSheetModal && showHandle;
2321
- return (index$3.h(index$3.Host, Object.assign({ key: '3fc94b846a80cf23ab9c4d4534d5835f2ada5449', "no-router": true,
2321
+ return (index$3.h(index$3.Host, Object.assign({ key: '9e9a7bd591eb17a225a00b4fa2e379e94601d17f', "no-router": true,
2322
2322
  // Allow the modal to be navigable when the handle is focusable
2323
2323
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2324
2324
  zIndex: `${20000 + this.overlayIndex}`,
2325
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: 'a99663c15d2374448a2a2243da63cfc5fac769f4', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '840e71a6e0d334b413766b3b00fa60841b8abdaf', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'a77a8a58fbb541fb78319bd8fc790cc7c35133e7',
2325
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: 'e5eae2c14f830f75e308fcd7f4c10c86fac5b962', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: 'e268f9cd310c3cf4e051b5b92524ce4fb70d005e', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '9c380f36c18144c153077b15744d1c3346bce63e',
2326
2326
  /*
2327
2327
  role and aria-modal must be used on the
2328
2328
  same element. They must also be set inside the
2329
2329
  shadow DOM otherwise ion-button will not be highlighted
2330
2330
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
2331
2331
  */
2332
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '4856c8e31055dc33b8dc997c891507c2b556cd7b', class: "modal-handle",
2332
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '2d5ee6d5959d97309c306e8ce72eb0f2c19be144', class: "modal-handle",
2333
2333
  // Prevents the handle from receiving keyboard focus when it does not cycle
2334
- 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) })), index$3.h("slot", { key: 'ecc33d1c0670d884aeee5a0c9fe4f16030edb511', onSlotchange: this.onSlotChange }))));
2334
+ 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) })), index$3.h("slot", { key: '5590434c35ea04c42fc006498bc189038e15a298', onSlotchange: this.onSlotChange }))));
2335
2335
  }
2336
2336
  get el() { return index$3.getElement(this); }
2337
2337
  static get watchers() { return {
@@ -897,7 +897,7 @@ const Nav = class {
897
897
  }
898
898
  }
899
899
  render() {
900
- return index.h("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
900
+ return index.h("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
901
901
  }
902
902
  get el() { return index.getElement(this); }
903
903
  static get watchers() { return {
@@ -939,7 +939,7 @@ const NavLink = class {
939
939
  };
940
940
  }
941
941
  render() {
942
- return index.h(index.Host, { key: 'd4d80feb51c0d92b0bedf6952c892f9df3002046', onClick: this.onClick });
942
+ return index.h(index.Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
943
943
  }
944
944
  get el() { return index.getElement(this); }
945
945
  };
@@ -99,10 +99,10 @@ const PickerColumnOption = class {
99
99
  render() {
100
100
  const { color, disabled, ariaLabel } = this;
101
101
  const mode = ionicGlobal.getIonMode(this);
102
- return (index.h(index.Host, { key: 'c45a1c14a351bf57d7113671164852349be5aa8a', class: theme.createColorClasses(color, {
102
+ return (index.h(index.Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: theme.createColorClasses(color, {
103
103
  [mode]: true,
104
104
  ['option-disabled']: disabled,
105
- }) }, index.h("button", { key: '67334c3bc6fbff93f65aaf9a0979b5ef62db1e5b', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, index.h("slot", { key: 'a4766c43931d1a5cb3124a2a97141d1a4ca2bf24' }))));
105
+ }) }, index.h("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, index.h("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
106
106
  }
107
107
  get el() { return index.getElement(this); }
108
108
  static get watchers() { return {
@@ -1388,9 +1388,9 @@ const Popover = class {
1388
1388
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
1389
1389
  const desktop = ionicGlobal.isPlatform('desktop');
1390
1390
  const enableArrow = arrow && !parentPopover;
1391
- return (index.h(index.Host, Object.assign({ key: 'f977b26ee1607d83bc78418e319da90d1691b49f', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1391
+ return (index.h(index.Host, Object.assign({ key: '16866c02534968c982cf4730d2936d03a5107c8b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1392
1392
  zIndex: `${20000 + this.overlayIndex}`,
1393
- }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: '3cfc18823bca1fd43f9f7da876a69a5d8b1eac4e', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: '060bc23b567e92bd4740397d3d2c1994cebd2859', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: 'cbb21b281a69713dd4233ea27256d696173a634b', class: "popover-arrow", part: "arrow" }), index.h("div", { key: 'a28dc0557aac79410d56828746d1b77aaa9d636c', class: "popover-content", part: "content" }, index.h("slot", { key: 'cd29600cb42be78005e635672ee2ec1e251116cc' })))));
1393
+ }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: '0df258601a4d30df3c27aa8234a7d5e056c3ecbb', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: 'f94e80ed996b957b5cd09b826472b4f60e8fcc78', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '185ce22f6386e8444a9cc7b8818dbfc16c463c99', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '206202b299404e110de5397b229678cca18568d3', class: "popover-content", part: "content" }, index.h("slot", { key: 'ee543a0b92d6e35a837c0a0e4617c7b0fc4ad0b0' })))));
1394
1394
  }
1395
1395
  get el() { return index.getElement(this); }
1396
1396
  static get watchers() { return {
@@ -42,7 +42,7 @@ const ProgressBar = class {
42
42
  const mode = ionicGlobal.getIonMode(this);
43
43
  // If the progress is displayed as a solid bar.
44
44
  const progressSolid = buffer === 1;
45
- return (index.h(index.Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
45
+ return (index.h(index.Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
46
46
  [mode]: true,
47
47
  [`progress-bar-${type}`]: true,
48
48
  'progress-paused': paused,
@@ -137,7 +137,7 @@ const Radio = class {
137
137
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
138
138
  const mode = ionicGlobal.getIonMode(this);
139
139
  const inItem = theme.hostContext('ion-item', el);
140
- return (index.h(index.Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
140
+ return (index.h(index.Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
141
141
  [mode]: true,
142
142
  'in-item': inItem,
143
143
  'radio-checked': checked,
@@ -148,10 +148,10 @@ const Radio = class {
148
148
  // Focus and active styling should not apply when the radio is in an item
149
149
  'ion-activatable': !inItem,
150
150
  'ion-focusable': !inItem,
151
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, index.h("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
151
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: '418a0a48366ff900e97da123abf665bbbda87fb7', class: "radio-wrapper" }, index.h("div", { key: '6e5acdd8c8f5d0ad26632a65396afef8094153d1', class: {
152
152
  'label-text-wrapper': true,
153
153
  'label-text-wrapper-hidden': !hasLabel,
154
- }, part: "label" }, index.h("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), index.h("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
154
+ }, part: "label" }, index.h("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), index.h("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
155
155
  }
156
156
  get el() { return index.getElement(this); }
157
157
  static get watchers() { return {
@@ -354,7 +354,7 @@ const RadioGroup = class {
354
354
  const { label, labelId, el, name, value } = this;
355
355
  const mode = ionicGlobal.getIonMode(this);
356
356
  helpers.renderHiddenInput(true, el, name, value, false);
357
- return (index.h(index.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(), index.h("slot", { key: '77f7b5a2040b65222c9c2178c8e87d58b347ef7c' })));
357
+ return (index.h(index.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(), index.h("div", { key: '45b09efc10776b889a8f372cba80d25a3fc849da', class: "radio-group-wrapper" }, index.h("slot", { key: '58714934542c2fdd7396de160364f3f06b32e8f8' }))));
358
358
  }
359
359
  get el() { return index.getElement(this); }
360
360
  static get watchers() { return {
@@ -723,7 +723,7 @@ const Range = class {
723
723
  const needsEndAdjustment = inItem && !hasEndContent;
724
724
  const mode = ionicGlobal.getIonMode(this);
725
725
  helpers.renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
726
- return (index.h(index.Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
726
+ return (index.h(index.Host, { key: 'ef7b01f80515bcaeb2983934ad7f10a6bd5d13ec', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
727
727
  [mode]: true,
728
728
  'in-item': inItem,
729
729
  'range-disabled': disabled,
@@ -732,10 +732,10 @@ const Range = class {
732
732
  [`range-label-placement-${labelPlacement}`]: true,
733
733
  'range-item-start-adjustment': needsStartAdjustment,
734
734
  'range-item-end-adjustment': needsEndAdjustment,
735
- }) }, index.h("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, index.h("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
735
+ }) }, index.h("label", { key: 'fd8aa90a9d52be9da024b907e68858dae424449d', class: "range-wrapper", id: "range-label" }, index.h("div", { key: '2172b4f329c22017dd23475c80aac25ba6e753eb', class: {
736
736
  'label-text-wrapper': true,
737
737
  'label-text-wrapper-hidden': !hasLabel,
738
- }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '3c275d822b29a8008e044722e8b6bdabd3ecfad7', class: "native-wrapper" }, index.h("slot", { key: '03c849d0aa708914984ad57ca292bc5fc66ecad5', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: '10ca7b8152cac00b45d8fa98ad91410f59fd176a', name: "end" })))));
738
+ }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '3c318bf2ea0576646d4c010bf44573fd0f483186', class: "native-wrapper" }, index.h("slot", { key: '6586fd6fc96271e73f8a86c202d1913ad1a26f96', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: '74ac0bc2d2cb66ef708bb729f88b6ecbc1b2155d', name: "end" })))));
739
739
  }
740
740
  get el() { return index.getElement(this); }
741
741
  static get watchers() { return {
@@ -889,7 +889,7 @@ const Refresher = class {
889
889
  }
890
890
  render() {
891
891
  const mode = ionicGlobal.getIonMode(this);
892
- return (index.h(index.Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
892
+ return (index.h(index.Host, { key: '2d1bd880877b698604542ab2d602d38b9504d975', slot: "fixed", class: {
893
893
  [mode]: true,
894
894
  // Used internally for styling
895
895
  [`refresher-${mode}`]: true,
@@ -952,7 +952,7 @@ const RefresherContent = class {
952
952
  const pullingIcon = this.pullingIcon;
953
953
  const hasSpinner = pullingIcon != null && spinnerConfigs.SPINNERS[pullingIcon] !== undefined;
954
954
  const mode = ionicGlobal.getIonMode(this);
955
- return (index.h(index.Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, index.h("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, index.h("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, index.h("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
955
+ return (index.h(index.Host, { key: 'e235f8a9a84070ece2e2066ced234a64663bfa1d', class: mode }, index.h("div", { key: '9121691818ddaa35801a5f442e144ac27686cf19', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: 'c8d65d740f1575041bd3b752c789077927397fe4', class: "refresher-pulling-icon" }, index.h("div", { key: '309dd904977eaa788b09ea95b7fa4996a73bec5b', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: 'a2a1480f67775d56ca7822e76be1e9f983bca2f9', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: '811d7e06d324bf4b6a18a31427a43e5177f3ae3a', class: "arrow-container" }, index.h("ion-icon", { key: '86cc48e2e8dc054ff6ff1299094da35b524be63d', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: '464ae097dbc95c18a2dd7dfd03f8489153dab719', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: 'ed6875978b9035add562caa743a68353743d978f', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: 'aff891924e44354543fec484e5cde1ca92e69904', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: '842d7ac4ff10a1058775493d62f31cbdcd34f7a0', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: '8c3e6195501e7e78d5cde1e3ad1fef90fd4a953f', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
956
956
  }
957
957
  get el() { return index.getElement(this); }
958
958
  };
@@ -32,7 +32,7 @@ const Reorder = class {
32
32
  render() {
33
33
  const mode = ionicGlobal.getIonMode(this);
34
34
  const reorderIcon = mode === 'ios' ? index$1.reorderThreeOutline : index$1.reorderTwoSharp;
35
- return (index.h(index.Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, index.h("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, index.h("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
35
+ return (index.h(index.Host, { key: 'e6807bb349725682e99e791ac65e729a360d64e8', class: mode }, index.h("slot", { key: '1c691cdbffa6427ba08dc12184c69559ed5d5506' }, index.h("ion-icon", { key: '8b4150302cdca475379582b2251737b5e74079b1', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
36
36
  }
37
37
  get el() { return index.getElement(this); }
38
38
  };
@@ -295,7 +295,7 @@ const ReorderGroup = class {
295
295
  }
296
296
  render() {
297
297
  const mode = ionicGlobal.getIonMode(this);
298
- return (index.h(index.Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
298
+ return (index.h(index.Host, { key: 'b9641f3061d67fbfe68317b901ec33267046e073', class: {
299
299
  [mode]: true,
300
300
  'reorder-enabled': !this.disabled,
301
301
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -74,7 +74,7 @@ const RippleEffect = class {
74
74
  }
75
75
  render() {
76
76
  const mode = ionicGlobal.getIonMode(this);
77
- return (index.h(index.Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
77
+ return (index.h(index.Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
78
78
  [mode]: true,
79
79
  unbounded: this.unbounded,
80
80
  } }));
@@ -897,10 +897,10 @@ const RouterLink = class {
897
897
  rel: this.rel,
898
898
  target: this.target,
899
899
  };
900
- return (index.h(index.Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: theme.createColorClasses(this.color, {
900
+ return (index.h(index.Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: theme.createColorClasses(this.color, {
901
901
  [mode]: true,
902
902
  'ion-activatable': true,
903
- }) }, index.h("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), index.h("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
903
+ }) }, index.h("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), index.h("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
904
904
  }
905
905
  };
906
906
  RouterLink.style = routerLinkCss;
@@ -438,8 +438,8 @@ const Searchbar = class {
438
438
  const clearIcon = this.clearIcon || (mode === 'ios' ? index$1.closeCircle : index$1.closeSharp);
439
439
  const searchIcon = this.searchIcon || (mode === 'ios' ? index$1.searchOutline : index$1.searchSharp);
440
440
  const shouldShowCancelButton = this.shouldShowCancelButton();
441
- const cancelButton = this.showCancelButton !== 'never' && (index.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" }, index.h("div", { key: '747ad4368bda5044198259d5bc8f7be9e472e5af', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
442
- return (index.h(index.Host, { key: 'bcc5b33a2859903ba11bfc5c611c6a2aaa71d06b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
441
+ const cancelButton = this.showCancelButton !== 'never' && (index.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" }, index.h("div", { key: 'b3bbdcc033f3bd3441d619e4a252cef0dad4d07e', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
442
+ return (index.h(index.Host, { key: '074aa60e051bfb3225e87d44bbb6346c59c73574', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
443
443
  [mode]: true,
444
444
  'searchbar-animated': animated,
445
445
  'searchbar-disabled': this.disabled,
@@ -449,14 +449,14 @@ const Searchbar = class {
449
449
  'searchbar-has-focus': this.focused,
450
450
  'searchbar-should-show-clear': this.shouldShowClearButton(),
451
451
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
452
- }) }, index.h("div", { key: 'ac0dbf5ddd9c4eb6d714f45c62c44ba3d0bf034d', class: "searchbar-input-container" }, index.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, index.h("ion-icon", { key: '32a889c48b3960560a3873061b4ac5a8a5ce532f', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: '71222df691ef0b95008e619f755224d069ee9388', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
452
+ }) }, index.h("div", { key: '54f58a79fe36e85d9295157303f1be89c98bbdaf', class: "searchbar-input-container" }, index.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, index.h("ion-icon", { key: '8b44dd90a3292c5cf872ef16a8520675f5673494', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: '79d9cfed8f01268044f82811a35d323a12dca749', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
453
453
  /**
454
454
  * This prevents mobile browsers from
455
455
  * blurring the input when the clear
456
456
  * button is activated.
457
457
  */
458
458
  ev.preventDefault();
459
- }, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: 'f1c8c0bd8fbb655085875731d3ece387dbe2967e', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
459
+ }, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: 'aa3b9fa8a61f853236783ac7bcd0b113ea65ece2', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
460
460
  }
461
461
  get el() { return index.getElement(this); }
462
462
  static get watchers() { return {
@@ -12,7 +12,7 @@ const SegmentContent = class {
12
12
  index.registerInstance(this, hostRef);
13
13
  }
14
14
  render() {
15
- return (index.h(index.Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, index.h("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
15
+ return (index.h(index.Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, index.h("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
16
16
  }
17
17
  };
18
18
  SegmentContent.style = segmentContentCss;
@@ -105,10 +105,10 @@ const SegmentView = class {
105
105
  }
106
106
  render() {
107
107
  const { disabled, isManualScroll } = this;
108
- return (index.h(index.Host, { key: '3776707134f85b81028f9668e77974c21e3a5491', class: {
108
+ return (index.h(index.Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
109
109
  'segment-view-disabled': disabled,
110
110
  'segment-view-scroll-disabled': isManualScroll === false,
111
- } }, index.h("slot", { key: 'e67efc16cbfa0c13aa9d81e9f91b61162782c0ea' })));
111
+ } }, index.h("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
112
112
  }
113
113
  get el() { return index.getElement(this); }
114
114
  };