@ionic/core 8.7.13-dev.11765486444.14025098 → 8.7.13-dev.11765550444.1d97de23

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 +49 -85
  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 +53 -89
  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 +49 -85
  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 +53 -89
  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-a127bee2.entry.js → p-30333874.entry.js} +1 -1
  237. package/dist/ionic/{p-1647c46c.entry.js → p-363d1209.entry.js} +1 -1
  238. package/dist/ionic/{p-a8ed848b.entry.js → p-3b0b7a05.entry.js} +1 -1
  239. package/dist/ionic/p-43c5249f.entry.js +4 -0
  240. package/dist/ionic/p-4c09dde7.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 +177 -213
  273. package/hydrate/index.mjs +177 -213
  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
@@ -335,11 +335,11 @@ const DatetimeButton = class {
335
335
  render() {
336
336
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
337
337
  const mode = getIonMode(this);
338
- return (h(Host, { key: '11d037e6ab061e5116842970760b04850b42f2c7', class: createColorClasses(color, {
338
+ return (h(Host, { key: '0cad13e702cd8f76b10364d44993495d1aac40fb', class: createColorClasses(color, {
339
339
  [mode]: true,
340
340
  [`${selectedButton}-active`]: datetimeActive,
341
341
  ['datetime-button-disabled']: disabled,
342
- }) }, dateText && (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) }, h("slot", { key: '1c04853d4d23c0f1a594602bde44511c98355644', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '5fc566cd4bc885bcf983ce99e3dc65d7f485bf9b' }))), timeText && (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) }, h("slot", { key: '147a9d2069dbf737f6fc64787823d6d5af5aa653', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '70a5e25b75ed90ac6bba003468435f67aa9d8f0a' })))));
342
+ }) }, dateText && (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) }, h("slot", { key: '251c03d7dc30180caf5f2728818ab445b7b99b52', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: 'ce5fa19ed565fd788c6096aa55d8102ac36a1307' }))), timeText && (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) }, h("slot", { key: '60966f907d725aea78af66dbb57f1d6f212a1ef5', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: 'c26bd731e8991e2b2b7984a2bd859f36337a038b' })))));
343
343
  }
344
344
  get el() { return getElement(this); }
345
345
  };
@@ -784,28 +784,6 @@ const Datetime = class {
784
784
  destroyKeyboardMO();
785
785
  }
786
786
  };
787
- /**
788
- * TODO(FW-6931): Remove this fallback upon solving the root cause
789
- * Fallback to ensure the datetime becomes ready even if
790
- * IntersectionObserver never reports it as intersecting.
791
- *
792
- * This is primarily used in environments where the observer
793
- * might not fire as expected, such as when running under
794
- * synthetic tests that stub IntersectionObserver.
795
- */
796
- this.ensureReadyIfVisible = () => {
797
- if (this.el.classList.contains('datetime-ready')) {
798
- return;
799
- }
800
- const rect = this.el.getBoundingClientRect();
801
- if (rect.width === 0 || rect.height === 0) {
802
- return;
803
- }
804
- this.initializeListeners();
805
- writeTask(() => {
806
- this.el.classList.add('datetime-ready');
807
- });
808
- };
809
787
  this.processValue = (value) => {
810
788
  const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
811
789
  const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
@@ -1083,84 +1061,70 @@ const Datetime = class {
1083
1061
  this.clearFocusVisible();
1084
1062
  this.clearFocusVisible = undefined;
1085
1063
  }
1064
+ if (this.resizeObserver) {
1065
+ this.resizeObserver.disconnect();
1066
+ this.resizeObserver = undefined;
1067
+ }
1086
1068
  }
1087
1069
  initializeListeners() {
1088
1070
  this.initializeCalendarListener();
1089
1071
  this.initializeKeyboardListeners();
1090
1072
  }
1091
1073
  componentDidLoad() {
1092
- const { el, intersectionTrackerRef } = this;
1074
+ const { el } = this;
1093
1075
  /**
1094
1076
  * If a scrollable element is hidden using `display: none`,
1095
1077
  * it will not have a scroll height meaning we cannot scroll elements
1096
1078
  * into view. As a result, we will need to wait for the datetime to become
1097
1079
  * visible if used inside of a modal or a popover otherwise the scrollable
1098
1080
  * areas will not have the correct values snapped into place.
1081
+ *
1082
+ * We use ResizeObserver to detect when the element transitions
1083
+ * between having dimensions (visible) and zero dimensions (hidden). This
1084
+ * is more reliable than IntersectionObserver for detecting visibility
1085
+ * changes, especially when the element is inside a modal or popover.
1099
1086
  */
1100
- const visibleCallback = (entries) => {
1101
- const ev = entries[0];
1102
- if (!ev.isIntersecting) {
1103
- return;
1087
+ this.resizeObserver = new ResizeObserver((entries) => {
1088
+ const entry = entries[0];
1089
+ const { width, height } = entry.contentRect;
1090
+ const isVisible = width > 0 && height > 0;
1091
+ const isReady = el.classList.contains('datetime-ready');
1092
+ if (isVisible && !isReady) {
1093
+ this.initializeListeners();
1094
+ /**
1095
+ * TODO FW-2793: Datetime needs a frame to ensure that it
1096
+ * can properly scroll contents into view. As a result
1097
+ * we hide the scrollable content until after that frame
1098
+ * so users do not see the content quickly shifting. The downside
1099
+ * is that the content will pop into view a frame after. Maybe there
1100
+ * is a better way to handle this?
1101
+ */
1102
+ writeTask(() => {
1103
+ el.classList.add('datetime-ready');
1104
+ });
1104
1105
  }
1105
- this.initializeListeners();
1106
- /**
1107
- * TODO FW-2793: Datetime needs a frame to ensure that it
1108
- * can properly scroll contents into view. As a result
1109
- * we hide the scrollable content until after that frame
1110
- * so users do not see the content quickly shifting. The downside
1111
- * is that the content will pop into view a frame after. Maybe there
1112
- * is a better way to handle this?
1113
- */
1114
- writeTask(() => {
1115
- this.el.classList.add('datetime-ready');
1116
- });
1117
- };
1118
- const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
1106
+ else if (!isVisible && isReady) {
1107
+ /**
1108
+ * Clean up listeners when hidden so we can properly
1109
+ * reinitialize scroll positions on re-presentation.
1110
+ */
1111
+ this.destroyInteractionListeners();
1112
+ /**
1113
+ * Close month/year picker when hidden, otherwise
1114
+ * it will be open when re-presented with a 0-height
1115
+ * scroll area, showing the wrong month.
1116
+ */
1117
+ this.showMonthAndYear = false;
1118
+ writeTask(() => {
1119
+ el.classList.remove('datetime-ready');
1120
+ });
1121
+ }
1122
+ });
1119
1123
  /**
1120
1124
  * Use raf to avoid a race condition between the component loading and
1121
- * its display animation starting (such as when shown in a modal). This
1122
- * could cause the datetime to start at a visibility of 0, erroneously
1123
- * triggering the `hiddenIO` observer below.
1124
- */
1125
- raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
1126
- /**
1127
- * TODO(FW-6931): Remove this fallback upon solving the root cause
1128
- * Fallback: If IntersectionObserver never reports that the
1129
- * datetime is visible but the host clearly has layout, ensure
1130
- * we still initialize listeners and mark the component as ready.
1131
- *
1132
- * We schedule this after everything has had a chance to run.
1133
- */
1134
- setTimeout(() => {
1135
- this.ensureReadyIfVisible();
1136
- }, 100);
1137
- /**
1138
- * We need to clean up listeners when the datetime is hidden
1139
- * in a popover/modal so that we can properly scroll containers
1140
- * back into view if they are re-presented. When the datetime is hidden
1141
- * the scroll areas have scroll widths/heights of 0px, so any snapping
1142
- * we did originally has been lost.
1125
+ * its display animation starting (such as when shown in a modal).
1143
1126
  */
1144
- const hiddenCallback = (entries) => {
1145
- const ev = entries[0];
1146
- if (ev.isIntersecting) {
1147
- return;
1148
- }
1149
- this.destroyInteractionListeners();
1150
- /**
1151
- * When datetime is hidden, we need to make sure that
1152
- * the month/year picker is closed. Otherwise,
1153
- * it will be open when the datetime re-appears
1154
- * and the scroll area of the calendar grid will be 0.
1155
- * As a result, the wrong month will be shown.
1156
- */
1157
- this.showMonthAndYear = false;
1158
- writeTask(() => {
1159
- this.el.classList.remove('datetime-ready');
1160
- });
1161
- };
1162
- const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
1163
- raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
1127
+ raf(() => { var _a; return (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(el); });
1164
1128
  /**
1165
1129
  * Datetime uses Ionic components that emit
1166
1130
  * ionFocus and ionBlur. These events are
@@ -1889,7 +1853,7 @@ const Datetime = class {
1889
1853
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1890
1854
  const hasWheelVariant = hasDatePresentation && preferWheel;
1891
1855
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1892
- return (h(Host, { key: 'efdbc0922670a841bc667ceac392cdc1dedffd01', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1856
+ return (h(Host, { key: 'f4d2e6577c288bdbd814760ab70cccfd91815f06', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1893
1857
  [mode]: true,
1894
1858
  ['datetime-readonly']: readonly,
1895
1859
  ['datetime-disabled']: disabled,
@@ -1899,7 +1863,7 @@ const Datetime = class {
1899
1863
  [`datetime-size-${size}`]: true,
1900
1864
  [`datetime-prefer-wheel`]: hasWheelVariant,
1901
1865
  [`datetime-grid`]: isGridStyle,
1902
- })) }, h("div", { key: '3f8bb75fcb0baff55182ef3aa1b535eacc58d81f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1866
+ })) }, this.renderDatetime(mode)));
1903
1867
  }
1904
1868
  get el() { return getElement(this); }
1905
1869
  static get watchers() { return {
@@ -2176,11 +2140,11 @@ const Picker = class {
2176
2140
  render() {
2177
2141
  const { htmlAttributes } = this;
2178
2142
  const mode = getIonMode(this);
2179
- return (h(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
2143
+ return (h(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
2180
2144
  zIndex: `${20000 + this.overlayIndex}`,
2181
2145
  }, class: Object.assign({ [mode]: true,
2182
2146
  // Used internally for styling
2183
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '169d1c83ef40e7fcb134219a585298b403a70b0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '98518e5f5cea2dfb8dfa63d9545e9ae3a5765023', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '151755ab8eb23f9adafbfe201349398f5a69dee7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '5dcf93b2f4fe8f4fce7c7aec8f85ef45a03ef470', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: 'fd5d66708edd38adc5a4d2fad7298969398a05e3', class: "picker-columns" }, h("div", { key: '1b5830fd6cef1016af7736792c514965d6cb38a8', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: 'c6edeca7afd69e13c9c66ba36f261974fd0f8f78', class: "picker-below-highlight" }))), h("div", { key: 'e2a4b24710e30579b14b82dbfd3761b2187797b5', tabindex: "0", "aria-hidden": "true" })));
2147
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, h("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), h("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
2184
2148
  }
2185
2149
  get el() { return getElement(this); }
2186
2150
  static get watchers() { return {
@@ -2534,9 +2498,9 @@ const PickerColumnCmp = class {
2534
2498
  render() {
2535
2499
  const col = this.col;
2536
2500
  const mode = getIonMode(this);
2537
- 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: {
2501
+ 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: {
2538
2502
  'max-width': this.col.columnWidth,
2539
- } }, 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))));
2503
+ } }, 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))));
2540
2504
  }
2541
2505
  get el() { return getElement(this); }
2542
2506
  static get watchers() { return {
@@ -61,12 +61,12 @@ const Fab = class {
61
61
  render() {
62
62
  const { horizontal, vertical, edge } = this;
63
63
  const mode = getIonMode(this);
64
- return (h(Host, { key: '8a310806d0e748d7ebb0ed3d9a2652038e0f2960', class: {
64
+ return (h(Host, { key: 'cb44cf6486b0a6439b99da87c065b0b52e2514f4', class: {
65
65
  [mode]: true,
66
66
  [`fab-horizontal-${horizontal}`]: horizontal !== undefined,
67
67
  [`fab-vertical-${vertical}`]: vertical !== undefined,
68
68
  'fab-edge': edge,
69
- } }, h("slot", { key: '9394ef6d6e5b0410fa6ba212171f687fb178ce2d' })));
69
+ } }, h("slot", { key: '1ed484c7ecb10cd81fbca9a4f5c4049bf82f9f8a' })));
70
70
  }
71
71
  get el() { return getElement(this); }
72
72
  static get watchers() { return {
@@ -152,7 +152,7 @@ const FabButton = class {
152
152
  rel: this.rel,
153
153
  target: this.target,
154
154
  };
155
- return (h(Host, { key: '4eee204d20b0e2ffed49a88f6cb3e04b6697965c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
155
+ return (h(Host, { key: 'eb347f7d6749c40637540d84778eb8d1b667a947', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
156
156
  [mode]: true,
157
157
  'fab-button-in-list': inList,
158
158
  'fab-button-translucent-in-list': inList && translucent,
@@ -163,7 +163,7 @@ const FabButton = class {
163
163
  'ion-activatable': true,
164
164
  'ion-focusable': true,
165
165
  [`fab-button-${size}`]: size !== undefined,
166
- }) }, h(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), h("ion-icon", { key: '2c8090742a64c62a79243667027a195cca9d5912', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: 'c3e55291e4c4d306d34a4b95dd2e727e87bdf39c', class: "button-inner" }, h("slot", { key: 'f8e57f71d8f8878d9746cfece82f57f19ef9e988' })), mode === 'md' && h("ion-ripple-effect", { key: 'a5e94fa0bb9836072300617245ed0c1b4887bac6' }))));
166
+ }) }, h(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), h("ion-icon", { key: '798deede94de658e4345acf7c2aafe2ab2567b0b', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: '99252fde6de1aca73fc240a6da7e29acac9acb18', class: "button-inner" }, h("slot", { key: 'dc73e9b41bf1f0e385e5784f975dfb81e37c8dfb' })), mode === 'md' && h("ion-ripple-effect", { key: '8413e162f44a0350f54dff06cff7aad101de3549' }))));
167
167
  }
168
168
  get el() { return getElement(this); }
169
169
  };
@@ -196,11 +196,11 @@ const FabList = class {
196
196
  }
197
197
  render() {
198
198
  const mode = getIonMode(this);
199
- return (h(Host, { key: '64b33366447f66c7f979cfac56307fbb1a6fac1c', class: {
199
+ return (h(Host, { key: 'fa1d195b9950654ba0e984bf61d981c977d05275', class: {
200
200
  [mode]: true,
201
201
  'fab-list-active': this.activated,
202
202
  [`fab-list-side-${this.side}`]: true,
203
- } }, h("slot", { key: 'd9f474f7f20fd7e813db358fddc720534ca05bb6' })));
203
+ } }, h("slot", { key: '2ec738c66c05112e1e2521155d6adfc36d2fd1db' })));
204
204
  }
205
205
  get el() { return getElement(this); }
206
206
  static get watchers() { return {
@@ -71,7 +71,7 @@ const Img = class {
71
71
  render() {
72
72
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
73
73
  const { draggable } = inheritedAttributes;
74
- return (h(Host, { key: 'da600442894427dee1974a28e545613afac69fca', class: getIonMode(this) }, h("img", { key: '16df0c7069af86c0fa7ce5af598bc0f63b4eb71a', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
74
+ return (h(Host, { key: '14d24d65ec8e5522192ca58035264971b1ab883b', class: getIonMode(this) }, h("img", { key: '345ba155a5fdce5e66c397a599b7333d37d9cb1d', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
75
75
  }
76
76
  get el() { return getElement(this); }
77
77
  static get watchers() { return {
@@ -196,7 +196,7 @@ const InfiniteScroll = class {
196
196
  render() {
197
197
  const mode = getIonMode(this);
198
198
  const disabled = this.disabled;
199
- return (h(Host, { key: 'e844956795f69be33396ce4480aa7a54ad01b28c', class: {
199
+ return (h(Host, { key: '1444429a86950c449953cbf578436cc8cabf40ec', class: {
200
200
  [mode]: true,
201
201
  'infinite-scroll-loading': this.isLoading,
202
202
  'infinite-scroll-enabled': !disabled,
@@ -234,11 +234,11 @@ const InfiniteScrollContent = class {
234
234
  }
235
235
  render() {
236
236
  const mode = getIonMode(this);
237
- return (h(Host, { key: '7c16060dcfe2a0b0fb3e2f8f4c449589a76f1baa', class: {
237
+ return (h(Host, { key: '060278bf9cb0321e182352f9613be4ebbb028259', class: {
238
238
  [mode]: true,
239
239
  // Used internally for styling
240
240
  [`infinite-scroll-content-${mode}`]: true,
241
- } }, h("div", { key: 'a94f4d8746e053dc718f97520bd7e48cb316443a', class: "infinite-loading" }, this.loadingSpinner && (h("div", { key: '10143d5d2a50a2a2bc5de1cee8e7ab51263bcf23', class: "infinite-loading-spinner" }, h("ion-spinner", { key: '8846e88191690d9c61a0b462889ed56fbfed8b0d', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
241
+ } }, h("div", { key: '07d3cada920145f979ad315bd187fb878e0c3da3', class: "infinite-loading" }, this.loadingSpinner && (h("div", { key: '6254f175d7543d09f3dd47cd0589a2809182cd8c', class: "infinite-loading-spinner" }, h("ion-spinner", { key: 'a6a816d1c65b60b786333b209b63492aa716a283', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
242
242
  }
243
243
  };
244
244
  InfiniteScrollContent.style = {
@@ -615,7 +615,7 @@ const InputOTP = class {
615
615
  const tabbableIndex = this.getTabbableIndex();
616
616
  const pattern = this.getPattern();
617
617
  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()) !== '';
618
- return (h(Host, { key: 'f15a29fb17b681ef55885ca36d3d5f899cbaca83', class: createColorClasses(color, {
618
+ return (h(Host, { key: '76126aeef5a333d3ce86149d1ce21da6c7834898', class: createColorClasses(color, {
619
619
  [mode]: true,
620
620
  'has-focus': hasFocus,
621
621
  [`input-otp-size-${size}`]: true,
@@ -623,10 +623,10 @@ const InputOTP = class {
623
623
  [`input-otp-fill-${fill}`]: true,
624
624
  'input-otp-disabled': disabled,
625
625
  'input-otp-readonly': readonly,
626
- }) }, h("div", Object.assign({ key: 'd7e1d4edd8aafcf2ed4313301287282e90fc7e82', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("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) && h("div", { class: "input-otp-separator" }))))), h("div", { key: '3724a3159d02860971879a906092f9965f5a7c47', class: {
626
+ }) }, h("div", Object.assign({ key: 'e9aa792de40a0e49075e8881c6a11245807e1051', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("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) && h("div", { class: "input-otp-separator" }))))), h("div", { key: '262ead41c9401a2144e9d7b7bd85311e366d09b2', class: {
627
627
  'input-otp-description': true,
628
628
  'input-otp-description-hidden': !hasDescription,
629
- } }, h("slot", { key: '11baa2624926a08274508afe0833d9237a8dc35c' }))));
629
+ } }, h("slot", { key: '63a4b07ef5e3174cc75cdaed59305cdaebcfd1ad' }))));
630
630
  }
631
631
  get el() { return getElement(this); }
632
632
  static get watchers() { return {
@@ -62,16 +62,16 @@ const InputPasswordToggle = class {
62
62
  const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
63
63
  const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
64
64
  const isPasswordVisible = type === 'text';
65
- return (h(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses(color, {
65
+ return (h(Host, { key: '07e26969f77ad361e358efe33a3b3728d9669017', class: createColorClasses(color, {
66
66
  [mode]: true,
67
- }) }, h("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) => {
67
+ }) }, h("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) => {
68
68
  /**
69
69
  * This prevents mobile browsers from
70
70
  * blurring the input when the password toggle
71
71
  * button is activated.
72
72
  */
73
73
  ev.preventDefault();
74
- }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '5c8b121153f148f92aa7cba0447673a4f6f3ad1e', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
74
+ }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: 'd7b1f55b77b71bf2c147f3bde83de1e9083f70ba', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
75
75
  }
76
76
  get el() { return getElement(this); }
77
77
  static get watchers() { return {
@@ -515,7 +515,7 @@ const Input = class {
515
515
  * TODO(FW-5592): Remove hasStartEndSlots condition
516
516
  */
517
517
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
518
- return (h(Host, { key: '97b5308021064d9e7434ef2d3d96f27045c1b0c4', class: createColorClasses(this.color, {
518
+ return (h(Host, { key: '81b44a68138ec7a9f1d4a27549d0c32283dea50d', class: createColorClasses(this.color, {
519
519
  [mode]: true,
520
520
  'has-value': hasValue,
521
521
  'has-focus': hasFocus,
@@ -526,14 +526,14 @@ const Input = class {
526
526
  'in-item': inItem,
527
527
  'in-item-color': hostContext('ion-item.ion-color', this.el),
528
528
  'input-disabled': disabled,
529
- }) }, h("label", { key: '353f68726ce180299bd9adc81e5ff7d26a48f54f', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '2034b4bad04fc157f3298a1805819216b6f439d0', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: '96bb5e30176b2bd76dfb75bfbf6c1c3d4403f4bb', name: "start" }), h("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 && (h("button", { key: '95f3df17b7691d9a2e7dcd4a51f16a94aa3ca36f', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
529
+ }) }, h("label", { key: '049adad1bdcb64ee416e420b523e222cb9c0d3df', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '00414cbb2adcc565d52dd5ba3af0280df3ba2c9c', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'a09366b057322372e48daeb5a70619e5603b6972', name: "start" }), h("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 && (h("button", { key: '9655b387bf51a371877ab40879c9cdc953a8019f', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
530
530
  /**
531
531
  * This prevents mobile browsers from
532
532
  * blurring the input when the clear
533
533
  * button is activated.
534
534
  */
535
535
  ev.preventDefault();
536
- }, onClick: this.clearTextInput }, h("ion-icon", { key: '16b0af75eed50c8115fb5597f73b5fbf71c2530e', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: 'c48da0f8ddb3764ac43efa705bb4a6bb2d9cc2fd', name: "end" })), shouldRenderHighlight && h("div", { key: 'f15238481fc20de56ca7ecb6e350b3c024cc755e', class: "input-highlight" })), this.renderBottomContent()));
536
+ }, onClick: this.clearTextInput }, h("ion-icon", { key: '834670e725e0140069eead8ff6c7a63d87f0aac0', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: 'e41136ffef6bd8f8fb4c8480bf6dfaa3b61dc286', name: "end" })), shouldRenderHighlight && h("div", { key: '517a556a9748600af6c258c9f668e7b10a798427', class: "input-highlight" })), this.renderBottomContent()));
537
537
  }
538
538
  get el() { return getElement(this); }
539
539
  static get watchers() { return {
@@ -45,12 +45,12 @@ const ItemOption = class {
45
45
  href: this.href,
46
46
  target: this.target,
47
47
  };
48
- return (h(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses(this.color, {
48
+ return (h(Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: createColorClasses(this.color, {
49
49
  [mode]: true,
50
50
  'item-option-disabled': disabled,
51
51
  'item-option-expandable': expandable,
52
52
  'ion-activatable': true,
53
- }) }, h(TagType, Object.assign({ key: '5a7140eb99da5ec82fe2ea3ea134513130763399' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: '9b8577e612706b43e575c9a20f2f9d35c0d1bcb1', class: "button-inner" }, h("slot", { key: '9acb82f04e4822bfaa363cc2c4d29d5c0fec0ad6', name: "top" }), h("div", { key: '66f5fb4fdd0c39f205574c602c793dcf109c7a17', class: "horizontal-wrapper" }, h("slot", { key: '3761a32bca7c6c41b7eb394045497cfde181a62a', name: "start" }), h("slot", { key: 'a96a568955cf6962883dc6771726d3d07462da00', name: "icon-only" }), h("slot", { key: 'af5dfe5eb41456b9359bafe3615b576617ed7b57' }), h("slot", { key: '00426958066ab7b949ff966fabad5cf8a0b54079', name: "end" })), h("slot", { key: 'ae66c8bd536a9f27865f49240980d7b4b831b229', name: "bottom" })), mode === 'md' && h("ion-ripple-effect", { key: '30df6c935ef8a3f28a6bc1f3bb162ca4f80aaf26' }))));
53
+ }) }, h(TagType, Object.assign({ key: '045052656ab652bec065d421950fe9ea00dc1141' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: '988b9166c0dda3c822a99ceace4c105339b2465b', class: "button-inner" }, h("slot", { key: '8050b870ada6b09283f8acbcbb6d2bd1c76508b3', name: "top" }), h("div", { key: 'a206e7b09e660c878ce3c5b61d018e8cdd89dc55', class: "horizontal-wrapper" }, h("slot", { key: '394e5e4ce14cd19b5d5eafca29bb9f971f5f0741', name: "start" }), h("slot", { key: 'dd4c3a1bee7622df40a3d8f2a298045b772f1600', name: "icon-only" }), h("slot", { key: '318f3ec97b722c5e7df1a78b1e0439f919d0aacc' }), h("slot", { key: 'fff6a9a602cf7bd698528982f91742a2d36ea245', name: "end" })), h("slot", { key: '26b4bb155701d8080b486dbad7bb9a6d2e35182c', name: "bottom" })), mode === 'md' && h("ion-ripple-effect", { key: '152b74643bf0f5725c39bfdbb940f0f32ec83d58' }))));
54
54
  }
55
55
  get el() { return getElement(this); }
56
56
  };
@@ -82,7 +82,7 @@ const ItemOptions = class {
82
82
  render() {
83
83
  const mode = getIonMode(this);
84
84
  const isEnd = isEndSide(this.side);
85
- return (h(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
85
+ return (h(Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
86
86
  [mode]: true,
87
87
  // Used internally for styling
88
88
  [`item-options-${mode}`]: true,
@@ -493,7 +493,7 @@ const ItemSliding = class {
493
493
  }
494
494
  render() {
495
495
  const mode = getIonMode(this);
496
- return (h(Host, { key: 'd812322c9fb5da4ee16e99dc38bfb24cb4590d03', class: {
496
+ return (h(Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
497
497
  [mode]: true,
498
498
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
499
499
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -272,11 +272,11 @@ const ItemDivider = class {
272
272
  }
273
273
  render() {
274
274
  const mode = getIonMode(this);
275
- return (h(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses(this.color, {
275
+ return (h(Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: createColorClasses(this.color, {
276
276
  [mode]: true,
277
277
  'item-divider-sticky': this.sticky,
278
278
  item: true,
279
- }) }, h("slot", { key: '39105d888e115416c3a3fe588da44b4c61f4e5fe', name: "start" }), h("div", { key: '67e16f1056bd39187f3629c1bb383b7abbda829b', class: "item-divider-inner" }, h("div", { key: 'b3a218fdcc7b9aeab6e0155340152d39fa0b6329', class: "item-divider-wrapper" }, h("slot", { key: '69d8587533b387869d34b075d02f61396858fc90' })), h("slot", { key: 'b91c654699b3b26d0012ea0c719c4a07d1fcfbaa', name: "end" }))));
279
+ }) }, h("slot", { key: 'a1b7bbb1a008b0a56887f130d166931033801746', name: "start" }), h("div", { key: '9d572da46ab616bdf881098e96aa6796a249507f', class: "item-divider-inner" }, h("div", { key: 'a57a2c17093b74b9e4f8fd2778230a440b293aa1', class: "item-divider-wrapper" }, h("slot", { key: 'ef15ebf58f3acd4b4d1b7c51144e26c3759dba49' })), h("slot", { key: '1787c2400534301fe72b8ec213d0ce1e8f75b65a', name: "end" }))));
280
280
  }
281
281
  get el() { return getElement(this); }
282
282
  };
@@ -295,7 +295,7 @@ const ItemGroup = class {
295
295
  }
296
296
  render() {
297
297
  const mode = getIonMode(this);
298
- return (h(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
298
+ return (h(Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
299
299
  [mode]: true,
300
300
  // Used internally for styling
301
301
  [`item-group-${mode}`]: true,
@@ -361,13 +361,13 @@ const Label = class {
361
361
  render() {
362
362
  const position = this.position;
363
363
  const mode = getIonMode(this);
364
- return (h(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses(this.color, {
364
+ return (h(Host, { key: '684ddfa719e34d743489ff05a0df067829257c73', class: createColorClasses(this.color, {
365
365
  [mode]: true,
366
366
  'in-item-color': hostContext('ion-item.ion-color', this.el),
367
367
  [`label-${position}`]: position !== undefined,
368
368
  [`label-no-animate`]: this.noAnimate,
369
369
  'label-rtl': document.dir === 'rtl',
370
- }) }, h("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
370
+ }) }, h("slot", { key: '4aace3e2b36250e832c44f63bea21116d77220fb' })));
371
371
  }
372
372
  get el() { return getElement(this); }
373
373
  static get watchers() { return {
@@ -408,7 +408,7 @@ const List = class {
408
408
  render() {
409
409
  const mode = getIonMode(this);
410
410
  const { lines, inset } = this;
411
- return (h(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
411
+ return (h(Host, { key: '76580117b59d26e355e89f49b385fa8db05026a2', role: "list", class: {
412
412
  [mode]: true,
413
413
  // Used internally for styling
414
414
  [`list-${mode}`]: true,
@@ -435,10 +435,10 @@ const ListHeader = class {
435
435
  render() {
436
436
  const { lines } = this;
437
437
  const mode = getIonMode(this);
438
- return (h(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses(this.color, {
438
+ return (h(Host, { key: '2e529021279761b2b2889885437f619b0e8f71c4', class: createColorClasses(this.color, {
439
439
  [mode]: true,
440
440
  [`list-header-lines-${lines}`]: lines !== undefined,
441
- }) }, h("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, h("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
441
+ }) }, h("div", { key: '9a6a11b0db015df79374f6489a40b959bc80b3e4', class: "list-header-inner" }, h("slot", { key: 'ef347fc6afb47850797e2e4d1aeefcd6a318f789' }))));
442
442
  }
443
443
  };
444
444
  ListHeader.style = {
@@ -456,9 +456,9 @@ const Note = class {
456
456
  }
457
457
  render() {
458
458
  const mode = getIonMode(this);
459
- return (h(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses(this.color, {
459
+ return (h(Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: createColorClasses(this.color, {
460
460
  [mode]: true,
461
- }) }, h("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
461
+ }) }, h("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
462
462
  }
463
463
  };
464
464
  Note.style = {
@@ -493,11 +493,11 @@ const SkeletonText = class {
493
493
  const animated = this.animated && config.getBoolean('animated', true);
494
494
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
495
495
  const mode = getIonMode(this);
496
- return (h(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
496
+ return (h(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
497
497
  [mode]: true,
498
498
  'skeleton-text-animated': animated,
499
499
  'in-media': inMedia,
500
- } }, h("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
500
+ } }, h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
501
501
  }
502
502
  get el() { return getElement(this); }
503
503
  };
@@ -276,9 +276,9 @@ const Loading = class {
276
276
  * Otherwise, don't set aria-labelledby.
277
277
  */
278
278
  const ariaLabelledBy = message !== undefined ? msgId : null;
279
- return (h(Host, Object.assign({ key: '4497183ce220242abe19ae15f328f9a92ccafbbc', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
279
+ return (h(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
280
280
  zIndex: `${40000 + this.overlayIndex}`,
281
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '231dec84e424a2dc358ce95b84d6035cf43e4dea', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'c9af29b6e6bb49a217396a5c874bbfb8835a926c', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'a8659863743cdeccbe1ba810eaabfd3ebfcb86f3', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: '3b346f39bc71691bd8686556a1e142198a7b12fa', class: "loading-spinner" }, h("ion-spinner", { key: '8dc2bf1556e5138e262827f1516c59ecd09f3520', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '054164c0dbae9a0e0973dd3c8e28f5b771820310', tabindex: "0", "aria-hidden": "true" })));
281
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
282
282
  }
283
283
  get el() { return getElement(this); }
284
284
  static get watchers() { return {
@@ -662,14 +662,14 @@ const Menu = class {
662
662
  * the ionBackButton listener in the menu controller
663
663
  * will handle closing the menu when Escape is pressed.
664
664
  */
665
- return (h(Host, { key: '70a427f3414a476414c3386efe6c8723fd37eccf', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
665
+ return (h(Host, { key: '29ef73894e2795e4ce23e59888ffb87faf4dd543', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
666
666
  [mode]: true,
667
667
  [`menu-type-${type}`]: true,
668
668
  'menu-enabled': !disabled,
669
669
  [`menu-side-${side}`]: true,
670
670
  'menu-pane-visible': isPaneVisible,
671
671
  'split-pane-side': hostContext('ion-split-pane', el),
672
- } }, h("div", { key: '83af04e5a47d5a92caafaf06088a7114ae61984b', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '7b35048642864bd0f30de9f6b61c949c1b601692' })), h("ion-backdrop", { key: '347af516c7970d80dd11c6d1ed61e9a040ceb5fb', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
672
+ } }, h("div", { key: '22e44f7bd602ee0c96550f0dfc22ac81c0033ad6', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '7bbef92fe03bb3ce4d3981eb8535aab449aab2fc' })), h("ion-backdrop", { key: '9ab8d5b61563e16b212c71c03869d4fc23a0400b', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
673
673
  }
674
674
  get el() { return getElement(this); }
675
675
  static get watchers() { return {
@@ -747,7 +747,7 @@ const MenuButton = class {
747
747
  type: this.type,
748
748
  };
749
749
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
750
- return (h(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
750
+ return (h(Host, { key: 'dcade732e366f0687d92cb9ce4065b78b0b41d24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
751
751
  [mode]: true,
752
752
  button: true, // ion-buttons target .button
753
753
  'menu-button-hidden': hidden,
@@ -756,7 +756,7 @@ const MenuButton = class {
756
756
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
757
757
  'ion-activatable': true,
758
758
  'ion-focusable': true,
759
- }) }, h("button", Object.assign({ key: 'ffebf7083d23501839970059ef8e411b571de197' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: 'cab0c1c763b3ce33ef11dba1d230f66126e59424', class: "button-inner" }, h("slot", { key: 'ccfd2be8479b75b5c63e97e1ca7dfe203e9b36ee' }, h("ion-icon", { key: 'ac254fe7f327b08f1ae3fcea89d5cf0e83c9a96c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { key: 'f0f17c4ca96e3eed3c1727ee00578d40af8f0115', type: "unbounded" }))));
759
+ }) }, h("button", Object.assign({ key: '7c4a449e239679376f38471d95fd602f9caec5f6' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: '8bb5bf453280a66109198c970b678ad800c7a8cf', class: "button-inner" }, h("slot", { key: '7f78b1e7a0695f2bd600d13ca81f50dd8b965726' }, h("ion-icon", { key: '9f67f5bb06b1f03a6e5df9ecbe23ebf69fb40756', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { key: '10be7145c614144e94c3cc0b92dc5ee4e1587fe6', type: "unbounded" }))));
760
760
  }
761
761
  get el() { return getElement(this); }
762
762
  };
@@ -791,10 +791,10 @@ const MenuToggle = class {
791
791
  render() {
792
792
  const mode = getIonMode(this);
793
793
  const hidden = this.autoHide && !this.visible;
794
- return (h(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
794
+ return (h(Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
795
795
  [mode]: true,
796
796
  'menu-toggle-hidden': hidden,
797
- } }, h("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
797
+ } }, h("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
798
798
  }
799
799
  };
800
800
  MenuToggle.style = menuToggleCss;