@ionic/core 8.7.13-dev.11765486444.14025098 → 8.7.13-dev.11765552290.11441928

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 (279) hide show
  1. package/components/header.js +2 -2
  2. package/components/ion-datetime-button.js +2 -2
  3. package/components/ion-datetime.js +59 -83
  4. package/components/ion-fab-button.js +2 -2
  5. package/components/ion-fab-list.js +2 -2
  6. package/components/ion-fab.js +2 -2
  7. package/components/ion-footer.js +2 -2
  8. package/components/ion-grid.js +2 -2
  9. package/components/ion-img.js +1 -1
  10. package/components/ion-infinite-scroll-content.js +2 -2
  11. package/components/ion-infinite-scroll.js +1 -1
  12. package/components/ion-input-otp.js +3 -3
  13. package/components/ion-input-password-toggle.js +3 -3
  14. package/components/ion-input.js +3 -3
  15. package/components/ion-item-divider.js +2 -2
  16. package/components/ion-item-group.js +1 -1
  17. package/components/ion-item-option.js +2 -2
  18. package/components/ion-item-options.js +1 -1
  19. package/components/ion-item-sliding.js +1 -1
  20. package/components/ion-loading.js +2 -2
  21. package/components/ion-menu-button.js +2 -2
  22. package/components/ion-menu-toggle.js +2 -2
  23. package/components/ion-menu.js +2 -2
  24. package/components/ion-nav-link.js +1 -1
  25. package/components/ion-nav.js +1 -1
  26. package/components/ion-note.js +2 -2
  27. package/components/ion-picker-legacy.js +2 -2
  28. package/components/ion-progress-bar.js +1 -1
  29. package/components/ion-range.js +3 -3
  30. package/components/ion-refresher-content.js +1 -1
  31. package/components/ion-refresher.js +1 -1
  32. package/components/ion-reorder-group.js +1 -1
  33. package/components/ion-reorder.js +1 -1
  34. package/components/ion-router-link.js +2 -2
  35. package/components/ion-router-outlet.js +1 -1
  36. package/components/ion-row.js +1 -1
  37. package/components/ion-searchbar.js +4 -4
  38. package/components/ion-segment-button.js +2 -2
  39. package/components/ion-segment-content.js +1 -1
  40. package/components/ion-segment-view.js +2 -2
  41. package/components/ion-segment.js +2 -2
  42. package/components/ion-select-option.js +1 -1
  43. package/components/ion-select.js +2 -2
  44. package/components/ion-skeleton-text.js +2 -2
  45. package/components/ion-split-pane.js +2 -2
  46. package/components/ion-tab-bar.js +2 -2
  47. package/components/ion-tab-button.js +2 -2
  48. package/components/ion-tab.js +2 -2
  49. package/components/ion-tabs.js +1 -1
  50. package/components/ion-text.js +2 -2
  51. package/components/ion-textarea.js +2 -2
  52. package/components/ion-thumbnail.js +1 -1
  53. package/components/ion-toast.js +2 -2
  54. package/components/ion-toggle.js +3 -3
  55. package/components/label.js +2 -2
  56. package/components/list-header.js +2 -2
  57. package/components/list.js +1 -1
  58. package/components/modal.js +4 -4
  59. package/components/picker-column-option.js +2 -2
  60. package/components/picker-column.js +3 -3
  61. package/components/picker-column2.js +2 -2
  62. package/components/picker.js +2 -2
  63. package/components/popover.js +2 -2
  64. package/components/radio-group.js +1 -1
  65. package/components/radio.js +3 -3
  66. package/components/ripple-effect.js +1 -1
  67. package/components/select-modal.js +1 -1
  68. package/components/select-popover.js +1 -1
  69. package/components/spinner.js +1 -1
  70. package/components/title.js +2 -2
  71. package/components/toolbar.js +2 -2
  72. package/dist/cjs/ion-app_8.cjs.entry.js +9 -9
  73. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  74. package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
  75. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-datetime_3.cjs.entry.js +63 -87
  77. package/dist/cjs/ion-fab_3.cjs.entry.js +6 -6
  78. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  79. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  80. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  81. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
  82. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  83. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  84. package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
  85. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  86. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  87. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  88. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  90. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  91. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  92. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  93. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  94. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  95. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  96. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  97. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  98. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  99. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  100. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  101. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  102. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  103. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  104. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  105. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  106. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  107. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  108. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  109. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  110. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  112. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  113. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  114. package/dist/collection/components/datetime/datetime.js +59 -83
  115. package/dist/collection/components/datetime-button/datetime-button.js +2 -2
  116. package/dist/collection/components/fab/fab.js +2 -2
  117. package/dist/collection/components/fab-button/fab-button.js +2 -2
  118. package/dist/collection/components/fab-list/fab-list.js +2 -2
  119. package/dist/collection/components/footer/footer.js +2 -2
  120. package/dist/collection/components/grid/grid.js +2 -2
  121. package/dist/collection/components/header/header.js +2 -2
  122. package/dist/collection/components/img/img.js +1 -1
  123. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  124. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  125. package/dist/collection/components/input/input.js +3 -3
  126. package/dist/collection/components/input-otp/input-otp.js +3 -3
  127. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  128. package/dist/collection/components/item-divider/item-divider.js +2 -2
  129. package/dist/collection/components/item-group/item-group.js +1 -1
  130. package/dist/collection/components/item-option/item-option.js +2 -2
  131. package/dist/collection/components/item-options/item-options.js +1 -1
  132. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  133. package/dist/collection/components/label/label.js +2 -2
  134. package/dist/collection/components/list/list.js +1 -1
  135. package/dist/collection/components/list-header/list-header.js +2 -2
  136. package/dist/collection/components/loading/loading.js +2 -2
  137. package/dist/collection/components/menu/menu.js +2 -2
  138. package/dist/collection/components/menu-button/menu-button.js +2 -2
  139. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  140. package/dist/collection/components/modal/modal.js +4 -4
  141. package/dist/collection/components/nav/nav.js +1 -1
  142. package/dist/collection/components/nav-link/nav-link.js +1 -1
  143. package/dist/collection/components/note/note.js +2 -2
  144. package/dist/collection/components/picker/picker.js +2 -2
  145. package/dist/collection/components/picker-column/picker-column.js +3 -3
  146. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  147. package/dist/collection/components/picker-legacy/picker.js +2 -2
  148. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  149. package/dist/collection/components/popover/popover.js +2 -2
  150. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  151. package/dist/collection/components/radio/radio.js +3 -3
  152. package/dist/collection/components/radio-group/radio-group.js +1 -1
  153. package/dist/collection/components/range/range.js +3 -3
  154. package/dist/collection/components/refresher/refresher.js +1 -1
  155. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  156. package/dist/collection/components/reorder/reorder.js +1 -1
  157. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  158. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  159. package/dist/collection/components/router-link/router-link.js +2 -2
  160. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  161. package/dist/collection/components/row/row.js +1 -1
  162. package/dist/collection/components/searchbar/searchbar.js +4 -4
  163. package/dist/collection/components/segment/segment.js +2 -2
  164. package/dist/collection/components/segment-button/segment-button.js +2 -2
  165. package/dist/collection/components/segment-content/segment-content.js +1 -1
  166. package/dist/collection/components/segment-view/segment-view.js +2 -2
  167. package/dist/collection/components/select/select.js +2 -2
  168. package/dist/collection/components/select-modal/select-modal.js +1 -1
  169. package/dist/collection/components/select-option/select-option.js +1 -1
  170. package/dist/collection/components/select-popover/select-popover.js +1 -1
  171. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  172. package/dist/collection/components/spinner/spinner.js +1 -1
  173. package/dist/collection/components/split-pane/split-pane.js +2 -2
  174. package/dist/collection/components/tab/tab.js +2 -2
  175. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  176. package/dist/collection/components/tab-button/tab-button.js +2 -2
  177. package/dist/collection/components/tabs/tabs.js +1 -1
  178. package/dist/collection/components/text/text.js +2 -2
  179. package/dist/collection/components/textarea/textarea.js +2 -2
  180. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  181. package/dist/collection/components/title/title.js +2 -2
  182. package/dist/collection/components/toast/toast.js +2 -2
  183. package/dist/collection/components/toggle/toggle.js +3 -3
  184. package/dist/collection/components/toolbar/toolbar.js +2 -2
  185. package/dist/docs.json +1 -1
  186. package/dist/esm/ion-app_8.entry.js +9 -9
  187. package/dist/esm/ion-avatar_3.entry.js +1 -1
  188. package/dist/esm/ion-col_3.entry.js +3 -3
  189. package/dist/esm/ion-datetime-button.entry.js +2 -2
  190. package/dist/esm/ion-datetime_3.entry.js +63 -87
  191. package/dist/esm/ion-fab_3.entry.js +6 -6
  192. package/dist/esm/ion-img.entry.js +1 -1
  193. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  194. package/dist/esm/ion-input-otp.entry.js +3 -3
  195. package/dist/esm/ion-input-password-toggle.entry.js +3 -3
  196. package/dist/esm/ion-input.entry.js +3 -3
  197. package/dist/esm/ion-item-option_3.entry.js +4 -4
  198. package/dist/esm/ion-item_8.entry.js +12 -12
  199. package/dist/esm/ion-loading.entry.js +2 -2
  200. package/dist/esm/ion-menu_3.entry.js +6 -6
  201. package/dist/esm/ion-modal.entry.js +4 -4
  202. package/dist/esm/ion-nav_2.entry.js +2 -2
  203. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  204. package/dist/esm/ion-picker-column.entry.js +3 -3
  205. package/dist/esm/ion-picker.entry.js +2 -2
  206. package/dist/esm/ion-popover.entry.js +2 -2
  207. package/dist/esm/ion-progress-bar.entry.js +1 -1
  208. package/dist/esm/ion-radio_2.entry.js +4 -4
  209. package/dist/esm/ion-range.entry.js +3 -3
  210. package/dist/esm/ion-refresher_2.entry.js +2 -2
  211. package/dist/esm/ion-reorder_2.entry.js +2 -2
  212. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  213. package/dist/esm/ion-route_4.entry.js +2 -2
  214. package/dist/esm/ion-searchbar.entry.js +4 -4
  215. package/dist/esm/ion-segment-content.entry.js +1 -1
  216. package/dist/esm/ion-segment-view.entry.js +2 -2
  217. package/dist/esm/ion-segment_2.entry.js +4 -4
  218. package/dist/esm/ion-select-modal.entry.js +1 -1
  219. package/dist/esm/ion-select_3.entry.js +4 -4
  220. package/dist/esm/ion-spinner.entry.js +1 -1
  221. package/dist/esm/ion-split-pane.entry.js +2 -2
  222. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  223. package/dist/esm/ion-tab_2.entry.js +3 -3
  224. package/dist/esm/ion-text.entry.js +2 -2
  225. package/dist/esm/ion-textarea.entry.js +2 -2
  226. package/dist/esm/ion-toast.entry.js +2 -2
  227. package/dist/esm/ion-toggle.entry.js +3 -3
  228. package/dist/ionic/ionic.esm.js +1 -1
  229. package/dist/ionic/{p-074839fc.entry.js → p-01e27965.entry.js} +1 -1
  230. package/dist/ionic/{p-ea509e3c.entry.js → p-0852af24.entry.js} +1 -1
  231. package/dist/ionic/p-0ca0fe9c.entry.js +4 -0
  232. package/dist/ionic/{p-72c38b88.entry.js → p-20f135b4.entry.js} +1 -1
  233. package/dist/ionic/{p-316c0420.entry.js → p-221a3d8c.entry.js} +1 -1
  234. package/dist/ionic/{p-3a6caca9.entry.js → p-2668188b.entry.js} +1 -1
  235. package/dist/ionic/{p-d3014190.entry.js → p-2bd1ea35.entry.js} +1 -1
  236. package/dist/ionic/p-2ccaee5c.entry.js +4 -0
  237. package/dist/ionic/{p-a127bee2.entry.js → p-30333874.entry.js} +1 -1
  238. package/dist/ionic/{p-1647c46c.entry.js → p-363d1209.entry.js} +1 -1
  239. package/dist/ionic/{p-a8ed848b.entry.js → p-3b0b7a05.entry.js} +1 -1
  240. package/dist/ionic/p-43c5249f.entry.js +4 -0
  241. package/dist/ionic/{p-0dfa5a37.entry.js → p-530fcd71.entry.js} +1 -1
  242. package/dist/ionic/{p-0bf76d0f.entry.js → p-59a5cdf5.entry.js} +1 -1
  243. package/dist/ionic/{p-40c261a3.entry.js → p-64841854.entry.js} +1 -1
  244. package/dist/ionic/{p-dbbe606a.entry.js → p-652318c3.entry.js} +1 -1
  245. package/dist/ionic/{p-675b1a31.entry.js → p-65db57d7.entry.js} +1 -1
  246. package/dist/ionic/{p-0abeb0fc.entry.js → p-67f46577.entry.js} +1 -1
  247. package/dist/ionic/{p-cc45bcbc.entry.js → p-69c6fe52.entry.js} +1 -1
  248. package/dist/ionic/{p-2a939845.entry.js → p-6f37536a.entry.js} +1 -1
  249. package/dist/ionic/{p-cebb0328.entry.js → p-75ebaa15.entry.js} +1 -1
  250. package/dist/ionic/p-7f98e710.entry.js +4 -0
  251. package/dist/ionic/{p-6d070558.entry.js → p-82d5bb3d.entry.js} +1 -1
  252. package/dist/ionic/{p-11518b31.entry.js → p-85ee4a92.entry.js} +1 -1
  253. package/dist/ionic/{p-31f7095f.entry.js → p-a4a9f5ae.entry.js} +1 -1
  254. package/dist/ionic/{p-c19f63d0.entry.js → p-b30c3430.entry.js} +1 -1
  255. package/dist/ionic/{p-86f53961.entry.js → p-b8551510.entry.js} +1 -1
  256. package/dist/ionic/{p-ac4eb91d.entry.js → p-bccc9207.entry.js} +1 -1
  257. package/dist/ionic/{p-d126e8d3.entry.js → p-bce86e56.entry.js} +1 -1
  258. package/dist/ionic/{p-639dd543.entry.js → p-c175d792.entry.js} +1 -1
  259. package/dist/ionic/{p-020af078.entry.js → p-cc2a9936.entry.js} +1 -1
  260. package/dist/ionic/p-ce8dad03.entry.js +4 -0
  261. package/dist/ionic/{p-6444c606.entry.js → p-d655735d.entry.js} +1 -1
  262. package/dist/ionic/{p-b57c6d3e.entry.js → p-dbc82f0e.entry.js} +1 -1
  263. package/dist/ionic/{p-6241ce47.entry.js → p-e036eb2f.entry.js} +1 -1
  264. package/dist/ionic/{p-9575b654.entry.js → p-e48f026f.entry.js} +1 -1
  265. package/dist/ionic/{p-7268efa5.entry.js → p-e64b550c.entry.js} +1 -1
  266. package/dist/ionic/{p-46d74291.entry.js → p-ee8ecd40.entry.js} +1 -1
  267. package/dist/ionic/{p-c85a2127.entry.js → p-f097a9e5.entry.js} +1 -1
  268. package/dist/ionic/{p-f8f22cc0.entry.js → p-fb0271ae.entry.js} +1 -1
  269. package/dist/ionic/{p-370e4237.entry.js → p-fbb00634.entry.js} +1 -1
  270. package/dist/ionic/{p-ec654c42.entry.js → p-fc14f34a.entry.js} +1 -1
  271. package/dist/types/components/datetime/datetime.d.ts +1 -11
  272. package/hydrate/index.js +187 -211
  273. package/hydrate/index.mjs +187 -211
  274. package/package.json +1 -1
  275. package/dist/ionic/p-4b658a7c.entry.js +0 -4
  276. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  277. package/dist/ionic/p-51a60e0f.entry.js +0 -4
  278. package/dist/ionic/p-576e0965.entry.js +0 -4
  279. package/dist/ionic/p-94de5cfa.entry.js +0 -4
package/hydrate/index.js CHANGED
@@ -13435,28 +13435,6 @@ class Datetime {
13435
13435
  destroyKeyboardMO();
13436
13436
  }
13437
13437
  };
13438
- /**
13439
- * TODO(FW-6931): Remove this fallback upon solving the root cause
13440
- * Fallback to ensure the datetime becomes ready even if
13441
- * IntersectionObserver never reports it as intersecting.
13442
- *
13443
- * This is primarily used in environments where the observer
13444
- * might not fire as expected, such as when running under
13445
- * synthetic tests that stub IntersectionObserver.
13446
- */
13447
- this.ensureReadyIfVisible = () => {
13448
- if (this.el.classList.contains('datetime-ready')) {
13449
- return;
13450
- }
13451
- const rect = this.el.getBoundingClientRect();
13452
- if (rect.width === 0 || rect.height === 0) {
13453
- return;
13454
- }
13455
- this.initializeListeners();
13456
- writeTask(() => {
13457
- this.el.classList.add('datetime-ready');
13458
- });
13459
- };
13460
13438
  this.processValue = (value) => {
13461
13439
  const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
13462
13440
  const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
@@ -13734,84 +13712,82 @@ class Datetime {
13734
13712
  this.clearFocusVisible();
13735
13713
  this.clearFocusVisible = undefined;
13736
13714
  }
13715
+ if (this.resizeObserver) {
13716
+ this.resizeObserver.disconnect();
13717
+ this.resizeObserver = undefined;
13718
+ }
13737
13719
  }
13738
13720
  initializeListeners() {
13739
13721
  this.initializeCalendarListener();
13740
13722
  this.initializeKeyboardListeners();
13741
13723
  }
13742
13724
  componentDidLoad() {
13743
- const { el, intersectionTrackerRef } = this;
13725
+ const { el } = this;
13744
13726
  /**
13745
13727
  * If a scrollable element is hidden using `display: none`,
13746
13728
  * it will not have a scroll height meaning we cannot scroll elements
13747
13729
  * into view. As a result, we will need to wait for the datetime to become
13748
13730
  * visible if used inside of a modal or a popover otherwise the scrollable
13749
13731
  * areas will not have the correct values snapped into place.
13750
- */
13751
- const visibleCallback = (entries) => {
13752
- const ev = entries[0];
13753
- if (!ev.isIntersecting) {
13754
- return;
13755
- }
13756
- this.initializeListeners();
13732
+ *
13733
+ * FW-6931: We use ResizeObserver to detect when the element transitions
13734
+ * between having dimensions (visible) and zero dimensions (hidden). This
13735
+ * is more reliable than IntersectionObserver for detecting visibility
13736
+ * changes, especially when the element is inside a modal or popover.
13737
+ */
13738
+ if (typeof ResizeObserver !== 'undefined') {
13739
+ this.resizeObserver = new ResizeObserver((entries) => {
13740
+ const entry = entries[0];
13741
+ const { width, height } = entry.contentRect;
13742
+ const isVisible = width > 0 && height > 0;
13743
+ const isReady = el.classList.contains('datetime-ready');
13744
+ if (isVisible && !isReady) {
13745
+ this.initializeListeners();
13746
+ /**
13747
+ * TODO FW-2793: Datetime needs a frame to ensure that it
13748
+ * can properly scroll contents into view. As a result
13749
+ * we hide the scrollable content until after that frame
13750
+ * so users do not see the content quickly shifting. The downside
13751
+ * is that the content will pop into view a frame after. Maybe there
13752
+ * is a better way to handle this?
13753
+ */
13754
+ writeTask(() => {
13755
+ el.classList.add('datetime-ready');
13756
+ });
13757
+ }
13758
+ else if (!isVisible && isReady) {
13759
+ /**
13760
+ * Clean up listeners when hidden so we can properly
13761
+ * reinitialize scroll positions on re-presentation.
13762
+ */
13763
+ this.destroyInteractionListeners();
13764
+ /**
13765
+ * Close month/year picker when hidden, otherwise
13766
+ * it will be open when re-presented with a 0-height
13767
+ * scroll area, showing the wrong month.
13768
+ */
13769
+ this.showMonthAndYear = false;
13770
+ writeTask(() => {
13771
+ el.classList.remove('datetime-ready');
13772
+ });
13773
+ }
13774
+ });
13757
13775
  /**
13758
- * TODO FW-2793: Datetime needs a frame to ensure that it
13759
- * can properly scroll contents into view. As a result
13760
- * we hide the scrollable content until after that frame
13761
- * so users do not see the content quickly shifting. The downside
13762
- * is that the content will pop into view a frame after. Maybe there
13763
- * is a better way to handle this?
13776
+ * Use raf to avoid a race condition between the component loading and
13777
+ * its display animation starting (such as when shown in a modal).
13764
13778
  */
13765
- writeTask(() => {
13766
- this.el.classList.add('datetime-ready');
13767
- });
13768
- };
13769
- const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
13770
- /**
13771
- * Use raf to avoid a race condition between the component loading and
13772
- * its display animation starting (such as when shown in a modal). This
13773
- * could cause the datetime to start at a visibility of 0, erroneously
13774
- * triggering the `hiddenIO` observer below.
13775
- */
13776
- raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
13777
- /**
13778
- * TODO(FW-6931): Remove this fallback upon solving the root cause
13779
- * Fallback: If IntersectionObserver never reports that the
13780
- * datetime is visible but the host clearly has layout, ensure
13781
- * we still initialize listeners and mark the component as ready.
13782
- *
13783
- * We schedule this after everything has had a chance to run.
13784
- */
13785
- setTimeout(() => {
13786
- this.ensureReadyIfVisible();
13787
- }, 100);
13788
- /**
13789
- * We need to clean up listeners when the datetime is hidden
13790
- * in a popover/modal so that we can properly scroll containers
13791
- * back into view if they are re-presented. When the datetime is hidden
13792
- * the scroll areas have scroll widths/heights of 0px, so any snapping
13793
- * we did originally has been lost.
13794
- */
13795
- const hiddenCallback = (entries) => {
13796
- const ev = entries[0];
13797
- if (ev.isIntersecting) {
13798
- return;
13799
- }
13800
- this.destroyInteractionListeners();
13779
+ raf(() => { var _a; return (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(el); });
13780
+ }
13781
+ else {
13801
13782
  /**
13802
- * When datetime is hidden, we need to make sure that
13803
- * the month/year picker is closed. Otherwise,
13804
- * it will be open when the datetime re-appears
13805
- * and the scroll area of the calendar grid will be 0.
13806
- * As a result, the wrong month will be shown.
13783
+ * Fallback for test environments where ResizeObserver is not available.
13784
+ * Just mark as ready without initializing scroll/keyboard listeners
13785
+ * since those also require browser APIs not available in Jest.
13807
13786
  */
13808
- this.showMonthAndYear = false;
13809
13787
  writeTask(() => {
13810
- this.el.classList.remove('datetime-ready');
13788
+ el.classList.add('datetime-ready');
13811
13789
  });
13812
- };
13813
- const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
13814
- raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
13790
+ }
13815
13791
  /**
13816
13792
  * Datetime uses Ionic components that emit
13817
13793
  * ionFocus and ionBlur. These events are
@@ -14540,7 +14516,7 @@ class Datetime {
14540
14516
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
14541
14517
  const hasWheelVariant = hasDatePresentation && preferWheel;
14542
14518
  renderHiddenInput(true, el, name, formatValue(value), disabled);
14543
- return (hAsync(Host, { key: 'efdbc0922670a841bc667ceac392cdc1dedffd01', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14519
+ return (hAsync(Host, { key: '187a5b5cf1413449a9db33f8c5b0fd3b7fded302', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14544
14520
  [mode]: true,
14545
14521
  ['datetime-readonly']: readonly,
14546
14522
  ['datetime-disabled']: disabled,
@@ -14550,7 +14526,7 @@ class Datetime {
14550
14526
  [`datetime-size-${size}`]: true,
14551
14527
  [`datetime-prefer-wheel`]: hasWheelVariant,
14552
14528
  [`datetime-grid`]: isGridStyle,
14553
- })) }, hAsync("div", { key: '3f8bb75fcb0baff55182ef3aa1b535eacc58d81f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
14529
+ })) }, this.renderDatetime(mode)));
14554
14530
  }
14555
14531
  get el() { return getElement(this); }
14556
14532
  static get watchers() { return {
@@ -14961,11 +14937,11 @@ class DatetimeButton {
14961
14937
  render() {
14962
14938
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
14963
14939
  const mode = getIonMode$1(this);
14964
- return (hAsync(Host, { key: '11d037e6ab061e5116842970760b04850b42f2c7', class: createColorClasses$1(color, {
14940
+ return (hAsync(Host, { key: '0cad13e702cd8f76b10364d44993495d1aac40fb', class: createColorClasses$1(color, {
14965
14941
  [mode]: true,
14966
14942
  [`${selectedButton}-active`]: datetimeActive,
14967
14943
  ['datetime-button-disabled']: disabled,
14968
- }) }, dateText && (hAsync("button", { key: '08ecb62da0fcbf7466a1f2403276712a3ff17fbc', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, hAsync("slot", { key: '1c04853d4d23c0f1a594602bde44511c98355644', name: "date-target" }, dateText), mode === 'md' && hAsync("ion-ripple-effect", { key: '5fc566cd4bc885bcf983ce99e3dc65d7f485bf9b' }))), timeText && (hAsync("button", { key: 'c9c5c34ac338badf8659da22bea5829d62c51169', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, hAsync("slot", { key: '147a9d2069dbf737f6fc64787823d6d5af5aa653', name: "time-target" }, timeText), mode === 'md' && hAsync("ion-ripple-effect", { key: '70a5e25b75ed90ac6bba003468435f67aa9d8f0a' })))));
14944
+ }) }, dateText && (hAsync("button", { key: '03ceb62c8dd7b4a97eca211d8ad73a4cfa8c2a1a', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, hAsync("slot", { key: '251c03d7dc30180caf5f2728818ab445b7b99b52', name: "date-target" }, dateText), mode === 'md' && hAsync("ion-ripple-effect", { key: 'ce5fa19ed565fd788c6096aa55d8102ac36a1307' }))), timeText && (hAsync("button", { key: '4833eb0e7b23f7c4faf03c998a58cc80cc714887', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, hAsync("slot", { key: '60966f907d725aea78af66dbb57f1d6f212a1ef5', name: "time-target" }, timeText), mode === 'md' && hAsync("ion-ripple-effect", { key: 'c26bd731e8991e2b2b7984a2bd859f36337a038b' })))));
14969
14945
  }
14970
14946
  get el() { return getElement(this); }
14971
14947
  static get style() { return {
@@ -15045,12 +15021,12 @@ class Fab {
15045
15021
  render() {
15046
15022
  const { horizontal, vertical, edge } = this;
15047
15023
  const mode = getIonMode$1(this);
15048
- return (hAsync(Host, { key: '8a310806d0e748d7ebb0ed3d9a2652038e0f2960', class: {
15024
+ return (hAsync(Host, { key: 'cb44cf6486b0a6439b99da87c065b0b52e2514f4', class: {
15049
15025
  [mode]: true,
15050
15026
  [`fab-horizontal-${horizontal}`]: horizontal !== undefined,
15051
15027
  [`fab-vertical-${vertical}`]: vertical !== undefined,
15052
15028
  'fab-edge': edge,
15053
- } }, hAsync("slot", { key: '9394ef6d6e5b0410fa6ba212171f687fb178ce2d' })));
15029
+ } }, hAsync("slot", { key: '1ed484c7ecb10cd81fbca9a4f5c4049bf82f9f8a' })));
15054
15030
  }
15055
15031
  get el() { return getElement(this); }
15056
15032
  static get watchers() { return {
@@ -15157,7 +15133,7 @@ class FabButton {
15157
15133
  rel: this.rel,
15158
15134
  target: this.target,
15159
15135
  };
15160
- return (hAsync(Host, { key: '4eee204d20b0e2ffed49a88f6cb3e04b6697965c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
15136
+ return (hAsync(Host, { key: 'eb347f7d6749c40637540d84778eb8d1b667a947', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
15161
15137
  [mode]: true,
15162
15138
  'fab-button-in-list': inList,
15163
15139
  'fab-button-translucent-in-list': inList && translucent,
@@ -15168,7 +15144,7 @@ class FabButton {
15168
15144
  'ion-activatable': true,
15169
15145
  'ion-focusable': true,
15170
15146
  [`fab-button-${size}`]: size !== undefined,
15171
- }) }, hAsync(TagType, Object.assign({ key: '914561622c0c6bd41453e828a7d8a39f924875ac' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), hAsync("ion-icon", { key: '2c8090742a64c62a79243667027a195cca9d5912', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), hAsync("span", { key: 'c3e55291e4c4d306d34a4b95dd2e727e87bdf39c', class: "button-inner" }, hAsync("slot", { key: 'f8e57f71d8f8878d9746cfece82f57f19ef9e988' })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'a5e94fa0bb9836072300617245ed0c1b4887bac6' }))));
15147
+ }) }, hAsync(TagType, Object.assign({ key: '83e853c8815f41543c848eb2e05ec2bb1716110a' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), hAsync("ion-icon", { key: '798deede94de658e4345acf7c2aafe2ab2567b0b', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), hAsync("span", { key: '99252fde6de1aca73fc240a6da7e29acac9acb18', class: "button-inner" }, hAsync("slot", { key: 'dc73e9b41bf1f0e385e5784f975dfb81e37c8dfb' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '8413e162f44a0350f54dff06cff7aad101de3549' }))));
15172
15148
  }
15173
15149
  get el() { return getElement(this); }
15174
15150
  static get style() { return {
@@ -15224,11 +15200,11 @@ class FabList {
15224
15200
  }
15225
15201
  render() {
15226
15202
  const mode = getIonMode$1(this);
15227
- return (hAsync(Host, { key: '64b33366447f66c7f979cfac56307fbb1a6fac1c', class: {
15203
+ return (hAsync(Host, { key: 'fa1d195b9950654ba0e984bf61d981c977d05275', class: {
15228
15204
  [mode]: true,
15229
15205
  'fab-list-active': this.activated,
15230
15206
  [`fab-list-side-${this.side}`]: true,
15231
- } }, hAsync("slot", { key: 'd9f474f7f20fd7e813db358fddc720534ca05bb6' })));
15207
+ } }, hAsync("slot", { key: '2ec738c66c05112e1e2521155d6adfc36d2fd1db' })));
15232
15208
  }
15233
15209
  get el() { return getElement(this); }
15234
15210
  static get watchers() { return {
@@ -15685,7 +15661,7 @@ class Footer {
15685
15661
  const mode = getIonMode$1(this);
15686
15662
  const tabs = this.el.closest('ion-tabs');
15687
15663
  const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
15688
- return (hAsync(Host, { key: 'ddc228f1a1e7fa4f707dccf74db2490ca3241137', role: "contentinfo", class: {
15664
+ return (hAsync(Host, { key: '5da19dc38ba73e1ddfd1bef3ebd485105d77c751', role: "contentinfo", class: {
15689
15665
  [mode]: true,
15690
15666
  // Used internally for styling
15691
15667
  [`footer-${mode}`]: true,
@@ -15693,7 +15669,7 @@ class Footer {
15693
15669
  [`footer-translucent-${mode}`]: translucent,
15694
15670
  ['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
15695
15671
  [`footer-collapse-${collapse}`]: collapse !== undefined,
15696
- } }, mode === 'ios' && translucent && hAsync("div", { key: 'e16ed4963ff94e06de77eb8038201820af73937c', class: "footer-background" }), hAsync("slot", { key: 'f186934febf85d37133d9351a96c1a64b0a4b203' })));
15672
+ } }, mode === 'ios' && translucent && hAsync("div", { key: 'fafad08090a33d8c4e8a5b63d61929dcb89aab47', class: "footer-background" }), hAsync("slot", { key: 'e0a443d346afa55e4317c0bc1263fdbe3c619559' })));
15697
15673
  }
15698
15674
  get el() { return getElement(this); }
15699
15675
  static get style() { return {
@@ -15726,10 +15702,10 @@ class Grid {
15726
15702
  }
15727
15703
  render() {
15728
15704
  const mode = getIonMode$1(this);
15729
- return (hAsync(Host, { key: '617127ecfabf9bf615bef1dda1be3fed5a065949', class: {
15705
+ return (hAsync(Host, { key: '930ce78b02f8360fbca08a35d364d2c09128c6c8', class: {
15730
15706
  [mode]: true,
15731
15707
  'grid-fixed': this.fixed,
15732
- } }, hAsync("slot", { key: 'c781fff853b093d8f44bdb7943bbc4f17c903803' })));
15708
+ } }, hAsync("slot", { key: 'c47bf7ef2197f5ebc42d3e2c55044276fb0db393' })));
15733
15709
  }
15734
15710
  static get style() { return gridCss; }
15735
15711
  static get cmpMeta() { return {
@@ -16122,14 +16098,14 @@ class Header {
16122
16098
  const isCondensed = collapse === 'condense';
16123
16099
  // banner role must be at top level, so remove role if inside a menu
16124
16100
  const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, mode);
16125
- return (hAsync(Host, Object.assign({ key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
16101
+ return (hAsync(Host, Object.assign({ key: '42fb0d8aa663bef7b1a21e026ea45e932b965794', role: roleType, class: {
16126
16102
  [mode]: true,
16127
16103
  // Used internally for styling
16128
16104
  [`header-${mode}`]: true,
16129
16105
  [`header-translucent`]: this.translucent,
16130
16106
  [`header-collapse-${collapse}`]: true,
16131
16107
  [`header-translucent-${mode}`]: this.translucent,
16132
- } }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), hAsync("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
16108
+ } }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { key: '31fac480feb43bf4adcc97529d88f1fa8034ce98', class: "header-background" }), hAsync("slot", { key: '8fb8d10312836c3de63ba3fccf9ec1a08ca5b9d1' })));
16133
16109
  }
16134
16110
  get el() { return getElement(this); }
16135
16111
  static get style() { return {
@@ -16455,7 +16431,7 @@ class Img {
16455
16431
  render() {
16456
16432
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
16457
16433
  const { draggable } = inheritedAttributes;
16458
- return (hAsync(Host, { key: 'da600442894427dee1974a28e545613afac69fca', class: getIonMode$1(this) }, hAsync("img", { key: '16df0c7069af86c0fa7ce5af598bc0f63b4eb71a', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
16434
+ return (hAsync(Host, { key: '14d24d65ec8e5522192ca58035264971b1ab883b', class: getIonMode$1(this) }, hAsync("img", { key: '345ba155a5fdce5e66c397a599b7333d37d9cb1d', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
16459
16435
  }
16460
16436
  get el() { return getElement(this); }
16461
16437
  static get watchers() { return {
@@ -16683,7 +16659,7 @@ class InfiniteScroll {
16683
16659
  render() {
16684
16660
  const mode = getIonMode$1(this);
16685
16661
  const disabled = this.disabled;
16686
- return (hAsync(Host, { key: 'e844956795f69be33396ce4480aa7a54ad01b28c', class: {
16662
+ return (hAsync(Host, { key: '1444429a86950c449953cbf578436cc8cabf40ec', class: {
16687
16663
  [mode]: true,
16688
16664
  'infinite-scroll-loading': this.isLoading,
16689
16665
  'infinite-scroll-enabled': !disabled,
@@ -16735,11 +16711,11 @@ class InfiniteScrollContent {
16735
16711
  }
16736
16712
  render() {
16737
16713
  const mode = getIonMode$1(this);
16738
- return (hAsync(Host, { key: '7c16060dcfe2a0b0fb3e2f8f4c449589a76f1baa', class: {
16714
+ return (hAsync(Host, { key: '060278bf9cb0321e182352f9613be4ebbb028259', class: {
16739
16715
  [mode]: true,
16740
16716
  // Used internally for styling
16741
16717
  [`infinite-scroll-content-${mode}`]: true,
16742
- } }, hAsync("div", { key: 'a94f4d8746e053dc718f97520bd7e48cb316443a', class: "infinite-loading" }, this.loadingSpinner && (hAsync("div", { key: '10143d5d2a50a2a2bc5de1cee8e7ab51263bcf23', class: "infinite-loading-spinner" }, hAsync("ion-spinner", { key: '8846e88191690d9c61a0b462889ed56fbfed8b0d', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
16718
+ } }, hAsync("div", { key: '07d3cada920145f979ad315bd187fb878e0c3da3', class: "infinite-loading" }, this.loadingSpinner && (hAsync("div", { key: '6254f175d7543d09f3dd47cd0589a2809182cd8c', class: "infinite-loading-spinner" }, hAsync("ion-spinner", { key: 'a6a816d1c65b60b786333b209b63492aa716a283', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
16743
16719
  }
16744
16720
  static get style() { return {
16745
16721
  ios: infiniteScrollContentIosCss,
@@ -17382,7 +17358,7 @@ class Input {
17382
17358
  * TODO(FW-5592): Remove hasStartEndSlots condition
17383
17359
  */
17384
17360
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
17385
- return (hAsync(Host, { key: '97b5308021064d9e7434ef2d3d96f27045c1b0c4', class: createColorClasses$1(this.color, {
17361
+ return (hAsync(Host, { key: '81b44a68138ec7a9f1d4a27549d0c32283dea50d', class: createColorClasses$1(this.color, {
17386
17362
  [mode]: true,
17387
17363
  'has-value': hasValue,
17388
17364
  'has-focus': hasFocus,
@@ -17393,14 +17369,14 @@ class Input {
17393
17369
  'in-item': inItem,
17394
17370
  'in-item-color': hostContext('ion-item.ion-color', this.el),
17395
17371
  'input-disabled': disabled,
17396
- }) }, hAsync("label", { key: '353f68726ce180299bd9adc81e5ff7d26a48f54f', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '2034b4bad04fc157f3298a1805819216b6f439d0', class: "native-wrapper", onClick: this.onLabelClick }, hAsync("slot", { key: '96bb5e30176b2bd76dfb75bfbf6c1c3d4403f4bb', name: "start" }), hAsync("input", Object.assign({ key: '1a1d75b0e414a95c89d5a760757c33548d234aca', 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 && (hAsync("button", { key: '95f3df17b7691d9a2e7dcd4a51f16a94aa3ca36f', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
17372
+ }) }, hAsync("label", { key: '049adad1bdcb64ee416e420b523e222cb9c0d3df', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '00414cbb2adcc565d52dd5ba3af0280df3ba2c9c', class: "native-wrapper", onClick: this.onLabelClick }, hAsync("slot", { key: 'a09366b057322372e48daeb5a70619e5603b6972', name: "start" }), hAsync("input", Object.assign({ key: '8bd259fca7c30885df0bef6fa37a3c6516b7533e', 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 && (hAsync("button", { key: '9655b387bf51a371877ab40879c9cdc953a8019f', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
17397
17373
  /**
17398
17374
  * This prevents mobile browsers from
17399
17375
  * blurring the input when the clear
17400
17376
  * button is activated.
17401
17377
  */
17402
17378
  ev.preventDefault();
17403
- }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '16b0af75eed50c8115fb5597f73b5fbf71c2530e', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: 'c48da0f8ddb3764ac43efa705bb4a6bb2d9cc2fd', name: "end" })), shouldRenderHighlight && hAsync("div", { key: 'f15238481fc20de56ca7ecb6e350b3c024cc755e', class: "input-highlight" })), this.renderBottomContent()));
17379
+ }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '834670e725e0140069eead8ff6c7a63d87f0aac0', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: 'e41136ffef6bd8f8fb4c8480bf6dfaa3b61dc286', name: "end" })), shouldRenderHighlight && hAsync("div", { key: '517a556a9748600af6c258c9f668e7b10a798427', class: "input-highlight" })), this.renderBottomContent()));
17404
17380
  }
17405
17381
  get el() { return getElement(this); }
17406
17382
  static get watchers() { return {
@@ -18071,7 +18047,7 @@ class InputOTP {
18071
18047
  const tabbableIndex = this.getTabbableIndex();
18072
18048
  const pattern = this.getPattern();
18073
18049
  const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
18074
- return (hAsync(Host, { key: 'f15a29fb17b681ef55885ca36d3d5f899cbaca83', class: createColorClasses$1(color, {
18050
+ return (hAsync(Host, { key: '76126aeef5a333d3ce86149d1ce21da6c7834898', class: createColorClasses$1(color, {
18075
18051
  [mode]: true,
18076
18052
  'has-focus': hasFocus,
18077
18053
  [`input-otp-size-${size}`]: true,
@@ -18079,10 +18055,10 @@ class InputOTP {
18079
18055
  [`input-otp-fill-${fill}`]: true,
18080
18056
  'input-otp-disabled': disabled,
18081
18057
  'input-otp-readonly': readonly,
18082
- }) }, hAsync("div", Object.assign({ key: 'd7e1d4edd8aafcf2ed4313301287282e90fc7e82', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper" }, hAsync("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: '3724a3159d02860971879a906092f9965f5a7c47', class: {
18058
+ }) }, hAsync("div", Object.assign({ key: 'e9aa792de40a0e49075e8881c6a11245807e1051', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper" }, hAsync("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: '262ead41c9401a2144e9d7b7bd85311e366d09b2', class: {
18083
18059
  'input-otp-description': true,
18084
18060
  'input-otp-description-hidden': !hasDescription,
18085
- } }, hAsync("slot", { key: '11baa2624926a08274508afe0833d9237a8dc35c' }))));
18061
+ } }, hAsync("slot", { key: '63a4b07ef5e3174cc75cdaed59305cdaebcfd1ad' }))));
18086
18062
  }
18087
18063
  get el() { return getElement(this); }
18088
18064
  static get watchers() { return {
@@ -18182,16 +18158,16 @@ class InputPasswordToggle {
18182
18158
  const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
18183
18159
  const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
18184
18160
  const isPasswordVisible = type === 'text';
18185
- return (hAsync(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses$1(color, {
18161
+ return (hAsync(Host, { key: '07e26969f77ad361e358efe33a3b3728d9669017', class: createColorClasses$1(color, {
18186
18162
  [mode]: true,
18187
- }) }, hAsync("ion-button", { key: 'f3e436422110c9cb4d5c0b83500255b24ab4cdef', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', role: "switch", type: "button", onPointerDown: (ev) => {
18163
+ }) }, hAsync("ion-button", { key: '9f21eaea5756844d37930d52d8d3013c9d476b9f', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', role: "switch", type: "button", onPointerDown: (ev) => {
18188
18164
  /**
18189
18165
  * This prevents mobile browsers from
18190
18166
  * blurring the input when the password toggle
18191
18167
  * button is activated.
18192
18168
  */
18193
18169
  ev.preventDefault();
18194
- }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '5c8b121153f148f92aa7cba0447673a4f6f3ad1e', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
18170
+ }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'd7b1f55b77b71bf2c147f3bde83de1e9083f70ba', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
18195
18171
  }
18196
18172
  get el() { return getElement(this); }
18197
18173
  static get watchers() { return {
@@ -18522,11 +18498,11 @@ class ItemDivider {
18522
18498
  }
18523
18499
  render() {
18524
18500
  const mode = getIonMode$1(this);
18525
- return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
18501
+ return (hAsync(Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: createColorClasses$1(this.color, {
18526
18502
  [mode]: true,
18527
18503
  'item-divider-sticky': this.sticky,
18528
18504
  item: true,
18529
- }) }, hAsync("slot", { key: '39105d888e115416c3a3fe588da44b4c61f4e5fe', name: "start" }), hAsync("div", { key: '67e16f1056bd39187f3629c1bb383b7abbda829b', class: "item-divider-inner" }, hAsync("div", { key: 'b3a218fdcc7b9aeab6e0155340152d39fa0b6329', class: "item-divider-wrapper" }, hAsync("slot", { key: '69d8587533b387869d34b075d02f61396858fc90' })), hAsync("slot", { key: 'b91c654699b3b26d0012ea0c719c4a07d1fcfbaa', name: "end" }))));
18505
+ }) }, hAsync("slot", { key: 'a1b7bbb1a008b0a56887f130d166931033801746', name: "start" }), hAsync("div", { key: '9d572da46ab616bdf881098e96aa6796a249507f', class: "item-divider-inner" }, hAsync("div", { key: 'a57a2c17093b74b9e4f8fd2778230a440b293aa1', class: "item-divider-wrapper" }, hAsync("slot", { key: 'ef15ebf58f3acd4b4d1b7c51144e26c3759dba49' })), hAsync("slot", { key: '1787c2400534301fe72b8ec213d0ce1e8f75b65a', name: "end" }))));
18530
18506
  }
18531
18507
  get el() { return getElement(this); }
18532
18508
  static get style() { return {
@@ -18556,7 +18532,7 @@ class ItemGroup {
18556
18532
  }
18557
18533
  render() {
18558
18534
  const mode = getIonMode$1(this);
18559
- return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
18535
+ return (hAsync(Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
18560
18536
  [mode]: true,
18561
18537
  // Used internally for styling
18562
18538
  [`item-group-${mode}`]: true,
@@ -18626,12 +18602,12 @@ class ItemOption {
18626
18602
  href: this.href,
18627
18603
  target: this.target,
18628
18604
  };
18629
- return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
18605
+ return (hAsync(Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
18630
18606
  [mode]: true,
18631
18607
  'item-option-disabled': disabled,
18632
18608
  'item-option-expandable': expandable,
18633
18609
  'ion-activatable': true,
18634
- }) }, hAsync(TagType, Object.assign({ key: '5a7140eb99da5ec82fe2ea3ea134513130763399' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: '9b8577e612706b43e575c9a20f2f9d35c0d1bcb1', class: "button-inner" }, hAsync("slot", { key: '9acb82f04e4822bfaa363cc2c4d29d5c0fec0ad6', name: "top" }), hAsync("div", { key: '66f5fb4fdd0c39f205574c602c793dcf109c7a17', class: "horizontal-wrapper" }, hAsync("slot", { key: '3761a32bca7c6c41b7eb394045497cfde181a62a', name: "start" }), hAsync("slot", { key: 'a96a568955cf6962883dc6771726d3d07462da00', name: "icon-only" }), hAsync("slot", { key: 'af5dfe5eb41456b9359bafe3615b576617ed7b57' }), hAsync("slot", { key: '00426958066ab7b949ff966fabad5cf8a0b54079', name: "end" })), hAsync("slot", { key: 'ae66c8bd536a9f27865f49240980d7b4b831b229', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '30df6c935ef8a3f28a6bc1f3bb162ca4f80aaf26' }))));
18610
+ }) }, hAsync(TagType, Object.assign({ key: '045052656ab652bec065d421950fe9ea00dc1141' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: '988b9166c0dda3c822a99ceace4c105339b2465b', class: "button-inner" }, hAsync("slot", { key: '8050b870ada6b09283f8acbcbb6d2bd1c76508b3', name: "top" }), hAsync("div", { key: 'a206e7b09e660c878ce3c5b61d018e8cdd89dc55', class: "horizontal-wrapper" }, hAsync("slot", { key: '394e5e4ce14cd19b5d5eafca29bb9f971f5f0741', name: "start" }), hAsync("slot", { key: 'dd4c3a1bee7622df40a3d8f2a298045b772f1600', name: "icon-only" }), hAsync("slot", { key: '318f3ec97b722c5e7df1a78b1e0439f919d0aacc' }), hAsync("slot", { key: 'fff6a9a602cf7bd698528982f91742a2d36ea245', name: "end" })), hAsync("slot", { key: '26b4bb155701d8080b486dbad7bb9a6d2e35182c', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '152b74643bf0f5725c39bfdbb940f0f32ec83d58' }))));
18635
18611
  }
18636
18612
  get el() { return getElement(this); }
18637
18613
  static get style() { return {
@@ -18680,7 +18656,7 @@ class ItemOptions {
18680
18656
  render() {
18681
18657
  const mode = getIonMode$1(this);
18682
18658
  const isEnd = isEndSide(this.side);
18683
- return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
18659
+ return (hAsync(Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
18684
18660
  [mode]: true,
18685
18661
  // Used internally for styling
18686
18662
  [`item-options-${mode}`]: true,
@@ -19145,7 +19121,7 @@ class ItemSliding {
19145
19121
  }
19146
19122
  render() {
19147
19123
  const mode = getIonMode$1(this);
19148
- return (hAsync(Host, { key: 'd812322c9fb5da4ee16e99dc38bfb24cb4590d03', class: {
19124
+ return (hAsync(Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
19149
19125
  [mode]: true,
19150
19126
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
19151
19127
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -19250,13 +19226,13 @@ class Label {
19250
19226
  render() {
19251
19227
  const position = this.position;
19252
19228
  const mode = getIonMode$1(this);
19253
- return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
19229
+ return (hAsync(Host, { key: '684ddfa719e34d743489ff05a0df067829257c73', class: createColorClasses$1(this.color, {
19254
19230
  [mode]: true,
19255
19231
  'in-item-color': hostContext('ion-item.ion-color', this.el),
19256
19232
  [`label-${position}`]: position !== undefined,
19257
19233
  [`label-no-animate`]: this.noAnimate,
19258
19234
  'label-rtl': document.dir === 'rtl',
19259
- }) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
19235
+ }) }, hAsync("slot", { key: '4aace3e2b36250e832c44f63bea21116d77220fb' })));
19260
19236
  }
19261
19237
  get el() { return getElement(this); }
19262
19238
  static get watchers() { return {
@@ -19312,7 +19288,7 @@ class List {
19312
19288
  render() {
19313
19289
  const mode = getIonMode$1(this);
19314
19290
  const { lines, inset } = this;
19315
- return (hAsync(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
19291
+ return (hAsync(Host, { key: '76580117b59d26e355e89f49b385fa8db05026a2', role: "list", class: {
19316
19292
  [mode]: true,
19317
19293
  // Used internally for styling
19318
19294
  [`list-${mode}`]: true,
@@ -19354,10 +19330,10 @@ class ListHeader {
19354
19330
  render() {
19355
19331
  const { lines } = this;
19356
19332
  const mode = getIonMode$1(this);
19357
- return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
19333
+ return (hAsync(Host, { key: '2e529021279761b2b2889885437f619b0e8f71c4', class: createColorClasses$1(this.color, {
19358
19334
  [mode]: true,
19359
19335
  [`list-header-lines-${lines}`]: lines !== undefined,
19360
- }) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
19336
+ }) }, hAsync("div", { key: '9a6a11b0db015df79374f6489a40b959bc80b3e4', class: "list-header-inner" }, hAsync("slot", { key: 'ef347fc6afb47850797e2e4d1aeefcd6a318f789' }))));
19361
19337
  }
19362
19338
  static get style() { return {
19363
19339
  ios: listHeaderIosCss,
@@ -19642,9 +19618,9 @@ class Loading {
19642
19618
  * Otherwise, don't set aria-labelledby.
19643
19619
  */
19644
19620
  const ariaLabelledBy = message !== undefined ? msgId : null;
19645
- return (hAsync(Host, Object.assign({ key: '4497183ce220242abe19ae15f328f9a92ccafbbc', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19621
+ return (hAsync(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19646
19622
  zIndex: `${40000 + this.overlayIndex}`,
19647
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '231dec84e424a2dc358ce95b84d6035cf43e4dea', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'c9af29b6e6bb49a217396a5c874bbfb8835a926c', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'a8659863743cdeccbe1ba810eaabfd3ebfcb86f3', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '3b346f39bc71691bd8686556a1e142198a7b12fa', class: "loading-spinner" }, hAsync("ion-spinner", { key: '8dc2bf1556e5138e262827f1516c59ecd09f3520', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '054164c0dbae9a0e0973dd3c8e28f5b771820310', tabindex: "0", "aria-hidden": "true" })));
19623
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, hAsync("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
19648
19624
  }
19649
19625
  get el() { return getElement(this); }
19650
19626
  static get watchers() { return {
@@ -20693,14 +20669,14 @@ class Menu {
20693
20669
  * the ionBackButton listener in the menu controller
20694
20670
  * will handle closing the menu when Escape is pressed.
20695
20671
  */
20696
- return (hAsync(Host, { key: '70a427f3414a476414c3386efe6c8723fd37eccf', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20672
+ return (hAsync(Host, { key: '29ef73894e2795e4ce23e59888ffb87faf4dd543', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20697
20673
  [mode]: true,
20698
20674
  [`menu-type-${type}`]: true,
20699
20675
  'menu-enabled': !disabled,
20700
20676
  [`menu-side-${side}`]: true,
20701
20677
  'menu-pane-visible': isPaneVisible,
20702
20678
  'split-pane-side': hostContext('ion-split-pane', el),
20703
- } }, hAsync("div", { key: '83af04e5a47d5a92caafaf06088a7114ae61984b', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '7b35048642864bd0f30de9f6b61c949c1b601692' })), hAsync("ion-backdrop", { key: '347af516c7970d80dd11c6d1ed61e9a040ceb5fb', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
20679
+ } }, hAsync("div", { key: '22e44f7bd602ee0c96550f0dfc22ac81c0033ad6', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '7bbef92fe03bb3ce4d3981eb8535aab449aab2fc' })), hAsync("ion-backdrop", { key: '9ab8d5b61563e16b212c71c03869d4fc23a0400b', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
20704
20680
  }
20705
20681
  get el() { return getElement(this); }
20706
20682
  static get watchers() { return {
@@ -20808,7 +20784,7 @@ class MenuButton {
20808
20784
  type: this.type,
20809
20785
  };
20810
20786
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
20811
- return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20787
+ return (hAsync(Host, { key: 'dcade732e366f0687d92cb9ce4065b78b0b41d24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20812
20788
  [mode]: true,
20813
20789
  button: true, // ion-buttons target .button
20814
20790
  'menu-button-hidden': hidden,
@@ -20817,7 +20793,7 @@ class MenuButton {
20817
20793
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
20818
20794
  'ion-activatable': true,
20819
20795
  'ion-focusable': true,
20820
- }) }, hAsync("button", Object.assign({ key: 'ffebf7083d23501839970059ef8e411b571de197' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: 'cab0c1c763b3ce33ef11dba1d230f66126e59424', class: "button-inner" }, hAsync("slot", { key: 'ccfd2be8479b75b5c63e97e1ca7dfe203e9b36ee' }, hAsync("ion-icon", { key: 'ac254fe7f327b08f1ae3fcea89d5cf0e83c9a96c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: 'f0f17c4ca96e3eed3c1727ee00578d40af8f0115', type: "unbounded" }))));
20796
+ }) }, hAsync("button", Object.assign({ key: '7c4a449e239679376f38471d95fd602f9caec5f6' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: '8bb5bf453280a66109198c970b678ad800c7a8cf', class: "button-inner" }, hAsync("slot", { key: '7f78b1e7a0695f2bd600d13ca81f50dd8b965726' }, hAsync("ion-icon", { key: '9f67f5bb06b1f03a6e5df9ecbe23ebf69fb40756', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: '10be7145c614144e94c3cc0b92dc5ee4e1587fe6', type: "unbounded" }))));
20821
20797
  }
20822
20798
  get el() { return getElement(this); }
20823
20799
  static get style() { return {
@@ -20870,10 +20846,10 @@ class MenuToggle {
20870
20846
  render() {
20871
20847
  const mode = getIonMode$1(this);
20872
20848
  const hidden = this.autoHide && !this.visible;
20873
- return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20849
+ return (hAsync(Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20874
20850
  [mode]: true,
20875
20851
  'menu-toggle-hidden': hidden,
20876
- } }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
20852
+ } }, hAsync("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
20877
20853
  }
20878
20854
  static get style() { return menuToggleCss; }
20879
20855
  static get cmpMeta() { return {
@@ -23710,20 +23686,20 @@ class Modal {
23710
23686
  const isCardModal = presentingElement !== undefined && mode === 'ios';
23711
23687
  const isHandleCycle = handleBehavior === 'cycle';
23712
23688
  const isSheetModalWithHandle = isSheetModal && showHandle;
23713
- return (hAsync(Host, Object.assign({ key: '9a75095a13de0cfc96f1fa69fd92777d25da8daa', "no-router": true,
23689
+ return (hAsync(Host, Object.assign({ key: '09af3299b0bd1daa5004fceed6d4246ebae57088', "no-router": true,
23714
23690
  // Allow the modal to be navigable when the handle is focusable
23715
23691
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
23716
23692
  zIndex: `${20000 + this.overlayIndex}`,
23717
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: 'd02612d8063ef20f59f173ff47795f71cdaaf63e', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '708761b70a93e34c08faae079569f444c7416a4c', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'a72226ff1a98229f9bfd9207b98fc57e02baa430',
23693
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '472105fd981d02b596d109a396a2ee26cb03df07', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '7312e6a55141c2cc8f7e12f9a3172fcb8b0a4fdf', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '5f603333d4f4f73da0b0e93a3ea2ffdcccec079d',
23718
23694
  /*
23719
23695
  role and aria-modal must be used on the
23720
23696
  same element. They must also be set inside the
23721
23697
  shadow DOM otherwise ion-button will not be highlighted
23722
23698
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
23723
23699
  */
23724
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '0547f32323882660221385d84d492929caa77c6b', class: "modal-handle",
23700
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'c99e0e874713c3bf97a896c52658a04c7dc37826', class: "modal-handle",
23725
23701
  // Prevents the handle from receiving keyboard focus when it does not cycle
23726
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: 'fccbd64518b6fa22f9e874deb6b4ba55d8d89c3b', onSlotchange: this.onSlotChange }))));
23702
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '0afbfc8723876be1c70c815e51a711258a454e53', onSlotchange: this.onSlotChange }))));
23727
23703
  }
23728
23704
  get el() { return getElement(this); }
23729
23705
  static get watchers() { return {
@@ -24671,7 +24647,7 @@ class Nav {
24671
24647
  }
24672
24648
  }
24673
24649
  render() {
24674
- return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
24650
+ return hAsync("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
24675
24651
  }
24676
24652
  get el() { return getElement(this); }
24677
24653
  static get watchers() { return {
@@ -24744,7 +24720,7 @@ class NavLink {
24744
24720
  };
24745
24721
  }
24746
24722
  render() {
24747
- return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
24723
+ return hAsync(Host, { key: 'd4d80feb51c0d92b0bedf6952c892f9df3002046', onClick: this.onClick });
24748
24724
  }
24749
24725
  get el() { return getElement(this); }
24750
24726
  static get cmpMeta() { return {
@@ -24775,9 +24751,9 @@ class Note {
24775
24751
  }
24776
24752
  render() {
24777
24753
  const mode = getIonMode$1(this);
24778
- return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
24754
+ return (hAsync(Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: createColorClasses$1(this.color, {
24779
24755
  [mode]: true,
24780
- }) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
24756
+ }) }, hAsync("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
24781
24757
  }
24782
24758
  static get style() { return {
24783
24759
  ios: noteIosCss,
@@ -25249,7 +25225,7 @@ let Picker$1 = class Picker {
25249
25225
  this.emitInputModeChange();
25250
25226
  }
25251
25227
  render() {
25252
- return (hAsync(Host, { key: '28f81e4ed44a633178561757c5199c2c98f94b74', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, hAsync("input", { key: 'abb3d1ad25ef63856af7804111175a4d50008bc0', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
25228
+ return (hAsync(Host, { key: '2546ff9e4f6bb9f880600903cdfad67be2df014d', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, hAsync("input", { key: '58337ea0f6e3aba819fc48bad7dc0847251f72f1', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
25253
25229
  var _a;
25254
25230
  /**
25255
25231
  * The "Enter" key represents
@@ -25264,7 +25240,7 @@ let Picker$1 = class Picker {
25264
25240
  if (ev.key === 'Enter') {
25265
25241
  (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
25266
25242
  }
25267
- }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), hAsync("div", { key: '334a5abdc02e6b127c57177f626d7e4ff5526183', class: "picker-before" }), hAsync("div", { key: 'ffd6271931129e88fc7c820e919d684899e420c5', class: "picker-after" }), hAsync("div", { key: '78d1d95fd09e04f154ea59f24a1cece72c47ed7b', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), hAsync("slot", { key: '0bd5b9f875d3c71f6cbbde2054baeb1b0a2e8cd5' })));
25243
+ }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), hAsync("div", { key: '395fa256c886725de0c562d05c9da8ac8defbede', class: "picker-before" }), hAsync("div", { key: '3471738349700fe3e9c7425a455132e2fd6e3224', class: "picker-after" }), hAsync("div", { key: '37557bd2cfb57db4b3b98a2063f5b733c40debb8', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), hAsync("slot", { key: '2d133fb7e178f95d02dd362a503c86abd3bb8e8d' })));
25268
25244
  }
25269
25245
  get el() { return getElement(this); }
25270
25246
  static get style() { return {
@@ -25537,11 +25513,11 @@ class Picker {
25537
25513
  render() {
25538
25514
  const { htmlAttributes } = this;
25539
25515
  const mode = getIonMode$1(this);
25540
- return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25516
+ return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25541
25517
  zIndex: `${20000 + this.overlayIndex}`,
25542
25518
  }, class: Object.assign({ [mode]: true,
25543
25519
  // Used internally for styling
25544
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '169d1c83ef40e7fcb134219a585298b403a70b0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '98518e5f5cea2dfb8dfa63d9545e9ae3a5765023', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '151755ab8eb23f9adafbfe201349398f5a69dee7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '5dcf93b2f4fe8f4fce7c7aec8f85ef45a03ef470', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: 'fd5d66708edd38adc5a4d2fad7298969398a05e3', class: "picker-columns" }, hAsync("div", { key: '1b5830fd6cef1016af7736792c514965d6cb38a8', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'c6edeca7afd69e13c9c66ba36f261974fd0f8f78', class: "picker-below-highlight" }))), hAsync("div", { key: 'e2a4b24710e30579b14b82dbfd3761b2187797b5', tabindex: "0", "aria-hidden": "true" })));
25520
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, hAsync("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), hAsync("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
25545
25521
  }
25546
25522
  get el() { return getElement(this); }
25547
25523
  static get watchers() { return {
@@ -26139,14 +26115,14 @@ class PickerColumn {
26139
26115
  render() {
26140
26116
  const { color, disabled, isActive, numericInput } = this;
26141
26117
  const mode = getIonMode$1(this);
26142
- return (hAsync(Host, { key: 'db903fd415f8a2d91994dececca481c1af8ba6a9', class: createColorClasses$1(color, {
26118
+ return (hAsync(Host, { key: 'fc7176e47e8d8776060197343b4c15c09f312528', class: createColorClasses$1(color, {
26143
26119
  [mode]: true,
26144
26120
  ['picker-column-active']: isActive,
26145
26121
  ['picker-column-numeric-input']: numericInput,
26146
26122
  ['picker-column-disabled']: disabled,
26147
- }) }, hAsync("slot", { key: '02ce9e1dd7df91afcd50b06416552bcffb5dec98', name: "prefix" }), hAsync("div", { key: '6dfd7d2429bec19244a6b1afb4448121963a031b', class: "picker-opts", ref: (el) => {
26123
+ }) }, hAsync("slot", { key: 'fce09abdcc48afa64fd5f869b1614f9e564b6759', name: "prefix" }), hAsync("div", { key: 'fbadc7cfa4965238a1ce5d47cb3bb258fa0214a1', class: "picker-opts", ref: (el) => {
26148
26124
  this.scrollEl = el;
26149
- }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, hAsync("div", { key: 'e30ce0b9cefbfe4d4441fa33acf595da31855c3f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '8be2bd293c12c6ba720d9b31d0d561a96f42e97d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '8afdcddddabbf646fbb55cb0ba4448309a2c1dd9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: '6aa0dacc34d6848575ad5b122b9046982308ca43' }), hAsync("div", { key: '92ec8a357414c1b779b11d1dd18fb87a7ee63982', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'b89457cb74b5907c25594ff6720ac54ca537e933', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '5bbc92e6bc24de08e39873bf08c5b668373ac0f8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: 'd7bf2b519214f0f3576a4ca79844ad97827dd97f', name: "suffix" })));
26125
+ }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, hAsync("div", { key: '9f1ba897db0a0469a77cf12f846cc80fea94f596', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '8265d65d90c512e70c20ca9023502610c0b9fc62', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'fd0e92a13eeea72f68f43e25ce47b357e5fc431f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: '63cf74b36e665540c6e2dc038e5581d9e7016983' }), hAsync("div", { key: '48550abba1a52a57b195d7815265e19b3941e5db', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '06a739f9bbf18f4f45d613f88a6d803bda60afd1', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '416effc018a21e72b5a197abc9cc49d05efcda7c', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: '28fdc95c318b0c76a609e12a9b4e17238ba15f8e', name: "suffix" })));
26150
26126
  }
26151
26127
  get el() { return getElement(this); }
26152
26128
  static get watchers() { return {
@@ -26510,9 +26486,9 @@ class PickerColumnCmp {
26510
26486
  render() {
26511
26487
  const col = this.col;
26512
26488
  const mode = getIonMode$1(this);
26513
- return (hAsync(Host, { key: 'ed32d108dd94f0302fb453c31a3497ebae65ec37', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
26489
+ return (hAsync(Host, { key: '86125e95f18837dfd021db01777d72a1562d8ee3', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
26514
26490
  'max-width': this.col.columnWidth,
26515
- } }, col.prefix && (hAsync("div", { key: '9f0634890e66fd4ae74f826d1eea3431de121393', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '337e996e5be91af16446085fe22436f213b771eb', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: 'd69a132599d78d9e5107f12228978cfce4e43098', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
26491
+ } }, col.prefix && (hAsync("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
26516
26492
  }
26517
26493
  get el() { return getElement(this); }
26518
26494
  static get watchers() { return {
@@ -26629,10 +26605,10 @@ class PickerColumnOption {
26629
26605
  render() {
26630
26606
  const { color, disabled, ariaLabel } = this;
26631
26607
  const mode = getIonMode$1(this);
26632
- return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
26608
+ return (hAsync(Host, { key: 'c45a1c14a351bf57d7113671164852349be5aa8a', class: createColorClasses$1(color, {
26633
26609
  [mode]: true,
26634
26610
  ['option-disabled']: disabled,
26635
- }) }, hAsync("div", { key: 'd942de84fd14d7dc06b1e5cf4f7920d1dc3c6371', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: 'b0df5717b42209e649097209a01476e1a66f5c5c' }))));
26611
+ }) }, hAsync("div", { key: '824930b658c6e3fb493ac4c6c2451d38c6bc4829', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '019df4dcf46e629bdbebcd46ed3ab29669feab27' }))));
26636
26612
  }
26637
26613
  get el() { return getElement(this); }
26638
26614
  static get watchers() { return {
@@ -28073,9 +28049,9 @@ class Popover {
28073
28049
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
28074
28050
  const desktop = isPlatform('desktop');
28075
28051
  const enableArrow = arrow && !parentPopover;
28076
- return (hAsync(Host, Object.assign({ key: '42863f748c93f709d433931d969230137b37d42d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
28052
+ return (hAsync(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
28077
28053
  zIndex: `${20000 + this.overlayIndex}`,
28078
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '22b6d82178b52158b76ab3fd9a7dd738fd6e4bbf', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'b76335c64e992a964ed3fb91d17a992c3474b4cd', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '018c846c32e7ff7fa010528e6b37a17e5f03c84c', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '350c468c80052da3a07768bceab98fe159c35a43', class: "popover-content", part: "content" }, hAsync("slot", { key: '686443c17ac9873d33905c1cdb67e6d6da675282' })))));
28054
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, hAsync("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
28079
28055
  }
28080
28056
  get el() { return getElement(this); }
28081
28057
  static get watchers() { return {
@@ -28180,7 +28156,7 @@ class ProgressBar {
28180
28156
  const mode = getIonMode$1(this);
28181
28157
  // If the progress is displayed as a solid bar.
28182
28158
  const progressSolid = buffer === 1;
28183
- return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
28159
+ return (hAsync(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
28184
28160
  [mode]: true,
28185
28161
  [`progress-bar-${type}`]: true,
28186
28162
  'progress-paused': paused,
@@ -28365,7 +28341,7 @@ class Radio {
28365
28341
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
28366
28342
  const mode = getIonMode$1(this);
28367
28343
  const inItem = hostContext('ion-item', el);
28368
- return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
28344
+ return (hAsync(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
28369
28345
  [mode]: true,
28370
28346
  'in-item': inItem,
28371
28347
  'radio-checked': checked,
@@ -28376,10 +28352,10 @@ class Radio {
28376
28352
  // Focus and active styling should not apply when the radio is in an item
28377
28353
  'ion-activatable': !inItem,
28378
28354
  'ion-focusable': !inItem,
28379
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '418a0a48366ff900e97da123abf665bbbda87fb7', class: "radio-wrapper" }, hAsync("div", { key: '6e5acdd8c8f5d0ad26632a65396afef8094153d1', class: {
28355
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, hAsync("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
28380
28356
  'label-text-wrapper': true,
28381
28357
  'label-text-wrapper-hidden': !hasLabel,
28382
- }, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
28358
+ }, part: "label" }, hAsync("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), hAsync("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
28383
28359
  }
28384
28360
  get el() { return getElement(this); }
28385
28361
  static get watchers() { return {
@@ -28618,7 +28594,7 @@ class RadioGroup {
28618
28594
  const { label, labelId, el, name, value } = this;
28619
28595
  const mode = getIonMode$1(this);
28620
28596
  renderHiddenInput(true, el, name, value, false);
28621
- return (hAsync(Host, { key: 'db593b3ed511e9395e3c7bfd91b787328692cd6d', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, class: mode }, this.renderHintText(), hAsync("div", { key: '85045b45a0100a45f3b9a35d1c5a25ec63d525c4', class: "radio-group-wrapper" }, hAsync("slot", { key: '53dacb87ce62398e78771fb2efaf839ab922d946' }))));
28597
+ return (hAsync(Host, { key: '9434938f48ea6c7405009704c05b4f01bb1e1293', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, class: mode }, this.renderHintText(), hAsync("div", { key: 'ee6796dedb5dc3abaf5129e906145dfcfa90dc99', class: "radio-group-wrapper" }, hAsync("slot", { key: 'e6a44dd32ee0e193fe73244286258b37f1aaa09b' }))));
28622
28598
  }
28623
28599
  get el() { return getElement(this); }
28624
28600
  static get watchers() { return {
@@ -29378,7 +29354,7 @@ class Range {
29378
29354
  const needsEndAdjustment = inItem && !hasEndContent;
29379
29355
  const mode = getIonMode$1(this);
29380
29356
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
29381
- return (hAsync(Host, { key: 'ef7b01f80515bcaeb2983934ad7f10a6bd5d13ec', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
29357
+ return (hAsync(Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
29382
29358
  [mode]: true,
29383
29359
  'in-item': inItem,
29384
29360
  'range-disabled': disabled,
@@ -29387,10 +29363,10 @@ class Range {
29387
29363
  [`range-label-placement-${labelPlacement}`]: true,
29388
29364
  'range-item-start-adjustment': needsStartAdjustment,
29389
29365
  'range-item-end-adjustment': needsEndAdjustment,
29390
- }) }, hAsync("label", { key: 'fd8aa90a9d52be9da024b907e68858dae424449d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '2172b4f329c22017dd23475c80aac25ba6e753eb', class: {
29366
+ }) }, hAsync("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
29391
29367
  'label-text-wrapper': true,
29392
29368
  'label-text-wrapper-hidden': !hasLabel,
29393
- }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '3c318bf2ea0576646d4c010bf44573fd0f483186', class: "native-wrapper" }, hAsync("slot", { key: '6586fd6fc96271e73f8a86c202d1913ad1a26f96', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '74ac0bc2d2cb66ef708bb729f88b6ecbc1b2155d', name: "end" })))));
29369
+ }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '3c275d822b29a8008e044722e8b6bdabd3ecfad7', class: "native-wrapper" }, hAsync("slot", { key: '03c849d0aa708914984ad57ca292bc5fc66ecad5', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '10ca7b8152cac00b45d8fa98ad91410f59fd176a', name: "end" })))));
29394
29370
  }
29395
29371
  get el() { return getElement(this); }
29396
29372
  static get watchers() { return {
@@ -30357,7 +30333,7 @@ class Refresher {
30357
30333
  }
30358
30334
  render() {
30359
30335
  const mode = getIonMode$1(this);
30360
- return (hAsync(Host, { key: '2d1bd880877b698604542ab2d602d38b9504d975', slot: "fixed", class: {
30336
+ return (hAsync(Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
30361
30337
  [mode]: true,
30362
30338
  // Used internally for styling
30363
30339
  [`refresher-${mode}`]: true,
@@ -30581,7 +30557,7 @@ class RefresherContent {
30581
30557
  const pullingIcon = this.pullingIcon;
30582
30558
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
30583
30559
  const mode = getIonMode$1(this);
30584
- return (hAsync(Host, { key: 'e235f8a9a84070ece2e2066ced234a64663bfa1d', class: mode }, hAsync("div", { key: '9121691818ddaa35801a5f442e144ac27686cf19', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: 'c8d65d740f1575041bd3b752c789077927397fe4', class: "refresher-pulling-icon" }, hAsync("div", { key: '309dd904977eaa788b09ea95b7fa4996a73bec5b', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: 'a2a1480f67775d56ca7822e76be1e9f983bca2f9', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: '811d7e06d324bf4b6a18a31427a43e5177f3ae3a', class: "arrow-container" }, hAsync("ion-icon", { key: '86cc48e2e8dc054ff6ff1299094da35b524be63d', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '464ae097dbc95c18a2dd7dfd03f8489153dab719', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'ed6875978b9035add562caa743a68353743d978f', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'aff891924e44354543fec484e5cde1ca92e69904', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '842d7ac4ff10a1058775493d62f31cbdcd34f7a0', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '8c3e6195501e7e78d5cde1e3ad1fef90fd4a953f', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
30560
+ return (hAsync(Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, hAsync("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, hAsync("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, hAsync("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
30585
30561
  }
30586
30562
  get el() { return getElement(this); }
30587
30563
  static get cmpMeta() { return {
@@ -30622,7 +30598,7 @@ class Reorder {
30622
30598
  render() {
30623
30599
  const mode = getIonMode$1(this);
30624
30600
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
30625
- return (hAsync(Host, { key: 'e6807bb349725682e99e791ac65e729a360d64e8', class: mode }, hAsync("slot", { key: '1c691cdbffa6427ba08dc12184c69559ed5d5506' }, hAsync("ion-icon", { key: '8b4150302cdca475379582b2251737b5e74079b1', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
30601
+ return (hAsync(Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, hAsync("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, hAsync("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
30626
30602
  }
30627
30603
  get el() { return getElement(this); }
30628
30604
  static get style() { return {
@@ -30893,7 +30869,7 @@ class ReorderGroup {
30893
30869
  }
30894
30870
  render() {
30895
30871
  const mode = getIonMode$1(this);
30896
- return (hAsync(Host, { key: 'b9641f3061d67fbfe68317b901ec33267046e073', class: {
30872
+ return (hAsync(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
30897
30873
  [mode]: true,
30898
30874
  'reorder-enabled': !this.disabled,
30899
30875
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -31009,7 +30985,7 @@ class RippleEffect {
31009
30985
  }
31010
30986
  render() {
31011
30987
  const mode = getIonMode$1(this);
31012
- return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
30988
+ return (hAsync(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
31013
30989
  [mode]: true,
31014
30990
  unbounded: this.unbounded,
31015
30991
  } }));
@@ -31968,10 +31944,10 @@ class RouterLink {
31968
31944
  rel: this.rel,
31969
31945
  target: this.target,
31970
31946
  };
31971
- return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
31947
+ return (hAsync(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses$1(this.color, {
31972
31948
  [mode]: true,
31973
31949
  'ion-activatable': true,
31974
- }) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
31950
+ }) }, hAsync("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), hAsync("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
31975
31951
  }
31976
31952
  static get style() { return routerLinkCss; }
31977
31953
  static get cmpMeta() { return {
@@ -32168,7 +32144,7 @@ class RouterOutlet {
32168
32144
  return true;
32169
32145
  }
32170
32146
  render() {
32171
- return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
32147
+ return hAsync("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
32172
32148
  }
32173
32149
  get el() { return getElement(this); }
32174
32150
  static get watchers() { return {
@@ -32201,7 +32177,7 @@ class Row {
32201
32177
  registerInstance(this, hostRef);
32202
32178
  }
32203
32179
  render() {
32204
- return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
32180
+ return (hAsync(Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
32205
32181
  }
32206
32182
  static get style() { return rowCss; }
32207
32183
  static get cmpMeta() { return {
@@ -32642,8 +32618,8 @@ class Searchbar {
32642
32618
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
32643
32619
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
32644
32620
  const shouldShowCancelButton = this.shouldShowCancelButton();
32645
- const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '19e18775856db87daeb4b9e3d7bca0461915a0df', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: 'b3bbdcc033f3bd3441d619e4a252cef0dad4d07e', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
32646
- return (hAsync(Host, { key: '074aa60e051bfb3225e87d44bbb6346c59c73574', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
32621
+ const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: 'bf574336a561a5bf66c771fb606a9b19adbecb68', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '747ad4368bda5044198259d5bc8f7be9e472e5af', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
32622
+ return (hAsync(Host, { key: 'bcc5b33a2859903ba11bfc5c611c6a2aaa71d06b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
32647
32623
  [mode]: true,
32648
32624
  'searchbar-animated': animated,
32649
32625
  'searchbar-disabled': this.disabled,
@@ -32653,14 +32629,14 @@ class Searchbar {
32653
32629
  'searchbar-has-focus': this.focused,
32654
32630
  'searchbar-should-show-clear': this.shouldShowClearButton(),
32655
32631
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
32656
- }) }, hAsync("div", { key: '54f58a79fe36e85d9295157303f1be89c98bbdaf', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: 'f991a37fcf54d26b7ad10d89084764e03d97b9de', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: '8b44dd90a3292c5cf872ef16a8520675f5673494', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '79d9cfed8f01268044f82811a35d323a12dca749', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
32632
+ }) }, hAsync("div", { key: 'ac0dbf5ddd9c4eb6d714f45c62c44ba3d0bf034d', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '4b9fdac1b0d5a7a68bf61a6beb00f166434d3e84', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: '32a889c48b3960560a3873061b4ac5a8a5ce532f', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '71222df691ef0b95008e619f755224d069ee9388', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
32657
32633
  /**
32658
32634
  * This prevents mobile browsers from
32659
32635
  * blurring the input when the clear
32660
32636
  * button is activated.
32661
32637
  */
32662
32638
  ev.preventDefault();
32663
- }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: 'aa3b9fa8a61f853236783ac7bcd0b113ea65ece2', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
32639
+ }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: 'f1c8c0bd8fbb655085875731d3ece387dbe2967e', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
32664
32640
  }
32665
32641
  get el() { return getElement(this); }
32666
32642
  static get watchers() { return {
@@ -33255,14 +33231,14 @@ class Segment {
33255
33231
  }
33256
33232
  render() {
33257
33233
  const mode = getIonMode$1(this);
33258
- return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
33234
+ return (hAsync(Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
33259
33235
  [mode]: true,
33260
33236
  'in-toolbar': hostContext('ion-toolbar', this.el),
33261
33237
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
33262
33238
  'segment-activated': this.activated,
33263
33239
  'segment-disabled': this.disabled,
33264
33240
  'segment-scrollable': this.scrollable,
33265
- }) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
33241
+ }) }, hAsync("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
33266
33242
  }
33267
33243
  get el() { return getElement(this); }
33268
33244
  static get watchers() { return {
@@ -33402,7 +33378,7 @@ class SegmentButton {
33402
33378
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
33403
33379
  const mode = getIonMode$1(this);
33404
33380
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
33405
- return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
33381
+ return (hAsync(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
33406
33382
  [mode]: true,
33407
33383
  'in-toolbar': hostContext('ion-toolbar', this.el),
33408
33384
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -33418,7 +33394,7 @@ class SegmentButton {
33418
33394
  'ion-activatable': true,
33419
33395
  'ion-activatable-instant': true,
33420
33396
  'ion-focusable': true,
33421
- } }, hAsync("button", Object.assign({ key: '75add37f11c107d1e2cfdb154e08004e9579e863', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '8e720d2a3e304903685bf09d226a64e944d78a22', class: "button-inner" }, hAsync("slot", { key: 'c8e7b3ebf8f03042a1001155643b585283c73c65' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '3586ac317b8d82c92b0ccfbfae42f8778612321b' })), hAsync("div", { key: '9cf93957da9e8dc333c8b05327bb903385b1c5f4', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'd3b6f0b3860ec6896b46703f64ed1cc8c75612e3', part: "indicator-background", class: "segment-button-indicator-background" }))));
33397
+ } }, hAsync("button", Object.assign({ key: '0a6fea3a374074af19f7ece0ba3a7cf1e269ab6d', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '991018a38c59a6f3d76b2e952e5569c874d2c13e', class: "button-inner" }, hAsync("slot", { key: '23c547c80108025027b913c7fcbec189286627a3' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '7faa9d06ab6aa7346d16b0b6808979759a79650c' })), hAsync("div", { key: '0d61badf2c227dc38e20185b2b2bb590a5efa434', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'a84035752b78491c344179d1e61d109fb4bd1cf1', part: "indicator-background", class: "segment-button-indicator-background" }))));
33422
33398
  }
33423
33399
  get el() { return getElement(this); }
33424
33400
  static get watchers() { return {
@@ -33453,7 +33429,7 @@ class SegmentContent {
33453
33429
  registerInstance(this, hostRef);
33454
33430
  }
33455
33431
  render() {
33456
- return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
33432
+ return (hAsync(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, hAsync("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
33457
33433
  }
33458
33434
  static get style() { return segmentContentCss; }
33459
33435
  static get cmpMeta() { return {
@@ -33568,10 +33544,10 @@ class SegmentView {
33568
33544
  }
33569
33545
  render() {
33570
33546
  const { disabled, isManualScroll } = this;
33571
- return (hAsync(Host, { key: 'e180b67bb3143a5f4611fb358c037be6fc782a8f', class: {
33547
+ return (hAsync(Host, { key: '1c9bfce83967a93d63c225031a5cd688509d8fc8', class: {
33572
33548
  'segment-view-disabled': disabled,
33573
33549
  'segment-view-scroll-disabled': isManualScroll === false,
33574
- } }, hAsync("slot", { key: '41c11d6a7406a10f5c64a2e73abfc072afd8fc73' })));
33550
+ } }, hAsync("slot", { key: '19fee034e76fffbdb5f622cb514037c00f9d55d5' })));
33575
33551
  }
33576
33552
  get el() { return getElement(this); }
33577
33553
  static get style() { return {
@@ -34338,7 +34314,7 @@ class Select {
34338
34314
  * TODO(FW-5592): Remove hasStartEndSlots condition
34339
34315
  */
34340
34316
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
34341
- return (hAsync(Host, { key: 'd8026835993d0e6dce747098f741a06ae4e4f54d', onClick: this.onClick, class: createColorClasses$1(this.color, {
34317
+ return (hAsync(Host, { key: '9f0a833ebc3df27a42146b07bcbb181c05f5e5c4', onClick: this.onClick, class: createColorClasses$1(this.color, {
34342
34318
  [mode]: true,
34343
34319
  'in-item': inItem,
34344
34320
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -34356,7 +34332,7 @@ class Select {
34356
34332
  [`select-justify-${justify}`]: justifyEnabled,
34357
34333
  [`select-shape-${shape}`]: shape !== undefined,
34358
34334
  [`select-label-placement-${labelPlacement}`]: true,
34359
- }) }, hAsync("label", { key: 'fcfb40209d6d07d49c7fdca4884b31abf6ac2567', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'f191664f2290c3890bde1156157c83a6ff17dbe2', class: "select-wrapper-inner" }, hAsync("slot", { key: '317a28d1115b4214f291e228ce0fe6fc782e57d5', name: "start" }), hAsync("div", { key: 'db68e18abd5ca3a1023d7c7b58bf89893ae18073', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '4274e042267c2234a198b0f65c89477898d08130', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '2e2eb1ee2b2791e0683d9afb186fde6e938ca59c', class: "select-highlight" })), this.renderBottomContent()));
34335
+ }) }, hAsync("label", { key: '4b32396d8557c0d1cba13440a11e66b8eb7b13a9', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'd226cc8e30cd5202c235476cfa1632fc40bc609f', class: "select-wrapper-inner" }, hAsync("slot", { key: 'df813ff3b7de518c70ea4fedd25bcb965607026d', name: "start" }), hAsync("div", { key: '4a4e9348a136c598b7b08f80ecdcca268afec2d5', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: 'f168d8b42a1e193ad27d09e5f1553b231f0332e5', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'ec3deede22dd403cb16a08f532ae4809cf86a3e7', class: "select-highlight" })), this.renderBottomContent()));
34360
34336
  }
34361
34337
  get el() { return getElement(this); }
34362
34338
  static get watchers() { return {
@@ -34517,7 +34493,7 @@ class SelectModal {
34517
34493
  } }, option.text))));
34518
34494
  }
34519
34495
  render() {
34520
- return (hAsync(Host, { key: 'b6c0dec240b2e41985b15fdf4e5a6d3a145c1567', class: getIonMode$1(this) }, hAsync("ion-header", { key: 'cd177e85ee0f62a60a3a708342d6ab6eb19a44dc' }, hAsync("ion-toolbar", { key: 'aee8222a5a4daa540ad202b2e4cac1ef93d9558c' }, this.header !== undefined && hAsync("ion-title", { key: '5f8fecc764d97bf840d3d4cfddeeccd118ab4436' }, this.header), hAsync("ion-buttons", { key: '919033950d7c2b0101f96a9c9698219de9f568ea', slot: "end" }, hAsync("ion-button", { key: '34b571cab6dced4bde555a077a21e91800829931', onClick: () => this.closeModal() }, "Close")))), hAsync("ion-content", { key: '3c9153d26ba7a5a03d3b20fcd628d0c3031661a7' }, hAsync("ion-list", { key: 'e00b222c071bc97c82ad1bba4db95a8a5c43ed6d' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
34496
+ return (hAsync(Host, { key: '5bffdb106e6f628dae2e2aeb9ee8008b5c547b3a', class: getIonMode$1(this) }, hAsync("ion-header", { key: '4de1c33b0504372f8a0a26123e4e086080ee1ecb' }, hAsync("ion-toolbar", { key: '5d55a67d1db4352c260e9e0457d5dac6110b6598' }, this.header !== undefined && hAsync("ion-title", { key: '4f07fe8a9af8c9bd0852af2a9b95517d16356e50' }, this.header), hAsync("ion-buttons", { key: 'ca676a34f7cd3dd6b465b0d803434c2e2c8536c5', slot: "end" }, hAsync("ion-button", { key: '801ed63a357c7c9d354668851db65e5c1b0e1abe', onClick: () => this.closeModal() }, "Close")))), hAsync("ion-content", { key: 'f3c239ec9d84b8ed7413ea9db6efa18e29aca285' }, hAsync("ion-list", { key: '40c157e9abe477171a39ae7e6e1cd4ed08735cb4' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
34521
34497
  }
34522
34498
  get el() { return getElement(this); }
34523
34499
  static get style() { return {
@@ -34551,7 +34527,7 @@ class SelectOption {
34551
34527
  this.disabled = false;
34552
34528
  }
34553
34529
  render() {
34554
- return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
34530
+ return hAsync(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode$1(this) });
34555
34531
  }
34556
34532
  get el() { return getElement(this); }
34557
34533
  static get style() { return selectOptionCss; }
@@ -34668,7 +34644,7 @@ class SelectPopover {
34668
34644
  render() {
34669
34645
  const { header, message, options, subHeader } = this;
34670
34646
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
34671
- return (hAsync(Host, { key: 'ab931b49b59283825bd2afa3f7f995b0e6e05bef', class: getIonMode$1(this) }, hAsync("ion-list", { key: '3bd12b67832607596b912a73d5b3ae9b954b244d' }, header !== undefined && hAsync("ion-list-header", { key: '97da930246edf7423a039c030d40e3ff7a5148a3' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'c579df6ea8fac07bb0c59d34c69b149656863224' }, hAsync("ion-label", { key: 'af699c5f465710ccb13b8cf8e7be66f0e8acfad1', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'df9a936d42064b134e843c7229f314a2a3ec7e80' }, subHeader), message !== undefined && hAsync("p", { key: '9c3ddad378df00f106afa94e9928cf68c17124dd' }, message)))), this.renderOptions(options))));
34647
+ return (hAsync(Host, { key: '0c9845a40d3fc392b0a7d64e2a6ed27d94bb7634', class: getIonMode$1(this) }, hAsync("ion-list", { key: '84a30f6661b0f8c00e6fa199658ed2adbcf27358' }, header !== undefined && hAsync("ion-list-header", { key: '13f5f56bbfbc06751fa516291a2da72629b60ece' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: '3d39d18e720e798bbde334e79e6832091c7dfb81' }, hAsync("ion-label", { key: 'd3051b0d140120b44bf5e79572f6f287e7cfb03a', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'b16805956f3316f8ec703c123b76f717488e8637' }, subHeader), message !== undefined && hAsync("p", { key: '2215ac4ab4146a14e75a79192e319a8016286b5f' }, message)))), this.renderOptions(options))));
34672
34648
  }
34673
34649
  get el() { return getElement(this); }
34674
34650
  static get style() { return {
@@ -34718,11 +34694,11 @@ class SkeletonText {
34718
34694
  const animated = this.animated && config.getBoolean('animated', true);
34719
34695
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
34720
34696
  const mode = getIonMode$1(this);
34721
- return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
34697
+ return (hAsync(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
34722
34698
  [mode]: true,
34723
34699
  'skeleton-text-animated': animated,
34724
34700
  'in-media': inMedia,
34725
- } }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
34701
+ } }, hAsync("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
34726
34702
  }
34727
34703
  get el() { return getElement(this); }
34728
34704
  static get style() { return skeletonTextCss; }
@@ -34774,7 +34750,7 @@ class Spinner {
34774
34750
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
34775
34751
  }
34776
34752
  }
34777
- return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
34753
+ return (hAsync(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses$1(self.color, {
34778
34754
  [mode]: true,
34779
34755
  [`spinner-${spinnerName}`]: true,
34780
34756
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -34873,12 +34849,12 @@ class SplitPane {
34873
34849
  }
34874
34850
  render() {
34875
34851
  const mode = getIonMode$1(this);
34876
- return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
34852
+ return (hAsync(Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
34877
34853
  [mode]: true,
34878
34854
  // Used internally for styling
34879
34855
  [`split-pane-${mode}`]: true,
34880
34856
  'split-pane-visible': this.visible,
34881
- } }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
34857
+ } }, hAsync("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
34882
34858
  }
34883
34859
  get el() { return getElement(this); }
34884
34860
  static get watchers() { return {
@@ -34944,10 +34920,10 @@ class Tab {
34944
34920
  }
34945
34921
  render() {
34946
34922
  const { tab, active, component } = this;
34947
- return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34923
+ return (hAsync(Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34948
34924
  'ion-page': component === undefined,
34949
34925
  'tab-hidden': !active,
34950
- } }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
34926
+ } }, hAsync("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
34951
34927
  }
34952
34928
  get el() { return getElement(this); }
34953
34929
  static get watchers() { return {
@@ -35039,11 +35015,11 @@ class TabBar {
35039
35015
  const { color, translucent, keyboardVisible } = this;
35040
35016
  const mode = getIonMode$1(this);
35041
35017
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
35042
- return (hAsync(Host, { key: '388ec37ce308035bab78d6c9a016bb616e9517a9', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
35018
+ return (hAsync(Host, { key: '47ddafd51bb665679dfdef0588df97ec63dce5ca', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
35043
35019
  [mode]: true,
35044
35020
  'tab-bar-translucent': translucent,
35045
35021
  'tab-bar-hidden': shouldHide,
35046
- }) }, hAsync("slot", { key: 'ce10ade2b86725e24f3254516483eeedd8ecb16a' })));
35022
+ }) }, hAsync("slot", { key: 'a4fc2dc72518023db6b7d17fb689e2841e833252' })));
35047
35023
  }
35048
35024
  get el() { return getElement(this); }
35049
35025
  static get watchers() { return {
@@ -35139,7 +35115,7 @@ class TabButton {
35139
35115
  rel,
35140
35116
  target,
35141
35117
  };
35142
- return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
35118
+ return (hAsync(Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
35143
35119
  [mode]: true,
35144
35120
  'tab-selected': selected,
35145
35121
  'tab-disabled': disabled,
@@ -35151,7 +35127,7 @@ class TabButton {
35151
35127
  'ion-activatable': true,
35152
35128
  'ion-selectable': true,
35153
35129
  'ion-focusable': true,
35154
- } }, hAsync("a", Object.assign({ key: '01cb0ed2e77c5c1a8abd48da1bb07ac1b305d0b6' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: 'd0240c05f42217cfb186b86ff8a0c9cd70b9c8df', class: "button-inner" }, hAsync("slot", { key: '0a20b84925037dbaa8bb4a495b813d3f7c2e58ac' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '4c92c27178cdac89d69cffef8d2c39c3644914e8', type: "unbounded" }))));
35130
+ } }, hAsync("a", Object.assign({ key: 'c053d32fbcdad8d5e4a409956b47164d7a080c6b' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: 'b3b460d33ec978a46b069442280d31b23bc8e794', class: "button-inner" }, hAsync("slot", { key: '87b3928475c941263261101b8fae27c6370d4671' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '6532e5b4546aebe4becaebe1c93ce0e6aedaffe7', type: "unbounded" }))));
35155
35131
  }
35156
35132
  get el() { return getElement(this); }
35157
35133
  static get style() { return {
@@ -35342,7 +35318,7 @@ class Tabs {
35342
35318
  return Array.from(this.el.querySelectorAll('ion-tab'));
35343
35319
  }
35344
35320
  render() {
35345
- return (hAsync(Host, { key: '7b4b302f2942d8d131f6fc24e817989a8be08867', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '2c51cf14c0f17a8ddf2d879858c984cdf8fd3147', name: "top" }), hAsync("div", { key: '7e9d6055092d41bd9bc80ae15965f77e216feb84', class: "tabs-inner" }, hAsync("slot", { key: 'c308a787e37ff7f6653531d70deca597a7602d26' })), hAsync("slot", { key: 'd5f5e693710c853570811602f859cf3e88272684', name: "bottom" })));
35321
+ return (hAsync(Host, { key: 'c7131135b31aa312dc0207602561e1c0f4ac3e53', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '6c46e91c0389bbcea1f15f35cf3ea513a74ac545', name: "top" }), hAsync("div", { key: '4f1b649d8bb60b61402b97359de204979c5eda52', class: "tabs-inner" }, hAsync("slot", { key: '8d1ef4952be4fb33567376e1083ea4da697fcae0' })), hAsync("slot", { key: '260b8da8031494e9cb4635b3d22c49a433042db1', name: "bottom" })));
35346
35322
  }
35347
35323
  get el() { return getElement(this); }
35348
35324
  static get style() { return tabsCss; }
@@ -35382,9 +35358,9 @@ class Text {
35382
35358
  }
35383
35359
  render() {
35384
35360
  const mode = getIonMode$1(this);
35385
- return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
35361
+ return (hAsync(Host, { key: 'bfaa49d35f43b8036725ae8a322c716fc6e43bdf', class: createColorClasses$1(this.color, {
35386
35362
  [mode]: true,
35387
- }) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
35363
+ }) }, hAsync("slot", { key: 'c04880cd1935b42cbe60f58fd523b4d8a96072dc' })));
35388
35364
  }
35389
35365
  static get style() { return textCss; }
35390
35366
  static get cmpMeta() { return {
@@ -35845,7 +35821,7 @@ class Textarea {
35845
35821
  * TODO(FW-5592): Remove hasStartEndSlots condition
35846
35822
  */
35847
35823
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
35848
- return (hAsync(Host, { key: 'a70a62d7aae3831a50acd74f60b930925ada1326', class: createColorClasses$1(this.color, {
35824
+ return (hAsync(Host, { key: '2c9de566803dd007cee3639ddd04accb68663b32', class: createColorClasses$1(this.color, {
35849
35825
  [mode]: true,
35850
35826
  'has-value': hasValue,
35851
35827
  'has-focus': hasFocus,
@@ -35854,7 +35830,7 @@ class Textarea {
35854
35830
  [`textarea-shape-${shape}`]: shape !== undefined,
35855
35831
  [`textarea-label-placement-${labelPlacement}`]: true,
35856
35832
  'textarea-disabled': disabled,
35857
- }) }, hAsync("label", { key: '8a2dd59a60f7469df84018eb0ede3a9ec3862703', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '1bfc368236e3da7a225a45118c27fbfc1fe5fa46', class: "textarea-wrapper-inner" }, hAsync("div", { key: '215cbb2635ff52e31a8973376989b85e7245d40f', class: "start-slot-wrapper" }, hAsync("slot", { key: '9f6b461cdee9d629deb695d2bea054ece2f32305', name: "start" })), hAsync("div", { key: 'c1af35a2d5bc452bebe0b22a26d15ff52b4e9fc8', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: '69a69b3cf0932baafbe37e6e846f1a571608d3f2', 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)), hAsync("div", { key: 'c053ea8b865d0e29763aed2e4939cc9c9e374c15', class: "end-slot-wrapper" }, hAsync("slot", { key: '930aa641833b0df54b9ea10368fc2f46d5f491f6', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: '8d12597d15f5f429d80e8272ea99e64ed924e482', class: "textarea-highlight" })), this.renderBottomContent()));
35833
+ }) }, hAsync("label", { key: 'a0602b57fae26f148729b19c296de31b4923ad44', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '4ff96c999ba015c6c94be888da76d2dbd33020d7', class: "textarea-wrapper-inner" }, hAsync("div", { key: '8827db21d38d6c0bc2949f183b976eca692210be', class: "start-slot-wrapper" }, hAsync("slot", { key: 'e90b69e2b427a51f9a6ec201053e55b914ef5b9d', name: "start" })), hAsync("div", { key: '22de2b64734d6a677939ff372df9de13b58923e6', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: '0e125c47ae292bea21484824746dbee922e728b0', 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)), hAsync("div", { key: '52d8f9048596cd598a99b74e3d0b322890d8513d', class: "end-slot-wrapper" }, hAsync("slot", { key: 'd9c8a7c33c47533dfe2eb8b12006c7f38d3cd11b', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: 'aaf672b846a35f0aeb0b3ec172dc808eb871eb5a', class: "textarea-highlight" })), this.renderBottomContent()));
35858
35834
  }
35859
35835
  get el() { return getElement(this); }
35860
35836
  static get watchers() { return {
@@ -35917,7 +35893,7 @@ class Thumbnail {
35917
35893
  registerInstance(this, hostRef);
35918
35894
  }
35919
35895
  render() {
35920
- return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
35896
+ return (hAsync(Host, { key: 'b250e01664238f1dca8f9757b15bc3d5d9387ffa', class: getIonMode$1(this) }, hAsync("slot", { key: '72cb568bccabc983c5186a7596ef6c6d4ebf5ad9' })));
35921
35897
  }
35922
35898
  static get style() { return thumbnailCss; }
35923
35899
  static get cmpMeta() { return {
@@ -36775,9 +36751,9 @@ class Toast {
36775
36751
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
36776
36752
  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);
36777
36753
  }
36778
- return (hAsync(Host, Object.assign({ key: 'd1ecd90c87700aad4685e230cdd430aa286b8791', tabindex: "-1" }, this.htmlAttributes, { style: {
36754
+ return (hAsync(Host, Object.assign({ key: '4a303f9ebb69614e9dca677d9d80a4a275de0d85', tabindex: "-1" }, this.htmlAttributes, { style: {
36779
36755
  zIndex: `${60000 + this.overlayIndex}`,
36780
- }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '4bfc863417324de69e222054d5cf9c452038b41e', class: wrapperClass }, hAsync("div", { key: '3417940afec0392e81b7d54c7cb00f3ab6c30d47', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '6bf878fbc85c01e1e5faa9d97d46255a6511a952', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '54b500348a9c37660c3aff37436d9188e4374947', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
36756
+ }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '4f58fcbba8dce9834eab743fc91715935216f3d0', class: wrapperClass }, hAsync("div", { key: 'bbc7b73b186432bd4be8247c5de2ce3b2551fb0a', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '0b953478eb739ceb864373416183bfbf5ce2f9f1', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '7a63497d1c0440256218426194851a969b042ca6', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
36781
36757
  }
36782
36758
  get el() { return getElement(this); }
36783
36759
  static get watchers() { return {
@@ -37089,7 +37065,7 @@ class Toggle {
37089
37065
  const value = this.getValue();
37090
37066
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
37091
37067
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
37092
- return (hAsync(Host, { key: 'f569148edd89ee041a4719ffc4733c16b05229bd', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses$1(color, {
37068
+ return (hAsync(Host, { key: '736e1dcfca34fd41f6f0632652e7f86d6996a232', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses$1(color, {
37093
37069
  [mode]: true,
37094
37070
  'in-item': hostContext('ion-item', el),
37095
37071
  'toggle-activated': activated,
@@ -37099,10 +37075,10 @@ class Toggle {
37099
37075
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
37100
37076
  [`toggle-label-placement-${labelPlacement}`]: true,
37101
37077
  [`toggle-${rtl}`]: true,
37102
- }) }, hAsync("label", { key: '3027f2ac4be6de422a14486d847fbee77f615db1', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '4b0304c9e879e432b80184b4e5de37d55c11b436', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), hAsync("div", { key: '8ef265ec942e7f01ff31cbb202ed146c6bf94e02', class: {
37078
+ }) }, hAsync("label", { key: 'e697739fd3964c1c6c23331cf7e38a9841c46a6a', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '3d500b8c1bc879591249d183c1abb3f5f26aff6b', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), hAsync("div", { key: 'e38f3fe0e66b4ca434fd81514f5ef771c2960841', class: {
37103
37079
  'label-text-wrapper': true,
37104
37080
  'label-text-wrapper-hidden': !hasLabel,
37105
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '7b162b7dd27199cca2a4c995276a18b9f8e44aaf' }), this.renderHintText()), hAsync("div", { key: 'd13c34bd42fca01cc73ddb4ea7e471b33a282a3e', class: "native-wrapper" }, this.renderToggleControl()))));
37081
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '006dd3558264d69ab020c07005b348adc4ecdd5b' }), this.renderHintText()), hAsync("div", { key: 'dd4e52de31caabee41ec1bc58efecd1e213368c9', class: "native-wrapper" }, this.renderToggleControl()))));
37106
37082
  }
37107
37083
  get el() { return getElement(this); }
37108
37084
  static get watchers() { return {
@@ -37212,10 +37188,10 @@ class Toolbar {
37212
37188
  this.childrenStyles.forEach((value) => {
37213
37189
  Object.assign(childStyles, value);
37214
37190
  });
37215
- return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
37191
+ return (hAsync(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
37216
37192
  [mode]: true,
37217
37193
  'in-toolbar': hostContext('ion-toolbar', this.el),
37218
- })) }, hAsync("div", { key: '9c81742ffa02de9ba7417025b077d05e67305074', class: "toolbar-background", part: "background" }), hAsync("div", { key: '5fc96d166fa47894a062e41541a9beee38078a36', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'b62c0d9d59a70176bdbf769aec6090d7a166853b', name: "start" }), hAsync("slot", { key: 'd01d3cc2c50e5aaa49c345b209fe8dbdf3d48131', name: "secondary" }), hAsync("div", { key: '3aaa3a2810aedd38c37eb616158ec7b9638528fc', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '357246690f8d5e1cc3ca369611d4845a79edf610' })), hAsync("slot", { key: '06ed3cca4f7ebff4a54cd877dad3cc925ccf9f75', name: "primary" }), hAsync("slot", { key: 'e453d43d14a26b0d72f41e1b81a554bab8ece811', name: "end" }))));
37194
+ })) }, hAsync("div", { key: '67f5bba9c4f527c3f35bfe1313a2b85741f9b246', class: "toolbar-background", part: "background" }), hAsync("div", { key: '085e8c68f056e5b0deb9d1606431fbeb45dae8e5', class: "toolbar-container", part: "container" }, hAsync("slot", { key: '15227c79c3baf883fd8c43fdb7e1313453933c79', name: "start" }), hAsync("slot", { key: '0b8a7f7e685aa31c80d9bc03446ccc3a9d07e0e8', name: "secondary" }), hAsync("div", { key: '57e4628c1fa89df79dd80456259db961bb691404', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '82c2f6e1acf8d96db259bd8baf295881801edbd5' })), hAsync("slot", { key: 'b2d4afb15214199f206c0a5e08b581e4c9c2f58a', name: "primary" }), hAsync("slot", { key: 'bfb909a0c472f8834046c2ea23bef2f562167ad3', name: "end" }))));
37219
37195
  }
37220
37196
  get el() { return getElement(this); }
37221
37197
  static get style() { return {
@@ -37261,11 +37237,11 @@ class ToolbarTitle {
37261
37237
  render() {
37262
37238
  const mode = getIonMode$1(this);
37263
37239
  const size = this.getSize();
37264
- return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
37240
+ return (hAsync(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses$1(this.color, {
37265
37241
  [mode]: true,
37266
37242
  [`title-${size}`]: true,
37267
37243
  'title-rtl': document.dir === 'rtl',
37268
- }) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
37244
+ }) }, hAsync("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, hAsync("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
37269
37245
  }
37270
37246
  get el() { return getElement(this); }
37271
37247
  static get watchers() { return {