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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/components/header.js +2 -2
  2. package/components/ion-datetime-button.js +2 -2
  3. package/components/ion-datetime.js +59 -83
  4. package/components/ion-fab-button.js +2 -2
  5. package/components/ion-fab-list.js +2 -2
  6. package/components/ion-fab.js +2 -2
  7. package/components/ion-footer.js +2 -2
  8. package/components/ion-grid.js +2 -2
  9. package/components/ion-img.js +1 -1
  10. package/components/ion-infinite-scroll-content.js +2 -2
  11. package/components/ion-infinite-scroll.js +1 -1
  12. package/components/ion-input-otp.js +3 -3
  13. package/components/ion-input-password-toggle.js +3 -3
  14. package/components/ion-input.js +3 -3
  15. package/components/ion-item-divider.js +2 -2
  16. package/components/ion-item-group.js +1 -1
  17. package/components/ion-item-option.js +2 -2
  18. package/components/ion-item-options.js +1 -1
  19. package/components/ion-item-sliding.js +1 -1
  20. package/components/ion-loading.js +2 -2
  21. package/components/ion-menu-button.js +2 -2
  22. package/components/ion-menu-toggle.js +2 -2
  23. package/components/ion-menu.js +2 -2
  24. package/components/ion-nav-link.js +1 -1
  25. package/components/ion-nav.js +1 -1
  26. package/components/ion-note.js +2 -2
  27. package/components/ion-picker-legacy.js +2 -2
  28. package/components/ion-progress-bar.js +1 -1
  29. package/components/ion-range.js +3 -3
  30. package/components/ion-refresher-content.js +1 -1
  31. package/components/ion-refresher.js +1 -1
  32. package/components/ion-reorder-group.js +1 -1
  33. package/components/ion-reorder.js +1 -1
  34. package/components/ion-router-link.js +2 -2
  35. package/components/ion-router-outlet.js +1 -1
  36. package/components/ion-row.js +1 -1
  37. package/components/ion-searchbar.js +4 -4
  38. package/components/ion-segment-button.js +2 -2
  39. package/components/ion-segment-content.js +1 -1
  40. package/components/ion-segment-view.js +2 -2
  41. package/components/ion-segment.js +2 -2
  42. package/components/ion-select-option.js +1 -1
  43. package/components/ion-select.js +2 -2
  44. package/components/ion-skeleton-text.js +2 -2
  45. package/components/ion-split-pane.js +2 -2
  46. package/components/ion-tab-bar.js +2 -2
  47. package/components/ion-tab-button.js +2 -2
  48. package/components/ion-tab.js +2 -2
  49. package/components/ion-tabs.js +1 -1
  50. package/components/ion-text.js +2 -2
  51. package/components/ion-textarea.js +2 -2
  52. package/components/ion-thumbnail.js +1 -1
  53. package/components/ion-toast.js +2 -2
  54. package/components/ion-toggle.js +3 -3
  55. package/components/label.js +2 -2
  56. package/components/list-header.js +2 -2
  57. package/components/list.js +1 -1
  58. package/components/modal.js +4 -4
  59. package/components/picker-column-option.js +2 -2
  60. package/components/picker-column.js +3 -3
  61. package/components/picker-column2.js +2 -2
  62. package/components/picker.js +2 -2
  63. package/components/popover.js +2 -2
  64. package/components/radio-group.js +1 -1
  65. package/components/radio.js +3 -3
  66. package/components/ripple-effect.js +1 -1
  67. package/components/select-modal.js +1 -1
  68. package/components/select-popover.js +1 -1
  69. package/components/spinner.js +1 -1
  70. package/components/title.js +2 -2
  71. package/components/toolbar.js +2 -2
  72. package/dist/cjs/ion-app_8.cjs.entry.js +9 -9
  73. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  74. package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
  75. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-datetime_3.cjs.entry.js +63 -87
  77. package/dist/cjs/ion-fab_3.cjs.entry.js +6 -6
  78. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  79. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  80. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  81. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
  82. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  83. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  84. package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
  85. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  86. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  87. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  88. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  90. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  91. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  92. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  93. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  94. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  95. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  96. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  97. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  98. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  99. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  100. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  101. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  102. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  103. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  104. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  105. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  106. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  107. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  108. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  109. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  110. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  112. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  113. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  114. package/dist/collection/components/datetime/datetime.js +59 -83
  115. package/dist/collection/components/datetime-button/datetime-button.js +2 -2
  116. package/dist/collection/components/fab/fab.js +2 -2
  117. package/dist/collection/components/fab-button/fab-button.js +2 -2
  118. package/dist/collection/components/fab-list/fab-list.js +2 -2
  119. package/dist/collection/components/footer/footer.js +2 -2
  120. package/dist/collection/components/grid/grid.js +2 -2
  121. package/dist/collection/components/header/header.js +2 -2
  122. package/dist/collection/components/img/img.js +1 -1
  123. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  124. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  125. package/dist/collection/components/input/input.js +3 -3
  126. package/dist/collection/components/input-otp/input-otp.js +3 -3
  127. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  128. package/dist/collection/components/item-divider/item-divider.js +2 -2
  129. package/dist/collection/components/item-group/item-group.js +1 -1
  130. package/dist/collection/components/item-option/item-option.js +2 -2
  131. package/dist/collection/components/item-options/item-options.js +1 -1
  132. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  133. package/dist/collection/components/label/label.js +2 -2
  134. package/dist/collection/components/list/list.js +1 -1
  135. package/dist/collection/components/list-header/list-header.js +2 -2
  136. package/dist/collection/components/loading/loading.js +2 -2
  137. package/dist/collection/components/menu/menu.js +2 -2
  138. package/dist/collection/components/menu-button/menu-button.js +2 -2
  139. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  140. package/dist/collection/components/modal/modal.js +4 -4
  141. package/dist/collection/components/nav/nav.js +1 -1
  142. package/dist/collection/components/nav-link/nav-link.js +1 -1
  143. package/dist/collection/components/note/note.js +2 -2
  144. package/dist/collection/components/picker/picker.js +2 -2
  145. package/dist/collection/components/picker-column/picker-column.js +3 -3
  146. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  147. package/dist/collection/components/picker-legacy/picker.js +2 -2
  148. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  149. package/dist/collection/components/popover/popover.js +2 -2
  150. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  151. package/dist/collection/components/radio/radio.js +3 -3
  152. package/dist/collection/components/radio-group/radio-group.js +1 -1
  153. package/dist/collection/components/range/range.js +3 -3
  154. package/dist/collection/components/refresher/refresher.js +1 -1
  155. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  156. package/dist/collection/components/reorder/reorder.js +1 -1
  157. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  158. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  159. package/dist/collection/components/router-link/router-link.js +2 -2
  160. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  161. package/dist/collection/components/row/row.js +1 -1
  162. package/dist/collection/components/searchbar/searchbar.js +4 -4
  163. package/dist/collection/components/segment/segment.js +2 -2
  164. package/dist/collection/components/segment-button/segment-button.js +2 -2
  165. package/dist/collection/components/segment-content/segment-content.js +1 -1
  166. package/dist/collection/components/segment-view/segment-view.js +2 -2
  167. package/dist/collection/components/select/select.js +2 -2
  168. package/dist/collection/components/select-modal/select-modal.js +1 -1
  169. package/dist/collection/components/select-option/select-option.js +1 -1
  170. package/dist/collection/components/select-popover/select-popover.js +1 -1
  171. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  172. package/dist/collection/components/spinner/spinner.js +1 -1
  173. package/dist/collection/components/split-pane/split-pane.js +2 -2
  174. package/dist/collection/components/tab/tab.js +2 -2
  175. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  176. package/dist/collection/components/tab-button/tab-button.js +2 -2
  177. package/dist/collection/components/tabs/tabs.js +1 -1
  178. package/dist/collection/components/text/text.js +2 -2
  179. package/dist/collection/components/textarea/textarea.js +2 -2
  180. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  181. package/dist/collection/components/title/title.js +2 -2
  182. package/dist/collection/components/toast/toast.js +2 -2
  183. package/dist/collection/components/toggle/toggle.js +3 -3
  184. package/dist/collection/components/toolbar/toolbar.js +2 -2
  185. package/dist/docs.json +1 -1
  186. package/dist/esm/ion-app_8.entry.js +9 -9
  187. package/dist/esm/ion-avatar_3.entry.js +1 -1
  188. package/dist/esm/ion-col_3.entry.js +3 -3
  189. package/dist/esm/ion-datetime-button.entry.js +2 -2
  190. package/dist/esm/ion-datetime_3.entry.js +63 -87
  191. package/dist/esm/ion-fab_3.entry.js +6 -6
  192. package/dist/esm/ion-img.entry.js +1 -1
  193. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  194. package/dist/esm/ion-input-otp.entry.js +3 -3
  195. package/dist/esm/ion-input-password-toggle.entry.js +3 -3
  196. package/dist/esm/ion-input.entry.js +3 -3
  197. package/dist/esm/ion-item-option_3.entry.js +4 -4
  198. package/dist/esm/ion-item_8.entry.js +12 -12
  199. package/dist/esm/ion-loading.entry.js +2 -2
  200. package/dist/esm/ion-menu_3.entry.js +6 -6
  201. package/dist/esm/ion-modal.entry.js +4 -4
  202. package/dist/esm/ion-nav_2.entry.js +2 -2
  203. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  204. package/dist/esm/ion-picker-column.entry.js +3 -3
  205. package/dist/esm/ion-picker.entry.js +2 -2
  206. package/dist/esm/ion-popover.entry.js +2 -2
  207. package/dist/esm/ion-progress-bar.entry.js +1 -1
  208. package/dist/esm/ion-radio_2.entry.js +4 -4
  209. package/dist/esm/ion-range.entry.js +3 -3
  210. package/dist/esm/ion-refresher_2.entry.js +2 -2
  211. package/dist/esm/ion-reorder_2.entry.js +2 -2
  212. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  213. package/dist/esm/ion-route_4.entry.js +2 -2
  214. package/dist/esm/ion-searchbar.entry.js +4 -4
  215. package/dist/esm/ion-segment-content.entry.js +1 -1
  216. package/dist/esm/ion-segment-view.entry.js +2 -2
  217. package/dist/esm/ion-segment_2.entry.js +4 -4
  218. package/dist/esm/ion-select-modal.entry.js +1 -1
  219. package/dist/esm/ion-select_3.entry.js +4 -4
  220. package/dist/esm/ion-spinner.entry.js +1 -1
  221. package/dist/esm/ion-split-pane.entry.js +2 -2
  222. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  223. package/dist/esm/ion-tab_2.entry.js +3 -3
  224. package/dist/esm/ion-text.entry.js +2 -2
  225. package/dist/esm/ion-textarea.entry.js +2 -2
  226. package/dist/esm/ion-toast.entry.js +2 -2
  227. package/dist/esm/ion-toggle.entry.js +3 -3
  228. package/dist/ionic/ionic.esm.js +1 -1
  229. package/dist/ionic/{p-074839fc.entry.js → p-01e27965.entry.js} +1 -1
  230. package/dist/ionic/{p-ea509e3c.entry.js → p-0852af24.entry.js} +1 -1
  231. package/dist/ionic/p-0ca0fe9c.entry.js +4 -0
  232. package/dist/ionic/{p-72c38b88.entry.js → p-20f135b4.entry.js} +1 -1
  233. package/dist/ionic/{p-316c0420.entry.js → p-221a3d8c.entry.js} +1 -1
  234. package/dist/ionic/{p-3a6caca9.entry.js → p-2668188b.entry.js} +1 -1
  235. package/dist/ionic/{p-d3014190.entry.js → p-2bd1ea35.entry.js} +1 -1
  236. package/dist/ionic/p-2ccaee5c.entry.js +4 -0
  237. package/dist/ionic/{p-a127bee2.entry.js → p-30333874.entry.js} +1 -1
  238. package/dist/ionic/{p-1647c46c.entry.js → p-363d1209.entry.js} +1 -1
  239. package/dist/ionic/{p-a8ed848b.entry.js → p-3b0b7a05.entry.js} +1 -1
  240. package/dist/ionic/p-43c5249f.entry.js +4 -0
  241. package/dist/ionic/{p-0dfa5a37.entry.js → p-530fcd71.entry.js} +1 -1
  242. package/dist/ionic/{p-0bf76d0f.entry.js → p-59a5cdf5.entry.js} +1 -1
  243. package/dist/ionic/{p-40c261a3.entry.js → p-64841854.entry.js} +1 -1
  244. package/dist/ionic/{p-dbbe606a.entry.js → p-652318c3.entry.js} +1 -1
  245. package/dist/ionic/{p-675b1a31.entry.js → p-65db57d7.entry.js} +1 -1
  246. package/dist/ionic/{p-0abeb0fc.entry.js → p-67f46577.entry.js} +1 -1
  247. package/dist/ionic/{p-cc45bcbc.entry.js → p-69c6fe52.entry.js} +1 -1
  248. package/dist/ionic/{p-2a939845.entry.js → p-6f37536a.entry.js} +1 -1
  249. package/dist/ionic/{p-cebb0328.entry.js → p-75ebaa15.entry.js} +1 -1
  250. package/dist/ionic/p-7f98e710.entry.js +4 -0
  251. package/dist/ionic/{p-6d070558.entry.js → p-82d5bb3d.entry.js} +1 -1
  252. package/dist/ionic/{p-11518b31.entry.js → p-85ee4a92.entry.js} +1 -1
  253. package/dist/ionic/{p-31f7095f.entry.js → p-a4a9f5ae.entry.js} +1 -1
  254. package/dist/ionic/{p-c19f63d0.entry.js → p-b30c3430.entry.js} +1 -1
  255. package/dist/ionic/{p-86f53961.entry.js → p-b8551510.entry.js} +1 -1
  256. package/dist/ionic/{p-ac4eb91d.entry.js → p-bccc9207.entry.js} +1 -1
  257. package/dist/ionic/{p-d126e8d3.entry.js → p-bce86e56.entry.js} +1 -1
  258. package/dist/ionic/{p-639dd543.entry.js → p-c175d792.entry.js} +1 -1
  259. package/dist/ionic/{p-020af078.entry.js → p-cc2a9936.entry.js} +1 -1
  260. package/dist/ionic/p-ce8dad03.entry.js +4 -0
  261. package/dist/ionic/{p-6444c606.entry.js → p-d655735d.entry.js} +1 -1
  262. package/dist/ionic/{p-b57c6d3e.entry.js → p-dbc82f0e.entry.js} +1 -1
  263. package/dist/ionic/{p-6241ce47.entry.js → p-e036eb2f.entry.js} +1 -1
  264. package/dist/ionic/{p-9575b654.entry.js → p-e48f026f.entry.js} +1 -1
  265. package/dist/ionic/{p-7268efa5.entry.js → p-e64b550c.entry.js} +1 -1
  266. package/dist/ionic/{p-46d74291.entry.js → p-ee8ecd40.entry.js} +1 -1
  267. package/dist/ionic/{p-c85a2127.entry.js → p-f097a9e5.entry.js} +1 -1
  268. package/dist/ionic/{p-f8f22cc0.entry.js → p-fb0271ae.entry.js} +1 -1
  269. package/dist/ionic/{p-370e4237.entry.js → p-fbb00634.entry.js} +1 -1
  270. package/dist/ionic/{p-ec654c42.entry.js → p-fc14f34a.entry.js} +1 -1
  271. package/dist/types/components/datetime/datetime.d.ts +1 -11
  272. package/hydrate/index.js +187 -211
  273. package/hydrate/index.mjs +187 -211
  274. package/package.json +1 -1
  275. package/dist/ionic/p-4b658a7c.entry.js +0 -4
  276. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  277. package/dist/ionic/p-51a60e0f.entry.js +0 -4
  278. package/dist/ionic/p-576e0965.entry.js +0 -4
  279. package/dist/ionic/p-94de5cfa.entry.js +0 -4
@@ -342,9 +342,9 @@ const PickerColumnCmp = /*@__PURE__*/ proxyCustomElement(class PickerColumnCmp e
342
342
  render() {
343
343
  const col = this.col;
344
344
  const mode = getIonMode(this);
345
- return (h(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: {
345
+ return (h(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: {
346
346
  'max-width': this.col.columnWidth,
347
- } }, col.prefix && (h("div", { key: '9f0634890e66fd4ae74f826d1eea3431de121393', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '337e996e5be91af16446085fe22436f213b771eb', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: 'd69a132599d78d9e5107f12228978cfce4e43098', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
347
+ } }, col.prefix && (h("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
348
348
  }
349
349
  get el() { return this; }
350
350
  static get watchers() { return {
@@ -459,7 +459,7 @@ const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement
459
459
  this.emitInputModeChange();
460
460
  }
461
461
  render() {
462
- return (h(Host, { key: '28f81e4ed44a633178561757c5199c2c98f94b74', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, h("input", { key: 'abb3d1ad25ef63856af7804111175a4d50008bc0', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
462
+ return (h(Host, { key: '2546ff9e4f6bb9f880600903cdfad67be2df014d', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, h("input", { key: '58337ea0f6e3aba819fc48bad7dc0847251f72f1', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
463
463
  var _a;
464
464
  /**
465
465
  * The "Enter" key represents
@@ -474,7 +474,7 @@ const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement
474
474
  if (ev.key === 'Enter') {
475
475
  (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
476
476
  }
477
- }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), h("div", { key: '334a5abdc02e6b127c57177f626d7e4ff5526183', class: "picker-before" }), h("div", { key: 'ffd6271931129e88fc7c820e919d684899e420c5', class: "picker-after" }), h("div", { key: '78d1d95fd09e04f154ea59f24a1cece72c47ed7b', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), h("slot", { key: '0bd5b9f875d3c71f6cbbde2054baeb1b0a2e8cd5' })));
477
+ }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), h("div", { key: '395fa256c886725de0c562d05c9da8ac8defbede', class: "picker-before" }), h("div", { key: '3471738349700fe3e9c7425a455132e2fd6e3224', class: "picker-after" }), h("div", { key: '37557bd2cfb57db4b3b98a2063f5b733c40debb8', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), h("slot", { key: '2d133fb7e178f95d02dd362a503c86abd3bb8e8d' })));
478
478
  }
479
479
  get el() { return this; }
480
480
  static get style() { return {
@@ -1423,9 +1423,9 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
1423
1423
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
1424
1424
  const desktop = isPlatform('desktop');
1425
1425
  const enableArrow = arrow && !parentPopover;
1426
- return (h(Host, Object.assign({ key: '42863f748c93f709d433931d969230137b37d42d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1426
+ return (h(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1427
1427
  zIndex: `${20000 + this.overlayIndex}`,
1428
- }, 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 && h("ion-backdrop", { key: '22b6d82178b52158b76ab3fd9a7dd738fd6e4bbf', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'b76335c64e992a964ed3fb91d17a992c3474b4cd', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '018c846c32e7ff7fa010528e6b37a17e5f03c84c', class: "popover-arrow", part: "arrow" }), h("div", { key: '350c468c80052da3a07768bceab98fe159c35a43', class: "popover-content", part: "content" }, h("slot", { key: '686443c17ac9873d33905c1cdb67e6d6da675282' })))));
1428
+ }, 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 && h("ion-backdrop", { key: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), h("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, h("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
1429
1429
  }
1430
1430
  get el() { return this; }
1431
1431
  static get watchers() { return {
@@ -249,7 +249,7 @@ const RadioGroup = /*@__PURE__*/ proxyCustomElement(class RadioGroup extends HTM
249
249
  const { label, labelId, el, name, value } = this;
250
250
  const mode = getIonMode(this);
251
251
  renderHiddenInput(true, el, name, value, false);
252
- return (h(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(), h("div", { key: '85045b45a0100a45f3b9a35d1c5a25ec63d525c4', class: "radio-group-wrapper" }, h("slot", { key: '53dacb87ce62398e78771fb2efaf839ab922d946' }))));
252
+ return (h(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(), h("div", { key: 'ee6796dedb5dc3abaf5129e906145dfcfa90dc99', class: "radio-group-wrapper" }, h("slot", { key: 'e6a44dd32ee0e193fe73244286258b37f1aaa09b' }))));
253
253
  }
254
254
  get el() { return this; }
255
255
  static get watchers() { return {
@@ -175,7 +175,7 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
175
175
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
176
176
  const mode = getIonMode(this);
177
177
  const inItem = hostContext('ion-item', el);
178
- return (h(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
178
+ return (h(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
179
179
  [mode]: true,
180
180
  'in-item': inItem,
181
181
  'radio-checked': checked,
@@ -186,10 +186,10 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
186
186
  // Focus and active styling should not apply when the radio is in an item
187
187
  'ion-activatable': !inItem,
188
188
  'ion-focusable': !inItem,
189
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '418a0a48366ff900e97da123abf665bbbda87fb7', class: "radio-wrapper" }, h("div", { key: '6e5acdd8c8f5d0ad26632a65396afef8094153d1', class: {
189
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, h("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
190
190
  'label-text-wrapper': true,
191
191
  'label-text-wrapper-hidden': !hasLabel,
192
- }, part: "label" }, h("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), h("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
192
+ }, part: "label" }, h("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), h("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
193
193
  }
194
194
  get el() { return this; }
195
195
  static get watchers() { return {
@@ -76,7 +76,7 @@ const RippleEffect = /*@__PURE__*/ proxyCustomElement(class RippleEffect extends
76
76
  }
77
77
  render() {
78
78
  const mode = getIonMode(this);
79
- return (h(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
79
+ return (h(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
80
80
  [mode]: true,
81
81
  unbounded: this.unbounded,
82
82
  } }));
@@ -99,7 +99,7 @@ const SelectModal = /*@__PURE__*/ proxyCustomElement(class SelectModal extends H
99
99
  } }, option.text))));
100
100
  }
101
101
  render() {
102
- return (h(Host, { key: 'b6c0dec240b2e41985b15fdf4e5a6d3a145c1567', class: getIonMode(this) }, h("ion-header", { key: 'cd177e85ee0f62a60a3a708342d6ab6eb19a44dc' }, h("ion-toolbar", { key: 'aee8222a5a4daa540ad202b2e4cac1ef93d9558c' }, this.header !== undefined && h("ion-title", { key: '5f8fecc764d97bf840d3d4cfddeeccd118ab4436' }, this.header), h("ion-buttons", { key: '919033950d7c2b0101f96a9c9698219de9f568ea', slot: "end" }, h("ion-button", { key: '34b571cab6dced4bde555a077a21e91800829931', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: '3c9153d26ba7a5a03d3b20fcd628d0c3031661a7' }, h("ion-list", { key: 'e00b222c071bc97c82ad1bba4db95a8a5c43ed6d' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
102
+ return (h(Host, { key: '5bffdb106e6f628dae2e2aeb9ee8008b5c547b3a', class: getIonMode(this) }, h("ion-header", { key: '4de1c33b0504372f8a0a26123e4e086080ee1ecb' }, h("ion-toolbar", { key: '5d55a67d1db4352c260e9e0457d5dac6110b6598' }, this.header !== undefined && h("ion-title", { key: '4f07fe8a9af8c9bd0852af2a9b95517d16356e50' }, this.header), h("ion-buttons", { key: 'ca676a34f7cd3dd6b465b0d803434c2e2c8536c5', slot: "end" }, h("ion-button", { key: '801ed63a357c7c9d354668851db65e5c1b0e1abe', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: 'f3c239ec9d84b8ed7413ea9db6efa18e29aca285' }, h("ion-list", { key: '40c157e9abe477171a39ae7e6e1cd4ed08735cb4' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
103
103
  }
104
104
  get el() { return this; }
105
105
  static get style() { return {
@@ -116,7 +116,7 @@ const SelectPopover = /*@__PURE__*/ proxyCustomElement(class SelectPopover exten
116
116
  render() {
117
117
  const { header, message, options, subHeader } = this;
118
118
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
119
- return (h(Host, { key: 'ab931b49b59283825bd2afa3f7f995b0e6e05bef', class: getIonMode(this) }, h("ion-list", { key: '3bd12b67832607596b912a73d5b3ae9b954b244d' }, header !== undefined && h("ion-list-header", { key: '97da930246edf7423a039c030d40e3ff7a5148a3' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: 'c579df6ea8fac07bb0c59d34c69b149656863224' }, h("ion-label", { key: 'af699c5f465710ccb13b8cf8e7be66f0e8acfad1', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'df9a936d42064b134e843c7229f314a2a3ec7e80' }, subHeader), message !== undefined && h("p", { key: '9c3ddad378df00f106afa94e9928cf68c17124dd' }, message)))), this.renderOptions(options))));
119
+ return (h(Host, { key: '0c9845a40d3fc392b0a7d64e2a6ed27d94bb7634', class: getIonMode(this) }, h("ion-list", { key: '84a30f6661b0f8c00e6fa199658ed2adbcf27358' }, header !== undefined && h("ion-list-header", { key: '13f5f56bbfbc06751fa516291a2da72629b60ece' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '3d39d18e720e798bbde334e79e6832091c7dfb81' }, h("ion-label", { key: 'd3051b0d140120b44bf5e79572f6f287e7cfb03a', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'b16805956f3316f8ec703c123b76f717488e8637' }, subHeader), message !== undefined && h("p", { key: '2215ac4ab4146a14e75a79192e319a8016286b5f' }, message)))), this.renderOptions(options))));
120
120
  }
121
121
  get el() { return this; }
122
122
  static get style() { return {
@@ -187,7 +187,7 @@ const Spinner = /*@__PURE__*/ proxyCustomElement(class Spinner extends HTMLEleme
187
187
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
188
188
  }
189
189
  }
190
- return (h(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses(self.color, {
190
+ return (h(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses(self.color, {
191
191
  [mode]: true,
192
192
  [`spinner-${spinnerName}`]: true,
193
193
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -36,11 +36,11 @@ const ToolbarTitle = /*@__PURE__*/ proxyCustomElement(class ToolbarTitle extends
36
36
  render() {
37
37
  const mode = getIonMode(this);
38
38
  const size = this.getSize();
39
- return (h(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses(this.color, {
39
+ return (h(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses(this.color, {
40
40
  [mode]: true,
41
41
  [`title-${size}`]: true,
42
42
  'title-rtl': document.dir === 'rtl',
43
- }) }, h("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, h("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
43
+ }) }, h("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, h("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
44
44
  }
45
45
  get el() { return this; }
46
46
  static get watchers() { return {
@@ -62,10 +62,10 @@ const Toolbar = /*@__PURE__*/ proxyCustomElement(class Toolbar extends HTMLEleme
62
62
  this.childrenStyles.forEach((value) => {
63
63
  Object.assign(childStyles, value);
64
64
  });
65
- return (h(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
65
+ return (h(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
66
66
  [mode]: true,
67
67
  'in-toolbar': hostContext('ion-toolbar', this.el),
68
- })) }, h("div", { key: '9c81742ffa02de9ba7417025b077d05e67305074', class: "toolbar-background", part: "background" }), h("div", { key: '5fc96d166fa47894a062e41541a9beee38078a36', class: "toolbar-container", part: "container" }, h("slot", { key: 'b62c0d9d59a70176bdbf769aec6090d7a166853b', name: "start" }), h("slot", { key: 'd01d3cc2c50e5aaa49c345b209fe8dbdf3d48131', name: "secondary" }), h("div", { key: '3aaa3a2810aedd38c37eb616158ec7b9638528fc', class: "toolbar-content", part: "content" }, h("slot", { key: '357246690f8d5e1cc3ca369611d4845a79edf610' })), h("slot", { key: '06ed3cca4f7ebff4a54cd877dad3cc925ccf9f75', name: "primary" }), h("slot", { key: 'e453d43d14a26b0d72f41e1b81a554bab8ece811', name: "end" }))));
68
+ })) }, h("div", { key: '67f5bba9c4f527c3f35bfe1313a2b85741f9b246', class: "toolbar-background", part: "background" }), h("div", { key: '085e8c68f056e5b0deb9d1606431fbeb45dae8e5', class: "toolbar-container", part: "container" }, h("slot", { key: '15227c79c3baf883fd8c43fdb7e1313453933c79', name: "start" }), h("slot", { key: '0b8a7f7e685aa31c80d9bc03446ccc3a9d07e0e8', name: "secondary" }), h("div", { key: '57e4628c1fa89df79dd80456259db961bb691404', class: "toolbar-content", part: "content" }, h("slot", { key: '82c2f6e1acf8d96db259bd8baf295881801edbd5' })), h("slot", { key: 'b2d4afb15214199f206c0a5e08b581e4c9c2f58a', name: "primary" }), h("slot", { key: 'bfb909a0c472f8834046c2ea23bef2f562167ad3', name: "end" }))));
69
69
  }
70
70
  get el() { return this; }
71
71
  static get style() { return {
@@ -701,7 +701,7 @@ const Footer = class {
701
701
  const mode = ionicGlobal.getIonMode(this);
702
702
  const tabs = this.el.closest('ion-tabs');
703
703
  const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
704
- return (index.h(index.Host, { key: 'ddc228f1a1e7fa4f707dccf74db2490ca3241137', role: "contentinfo", class: {
704
+ return (index.h(index.Host, { key: '5da19dc38ba73e1ddfd1bef3ebd485105d77c751', role: "contentinfo", class: {
705
705
  [mode]: true,
706
706
  // Used internally for styling
707
707
  [`footer-${mode}`]: true,
@@ -709,7 +709,7 @@ const Footer = class {
709
709
  [`footer-translucent-${mode}`]: translucent,
710
710
  ['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
711
711
  [`footer-collapse-${collapse}`]: collapse !== undefined,
712
- } }, mode === 'ios' && translucent && index.h("div", { key: 'e16ed4963ff94e06de77eb8038201820af73937c', class: "footer-background" }), index.h("slot", { key: 'f186934febf85d37133d9351a96c1a64b0a4b203' })));
712
+ } }, mode === 'ios' && translucent && index.h("div", { key: 'fafad08090a33d8c4e8a5b63d61929dcb89aab47', class: "footer-background" }), index.h("slot", { key: 'e0a443d346afa55e4317c0bc1263fdbe3c619559' })));
713
713
  }
714
714
  get el() { return index.getElement(this); }
715
715
  };
@@ -1093,14 +1093,14 @@ const Header = class {
1093
1093
  const isCondensed = collapse === 'condense';
1094
1094
  // banner role must be at top level, so remove role if inside a menu
1095
1095
  const roleType = getRoleType(theme.hostContext('ion-menu', this.el), isCondensed, mode);
1096
- return (index.h(index.Host, Object.assign({ key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
1096
+ return (index.h(index.Host, Object.assign({ key: '42fb0d8aa663bef7b1a21e026ea45e932b965794', role: roleType, class: {
1097
1097
  [mode]: true,
1098
1098
  // Used internally for styling
1099
1099
  [`header-${mode}`]: true,
1100
1100
  [`header-translucent`]: this.translucent,
1101
1101
  [`header-collapse-${collapse}`]: true,
1102
1102
  [`header-translucent-${mode}`]: this.translucent,
1103
- } }, inheritedAttributes), mode === 'ios' && translucent && index.h("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), index.h("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
1103
+ } }, inheritedAttributes), mode === 'ios' && translucent && index.h("div", { key: '31fac480feb43bf4adcc97529d88f1fa8034ce98', class: "header-background" }), index.h("slot", { key: '8fb8d10312836c3de63ba3fccf9ec1a08ca5b9d1' })));
1104
1104
  }
1105
1105
  get el() { return index.getElement(this); }
1106
1106
  };
@@ -1286,7 +1286,7 @@ const RouterOutlet = class {
1286
1286
  return true;
1287
1287
  }
1288
1288
  render() {
1289
- return index.h("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
1289
+ return index.h("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
1290
1290
  }
1291
1291
  get el() { return index.getElement(this); }
1292
1292
  static get watchers() { return {
@@ -1322,11 +1322,11 @@ const ToolbarTitle = class {
1322
1322
  render() {
1323
1323
  const mode = ionicGlobal.getIonMode(this);
1324
1324
  const size = this.getSize();
1325
- return (index.h(index.Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: theme.createColorClasses(this.color, {
1325
+ return (index.h(index.Host, { key: '44e63f8439df64c470692904427b417e19406476', class: theme.createColorClasses(this.color, {
1326
1326
  [mode]: true,
1327
1327
  [`title-${size}`]: true,
1328
1328
  'title-rtl': document.dir === 'rtl',
1329
- }) }, index.h("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, index.h("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
1329
+ }) }, index.h("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, index.h("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
1330
1330
  }
1331
1331
  get el() { return index.getElement(this); }
1332
1332
  static get watchers() { return {
@@ -1391,10 +1391,10 @@ const Toolbar = class {
1391
1391
  this.childrenStyles.forEach((value) => {
1392
1392
  Object.assign(childStyles, value);
1393
1393
  });
1394
- return (index.h(index.Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), theme.createColorClasses(this.color, {
1394
+ return (index.h(index.Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), theme.createColorClasses(this.color, {
1395
1395
  [mode]: true,
1396
1396
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
1397
- })) }, index.h("div", { key: '9c81742ffa02de9ba7417025b077d05e67305074', class: "toolbar-background", part: "background" }), index.h("div", { key: '5fc96d166fa47894a062e41541a9beee38078a36', class: "toolbar-container", part: "container" }, index.h("slot", { key: 'b62c0d9d59a70176bdbf769aec6090d7a166853b', name: "start" }), index.h("slot", { key: 'd01d3cc2c50e5aaa49c345b209fe8dbdf3d48131', name: "secondary" }), index.h("div", { key: '3aaa3a2810aedd38c37eb616158ec7b9638528fc', class: "toolbar-content", part: "content" }, index.h("slot", { key: '357246690f8d5e1cc3ca369611d4845a79edf610' })), index.h("slot", { key: '06ed3cca4f7ebff4a54cd877dad3cc925ccf9f75', name: "primary" }), index.h("slot", { key: 'e453d43d14a26b0d72f41e1b81a554bab8ece811', name: "end" }))));
1397
+ })) }, index.h("div", { key: '67f5bba9c4f527c3f35bfe1313a2b85741f9b246', class: "toolbar-background", part: "background" }), index.h("div", { key: '085e8c68f056e5b0deb9d1606431fbeb45dae8e5', class: "toolbar-container", part: "container" }, index.h("slot", { key: '15227c79c3baf883fd8c43fdb7e1313453933c79', name: "start" }), index.h("slot", { key: '0b8a7f7e685aa31c80d9bc03446ccc3a9d07e0e8', name: "secondary" }), index.h("div", { key: '57e4628c1fa89df79dd80456259db961bb691404', class: "toolbar-content", part: "content" }, index.h("slot", { key: '82c2f6e1acf8d96db259bd8baf295881801edbd5' })), index.h("slot", { key: 'b2d4afb15214199f206c0a5e08b581e4c9c2f58a', name: "primary" }), index.h("slot", { key: 'bfb909a0c472f8834046c2ea23bef2f562167ad3', name: "end" }))));
1398
1398
  }
1399
1399
  get el() { return index.getElement(this); }
1400
1400
  };
@@ -51,7 +51,7 @@ const Thumbnail = class {
51
51
  index.registerInstance(this, hostRef);
52
52
  }
53
53
  render() {
54
- return (index.h(index.Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: ionicGlobal.getIonMode(this) }, index.h("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
54
+ return (index.h(index.Host, { key: 'b250e01664238f1dca8f9757b15bc3d5d9387ffa', class: ionicGlobal.getIonMode(this) }, index.h("slot", { key: '72cb568bccabc983c5186a7596ef6c6d4ebf5ad9' })));
55
55
  }
56
56
  };
57
57
  Thumbnail.style = thumbnailCss;
@@ -132,10 +132,10 @@ const Grid = class {
132
132
  }
133
133
  render() {
134
134
  const mode = ionicGlobal.getIonMode(this);
135
- return (index.h(index.Host, { key: '617127ecfabf9bf615bef1dda1be3fed5a065949', class: {
135
+ return (index.h(index.Host, { key: '930ce78b02f8360fbca08a35d364d2c09128c6c8', class: {
136
136
  [mode]: true,
137
137
  'grid-fixed': this.fixed,
138
- } }, index.h("slot", { key: 'c781fff853b093d8f44bdb7943bbc4f17c903803' })));
138
+ } }, index.h("slot", { key: 'c47bf7ef2197f5ebc42d3e2c55044276fb0db393' })));
139
139
  }
140
140
  };
141
141
  Grid.style = gridCss;
@@ -147,7 +147,7 @@ const Row = class {
147
147
  index.registerInstance(this, hostRef);
148
148
  }
149
149
  render() {
150
- return (index.h(index.Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: ionicGlobal.getIonMode(this) }, index.h("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
150
+ return (index.h(index.Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: ionicGlobal.getIonMode(this) }, index.h("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
151
151
  }
152
152
  };
153
153
  Row.style = rowCss;
@@ -337,11 +337,11 @@ const DatetimeButton = class {
337
337
  render() {
338
338
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
339
339
  const mode = ionicGlobal.getIonMode(this);
340
- return (index.h(index.Host, { key: '11d037e6ab061e5116842970760b04850b42f2c7', class: theme.createColorClasses(color, {
340
+ return (index.h(index.Host, { key: '0cad13e702cd8f76b10364d44993495d1aac40fb', class: theme.createColorClasses(color, {
341
341
  [mode]: true,
342
342
  [`${selectedButton}-active`]: datetimeActive,
343
343
  ['datetime-button-disabled']: disabled,
344
- }) }, dateText && (index.h("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) }, index.h("slot", { key: '1c04853d4d23c0f1a594602bde44511c98355644', name: "date-target" }, dateText), mode === 'md' && index.h("ion-ripple-effect", { key: '5fc566cd4bc885bcf983ce99e3dc65d7f485bf9b' }))), timeText && (index.h("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) }, index.h("slot", { key: '147a9d2069dbf737f6fc64787823d6d5af5aa653', name: "time-target" }, timeText), mode === 'md' && index.h("ion-ripple-effect", { key: '70a5e25b75ed90ac6bba003468435f67aa9d8f0a' })))));
344
+ }) }, dateText && (index.h("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) }, index.h("slot", { key: '251c03d7dc30180caf5f2728818ab445b7b99b52', name: "date-target" }, dateText), mode === 'md' && index.h("ion-ripple-effect", { key: 'ce5fa19ed565fd788c6096aa55d8102ac36a1307' }))), timeText && (index.h("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) }, index.h("slot", { key: '60966f907d725aea78af66dbb57f1d6f212a1ef5', name: "time-target" }, timeText), mode === 'md' && index.h("ion-ripple-effect", { key: 'c26bd731e8991e2b2b7984a2bd859f36337a038b' })))));
345
345
  }
346
346
  get el() { return index.getElement(this); }
347
347
  };
@@ -786,28 +786,6 @@ const Datetime = class {
786
786
  destroyKeyboardMO();
787
787
  }
788
788
  };
789
- /**
790
- * TODO(FW-6931): Remove this fallback upon solving the root cause
791
- * Fallback to ensure the datetime becomes ready even if
792
- * IntersectionObserver never reports it as intersecting.
793
- *
794
- * This is primarily used in environments where the observer
795
- * might not fire as expected, such as when running under
796
- * synthetic tests that stub IntersectionObserver.
797
- */
798
- this.ensureReadyIfVisible = () => {
799
- if (this.el.classList.contains('datetime-ready')) {
800
- return;
801
- }
802
- const rect = this.el.getBoundingClientRect();
803
- if (rect.width === 0 || rect.height === 0) {
804
- return;
805
- }
806
- this.initializeListeners();
807
- index.writeTask(() => {
808
- this.el.classList.add('datetime-ready');
809
- });
810
- };
811
789
  this.processValue = (value) => {
812
790
  const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
813
791
  const valueToProcess = hasValue ? data.parseDate(value) : this.defaultParts;
@@ -1085,84 +1063,82 @@ const Datetime = class {
1085
1063
  this.clearFocusVisible();
1086
1064
  this.clearFocusVisible = undefined;
1087
1065
  }
1066
+ if (this.resizeObserver) {
1067
+ this.resizeObserver.disconnect();
1068
+ this.resizeObserver = undefined;
1069
+ }
1088
1070
  }
1089
1071
  initializeListeners() {
1090
1072
  this.initializeCalendarListener();
1091
1073
  this.initializeKeyboardListeners();
1092
1074
  }
1093
1075
  componentDidLoad() {
1094
- const { el, intersectionTrackerRef } = this;
1076
+ const { el } = this;
1095
1077
  /**
1096
1078
  * If a scrollable element is hidden using `display: none`,
1097
1079
  * it will not have a scroll height meaning we cannot scroll elements
1098
1080
  * into view. As a result, we will need to wait for the datetime to become
1099
1081
  * visible if used inside of a modal or a popover otherwise the scrollable
1100
1082
  * areas will not have the correct values snapped into place.
1083
+ *
1084
+ * FW-6931: We use ResizeObserver to detect when the element transitions
1085
+ * between having dimensions (visible) and zero dimensions (hidden). This
1086
+ * is more reliable than IntersectionObserver for detecting visibility
1087
+ * changes, especially when the element is inside a modal or popover.
1101
1088
  */
1102
- const visibleCallback = (entries) => {
1103
- const ev = entries[0];
1104
- if (!ev.isIntersecting) {
1105
- return;
1106
- }
1107
- this.initializeListeners();
1089
+ if (typeof ResizeObserver !== 'undefined') {
1090
+ this.resizeObserver = new ResizeObserver((entries) => {
1091
+ const entry = entries[0];
1092
+ const { width, height } = entry.contentRect;
1093
+ const isVisible = width > 0 && height > 0;
1094
+ const isReady = el.classList.contains('datetime-ready');
1095
+ if (isVisible && !isReady) {
1096
+ this.initializeListeners();
1097
+ /**
1098
+ * TODO FW-2793: Datetime needs a frame to ensure that it
1099
+ * can properly scroll contents into view. As a result
1100
+ * we hide the scrollable content until after that frame
1101
+ * so users do not see the content quickly shifting. The downside
1102
+ * is that the content will pop into view a frame after. Maybe there
1103
+ * is a better way to handle this?
1104
+ */
1105
+ index.writeTask(() => {
1106
+ el.classList.add('datetime-ready');
1107
+ });
1108
+ }
1109
+ else if (!isVisible && isReady) {
1110
+ /**
1111
+ * Clean up listeners when hidden so we can properly
1112
+ * reinitialize scroll positions on re-presentation.
1113
+ */
1114
+ this.destroyInteractionListeners();
1115
+ /**
1116
+ * Close month/year picker when hidden, otherwise
1117
+ * it will be open when re-presented with a 0-height
1118
+ * scroll area, showing the wrong month.
1119
+ */
1120
+ this.showMonthAndYear = false;
1121
+ index.writeTask(() => {
1122
+ el.classList.remove('datetime-ready');
1123
+ });
1124
+ }
1125
+ });
1108
1126
  /**
1109
- * TODO FW-2793: Datetime needs a frame to ensure that it
1110
- * can properly scroll contents into view. As a result
1111
- * we hide the scrollable content until after that frame
1112
- * so users do not see the content quickly shifting. The downside
1113
- * is that the content will pop into view a frame after. Maybe there
1114
- * is a better way to handle this?
1127
+ * Use raf to avoid a race condition between the component loading and
1128
+ * its display animation starting (such as when shown in a modal).
1115
1129
  */
1116
- index.writeTask(() => {
1117
- this.el.classList.add('datetime-ready');
1118
- });
1119
- };
1120
- const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
1121
- /**
1122
- * Use raf to avoid a race condition between the component loading and
1123
- * its display animation starting (such as when shown in a modal). This
1124
- * could cause the datetime to start at a visibility of 0, erroneously
1125
- * triggering the `hiddenIO` observer below.
1126
- */
1127
- helpers.raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
1128
- /**
1129
- * TODO(FW-6931): Remove this fallback upon solving the root cause
1130
- * Fallback: If IntersectionObserver never reports that the
1131
- * datetime is visible but the host clearly has layout, ensure
1132
- * we still initialize listeners and mark the component as ready.
1133
- *
1134
- * We schedule this after everything has had a chance to run.
1135
- */
1136
- setTimeout(() => {
1137
- this.ensureReadyIfVisible();
1138
- }, 100);
1139
- /**
1140
- * We need to clean up listeners when the datetime is hidden
1141
- * in a popover/modal so that we can properly scroll containers
1142
- * back into view if they are re-presented. When the datetime is hidden
1143
- * the scroll areas have scroll widths/heights of 0px, so any snapping
1144
- * we did originally has been lost.
1145
- */
1146
- const hiddenCallback = (entries) => {
1147
- const ev = entries[0];
1148
- if (ev.isIntersecting) {
1149
- return;
1150
- }
1151
- this.destroyInteractionListeners();
1130
+ helpers.raf(() => { var _a; return (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(el); });
1131
+ }
1132
+ else {
1152
1133
  /**
1153
- * When datetime is hidden, we need to make sure that
1154
- * the month/year picker is closed. Otherwise,
1155
- * it will be open when the datetime re-appears
1156
- * and the scroll area of the calendar grid will be 0.
1157
- * As a result, the wrong month will be shown.
1134
+ * Fallback for test environments where ResizeObserver is not available.
1135
+ * Just mark as ready without initializing scroll/keyboard listeners
1136
+ * since those also require browser APIs not available in Jest.
1158
1137
  */
1159
- this.showMonthAndYear = false;
1160
1138
  index.writeTask(() => {
1161
- this.el.classList.remove('datetime-ready');
1139
+ el.classList.add('datetime-ready');
1162
1140
  });
1163
- };
1164
- const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
1165
- helpers.raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
1141
+ }
1166
1142
  /**
1167
1143
  * Datetime uses Ionic components that emit
1168
1144
  * ionFocus and ionBlur. These events are
@@ -1891,7 +1867,7 @@ const Datetime = class {
1891
1867
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1892
1868
  const hasWheelVariant = hasDatePresentation && preferWheel;
1893
1869
  helpers.renderHiddenInput(true, el, name, data.formatValue(value), disabled);
1894
- return (index.h(index.Host, { key: 'efdbc0922670a841bc667ceac392cdc1dedffd01', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
1870
+ return (index.h(index.Host, { key: '187a5b5cf1413449a9db33f8c5b0fd3b7fded302', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
1895
1871
  [mode]: true,
1896
1872
  ['datetime-readonly']: readonly,
1897
1873
  ['datetime-disabled']: disabled,
@@ -1901,7 +1877,7 @@ const Datetime = class {
1901
1877
  [`datetime-size-${size}`]: true,
1902
1878
  [`datetime-prefer-wheel`]: hasWheelVariant,
1903
1879
  [`datetime-grid`]: isGridStyle,
1904
- })) }, index.h("div", { key: '3f8bb75fcb0baff55182ef3aa1b535eacc58d81f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1880
+ })) }, this.renderDatetime(mode)));
1905
1881
  }
1906
1882
  get el() { return index.getElement(this); }
1907
1883
  static get watchers() { return {
@@ -2178,11 +2154,11 @@ const Picker = class {
2178
2154
  render() {
2179
2155
  const { htmlAttributes } = this;
2180
2156
  const mode = ionicGlobal.getIonMode(this);
2181
- return (index.h(index.Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
2157
+ return (index.h(index.Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
2182
2158
  zIndex: `${20000 + this.overlayIndex}`,
2183
2159
  }, class: Object.assign({ [mode]: true,
2184
2160
  // Used internally for styling
2185
- [`picker-${mode}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index.h("ion-backdrop", { key: '169d1c83ef40e7fcb134219a585298b403a70b0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '98518e5f5cea2dfb8dfa63d9545e9ae3a5765023', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: '151755ab8eb23f9adafbfe201349398f5a69dee7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, index.h("div", { key: '5dcf93b2f4fe8f4fce7c7aec8f85ef45a03ef470', class: "picker-toolbar" }, this.buttons.map((b) => (index.h("div", { class: buttonWrapperClass(b) }, index.h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), index.h("div", { key: 'fd5d66708edd38adc5a4d2fad7298969398a05e3', class: "picker-columns" }, index.h("div", { key: '1b5830fd6cef1016af7736792c514965d6cb38a8', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => index.h("ion-picker-legacy-column", { col: c })), index.h("div", { key: 'c6edeca7afd69e13c9c66ba36f261974fd0f8f78', class: "picker-below-highlight" }))), index.h("div", { key: 'e2a4b24710e30579b14b82dbfd3761b2187797b5', tabindex: "0", "aria-hidden": "true" })));
2161
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index.h("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, index.h("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', class: "picker-toolbar" }, this.buttons.map((b) => (index.h("div", { class: buttonWrapperClass(b) }, index.h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), index.h("div", { key: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, index.h("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => index.h("ion-picker-legacy-column", { col: c })), index.h("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), index.h("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
2186
2162
  }
2187
2163
  get el() { return index.getElement(this); }
2188
2164
  static get watchers() { return {
@@ -2536,9 +2512,9 @@ const PickerColumnCmp = class {
2536
2512
  render() {
2537
2513
  const col = this.col;
2538
2514
  const mode = ionicGlobal.getIonMode(this);
2539
- return (index.h(index.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' }, theme.getClassMap(col.cssClass)), style: {
2515
+ return (index.h(index.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' }, theme.getClassMap(col.cssClass)), style: {
2540
2516
  'max-width': this.col.columnWidth,
2541
- } }, col.prefix && (index.h("div", { key: '9f0634890e66fd4ae74f826d1eea3431de121393', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index.h("div", { key: '337e996e5be91af16446085fe22436f213b771eb', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index$1) => (index.h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index$1 }, o.text)))), col.suffix && (index.h("div", { key: 'd69a132599d78d9e5107f12228978cfce4e43098', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
2517
+ } }, col.prefix && (index.h("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index.h("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index$1) => (index.h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index$1 }, o.text)))), col.suffix && (index.h("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
2542
2518
  }
2543
2519
  get el() { return index.getElement(this); }
2544
2520
  static get watchers() { return {
@@ -63,12 +63,12 @@ const Fab = class {
63
63
  render() {
64
64
  const { horizontal, vertical, edge } = this;
65
65
  const mode = ionicGlobal.getIonMode(this);
66
- return (index.h(index.Host, { key: '8a310806d0e748d7ebb0ed3d9a2652038e0f2960', class: {
66
+ return (index.h(index.Host, { key: 'cb44cf6486b0a6439b99da87c065b0b52e2514f4', class: {
67
67
  [mode]: true,
68
68
  [`fab-horizontal-${horizontal}`]: horizontal !== undefined,
69
69
  [`fab-vertical-${vertical}`]: vertical !== undefined,
70
70
  'fab-edge': edge,
71
- } }, index.h("slot", { key: '9394ef6d6e5b0410fa6ba212171f687fb178ce2d' })));
71
+ } }, index.h("slot", { key: '1ed484c7ecb10cd81fbca9a4f5c4049bf82f9f8a' })));
72
72
  }
73
73
  get el() { return index.getElement(this); }
74
74
  static get watchers() { return {
@@ -154,7 +154,7 @@ const FabButton = class {
154
154
  rel: this.rel,
155
155
  target: this.target,
156
156
  };
157
- return (index.h(index.Host, { key: '4eee204d20b0e2ffed49a88f6cb3e04b6697965c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: theme.createColorClasses(color, {
157
+ return (index.h(index.Host, { key: 'eb347f7d6749c40637540d84778eb8d1b667a947', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: theme.createColorClasses(color, {
158
158
  [mode]: true,
159
159
  'fab-button-in-list': inList,
160
160
  'fab-button-translucent-in-list': inList && translucent,
@@ -165,7 +165,7 @@ const FabButton = class {
165
165
  'ion-activatable': true,
166
166
  'ion-focusable': true,
167
167
  [`fab-button-${size}`]: size !== undefined,
168
- }) }, index.h(TagType, Object.assign({ key: '914561622c0c6bd41453e828a7d8a39f924875ac' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => theme.openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), index.h("ion-icon", { key: '2c8090742a64c62a79243667027a195cca9d5912', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), index.h("span", { key: 'c3e55291e4c4d306d34a4b95dd2e727e87bdf39c', class: "button-inner" }, index.h("slot", { key: 'f8e57f71d8f8878d9746cfece82f57f19ef9e988' })), mode === 'md' && index.h("ion-ripple-effect", { key: 'a5e94fa0bb9836072300617245ed0c1b4887bac6' }))));
168
+ }) }, index.h(TagType, Object.assign({ key: '83e853c8815f41543c848eb2e05ec2bb1716110a' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => theme.openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), index.h("ion-icon", { key: '798deede94de658e4345acf7c2aafe2ab2567b0b', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), index.h("span", { key: '99252fde6de1aca73fc240a6da7e29acac9acb18', class: "button-inner" }, index.h("slot", { key: 'dc73e9b41bf1f0e385e5784f975dfb81e37c8dfb' })), mode === 'md' && index.h("ion-ripple-effect", { key: '8413e162f44a0350f54dff06cff7aad101de3549' }))));
169
169
  }
170
170
  get el() { return index.getElement(this); }
171
171
  };
@@ -198,11 +198,11 @@ const FabList = class {
198
198
  }
199
199
  render() {
200
200
  const mode = ionicGlobal.getIonMode(this);
201
- return (index.h(index.Host, { key: '64b33366447f66c7f979cfac56307fbb1a6fac1c', class: {
201
+ return (index.h(index.Host, { key: 'fa1d195b9950654ba0e984bf61d981c977d05275', class: {
202
202
  [mode]: true,
203
203
  'fab-list-active': this.activated,
204
204
  [`fab-list-side-${this.side}`]: true,
205
- } }, index.h("slot", { key: 'd9f474f7f20fd7e813db358fddc720534ca05bb6' })));
205
+ } }, index.h("slot", { key: '2ec738c66c05112e1e2521155d6adfc36d2fd1db' })));
206
206
  }
207
207
  get el() { return index.getElement(this); }
208
208
  static get watchers() { return {
@@ -73,7 +73,7 @@ const Img = class {
73
73
  render() {
74
74
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
75
75
  const { draggable } = inheritedAttributes;
76
- return (index.h(index.Host, { key: 'da600442894427dee1974a28e545613afac69fca', class: ionicGlobal.getIonMode(this) }, index.h("img", { key: '16df0c7069af86c0fa7ce5af598bc0f63b4eb71a', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
76
+ return (index.h(index.Host, { key: '14d24d65ec8e5522192ca58035264971b1ab883b', class: ionicGlobal.getIonMode(this) }, index.h("img", { key: '345ba155a5fdce5e66c397a599b7333d37d9cb1d', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
77
77
  }
78
78
  get el() { return index.getElement(this); }
79
79
  static get watchers() { return {
@@ -198,7 +198,7 @@ const InfiniteScroll = class {
198
198
  render() {
199
199
  const mode = ionicGlobal.getIonMode(this);
200
200
  const disabled = this.disabled;
201
- return (index.h(index.Host, { key: 'e844956795f69be33396ce4480aa7a54ad01b28c', class: {
201
+ return (index.h(index.Host, { key: '1444429a86950c449953cbf578436cc8cabf40ec', class: {
202
202
  [mode]: true,
203
203
  'infinite-scroll-loading': this.isLoading,
204
204
  'infinite-scroll-enabled': !disabled,
@@ -236,11 +236,11 @@ const InfiniteScrollContent = class {
236
236
  }
237
237
  render() {
238
238
  const mode = ionicGlobal.getIonMode(this);
239
- return (index.h(index.Host, { key: '7c16060dcfe2a0b0fb3e2f8f4c449589a76f1baa', class: {
239
+ return (index.h(index.Host, { key: '060278bf9cb0321e182352f9613be4ebbb028259', class: {
240
240
  [mode]: true,
241
241
  // Used internally for styling
242
242
  [`infinite-scroll-content-${mode}`]: true,
243
- } }, index.h("div", { key: 'a94f4d8746e053dc718f97520bd7e48cb316443a', class: "infinite-loading" }, this.loadingSpinner && (index.h("div", { key: '10143d5d2a50a2a2bc5de1cee8e7ab51263bcf23', class: "infinite-loading-spinner" }, index.h("ion-spinner", { key: '8846e88191690d9c61a0b462889ed56fbfed8b0d', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
243
+ } }, index.h("div", { key: '07d3cada920145f979ad315bd187fb878e0c3da3', class: "infinite-loading" }, this.loadingSpinner && (index.h("div", { key: '6254f175d7543d09f3dd47cd0589a2809182cd8c', class: "infinite-loading-spinner" }, index.h("ion-spinner", { key: 'a6a816d1c65b60b786333b209b63492aa716a283', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
244
244
  }
245
245
  };
246
246
  InfiniteScrollContent.style = {