@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.js CHANGED
@@ -13435,6 +13435,28 @@ class Datetime {
13435
13435
  destroyKeyboardMO();
13436
13436
  }
13437
13437
  };
13438
+ /**
13439
+ * TODO(FW-6931): Remove this fallback upon solving the root cause
13440
+ * Fallback to ensure the datetime becomes ready even if
13441
+ * IntersectionObserver never reports it as intersecting.
13442
+ *
13443
+ * This is primarily used in environments where the observer
13444
+ * might not fire as expected, such as when running under
13445
+ * synthetic tests that stub IntersectionObserver.
13446
+ */
13447
+ this.ensureReadyIfVisible = () => {
13448
+ if (this.el.classList.contains('datetime-ready')) {
13449
+ return;
13450
+ }
13451
+ const rect = this.el.getBoundingClientRect();
13452
+ if (rect.width === 0 || rect.height === 0) {
13453
+ return;
13454
+ }
13455
+ this.initializeListeners();
13456
+ writeTask(() => {
13457
+ this.el.classList.add('datetime-ready');
13458
+ });
13459
+ };
13438
13460
  this.processValue = (value) => {
13439
13461
  const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
13440
13462
  const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
@@ -13712,107 +13734,84 @@ class Datetime {
13712
13734
  this.clearFocusVisible();
13713
13735
  this.clearFocusVisible = undefined;
13714
13736
  }
13715
- if (this.resizeObserver) {
13716
- this.resizeObserver.disconnect();
13717
- this.resizeObserver = undefined;
13718
- }
13719
- if (this.destroyOverlayListeners) {
13720
- this.destroyOverlayListeners();
13721
- this.destroyOverlayListeners = undefined;
13722
- }
13723
13737
  }
13724
13738
  initializeListeners() {
13725
13739
  this.initializeCalendarListener();
13726
13740
  this.initializeKeyboardListeners();
13727
13741
  }
13728
- /**
13729
- * Sets up visibility detection for the datetime component.
13730
- *
13731
- * Uses multiple strategies to reliably detect when the datetime becomes
13732
- * visible, which is necessary for proper initialization of scrollable areas:
13733
- * 1. ResizeObserver - detects dimension changes
13734
- * 2. Overlay event listeners - for datetime inside modals/popovers
13735
- * 3. Polling fallback - for browsers where observers are unreliable (WebKit)
13736
- */
13737
- initializeVisibilityObserver() {
13738
- const { el } = this;
13739
- const markReady = () => {
13740
- if (el.classList.contains('datetime-ready')) {
13742
+ componentDidLoad() {
13743
+ const { el, intersectionTrackerRef } = this;
13744
+ /**
13745
+ * If a scrollable element is hidden using `display: none`,
13746
+ * it will not have a scroll height meaning we cannot scroll elements
13747
+ * into view. As a result, we will need to wait for the datetime to become
13748
+ * visible if used inside of a modal or a popover otherwise the scrollable
13749
+ * areas will not have the correct values snapped into place.
13750
+ */
13751
+ const visibleCallback = (entries) => {
13752
+ const ev = entries[0];
13753
+ if (!ev.isIntersecting) {
13741
13754
  return;
13742
13755
  }
13743
13756
  this.initializeListeners();
13757
+ /**
13758
+ * TODO FW-2793: Datetime needs a frame to ensure that it
13759
+ * can properly scroll contents into view. As a result
13760
+ * we hide the scrollable content until after that frame
13761
+ * so users do not see the content quickly shifting. The downside
13762
+ * is that the content will pop into view a frame after. Maybe there
13763
+ * is a better way to handle this?
13764
+ */
13744
13765
  writeTask(() => {
13745
- el.classList.add('datetime-ready');
13746
- });
13747
- };
13748
- const markHidden = () => {
13749
- this.destroyInteractionListeners();
13750
- this.showMonthAndYear = false;
13751
- writeTask(() => {
13752
- el.classList.remove('datetime-ready');
13766
+ this.el.classList.add('datetime-ready');
13753
13767
  });
13754
- startVisibilityPolling();
13755
13768
  };
13769
+ const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
13756
13770
  /**
13757
- * FW-6931: Poll for visibility as a fallback for browsers where
13758
- * ResizeObserver doesn't fire reliably (e.g., WebKit).
13771
+ * Use raf to avoid a race condition between the component loading and
13772
+ * its display animation starting (such as when shown in a modal). This
13773
+ * could cause the datetime to start at a visibility of 0, erroneously
13774
+ * triggering the `hiddenIO` observer below.
13759
13775
  */
13760
- const startVisibilityPolling = () => {
13761
- let pollCount = 0;
13762
- const poll = () => {
13763
- if (el.classList.contains('datetime-ready') || pollCount++ >= 60) {
13764
- return;
13765
- }
13766
- const { width, height } = el.getBoundingClientRect();
13767
- if (width > 0 && height > 0) {
13768
- markReady();
13769
- }
13770
- else {
13771
- raf(poll);
13772
- }
13773
- };
13774
- raf(poll);
13775
- };
13776
+ raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
13776
13777
  /**
13777
- * FW-6931: Listen for overlay present/dismiss events when datetime
13778
- * is inside a modal or popover.
13779
- */
13780
- const parentOverlay = el.closest('ion-modal, ion-popover');
13781
- if (parentOverlay) {
13782
- const handlePresent = () => markReady();
13783
- const handleDismiss = () => markHidden();
13784
- parentOverlay.addEventListener('didPresent', handlePresent);
13785
- parentOverlay.addEventListener('didDismiss', handleDismiss);
13786
- this.destroyOverlayListeners = () => {
13787
- parentOverlay.removeEventListener('didPresent', handlePresent);
13788
- parentOverlay.removeEventListener('didDismiss', handleDismiss);
13789
- };
13790
- }
13791
- if (typeof ResizeObserver !== 'undefined') {
13792
- this.resizeObserver = new ResizeObserver((entries) => {
13793
- const { width, height } = entries[0].contentRect;
13794
- const isVisible = width > 0 && height > 0;
13795
- const isReady = el.classList.contains('datetime-ready');
13796
- if (isVisible && !isReady) {
13797
- markReady();
13798
- }
13799
- else if (!isVisible && isReady) {
13800
- markHidden();
13801
- }
13802
- });
13803
- // Use raf to avoid race condition with modal/popover animations
13804
- raf(() => { var _a; return (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(el); });
13805
- startVisibilityPolling();
13806
- }
13807
- else {
13808
- // Test environment fallback - mark ready immediately
13778
+ * TODO(FW-6931): Remove this fallback upon solving the root cause
13779
+ * Fallback: If IntersectionObserver never reports that the
13780
+ * datetime is visible but the host clearly has layout, ensure
13781
+ * we still initialize listeners and mark the component as ready.
13782
+ *
13783
+ * We schedule this after everything has had a chance to run.
13784
+ */
13785
+ setTimeout(() => {
13786
+ this.ensureReadyIfVisible();
13787
+ }, 100);
13788
+ /**
13789
+ * We need to clean up listeners when the datetime is hidden
13790
+ * in a popover/modal so that we can properly scroll containers
13791
+ * back into view if they are re-presented. When the datetime is hidden
13792
+ * the scroll areas have scroll widths/heights of 0px, so any snapping
13793
+ * we did originally has been lost.
13794
+ */
13795
+ const hiddenCallback = (entries) => {
13796
+ const ev = entries[0];
13797
+ if (ev.isIntersecting) {
13798
+ return;
13799
+ }
13800
+ this.destroyInteractionListeners();
13801
+ /**
13802
+ * When datetime is hidden, we need to make sure that
13803
+ * the month/year picker is closed. Otherwise,
13804
+ * it will be open when the datetime re-appears
13805
+ * and the scroll area of the calendar grid will be 0.
13806
+ * As a result, the wrong month will be shown.
13807
+ */
13808
+ this.showMonthAndYear = false;
13809
13809
  writeTask(() => {
13810
- el.classList.add('datetime-ready');
13810
+ this.el.classList.remove('datetime-ready');
13811
13811
  });
13812
- }
13813
- }
13814
- componentDidLoad() {
13815
- this.initializeVisibilityObserver();
13812
+ };
13813
+ const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
13814
+ raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
13816
13815
  /**
13817
13816
  * Datetime uses Ionic components that emit
13818
13817
  * ionFocus and ionBlur. These events are
@@ -14541,7 +14540,7 @@ class Datetime {
14541
14540
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
14542
14541
  const hasWheelVariant = hasDatePresentation && preferWheel;
14543
14542
  renderHiddenInput(true, el, name, formatValue(value), disabled);
14544
- return (hAsync(Host, { key: '2fb2938db507a134622a3feac44804f11071c589', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14543
+ return (hAsync(Host, { key: 'efdbc0922670a841bc667ceac392cdc1dedffd01', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14545
14544
  [mode]: true,
14546
14545
  ['datetime-readonly']: readonly,
14547
14546
  ['datetime-disabled']: disabled,
@@ -14551,7 +14550,7 @@ class Datetime {
14551
14550
  [`datetime-size-${size}`]: true,
14552
14551
  [`datetime-prefer-wheel`]: hasWheelVariant,
14553
14552
  [`datetime-grid`]: isGridStyle,
14554
- })) }, this.renderDatetime(mode)));
14553
+ })) }, hAsync("div", { key: '3f8bb75fcb0baff55182ef3aa1b535eacc58d81f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
14555
14554
  }
14556
14555
  get el() { return getElement(this); }
14557
14556
  static get watchers() { return {
@@ -14962,11 +14961,11 @@ class DatetimeButton {
14962
14961
  render() {
14963
14962
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
14964
14963
  const mode = getIonMode$1(this);
14965
- return (hAsync(Host, { key: '0cad13e702cd8f76b10364d44993495d1aac40fb', class: createColorClasses$1(color, {
14964
+ return (hAsync(Host, { key: '11d037e6ab061e5116842970760b04850b42f2c7', class: createColorClasses$1(color, {
14966
14965
  [mode]: true,
14967
14966
  [`${selectedButton}-active`]: datetimeActive,
14968
14967
  ['datetime-button-disabled']: disabled,
14969
- }) }, 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' })))));
14968
+ }) }, dateText && (hAsync("button", { key: '08ecb62da0fcbf7466a1f2403276712a3ff17fbc', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, hAsync("slot", { key: '1c04853d4d23c0f1a594602bde44511c98355644', name: "date-target" }, dateText), mode === 'md' && hAsync("ion-ripple-effect", { key: '5fc566cd4bc885bcf983ce99e3dc65d7f485bf9b' }))), timeText && (hAsync("button", { key: 'c9c5c34ac338badf8659da22bea5829d62c51169', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, hAsync("slot", { key: '147a9d2069dbf737f6fc64787823d6d5af5aa653', name: "time-target" }, timeText), mode === 'md' && hAsync("ion-ripple-effect", { key: '70a5e25b75ed90ac6bba003468435f67aa9d8f0a' })))));
14970
14969
  }
14971
14970
  get el() { return getElement(this); }
14972
14971
  static get style() { return {
@@ -15046,12 +15045,12 @@ class Fab {
15046
15045
  render() {
15047
15046
  const { horizontal, vertical, edge } = this;
15048
15047
  const mode = getIonMode$1(this);
15049
- return (hAsync(Host, { key: 'cb44cf6486b0a6439b99da87c065b0b52e2514f4', class: {
15048
+ return (hAsync(Host, { key: '8a310806d0e748d7ebb0ed3d9a2652038e0f2960', class: {
15050
15049
  [mode]: true,
15051
15050
  [`fab-horizontal-${horizontal}`]: horizontal !== undefined,
15052
15051
  [`fab-vertical-${vertical}`]: vertical !== undefined,
15053
15052
  'fab-edge': edge,
15054
- } }, hAsync("slot", { key: '1ed484c7ecb10cd81fbca9a4f5c4049bf82f9f8a' })));
15053
+ } }, hAsync("slot", { key: '9394ef6d6e5b0410fa6ba212171f687fb178ce2d' })));
15055
15054
  }
15056
15055
  get el() { return getElement(this); }
15057
15056
  static get watchers() { return {
@@ -15158,7 +15157,7 @@ class FabButton {
15158
15157
  rel: this.rel,
15159
15158
  target: this.target,
15160
15159
  };
15161
- return (hAsync(Host, { key: 'eb347f7d6749c40637540d84778eb8d1b667a947', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
15160
+ return (hAsync(Host, { key: '4eee204d20b0e2ffed49a88f6cb3e04b6697965c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
15162
15161
  [mode]: true,
15163
15162
  'fab-button-in-list': inList,
15164
15163
  'fab-button-translucent-in-list': inList && translucent,
@@ -15169,7 +15168,7 @@ class FabButton {
15169
15168
  'ion-activatable': true,
15170
15169
  'ion-focusable': true,
15171
15170
  [`fab-button-${size}`]: size !== undefined,
15172
- }) }, 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' }))));
15171
+ }) }, hAsync(TagType, Object.assign({ key: '914561622c0c6bd41453e828a7d8a39f924875ac' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), hAsync("ion-icon", { key: '2c8090742a64c62a79243667027a195cca9d5912', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), hAsync("span", { key: 'c3e55291e4c4d306d34a4b95dd2e727e87bdf39c', class: "button-inner" }, hAsync("slot", { key: 'f8e57f71d8f8878d9746cfece82f57f19ef9e988' })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'a5e94fa0bb9836072300617245ed0c1b4887bac6' }))));
15173
15172
  }
15174
15173
  get el() { return getElement(this); }
15175
15174
  static get style() { return {
@@ -15225,11 +15224,11 @@ class FabList {
15225
15224
  }
15226
15225
  render() {
15227
15226
  const mode = getIonMode$1(this);
15228
- return (hAsync(Host, { key: 'fa1d195b9950654ba0e984bf61d981c977d05275', class: {
15227
+ return (hAsync(Host, { key: '64b33366447f66c7f979cfac56307fbb1a6fac1c', class: {
15229
15228
  [mode]: true,
15230
15229
  'fab-list-active': this.activated,
15231
15230
  [`fab-list-side-${this.side}`]: true,
15232
- } }, hAsync("slot", { key: '2ec738c66c05112e1e2521155d6adfc36d2fd1db' })));
15231
+ } }, hAsync("slot", { key: 'd9f474f7f20fd7e813db358fddc720534ca05bb6' })));
15233
15232
  }
15234
15233
  get el() { return getElement(this); }
15235
15234
  static get watchers() { return {
@@ -15686,7 +15685,7 @@ class Footer {
15686
15685
  const mode = getIonMode$1(this);
15687
15686
  const tabs = this.el.closest('ion-tabs');
15688
15687
  const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
15689
- return (hAsync(Host, { key: '5da19dc38ba73e1ddfd1bef3ebd485105d77c751', role: "contentinfo", class: {
15688
+ return (hAsync(Host, { key: 'ddc228f1a1e7fa4f707dccf74db2490ca3241137', role: "contentinfo", class: {
15690
15689
  [mode]: true,
15691
15690
  // Used internally for styling
15692
15691
  [`footer-${mode}`]: true,
@@ -15694,7 +15693,7 @@ class Footer {
15694
15693
  [`footer-translucent-${mode}`]: translucent,
15695
15694
  ['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
15696
15695
  [`footer-collapse-${collapse}`]: collapse !== undefined,
15697
- } }, mode === 'ios' && translucent && hAsync("div", { key: 'fafad08090a33d8c4e8a5b63d61929dcb89aab47', class: "footer-background" }), hAsync("slot", { key: 'e0a443d346afa55e4317c0bc1263fdbe3c619559' })));
15696
+ } }, mode === 'ios' && translucent && hAsync("div", { key: 'e16ed4963ff94e06de77eb8038201820af73937c', class: "footer-background" }), hAsync("slot", { key: 'f186934febf85d37133d9351a96c1a64b0a4b203' })));
15698
15697
  }
15699
15698
  get el() { return getElement(this); }
15700
15699
  static get style() { return {
@@ -15727,10 +15726,10 @@ class Grid {
15727
15726
  }
15728
15727
  render() {
15729
15728
  const mode = getIonMode$1(this);
15730
- return (hAsync(Host, { key: '930ce78b02f8360fbca08a35d364d2c09128c6c8', class: {
15729
+ return (hAsync(Host, { key: '617127ecfabf9bf615bef1dda1be3fed5a065949', class: {
15731
15730
  [mode]: true,
15732
15731
  'grid-fixed': this.fixed,
15733
- } }, hAsync("slot", { key: 'c47bf7ef2197f5ebc42d3e2c55044276fb0db393' })));
15732
+ } }, hAsync("slot", { key: 'c781fff853b093d8f44bdb7943bbc4f17c903803' })));
15734
15733
  }
15735
15734
  static get style() { return gridCss; }
15736
15735
  static get cmpMeta() { return {
@@ -16123,14 +16122,14 @@ class Header {
16123
16122
  const isCondensed = collapse === 'condense';
16124
16123
  // banner role must be at top level, so remove role if inside a menu
16125
16124
  const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, mode);
16126
- return (hAsync(Host, Object.assign({ key: '42fb0d8aa663bef7b1a21e026ea45e932b965794', role: roleType, class: {
16125
+ return (hAsync(Host, Object.assign({ key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
16127
16126
  [mode]: true,
16128
16127
  // Used internally for styling
16129
16128
  [`header-${mode}`]: true,
16130
16129
  [`header-translucent`]: this.translucent,
16131
16130
  [`header-collapse-${collapse}`]: true,
16132
16131
  [`header-translucent-${mode}`]: this.translucent,
16133
- } }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { key: '31fac480feb43bf4adcc97529d88f1fa8034ce98', class: "header-background" }), hAsync("slot", { key: '8fb8d10312836c3de63ba3fccf9ec1a08ca5b9d1' })));
16132
+ } }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), hAsync("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
16134
16133
  }
16135
16134
  get el() { return getElement(this); }
16136
16135
  static get style() { return {
@@ -16456,7 +16455,7 @@ class Img {
16456
16455
  render() {
16457
16456
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
16458
16457
  const { draggable } = inheritedAttributes;
16459
- 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) })));
16458
+ return (hAsync(Host, { key: 'da600442894427dee1974a28e545613afac69fca', class: getIonMode$1(this) }, hAsync("img", { key: '16df0c7069af86c0fa7ce5af598bc0f63b4eb71a', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
16460
16459
  }
16461
16460
  get el() { return getElement(this); }
16462
16461
  static get watchers() { return {
@@ -16684,7 +16683,7 @@ class InfiniteScroll {
16684
16683
  render() {
16685
16684
  const mode = getIonMode$1(this);
16686
16685
  const disabled = this.disabled;
16687
- return (hAsync(Host, { key: '1444429a86950c449953cbf578436cc8cabf40ec', class: {
16686
+ return (hAsync(Host, { key: 'e844956795f69be33396ce4480aa7a54ad01b28c', class: {
16688
16687
  [mode]: true,
16689
16688
  'infinite-scroll-loading': this.isLoading,
16690
16689
  'infinite-scroll-enabled': !disabled,
@@ -16736,11 +16735,11 @@ class InfiniteScrollContent {
16736
16735
  }
16737
16736
  render() {
16738
16737
  const mode = getIonMode$1(this);
16739
- return (hAsync(Host, { key: '060278bf9cb0321e182352f9613be4ebbb028259', class: {
16738
+ return (hAsync(Host, { key: '7c16060dcfe2a0b0fb3e2f8f4c449589a76f1baa', class: {
16740
16739
  [mode]: true,
16741
16740
  // Used internally for styling
16742
16741
  [`infinite-scroll-content-${mode}`]: true,
16743
- } }, 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())));
16742
+ } }, hAsync("div", { key: 'a94f4d8746e053dc718f97520bd7e48cb316443a', class: "infinite-loading" }, this.loadingSpinner && (hAsync("div", { key: '10143d5d2a50a2a2bc5de1cee8e7ab51263bcf23', class: "infinite-loading-spinner" }, hAsync("ion-spinner", { key: '8846e88191690d9c61a0b462889ed56fbfed8b0d', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
16744
16743
  }
16745
16744
  static get style() { return {
16746
16745
  ios: infiniteScrollContentIosCss,
@@ -17383,7 +17382,7 @@ class Input {
17383
17382
  * TODO(FW-5592): Remove hasStartEndSlots condition
17384
17383
  */
17385
17384
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
17386
- return (hAsync(Host, { key: '81b44a68138ec7a9f1d4a27549d0c32283dea50d', class: createColorClasses$1(this.color, {
17385
+ return (hAsync(Host, { key: '97b5308021064d9e7434ef2d3d96f27045c1b0c4', class: createColorClasses$1(this.color, {
17387
17386
  [mode]: true,
17388
17387
  'has-value': hasValue,
17389
17388
  'has-focus': hasFocus,
@@ -17394,14 +17393,14 @@ class Input {
17394
17393
  'in-item': inItem,
17395
17394
  'in-item-color': hostContext('ion-item.ion-color', this.el),
17396
17395
  'input-disabled': disabled,
17397
- }) }, 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) => {
17396
+ }) }, hAsync("label", { key: '353f68726ce180299bd9adc81e5ff7d26a48f54f', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '2034b4bad04fc157f3298a1805819216b6f439d0', class: "native-wrapper", onClick: this.onLabelClick }, hAsync("slot", { key: '96bb5e30176b2bd76dfb75bfbf6c1c3d4403f4bb', name: "start" }), hAsync("input", Object.assign({ key: '1a1d75b0e414a95c89d5a760757c33548d234aca', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '95f3df17b7691d9a2e7dcd4a51f16a94aa3ca36f', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
17398
17397
  /**
17399
17398
  * This prevents mobile browsers from
17400
17399
  * blurring the input when the clear
17401
17400
  * button is activated.
17402
17401
  */
17403
17402
  ev.preventDefault();
17404
- }, 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()));
17403
+ }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '16b0af75eed50c8115fb5597f73b5fbf71c2530e', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: 'c48da0f8ddb3764ac43efa705bb4a6bb2d9cc2fd', name: "end" })), shouldRenderHighlight && hAsync("div", { key: 'f15238481fc20de56ca7ecb6e350b3c024cc755e', class: "input-highlight" })), this.renderBottomContent()));
17405
17404
  }
17406
17405
  get el() { return getElement(this); }
17407
17406
  static get watchers() { return {
@@ -18072,7 +18071,7 @@ class InputOTP {
18072
18071
  const tabbableIndex = this.getTabbableIndex();
18073
18072
  const pattern = this.getPattern();
18074
18073
  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()) !== '';
18075
- return (hAsync(Host, { key: '76126aeef5a333d3ce86149d1ce21da6c7834898', class: createColorClasses$1(color, {
18074
+ return (hAsync(Host, { key: 'f15a29fb17b681ef55885ca36d3d5f899cbaca83', class: createColorClasses$1(color, {
18076
18075
  [mode]: true,
18077
18076
  'has-focus': hasFocus,
18078
18077
  [`input-otp-size-${size}`]: true,
@@ -18080,10 +18079,10 @@ class InputOTP {
18080
18079
  [`input-otp-fill-${fill}`]: true,
18081
18080
  'input-otp-disabled': disabled,
18082
18081
  'input-otp-readonly': readonly,
18083
- }) }, 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: {
18082
+ }) }, hAsync("div", Object.assign({ key: 'd7e1d4edd8aafcf2ed4313301287282e90fc7e82', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper" }, hAsync("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: '3724a3159d02860971879a906092f9965f5a7c47', class: {
18084
18083
  'input-otp-description': true,
18085
18084
  'input-otp-description-hidden': !hasDescription,
18086
- } }, hAsync("slot", { key: '63a4b07ef5e3174cc75cdaed59305cdaebcfd1ad' }))));
18085
+ } }, hAsync("slot", { key: '11baa2624926a08274508afe0833d9237a8dc35c' }))));
18087
18086
  }
18088
18087
  get el() { return getElement(this); }
18089
18088
  static get watchers() { return {
@@ -18183,16 +18182,16 @@ class InputPasswordToggle {
18183
18182
  const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
18184
18183
  const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
18185
18184
  const isPasswordVisible = type === 'text';
18186
- return (hAsync(Host, { key: '07e26969f77ad361e358efe33a3b3728d9669017', class: createColorClasses$1(color, {
18185
+ return (hAsync(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses$1(color, {
18187
18186
  [mode]: true,
18188
- }) }, 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) => {
18187
+ }) }, hAsync("ion-button", { key: 'f3e436422110c9cb4d5c0b83500255b24ab4cdef', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', role: "switch", type: "button", onPointerDown: (ev) => {
18189
18188
  /**
18190
18189
  * This prevents mobile browsers from
18191
18190
  * blurring the input when the password toggle
18192
18191
  * button is activated.
18193
18192
  */
18194
18193
  ev.preventDefault();
18195
- }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'd7b1f55b77b71bf2c147f3bde83de1e9083f70ba', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
18194
+ }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '5c8b121153f148f92aa7cba0447673a4f6f3ad1e', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
18196
18195
  }
18197
18196
  get el() { return getElement(this); }
18198
18197
  static get watchers() { return {
@@ -18523,11 +18522,11 @@ class ItemDivider {
18523
18522
  }
18524
18523
  render() {
18525
18524
  const mode = getIonMode$1(this);
18526
- return (hAsync(Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: createColorClasses$1(this.color, {
18525
+ return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
18527
18526
  [mode]: true,
18528
18527
  'item-divider-sticky': this.sticky,
18529
18528
  item: true,
18530
- }) }, 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" }))));
18529
+ }) }, hAsync("slot", { key: '39105d888e115416c3a3fe588da44b4c61f4e5fe', name: "start" }), hAsync("div", { key: '67e16f1056bd39187f3629c1bb383b7abbda829b', class: "item-divider-inner" }, hAsync("div", { key: 'b3a218fdcc7b9aeab6e0155340152d39fa0b6329', class: "item-divider-wrapper" }, hAsync("slot", { key: '69d8587533b387869d34b075d02f61396858fc90' })), hAsync("slot", { key: 'b91c654699b3b26d0012ea0c719c4a07d1fcfbaa', name: "end" }))));
18531
18530
  }
18532
18531
  get el() { return getElement(this); }
18533
18532
  static get style() { return {
@@ -18557,7 +18556,7 @@ class ItemGroup {
18557
18556
  }
18558
18557
  render() {
18559
18558
  const mode = getIonMode$1(this);
18560
- return (hAsync(Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
18559
+ return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
18561
18560
  [mode]: true,
18562
18561
  // Used internally for styling
18563
18562
  [`item-group-${mode}`]: true,
@@ -18627,12 +18626,12 @@ class ItemOption {
18627
18626
  href: this.href,
18628
18627
  target: this.target,
18629
18628
  };
18630
- return (hAsync(Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
18629
+ return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
18631
18630
  [mode]: true,
18632
18631
  'item-option-disabled': disabled,
18633
18632
  'item-option-expandable': expandable,
18634
18633
  'ion-activatable': true,
18635
- }) }, 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' }))));
18634
+ }) }, hAsync(TagType, Object.assign({ key: '5a7140eb99da5ec82fe2ea3ea134513130763399' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: '9b8577e612706b43e575c9a20f2f9d35c0d1bcb1', class: "button-inner" }, hAsync("slot", { key: '9acb82f04e4822bfaa363cc2c4d29d5c0fec0ad6', name: "top" }), hAsync("div", { key: '66f5fb4fdd0c39f205574c602c793dcf109c7a17', class: "horizontal-wrapper" }, hAsync("slot", { key: '3761a32bca7c6c41b7eb394045497cfde181a62a', name: "start" }), hAsync("slot", { key: 'a96a568955cf6962883dc6771726d3d07462da00', name: "icon-only" }), hAsync("slot", { key: 'af5dfe5eb41456b9359bafe3615b576617ed7b57' }), hAsync("slot", { key: '00426958066ab7b949ff966fabad5cf8a0b54079', name: "end" })), hAsync("slot", { key: 'ae66c8bd536a9f27865f49240980d7b4b831b229', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '30df6c935ef8a3f28a6bc1f3bb162ca4f80aaf26' }))));
18636
18635
  }
18637
18636
  get el() { return getElement(this); }
18638
18637
  static get style() { return {
@@ -18681,7 +18680,7 @@ class ItemOptions {
18681
18680
  render() {
18682
18681
  const mode = getIonMode$1(this);
18683
18682
  const isEnd = isEndSide(this.side);
18684
- return (hAsync(Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
18683
+ return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
18685
18684
  [mode]: true,
18686
18685
  // Used internally for styling
18687
18686
  [`item-options-${mode}`]: true,
@@ -19146,7 +19145,7 @@ class ItemSliding {
19146
19145
  }
19147
19146
  render() {
19148
19147
  const mode = getIonMode$1(this);
19149
- return (hAsync(Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
19148
+ return (hAsync(Host, { key: 'd812322c9fb5da4ee16e99dc38bfb24cb4590d03', class: {
19150
19149
  [mode]: true,
19151
19150
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
19152
19151
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -19251,13 +19250,13 @@ class Label {
19251
19250
  render() {
19252
19251
  const position = this.position;
19253
19252
  const mode = getIonMode$1(this);
19254
- return (hAsync(Host, { key: '684ddfa719e34d743489ff05a0df067829257c73', class: createColorClasses$1(this.color, {
19253
+ return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
19255
19254
  [mode]: true,
19256
19255
  'in-item-color': hostContext('ion-item.ion-color', this.el),
19257
19256
  [`label-${position}`]: position !== undefined,
19258
19257
  [`label-no-animate`]: this.noAnimate,
19259
19258
  'label-rtl': document.dir === 'rtl',
19260
- }) }, hAsync("slot", { key: '4aace3e2b36250e832c44f63bea21116d77220fb' })));
19259
+ }) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
19261
19260
  }
19262
19261
  get el() { return getElement(this); }
19263
19262
  static get watchers() { return {
@@ -19313,7 +19312,7 @@ class List {
19313
19312
  render() {
19314
19313
  const mode = getIonMode$1(this);
19315
19314
  const { lines, inset } = this;
19316
- return (hAsync(Host, { key: '76580117b59d26e355e89f49b385fa8db05026a2', role: "list", class: {
19315
+ return (hAsync(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
19317
19316
  [mode]: true,
19318
19317
  // Used internally for styling
19319
19318
  [`list-${mode}`]: true,
@@ -19355,10 +19354,10 @@ class ListHeader {
19355
19354
  render() {
19356
19355
  const { lines } = this;
19357
19356
  const mode = getIonMode$1(this);
19358
- return (hAsync(Host, { key: '2e529021279761b2b2889885437f619b0e8f71c4', class: createColorClasses$1(this.color, {
19357
+ return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
19359
19358
  [mode]: true,
19360
19359
  [`list-header-lines-${lines}`]: lines !== undefined,
19361
- }) }, hAsync("div", { key: '9a6a11b0db015df79374f6489a40b959bc80b3e4', class: "list-header-inner" }, hAsync("slot", { key: 'ef347fc6afb47850797e2e4d1aeefcd6a318f789' }))));
19360
+ }) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
19362
19361
  }
19363
19362
  static get style() { return {
19364
19363
  ios: listHeaderIosCss,
@@ -19643,9 +19642,9 @@ class Loading {
19643
19642
  * Otherwise, don't set aria-labelledby.
19644
19643
  */
19645
19644
  const ariaLabelledBy = message !== undefined ? msgId : null;
19646
- return (hAsync(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19645
+ return (hAsync(Host, Object.assign({ key: '4497183ce220242abe19ae15f328f9a92ccafbbc', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19647
19646
  zIndex: `${40000 + this.overlayIndex}`,
19648
- }, 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" })));
19647
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '231dec84e424a2dc358ce95b84d6035cf43e4dea', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'c9af29b6e6bb49a217396a5c874bbfb8835a926c', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'a8659863743cdeccbe1ba810eaabfd3ebfcb86f3', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '3b346f39bc71691bd8686556a1e142198a7b12fa', class: "loading-spinner" }, hAsync("ion-spinner", { key: '8dc2bf1556e5138e262827f1516c59ecd09f3520', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '054164c0dbae9a0e0973dd3c8e28f5b771820310', tabindex: "0", "aria-hidden": "true" })));
19649
19648
  }
19650
19649
  get el() { return getElement(this); }
19651
19650
  static get watchers() { return {
@@ -20694,14 +20693,14 @@ class Menu {
20694
20693
  * the ionBackButton listener in the menu controller
20695
20694
  * will handle closing the menu when Escape is pressed.
20696
20695
  */
20697
- return (hAsync(Host, { key: '29ef73894e2795e4ce23e59888ffb87faf4dd543', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20696
+ return (hAsync(Host, { key: '70a427f3414a476414c3386efe6c8723fd37eccf', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20698
20697
  [mode]: true,
20699
20698
  [`menu-type-${type}`]: true,
20700
20699
  'menu-enabled': !disabled,
20701
20700
  [`menu-side-${side}`]: true,
20702
20701
  'menu-pane-visible': isPaneVisible,
20703
20702
  'split-pane-side': hostContext('ion-split-pane', el),
20704
- } }, 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" })));
20703
+ } }, hAsync("div", { key: '83af04e5a47d5a92caafaf06088a7114ae61984b', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '7b35048642864bd0f30de9f6b61c949c1b601692' })), hAsync("ion-backdrop", { key: '347af516c7970d80dd11c6d1ed61e9a040ceb5fb', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
20705
20704
  }
20706
20705
  get el() { return getElement(this); }
20707
20706
  static get watchers() { return {
@@ -20809,7 +20808,7 @@ class MenuButton {
20809
20808
  type: this.type,
20810
20809
  };
20811
20810
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
20812
- return (hAsync(Host, { key: 'dcade732e366f0687d92cb9ce4065b78b0b41d24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20811
+ return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20813
20812
  [mode]: true,
20814
20813
  button: true, // ion-buttons target .button
20815
20814
  'menu-button-hidden': hidden,
@@ -20818,7 +20817,7 @@ class MenuButton {
20818
20817
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
20819
20818
  'ion-activatable': true,
20820
20819
  'ion-focusable': true,
20821
- }) }, 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" }))));
20820
+ }) }, hAsync("button", Object.assign({ key: 'ffebf7083d23501839970059ef8e411b571de197' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: 'cab0c1c763b3ce33ef11dba1d230f66126e59424', class: "button-inner" }, hAsync("slot", { key: 'ccfd2be8479b75b5c63e97e1ca7dfe203e9b36ee' }, hAsync("ion-icon", { key: 'ac254fe7f327b08f1ae3fcea89d5cf0e83c9a96c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: 'f0f17c4ca96e3eed3c1727ee00578d40af8f0115', type: "unbounded" }))));
20822
20821
  }
20823
20822
  get el() { return getElement(this); }
20824
20823
  static get style() { return {
@@ -20871,10 +20870,10 @@ class MenuToggle {
20871
20870
  render() {
20872
20871
  const mode = getIonMode$1(this);
20873
20872
  const hidden = this.autoHide && !this.visible;
20874
- return (hAsync(Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20873
+ return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20875
20874
  [mode]: true,
20876
20875
  'menu-toggle-hidden': hidden,
20877
- } }, hAsync("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
20876
+ } }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
20878
20877
  }
20879
20878
  static get style() { return menuToggleCss; }
20880
20879
  static get cmpMeta() { return {
@@ -23711,20 +23710,20 @@ class Modal {
23711
23710
  const isCardModal = presentingElement !== undefined && mode === 'ios';
23712
23711
  const isHandleCycle = handleBehavior === 'cycle';
23713
23712
  const isSheetModalWithHandle = isSheetModal && showHandle;
23714
- return (hAsync(Host, Object.assign({ key: '09af3299b0bd1daa5004fceed6d4246ebae57088', "no-router": true,
23713
+ return (hAsync(Host, Object.assign({ key: '9a75095a13de0cfc96f1fa69fd92777d25da8daa', "no-router": true,
23715
23714
  // Allow the modal to be navigable when the handle is focusable
23716
23715
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
23717
23716
  zIndex: `${20000 + this.overlayIndex}`,
23718
- }, 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',
23717
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: 'd02612d8063ef20f59f173ff47795f71cdaaf63e', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '708761b70a93e34c08faae079569f444c7416a4c', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'a72226ff1a98229f9bfd9207b98fc57e02baa430',
23719
23718
  /*
23720
23719
  role and aria-modal must be used on the
23721
23720
  same element. They must also be set inside the
23722
23721
  shadow DOM otherwise ion-button will not be highlighted
23723
23722
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
23724
23723
  */
23725
- 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",
23724
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '0547f32323882660221385d84d492929caa77c6b', class: "modal-handle",
23726
23725
  // Prevents the handle from receiving keyboard focus when it does not cycle
23727
- 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 }))));
23726
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: 'fccbd64518b6fa22f9e874deb6b4ba55d8d89c3b', onSlotchange: this.onSlotChange }))));
23728
23727
  }
23729
23728
  get el() { return getElement(this); }
23730
23729
  static get watchers() { return {
@@ -24672,7 +24671,7 @@ class Nav {
24672
24671
  }
24673
24672
  }
24674
24673
  render() {
24675
- return hAsync("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
24674
+ return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
24676
24675
  }
24677
24676
  get el() { return getElement(this); }
24678
24677
  static get watchers() { return {
@@ -24745,7 +24744,7 @@ class NavLink {
24745
24744
  };
24746
24745
  }
24747
24746
  render() {
24748
- return hAsync(Host, { key: 'd4d80feb51c0d92b0bedf6952c892f9df3002046', onClick: this.onClick });
24747
+ return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
24749
24748
  }
24750
24749
  get el() { return getElement(this); }
24751
24750
  static get cmpMeta() { return {
@@ -24776,9 +24775,9 @@ class Note {
24776
24775
  }
24777
24776
  render() {
24778
24777
  const mode = getIonMode$1(this);
24779
- return (hAsync(Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: createColorClasses$1(this.color, {
24778
+ return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
24780
24779
  [mode]: true,
24781
- }) }, hAsync("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
24780
+ }) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
24782
24781
  }
24783
24782
  static get style() { return {
24784
24783
  ios: noteIosCss,
@@ -25250,7 +25249,7 @@ let Picker$1 = class Picker {
25250
25249
  this.emitInputModeChange();
25251
25250
  }
25252
25251
  render() {
25253
- 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) => {
25252
+ return (hAsync(Host, { key: '28f81e4ed44a633178561757c5199c2c98f94b74', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, hAsync("input", { key: 'abb3d1ad25ef63856af7804111175a4d50008bc0', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
25254
25253
  var _a;
25255
25254
  /**
25256
25255
  * The "Enter" key represents
@@ -25265,7 +25264,7 @@ let Picker$1 = class Picker {
25265
25264
  if (ev.key === 'Enter') {
25266
25265
  (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
25267
25266
  }
25268
- }, 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' })));
25267
+ }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), hAsync("div", { key: '334a5abdc02e6b127c57177f626d7e4ff5526183', class: "picker-before" }), hAsync("div", { key: 'ffd6271931129e88fc7c820e919d684899e420c5', class: "picker-after" }), hAsync("div", { key: '78d1d95fd09e04f154ea59f24a1cece72c47ed7b', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), hAsync("slot", { key: '0bd5b9f875d3c71f6cbbde2054baeb1b0a2e8cd5' })));
25269
25268
  }
25270
25269
  get el() { return getElement(this); }
25271
25270
  static get style() { return {
@@ -25538,11 +25537,11 @@ class Picker {
25538
25537
  render() {
25539
25538
  const { htmlAttributes } = this;
25540
25539
  const mode = getIonMode$1(this);
25541
- return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25540
+ return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
25542
25541
  zIndex: `${20000 + this.overlayIndex}`,
25543
25542
  }, class: Object.assign({ [mode]: true,
25544
25543
  // Used internally for styling
25545
- [`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" })));
25544
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '169d1c83ef40e7fcb134219a585298b403a70b0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '98518e5f5cea2dfb8dfa63d9545e9ae3a5765023', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '151755ab8eb23f9adafbfe201349398f5a69dee7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '5dcf93b2f4fe8f4fce7c7aec8f85ef45a03ef470', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: 'fd5d66708edd38adc5a4d2fad7298969398a05e3', class: "picker-columns" }, hAsync("div", { key: '1b5830fd6cef1016af7736792c514965d6cb38a8', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'c6edeca7afd69e13c9c66ba36f261974fd0f8f78', class: "picker-below-highlight" }))), hAsync("div", { key: 'e2a4b24710e30579b14b82dbfd3761b2187797b5', tabindex: "0", "aria-hidden": "true" })));
25546
25545
  }
25547
25546
  get el() { return getElement(this); }
25548
25547
  static get watchers() { return {
@@ -26140,14 +26139,14 @@ class PickerColumn {
26140
26139
  render() {
26141
26140
  const { color, disabled, isActive, numericInput } = this;
26142
26141
  const mode = getIonMode$1(this);
26143
- return (hAsync(Host, { key: 'fc7176e47e8d8776060197343b4c15c09f312528', class: createColorClasses$1(color, {
26142
+ return (hAsync(Host, { key: 'db903fd415f8a2d91994dececca481c1af8ba6a9', class: createColorClasses$1(color, {
26144
26143
  [mode]: true,
26145
26144
  ['picker-column-active']: isActive,
26146
26145
  ['picker-column-numeric-input']: numericInput,
26147
26146
  ['picker-column-disabled']: disabled,
26148
- }) }, hAsync("slot", { key: 'fce09abdcc48afa64fd5f869b1614f9e564b6759', name: "prefix" }), hAsync("div", { key: 'fbadc7cfa4965238a1ce5d47cb3bb258fa0214a1', class: "picker-opts", ref: (el) => {
26147
+ }) }, hAsync("slot", { key: '02ce9e1dd7df91afcd50b06416552bcffb5dec98', name: "prefix" }), hAsync("div", { key: '6dfd7d2429bec19244a6b1afb4448121963a031b', class: "picker-opts", ref: (el) => {
26149
26148
  this.scrollEl = el;
26150
- }, 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" })));
26149
+ }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, hAsync("div", { key: 'e30ce0b9cefbfe4d4441fa33acf595da31855c3f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '8be2bd293c12c6ba720d9b31d0d561a96f42e97d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '8afdcddddabbf646fbb55cb0ba4448309a2c1dd9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: '6aa0dacc34d6848575ad5b122b9046982308ca43' }), hAsync("div", { key: '92ec8a357414c1b779b11d1dd18fb87a7ee63982', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'b89457cb74b5907c25594ff6720ac54ca537e933', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '5bbc92e6bc24de08e39873bf08c5b668373ac0f8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: 'd7bf2b519214f0f3576a4ca79844ad97827dd97f', name: "suffix" })));
26151
26150
  }
26152
26151
  get el() { return getElement(this); }
26153
26152
  static get watchers() { return {
@@ -26511,9 +26510,9 @@ class PickerColumnCmp {
26511
26510
  render() {
26512
26511
  const col = this.col;
26513
26512
  const mode = getIonMode$1(this);
26514
- 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: {
26513
+ return (hAsync(Host, { key: 'ed32d108dd94f0302fb453c31a3497ebae65ec37', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
26515
26514
  'max-width': this.col.columnWidth,
26516
- } }, 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))));
26515
+ } }, col.prefix && (hAsync("div", { key: '9f0634890e66fd4ae74f826d1eea3431de121393', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '337e996e5be91af16446085fe22436f213b771eb', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: 'd69a132599d78d9e5107f12228978cfce4e43098', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
26517
26516
  }
26518
26517
  get el() { return getElement(this); }
26519
26518
  static get watchers() { return {
@@ -26630,10 +26629,10 @@ class PickerColumnOption {
26630
26629
  render() {
26631
26630
  const { color, disabled, ariaLabel } = this;
26632
26631
  const mode = getIonMode$1(this);
26633
- return (hAsync(Host, { key: 'c45a1c14a351bf57d7113671164852349be5aa8a', class: createColorClasses$1(color, {
26632
+ return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
26634
26633
  [mode]: true,
26635
26634
  ['option-disabled']: disabled,
26636
- }) }, hAsync("div", { key: '824930b658c6e3fb493ac4c6c2451d38c6bc4829', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '019df4dcf46e629bdbebcd46ed3ab29669feab27' }))));
26635
+ }) }, hAsync("div", { key: 'd942de84fd14d7dc06b1e5cf4f7920d1dc3c6371', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: 'b0df5717b42209e649097209a01476e1a66f5c5c' }))));
26637
26636
  }
26638
26637
  get el() { return getElement(this); }
26639
26638
  static get watchers() { return {
@@ -28074,9 +28073,9 @@ class Popover {
28074
28073
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
28075
28074
  const desktop = isPlatform('desktop');
28076
28075
  const enableArrow = arrow && !parentPopover;
28077
- return (hAsync(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
28076
+ return (hAsync(Host, Object.assign({ key: '42863f748c93f709d433931d969230137b37d42d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
28078
28077
  zIndex: `${20000 + this.overlayIndex}`,
28079
- }, 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' })))));
28078
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '22b6d82178b52158b76ab3fd9a7dd738fd6e4bbf', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'b76335c64e992a964ed3fb91d17a992c3474b4cd', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '018c846c32e7ff7fa010528e6b37a17e5f03c84c', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '350c468c80052da3a07768bceab98fe159c35a43', class: "popover-content", part: "content" }, hAsync("slot", { key: '686443c17ac9873d33905c1cdb67e6d6da675282' })))));
28080
28079
  }
28081
28080
  get el() { return getElement(this); }
28082
28081
  static get watchers() { return {
@@ -28181,7 +28180,7 @@ class ProgressBar {
28181
28180
  const mode = getIonMode$1(this);
28182
28181
  // If the progress is displayed as a solid bar.
28183
28182
  const progressSolid = buffer === 1;
28184
- return (hAsync(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
28183
+ return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
28185
28184
  [mode]: true,
28186
28185
  [`progress-bar-${type}`]: true,
28187
28186
  'progress-paused': paused,
@@ -28366,7 +28365,7 @@ class Radio {
28366
28365
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
28367
28366
  const mode = getIonMode$1(this);
28368
28367
  const inItem = hostContext('ion-item', el);
28369
- return (hAsync(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
28368
+ return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
28370
28369
  [mode]: true,
28371
28370
  'in-item': inItem,
28372
28371
  'radio-checked': checked,
@@ -28377,10 +28376,10 @@ class Radio {
28377
28376
  // Focus and active styling should not apply when the radio is in an item
28378
28377
  'ion-activatable': !inItem,
28379
28378
  'ion-focusable': !inItem,
28380
- }), 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: {
28379
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '418a0a48366ff900e97da123abf665bbbda87fb7', class: "radio-wrapper" }, hAsync("div", { key: '6e5acdd8c8f5d0ad26632a65396afef8094153d1', class: {
28381
28380
  'label-text-wrapper': true,
28382
28381
  'label-text-wrapper-hidden': !hasLabel,
28383
- }, part: "label" }, hAsync("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), hAsync("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
28382
+ }, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
28384
28383
  }
28385
28384
  get el() { return getElement(this); }
28386
28385
  static get watchers() { return {
@@ -28619,7 +28618,7 @@ class RadioGroup {
28619
28618
  const { label, labelId, el, name, value } = this;
28620
28619
  const mode = getIonMode$1(this);
28621
28620
  renderHiddenInput(true, el, name, value, false);
28622
- 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' }))));
28621
+ return (hAsync(Host, { key: 'db593b3ed511e9395e3c7bfd91b787328692cd6d', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, class: mode }, this.renderHintText(), hAsync("div", { key: '85045b45a0100a45f3b9a35d1c5a25ec63d525c4', class: "radio-group-wrapper" }, hAsync("slot", { key: '53dacb87ce62398e78771fb2efaf839ab922d946' }))));
28623
28622
  }
28624
28623
  get el() { return getElement(this); }
28625
28624
  static get watchers() { return {
@@ -29379,7 +29378,7 @@ class Range {
29379
29378
  const needsEndAdjustment = inItem && !hasEndContent;
29380
29379
  const mode = getIonMode$1(this);
29381
29380
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
29382
- return (hAsync(Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
29381
+ return (hAsync(Host, { key: 'ef7b01f80515bcaeb2983934ad7f10a6bd5d13ec', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
29383
29382
  [mode]: true,
29384
29383
  'in-item': inItem,
29385
29384
  'range-disabled': disabled,
@@ -29388,10 +29387,10 @@ class Range {
29388
29387
  [`range-label-placement-${labelPlacement}`]: true,
29389
29388
  'range-item-start-adjustment': needsStartAdjustment,
29390
29389
  'range-item-end-adjustment': needsEndAdjustment,
29391
- }) }, hAsync("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
29390
+ }) }, hAsync("label", { key: 'fd8aa90a9d52be9da024b907e68858dae424449d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '2172b4f329c22017dd23475c80aac25ba6e753eb', class: {
29392
29391
  'label-text-wrapper': true,
29393
29392
  'label-text-wrapper-hidden': !hasLabel,
29394
- }, 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" })))));
29393
+ }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '3c318bf2ea0576646d4c010bf44573fd0f483186', class: "native-wrapper" }, hAsync("slot", { key: '6586fd6fc96271e73f8a86c202d1913ad1a26f96', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '74ac0bc2d2cb66ef708bb729f88b6ecbc1b2155d', name: "end" })))));
29395
29394
  }
29396
29395
  get el() { return getElement(this); }
29397
29396
  static get watchers() { return {
@@ -30358,7 +30357,7 @@ class Refresher {
30358
30357
  }
30359
30358
  render() {
30360
30359
  const mode = getIonMode$1(this);
30361
- return (hAsync(Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
30360
+ return (hAsync(Host, { key: '2d1bd880877b698604542ab2d602d38b9504d975', slot: "fixed", class: {
30362
30361
  [mode]: true,
30363
30362
  // Used internally for styling
30364
30363
  [`refresher-${mode}`]: true,
@@ -30582,7 +30581,7 @@ class RefresherContent {
30582
30581
  const pullingIcon = this.pullingIcon;
30583
30582
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
30584
30583
  const mode = getIonMode$1(this);
30585
- 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())));
30584
+ return (hAsync(Host, { key: 'e235f8a9a84070ece2e2066ced234a64663bfa1d', class: mode }, hAsync("div", { key: '9121691818ddaa35801a5f442e144ac27686cf19', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: 'c8d65d740f1575041bd3b752c789077927397fe4', class: "refresher-pulling-icon" }, hAsync("div", { key: '309dd904977eaa788b09ea95b7fa4996a73bec5b', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: 'a2a1480f67775d56ca7822e76be1e9f983bca2f9', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: '811d7e06d324bf4b6a18a31427a43e5177f3ae3a', class: "arrow-container" }, hAsync("ion-icon", { key: '86cc48e2e8dc054ff6ff1299094da35b524be63d', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '464ae097dbc95c18a2dd7dfd03f8489153dab719', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'ed6875978b9035add562caa743a68353743d978f', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'aff891924e44354543fec484e5cde1ca92e69904', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '842d7ac4ff10a1058775493d62f31cbdcd34f7a0', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '8c3e6195501e7e78d5cde1e3ad1fef90fd4a953f', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
30586
30585
  }
30587
30586
  get el() { return getElement(this); }
30588
30587
  static get cmpMeta() { return {
@@ -30623,7 +30622,7 @@ class Reorder {
30623
30622
  render() {
30624
30623
  const mode = getIonMode$1(this);
30625
30624
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
30626
- 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" }))));
30625
+ return (hAsync(Host, { key: 'e6807bb349725682e99e791ac65e729a360d64e8', class: mode }, hAsync("slot", { key: '1c691cdbffa6427ba08dc12184c69559ed5d5506' }, hAsync("ion-icon", { key: '8b4150302cdca475379582b2251737b5e74079b1', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
30627
30626
  }
30628
30627
  get el() { return getElement(this); }
30629
30628
  static get style() { return {
@@ -30894,7 +30893,7 @@ class ReorderGroup {
30894
30893
  }
30895
30894
  render() {
30896
30895
  const mode = getIonMode$1(this);
30897
- return (hAsync(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
30896
+ return (hAsync(Host, { key: 'b9641f3061d67fbfe68317b901ec33267046e073', class: {
30898
30897
  [mode]: true,
30899
30898
  'reorder-enabled': !this.disabled,
30900
30899
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -31010,7 +31009,7 @@ class RippleEffect {
31010
31009
  }
31011
31010
  render() {
31012
31011
  const mode = getIonMode$1(this);
31013
- return (hAsync(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
31012
+ return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
31014
31013
  [mode]: true,
31015
31014
  unbounded: this.unbounded,
31016
31015
  } }));
@@ -31969,10 +31968,10 @@ class RouterLink {
31969
31968
  rel: this.rel,
31970
31969
  target: this.target,
31971
31970
  };
31972
- return (hAsync(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses$1(this.color, {
31971
+ return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
31973
31972
  [mode]: true,
31974
31973
  'ion-activatable': true,
31975
- }) }, hAsync("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), hAsync("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
31974
+ }) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
31976
31975
  }
31977
31976
  static get style() { return routerLinkCss; }
31978
31977
  static get cmpMeta() { return {
@@ -32169,7 +32168,7 @@ class RouterOutlet {
32169
32168
  return true;
32170
32169
  }
32171
32170
  render() {
32172
- return hAsync("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
32171
+ return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
32173
32172
  }
32174
32173
  get el() { return getElement(this); }
32175
32174
  static get watchers() { return {
@@ -32202,7 +32201,7 @@ class Row {
32202
32201
  registerInstance(this, hostRef);
32203
32202
  }
32204
32203
  render() {
32205
- return (hAsync(Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
32204
+ return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
32206
32205
  }
32207
32206
  static get style() { return rowCss; }
32208
32207
  static get cmpMeta() { return {
@@ -32643,8 +32642,8 @@ class Searchbar {
32643
32642
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
32644
32643
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
32645
32644
  const shouldShowCancelButton = this.shouldShowCancelButton();
32646
- 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))));
32647
- return (hAsync(Host, { key: 'bcc5b33a2859903ba11bfc5c611c6a2aaa71d06b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
32645
+ const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '19e18775856db87daeb4b9e3d7bca0461915a0df', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: 'b3bbdcc033f3bd3441d619e4a252cef0dad4d07e', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
32646
+ return (hAsync(Host, { key: '074aa60e051bfb3225e87d44bbb6346c59c73574', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
32648
32647
  [mode]: true,
32649
32648
  'searchbar-animated': animated,
32650
32649
  'searchbar-disabled': this.disabled,
@@ -32654,14 +32653,14 @@ class Searchbar {
32654
32653
  'searchbar-has-focus': this.focused,
32655
32654
  'searchbar-should-show-clear': this.shouldShowClearButton(),
32656
32655
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
32657
- }) }, 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) => {
32656
+ }) }, hAsync("div", { key: '54f58a79fe36e85d9295157303f1be89c98bbdaf', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: 'f991a37fcf54d26b7ad10d89084764e03d97b9de', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: '8b44dd90a3292c5cf872ef16a8520675f5673494', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '79d9cfed8f01268044f82811a35d323a12dca749', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
32658
32657
  /**
32659
32658
  * This prevents mobile browsers from
32660
32659
  * blurring the input when the clear
32661
32660
  * button is activated.
32662
32661
  */
32663
32662
  ev.preventDefault();
32664
- }, 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));
32663
+ }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: 'aa3b9fa8a61f853236783ac7bcd0b113ea65ece2', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
32665
32664
  }
32666
32665
  get el() { return getElement(this); }
32667
32666
  static get watchers() { return {
@@ -33256,14 +33255,14 @@ class Segment {
33256
33255
  }
33257
33256
  render() {
33258
33257
  const mode = getIonMode$1(this);
33259
- return (hAsync(Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
33258
+ return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
33260
33259
  [mode]: true,
33261
33260
  'in-toolbar': hostContext('ion-toolbar', this.el),
33262
33261
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
33263
33262
  'segment-activated': this.activated,
33264
33263
  'segment-disabled': this.disabled,
33265
33264
  'segment-scrollable': this.scrollable,
33266
- }) }, hAsync("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
33265
+ }) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
33267
33266
  }
33268
33267
  get el() { return getElement(this); }
33269
33268
  static get watchers() { return {
@@ -33403,7 +33402,7 @@ class SegmentButton {
33403
33402
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
33404
33403
  const mode = getIonMode$1(this);
33405
33404
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
33406
- return (hAsync(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
33405
+ return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
33407
33406
  [mode]: true,
33408
33407
  'in-toolbar': hostContext('ion-toolbar', this.el),
33409
33408
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -33419,7 +33418,7 @@ class SegmentButton {
33419
33418
  'ion-activatable': true,
33420
33419
  'ion-activatable-instant': true,
33421
33420
  'ion-focusable': true,
33422
- } }, 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" }))));
33421
+ } }, hAsync("button", Object.assign({ key: '75add37f11c107d1e2cfdb154e08004e9579e863', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '8e720d2a3e304903685bf09d226a64e944d78a22', class: "button-inner" }, hAsync("slot", { key: 'c8e7b3ebf8f03042a1001155643b585283c73c65' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '3586ac317b8d82c92b0ccfbfae42f8778612321b' })), hAsync("div", { key: '9cf93957da9e8dc333c8b05327bb903385b1c5f4', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'd3b6f0b3860ec6896b46703f64ed1cc8c75612e3', part: "indicator-background", class: "segment-button-indicator-background" }))));
33423
33422
  }
33424
33423
  get el() { return getElement(this); }
33425
33424
  static get watchers() { return {
@@ -33454,7 +33453,7 @@ class SegmentContent {
33454
33453
  registerInstance(this, hostRef);
33455
33454
  }
33456
33455
  render() {
33457
- return (hAsync(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, hAsync("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
33456
+ return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
33458
33457
  }
33459
33458
  static get style() { return segmentContentCss; }
33460
33459
  static get cmpMeta() { return {
@@ -33569,10 +33568,10 @@ class SegmentView {
33569
33568
  }
33570
33569
  render() {
33571
33570
  const { disabled, isManualScroll } = this;
33572
- return (hAsync(Host, { key: '1c9bfce83967a93d63c225031a5cd688509d8fc8', class: {
33571
+ return (hAsync(Host, { key: 'e180b67bb3143a5f4611fb358c037be6fc782a8f', class: {
33573
33572
  'segment-view-disabled': disabled,
33574
33573
  'segment-view-scroll-disabled': isManualScroll === false,
33575
- } }, hAsync("slot", { key: '19fee034e76fffbdb5f622cb514037c00f9d55d5' })));
33574
+ } }, hAsync("slot", { key: '41c11d6a7406a10f5c64a2e73abfc072afd8fc73' })));
33576
33575
  }
33577
33576
  get el() { return getElement(this); }
33578
33577
  static get style() { return {
@@ -34339,7 +34338,7 @@ class Select {
34339
34338
  * TODO(FW-5592): Remove hasStartEndSlots condition
34340
34339
  */
34341
34340
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
34342
- return (hAsync(Host, { key: '9f0a833ebc3df27a42146b07bcbb181c05f5e5c4', onClick: this.onClick, class: createColorClasses$1(this.color, {
34341
+ return (hAsync(Host, { key: 'd8026835993d0e6dce747098f741a06ae4e4f54d', onClick: this.onClick, class: createColorClasses$1(this.color, {
34343
34342
  [mode]: true,
34344
34343
  'in-item': inItem,
34345
34344
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -34357,7 +34356,7 @@ class Select {
34357
34356
  [`select-justify-${justify}`]: justifyEnabled,
34358
34357
  [`select-shape-${shape}`]: shape !== undefined,
34359
34358
  [`select-label-placement-${labelPlacement}`]: true,
34360
- }) }, 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()));
34359
+ }) }, hAsync("label", { key: 'fcfb40209d6d07d49c7fdca4884b31abf6ac2567', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'f191664f2290c3890bde1156157c83a6ff17dbe2', class: "select-wrapper-inner" }, hAsync("slot", { key: '317a28d1115b4214f291e228ce0fe6fc782e57d5', name: "start" }), hAsync("div", { key: 'db68e18abd5ca3a1023d7c7b58bf89893ae18073', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '4274e042267c2234a198b0f65c89477898d08130', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '2e2eb1ee2b2791e0683d9afb186fde6e938ca59c', class: "select-highlight" })), this.renderBottomContent()));
34361
34360
  }
34362
34361
  get el() { return getElement(this); }
34363
34362
  static get watchers() { return {
@@ -34518,7 +34517,7 @@ class SelectModal {
34518
34517
  } }, option.text))));
34519
34518
  }
34520
34519
  render() {
34521
- 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()))));
34520
+ return (hAsync(Host, { key: 'b6c0dec240b2e41985b15fdf4e5a6d3a145c1567', class: getIonMode$1(this) }, hAsync("ion-header", { key: 'cd177e85ee0f62a60a3a708342d6ab6eb19a44dc' }, hAsync("ion-toolbar", { key: 'aee8222a5a4daa540ad202b2e4cac1ef93d9558c' }, this.header !== undefined && hAsync("ion-title", { key: '5f8fecc764d97bf840d3d4cfddeeccd118ab4436' }, this.header), hAsync("ion-buttons", { key: '919033950d7c2b0101f96a9c9698219de9f568ea', slot: "end" }, hAsync("ion-button", { key: '34b571cab6dced4bde555a077a21e91800829931', onClick: () => this.closeModal() }, "Close")))), hAsync("ion-content", { key: '3c9153d26ba7a5a03d3b20fcd628d0c3031661a7' }, hAsync("ion-list", { key: 'e00b222c071bc97c82ad1bba4db95a8a5c43ed6d' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
34522
34521
  }
34523
34522
  get el() { return getElement(this); }
34524
34523
  static get style() { return {
@@ -34552,7 +34551,7 @@ class SelectOption {
34552
34551
  this.disabled = false;
34553
34552
  }
34554
34553
  render() {
34555
- return hAsync(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode$1(this) });
34554
+ return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
34556
34555
  }
34557
34556
  get el() { return getElement(this); }
34558
34557
  static get style() { return selectOptionCss; }
@@ -34669,7 +34668,7 @@ class SelectPopover {
34669
34668
  render() {
34670
34669
  const { header, message, options, subHeader } = this;
34671
34670
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
34672
- 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))));
34671
+ return (hAsync(Host, { key: 'ab931b49b59283825bd2afa3f7f995b0e6e05bef', class: getIonMode$1(this) }, hAsync("ion-list", { key: '3bd12b67832607596b912a73d5b3ae9b954b244d' }, header !== undefined && hAsync("ion-list-header", { key: '97da930246edf7423a039c030d40e3ff7a5148a3' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'c579df6ea8fac07bb0c59d34c69b149656863224' }, hAsync("ion-label", { key: 'af699c5f465710ccb13b8cf8e7be66f0e8acfad1', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'df9a936d42064b134e843c7229f314a2a3ec7e80' }, subHeader), message !== undefined && hAsync("p", { key: '9c3ddad378df00f106afa94e9928cf68c17124dd' }, message)))), this.renderOptions(options))));
34673
34672
  }
34674
34673
  get el() { return getElement(this); }
34675
34674
  static get style() { return {
@@ -34719,11 +34718,11 @@ class SkeletonText {
34719
34718
  const animated = this.animated && config.getBoolean('animated', true);
34720
34719
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
34721
34720
  const mode = getIonMode$1(this);
34722
- return (hAsync(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
34721
+ return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
34723
34722
  [mode]: true,
34724
34723
  'skeleton-text-animated': animated,
34725
34724
  'in-media': inMedia,
34726
- } }, hAsync("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
34725
+ } }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
34727
34726
  }
34728
34727
  get el() { return getElement(this); }
34729
34728
  static get style() { return skeletonTextCss; }
@@ -34775,7 +34774,7 @@ class Spinner {
34775
34774
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
34776
34775
  }
34777
34776
  }
34778
- return (hAsync(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses$1(self.color, {
34777
+ return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
34779
34778
  [mode]: true,
34780
34779
  [`spinner-${spinnerName}`]: true,
34781
34780
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -34874,12 +34873,12 @@ class SplitPane {
34874
34873
  }
34875
34874
  render() {
34876
34875
  const mode = getIonMode$1(this);
34877
- return (hAsync(Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
34876
+ return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
34878
34877
  [mode]: true,
34879
34878
  // Used internally for styling
34880
34879
  [`split-pane-${mode}`]: true,
34881
34880
  'split-pane-visible': this.visible,
34882
- } }, hAsync("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
34881
+ } }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
34883
34882
  }
34884
34883
  get el() { return getElement(this); }
34885
34884
  static get watchers() { return {
@@ -34945,10 +34944,10 @@ class Tab {
34945
34944
  }
34946
34945
  render() {
34947
34946
  const { tab, active, component } = this;
34948
- return (hAsync(Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34947
+ return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
34949
34948
  'ion-page': component === undefined,
34950
34949
  'tab-hidden': !active,
34951
- } }, hAsync("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
34950
+ } }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
34952
34951
  }
34953
34952
  get el() { return getElement(this); }
34954
34953
  static get watchers() { return {
@@ -35040,11 +35039,11 @@ class TabBar {
35040
35039
  const { color, translucent, keyboardVisible } = this;
35041
35040
  const mode = getIonMode$1(this);
35042
35041
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
35043
- return (hAsync(Host, { key: '47ddafd51bb665679dfdef0588df97ec63dce5ca', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
35042
+ return (hAsync(Host, { key: '388ec37ce308035bab78d6c9a016bb616e9517a9', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
35044
35043
  [mode]: true,
35045
35044
  'tab-bar-translucent': translucent,
35046
35045
  'tab-bar-hidden': shouldHide,
35047
- }) }, hAsync("slot", { key: 'a4fc2dc72518023db6b7d17fb689e2841e833252' })));
35046
+ }) }, hAsync("slot", { key: 'ce10ade2b86725e24f3254516483eeedd8ecb16a' })));
35048
35047
  }
35049
35048
  get el() { return getElement(this); }
35050
35049
  static get watchers() { return {
@@ -35140,7 +35139,7 @@ class TabButton {
35140
35139
  rel,
35141
35140
  target,
35142
35141
  };
35143
- return (hAsync(Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
35142
+ return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
35144
35143
  [mode]: true,
35145
35144
  'tab-selected': selected,
35146
35145
  'tab-disabled': disabled,
@@ -35152,7 +35151,7 @@ class TabButton {
35152
35151
  'ion-activatable': true,
35153
35152
  'ion-selectable': true,
35154
35153
  'ion-focusable': true,
35155
- } }, 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" }))));
35154
+ } }, hAsync("a", Object.assign({ key: '01cb0ed2e77c5c1a8abd48da1bb07ac1b305d0b6' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: 'd0240c05f42217cfb186b86ff8a0c9cd70b9c8df', class: "button-inner" }, hAsync("slot", { key: '0a20b84925037dbaa8bb4a495b813d3f7c2e58ac' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '4c92c27178cdac89d69cffef8d2c39c3644914e8', type: "unbounded" }))));
35156
35155
  }
35157
35156
  get el() { return getElement(this); }
35158
35157
  static get style() { return {
@@ -35343,7 +35342,7 @@ class Tabs {
35343
35342
  return Array.from(this.el.querySelectorAll('ion-tab'));
35344
35343
  }
35345
35344
  render() {
35346
- 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" })));
35345
+ return (hAsync(Host, { key: '7b4b302f2942d8d131f6fc24e817989a8be08867', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '2c51cf14c0f17a8ddf2d879858c984cdf8fd3147', name: "top" }), hAsync("div", { key: '7e9d6055092d41bd9bc80ae15965f77e216feb84', class: "tabs-inner" }, hAsync("slot", { key: 'c308a787e37ff7f6653531d70deca597a7602d26' })), hAsync("slot", { key: 'd5f5e693710c853570811602f859cf3e88272684', name: "bottom" })));
35347
35346
  }
35348
35347
  get el() { return getElement(this); }
35349
35348
  static get style() { return tabsCss; }
@@ -35383,9 +35382,9 @@ class Text {
35383
35382
  }
35384
35383
  render() {
35385
35384
  const mode = getIonMode$1(this);
35386
- return (hAsync(Host, { key: 'bfaa49d35f43b8036725ae8a322c716fc6e43bdf', class: createColorClasses$1(this.color, {
35385
+ return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
35387
35386
  [mode]: true,
35388
- }) }, hAsync("slot", { key: 'c04880cd1935b42cbe60f58fd523b4d8a96072dc' })));
35387
+ }) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
35389
35388
  }
35390
35389
  static get style() { return textCss; }
35391
35390
  static get cmpMeta() { return {
@@ -35846,7 +35845,7 @@ class Textarea {
35846
35845
  * TODO(FW-5592): Remove hasStartEndSlots condition
35847
35846
  */
35848
35847
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
35849
- return (hAsync(Host, { key: '2c9de566803dd007cee3639ddd04accb68663b32', class: createColorClasses$1(this.color, {
35848
+ return (hAsync(Host, { key: 'a70a62d7aae3831a50acd74f60b930925ada1326', class: createColorClasses$1(this.color, {
35850
35849
  [mode]: true,
35851
35850
  'has-value': hasValue,
35852
35851
  'has-focus': hasFocus,
@@ -35855,7 +35854,7 @@ class Textarea {
35855
35854
  [`textarea-shape-${shape}`]: shape !== undefined,
35856
35855
  [`textarea-label-placement-${labelPlacement}`]: true,
35857
35856
  'textarea-disabled': disabled,
35858
- }) }, 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()));
35857
+ }) }, hAsync("label", { key: '8a2dd59a60f7469df84018eb0ede3a9ec3862703', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '1bfc368236e3da7a225a45118c27fbfc1fe5fa46', class: "textarea-wrapper-inner" }, hAsync("div", { key: '215cbb2635ff52e31a8973376989b85e7245d40f', class: "start-slot-wrapper" }, hAsync("slot", { key: '9f6b461cdee9d629deb695d2bea054ece2f32305', name: "start" })), hAsync("div", { key: 'c1af35a2d5bc452bebe0b22a26d15ff52b4e9fc8', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: '69a69b3cf0932baafbe37e6e846f1a571608d3f2', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), hAsync("div", { key: 'c053ea8b865d0e29763aed2e4939cc9c9e374c15', class: "end-slot-wrapper" }, hAsync("slot", { key: '930aa641833b0df54b9ea10368fc2f46d5f491f6', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: '8d12597d15f5f429d80e8272ea99e64ed924e482', class: "textarea-highlight" })), this.renderBottomContent()));
35859
35858
  }
35860
35859
  get el() { return getElement(this); }
35861
35860
  static get watchers() { return {
@@ -35918,7 +35917,7 @@ class Thumbnail {
35918
35917
  registerInstance(this, hostRef);
35919
35918
  }
35920
35919
  render() {
35921
- return (hAsync(Host, { key: 'b250e01664238f1dca8f9757b15bc3d5d9387ffa', class: getIonMode$1(this) }, hAsync("slot", { key: '72cb568bccabc983c5186a7596ef6c6d4ebf5ad9' })));
35920
+ return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
35922
35921
  }
35923
35922
  static get style() { return thumbnailCss; }
35924
35923
  static get cmpMeta() { return {
@@ -36776,9 +36775,9 @@ class Toast {
36776
36775
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
36777
36776
  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);
36778
36777
  }
36779
- return (hAsync(Host, Object.assign({ key: '4a303f9ebb69614e9dca677d9d80a4a275de0d85', tabindex: "-1" }, this.htmlAttributes, { style: {
36778
+ return (hAsync(Host, Object.assign({ key: 'd1ecd90c87700aad4685e230cdd430aa286b8791', tabindex: "-1" }, this.htmlAttributes, { style: {
36780
36779
  zIndex: `${60000 + this.overlayIndex}`,
36781
- }, 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')))));
36780
+ }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '4bfc863417324de69e222054d5cf9c452038b41e', class: wrapperClass }, hAsync("div", { key: '3417940afec0392e81b7d54c7cb00f3ab6c30d47', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '6bf878fbc85c01e1e5faa9d97d46255a6511a952', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '54b500348a9c37660c3aff37436d9188e4374947', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
36782
36781
  }
36783
36782
  get el() { return getElement(this); }
36784
36783
  static get watchers() { return {
@@ -37090,7 +37089,7 @@ class Toggle {
37090
37089
  const value = this.getValue();
37091
37090
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
37092
37091
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
37093
- 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, {
37092
+ return (hAsync(Host, { key: 'f569148edd89ee041a4719ffc4733c16b05229bd', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses$1(color, {
37094
37093
  [mode]: true,
37095
37094
  'in-item': hostContext('ion-item', el),
37096
37095
  'toggle-activated': activated,
@@ -37100,10 +37099,10 @@ class Toggle {
37100
37099
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
37101
37100
  [`toggle-label-placement-${labelPlacement}`]: true,
37102
37101
  [`toggle-${rtl}`]: true,
37103
- }) }, 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: {
37102
+ }) }, hAsync("label", { key: '3027f2ac4be6de422a14486d847fbee77f615db1', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '4b0304c9e879e432b80184b4e5de37d55c11b436', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), hAsync("div", { key: '8ef265ec942e7f01ff31cbb202ed146c6bf94e02', class: {
37104
37103
  'label-text-wrapper': true,
37105
37104
  'label-text-wrapper-hidden': !hasLabel,
37106
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '006dd3558264d69ab020c07005b348adc4ecdd5b' }), this.renderHintText()), hAsync("div", { key: 'dd4e52de31caabee41ec1bc58efecd1e213368c9', class: "native-wrapper" }, this.renderToggleControl()))));
37105
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '7b162b7dd27199cca2a4c995276a18b9f8e44aaf' }), this.renderHintText()), hAsync("div", { key: 'd13c34bd42fca01cc73ddb4ea7e471b33a282a3e', class: "native-wrapper" }, this.renderToggleControl()))));
37107
37106
  }
37108
37107
  get el() { return getElement(this); }
37109
37108
  static get watchers() { return {
@@ -37213,10 +37212,10 @@ class Toolbar {
37213
37212
  this.childrenStyles.forEach((value) => {
37214
37213
  Object.assign(childStyles, value);
37215
37214
  });
37216
- return (hAsync(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
37215
+ return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
37217
37216
  [mode]: true,
37218
37217
  'in-toolbar': hostContext('ion-toolbar', this.el),
37219
- })) }, 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" }))));
37218
+ })) }, hAsync("div", { key: '9c81742ffa02de9ba7417025b077d05e67305074', class: "toolbar-background", part: "background" }), hAsync("div", { key: '5fc96d166fa47894a062e41541a9beee38078a36', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'b62c0d9d59a70176bdbf769aec6090d7a166853b', name: "start" }), hAsync("slot", { key: 'd01d3cc2c50e5aaa49c345b209fe8dbdf3d48131', name: "secondary" }), hAsync("div", { key: '3aaa3a2810aedd38c37eb616158ec7b9638528fc', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '357246690f8d5e1cc3ca369611d4845a79edf610' })), hAsync("slot", { key: '06ed3cca4f7ebff4a54cd877dad3cc925ccf9f75', name: "primary" }), hAsync("slot", { key: 'e453d43d14a26b0d72f41e1b81a554bab8ece811', name: "end" }))));
37220
37219
  }
37221
37220
  get el() { return getElement(this); }
37222
37221
  static get style() { return {
@@ -37262,11 +37261,11 @@ class ToolbarTitle {
37262
37261
  render() {
37263
37262
  const mode = getIonMode$1(this);
37264
37263
  const size = this.getSize();
37265
- return (hAsync(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses$1(this.color, {
37264
+ return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
37266
37265
  [mode]: true,
37267
37266
  [`title-${size}`]: true,
37268
37267
  'title-rtl': document.dir === 'rtl',
37269
- }) }, hAsync("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, hAsync("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
37268
+ }) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
37270
37269
  }
37271
37270
  get el() { return getElement(this); }
37272
37271
  static get watchers() { return {