@ionic/core 8.8.9-dev.11780493937.17fe092d → 8.8.9-dev.11780683233.1c5e9d9b

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 (329) hide show
  1. package/components/ion-action-sheet.js +1 -1
  2. package/components/ion-alert.js +1 -1
  3. package/components/ion-back-button.js +1 -1
  4. package/components/ion-button.js +1 -1
  5. package/components/ion-card.js +1 -1
  6. package/components/ion-chip.js +1 -1
  7. package/components/ion-content.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-footer.js +1 -1
  12. package/components/ion-gallery-item.d.ts +11 -0
  13. package/components/ion-gallery-item.js +4 -0
  14. package/components/ion-gallery.js +1 -1
  15. package/components/ion-grid.js +1 -1
  16. package/components/ion-header.js +1 -1
  17. package/components/ion-img.js +1 -1
  18. package/components/ion-infinite-scroll-content.js +1 -1
  19. package/components/ion-infinite-scroll.js +1 -1
  20. package/components/ion-input-otp.js +1 -1
  21. package/components/ion-input-password-toggle.js +1 -1
  22. package/components/ion-input.js +1 -1
  23. package/components/ion-item-divider.js +1 -1
  24. package/components/ion-item-group.js +1 -1
  25. package/components/ion-item-option.js +1 -1
  26. package/components/ion-item-options.js +1 -1
  27. package/components/ion-item-sliding.js +1 -1
  28. package/components/ion-item.js +1 -1
  29. package/components/ion-label.js +1 -1
  30. package/components/ion-list-header.js +1 -1
  31. package/components/ion-list.js +1 -1
  32. package/components/ion-loading.js +1 -1
  33. package/components/ion-menu-button.js +1 -1
  34. package/components/ion-menu-toggle.js +1 -1
  35. package/components/ion-menu.js +1 -1
  36. package/components/ion-modal.js +1 -1
  37. package/components/ion-nav-link.js +1 -1
  38. package/components/ion-nav.js +1 -1
  39. package/components/ion-note.js +1 -1
  40. package/components/ion-picker-column-option.js +1 -1
  41. package/components/ion-picker-legacy-column.js +1 -1
  42. package/components/ion-picker-legacy.js +1 -1
  43. package/components/ion-popover.js +1 -1
  44. package/components/ion-progress-bar.js +1 -1
  45. package/components/ion-radio-group.js +1 -1
  46. package/components/ion-radio.js +1 -1
  47. package/components/ion-range.js +1 -1
  48. package/components/ion-refresher-content.js +1 -1
  49. package/components/ion-refresher.js +1 -1
  50. package/components/ion-reorder-group.js +1 -1
  51. package/components/ion-reorder.js +1 -1
  52. package/components/ion-ripple-effect.js +1 -1
  53. package/components/ion-router-link.js +1 -1
  54. package/components/ion-router-outlet.js +1 -1
  55. package/components/ion-row.js +1 -1
  56. package/components/ion-searchbar.js +1 -1
  57. package/components/ion-segment-button.js +1 -1
  58. package/components/ion-segment-content.js +1 -1
  59. package/components/ion-segment-view.js +1 -1
  60. package/components/ion-segment.js +1 -1
  61. package/components/ion-select-modal.js +1 -1
  62. package/components/ion-select-option.js +1 -1
  63. package/components/ion-select-popover.js +1 -1
  64. package/components/ion-select.js +1 -1
  65. package/components/ion-skeleton-text.js +1 -1
  66. package/components/ion-spinner.js +1 -1
  67. package/components/ion-split-pane.js +1 -1
  68. package/components/ion-tab-bar.js +1 -1
  69. package/components/ion-tab-button.js +1 -1
  70. package/components/ion-tab.js +1 -1
  71. package/components/ion-tabs.js +1 -1
  72. package/components/ion-text.js +1 -1
  73. package/components/ion-textarea.js +1 -1
  74. package/components/ion-thumbnail.js +1 -1
  75. package/components/ion-title.js +1 -1
  76. package/components/ion-toast.js +1 -1
  77. package/components/ion-toggle.js +1 -1
  78. package/components/ion-toolbar.js +1 -1
  79. package/components/p-7kL3tltU.js +4 -0
  80. package/components/{p-CPm7KgOP.js → p-BFZBl0TS.js} +1 -1
  81. package/components/{p-pvh0bjpw.js → p-BVi3gqm6.js} +1 -1
  82. package/components/{p-D6g8ud1e.js → p-BVk7LVs0.js} +1 -1
  83. package/components/{p-B9MABkWm.js → p-BdUtZxku.js} +1 -1
  84. package/components/{p-CzC_ZSgb.js → p-Be8tHurp.js} +1 -1
  85. package/components/{p-C8kBejTT.js → p-CG3ZV6ON.js} +1 -1
  86. package/components/{p-CBS0sBAa.js → p-CaqTORfV.js} +1 -1
  87. package/components/{p-D2mReIu8.js → p-CkA0SI9d.js} +1 -1
  88. package/components/{p-DAXhdEp5.js → p-CsakePQg.js} +1 -1
  89. package/components/{p-CgSn4J7d.js → p-D1gEOh9B.js} +1 -1
  90. package/components/{p-IYdTEyGb.js → p-D3qBmaqi.js} +1 -1
  91. package/components/{p-Do7NMUwR.js → p-DGn-jQpr.js} +1 -1
  92. package/components/p-DH4JHV73.js +4 -0
  93. package/components/{p-DCS3n7Uq.js → p-DYK0qX7x.js} +1 -1
  94. package/components/{p-Dp2x0MpA.js → p-DfV7pOtM.js} +1 -1
  95. package/components/{p-BhkGOA7t.js → p-F3N54OKJ.js} +1 -1
  96. package/components/{p-CgZLVOCc.js → p-MPREydZp.js} +1 -1
  97. package/components/{p-kKYBfhbe.js → p-OFfrVDLw.js} +1 -1
  98. package/components/p-iZO3WzZT.js +4 -0
  99. package/components/p-qclL-gNR.js +4 -0
  100. package/dist/cjs/ion-app_8.cjs.entry.js +33 -291
  101. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-col_3.cjs.entry.js +4 -4
  103. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  104. package/dist/cjs/ion-gallery-item.cjs.entry.js +79 -0
  105. package/dist/cjs/ion-gallery.cjs.entry.js +96 -14
  106. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  108. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  109. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
  110. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  111. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  112. package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
  113. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  114. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  115. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  116. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  117. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  118. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  119. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  120. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  121. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  122. package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
  123. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  124. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  125. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  126. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  127. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  128. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  129. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  130. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  131. package/dist/cjs/ion-select_3.cjs.entry.js +6 -6
  132. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  133. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  134. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  135. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  136. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  137. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  138. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  139. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  140. package/dist/cjs/ionic.cjs.js +1 -1
  141. package/dist/cjs/loader.cjs.js +1 -1
  142. package/dist/collection/collection-manifest.json +1 -0
  143. package/dist/collection/components/content/content.css +0 -56
  144. package/dist/collection/components/footer/footer.ios.css +0 -13
  145. package/dist/collection/components/footer/footer.js +18 -65
  146. package/dist/collection/components/footer/footer.md.css +0 -13
  147. package/dist/collection/components/footer/footer.utils.js +0 -9
  148. package/dist/collection/components/gallery/gallery.css +1 -86
  149. package/dist/collection/components/gallery/gallery.js +85 -16
  150. package/dist/collection/components/gallery/test/utils.js +13 -13
  151. package/dist/collection/components/gallery-item/gallery-item.css +87 -0
  152. package/dist/collection/components/gallery-item/gallery-item.js +95 -0
  153. package/dist/collection/components/grid/grid.js +2 -2
  154. package/dist/collection/components/header/header.ionic.css +0 -75
  155. package/dist/collection/components/header/header.ios.css +0 -75
  156. package/dist/collection/components/header/header.js +11 -41
  157. package/dist/collection/components/header/header.md.css +0 -75
  158. package/dist/collection/components/header/header.utils.js +0 -9
  159. package/dist/collection/components/img/img.js +2 -2
  160. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  161. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  162. package/dist/collection/components/input/input.js +4 -4
  163. package/dist/collection/components/input-otp/input-otp.js +3 -3
  164. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  165. package/dist/collection/components/item-divider/item-divider.js +2 -2
  166. package/dist/collection/components/item-group/item-group.js +1 -1
  167. package/dist/collection/components/item-option/item-option.js +2 -2
  168. package/dist/collection/components/item-options/item-options.js +1 -1
  169. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  170. package/dist/collection/components/label/label.js +2 -2
  171. package/dist/collection/components/list/list.js +1 -1
  172. package/dist/collection/components/list-header/list-header.js +2 -2
  173. package/dist/collection/components/loading/loading.js +2 -2
  174. package/dist/collection/components/menu/menu.js +2 -2
  175. package/dist/collection/components/menu-button/menu-button.js +2 -2
  176. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  177. package/dist/collection/components/modal/modal.js +4 -4
  178. package/dist/collection/components/nav/nav.js +1 -1
  179. package/dist/collection/components/nav-link/nav-link.js +1 -1
  180. package/dist/collection/components/note/note.js +2 -2
  181. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  182. package/dist/collection/components/picker-legacy/picker.js +2 -2
  183. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  184. package/dist/collection/components/popover/popover.js +2 -2
  185. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  186. package/dist/collection/components/radio/radio.js +3 -3
  187. package/dist/collection/components/radio-group/radio-group.js +2 -2
  188. package/dist/collection/components/range/range.js +3 -3
  189. package/dist/collection/components/refresher/refresher.js +1 -1
  190. package/dist/collection/components/refresher-content/refresher-content.js +2 -2
  191. package/dist/collection/components/reorder/reorder.js +2 -2
  192. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  193. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  194. package/dist/collection/components/router-link/router-link.js +2 -2
  195. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  196. package/dist/collection/components/row/row.js +2 -2
  197. package/dist/collection/components/searchbar/searchbar.js +4 -4
  198. package/dist/collection/components/segment/segment.js +2 -2
  199. package/dist/collection/components/segment-button/segment-button.js +2 -2
  200. package/dist/collection/components/segment-content/segment-content.js +1 -1
  201. package/dist/collection/components/segment-view/segment-view.js +2 -2
  202. package/dist/collection/components/select/select.js +3 -3
  203. package/dist/collection/components/select-modal/select-modal.js +1 -1
  204. package/dist/collection/components/select-option/select-option.js +1 -1
  205. package/dist/collection/components/select-popover/select-popover.js +2 -2
  206. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  207. package/dist/collection/components/spinner/spinner.js +1 -1
  208. package/dist/collection/components/split-pane/split-pane.js +2 -2
  209. package/dist/collection/components/tab/tab.js +2 -2
  210. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  211. package/dist/collection/components/tab-button/tab-button.js +2 -2
  212. package/dist/collection/components/tabs/tabs.js +1 -1
  213. package/dist/collection/components/text/text.js +2 -2
  214. package/dist/collection/components/textarea/textarea.js +3 -3
  215. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  216. package/dist/collection/components/title/title.js +2 -2
  217. package/dist/collection/components/toast/toast.js +2 -2
  218. package/dist/collection/components/toggle/toggle.js +3 -3
  219. package/dist/collection/components/toolbar/toolbar.js +2 -2
  220. package/dist/collection/utils/css-value-validation.js +14 -0
  221. package/dist/docs.json +96 -20
  222. package/dist/esm/ion-app_8.entry.js +33 -291
  223. package/dist/esm/ion-avatar_3.entry.js +2 -2
  224. package/dist/esm/ion-col_3.entry.js +4 -4
  225. package/dist/esm/ion-datetime_3.entry.js +4 -4
  226. package/dist/esm/ion-gallery-item.entry.js +77 -0
  227. package/dist/esm/ion-gallery.entry.js +96 -14
  228. package/dist/esm/ion-img.entry.js +2 -2
  229. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  230. package/dist/esm/ion-input-otp.entry.js +3 -3
  231. package/dist/esm/ion-input-password-toggle.entry.js +3 -3
  232. package/dist/esm/ion-input.entry.js +4 -4
  233. package/dist/esm/ion-item-option_3.entry.js +4 -4
  234. package/dist/esm/ion-item_8.entry.js +12 -12
  235. package/dist/esm/ion-loading.entry.js +2 -2
  236. package/dist/esm/ion-menu_3.entry.js +6 -6
  237. package/dist/esm/ion-modal.entry.js +4 -4
  238. package/dist/esm/ion-nav_2.entry.js +2 -2
  239. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  240. package/dist/esm/ion-popover.entry.js +2 -2
  241. package/dist/esm/ion-progress-bar.entry.js +1 -1
  242. package/dist/esm/ion-radio_2.entry.js +5 -5
  243. package/dist/esm/ion-range.entry.js +3 -3
  244. package/dist/esm/ion-refresher_2.entry.js +3 -3
  245. package/dist/esm/ion-reorder_2.entry.js +3 -3
  246. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  247. package/dist/esm/ion-route_4.entry.js +2 -2
  248. package/dist/esm/ion-searchbar.entry.js +4 -4
  249. package/dist/esm/ion-segment-content.entry.js +1 -1
  250. package/dist/esm/ion-segment-view.entry.js +2 -2
  251. package/dist/esm/ion-segment_2.entry.js +4 -4
  252. package/dist/esm/ion-select-modal.entry.js +1 -1
  253. package/dist/esm/ion-select_3.entry.js +6 -6
  254. package/dist/esm/ion-spinner.entry.js +1 -1
  255. package/dist/esm/ion-split-pane.entry.js +2 -2
  256. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  257. package/dist/esm/ion-tab_2.entry.js +3 -3
  258. package/dist/esm/ion-text.entry.js +2 -2
  259. package/dist/esm/ion-textarea.entry.js +3 -3
  260. package/dist/esm/ion-toast.entry.js +2 -2
  261. package/dist/esm/ion-toggle.entry.js +3 -3
  262. package/dist/esm/ionic.js +1 -1
  263. package/dist/esm/loader.js +1 -1
  264. package/dist/html.html-data.json +45 -9
  265. package/dist/ionic/ionic.esm.js +1 -1
  266. package/dist/ionic/{p-f7ca50a5.entry.js → p-0592c549.entry.js} +1 -1
  267. package/dist/ionic/{p-67c2d349.entry.js → p-0aa510cd.entry.js} +1 -1
  268. package/dist/ionic/{p-9ccfb733.entry.js → p-0cd5fd9d.entry.js} +1 -1
  269. package/dist/ionic/{p-bf0c5a8d.entry.js → p-0e9d4e11.entry.js} +1 -1
  270. package/dist/ionic/{p-497f6391.entry.js → p-11a38333.entry.js} +1 -1
  271. package/dist/ionic/{p-0030507d.entry.js → p-1a009a51.entry.js} +1 -1
  272. package/dist/ionic/{p-7186786e.entry.js → p-23e524f8.entry.js} +1 -1
  273. package/dist/ionic/{p-1439fecb.entry.js → p-2826761a.entry.js} +1 -1
  274. package/dist/ionic/{p-93315d96.entry.js → p-2c4170d8.entry.js} +1 -1
  275. package/dist/ionic/p-2d5a2511.entry.js +4 -0
  276. package/dist/ionic/{p-7f294078.entry.js → p-3706ea52.entry.js} +1 -1
  277. package/dist/ionic/{p-b69add0e.entry.js → p-3e376501.entry.js} +1 -1
  278. package/dist/ionic/{p-c684a3b6.entry.js → p-44597202.entry.js} +1 -1
  279. package/dist/ionic/{p-8458f1b6.entry.js → p-4a27a79a.entry.js} +1 -1
  280. package/dist/ionic/{p-b7235e85.entry.js → p-4f07113d.entry.js} +1 -1
  281. package/dist/ionic/{p-88e7f52a.entry.js → p-52b85650.entry.js} +1 -1
  282. package/dist/ionic/{p-199bffb3.entry.js → p-5a6e0ae1.entry.js} +1 -1
  283. package/dist/ionic/p-6906dca7.entry.js +4 -0
  284. package/dist/ionic/{p-19a1ff9a.entry.js → p-7b09c19d.entry.js} +1 -1
  285. package/dist/ionic/{p-76c70824.entry.js → p-7b886782.entry.js} +1 -1
  286. package/dist/ionic/{p-89eab395.entry.js → p-82c05be2.entry.js} +1 -1
  287. package/dist/ionic/{p-b653f4c2.entry.js → p-83c0eb9b.entry.js} +1 -1
  288. package/dist/ionic/{p-b4fd91b8.entry.js → p-85ff1314.entry.js} +1 -1
  289. package/dist/ionic/{p-3f18dfe9.entry.js → p-8eca5ba1.entry.js} +1 -1
  290. package/dist/ionic/{p-f08edb25.entry.js → p-96f52444.entry.js} +1 -1
  291. package/dist/ionic/{p-f167c55c.entry.js → p-a3b047e0.entry.js} +1 -1
  292. package/dist/ionic/{p-40d9e029.entry.js → p-a73caa5e.entry.js} +1 -1
  293. package/dist/ionic/{p-1ad16c09.entry.js → p-b0dfd018.entry.js} +1 -1
  294. package/dist/ionic/{p-a3f9be52.entry.js → p-b6130fe4.entry.js} +1 -1
  295. package/dist/ionic/{p-084c2623.entry.js → p-c5f745b4.entry.js} +1 -1
  296. package/dist/ionic/{p-52ed96a8.entry.js → p-c781241c.entry.js} +1 -1
  297. package/dist/ionic/p-cb154afe.entry.js +4 -0
  298. package/dist/ionic/{p-031df892.entry.js → p-cde69f38.entry.js} +1 -1
  299. package/dist/ionic/p-d6f0a698.entry.js +4 -0
  300. package/dist/ionic/{p-dd2981d0.entry.js → p-d9804d04.entry.js} +1 -1
  301. package/dist/ionic/{p-7054a1b9.entry.js → p-e342b205.entry.js} +1 -1
  302. package/dist/ionic/p-e4071bf8.entry.js +4 -0
  303. package/dist/ionic/{p-9dfbe98d.entry.js → p-e8916b04.entry.js} +1 -1
  304. package/dist/ionic/{p-dac1d4de.entry.js → p-f10f8f95.entry.js} +1 -1
  305. package/dist/ionic/p-fdcbe59a.entry.js +4 -0
  306. package/dist/types/components/footer/footer.d.ts +2 -12
  307. package/dist/types/components/footer/footer.utils.d.ts +0 -1
  308. package/dist/types/components/gallery/gallery.d.ts +33 -8
  309. package/dist/types/components/gallery/test/utils.d.ts +1 -1
  310. package/dist/types/components/gallery-item/gallery-item.d.ts +35 -0
  311. package/dist/types/components/header/header.d.ts +3 -10
  312. package/dist/types/components/header/header.utils.d.ts +0 -1
  313. package/dist/types/components.d.ts +41 -12
  314. package/dist/types/utils/css-value-validation.d.ts +9 -0
  315. package/hydrate/index.js +334 -421
  316. package/hydrate/index.mjs +334 -421
  317. package/package.json +1 -1
  318. package/components/p-BF5oFX1I.js +0 -4
  319. package/components/p-CpFORZud.js +0 -4
  320. package/components/p-GElQZ38c.js +0 -4
  321. package/components/p-d77Zk1DK.js +0 -4
  322. package/components/p-hdGd8ben.js +0 -4
  323. package/dist/collection/utils/on-scroll/collapse-hide.utils.js +0 -168
  324. package/dist/ionic/p-04b5794c.entry.js +0 -4
  325. package/dist/ionic/p-2aa7567e.entry.js +0 -4
  326. package/dist/ionic/p-44d483c2.entry.js +0 -4
  327. package/dist/ionic/p-ad4d0138.entry.js +0 -4
  328. package/dist/ionic/p-ff09d2a5.entry.js +0 -4
  329. package/dist/types/utils/on-scroll/collapse-hide.utils.d.ts +0 -26
@@ -0,0 +1,77 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { r as registerInstance, f as printIonWarning, h, d as Host, g as getElement } from './index-Omi_TcwW.js';
5
+ import { c as getIonTheme } from './ionic-global--9mOmThr.js';
6
+
7
+ const galleryItemCss = () => `:host{display:block}::slotted(*){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%}::slotted(img){display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}:host(.in-gallery-layout-uniform) ::slotted(*){aspect-ratio:1/1}:host(.in-gallery-layout-masonry){min-height:unset;margin-bottom:var(--internal-gallery-gap, 16px)}`;
8
+
9
+ const GalleryItem = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ this.hasWarnedInvalidParent = false;
13
+ this.onSlotChange = () => {
14
+ this.warnInvalidParent();
15
+ };
16
+ }
17
+ componentWillLoad() {
18
+ var _a;
19
+ this.galleryEl = (_a = this.el.closest('ion-gallery')) !== null && _a !== void 0 ? _a : undefined;
20
+ this.syncLayoutClasses();
21
+ }
22
+ componentDidLoad() {
23
+ this.watchGalleryLayoutClasses();
24
+ this.warnInvalidParent();
25
+ }
26
+ disconnectedCallback() {
27
+ var _a;
28
+ (_a = this.galleryClassObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
29
+ this.galleryClassObserver = undefined;
30
+ this.galleryEl = undefined;
31
+ }
32
+ /**
33
+ * Warn when the item is not a descendant of an `ion-gallery`.
34
+ */
35
+ warnInvalidParent() {
36
+ if (this.hasWarnedInvalidParent || this.galleryEl !== undefined) {
37
+ return;
38
+ }
39
+ printIonWarning('[ion-gallery-item] - This component should be used as a child of an "ion-gallery" component.', this.el);
40
+ this.hasWarnedInvalidParent = true;
41
+ }
42
+ /**
43
+ * Watch the parent gallery's class list so the item can react to layout
44
+ * changes (the gallery reflects its layout as a `gallery-layout-*` class).
45
+ */
46
+ watchGalleryLayoutClasses() {
47
+ var _a;
48
+ const galleryEl = this.galleryEl;
49
+ if (galleryEl === undefined) {
50
+ return;
51
+ }
52
+ (_a = this.galleryClassObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
53
+ this.galleryClassObserver = new MutationObserver(() => this.syncLayoutClasses());
54
+ this.galleryClassObserver.observe(galleryEl, {
55
+ attributes: true,
56
+ attributeFilter: ['class'],
57
+ });
58
+ }
59
+ syncLayoutClasses() {
60
+ var _a;
61
+ const layout = (_a = this.galleryEl) === null || _a === void 0 ? void 0 : _a.layout;
62
+ this.galleryLayout = layout === 'masonry' || layout === 'uniform' ? layout : undefined;
63
+ }
64
+ render() {
65
+ const { galleryLayout } = this;
66
+ const theme = getIonTheme(this);
67
+ return (h(Host, { key: 'b3de6bf2df4af01ed274188a96d9e8cd82c9f5cd', class: {
68
+ [theme]: true,
69
+ 'in-gallery-layout-uniform': galleryLayout === 'uniform',
70
+ 'in-gallery-layout-masonry': galleryLayout === 'masonry',
71
+ } }, h("slot", { key: '5bef4549c5101178fec9b590cb6b553ddc5376c4', onSlotchange: this.onSlotChange })));
72
+ }
73
+ get el() { return getElement(this); }
74
+ };
75
+ GalleryItem.style = galleryItemCss();
76
+
77
+ export { GalleryItem as ion_gallery_item };
@@ -14,6 +14,9 @@ import './focus-visible-vXpMhGrs.js';
14
14
  const LENGTH_PERCENTAGE_PATTERN = /^[-+]?(?:\d+\.?\d*|\.\d+)(?:%|[a-z]+)$/i;
15
15
  // Matches simple `calc` / `min` / `max` / `clamp(...)` functions.
16
16
  const MATH_FUNCTION_PATTERN = /^(calc|min|max|clamp)\s*\(.+\)$/i;
17
+ // Matches a `var(--name)` reference with an optional fallback, e.g.
18
+ // `var(--my-gap)` or `var(--my-gap, 16px)`.
19
+ const VAR_FUNCTION_PATTERN = /^var\(\s*--[^\s,)]+\s*(?:,[\s\S]*)?\)$/i;
17
20
  /**
18
21
  * Returns whether `value` matches the [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
19
22
  * syntax. Accepts `<length>` (`<number>` + unit identifier) or `<percentage>` (`<number>%`).
@@ -28,6 +31,17 @@ function isValidLengthPercentage(value) {
28
31
  }
29
32
  return MATH_FUNCTION_PATTERN.test(v) || LENGTH_PERCENTAGE_PATTERN.test(v);
30
33
  }
34
+ /**
35
+ * Returns whether `value` is a single [`var()`](https://developer.mozilla.org/en-US/docs/Web/CSS/var)
36
+ * reference, e.g. `var(--my-token)` or `var(--my-token, 16px)`. The referenced
37
+ * custom property is resolved by the browser, so the resolved value is not
38
+ * validated here.
39
+ *
40
+ * @param value String value to validate.
41
+ */
42
+ function isCssVariable(value) {
43
+ return VAR_FUNCTION_PATTERN.test(value.trim());
44
+ }
31
45
 
32
46
  const DEFAULT_COLUMNS = {
33
47
  xs: 2,
@@ -39,7 +53,7 @@ const DEFAULT_COLUMNS = {
39
53
  };
40
54
  const DEFAULT_GAP = '16px';
41
55
 
42
- const galleryCss = () => `:host{display:grid;grid-template-columns:repeat(var(--internal-gallery-columns, 2), minmax(0, 1fr))}:host(.gallery-layout-uniform){gap:var(--internal-gallery-gap, 16px)}:host(.gallery-layout-uniform) ::slotted(*){aspect-ratio:1/1}:host(.gallery-layout-masonry){-ms-flex-align:start;align-items:start;-webkit-column-gap:var(--internal-gallery-gap, 16px);-moz-column-gap:var(--internal-gallery-gap, 16px);column-gap:var(--internal-gallery-gap, 16px);row-gap:0;grid-auto-rows:2px}:host(.gallery-layout-masonry) ::slotted(*){display:block;min-height:unset;margin-bottom:var(--internal-gallery-gap, 16px)}::slotted(*){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%}::slotted(img){display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}`;
56
+ const galleryCss = () => `:host{display:grid;grid-template-columns:repeat(var(--internal-gallery-columns, 2), minmax(0, 1fr))}:host(.gallery-layout-uniform){gap:var(--internal-gallery-gap, 16px)}:host(.gallery-layout-masonry){-ms-flex-align:start;align-items:start;-webkit-column-gap:var(--internal-gallery-gap, 16px);-moz-column-gap:var(--internal-gallery-gap, 16px);column-gap:var(--internal-gallery-gap, 16px);row-gap:0;grid-auto-rows:1px}`;
43
57
 
44
58
  // TODO(FW-7285): Replace with global breakpoints
45
59
  const BREAKPOINTS = {
@@ -51,6 +65,10 @@ const BREAKPOINTS = {
51
65
  xxl: 1400,
52
66
  };
53
67
  const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
68
+ /**
69
+ * The tag of the component used to wrap each gallery item.
70
+ */
71
+ const GALLERY_ITEM_SELECTOR = 'ion-gallery-item';
54
72
  const Gallery = class {
55
73
  constructor(hostRef) {
56
74
  registerInstance(this, hostRef);
@@ -59,6 +77,7 @@ const Gallery = class {
59
77
  this.hasWarnedInvalidColumns = false;
60
78
  this.hasWarnedInvalidGap = false;
61
79
  this.hasWarnedUnusedOrder = false;
80
+ this.hasWarnedInvalidItems = false;
62
81
  /**
63
82
  * The visual layout of the gallery. When `uniform`, rows take up the height
64
83
  * of the tallest item and are spaced evenly across the gallery. Additionally,
@@ -75,7 +94,8 @@ const Gallery = class {
75
94
  /**
76
95
  * The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
77
96
  * values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`,
78
- * or numbers (treated as pixel values). Can also be set as a breakpoint map
97
+ * CSS variables like `var(--app-gallery-gap)`, or numbers (treated as pixel
98
+ * values). Can also be set as a breakpoint map
79
99
  * (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept
80
100
  * space-separated values or CSS keyword values like `inherit`, `auto`, etc.
81
101
  */
@@ -87,6 +107,9 @@ const Gallery = class {
87
107
  * are added or removed from the gallery.
88
108
  */
89
109
  this.onSlotChange = () => {
110
+ // Re-observe so newly added items are watched for size changes (e.g. a
111
+ // freshly appended item finishing hydration), then recompute placement.
112
+ this.observeResizes();
90
113
  this.scheduleMasonryResize();
91
114
  };
92
115
  /**
@@ -130,7 +153,7 @@ const Gallery = class {
130
153
  this.updateResponsiveStyles();
131
154
  this.scheduleMasonryResize();
132
155
  });
133
- this.resizeObserver.observe(this.el);
156
+ this.observeResizes();
134
157
  this.scheduleMasonryResize();
135
158
  this.warnUnusedOrder();
136
159
  }
@@ -143,6 +166,22 @@ const Gallery = class {
143
166
  (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
144
167
  this.resizeObserver = undefined;
145
168
  }
169
+ /**
170
+ * Observe the host and each item for size changes. Items are observed in
171
+ * addition to the host so masonry placement is recomputed when an item's
172
+ * rendered height changes — most importantly when a dynamically added
173
+ * `ion-gallery-item` finishes hydrating, which (unlike an `<img>`) emits no
174
+ * `load` event and does not change the host's measured size while collapsed.
175
+ */
176
+ observeResizes() {
177
+ const observer = this.resizeObserver;
178
+ if (observer === undefined) {
179
+ return;
180
+ }
181
+ observer.disconnect();
182
+ observer.observe(this.el);
183
+ this.getItems().forEach((item) => observer.observe(item));
184
+ }
146
185
  /**
147
186
  * Listen for the load event on child elements.
148
187
  * When the layout is `masonry`, this listener is used to schedule a resize
@@ -196,9 +235,10 @@ const Gallery = class {
196
235
  return numericColumns;
197
236
  }
198
237
  /**
199
- * Normalize a single gap value (`gap` as a number, string, or one entry from
200
- * a `gap` breakpoint map) to a CSS length string. Returns `undefined` when
201
- * the input cannot be interpreted as a valid CSS length.
238
+ * Normalize a single gap value (`gap` as a number, a string such as a CSS
239
+ * length-percentage or `var()` reference, or one entry from a `gap`
240
+ * breakpoint map) to a CSS length string. Returns `undefined` when the
241
+ * input cannot be interpreted as a valid CSS length or `var()` reference.
202
242
  */
203
243
  sanitizeGap(gap) {
204
244
  if (gap === undefined) {
@@ -215,6 +255,9 @@ const Gallery = class {
215
255
  if (typeof normalizedGap !== 'string') {
216
256
  return undefined;
217
257
  }
258
+ if (isCssVariable(normalizedGap)) {
259
+ return normalizedGap;
260
+ }
218
261
  const isValidCssLength = isValidLengthPercentage(normalizedGap);
219
262
  return isValidCssLength ? normalizedGap : undefined;
220
263
  }
@@ -295,7 +338,7 @@ const Gallery = class {
295
338
  if (this.hasWarnedInvalidGap) {
296
339
  return;
297
340
  }
298
- printIonWarning(`[ion-gallery] - Invalid "gap" value (${JSON.stringify(gap)}). Expected a non-negative number, CSS length string, or breakpoint map object (e.g. { xs: 8, md: "1rem" }).`, this.el);
341
+ printIonWarning(`[ion-gallery] - Invalid "gap" value (${JSON.stringify(gap)}). Expected a non-negative number, CSS length string, CSS variable (e.g. var(--app-gap)), or breakpoint map object (e.g. { xs: 8, md: "1rem" }).`, this.el);
299
342
  this.hasWarnedInvalidGap = true;
300
343
  }
301
344
  /**
@@ -367,11 +410,43 @@ const Gallery = class {
367
410
  this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
368
411
  }
369
412
  /**
370
- * Return all directly slotted children of the gallery that can be grid items
371
- * with inline placement styles (HTML elements and SVG elements).
413
+ * Return the `ion-gallery-item` elements to place in the grid. Each item is a
414
+ * direct grid cell. A direct child that is not an `ion-gallery-item` is
415
+ * treated as a pass-through wrapper (e.g. a layout `<div>`): its box is
416
+ * collapsed with `display: contents` so the nested items participate in the
417
+ * gallery grid. Children that contain no `ion-gallery-item` are ignored.
372
418
  */
373
419
  getItems() {
374
- return Array.from(this.el.children).filter((child) => { var _a; return typeof ((_a = child.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function'; });
420
+ const items = [];
421
+ Array.from(this.el.children).forEach((child) => {
422
+ // Standard path: <ion-gallery-item> is a direct child of <ion-gallery>.
423
+ if (child.matches(GALLERY_ITEM_SELECTOR)) {
424
+ items.push(child);
425
+ return;
426
+ }
427
+ // Compatibility path: a wrapper element may contain <ion-gallery-item>
428
+ // components. Collapse the wrapper's box so the items participate in the
429
+ // gallery grid.
430
+ const nestedItems = Array.from(child.querySelectorAll(GALLERY_ITEM_SELECTOR));
431
+ if (nestedItems.length === 0) {
432
+ this.warnInvalidItems();
433
+ return;
434
+ }
435
+ child.style.display = 'contents';
436
+ items.push(...nestedItems);
437
+ });
438
+ return items;
439
+ }
440
+ /**
441
+ * Warn when the gallery has content that is not wrapped in an
442
+ * `ion-gallery-item` component.
443
+ */
444
+ warnInvalidItems() {
445
+ if (this.hasWarnedInvalidItems) {
446
+ return;
447
+ }
448
+ printIonWarning(`[ion-gallery] - Gallery items must be wrapped in "ion-gallery-item" components. Direct children that are not "ion-gallery-item" (and do not contain one) are ignored.`, this.el);
449
+ this.hasWarnedInvalidItems = true;
375
450
  }
376
451
  /**
377
452
  * Clear the item styles for the given item element.
@@ -389,12 +464,19 @@ const Gallery = class {
389
464
  clearMasonryStyles() {
390
465
  this.getItems().forEach((itemEl) => this.clearItemStyles(itemEl));
391
466
  }
467
+ /**
468
+ * Whether the item contains any images that have not finished loading.
469
+ * Used to defer masonry placement until the rendered height is final.
470
+ */
471
+ hasUnloadedImages(itemEl) {
472
+ return Array.from(itemEl.querySelectorAll('img')).some((img) => !img.complete || img.naturalHeight === 0);
473
+ }
392
474
  /**
393
475
  * Convert a rendered item height to the number of grid rows it should span.
394
- * Returns undefined for images that are not fully loaded yet.
476
+ * Returns undefined when the item has images that are not fully loaded yet.
395
477
  */
396
478
  calculateRowSpan(itemEl, rowHeight, rowGap) {
397
- if (itemEl instanceof HTMLImageElement && (!itemEl.complete || itemEl.naturalHeight === 0)) {
479
+ if (this.hasUnloadedImages(itemEl)) {
398
480
  return undefined;
399
481
  }
400
482
  const height = itemEl.getBoundingClientRect().height;
@@ -481,11 +563,11 @@ const Gallery = class {
481
563
  const { layout } = this;
482
564
  const order = this.getOrder();
483
565
  const theme = getIonTheme(this);
484
- return (h(Host, { key: '1bf2973d22835c0dbddf3214b602f8c08b95e421', class: {
566
+ return (h(Host, { key: '2063823917f4ab8430aee0e17ae0f3a2b53341d1', class: {
485
567
  [theme]: true,
486
568
  [`gallery-layout-${layout}`]: true,
487
569
  [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
488
- } }, h("slot", { key: '0dea31f609f6afdb1d73ecb2d873909ffe49203f', onSlotchange: this.onSlotChange })));
570
+ } }, h("slot", { key: '1378f489afb6b05181d2513f664c4efe24ad3598', onSlotchange: this.onSlotChange })));
489
571
  }
490
572
  get el() { return getElement(this); }
491
573
  static get watchers() { return {
@@ -82,9 +82,9 @@ const Img = class {
82
82
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
83
83
  const { draggable } = inheritedAttributes;
84
84
  const theme = getIonTheme(this);
85
- return (h(Host, { key: '91de170493b31d6260e975b440beceb6906b6d5a', class: {
85
+ return (h(Host, { key: 'ba84621055567b2a35387709d9d89b97ad853274', class: {
86
86
  [theme]: true,
87
- } }, h("img", { key: 'ac1f41afbece34a3e38e656733f3e55cce385b4c', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
87
+ } }, h("img", { key: '9d6118bbf69e2cccbb0603802c03b9a0d101e2c3', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
88
88
  }
89
89
  get el() { return getElement(this); }
90
90
  static get watchers() { return {
@@ -269,7 +269,7 @@ const InfiniteScroll = class {
269
269
  render() {
270
270
  const theme = getIonTheme(this);
271
271
  const disabled = this.disabled;
272
- return (h(Host, { key: '02beca21d668e4e605532ad5ca5a67a08c71eebb', class: {
272
+ return (h(Host, { key: 'e3a3cde079dfd6f07e565eb462765df757cbb128', class: {
273
273
  [theme]: true,
274
274
  'infinite-scroll-loading': this.isLoading,
275
275
  'infinite-scroll-enabled': !disabled,
@@ -313,11 +313,11 @@ const InfiniteScrollContent = class {
313
313
  }
314
314
  render() {
315
315
  const theme = getIonTheme(this);
316
- return (h(Host, { key: 'b51954f829eeafd5ec304b3e66e330776485ffc8', class: {
316
+ return (h(Host, { key: '263a27297159ced042f7552a1e14b8c6aba62fa8', class: {
317
317
  [theme]: true,
318
318
  // Used internally for styling
319
319
  [`infinite-scroll-content-${theme}`]: true,
320
- } }, h("div", { key: '047da7f15fe38deed592dd66d1c97e12da4545bb', class: "infinite-loading" }, this.loadingSpinner && (h("div", { key: '1c05820f091052b8ee9e9ca20054495a676c21aa', class: "infinite-loading-spinner" }, h("ion-spinner", { key: 'ff801e3486f3c1a4605d2a2de9b47bd7bd536698', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
320
+ } }, h("div", { key: 'ee38d3c52df9dc5de186406b3087f20917a17252', class: "infinite-loading" }, this.loadingSpinner && (h("div", { key: 'e2348727f79a26f52f42641d4334a0ba9d4aa03e', class: "infinite-loading-spinner" }, h("ion-spinner", { key: '41be6f2747f3af5f46c8738e2ef56083ecd95e99', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
321
321
  }
322
322
  };
323
323
  InfiniteScrollContent.style = {
@@ -690,7 +690,7 @@ const InputOTP = class {
690
690
  const tabbableIndex = this.getTabbableIndex();
691
691
  const pattern = this.getPattern();
692
692
  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()) !== '';
693
- return (h(Host, { key: '7a5c5dbb7e1880bd94d4b00e579af941366b1cb2', class: createColorClasses(color, {
693
+ return (h(Host, { key: 'f39e98cd24cbf50f7db4e891dda9499f6def7986', class: createColorClasses(color, {
694
694
  [mode]: true,
695
695
  'has-focus': hasFocus,
696
696
  [`input-otp-size-${size}`]: true,
@@ -698,10 +698,10 @@ const InputOTP = class {
698
698
  [`input-otp-fill-${fill}`]: true,
699
699
  'input-otp-disabled': disabled,
700
700
  'input-otp-readonly': readonly,
701
- }) }, h("div", Object.assign({ key: 'a4427602ea1894d53e4d0f502dbb972c93a86bff', role: "group", "aria-label": "One-time password input", class: "input-otp-group", part: "group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper", part: "container" }, h("input", { class: "native-input", part: "native", 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", part: "separator" }))))), h("div", { key: '7ee9d8dfd2e52875f1bfe3e3dea0494c18c12f4a', class: {
701
+ }) }, h("div", Object.assign({ key: '624adcd552947708162003353b331cd92df062ef', role: "group", "aria-label": "One-time password input", class: "input-otp-group", part: "group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper", part: "container" }, h("input", { class: "native-input", part: "native", 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", part: "separator" }))))), h("div", { key: 'c518d83ab0236a3ebbe631582ce6f1c2edfbcd29', class: {
702
702
  'input-otp-description': true,
703
703
  'input-otp-description-hidden': !hasDescription,
704
- }, part: "description" }, h("slot", { key: '163c374e7ae5dbdb1dc12483161e5aca919a50d5' }))));
704
+ }, part: "description" }, h("slot", { key: '15c7c8549c1788748e1ae31bd227a7f918cb5eca' }))));
705
705
  }
706
706
  static get formAssociated() { return true; }
707
707
  get el() { return getElement(this); }
@@ -99,16 +99,16 @@ const InputPasswordToggle = class {
99
99
  const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
100
100
  const mode = getIonMode(this);
101
101
  const isPasswordVisible = type === 'text';
102
- return (h(Host, { key: 'c7f0805958b284005806a0cb3ed0b5cba42cecd1', class: createColorClasses(color, {
102
+ return (h(Host, { key: 'f11e3bf4d3255e003aec504e6dd3ee1e0caaf767', class: createColorClasses(color, {
103
103
  [mode]: true,
104
- }) }, h("ion-button", { key: 'dee2bdeb169d1fa4943c9a8b0164b8fbb4cdfe06', mode: mode, color: color, fill: "clear", shape: "round", "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', "aria-pressed": isPasswordVisible ? 'true' : 'false', type: "button", onPointerDown: (ev) => {
104
+ }) }, h("ion-button", { key: '5bba43f7755857fd9347612bb906c389b60386b4', mode: mode, color: color, fill: "clear", shape: "round", "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', "aria-pressed": isPasswordVisible ? 'true' : 'false', type: "button", onPointerDown: (ev) => {
105
105
  /**
106
106
  * This prevents mobile browsers from
107
107
  * blurring the input when the password toggle
108
108
  * button is activated.
109
109
  */
110
110
  ev.preventDefault();
111
- }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: 'be752db7186a7cd6fc033c7002fcb1683d93c162', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
111
+ }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: 'c0eb0e4e2f3e9553bfd519ff655064c9f62af406', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
112
112
  }
113
113
  get el() { return getElement(this); }
114
114
  static get watchers() { return {
@@ -620,7 +620,7 @@ const Input = class {
620
620
  * TODO(FW-5592): Remove hasStartEndSlots condition
621
621
  */
622
622
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
623
- return (h(Host, { key: 'beeeca9939e7e416783425f67d3c9e2be6bbae99', class: createColorClasses(this.color, {
623
+ return (h(Host, { key: '3da29d837b5abe22de740ac96c8142422fce537a', class: createColorClasses(this.color, {
624
624
  [theme]: true,
625
625
  'has-value': hasValue,
626
626
  'has-focus': hasFocus,
@@ -633,7 +633,7 @@ const Input = class {
633
633
  'in-item-color': hostContext('ion-item.ion-color', this.el),
634
634
  'input-disabled': disabled,
635
635
  'input-readonly': readonly,
636
- }) }, h("label", { key: 'f227df52a6ad60344f16261a82c0d0566bb8cd5b', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: 'ae6da554ce21f805361a7704139b776a9344dcb2', class: "native-wrapper", onClick: this.onLabelClick },
636
+ }) }, h("label", { key: '142a8230382a05938887e9c0790832218ac37697', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '953f247ea2f40545e01e0346549d9b7aa344b720', class: "native-wrapper", onClick: this.onLabelClick },
637
637
  /**
638
638
  * For the ionic theme, we render the outline container here
639
639
  * instead of higher up, so it can be positioned relative to
@@ -643,14 +643,14 @@ const Input = class {
643
643
  * <label> element, ensuring that clicking the label text
644
644
  * focuses the input.
645
645
  */
646
- theme === 'ionic' && h("div", { key: '83aa5e7ad97b0c964e31966c1d2b8771d1ecfc53', class: "input-outline" }), h("slot", { key: '1931003f2b0d19508acaaffab58fee644d1f6158', name: "start" }), h("input", Object.assign({ key: '33a06efb4ce0b6e67c12e77f131effb113fba73f', 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, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), clearInput && !readonly && !disabled && (h("button", { key: 'd350f26cf6927ee089373ea8903db2479a0a404c', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
646
+ theme === 'ionic' && h("div", { key: 'fd09b37c6a798900c5074e7cbe2e790ea050c29d', class: "input-outline" }), h("slot", { key: '3eef4c4748104d8722f3254a04ff88e2b70c560e', name: "start" }), h("input", Object.assign({ key: '012a3fa52e19422d7fbc227845e9771c7d8fbe4a', 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, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), clearInput && !readonly && !disabled && (h("button", { key: 'b115494d9611aea57a976d3102026f3d9b430bfb', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
647
647
  /**
648
648
  * This prevents mobile browsers from
649
649
  * blurring the input when the clear
650
650
  * button is activated.
651
651
  */
652
652
  ev.preventDefault();
653
- }, onClick: this.clearTextInput }, h("ion-icon", { key: '972a2d94dcf599e63aac1d73e34873a9c3d0bf94', "aria-hidden": "true", icon: inputClearIcon }))), h("slot", { key: 'fac4dcaabb02f647e46276e92e3f341557170aec', name: "end" })), shouldRenderHighlight && h("div", { key: 'a10e519d8d1f0dcd81ffc43b8e4086797476f753', class: "input-highlight" })), this.renderBottomContent()));
653
+ }, onClick: this.clearTextInput }, h("ion-icon", { key: 'a259afa47a9914b2e0656364bed40644fa2c87c4', "aria-hidden": "true", icon: inputClearIcon }))), h("slot", { key: 'beec86eb500f6b335149c8734afc7c3945a10219', name: "end" })), shouldRenderHighlight && h("div", { key: '77a25d118934f369e09edbc2ffa6f90e3e760338', class: "input-highlight" })), this.renderBottomContent()));
654
654
  }
655
655
  get el() { return getElement(this); }
656
656
  static get watchers() { return {
@@ -68,14 +68,14 @@ const ItemOption = class {
68
68
  href: this.href,
69
69
  target: this.target,
70
70
  };
71
- return (h(Host, { key: 'bfade0042108ff525077dfbdfd45169ccfd6b920', onClick: this.onClick, class: createColorClasses(this.color, {
71
+ return (h(Host, { key: '8f1bad23fd3ccbb9d54d57765e6731cd2ee07306', onClick: this.onClick, class: createColorClasses(this.color, {
72
72
  [theme]: true,
73
73
  [`item-option-${shape}`]: shape !== undefined,
74
74
  [`item-option-${hue}`]: hue !== undefined,
75
75
  'item-option-disabled': disabled,
76
76
  'item-option-expandable': expandable,
77
77
  'ion-activatable': true,
78
- }) }, h(TagType, Object.assign({ key: '38466b511f4a20a3728f37dbf6779b852eba531a' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: 'bb8f1b332afa2f575bcc69b340bd8f1faa5ca925', class: "button-inner", part: "inner" }, h("slot", { key: '41d627511e1615283956712e1b9519bae92460f6', name: "top" }), h("div", { key: 'bb949a43a586a8996933ee7528e5491beb647aa5', class: "horizontal-wrapper", part: "container" }, h("slot", { key: 'c0d6a73ef49082bfbdf0f542f7465d044ccb6521', name: "start" }), h("slot", { key: '79c6103e680983b2c1a17f1f11dbc41224cd4016', name: "icon-only" }), h("slot", { key: '6c7f17723544d3f6e8b9689b84ddf6196f1897a5' }), h("slot", { key: 'e15d0e02fde71bad8ff7bab0eded7d49508a926e', name: "end" })), h("slot", { key: 'c509d54d44ce33f5a34597b9d0ec29960bbcff62', name: "bottom" })), theme === 'md' && h("ion-ripple-effect", { key: '412d4dc645c941d0b4356cf982be3d5bc2686f13' }))));
78
+ }) }, h(TagType, Object.assign({ key: '2baf904e356a87ed463ee5f517e0e95f90b2ef30' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: '49b627f72dffd1b150ccd808b1b1f63bbe78e2de', class: "button-inner", part: "inner" }, h("slot", { key: 'cdb52f76f1d7e5df411215f17eb76ad25e36241a', name: "top" }), h("div", { key: '864204667c6e3ba6f989b24e96c131b67e55d408', class: "horizontal-wrapper", part: "container" }, h("slot", { key: '474f4aab708842bb7ef74cb6f1fbe601ceff82cf', name: "start" }), h("slot", { key: '2bd726c5ba3ee079a623f1f6229d1ac2afd3e291', name: "icon-only" }), h("slot", { key: '2d1a673c447ebf82c92f944ec9e83a5b38698307' }), h("slot", { key: '8d0f9337cd84c725190cffd25d74044075e85ab0', name: "end" })), h("slot", { key: 'a674039b26d9cbb886e88ea721bbc210484aba9f', name: "bottom" })), theme === 'md' && h("ion-ripple-effect", { key: '3e45bf18b7992943c47ece47e9358f4da0b8e865' }))));
79
79
  }
80
80
  get el() { return getElement(this); }
81
81
  };
@@ -110,7 +110,7 @@ const ItemOptions = class {
110
110
  render() {
111
111
  const theme = getIonTheme(this);
112
112
  const isEnd = isEndSide(this.side);
113
- return (h(Host, { key: 'f3bb726a28c571101791d33d946df9017f47e5ec', class: {
113
+ return (h(Host, { key: 'ed05ceebf2cda943ac9efea2f91b71f7e8fc55e8', class: {
114
114
  [theme]: true,
115
115
  // Used internally for styling
116
116
  [`item-options-${theme}`]: true,
@@ -904,7 +904,7 @@ const ItemSliding = class {
904
904
  }
905
905
  render() {
906
906
  const theme = getIonTheme(this);
907
- return (h(Host, { key: 'e6890a1b14faaf9121a07912b1c2f46e06148202', class: {
907
+ return (h(Host, { key: '47de8c8a9721f9223b42d6722a9ad32f378818aa', class: {
908
908
  [theme]: true,
909
909
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
910
910
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -308,11 +308,11 @@ const ItemDivider = class {
308
308
  }
309
309
  render() {
310
310
  const theme = getIonTheme(this);
311
- return (h(Host, { key: 'ede65c17ec8e42e4096f8753116923d6b8d2cc14', class: createColorClasses(this.color, {
311
+ return (h(Host, { key: 'dc73f348b5376faa40ba4bc6bba3d5c9e5ec5ab2', class: createColorClasses(this.color, {
312
312
  [theme]: true,
313
313
  'item-divider-sticky': this.sticky,
314
314
  item: true,
315
- }) }, h("slot", { key: '4e16384a4481326490dab1ad31218c19eb9108db', name: "start" }), h("div", { key: '0bddbea071781e3372b5c7147c2fdd3ba0e29ffe', class: "item-divider-inner", part: "inner" }, h("div", { key: 'dfa603352f7cc58aaa717a32507b1dbbd7b79757', class: "item-divider-wrapper", part: "container" }, h("slot", { key: '4b1b67cfe72266645943f88ede9f8c61a344967d' })), h("slot", { key: '6ddd72a410c449e281f5344d02324e7461ba29e8', name: "end" }))));
315
+ }) }, h("slot", { key: '0f535b2cf91f2ec042aa59a89498cfa0e4d541a0', name: "start" }), h("div", { key: '867c8c1a1bd273a5f5018f77785f11d58152e8b9', class: "item-divider-inner", part: "inner" }, h("div", { key: 'c32b2a5658d27cf5d8cd8ffbfa476c02755e1afd', class: "item-divider-wrapper", part: "container" }, h("slot", { key: 'f8b0fea29a910cd2e36301586532be3a8348c31e' })), h("slot", { key: '418750f630c851cf04b6a278c1666c6cf33c113c', name: "end" }))));
316
316
  }
317
317
  get el() { return getElement(this); }
318
318
  };
@@ -334,7 +334,7 @@ const ItemGroup = class {
334
334
  }
335
335
  render() {
336
336
  const theme = getIonTheme(this);
337
- return (h(Host, { key: '66ad8ce335cd97703e884538bdf6ea1927a30889', role: "group", class: {
337
+ return (h(Host, { key: '017c8f7cd0258e1864423337ddd1b1cb522f64ed', role: "group", class: {
338
338
  [theme]: true,
339
339
  // Used internally for styling
340
340
  [`item-group-${theme}`]: true,
@@ -408,13 +408,13 @@ const Label = class {
408
408
  render() {
409
409
  const position = this.position;
410
410
  const theme = getIonTheme(this);
411
- return (h(Host, { key: '7cbec4c1b8fe8925f44255e02cee78bc1873fd70', class: createColorClasses(this.color, {
411
+ return (h(Host, { key: 'b1f261db441bcb0a325a5b3e21da17764a56f17c', class: createColorClasses(this.color, {
412
412
  [theme]: true,
413
413
  'in-item-color': hostContext('ion-item.ion-color', this.el),
414
414
  [`label-${position}`]: position !== undefined,
415
415
  [`label-no-animate`]: this.noAnimate,
416
416
  'label-rtl': document.dir === 'rtl',
417
- }) }, h("slot", { key: '6d8b4a7ab396792d7a7c0b7e259c622840b7ef9b' })));
417
+ }) }, h("slot", { key: '490444c8c0d4cf72eae3f8abfb7ed7ecc30bb213' })));
418
418
  }
419
419
  get el() { return getElement(this); }
420
420
  static get watchers() { return {
@@ -478,7 +478,7 @@ const List = class {
478
478
  const theme = getIonTheme(this);
479
479
  const shape = this.getShape();
480
480
  const { lines, inset } = this;
481
- return (h(Host, { key: 'f17f7af20c567ea0098b362ea04d051b44aa151a', role: "list", class: {
481
+ return (h(Host, { key: '9be30ff6e75e020c0db7054800cb874efef26bd8', role: "list", class: {
482
482
  [theme]: true,
483
483
  // Used internally for styling
484
484
  [`list-${theme}`]: true,
@@ -509,10 +509,10 @@ const ListHeader = class {
509
509
  render() {
510
510
  const { lines } = this;
511
511
  const theme = getIonTheme(this);
512
- return (h(Host, { key: '90c594b0290949b159f35bd36c86c3231a1b8e44', class: createColorClasses(this.color, {
512
+ return (h(Host, { key: '7a1632a069317285210f4aeae50a6f2ef6955c56', class: createColorClasses(this.color, {
513
513
  [theme]: true,
514
514
  [`list-header-lines-${lines}`]: lines !== undefined,
515
- }) }, h("div", { key: '9d1bde129787263edb79bc921cdf0168a2935a27', class: "list-header-inner", part: "inner" }, h("slot", { key: 'fe157b5ff88355adfb09209ee92fd03c82e067ff' }))));
515
+ }) }, h("div", { key: 'a9a9463f209023da222f38a78126d5aaeb2f03b9', class: "list-header-inner", part: "inner" }, h("slot", { key: 'e3c6ec1b588392d347844d59d338abc339e80634' }))));
516
516
  }
517
517
  };
518
518
  ListHeader.style = {
@@ -533,9 +533,9 @@ const Note = class {
533
533
  }
534
534
  render() {
535
535
  const theme = getIonTheme(this);
536
- return (h(Host, { key: '34a74796fc2e41549100c6611a5900d60c8d688d', class: createColorClasses(this.color, {
536
+ return (h(Host, { key: '376ae1c66c19d1bdd74a2371c0639ed9e49648b5', class: createColorClasses(this.color, {
537
537
  [theme]: true,
538
- }) }, h("slot", { key: 'ea4c2e3b5666d10ca312e175db200134d8a30382' })));
538
+ }) }, h("slot", { key: 'f8168cd88bb21c5e5a2b03c29539729fb38a19fd' })));
539
539
  }
540
540
  };
541
541
  Note.style = {
@@ -571,11 +571,11 @@ const SkeletonText = class {
571
571
  const animated = this.animated && config.getBoolean('animated', true);
572
572
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
573
573
  const theme = getIonTheme(this);
574
- return (h(Host, { key: 'aa94213767105077047a369d4e4861027af96060', class: {
574
+ return (h(Host, { key: '370451ee8963b776079f5df365f7bbd70a53b270', class: {
575
575
  [theme]: true,
576
576
  'skeleton-text-animated': animated,
577
577
  'in-media': inMedia,
578
- } }, h("span", { key: 'c5dab0fb89d524827936aef5345cc0c7eda9e274' }, "\u00A0")));
578
+ } }, h("span", { key: '2b861b4ec86cbd61927ab7b81b13517c99dc94c7' }, "\u00A0")));
579
579
  }
580
580
  get el() { return getElement(this); }
581
581
  };
@@ -278,9 +278,9 @@ const Loading = class {
278
278
  * Otherwise, don't set aria-labelledby.
279
279
  */
280
280
  const ariaLabelledBy = message !== undefined ? msgId : null;
281
- return (h(Host, Object.assign({ key: 'b1e84a0d078fac04c0736a19d067d8d49e339323', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
281
+ return (h(Host, Object.assign({ key: '2ffae36b20a7d7f3a752a062d90062583e31d053', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
282
282
  zIndex: `${40000 + this.overlayIndex}`,
283
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '19884fd6f8bf6f704bff388ecfa245d1cd98156c', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'ecd47d503a9805a5c18f1b0d48989e54b4cb8f78', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '231821576b812ffaa90ed9ced4437e456908ad53', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'e18d21751a73f408bd058aa4270f245285cd57fa', class: "loading-spinner" }, h("ion-spinner", { key: '478761b8a000191951e9902138483b389e1b76c4', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '968be6c72872ce5bc8706fa37f242dcdc38efb33', tabindex: "0", "aria-hidden": "true" })));
283
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'a6d8cac2c34a0905ec67a2c64be7ec12cc84f168', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'cd011d86f20869096a8546f098fb5edad44033a1', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '70298be2139d6004e0f8fc5a85c5d05f1efdc347', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: '32aef90695d91e0a82696abbce96ba29cb1a2608', class: "loading-spinner" }, h("ion-spinner", { key: '7ae69c27be273cf3e83230dae043168df27ac27e', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'f13a01b31516c3fe85dd3a623962290c03e7412f', tabindex: "0", "aria-hidden": "true" })));
284
284
  }
285
285
  get el() { return getElement(this); }
286
286
  static get watchers() { return {
@@ -664,14 +664,14 @@ const Menu = class {
664
664
  * the ionBackButton listener in the menu controller
665
665
  * will handle closing the menu when Escape is pressed.
666
666
  */
667
- return (h(Host, { key: 'd42a7b48a1464a4d71188e3a31f719c5dc296d77', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
667
+ return (h(Host, { key: '76e15d710fbbbd2e64795224decc3673fd160db0', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
668
668
  [theme]: true,
669
669
  [`menu-type-${type}`]: true,
670
670
  'menu-enabled': !disabled,
671
671
  [`menu-side-${side}`]: true,
672
672
  'menu-pane-visible': isPaneVisible,
673
673
  'split-pane-side': hostContext('ion-split-pane', el),
674
- } }, h("div", { key: '3ffcedd178c412771657599f3d5de2cd2a717c00', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '2d8dfdb569c4b433cbacbe2aee8a12954e157a51' })), h("ion-backdrop", { key: 'e1fcbdcf6bd3aa0fa10dcf05a2b012bef196a243', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
674
+ } }, h("div", { key: 'cc0a0773caff97aefa98015bf3e36631173d2b4f', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '0b90d1248bdf3bedafda7913189635c8d010abb6' })), h("ion-backdrop", { key: '4fb7013bc61161e6e336541ed25605219410f749', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
675
675
  }
676
676
  get el() { return getElement(this); }
677
677
  static get watchers() { return {
@@ -772,7 +772,7 @@ const MenuButton = class {
772
772
  type: this.type,
773
773
  };
774
774
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
775
- return (h(Host, { key: 'd150818e749a1cbe72dc05011247023f6d442eb8', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
775
+ return (h(Host, { key: '341ca3bfac81ce4432eef5d2fd738becd1dfb07e', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
776
776
  [theme]: true,
777
777
  button: true, // ion-buttons target .button
778
778
  'menu-button-hidden': hidden,
@@ -781,7 +781,7 @@ const MenuButton = class {
781
781
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
782
782
  'ion-activatable': true,
783
783
  'ion-focusable': true,
784
- }) }, h("button", Object.assign({ key: '88bef93aa6c1a0d5795c4a9ba3edffd99413a758' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: '12b2f8bc542239a35adee62d76acccff571a84d7', class: "button-inner" }, h("slot", { key: '5bba549d8e92745aa34372c105cfe80e0ecbc9f5' }, h("ion-icon", { key: '864ff8bf1722b7fe1f17f2a40dfc5b91cb3403f9', part: "icon", icon: menuIcon, lazy: false, "aria-hidden": "true" }))), theme === 'md' && h("ion-ripple-effect", { key: '59e24ecb22970e43b51739324b11457c6e4bc117', type: "unbounded" }))));
784
+ }) }, h("button", Object.assign({ key: '6e6229df2fc1f2d18294a5fbf7fe71e7dd47666a' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: '0216acbf67d7aa5edc52328f7ded4cb98bc8a237', class: "button-inner" }, h("slot", { key: '5c2cdae42add9a25d3e6323048fcbc6b5fc9b32e' }, h("ion-icon", { key: '5b38c283957cd2f1ad659427dec612fc84fc054f', part: "icon", icon: menuIcon, lazy: false, "aria-hidden": "true" }))), theme === 'md' && h("ion-ripple-effect", { key: 'adabe4ffa1d66fe36d55294d774db9c4bba1ad76', type: "unbounded" }))));
785
785
  }
786
786
  get el() { return getElement(this); }
787
787
  };
@@ -817,10 +817,10 @@ const MenuToggle = class {
817
817
  render() {
818
818
  const theme = getIonTheme(this);
819
819
  const hidden = this.autoHide && !this.visible;
820
- return (h(Host, { key: '973372d778e7902eac28b2a6a5e74165b51d60d6', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
820
+ return (h(Host, { key: '9ef631d9ae370a8740e691d281863203bfdddc38', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
821
821
  [theme]: true,
822
822
  'menu-toggle-hidden': hidden,
823
- } }, h("slot", { key: '760b8ffe93ae490b62f7ad6fc94ecbc8521ead64' })));
823
+ } }, h("slot", { key: 'f8d9dfc562ed625ae47ec771ef6b2ea04bc463f4' })));
824
824
  }
825
825
  };
826
826
  MenuToggle.style = menuToggleCss();