@ionic/core 8.7.13-dev.11765560568.1a8772e8 → 8.7.13-dev.11765829391.14bc580c

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 +85 -86
  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 +89 -90
  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 +85 -86
  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 +89 -90
  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-cc2a9936.entry.js → p-020af078.entry.js} +1 -1
  230. package/dist/ionic/{p-01e27965.entry.js → p-074839fc.entry.js} +1 -1
  231. package/dist/ionic/{p-67f46577.entry.js → p-0abeb0fc.entry.js} +1 -1
  232. package/dist/ionic/{p-59a5cdf5.entry.js → p-0bf76d0f.entry.js} +1 -1
  233. package/dist/ionic/{p-530fcd71.entry.js → p-0dfa5a37.entry.js} +1 -1
  234. package/dist/ionic/{p-85ee4a92.entry.js → p-11518b31.entry.js} +1 -1
  235. package/dist/ionic/{p-363d1209.entry.js → p-1647c46c.entry.js} +1 -1
  236. package/dist/ionic/{p-6f37536a.entry.js → p-2a939845.entry.js} +1 -1
  237. package/dist/ionic/{p-221a3d8c.entry.js → p-316c0420.entry.js} +1 -1
  238. package/dist/ionic/{p-a4a9f5ae.entry.js → p-31f7095f.entry.js} +1 -1
  239. package/dist/ionic/{p-fbb00634.entry.js → p-370e4237.entry.js} +1 -1
  240. package/dist/ionic/{p-2668188b.entry.js → p-3a6caca9.entry.js} +1 -1
  241. package/dist/ionic/{p-64841854.entry.js → p-40c261a3.entry.js} +1 -1
  242. package/dist/ionic/{p-ee8ecd40.entry.js → p-46d74291.entry.js} +1 -1
  243. package/dist/ionic/p-4b658a7c.entry.js +4 -0
  244. package/dist/ionic/p-4e41ea20.entry.js +4 -0
  245. package/dist/ionic/p-51a60e0f.entry.js +4 -0
  246. package/dist/ionic/p-576e0965.entry.js +4 -0
  247. package/dist/ionic/{p-e036eb2f.entry.js → p-6241ce47.entry.js} +1 -1
  248. package/dist/ionic/{p-c175d792.entry.js → p-639dd543.entry.js} +1 -1
  249. package/dist/ionic/{p-d655735d.entry.js → p-6444c606.entry.js} +1 -1
  250. package/dist/ionic/{p-65db57d7.entry.js → p-675b1a31.entry.js} +1 -1
  251. package/dist/ionic/{p-82d5bb3d.entry.js → p-6d070558.entry.js} +1 -1
  252. package/dist/ionic/{p-e64b550c.entry.js → p-7268efa5.entry.js} +1 -1
  253. package/dist/ionic/{p-20f135b4.entry.js → p-72c38b88.entry.js} +1 -1
  254. package/dist/ionic/{p-b8551510.entry.js → p-86f53961.entry.js} +1 -1
  255. package/dist/ionic/p-94de5cfa.entry.js +4 -0
  256. package/dist/ionic/{p-e48f026f.entry.js → p-9575b654.entry.js} +1 -1
  257. package/dist/ionic/{p-30333874.entry.js → p-a127bee2.entry.js} +1 -1
  258. package/dist/ionic/{p-3b0b7a05.entry.js → p-a8ed848b.entry.js} +1 -1
  259. package/dist/ionic/{p-bccc9207.entry.js → p-ac4eb91d.entry.js} +1 -1
  260. package/dist/ionic/{p-dbc82f0e.entry.js → p-b57c6d3e.entry.js} +1 -1
  261. package/dist/ionic/{p-b30c3430.entry.js → p-c19f63d0.entry.js} +1 -1
  262. package/dist/ionic/{p-f097a9e5.entry.js → p-c85a2127.entry.js} +1 -1
  263. package/dist/ionic/{p-69c6fe52.entry.js → p-cc45bcbc.entry.js} +1 -1
  264. package/dist/ionic/{p-75ebaa15.entry.js → p-cebb0328.entry.js} +1 -1
  265. package/dist/ionic/{p-bce86e56.entry.js → p-d126e8d3.entry.js} +1 -1
  266. package/dist/ionic/{p-2bd1ea35.entry.js → p-d3014190.entry.js} +1 -1
  267. package/dist/ionic/{p-652318c3.entry.js → p-dbbe606a.entry.js} +1 -1
  268. package/dist/ionic/{p-0852af24.entry.js → p-ea509e3c.entry.js} +1 -1
  269. package/dist/ionic/{p-fc14f34a.entry.js → p-ec654c42.entry.js} +1 -1
  270. package/dist/ionic/{p-fb0271ae.entry.js → p-f8f22cc0.entry.js} +1 -1
  271. package/dist/types/components/datetime/datetime.d.ts +8 -9
  272. package/hydrate/index.js +213 -214
  273. package/hydrate/index.mjs +213 -214
  274. package/package.json +5 -5
  275. package/dist/ionic/p-0ca0fe9c.entry.js +0 -4
  276. package/dist/ionic/p-43c5249f.entry.js +0 -4
  277. package/dist/ionic/p-7f98e710.entry.js +0 -4
  278. package/dist/ionic/p-ce8dad03.entry.js +0 -4
  279. package/dist/ionic/p-ebcfc1d2.entry.js +0 -4
package/hydrate/index.mjs CHANGED
@@ -13433,6 +13433,28 @@ class Datetime {
13433
13433
  destroyKeyboardMO();
13434
13434
  }
13435
13435
  };
13436
+ /**
13437
+ * TODO(FW-6931): Remove this fallback upon solving the root cause
13438
+ * Fallback to ensure the datetime becomes ready even if
13439
+ * IntersectionObserver never reports it as intersecting.
13440
+ *
13441
+ * This is primarily used in environments where the observer
13442
+ * might not fire as expected, such as when running under
13443
+ * synthetic tests that stub IntersectionObserver.
13444
+ */
13445
+ this.ensureReadyIfVisible = () => {
13446
+ if (this.el.classList.contains('datetime-ready')) {
13447
+ return;
13448
+ }
13449
+ const rect = this.el.getBoundingClientRect();
13450
+ if (rect.width === 0 || rect.height === 0) {
13451
+ return;
13452
+ }
13453
+ this.initializeListeners();
13454
+ writeTask(() => {
13455
+ this.el.classList.add('datetime-ready');
13456
+ });
13457
+ };
13436
13458
  this.processValue = (value) => {
13437
13459
  const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
13438
13460
  const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
@@ -13710,107 +13732,84 @@ class Datetime {
13710
13732
  this.clearFocusVisible();
13711
13733
  this.clearFocusVisible = undefined;
13712
13734
  }
13713
- if (this.resizeObserver) {
13714
- this.resizeObserver.disconnect();
13715
- this.resizeObserver = undefined;
13716
- }
13717
- if (this.destroyOverlayListeners) {
13718
- this.destroyOverlayListeners();
13719
- this.destroyOverlayListeners = undefined;
13720
- }
13721
13735
  }
13722
13736
  initializeListeners() {
13723
13737
  this.initializeCalendarListener();
13724
13738
  this.initializeKeyboardListeners();
13725
13739
  }
13726
- /**
13727
- * Sets up visibility detection for the datetime component.
13728
- *
13729
- * Uses multiple strategies to reliably detect when the datetime becomes
13730
- * visible, which is necessary for proper initialization of scrollable areas:
13731
- * 1. ResizeObserver - detects dimension changes
13732
- * 2. Overlay event listeners - for datetime inside modals/popovers
13733
- * 3. Polling fallback - for browsers where observers are unreliable (WebKit)
13734
- */
13735
- initializeVisibilityObserver() {
13736
- const { el } = this;
13737
- const markReady = () => {
13738
- if (el.classList.contains('datetime-ready')) {
13740
+ componentDidLoad() {
13741
+ const { el, intersectionTrackerRef } = this;
13742
+ /**
13743
+ * If a scrollable element is hidden using `display: none`,
13744
+ * it will not have a scroll height meaning we cannot scroll elements
13745
+ * into view. As a result, we will need to wait for the datetime to become
13746
+ * visible if used inside of a modal or a popover otherwise the scrollable
13747
+ * areas will not have the correct values snapped into place.
13748
+ */
13749
+ const visibleCallback = (entries) => {
13750
+ const ev = entries[0];
13751
+ if (!ev.isIntersecting) {
13739
13752
  return;
13740
13753
  }
13741
13754
  this.initializeListeners();
13755
+ /**
13756
+ * TODO FW-2793: Datetime needs a frame to ensure that it
13757
+ * can properly scroll contents into view. As a result
13758
+ * we hide the scrollable content until after that frame
13759
+ * so users do not see the content quickly shifting. The downside
13760
+ * is that the content will pop into view a frame after. Maybe there
13761
+ * is a better way to handle this?
13762
+ */
13742
13763
  writeTask(() => {
13743
- el.classList.add('datetime-ready');
13744
- });
13745
- };
13746
- const markHidden = () => {
13747
- this.destroyInteractionListeners();
13748
- this.showMonthAndYear = false;
13749
- writeTask(() => {
13750
- el.classList.remove('datetime-ready');
13764
+ this.el.classList.add('datetime-ready');
13751
13765
  });
13752
- startVisibilityPolling();
13753
13766
  };
13767
+ const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
13754
13768
  /**
13755
- * FW-6931: Poll for visibility as a fallback for browsers where
13756
- * ResizeObserver doesn't fire reliably (e.g., WebKit).
13769
+ * Use raf to avoid a race condition between the component loading and
13770
+ * its display animation starting (such as when shown in a modal). This
13771
+ * could cause the datetime to start at a visibility of 0, erroneously
13772
+ * triggering the `hiddenIO` observer below.
13757
13773
  */
13758
- const startVisibilityPolling = () => {
13759
- let pollCount = 0;
13760
- const poll = () => {
13761
- if (el.classList.contains('datetime-ready') || pollCount++ >= 60) {
13762
- return;
13763
- }
13764
- const { width, height } = el.getBoundingClientRect();
13765
- if (width > 0 && height > 0) {
13766
- markReady();
13767
- }
13768
- else {
13769
- raf(poll);
13770
- }
13771
- };
13772
- raf(poll);
13773
- };
13774
+ raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
13774
13775
  /**
13775
- * FW-6931: Listen for overlay present/dismiss events when datetime
13776
- * is inside a modal or popover.
13777
- */
13778
- const parentOverlay = el.closest('ion-modal, ion-popover');
13779
- if (parentOverlay) {
13780
- const handlePresent = () => markReady();
13781
- const handleDismiss = () => markHidden();
13782
- parentOverlay.addEventListener('didPresent', handlePresent);
13783
- parentOverlay.addEventListener('didDismiss', handleDismiss);
13784
- this.destroyOverlayListeners = () => {
13785
- parentOverlay.removeEventListener('didPresent', handlePresent);
13786
- parentOverlay.removeEventListener('didDismiss', handleDismiss);
13787
- };
13788
- }
13789
- if (typeof ResizeObserver !== 'undefined') {
13790
- this.resizeObserver = new ResizeObserver((entries) => {
13791
- const { width, height } = entries[0].contentRect;
13792
- const isVisible = width > 0 && height > 0;
13793
- const isReady = el.classList.contains('datetime-ready');
13794
- if (isVisible && !isReady) {
13795
- markReady();
13796
- }
13797
- else if (!isVisible && isReady) {
13798
- markHidden();
13799
- }
13800
- });
13801
- // Use raf to avoid race condition with modal/popover animations
13802
- raf(() => { var _a; return (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(el); });
13803
- startVisibilityPolling();
13804
- }
13805
- else {
13806
- // Test environment fallback - mark ready immediately
13776
+ * TODO(FW-6931): Remove this fallback upon solving the root cause
13777
+ * Fallback: If IntersectionObserver never reports that the
13778
+ * datetime is visible but the host clearly has layout, ensure
13779
+ * we still initialize listeners and mark the component as ready.
13780
+ *
13781
+ * We schedule this after everything has had a chance to run.
13782
+ */
13783
+ setTimeout(() => {
13784
+ this.ensureReadyIfVisible();
13785
+ }, 100);
13786
+ /**
13787
+ * We need to clean up listeners when the datetime is hidden
13788
+ * in a popover/modal so that we can properly scroll containers
13789
+ * back into view if they are re-presented. When the datetime is hidden
13790
+ * the scroll areas have scroll widths/heights of 0px, so any snapping
13791
+ * we did originally has been lost.
13792
+ */
13793
+ const hiddenCallback = (entries) => {
13794
+ const ev = entries[0];
13795
+ if (ev.isIntersecting) {
13796
+ return;
13797
+ }
13798
+ this.destroyInteractionListeners();
13799
+ /**
13800
+ * When datetime is hidden, we need to make sure that
13801
+ * the month/year picker is closed. Otherwise,
13802
+ * it will be open when the datetime re-appears
13803
+ * and the scroll area of the calendar grid will be 0.
13804
+ * As a result, the wrong month will be shown.
13805
+ */
13806
+ this.showMonthAndYear = false;
13807
13807
  writeTask(() => {
13808
- el.classList.add('datetime-ready');
13808
+ this.el.classList.remove('datetime-ready');
13809
13809
  });
13810
- }
13811
- }
13812
- componentDidLoad() {
13813
- this.initializeVisibilityObserver();
13810
+ };
13811
+ const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
13812
+ raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
13814
13813
  /**
13815
13814
  * Datetime uses Ionic components that emit
13816
13815
  * ionFocus and ionBlur. These events are
@@ -14539,7 +14538,7 @@ class Datetime {
14539
14538
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
14540
14539
  const hasWheelVariant = hasDatePresentation && preferWheel;
14541
14540
  renderHiddenInput(true, el, name, formatValue(value), disabled);
14542
- return (hAsync(Host, { key: '2fb2938db507a134622a3feac44804f11071c589', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14541
+ return (hAsync(Host, { key: 'efdbc0922670a841bc667ceac392cdc1dedffd01', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14543
14542
  [mode]: true,
14544
14543
  ['datetime-readonly']: readonly,
14545
14544
  ['datetime-disabled']: disabled,
@@ -14549,7 +14548,7 @@ class Datetime {
14549
14548
  [`datetime-size-${size}`]: true,
14550
14549
  [`datetime-prefer-wheel`]: hasWheelVariant,
14551
14550
  [`datetime-grid`]: isGridStyle,
14552
- })) }, this.renderDatetime(mode)));
14551
+ })) }, hAsync("div", { key: '3f8bb75fcb0baff55182ef3aa1b535eacc58d81f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
14553
14552
  }
14554
14553
  get el() { return getElement(this); }
14555
14554
  static get watchers() { return {
@@ -14960,11 +14959,11 @@ class DatetimeButton {
14960
14959
  render() {
14961
14960
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
14962
14961
  const mode = getIonMode$1(this);
14963
- return (hAsync(Host, { key: '0cad13e702cd8f76b10364d44993495d1aac40fb', class: createColorClasses$1(color, {
14962
+ return (hAsync(Host, { key: '11d037e6ab061e5116842970760b04850b42f2c7', class: createColorClasses$1(color, {
14964
14963
  [mode]: true,
14965
14964
  [`${selectedButton}-active`]: datetimeActive,
14966
14965
  ['datetime-button-disabled']: disabled,
14967
- }) }, 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' })))));
14966
+ }) }, 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' })))));
14968
14967
  }
14969
14968
  get el() { return getElement(this); }
14970
14969
  static get style() { return {
@@ -15044,12 +15043,12 @@ class Fab {
15044
15043
  render() {
15045
15044
  const { horizontal, vertical, edge } = this;
15046
15045
  const mode = getIonMode$1(this);
15047
- return (hAsync(Host, { key: 'cb44cf6486b0a6439b99da87c065b0b52e2514f4', class: {
15046
+ return (hAsync(Host, { key: '8a310806d0e748d7ebb0ed3d9a2652038e0f2960', class: {
15048
15047
  [mode]: true,
15049
15048
  [`fab-horizontal-${horizontal}`]: horizontal !== undefined,
15050
15049
  [`fab-vertical-${vertical}`]: vertical !== undefined,
15051
15050
  'fab-edge': edge,
15052
- } }, hAsync("slot", { key: '1ed484c7ecb10cd81fbca9a4f5c4049bf82f9f8a' })));
15051
+ } }, hAsync("slot", { key: '9394ef6d6e5b0410fa6ba212171f687fb178ce2d' })));
15053
15052
  }
15054
15053
  get el() { return getElement(this); }
15055
15054
  static get watchers() { return {
@@ -15156,7 +15155,7 @@ class FabButton {
15156
15155
  rel: this.rel,
15157
15156
  target: this.target,
15158
15157
  };
15159
- return (hAsync(Host, { key: 'eb347f7d6749c40637540d84778eb8d1b667a947', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
15158
+ return (hAsync(Host, { key: '4eee204d20b0e2ffed49a88f6cb3e04b6697965c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
15160
15159
  [mode]: true,
15161
15160
  'fab-button-in-list': inList,
15162
15161
  'fab-button-translucent-in-list': inList && translucent,
@@ -15167,7 +15166,7 @@ class FabButton {
15167
15166
  'ion-activatable': true,
15168
15167
  'ion-focusable': true,
15169
15168
  [`fab-button-${size}`]: size !== undefined,
15170
- }) }, 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' }))));
15169
+ }) }, 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' }))));
15171
15170
  }
15172
15171
  get el() { return getElement(this); }
15173
15172
  static get style() { return {
@@ -15223,11 +15222,11 @@ class FabList {
15223
15222
  }
15224
15223
  render() {
15225
15224
  const mode = getIonMode$1(this);
15226
- return (hAsync(Host, { key: 'fa1d195b9950654ba0e984bf61d981c977d05275', class: {
15225
+ return (hAsync(Host, { key: '64b33366447f66c7f979cfac56307fbb1a6fac1c', class: {
15227
15226
  [mode]: true,
15228
15227
  'fab-list-active': this.activated,
15229
15228
  [`fab-list-side-${this.side}`]: true,
15230
- } }, hAsync("slot", { key: '2ec738c66c05112e1e2521155d6adfc36d2fd1db' })));
15229
+ } }, hAsync("slot", { key: 'd9f474f7f20fd7e813db358fddc720534ca05bb6' })));
15231
15230
  }
15232
15231
  get el() { return getElement(this); }
15233
15232
  static get watchers() { return {
@@ -15684,7 +15683,7 @@ class Footer {
15684
15683
  const mode = getIonMode$1(this);
15685
15684
  const tabs = this.el.closest('ion-tabs');
15686
15685
  const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
15687
- return (hAsync(Host, { key: '5da19dc38ba73e1ddfd1bef3ebd485105d77c751', role: "contentinfo", class: {
15686
+ return (hAsync(Host, { key: 'ddc228f1a1e7fa4f707dccf74db2490ca3241137', role: "contentinfo", class: {
15688
15687
  [mode]: true,
15689
15688
  // Used internally for styling
15690
15689
  [`footer-${mode}`]: true,
@@ -15692,7 +15691,7 @@ class Footer {
15692
15691
  [`footer-translucent-${mode}`]: translucent,
15693
15692
  ['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
15694
15693
  [`footer-collapse-${collapse}`]: collapse !== undefined,
15695
- } }, mode === 'ios' && translucent && hAsync("div", { key: 'fafad08090a33d8c4e8a5b63d61929dcb89aab47', class: "footer-background" }), hAsync("slot", { key: 'e0a443d346afa55e4317c0bc1263fdbe3c619559' })));
15694
+ } }, mode === 'ios' && translucent && hAsync("div", { key: 'e16ed4963ff94e06de77eb8038201820af73937c', class: "footer-background" }), hAsync("slot", { key: 'f186934febf85d37133d9351a96c1a64b0a4b203' })));
15696
15695
  }
15697
15696
  get el() { return getElement(this); }
15698
15697
  static get style() { return {
@@ -15725,10 +15724,10 @@ class Grid {
15725
15724
  }
15726
15725
  render() {
15727
15726
  const mode = getIonMode$1(this);
15728
- return (hAsync(Host, { key: '930ce78b02f8360fbca08a35d364d2c09128c6c8', class: {
15727
+ return (hAsync(Host, { key: '617127ecfabf9bf615bef1dda1be3fed5a065949', class: {
15729
15728
  [mode]: true,
15730
15729
  'grid-fixed': this.fixed,
15731
- } }, hAsync("slot", { key: 'c47bf7ef2197f5ebc42d3e2c55044276fb0db393' })));
15730
+ } }, hAsync("slot", { key: 'c781fff853b093d8f44bdb7943bbc4f17c903803' })));
15732
15731
  }
15733
15732
  static get style() { return gridCss; }
15734
15733
  static get cmpMeta() { return {
@@ -16121,14 +16120,14 @@ class Header {
16121
16120
  const isCondensed = collapse === 'condense';
16122
16121
  // banner role must be at top level, so remove role if inside a menu
16123
16122
  const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, mode);
16124
- return (hAsync(Host, Object.assign({ key: '42fb0d8aa663bef7b1a21e026ea45e932b965794', role: roleType, class: {
16123
+ return (hAsync(Host, Object.assign({ key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
16125
16124
  [mode]: true,
16126
16125
  // Used internally for styling
16127
16126
  [`header-${mode}`]: true,
16128
16127
  [`header-translucent`]: this.translucent,
16129
16128
  [`header-collapse-${collapse}`]: true,
16130
16129
  [`header-translucent-${mode}`]: this.translucent,
16131
- } }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { key: '31fac480feb43bf4adcc97529d88f1fa8034ce98', class: "header-background" }), hAsync("slot", { key: '8fb8d10312836c3de63ba3fccf9ec1a08ca5b9d1' })));
16130
+ } }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), hAsync("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
16132
16131
  }
16133
16132
  get el() { return getElement(this); }
16134
16133
  static get style() { return {
@@ -16454,7 +16453,7 @@ class Img {
16454
16453
  render() {
16455
16454
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
16456
16455
  const { draggable } = inheritedAttributes;
16457
- 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) })));
16456
+ 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) })));
16458
16457
  }
16459
16458
  get el() { return getElement(this); }
16460
16459
  static get watchers() { return {
@@ -16682,7 +16681,7 @@ class InfiniteScroll {
16682
16681
  render() {
16683
16682
  const mode = getIonMode$1(this);
16684
16683
  const disabled = this.disabled;
16685
- return (hAsync(Host, { key: '1444429a86950c449953cbf578436cc8cabf40ec', class: {
16684
+ return (hAsync(Host, { key: 'e844956795f69be33396ce4480aa7a54ad01b28c', class: {
16686
16685
  [mode]: true,
16687
16686
  'infinite-scroll-loading': this.isLoading,
16688
16687
  'infinite-scroll-enabled': !disabled,
@@ -16734,11 +16733,11 @@ class InfiniteScrollContent {
16734
16733
  }
16735
16734
  render() {
16736
16735
  const mode = getIonMode$1(this);
16737
- return (hAsync(Host, { key: '060278bf9cb0321e182352f9613be4ebbb028259', class: {
16736
+ return (hAsync(Host, { key: '7c16060dcfe2a0b0fb3e2f8f4c449589a76f1baa', class: {
16738
16737
  [mode]: true,
16739
16738
  // Used internally for styling
16740
16739
  [`infinite-scroll-content-${mode}`]: true,
16741
- } }, 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())));
16740
+ } }, 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())));
16742
16741
  }
16743
16742
  static get style() { return {
16744
16743
  ios: infiniteScrollContentIosCss,
@@ -17381,7 +17380,7 @@ class Input {
17381
17380
  * TODO(FW-5592): Remove hasStartEndSlots condition
17382
17381
  */
17383
17382
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
17384
- return (hAsync(Host, { key: '81b44a68138ec7a9f1d4a27549d0c32283dea50d', class: createColorClasses$1(this.color, {
17383
+ return (hAsync(Host, { key: '97b5308021064d9e7434ef2d3d96f27045c1b0c4', class: createColorClasses$1(this.color, {
17385
17384
  [mode]: true,
17386
17385
  'has-value': hasValue,
17387
17386
  'has-focus': hasFocus,
@@ -17392,14 +17391,14 @@ class Input {
17392
17391
  'in-item': inItem,
17393
17392
  'in-item-color': hostContext('ion-item.ion-color', this.el),
17394
17393
  'input-disabled': disabled,
17395
- }) }, 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) => {
17394
+ }) }, 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) => {
17396
17395
  /**
17397
17396
  * This prevents mobile browsers from
17398
17397
  * blurring the input when the clear
17399
17398
  * button is activated.
17400
17399
  */
17401
17400
  ev.preventDefault();
17402
- }, 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()));
17401
+ }, 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()));
17403
17402
  }
17404
17403
  get el() { return getElement(this); }
17405
17404
  static get watchers() { return {
@@ -18070,7 +18069,7 @@ class InputOTP {
18070
18069
  const tabbableIndex = this.getTabbableIndex();
18071
18070
  const pattern = this.getPattern();
18072
18071
  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()) !== '';
18073
- return (hAsync(Host, { key: '76126aeef5a333d3ce86149d1ce21da6c7834898', class: createColorClasses$1(color, {
18072
+ return (hAsync(Host, { key: 'f15a29fb17b681ef55885ca36d3d5f899cbaca83', class: createColorClasses$1(color, {
18074
18073
  [mode]: true,
18075
18074
  'has-focus': hasFocus,
18076
18075
  [`input-otp-size-${size}`]: true,
@@ -18078,10 +18077,10 @@ class InputOTP {
18078
18077
  [`input-otp-fill-${fill}`]: true,
18079
18078
  'input-otp-disabled': disabled,
18080
18079
  'input-otp-readonly': readonly,
18081
- }) }, 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: {
18080
+ }) }, 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: {
18082
18081
  'input-otp-description': true,
18083
18082
  'input-otp-description-hidden': !hasDescription,
18084
- } }, hAsync("slot", { key: '63a4b07ef5e3174cc75cdaed59305cdaebcfd1ad' }))));
18083
+ } }, hAsync("slot", { key: '11baa2624926a08274508afe0833d9237a8dc35c' }))));
18085
18084
  }
18086
18085
  get el() { return getElement(this); }
18087
18086
  static get watchers() { return {
@@ -18181,16 +18180,16 @@ class InputPasswordToggle {
18181
18180
  const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
18182
18181
  const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
18183
18182
  const isPasswordVisible = type === 'text';
18184
- return (hAsync(Host, { key: '07e26969f77ad361e358efe33a3b3728d9669017', class: createColorClasses$1(color, {
18183
+ return (hAsync(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses$1(color, {
18185
18184
  [mode]: true,
18186
- }) }, 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) => {
18185
+ }) }, 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) => {
18187
18186
  /**
18188
18187
  * This prevents mobile browsers from
18189
18188
  * blurring the input when the password toggle
18190
18189
  * button is activated.
18191
18190
  */
18192
18191
  ev.preventDefault();
18193
- }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'd7b1f55b77b71bf2c147f3bde83de1e9083f70ba', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
18192
+ }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '5c8b121153f148f92aa7cba0447673a4f6f3ad1e', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
18194
18193
  }
18195
18194
  get el() { return getElement(this); }
18196
18195
  static get watchers() { return {
@@ -18521,11 +18520,11 @@ class ItemDivider {
18521
18520
  }
18522
18521
  render() {
18523
18522
  const mode = getIonMode$1(this);
18524
- return (hAsync(Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: createColorClasses$1(this.color, {
18523
+ return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
18525
18524
  [mode]: true,
18526
18525
  'item-divider-sticky': this.sticky,
18527
18526
  item: true,
18528
- }) }, 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" }))));
18527
+ }) }, 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" }))));
18529
18528
  }
18530
18529
  get el() { return getElement(this); }
18531
18530
  static get style() { return {
@@ -18555,7 +18554,7 @@ class ItemGroup {
18555
18554
  }
18556
18555
  render() {
18557
18556
  const mode = getIonMode$1(this);
18558
- return (hAsync(Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
18557
+ return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
18559
18558
  [mode]: true,
18560
18559
  // Used internally for styling
18561
18560
  [`item-group-${mode}`]: true,
@@ -18625,12 +18624,12 @@ class ItemOption {
18625
18624
  href: this.href,
18626
18625
  target: this.target,
18627
18626
  };
18628
- return (hAsync(Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
18627
+ return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
18629
18628
  [mode]: true,
18630
18629
  'item-option-disabled': disabled,
18631
18630
  'item-option-expandable': expandable,
18632
18631
  'ion-activatable': true,
18633
- }) }, 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' }))));
18632
+ }) }, 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' }))));
18634
18633
  }
18635
18634
  get el() { return getElement(this); }
18636
18635
  static get style() { return {
@@ -18679,7 +18678,7 @@ class ItemOptions {
18679
18678
  render() {
18680
18679
  const mode = getIonMode$1(this);
18681
18680
  const isEnd = isEndSide(this.side);
18682
- return (hAsync(Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
18681
+ return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
18683
18682
  [mode]: true,
18684
18683
  // Used internally for styling
18685
18684
  [`item-options-${mode}`]: true,
@@ -19144,7 +19143,7 @@ class ItemSliding {
19144
19143
  }
19145
19144
  render() {
19146
19145
  const mode = getIonMode$1(this);
19147
- return (hAsync(Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
19146
+ return (hAsync(Host, { key: 'd812322c9fb5da4ee16e99dc38bfb24cb4590d03', class: {
19148
19147
  [mode]: true,
19149
19148
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
19150
19149
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -19249,13 +19248,13 @@ class Label {
19249
19248
  render() {
19250
19249
  const position = this.position;
19251
19250
  const mode = getIonMode$1(this);
19252
- return (hAsync(Host, { key: '684ddfa719e34d743489ff05a0df067829257c73', class: createColorClasses$1(this.color, {
19251
+ return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
19253
19252
  [mode]: true,
19254
19253
  'in-item-color': hostContext('ion-item.ion-color', this.el),
19255
19254
  [`label-${position}`]: position !== undefined,
19256
19255
  [`label-no-animate`]: this.noAnimate,
19257
19256
  'label-rtl': document.dir === 'rtl',
19258
- }) }, hAsync("slot", { key: '4aace3e2b36250e832c44f63bea21116d77220fb' })));
19257
+ }) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
19259
19258
  }
19260
19259
  get el() { return getElement(this); }
19261
19260
  static get watchers() { return {
@@ -19311,7 +19310,7 @@ class List {
19311
19310
  render() {
19312
19311
  const mode = getIonMode$1(this);
19313
19312
  const { lines, inset } = this;
19314
- return (hAsync(Host, { key: '76580117b59d26e355e89f49b385fa8db05026a2', role: "list", class: {
19313
+ return (hAsync(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
19315
19314
  [mode]: true,
19316
19315
  // Used internally for styling
19317
19316
  [`list-${mode}`]: true,
@@ -19353,10 +19352,10 @@ class ListHeader {
19353
19352
  render() {
19354
19353
  const { lines } = this;
19355
19354
  const mode = getIonMode$1(this);
19356
- return (hAsync(Host, { key: '2e529021279761b2b2889885437f619b0e8f71c4', class: createColorClasses$1(this.color, {
19355
+ return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
19357
19356
  [mode]: true,
19358
19357
  [`list-header-lines-${lines}`]: lines !== undefined,
19359
- }) }, hAsync("div", { key: '9a6a11b0db015df79374f6489a40b959bc80b3e4', class: "list-header-inner" }, hAsync("slot", { key: 'ef347fc6afb47850797e2e4d1aeefcd6a318f789' }))));
19358
+ }) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
19360
19359
  }
19361
19360
  static get style() { return {
19362
19361
  ios: listHeaderIosCss,
@@ -19641,9 +19640,9 @@ class Loading {
19641
19640
  * Otherwise, don't set aria-labelledby.
19642
19641
  */
19643
19642
  const ariaLabelledBy = message !== undefined ? msgId : null;
19644
- return (hAsync(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19643
+ return (hAsync(Host, Object.assign({ key: '4497183ce220242abe19ae15f328f9a92ccafbbc', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19645
19644
  zIndex: `${40000 + this.overlayIndex}`,
19646
- }, 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" })));
19645
+ }, 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" })));
19647
19646
  }
19648
19647
  get el() { return getElement(this); }
19649
19648
  static get watchers() { return {
@@ -20692,14 +20691,14 @@ class Menu {
20692
20691
  * the ionBackButton listener in the menu controller
20693
20692
  * will handle closing the menu when Escape is pressed.
20694
20693
  */
20695
- return (hAsync(Host, { key: '29ef73894e2795e4ce23e59888ffb87faf4dd543', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20694
+ return (hAsync(Host, { key: '70a427f3414a476414c3386efe6c8723fd37eccf', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20696
20695
  [mode]: true,
20697
20696
  [`menu-type-${type}`]: true,
20698
20697
  'menu-enabled': !disabled,
20699
20698
  [`menu-side-${side}`]: true,
20700
20699
  'menu-pane-visible': isPaneVisible,
20701
20700
  'split-pane-side': hostContext('ion-split-pane', el),
20702
- } }, 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" })));
20701
+ } }, 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" })));
20703
20702
  }
20704
20703
  get el() { return getElement(this); }
20705
20704
  static get watchers() { return {
@@ -20807,7 +20806,7 @@ class MenuButton {
20807
20806
  type: this.type,
20808
20807
  };
20809
20808
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
20810
- return (hAsync(Host, { key: 'dcade732e366f0687d92cb9ce4065b78b0b41d24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20809
+ return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20811
20810
  [mode]: true,
20812
20811
  button: true, // ion-buttons target .button
20813
20812
  'menu-button-hidden': hidden,
@@ -20816,7 +20815,7 @@ class MenuButton {
20816
20815
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
20817
20816
  'ion-activatable': true,
20818
20817
  'ion-focusable': true,
20819
- }) }, 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" }))));
20818
+ }) }, 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" }))));
20820
20819
  }
20821
20820
  get el() { return getElement(this); }
20822
20821
  static get style() { return {
@@ -20869,10 +20868,10 @@ class MenuToggle {
20869
20868
  render() {
20870
20869
  const mode = getIonMode$1(this);
20871
20870
  const hidden = this.autoHide && !this.visible;
20872
- return (hAsync(Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20871
+ return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20873
20872
  [mode]: true,
20874
20873
  'menu-toggle-hidden': hidden,
20875
- } }, hAsync("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
20874
+ } }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
20876
20875
  }
20877
20876
  static get style() { return menuToggleCss; }
20878
20877
  static get cmpMeta() { return {
@@ -23709,20 +23708,20 @@ class Modal {
23709
23708
  const isCardModal = presentingElement !== undefined && mode === 'ios';
23710
23709
  const isHandleCycle = handleBehavior === 'cycle';
23711
23710
  const isSheetModalWithHandle = isSheetModal && showHandle;
23712
- return (hAsync(Host, Object.assign({ key: '09af3299b0bd1daa5004fceed6d4246ebae57088', "no-router": true,
23711
+ return (hAsync(Host, Object.assign({ key: '9a75095a13de0cfc96f1fa69fd92777d25da8daa', "no-router": true,
23713
23712
  // Allow the modal to be navigable when the handle is focusable
23714
23713
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
23715
23714
  zIndex: `${20000 + this.overlayIndex}`,
23716
- }, 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',
23715
+ }, 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',
23717
23716
  /*
23718
23717
  role and aria-modal must be used on the
23719
23718
  same element. They must also be set inside the
23720
23719
  shadow DOM otherwise ion-button will not be highlighted
23721
23720
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
23722
23721
  */
23723
- 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",
23722
+ 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",
23724
23723
  // Prevents the handle from receiving keyboard focus when it does not cycle
23725
- 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 }))));
23724
+ 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 }))));
23726
23725
  }
23727
23726
  get el() { return getElement(this); }
23728
23727
  static get watchers() { return {
@@ -24670,7 +24669,7 @@ class Nav {
24670
24669
  }
24671
24670
  }
24672
24671
  render() {
24673
- return hAsync("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
24672
+ return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
24674
24673
  }
24675
24674
  get el() { return getElement(this); }
24676
24675
  static get watchers() { return {
@@ -24743,7 +24742,7 @@ class NavLink {
24743
24742
  };
24744
24743
  }
24745
24744
  render() {
24746
- return hAsync(Host, { key: 'd4d80feb51c0d92b0bedf6952c892f9df3002046', onClick: this.onClick });
24745
+ return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
24747
24746
  }
24748
24747
  get el() { return getElement(this); }
24749
24748
  static get cmpMeta() { return {
@@ -24774,9 +24773,9 @@ class Note {
24774
24773
  }
24775
24774
  render() {
24776
24775
  const mode = getIonMode$1(this);
24777
- return (hAsync(Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: createColorClasses$1(this.color, {
24776
+ return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
24778
24777
  [mode]: true,
24779
- }) }, hAsync("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
24778
+ }) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
24780
24779
  }
24781
24780
  static get style() { return {
24782
24781
  ios: noteIosCss,
@@ -25248,7 +25247,7 @@ let Picker$1 = class Picker {
25248
25247
  this.emitInputModeChange();
25249
25248
  }
25250
25249
  render() {
25251
- 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) => {
25250
+ 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) => {
25252
25251
  var _a;
25253
25252
  /**
25254
25253
  * The "Enter" key represents
@@ -25263,7 +25262,7 @@ let Picker$1 = class Picker {
25263
25262
  if (ev.key === 'Enter') {
25264
25263
  (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
25265
25264
  }
25266
- }, 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' })));
25265
+ }, 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' })));
25267
25266
  }
25268
25267
  get el() { return getElement(this); }
25269
25268
  static get style() { return {
@@ -25536,11 +25535,11 @@ class Picker {
25536
25535
  render() {
25537
25536
  const { htmlAttributes } = this;
25538
25537
  const mode = getIonMode$1(this);
25539
- return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25538
+ return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25540
25539
  zIndex: `${20000 + this.overlayIndex}`,
25541
25540
  }, class: Object.assign({ [mode]: true,
25542
25541
  // Used internally for styling
25543
- [`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" })));
25542
+ [`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" })));
25544
25543
  }
25545
25544
  get el() { return getElement(this); }
25546
25545
  static get watchers() { return {
@@ -26138,14 +26137,14 @@ class PickerColumn {
26138
26137
  render() {
26139
26138
  const { color, disabled, isActive, numericInput } = this;
26140
26139
  const mode = getIonMode$1(this);
26141
- return (hAsync(Host, { key: 'fc7176e47e8d8776060197343b4c15c09f312528', class: createColorClasses$1(color, {
26140
+ return (hAsync(Host, { key: 'db903fd415f8a2d91994dececca481c1af8ba6a9', class: createColorClasses$1(color, {
26142
26141
  [mode]: true,
26143
26142
  ['picker-column-active']: isActive,
26144
26143
  ['picker-column-numeric-input']: numericInput,
26145
26144
  ['picker-column-disabled']: disabled,
26146
- }) }, hAsync("slot", { key: 'fce09abdcc48afa64fd5f869b1614f9e564b6759', name: "prefix" }), hAsync("div", { key: 'fbadc7cfa4965238a1ce5d47cb3bb258fa0214a1', class: "picker-opts", ref: (el) => {
26145
+ }) }, hAsync("slot", { key: '02ce9e1dd7df91afcd50b06416552bcffb5dec98', name: "prefix" }), hAsync("div", { key: '6dfd7d2429bec19244a6b1afb4448121963a031b', class: "picker-opts", ref: (el) => {
26147
26146
  this.scrollEl = el;
26148
- }, 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" })));
26147
+ }, 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" })));
26149
26148
  }
26150
26149
  get el() { return getElement(this); }
26151
26150
  static get watchers() { return {
@@ -26509,9 +26508,9 @@ class PickerColumnCmp {
26509
26508
  render() {
26510
26509
  const col = this.col;
26511
26510
  const mode = getIonMode$1(this);
26512
- 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: {
26511
+ 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: {
26513
26512
  'max-width': this.col.columnWidth,
26514
- } }, 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))));
26513
+ } }, 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))));
26515
26514
  }
26516
26515
  get el() { return getElement(this); }
26517
26516
  static get watchers() { return {
@@ -26628,10 +26627,10 @@ class PickerColumnOption {
26628
26627
  render() {
26629
26628
  const { color, disabled, ariaLabel } = this;
26630
26629
  const mode = getIonMode$1(this);
26631
- return (hAsync(Host, { key: 'c45a1c14a351bf57d7113671164852349be5aa8a', class: createColorClasses$1(color, {
26630
+ return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
26632
26631
  [mode]: true,
26633
26632
  ['option-disabled']: disabled,
26634
- }) }, hAsync("div", { key: '824930b658c6e3fb493ac4c6c2451d38c6bc4829', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '019df4dcf46e629bdbebcd46ed3ab29669feab27' }))));
26633
+ }) }, hAsync("div", { key: 'd942de84fd14d7dc06b1e5cf4f7920d1dc3c6371', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: 'b0df5717b42209e649097209a01476e1a66f5c5c' }))));
26635
26634
  }
26636
26635
  get el() { return getElement(this); }
26637
26636
  static get watchers() { return {
@@ -28072,9 +28071,9 @@ class Popover {
28072
28071
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
28073
28072
  const desktop = isPlatform('desktop');
28074
28073
  const enableArrow = arrow && !parentPopover;
28075
- return (hAsync(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
28074
+ return (hAsync(Host, Object.assign({ key: '42863f748c93f709d433931d969230137b37d42d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
28076
28075
  zIndex: `${20000 + this.overlayIndex}`,
28077
- }, 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' })))));
28076
+ }, 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' })))));
28078
28077
  }
28079
28078
  get el() { return getElement(this); }
28080
28079
  static get watchers() { return {
@@ -28179,7 +28178,7 @@ class ProgressBar {
28179
28178
  const mode = getIonMode$1(this);
28180
28179
  // If the progress is displayed as a solid bar.
28181
28180
  const progressSolid = buffer === 1;
28182
- return (hAsync(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
28181
+ return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
28183
28182
  [mode]: true,
28184
28183
  [`progress-bar-${type}`]: true,
28185
28184
  'progress-paused': paused,
@@ -28364,7 +28363,7 @@ class Radio {
28364
28363
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
28365
28364
  const mode = getIonMode$1(this);
28366
28365
  const inItem = hostContext('ion-item', el);
28367
- return (hAsync(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
28366
+ return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
28368
28367
  [mode]: true,
28369
28368
  'in-item': inItem,
28370
28369
  'radio-checked': checked,
@@ -28375,10 +28374,10 @@ class Radio {
28375
28374
  // Focus and active styling should not apply when the radio is in an item
28376
28375
  'ion-activatable': !inItem,
28377
28376
  'ion-focusable': !inItem,
28378
- }), 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: {
28377
+ }), 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: {
28379
28378
  'label-text-wrapper': true,
28380
28379
  'label-text-wrapper-hidden': !hasLabel,
28381
- }, part: "label" }, hAsync("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), hAsync("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
28380
+ }, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
28382
28381
  }
28383
28382
  get el() { return getElement(this); }
28384
28383
  static get watchers() { return {
@@ -28617,7 +28616,7 @@ class RadioGroup {
28617
28616
  const { label, labelId, el, name, value } = this;
28618
28617
  const mode = getIonMode$1(this);
28619
28618
  renderHiddenInput(true, el, name, value, false);
28620
- 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' }))));
28619
+ 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' }))));
28621
28620
  }
28622
28621
  get el() { return getElement(this); }
28623
28622
  static get watchers() { return {
@@ -29377,7 +29376,7 @@ class Range {
29377
29376
  const needsEndAdjustment = inItem && !hasEndContent;
29378
29377
  const mode = getIonMode$1(this);
29379
29378
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
29380
- return (hAsync(Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
29379
+ return (hAsync(Host, { key: 'ef7b01f80515bcaeb2983934ad7f10a6bd5d13ec', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
29381
29380
  [mode]: true,
29382
29381
  'in-item': inItem,
29383
29382
  'range-disabled': disabled,
@@ -29386,10 +29385,10 @@ class Range {
29386
29385
  [`range-label-placement-${labelPlacement}`]: true,
29387
29386
  'range-item-start-adjustment': needsStartAdjustment,
29388
29387
  'range-item-end-adjustment': needsEndAdjustment,
29389
- }) }, hAsync("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
29388
+ }) }, hAsync("label", { key: 'fd8aa90a9d52be9da024b907e68858dae424449d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '2172b4f329c22017dd23475c80aac25ba6e753eb', class: {
29390
29389
  'label-text-wrapper': true,
29391
29390
  'label-text-wrapper-hidden': !hasLabel,
29392
- }, 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" })))));
29391
+ }, 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" })))));
29393
29392
  }
29394
29393
  get el() { return getElement(this); }
29395
29394
  static get watchers() { return {
@@ -30356,7 +30355,7 @@ class Refresher {
30356
30355
  }
30357
30356
  render() {
30358
30357
  const mode = getIonMode$1(this);
30359
- return (hAsync(Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
30358
+ return (hAsync(Host, { key: '2d1bd880877b698604542ab2d602d38b9504d975', slot: "fixed", class: {
30360
30359
  [mode]: true,
30361
30360
  // Used internally for styling
30362
30361
  [`refresher-${mode}`]: true,
@@ -30580,7 +30579,7 @@ class RefresherContent {
30580
30579
  const pullingIcon = this.pullingIcon;
30581
30580
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
30582
30581
  const mode = getIonMode$1(this);
30583
- 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())));
30582
+ 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())));
30584
30583
  }
30585
30584
  get el() { return getElement(this); }
30586
30585
  static get cmpMeta() { return {
@@ -30621,7 +30620,7 @@ class Reorder {
30621
30620
  render() {
30622
30621
  const mode = getIonMode$1(this);
30623
30622
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
30624
- 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" }))));
30623
+ 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" }))));
30625
30624
  }
30626
30625
  get el() { return getElement(this); }
30627
30626
  static get style() { return {
@@ -30892,7 +30891,7 @@ class ReorderGroup {
30892
30891
  }
30893
30892
  render() {
30894
30893
  const mode = getIonMode$1(this);
30895
- return (hAsync(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
30894
+ return (hAsync(Host, { key: 'b9641f3061d67fbfe68317b901ec33267046e073', class: {
30896
30895
  [mode]: true,
30897
30896
  'reorder-enabled': !this.disabled,
30898
30897
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -31008,7 +31007,7 @@ class RippleEffect {
31008
31007
  }
31009
31008
  render() {
31010
31009
  const mode = getIonMode$1(this);
31011
- return (hAsync(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
31010
+ return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
31012
31011
  [mode]: true,
31013
31012
  unbounded: this.unbounded,
31014
31013
  } }));
@@ -31967,10 +31966,10 @@ class RouterLink {
31967
31966
  rel: this.rel,
31968
31967
  target: this.target,
31969
31968
  };
31970
- return (hAsync(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses$1(this.color, {
31969
+ return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
31971
31970
  [mode]: true,
31972
31971
  'ion-activatable': true,
31973
- }) }, hAsync("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), hAsync("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
31972
+ }) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
31974
31973
  }
31975
31974
  static get style() { return routerLinkCss; }
31976
31975
  static get cmpMeta() { return {
@@ -32167,7 +32166,7 @@ class RouterOutlet {
32167
32166
  return true;
32168
32167
  }
32169
32168
  render() {
32170
- return hAsync("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
32169
+ return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
32171
32170
  }
32172
32171
  get el() { return getElement(this); }
32173
32172
  static get watchers() { return {
@@ -32200,7 +32199,7 @@ class Row {
32200
32199
  registerInstance(this, hostRef);
32201
32200
  }
32202
32201
  render() {
32203
- return (hAsync(Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
32202
+ return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
32204
32203
  }
32205
32204
  static get style() { return rowCss; }
32206
32205
  static get cmpMeta() { return {
@@ -32641,8 +32640,8 @@ class Searchbar {
32641
32640
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
32642
32641
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
32643
32642
  const shouldShowCancelButton = this.shouldShowCancelButton();
32644
- 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))));
32645
- return (hAsync(Host, { key: 'bcc5b33a2859903ba11bfc5c611c6a2aaa71d06b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
32643
+ 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))));
32644
+ return (hAsync(Host, { key: '074aa60e051bfb3225e87d44bbb6346c59c73574', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
32646
32645
  [mode]: true,
32647
32646
  'searchbar-animated': animated,
32648
32647
  'searchbar-disabled': this.disabled,
@@ -32652,14 +32651,14 @@ class Searchbar {
32652
32651
  'searchbar-has-focus': this.focused,
32653
32652
  'searchbar-should-show-clear': this.shouldShowClearButton(),
32654
32653
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
32655
- }) }, 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) => {
32654
+ }) }, 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) => {
32656
32655
  /**
32657
32656
  * This prevents mobile browsers from
32658
32657
  * blurring the input when the clear
32659
32658
  * button is activated.
32660
32659
  */
32661
32660
  ev.preventDefault();
32662
- }, 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));
32661
+ }, 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));
32663
32662
  }
32664
32663
  get el() { return getElement(this); }
32665
32664
  static get watchers() { return {
@@ -33254,14 +33253,14 @@ class Segment {
33254
33253
  }
33255
33254
  render() {
33256
33255
  const mode = getIonMode$1(this);
33257
- return (hAsync(Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
33256
+ return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
33258
33257
  [mode]: true,
33259
33258
  'in-toolbar': hostContext('ion-toolbar', this.el),
33260
33259
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
33261
33260
  'segment-activated': this.activated,
33262
33261
  'segment-disabled': this.disabled,
33263
33262
  'segment-scrollable': this.scrollable,
33264
- }) }, hAsync("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
33263
+ }) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
33265
33264
  }
33266
33265
  get el() { return getElement(this); }
33267
33266
  static get watchers() { return {
@@ -33401,7 +33400,7 @@ class SegmentButton {
33401
33400
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
33402
33401
  const mode = getIonMode$1(this);
33403
33402
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
33404
- return (hAsync(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
33403
+ return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
33405
33404
  [mode]: true,
33406
33405
  'in-toolbar': hostContext('ion-toolbar', this.el),
33407
33406
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -33417,7 +33416,7 @@ class SegmentButton {
33417
33416
  'ion-activatable': true,
33418
33417
  'ion-activatable-instant': true,
33419
33418
  'ion-focusable': true,
33420
- } }, 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" }))));
33419
+ } }, 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" }))));
33421
33420
  }
33422
33421
  get el() { return getElement(this); }
33423
33422
  static get watchers() { return {
@@ -33452,7 +33451,7 @@ class SegmentContent {
33452
33451
  registerInstance(this, hostRef);
33453
33452
  }
33454
33453
  render() {
33455
- return (hAsync(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, hAsync("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
33454
+ return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
33456
33455
  }
33457
33456
  static get style() { return segmentContentCss; }
33458
33457
  static get cmpMeta() { return {
@@ -33567,10 +33566,10 @@ class SegmentView {
33567
33566
  }
33568
33567
  render() {
33569
33568
  const { disabled, isManualScroll } = this;
33570
- return (hAsync(Host, { key: '1c9bfce83967a93d63c225031a5cd688509d8fc8', class: {
33569
+ return (hAsync(Host, { key: 'e180b67bb3143a5f4611fb358c037be6fc782a8f', class: {
33571
33570
  'segment-view-disabled': disabled,
33572
33571
  'segment-view-scroll-disabled': isManualScroll === false,
33573
- } }, hAsync("slot", { key: '19fee034e76fffbdb5f622cb514037c00f9d55d5' })));
33572
+ } }, hAsync("slot", { key: '41c11d6a7406a10f5c64a2e73abfc072afd8fc73' })));
33574
33573
  }
33575
33574
  get el() { return getElement(this); }
33576
33575
  static get style() { return {
@@ -34337,7 +34336,7 @@ class Select {
34337
34336
  * TODO(FW-5592): Remove hasStartEndSlots condition
34338
34337
  */
34339
34338
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
34340
- return (hAsync(Host, { key: '9f0a833ebc3df27a42146b07bcbb181c05f5e5c4', onClick: this.onClick, class: createColorClasses$1(this.color, {
34339
+ return (hAsync(Host, { key: 'd8026835993d0e6dce747098f741a06ae4e4f54d', onClick: this.onClick, class: createColorClasses$1(this.color, {
34341
34340
  [mode]: true,
34342
34341
  'in-item': inItem,
34343
34342
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -34355,7 +34354,7 @@ class Select {
34355
34354
  [`select-justify-${justify}`]: justifyEnabled,
34356
34355
  [`select-shape-${shape}`]: shape !== undefined,
34357
34356
  [`select-label-placement-${labelPlacement}`]: true,
34358
- }) }, 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()));
34357
+ }) }, 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()));
34359
34358
  }
34360
34359
  get el() { return getElement(this); }
34361
34360
  static get watchers() { return {
@@ -34516,7 +34515,7 @@ class SelectModal {
34516
34515
  } }, option.text))));
34517
34516
  }
34518
34517
  render() {
34519
- 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()))));
34518
+ 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()))));
34520
34519
  }
34521
34520
  get el() { return getElement(this); }
34522
34521
  static get style() { return {
@@ -34550,7 +34549,7 @@ class SelectOption {
34550
34549
  this.disabled = false;
34551
34550
  }
34552
34551
  render() {
34553
- return hAsync(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode$1(this) });
34552
+ return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
34554
34553
  }
34555
34554
  get el() { return getElement(this); }
34556
34555
  static get style() { return selectOptionCss; }
@@ -34667,7 +34666,7 @@ class SelectPopover {
34667
34666
  render() {
34668
34667
  const { header, message, options, subHeader } = this;
34669
34668
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
34670
- 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))));
34669
+ 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))));
34671
34670
  }
34672
34671
  get el() { return getElement(this); }
34673
34672
  static get style() { return {
@@ -34717,11 +34716,11 @@ class SkeletonText {
34717
34716
  const animated = this.animated && config.getBoolean('animated', true);
34718
34717
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
34719
34718
  const mode = getIonMode$1(this);
34720
- return (hAsync(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
34719
+ return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
34721
34720
  [mode]: true,
34722
34721
  'skeleton-text-animated': animated,
34723
34722
  'in-media': inMedia,
34724
- } }, hAsync("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
34723
+ } }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
34725
34724
  }
34726
34725
  get el() { return getElement(this); }
34727
34726
  static get style() { return skeletonTextCss; }
@@ -34773,7 +34772,7 @@ class Spinner {
34773
34772
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
34774
34773
  }
34775
34774
  }
34776
- return (hAsync(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses$1(self.color, {
34775
+ return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
34777
34776
  [mode]: true,
34778
34777
  [`spinner-${spinnerName}`]: true,
34779
34778
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -34872,12 +34871,12 @@ class SplitPane {
34872
34871
  }
34873
34872
  render() {
34874
34873
  const mode = getIonMode$1(this);
34875
- return (hAsync(Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
34874
+ return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
34876
34875
  [mode]: true,
34877
34876
  // Used internally for styling
34878
34877
  [`split-pane-${mode}`]: true,
34879
34878
  'split-pane-visible': this.visible,
34880
- } }, hAsync("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
34879
+ } }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
34881
34880
  }
34882
34881
  get el() { return getElement(this); }
34883
34882
  static get watchers() { return {
@@ -34943,10 +34942,10 @@ class Tab {
34943
34942
  }
34944
34943
  render() {
34945
34944
  const { tab, active, component } = this;
34946
- return (hAsync(Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34945
+ return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34947
34946
  'ion-page': component === undefined,
34948
34947
  'tab-hidden': !active,
34949
- } }, hAsync("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
34948
+ } }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
34950
34949
  }
34951
34950
  get el() { return getElement(this); }
34952
34951
  static get watchers() { return {
@@ -35038,11 +35037,11 @@ class TabBar {
35038
35037
  const { color, translucent, keyboardVisible } = this;
35039
35038
  const mode = getIonMode$1(this);
35040
35039
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
35041
- return (hAsync(Host, { key: '47ddafd51bb665679dfdef0588df97ec63dce5ca', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
35040
+ return (hAsync(Host, { key: '388ec37ce308035bab78d6c9a016bb616e9517a9', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
35042
35041
  [mode]: true,
35043
35042
  'tab-bar-translucent': translucent,
35044
35043
  'tab-bar-hidden': shouldHide,
35045
- }) }, hAsync("slot", { key: 'a4fc2dc72518023db6b7d17fb689e2841e833252' })));
35044
+ }) }, hAsync("slot", { key: 'ce10ade2b86725e24f3254516483eeedd8ecb16a' })));
35046
35045
  }
35047
35046
  get el() { return getElement(this); }
35048
35047
  static get watchers() { return {
@@ -35138,7 +35137,7 @@ class TabButton {
35138
35137
  rel,
35139
35138
  target,
35140
35139
  };
35141
- return (hAsync(Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
35140
+ return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
35142
35141
  [mode]: true,
35143
35142
  'tab-selected': selected,
35144
35143
  'tab-disabled': disabled,
@@ -35150,7 +35149,7 @@ class TabButton {
35150
35149
  'ion-activatable': true,
35151
35150
  'ion-selectable': true,
35152
35151
  'ion-focusable': true,
35153
- } }, 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" }))));
35152
+ } }, 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" }))));
35154
35153
  }
35155
35154
  get el() { return getElement(this); }
35156
35155
  static get style() { return {
@@ -35341,7 +35340,7 @@ class Tabs {
35341
35340
  return Array.from(this.el.querySelectorAll('ion-tab'));
35342
35341
  }
35343
35342
  render() {
35344
- 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" })));
35343
+ 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" })));
35345
35344
  }
35346
35345
  get el() { return getElement(this); }
35347
35346
  static get style() { return tabsCss; }
@@ -35381,9 +35380,9 @@ class Text {
35381
35380
  }
35382
35381
  render() {
35383
35382
  const mode = getIonMode$1(this);
35384
- return (hAsync(Host, { key: 'bfaa49d35f43b8036725ae8a322c716fc6e43bdf', class: createColorClasses$1(this.color, {
35383
+ return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
35385
35384
  [mode]: true,
35386
- }) }, hAsync("slot", { key: 'c04880cd1935b42cbe60f58fd523b4d8a96072dc' })));
35385
+ }) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
35387
35386
  }
35388
35387
  static get style() { return textCss; }
35389
35388
  static get cmpMeta() { return {
@@ -35844,7 +35843,7 @@ class Textarea {
35844
35843
  * TODO(FW-5592): Remove hasStartEndSlots condition
35845
35844
  */
35846
35845
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
35847
- return (hAsync(Host, { key: '2c9de566803dd007cee3639ddd04accb68663b32', class: createColorClasses$1(this.color, {
35846
+ return (hAsync(Host, { key: 'a70a62d7aae3831a50acd74f60b930925ada1326', class: createColorClasses$1(this.color, {
35848
35847
  [mode]: true,
35849
35848
  'has-value': hasValue,
35850
35849
  'has-focus': hasFocus,
@@ -35853,7 +35852,7 @@ class Textarea {
35853
35852
  [`textarea-shape-${shape}`]: shape !== undefined,
35854
35853
  [`textarea-label-placement-${labelPlacement}`]: true,
35855
35854
  'textarea-disabled': disabled,
35856
- }) }, 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()));
35855
+ }) }, 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()));
35857
35856
  }
35858
35857
  get el() { return getElement(this); }
35859
35858
  static get watchers() { return {
@@ -35916,7 +35915,7 @@ class Thumbnail {
35916
35915
  registerInstance(this, hostRef);
35917
35916
  }
35918
35917
  render() {
35919
- return (hAsync(Host, { key: 'b250e01664238f1dca8f9757b15bc3d5d9387ffa', class: getIonMode$1(this) }, hAsync("slot", { key: '72cb568bccabc983c5186a7596ef6c6d4ebf5ad9' })));
35918
+ return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
35920
35919
  }
35921
35920
  static get style() { return thumbnailCss; }
35922
35921
  static get cmpMeta() { return {
@@ -36774,9 +36773,9 @@ class Toast {
36774
36773
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
36775
36774
  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);
36776
36775
  }
36777
- return (hAsync(Host, Object.assign({ key: '4a303f9ebb69614e9dca677d9d80a4a275de0d85', tabindex: "-1" }, this.htmlAttributes, { style: {
36776
+ return (hAsync(Host, Object.assign({ key: 'd1ecd90c87700aad4685e230cdd430aa286b8791', tabindex: "-1" }, this.htmlAttributes, { style: {
36778
36777
  zIndex: `${60000 + this.overlayIndex}`,
36779
- }, 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')))));
36778
+ }, 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')))));
36780
36779
  }
36781
36780
  get el() { return getElement(this); }
36782
36781
  static get watchers() { return {
@@ -37088,7 +37087,7 @@ class Toggle {
37088
37087
  const value = this.getValue();
37089
37088
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
37090
37089
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
37091
- 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, {
37090
+ 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, {
37092
37091
  [mode]: true,
37093
37092
  'in-item': hostContext('ion-item', el),
37094
37093
  'toggle-activated': activated,
@@ -37098,10 +37097,10 @@ class Toggle {
37098
37097
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
37099
37098
  [`toggle-label-placement-${labelPlacement}`]: true,
37100
37099
  [`toggle-${rtl}`]: true,
37101
- }) }, 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: {
37100
+ }) }, 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: {
37102
37101
  'label-text-wrapper': true,
37103
37102
  'label-text-wrapper-hidden': !hasLabel,
37104
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '006dd3558264d69ab020c07005b348adc4ecdd5b' }), this.renderHintText()), hAsync("div", { key: 'dd4e52de31caabee41ec1bc58efecd1e213368c9', class: "native-wrapper" }, this.renderToggleControl()))));
37103
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '7b162b7dd27199cca2a4c995276a18b9f8e44aaf' }), this.renderHintText()), hAsync("div", { key: 'd13c34bd42fca01cc73ddb4ea7e471b33a282a3e', class: "native-wrapper" }, this.renderToggleControl()))));
37105
37104
  }
37106
37105
  get el() { return getElement(this); }
37107
37106
  static get watchers() { return {
@@ -37211,10 +37210,10 @@ class Toolbar {
37211
37210
  this.childrenStyles.forEach((value) => {
37212
37211
  Object.assign(childStyles, value);
37213
37212
  });
37214
- return (hAsync(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
37213
+ return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
37215
37214
  [mode]: true,
37216
37215
  'in-toolbar': hostContext('ion-toolbar', this.el),
37217
- })) }, 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" }))));
37216
+ })) }, 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" }))));
37218
37217
  }
37219
37218
  get el() { return getElement(this); }
37220
37219
  static get style() { return {
@@ -37260,11 +37259,11 @@ class ToolbarTitle {
37260
37259
  render() {
37261
37260
  const mode = getIonMode$1(this);
37262
37261
  const size = this.getSize();
37263
- return (hAsync(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses$1(this.color, {
37262
+ return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
37264
37263
  [mode]: true,
37265
37264
  [`title-${size}`]: true,
37266
37265
  'title-rtl': document.dir === 'rtl',
37267
- }) }, hAsync("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, hAsync("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
37266
+ }) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
37268
37267
  }
37269
37268
  get el() { return getElement(this); }
37270
37269
  static get watchers() { return {