@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
@@ -721,7 +721,7 @@ const Range = class {
721
721
  const needsEndAdjustment = inItem && !hasEndContent;
722
722
  const mode = getIonMode(this);
723
723
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
724
- return (h(Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
724
+ return (h(Host, { key: 'ef7b01f80515bcaeb2983934ad7f10a6bd5d13ec', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
725
725
  [mode]: true,
726
726
  'in-item': inItem,
727
727
  'range-disabled': disabled,
@@ -730,10 +730,10 @@ const Range = class {
730
730
  [`range-label-placement-${labelPlacement}`]: true,
731
731
  'range-item-start-adjustment': needsStartAdjustment,
732
732
  'range-item-end-adjustment': needsEndAdjustment,
733
- }) }, h("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, h("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
733
+ }) }, h("label", { key: 'fd8aa90a9d52be9da024b907e68858dae424449d', class: "range-wrapper", id: "range-label" }, h("div", { key: '2172b4f329c22017dd23475c80aac25ba6e753eb', class: {
734
734
  'label-text-wrapper': true,
735
735
  'label-text-wrapper-hidden': !hasLabel,
736
- }, 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" })))));
736
+ }, 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" })))));
737
737
  }
738
738
  get el() { return getElement(this); }
739
739
  static get watchers() { return {
@@ -887,7 +887,7 @@ const Refresher = class {
887
887
  }
888
888
  render() {
889
889
  const mode = getIonMode(this);
890
- return (h(Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
890
+ return (h(Host, { key: '2d1bd880877b698604542ab2d602d38b9504d975', slot: "fixed", class: {
891
891
  [mode]: true,
892
892
  // Used internally for styling
893
893
  [`refresher-${mode}`]: true,
@@ -950,7 +950,7 @@ const RefresherContent = class {
950
950
  const pullingIcon = this.pullingIcon;
951
951
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
952
952
  const mode = getIonMode(this);
953
- 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())));
953
+ 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())));
954
954
  }
955
955
  get el() { return getElement(this); }
956
956
  };
@@ -30,7 +30,7 @@ const Reorder = class {
30
30
  render() {
31
31
  const mode = getIonMode(this);
32
32
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
33
- 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" }))));
33
+ 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" }))));
34
34
  }
35
35
  get el() { return getElement(this); }
36
36
  };
@@ -293,7 +293,7 @@ const ReorderGroup = class {
293
293
  }
294
294
  render() {
295
295
  const mode = getIonMode(this);
296
- return (h(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
296
+ return (h(Host, { key: 'b9641f3061d67fbfe68317b901ec33267046e073', class: {
297
297
  [mode]: true,
298
298
  'reorder-enabled': !this.disabled,
299
299
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -72,7 +72,7 @@ const RippleEffect = class {
72
72
  }
73
73
  render() {
74
74
  const mode = getIonMode(this);
75
- return (h(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
75
+ return (h(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
76
76
  [mode]: true,
77
77
  unbounded: this.unbounded,
78
78
  } }));
@@ -895,10 +895,10 @@ const RouterLink = class {
895
895
  rel: this.rel,
896
896
  target: this.target,
897
897
  };
898
- return (h(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses(this.color, {
898
+ return (h(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses(this.color, {
899
899
  [mode]: true,
900
900
  'ion-activatable': true,
901
- }) }, h("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), h("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
901
+ }) }, h("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), h("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
902
902
  }
903
903
  };
904
904
  RouterLink.style = routerLinkCss;
@@ -436,8 +436,8 @@ const Searchbar = class {
436
436
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
437
437
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
438
438
  const shouldShowCancelButton = this.shouldShowCancelButton();
439
- 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))));
440
- return (h(Host, { key: 'bcc5b33a2859903ba11bfc5c611c6a2aaa71d06b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
439
+ 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))));
440
+ return (h(Host, { key: '074aa60e051bfb3225e87d44bbb6346c59c73574', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
441
441
  [mode]: true,
442
442
  'searchbar-animated': animated,
443
443
  'searchbar-disabled': this.disabled,
@@ -447,14 +447,14 @@ const Searchbar = class {
447
447
  'searchbar-has-focus': this.focused,
448
448
  'searchbar-should-show-clear': this.shouldShowClearButton(),
449
449
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
450
- }) }, 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) => {
450
+ }) }, 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) => {
451
451
  /**
452
452
  * This prevents mobile browsers from
453
453
  * blurring the input when the clear
454
454
  * button is activated.
455
455
  */
456
456
  ev.preventDefault();
457
- }, 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));
457
+ }, 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));
458
458
  }
459
459
  get el() { return getElement(this); }
460
460
  static get watchers() { return {
@@ -10,7 +10,7 @@ const SegmentContent = class {
10
10
  registerInstance(this, hostRef);
11
11
  }
12
12
  render() {
13
- return (h(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, h("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
13
+ return (h(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, h("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
14
14
  }
15
15
  };
16
16
  SegmentContent.style = segmentContentCss;
@@ -103,10 +103,10 @@ const SegmentView = class {
103
103
  }
104
104
  render() {
105
105
  const { disabled, isManualScroll } = this;
106
- return (h(Host, { key: '3776707134f85b81028f9668e77974c21e3a5491', class: {
106
+ return (h(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
107
107
  'segment-view-disabled': disabled,
108
108
  'segment-view-scroll-disabled': isManualScroll === false,
109
- } }, h("slot", { key: 'e67efc16cbfa0c13aa9d81e9f91b61162782c0ea' })));
109
+ } }, h("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
110
110
  }
111
111
  get el() { return getElement(this); }
112
112
  };
@@ -547,14 +547,14 @@ const Segment = class {
547
547
  }
548
548
  render() {
549
549
  const mode = getIonMode(this);
550
- return (h(Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
550
+ return (h(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
551
551
  [mode]: true,
552
552
  'in-toolbar': hostContext('ion-toolbar', this.el),
553
553
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
554
554
  'segment-activated': this.activated,
555
555
  'segment-disabled': this.disabled,
556
556
  'segment-scrollable': this.scrollable,
557
- }) }, h("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
557
+ }) }, h("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
558
558
  }
559
559
  get el() { return getElement(this); }
560
560
  static get watchers() { return {
@@ -672,7 +672,7 @@ const SegmentButton = class {
672
672
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
673
673
  const mode = getIonMode(this);
674
674
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
675
- return (h(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
675
+ return (h(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
676
676
  [mode]: true,
677
677
  'in-toolbar': hostContext('ion-toolbar', this.el),
678
678
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -688,7 +688,7 @@ const SegmentButton = class {
688
688
  'ion-activatable': true,
689
689
  'ion-activatable-instant': true,
690
690
  'ion-focusable': true,
691
- } }, 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" }))));
691
+ } }, 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" }))));
692
692
  }
693
693
  get el() { return getElement(this); }
694
694
  static get watchers() { return {
@@ -88,7 +88,7 @@ const SelectModal = class {
88
88
  } }, option.text))));
89
89
  }
90
90
  render() {
91
- return (h(Host, { key: '5bffdb106e6f628dae2e2aeb9ee8008b5c547b3a', class: getIonMode(this) }, h("ion-header", { key: '4de1c33b0504372f8a0a26123e4e086080ee1ecb' }, h("ion-toolbar", { key: '5d55a67d1db4352c260e9e0457d5dac6110b6598' }, this.header !== undefined && h("ion-title", { key: '4f07fe8a9af8c9bd0852af2a9b95517d16356e50' }, this.header), h("ion-buttons", { key: 'ca676a34f7cd3dd6b465b0d803434c2e2c8536c5', slot: "end" }, h("ion-button", { key: '801ed63a357c7c9d354668851db65e5c1b0e1abe', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: 'f3c239ec9d84b8ed7413ea9db6efa18e29aca285' }, h("ion-list", { key: '40c157e9abe477171a39ae7e6e1cd4ed08735cb4' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
91
+ return (h(Host, { key: 'b6c0dec240b2e41985b15fdf4e5a6d3a145c1567', class: getIonMode(this) }, h("ion-header", { key: 'cd177e85ee0f62a60a3a708342d6ab6eb19a44dc' }, h("ion-toolbar", { key: 'aee8222a5a4daa540ad202b2e4cac1ef93d9558c' }, this.header !== undefined && h("ion-title", { key: '5f8fecc764d97bf840d3d4cfddeeccd118ab4436' }, this.header), h("ion-buttons", { key: '919033950d7c2b0101f96a9c9698219de9f568ea', slot: "end" }, h("ion-button", { key: '34b571cab6dced4bde555a077a21e91800829931', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: '3c9153d26ba7a5a03d3b20fcd628d0c3031661a7' }, h("ion-list", { key: 'e00b222c071bc97c82ad1bba4db95a8a5c43ed6d' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
92
92
  }
93
93
  get el() { return getElement(this); }
94
94
  };
@@ -735,7 +735,7 @@ const Select = class {
735
735
  * TODO(FW-5592): Remove hasStartEndSlots condition
736
736
  */
737
737
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
738
- return (h(Host, { key: 'c1e6967b3ccc9631bfceeadd074a6e87b4e96dbe', onClick: this.onClick, class: createColorClasses(this.color, {
738
+ return (h(Host, { key: 'c03fb65e8fc9f9aab295e07b282377d57d910519', onClick: this.onClick, class: createColorClasses(this.color, {
739
739
  [mode]: true,
740
740
  'in-item': inItem,
741
741
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -753,7 +753,7 @@ const Select = class {
753
753
  [`select-justify-${justify}`]: justifyEnabled,
754
754
  [`select-shape-${shape}`]: shape !== undefined,
755
755
  [`select-label-placement-${labelPlacement}`]: true,
756
- }) }, h("label", { key: 'b890417073d5a622869549173f9cdac695d51079', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '43deb671a8570f9b407617dd3153f8ed37cf77b9', class: "select-wrapper-inner" }, h("slot", { key: '91b64e1926ea44912e85eec336992c36ca5a6fff', name: "start" }), h("div", { key: '4d3b26a304b18c68576302440ba7810a91324b86', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '64d839f2e862efffd32e01204e567c58f59c20cb', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'edffaee197d2f9ee8268cd2ecac6d6ce4ed28bfb', class: "select-highlight" })), this.renderBottomContent()));
756
+ }) }, h("label", { key: '0d0c8ec55269adcac625f2899a547f4e7f3e3741', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: 'f6dfc93c0e23cbe75a2947abde67d842db2dad78', class: "select-wrapper-inner" }, h("slot", { key: '957bfadf9f101f519091419a362d3abdc2be66f6', name: "start" }), h("div", { key: 'ca349202a484e7f2e884533fd330f0b136754f7d', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'f0e62a6533ff1c8f62bd2d27f60b23385c4fa9ed', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'fb840d46bafafb09898ebeebbe8c181906a3d8a2', class: "select-highlight" })), this.renderBottomContent()));
757
757
  }
758
758
  get el() { return getElement(this); }
759
759
  static get watchers() { return {
@@ -815,7 +815,7 @@ const SelectOption = class {
815
815
  this.disabled = false;
816
816
  }
817
817
  render() {
818
- return h(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode(this) });
818
+ return h(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode(this) });
819
819
  }
820
820
  get el() { return getElement(this); }
821
821
  };
@@ -920,7 +920,7 @@ const SelectPopover = class {
920
920
  render() {
921
921
  const { header, message, options, subHeader } = this;
922
922
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
923
- return (h(Host, { key: '0c9845a40d3fc392b0a7d64e2a6ed27d94bb7634', class: getIonMode(this) }, h("ion-list", { key: '84a30f6661b0f8c00e6fa199658ed2adbcf27358' }, header !== undefined && h("ion-list-header", { key: '13f5f56bbfbc06751fa516291a2da72629b60ece' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '3d39d18e720e798bbde334e79e6832091c7dfb81' }, h("ion-label", { key: 'd3051b0d140120b44bf5e79572f6f287e7cfb03a', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'b16805956f3316f8ec703c123b76f717488e8637' }, subHeader), message !== undefined && h("p", { key: '2215ac4ab4146a14e75a79192e319a8016286b5f' }, message)))), this.renderOptions(options))));
923
+ return (h(Host, { key: 'ab931b49b59283825bd2afa3f7f995b0e6e05bef', class: getIonMode(this) }, h("ion-list", { key: '3bd12b67832607596b912a73d5b3ae9b954b244d' }, header !== undefined && h("ion-list-header", { key: '97da930246edf7423a039c030d40e3ff7a5148a3' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: 'c579df6ea8fac07bb0c59d34c69b149656863224' }, h("ion-label", { key: 'af699c5f465710ccb13b8cf8e7be66f0e8acfad1', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'df9a936d42064b134e843c7229f314a2a3ec7e80' }, subHeader), message !== undefined && h("p", { key: '9c3ddad378df00f106afa94e9928cf68c17124dd' }, message)))), this.renderOptions(options))));
924
924
  }
925
925
  get el() { return getElement(this); }
926
926
  };
@@ -42,7 +42,7 @@ const Spinner = class {
42
42
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
43
43
  }
44
44
  }
45
- return (h(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses(self.color, {
45
+ return (h(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses(self.color, {
46
46
  [mode]: true,
47
47
  [`spinner-${spinnerName}`]: true,
48
48
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -126,12 +126,12 @@ const SplitPane = class {
126
126
  }
127
127
  render() {
128
128
  const mode = getIonMode(this);
129
- return (h(Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
129
+ return (h(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
130
130
  [mode]: true,
131
131
  // Used internally for styling
132
132
  [`split-pane-${mode}`]: true,
133
133
  'split-pane-visible': this.visible,
134
- } }, h("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
134
+ } }, h("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
135
135
  }
136
136
  get el() { return getElement(this); }
137
137
  static get watchers() { return {
@@ -63,11 +63,11 @@ const TabBar = class {
63
63
  const { color, translucent, keyboardVisible } = this;
64
64
  const mode = getIonMode(this);
65
65
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
66
- return (h(Host, { key: '7384afd3f2d364c8a052ea5a27131c51ce7ef94b', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
66
+ return (h(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
67
67
  [mode]: true,
68
68
  'tab-bar-translucent': translucent,
69
69
  'tab-bar-hidden': shouldHide,
70
- }) }, h("slot", { key: '4330de4be572cb2c88a37c88124fe66b8da98cc5' })));
70
+ }) }, h("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
71
71
  }
72
72
  get el() { return getElement(this); }
73
73
  static get watchers() { return {
@@ -145,7 +145,7 @@ const TabButton = class {
145
145
  rel,
146
146
  target,
147
147
  };
148
- return (h(Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
148
+ return (h(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
149
149
  [mode]: true,
150
150
  'tab-selected': selected,
151
151
  'tab-disabled': disabled,
@@ -157,7 +157,7 @@ const TabButton = class {
157
157
  'ion-activatable': true,
158
158
  'ion-selectable': true,
159
159
  'ion-focusable': true,
160
- } }, h("a", Object.assign({ key: 'c053d32fbcdad8d5e4a409956b47164d7a080c6b' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: 'b3b460d33ec978a46b069442280d31b23bc8e794', class: "button-inner" }, h("slot", { key: '87b3928475c941263261101b8fae27c6370d4671' })), mode === 'md' && h("ion-ripple-effect", { key: '6532e5b4546aebe4becaebe1c93ce0e6aedaffe7', type: "unbounded" }))));
160
+ } }, h("a", Object.assign({ key: '01cb0ed2e77c5c1a8abd48da1bb07ac1b305d0b6' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: 'd0240c05f42217cfb186b86ff8a0c9cd70b9c8df', class: "button-inner" }, h("slot", { key: '0a20b84925037dbaa8bb4a495b813d3f7c2e58ac' })), mode === 'md' && h("ion-ripple-effect", { key: '4c92c27178cdac89d69cffef8d2c39c3644914e8', type: "unbounded" }))));
161
161
  }
162
162
  get el() { return getElement(this); }
163
163
  };
@@ -43,10 +43,10 @@ const Tab = class {
43
43
  }
44
44
  render() {
45
45
  const { tab, active, component } = this;
46
- return (h(Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
46
+ return (h(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
47
47
  'ion-page': component === undefined,
48
48
  'tab-hidden': !active,
49
- } }, h("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
49
+ } }, h("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
50
50
  }
51
51
  get el() { return getElement(this); }
52
52
  static get watchers() { return {
@@ -216,7 +216,7 @@ const Tabs = class {
216
216
  return Array.from(this.el.querySelectorAll('ion-tab'));
217
217
  }
218
218
  render() {
219
- return (h(Host, { key: '97d3548ef12a33b783b4ea090ba19ca5055ef6d7', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '13fc2090ff2d030803caec332f30b2dd41352644', name: "top" }), h("div", { key: '5f5c12c96efca85cba50442e7633b8a95f699918', class: "tabs-inner" }, h("slot", { key: '92e702217cb2bab6133928adae8a6a516796ca1a' })), h("slot", { key: '57a08296c8d77d62e4832a4eca431fea8ace3616', name: "bottom" })));
219
+ return (h(Host, { key: '6dd1d17cc5a7aff4b910303006b4478080ca97af', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: 'db54a692d1a825498a116f090eb305f7cceceb5a', name: "top" }), h("div", { key: 'e1b7d49ba7032e9071de2029695254e2a8303be9', class: "tabs-inner" }, h("slot", { key: '4c3b58d5292c8c834e7532c51de0861068943d79' })), h("slot", { key: 'dd59c0b9b217dfbfb0fccdbc6896b593278549cc', name: "bottom" })));
220
220
  }
221
221
  get el() { return getElement(this); }
222
222
  };
@@ -13,9 +13,9 @@ const Text = class {
13
13
  }
14
14
  render() {
15
15
  const mode = getIonMode(this);
16
- return (h(Host, { key: 'bfaa49d35f43b8036725ae8a322c716fc6e43bdf', class: createColorClasses(this.color, {
16
+ return (h(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses(this.color, {
17
17
  [mode]: true,
18
- }) }, h("slot", { key: 'c04880cd1935b42cbe60f58fd523b4d8a96072dc' })));
18
+ }) }, h("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
19
19
  }
20
20
  };
21
21
  Text.style = textCss;
@@ -40,6 +40,10 @@ const Textarea = class {
40
40
  * is applied in both cases.
41
41
  */
42
42
  this.hasFocus = false;
43
+ /**
44
+ * Track validation state for proper aria-live announcements
45
+ */
46
+ this.isInvalid = false;
43
47
  /**
44
48
  * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
45
49
  * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
@@ -186,10 +190,31 @@ const Textarea = class {
186
190
  this.el.click();
187
191
  }
188
192
  }
193
+ /**
194
+ * Checks if the textarea is in an invalid state based on validation classes
195
+ */
196
+ checkValidationState() {
197
+ return this.el.classList.contains('ion-touched') && this.el.classList.contains('ion-invalid');
198
+ }
189
199
  connectedCallback() {
190
200
  const { el } = this;
191
201
  this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate(this));
192
202
  this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
203
+ // Watch for class changes to update validation state
204
+ if (typeof MutationObserver !== 'undefined') {
205
+ this.validationObserver = new MutationObserver(() => {
206
+ const newIsInvalid = this.checkValidationState();
207
+ if (this.isInvalid !== newIsInvalid) {
208
+ this.isInvalid = newIsInvalid;
209
+ }
210
+ });
211
+ this.validationObserver.observe(el, {
212
+ attributes: true,
213
+ attributeFilter: ['class'],
214
+ });
215
+ }
216
+ // Always set initial state
217
+ this.isInvalid = this.checkValidationState();
193
218
  this.debounceChanged();
194
219
  {
195
220
  document.dispatchEvent(new CustomEvent('ionInputDidLoad', {
@@ -211,6 +236,11 @@ const Textarea = class {
211
236
  this.notchController.destroy();
212
237
  this.notchController = undefined;
213
238
  }
239
+ // Clean up validation observer to prevent memory leaks
240
+ if (this.validationObserver) {
241
+ this.validationObserver.disconnect();
242
+ this.validationObserver = undefined;
243
+ }
214
244
  }
215
245
  componentWillLoad() {
216
246
  this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['data-form-type', 'title', 'tabindex', 'dir']));
@@ -388,8 +418,8 @@ const Textarea = class {
388
418
  ];
389
419
  }
390
420
  getHintTextID() {
391
- const { el, helperText, errorText, helperTextId, errorTextId } = this;
392
- if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
421
+ const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
422
+ if (isInvalid && errorText) {
393
423
  return errorTextId;
394
424
  }
395
425
  if (helperText) {
@@ -448,7 +478,7 @@ const Textarea = class {
448
478
  * TODO(FW-5592): Remove hasStartEndSlots condition
449
479
  */
450
480
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
451
- return (h(Host, { key: '9fd36834a8ed8496212e00e5cc684c7fa6e8f6d5', class: createColorClasses(this.color, {
481
+ return (h(Host, { key: 'de258335fde7fa934cf3bd58c469525440457468', class: createColorClasses(this.color, {
452
482
  [mode]: true,
453
483
  'has-value': hasValue,
454
484
  'has-focus': hasFocus,
@@ -457,7 +487,7 @@ const Textarea = class {
457
487
  [`textarea-shape-${shape}`]: shape !== undefined,
458
488
  [`textarea-label-placement-${labelPlacement}`]: true,
459
489
  'textarea-disabled': disabled,
460
- }) }, h("label", { key: '60dd748594cb8e710bd6be8779c5bbafc7bb129c', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: 'dc11a0e37279c142cde124e3868144024a5439ed', class: "textarea-wrapper-inner" }, h("div", { key: '49aee693a69bf17cf9d05a903d5e176f5ef7c50d', class: "start-slot-wrapper" }, h("slot", { key: '7307aad65706b8191dac46b7e61e662af8976e97', name: "start" })), h("div", { key: '81fb54829e4dd759d812fe98e24893071fdfb92a', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ key: 'fe51fca195f8e2ec6607ba6d92bce72e0a94e2cd', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), h("div", { key: '87fd163075ea795ddb75b8d6bbf2f89ddceca4dc', class: "end-slot-wrapper" }, h("slot", { key: 'b09b52993d2471e7e75773a8f36c49995959ce7a', name: "end" }))), shouldRenderHighlight && h("div", { key: 'acad88bca506ebf44d3bedab29f6d53ff8f92981', class: "textarea-highlight" })), this.renderBottomContent()));
490
+ }) }, h("label", { key: '79fc87122871d45316b1c5fd0a467bf85351e804', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '2375888a47557b41ea3b3bf8eae1fd3f2a4032bd', class: "textarea-wrapper-inner" }, h("div", { key: 'c5af683527a870bd85256b6de8a7d216283403dd', class: "start-slot-wrapper" }, h("slot", { key: 'd972e5784403c5cc6ed067ae578ce23ff8303e1e', name: "start" })), h("div", { key: '1092067609d912a76a8679767611e4ca3e071c6f', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ key: 'cd23a4bad4d5b460830340009d24d0618f14fd73', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), h("div", { key: 'c91a5456f4490ef8699f2e44b4a6c64f6084f5fd', class: "end-slot-wrapper" }, h("slot", { key: 'b71ba7ba0d74091e81784432dcffa832b66f3f25', name: "end" }))), shouldRenderHighlight && h("div", { key: '757c3287e1cea5ee851227407685a437f8408c54', class: "textarea-highlight" })), this.renderBottomContent()));
461
491
  }
462
492
  get el() { return getElement(this); }
463
493
  static get watchers() { return {
@@ -849,9 +849,9 @@ const Toast = class {
849
849
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
850
850
  printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
851
851
  }
852
- return (h(Host, Object.assign({ key: '4a303f9ebb69614e9dca677d9d80a4a275de0d85', tabindex: "-1" }, this.htmlAttributes, { style: {
852
+ return (h(Host, Object.assign({ key: 'd1ecd90c87700aad4685e230cdd430aa286b8791', tabindex: "-1" }, this.htmlAttributes, { style: {
853
853
  zIndex: `${60000 + this.overlayIndex}`,
854
- }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '4f58fcbba8dce9834eab743fc91715935216f3d0', class: wrapperClass }, h("div", { key: 'bbc7b73b186432bd4be8247c5de2ce3b2551fb0a', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: '0b953478eb739ceb864373416183bfbf5ce2f9f1', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: '7a63497d1c0440256218426194851a969b042ca6', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
854
+ }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '4bfc863417324de69e222054d5cf9c452038b41e', class: wrapperClass }, h("div", { key: '3417940afec0392e81b7d54c7cb00f3ab6c30d47', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: '6bf878fbc85c01e1e5faa9d97d46255a6511a952', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: '54b500348a9c37660c3aff37436d9188e4374947', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
855
855
  }
856
856
  get el() { return getElement(this); }
857
857
  static get watchers() { return {
@@ -239,7 +239,7 @@ const Toggle = class {
239
239
  const value = this.getValue();
240
240
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
241
241
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
242
- return (h(Host, { key: '4bfaf87191b3ba4daef9d7afc693e290dbb2c5d2', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: createColorClasses(color, {
242
+ return (h(Host, { key: '21037ea2e8326f58c84becadde475f007f931924', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: createColorClasses(color, {
243
243
  [mode]: true,
244
244
  'in-item': hostContext('ion-item', el),
245
245
  'toggle-activated': activated,
@@ -249,10 +249,10 @@ const Toggle = class {
249
249
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
250
250
  [`toggle-label-placement-${labelPlacement}`]: true,
251
251
  [`toggle-${rtl}`]: true,
252
- }) }, h("label", { key: '08a7744d71410f8befc04776a0ef7d3b03e9cfaf', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: 'e41f1cc9779e3ea364f3b0cee91686bd177bc883', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), h("div", { key: '986ee5fd8f7011dc8f2857b3ed19ea391070f20b', class: {
252
+ }) }, h("label", { key: '4d153679d118d01286f6633d1c19558a97745ff6', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: '0dfcd4df15b8d41bec5ff5f8912503afbb7bec53', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), h("div", { key: 'ffed3a07ba2ab70e5b232e6041bc3b6b34be8331', class: {
253
253
  'label-text-wrapper': true,
254
254
  'label-text-wrapper-hidden': !hasLabel,
255
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '0cb70572a622b68d8e49239314bf00a32d7551c0' }), this.renderHintText()), h("div", { key: 'f6e2a4f074af1398af3b6eaeb1a2ef2125e1ba67', class: "native-wrapper" }, this.renderToggleControl()))));
255
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: 'd88e1e3dcdd8293f6b61f237cd7a0511dcbce300' }), this.renderHintText()), h("div", { key: '0e924225f5f0caf3c88738acb6c557bd8c1b68f6', class: "native-wrapper" }, this.renderToggleControl()))));
256
256
  }
257
257
  get el() { return getElement(this); }
258
258
  static get watchers() { return {