voyager-ionic-core 8.3.4 → 8.4.1

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 (518) hide show
  1. package/components/alert.js +7 -5
  2. package/components/backdrop.js +1 -1
  3. package/components/button.js +2 -2
  4. package/components/buttons.js +2 -2
  5. package/components/checkbox.js +7 -5
  6. package/components/content.js +446 -0
  7. package/components/header.js +375 -0
  8. package/components/index4.js +2 -2
  9. package/components/ion-app.js +1 -1
  10. package/components/ion-avatar.js +1 -1
  11. package/components/ion-back-button.js +2 -2
  12. package/components/ion-badge.js +2 -2
  13. package/components/ion-breadcrumb.js +4 -4
  14. package/components/ion-breadcrumbs.js +2 -2
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +2 -2
  17. package/components/ion-card-subtitle.js +2 -2
  18. package/components/ion-card-title.js +2 -2
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-chip.js +2 -2
  21. package/components/ion-col.js +2 -2
  22. package/components/ion-content.js +1 -441
  23. package/components/ion-datetime-button.js +2 -2
  24. package/components/ion-datetime.js +2 -2
  25. package/components/ion-fab-button.js +2 -2
  26. package/components/ion-fab-list.js +2 -2
  27. package/components/ion-fab.js +2 -2
  28. package/components/ion-footer.js +2 -2
  29. package/components/ion-grid.js +2 -2
  30. package/components/ion-header.js +1 -351
  31. package/components/ion-img.js +1 -1
  32. package/components/ion-infinite-scroll-content.js +2 -2
  33. package/components/ion-infinite-scroll.js +1 -1
  34. package/components/ion-input-password-toggle.js +3 -3
  35. package/components/ion-input.js +3 -3
  36. package/components/ion-item-divider.js +2 -2
  37. package/components/ion-item-group.js +1 -1
  38. package/components/ion-item-option.js +2 -2
  39. package/components/ion-item-options.js +1 -1
  40. package/components/ion-item-sliding.js +3 -1
  41. package/components/ion-loading.js +2 -2
  42. package/components/ion-menu-button.js +2 -2
  43. package/components/ion-menu-toggle.js +2 -2
  44. package/components/ion-menu.js +47 -20
  45. package/components/ion-modal.js +1 -1737
  46. package/components/ion-nav-link.js +1 -1
  47. package/components/ion-nav.js +1 -1
  48. package/components/ion-note.js +2 -2
  49. package/components/ion-picker-legacy.js +2 -2
  50. package/components/ion-progress-bar.js +1 -1
  51. package/components/ion-range.js +3 -3
  52. package/components/ion-refresher-content.js +1 -1
  53. package/components/ion-refresher.js +1 -1
  54. package/components/ion-reorder-group.js +1 -1
  55. package/components/ion-reorder.js +1 -1
  56. package/components/ion-router-link.js +2 -2
  57. package/components/ion-router-outlet.js +1 -1
  58. package/components/ion-row.js +1 -1
  59. package/components/ion-searchbar.js +4 -4
  60. package/components/ion-segment-button.js +24 -5
  61. package/components/ion-segment-content.d.ts +11 -0
  62. package/components/ion-segment-content.js +37 -0
  63. package/components/ion-segment-view.d.ts +11 -0
  64. package/components/ion-segment-view.js +140 -0
  65. package/components/ion-segment.js +110 -15
  66. package/components/ion-select-modal.d.ts +11 -0
  67. package/components/ion-select-modal.js +9 -0
  68. package/components/ion-select-option.js +1 -1
  69. package/components/ion-select.js +114 -41
  70. package/components/ion-skeleton-text.js +2 -2
  71. package/components/ion-split-pane.js +2 -2
  72. package/components/ion-tab-bar.js +2 -2
  73. package/components/ion-tab-button.js +2 -2
  74. package/components/ion-tab.js +2 -2
  75. package/components/ion-tabs.js +1 -1
  76. package/components/ion-text.js +2 -2
  77. package/components/ion-textarea.js +2 -2
  78. package/components/ion-thumbnail.js +1 -1
  79. package/components/ion-title.js +1 -70
  80. package/components/ion-toast.js +4 -4
  81. package/components/ion-toggle.js +3 -3
  82. package/components/ion-toolbar.js +1 -88
  83. package/components/label.js +2 -2
  84. package/components/list-header.js +2 -2
  85. package/components/list.js +1 -1
  86. package/components/modal.js +1742 -0
  87. package/components/overlays.js +27 -12
  88. package/components/picker-column-option.js +2 -2
  89. package/components/picker-column.js +3 -3
  90. package/components/picker-column2.js +2 -2
  91. package/components/picker.js +2 -2
  92. package/components/popover.js +2 -2
  93. package/components/radio-group.js +12 -4
  94. package/components/radio.js +7 -5
  95. package/components/ripple-effect.js +1 -1
  96. package/components/select-modal.js +197 -0
  97. package/components/select-popover.js +1 -1
  98. package/components/spinner.js +1 -1
  99. package/components/title.js +75 -0
  100. package/components/toolbar.js +93 -0
  101. package/dist/cjs/{index-9cd00dc3.js → index-8e789962.js} +2 -2
  102. package/dist/cjs/index.cjs.js +2 -2
  103. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  104. package/dist/cjs/ion-alert.cjs.entry.js +8 -6
  105. package/dist/cjs/ion-app_8.cjs.entry.js +36 -17
  106. package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -4
  107. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  108. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  109. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +6 -6
  110. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-card_5.cjs.entry.js +8 -8
  112. package/dist/cjs/ion-checkbox.cjs.entry.js +5 -4
  113. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  114. package/dist/cjs/ion-col_3.cjs.entry.js +5 -5
  115. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  116. package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
  117. package/dist/cjs/ion-fab_3.cjs.entry.js +6 -6
  118. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  119. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  120. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
  121. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  122. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -4
  123. package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
  124. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  125. package/dist/cjs/ion-menu_3.cjs.entry.js +52 -25
  126. package/dist/cjs/ion-modal.cjs.entry.js +5 -5
  127. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  128. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  129. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  130. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  131. package/dist/cjs/ion-popover.cjs.entry.js +3 -3
  132. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  133. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -8
  134. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  135. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  136. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  137. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  138. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  139. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  140. package/dist/cjs/ion-segment-content.cjs.entry.js +23 -0
  141. package/dist/cjs/ion-segment-view.cjs.entry.js +122 -0
  142. package/dist/cjs/ion-segment_2.cjs.entry.js +132 -19
  143. package/dist/cjs/ion-select-modal.cjs.entry.js +111 -0
  144. package/dist/cjs/ion-select_3.cjs.entry.js +40 -15
  145. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  146. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  147. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  148. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  149. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  150. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  151. package/dist/cjs/ion-toast.cjs.entry.js +5 -5
  152. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  153. package/dist/cjs/ionic.cjs.js +1 -1
  154. package/dist/cjs/loader.cjs.js +1 -1
  155. package/dist/cjs/{overlays-ba0f6986.js → overlays-aa669eb8.js} +26 -11
  156. package/dist/collection/collection-manifest.json +3 -0
  157. package/dist/collection/components/alert/alert.js +7 -5
  158. package/dist/collection/components/app/app.js +1 -1
  159. package/dist/collection/components/avatar/avatar.js +1 -1
  160. package/dist/collection/components/back-button/back-button.js +2 -2
  161. package/dist/collection/components/backdrop/backdrop.js +1 -1
  162. package/dist/collection/components/badge/badge.js +2 -2
  163. package/dist/collection/components/breadcrumb/breadcrumb.js +4 -4
  164. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  165. package/dist/collection/components/button/button.js +2 -2
  166. package/dist/collection/components/buttons/buttons.js +2 -2
  167. package/dist/collection/components/card/card.js +1 -1
  168. package/dist/collection/components/card-content/card-content.js +1 -1
  169. package/dist/collection/components/card-header/card-header.js +2 -2
  170. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  171. package/dist/collection/components/card-title/card-title.js +2 -2
  172. package/dist/collection/components/checkbox/checkbox.js +29 -4
  173. package/dist/collection/components/chip/chip.js +2 -2
  174. package/dist/collection/components/col/col.js +2 -2
  175. package/dist/collection/components/content/content.js +3 -3
  176. package/dist/collection/components/datetime/datetime.js +2 -2
  177. package/dist/collection/components/datetime-button/datetime-button.js +2 -2
  178. package/dist/collection/components/fab/fab.js +2 -2
  179. package/dist/collection/components/fab-button/fab-button.js +2 -2
  180. package/dist/collection/components/fab-list/fab-list.js +2 -2
  181. package/dist/collection/components/footer/footer.js +2 -2
  182. package/dist/collection/components/grid/grid.js +2 -2
  183. package/dist/collection/components/header/header.js +2 -2
  184. package/dist/collection/components/header/header.utils.js +21 -2
  185. package/dist/collection/components/img/img.js +1 -1
  186. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  187. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  188. package/dist/collection/components/input/input.js +3 -3
  189. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  190. package/dist/collection/components/item-divider/item-divider.js +2 -2
  191. package/dist/collection/components/item-group/item-group.js +1 -1
  192. package/dist/collection/components/item-option/item-option.js +2 -2
  193. package/dist/collection/components/item-options/item-options.js +1 -1
  194. package/dist/collection/components/item-sliding/item-sliding.js +3 -1
  195. package/dist/collection/components/label/label.js +2 -2
  196. package/dist/collection/components/list/list.js +1 -1
  197. package/dist/collection/components/list-header/list-header.js +2 -2
  198. package/dist/collection/components/loading/loading.js +2 -2
  199. package/dist/collection/components/menu/menu.js +75 -27
  200. package/dist/collection/components/menu-button/menu-button.js +2 -2
  201. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  202. package/dist/collection/components/modal/modal.js +4 -4
  203. package/dist/collection/components/nav/nav.js +1 -1
  204. package/dist/collection/components/nav-link/nav-link.js +1 -1
  205. package/dist/collection/components/note/note.js +2 -2
  206. package/dist/collection/components/picker/picker.js +2 -2
  207. package/dist/collection/components/picker-column/picker-column.js +3 -3
  208. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  209. package/dist/collection/components/picker-legacy/picker.js +2 -2
  210. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  211. package/dist/collection/components/popover/popover.js +2 -2
  212. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  213. package/dist/collection/components/radio/radio.js +9 -7
  214. package/dist/collection/components/radio-group/radio-group.js +34 -3
  215. package/dist/collection/components/range/range.js +3 -3
  216. package/dist/collection/components/refresher/refresher.js +1 -1
  217. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  218. package/dist/collection/components/reorder/reorder.js +1 -1
  219. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  220. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  221. package/dist/collection/components/router-link/router-link.js +2 -2
  222. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  223. package/dist/collection/components/row/row.js +1 -1
  224. package/dist/collection/components/searchbar/searchbar.js +4 -4
  225. package/dist/collection/components/segment/segment.js +115 -14
  226. package/dist/collection/components/segment-button/segment-button.js +40 -5
  227. package/dist/collection/components/segment-content/segment-content.css +6 -0
  228. package/dist/collection/components/segment-content/segment-content.js +21 -0
  229. package/dist/collection/components/segment-view/segment-view-interface.js +1 -0
  230. package/dist/collection/components/segment-view/segment-view.ios.css +83 -0
  231. package/dist/collection/components/segment-view/segment-view.js +227 -0
  232. package/dist/collection/components/segment-view/segment-view.md.css +83 -0
  233. package/dist/collection/components/select/select.js +61 -16
  234. package/dist/collection/components/select-modal/select-modal-interface.js +1 -0
  235. package/dist/collection/components/select-modal/select-modal.ios.css +3 -0
  236. package/dist/collection/components/select-modal/select-modal.js +159 -0
  237. package/dist/collection/components/select-modal/select-modal.md.css +110 -0
  238. package/dist/collection/components/select-modal/test/fixtures.js +48 -0
  239. package/dist/collection/components/select-option/select-option.js +1 -1
  240. package/dist/collection/components/select-popover/select-popover.js +1 -1
  241. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  242. package/dist/collection/components/spinner/spinner.js +1 -1
  243. package/dist/collection/components/split-pane/split-pane.js +2 -2
  244. package/dist/collection/components/tab/tab.js +2 -2
  245. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  246. package/dist/collection/components/tab-button/tab-button.js +2 -2
  247. package/dist/collection/components/tabs/tabs.js +1 -1
  248. package/dist/collection/components/text/text.js +2 -2
  249. package/dist/collection/components/textarea/textarea.js +2 -2
  250. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  251. package/dist/collection/components/title/title.js +2 -2
  252. package/dist/collection/components/toast/toast.ios.css +1 -1
  253. package/dist/collection/components/toast/toast.js +2 -2
  254. package/dist/collection/components/toast/toast.md.css +1 -1
  255. package/dist/collection/components/toggle/toggle.js +3 -3
  256. package/dist/collection/components/toolbar/toolbar.js +2 -2
  257. package/dist/collection/utils/focus-trap.js +8 -2
  258. package/dist/collection/utils/menu-controller/index.js +2 -2
  259. package/dist/collection/utils/overlays.js +19 -9
  260. package/dist/docs.json +426 -29
  261. package/dist/esm/{index-fe1782b1.js → index-24b48b06.js} +2 -2
  262. package/dist/esm/index.js +2 -2
  263. package/dist/esm/ion-action-sheet.entry.js +1 -1
  264. package/dist/esm/ion-alert.entry.js +8 -6
  265. package/dist/esm/ion-app_8.entry.js +36 -17
  266. package/dist/esm/ion-avatar_3.entry.js +4 -4
  267. package/dist/esm/ion-back-button.entry.js +2 -2
  268. package/dist/esm/ion-backdrop.entry.js +1 -1
  269. package/dist/esm/ion-breadcrumb_2.entry.js +6 -6
  270. package/dist/esm/ion-button_2.entry.js +2 -2
  271. package/dist/esm/ion-card_5.entry.js +8 -8
  272. package/dist/esm/ion-checkbox.entry.js +5 -4
  273. package/dist/esm/ion-chip.entry.js +2 -2
  274. package/dist/esm/ion-col_3.entry.js +5 -5
  275. package/dist/esm/ion-datetime-button.entry.js +2 -2
  276. package/dist/esm/ion-datetime_3.entry.js +7 -7
  277. package/dist/esm/ion-fab_3.entry.js +6 -6
  278. package/dist/esm/ion-img.entry.js +1 -1
  279. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  280. package/dist/esm/ion-input-password-toggle.entry.js +3 -3
  281. package/dist/esm/ion-input.entry.js +3 -3
  282. package/dist/esm/ion-item-option_3.entry.js +6 -4
  283. package/dist/esm/ion-item_8.entry.js +12 -12
  284. package/dist/esm/ion-loading.entry.js +3 -3
  285. package/dist/esm/ion-menu_3.entry.js +52 -25
  286. package/dist/esm/ion-modal.entry.js +5 -5
  287. package/dist/esm/ion-nav_2.entry.js +2 -2
  288. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  289. package/dist/esm/ion-picker-column.entry.js +3 -3
  290. package/dist/esm/ion-picker.entry.js +2 -2
  291. package/dist/esm/ion-popover.entry.js +3 -3
  292. package/dist/esm/ion-progress-bar.entry.js +1 -1
  293. package/dist/esm/ion-radio_2.entry.js +17 -8
  294. package/dist/esm/ion-range.entry.js +3 -3
  295. package/dist/esm/ion-refresher_2.entry.js +2 -2
  296. package/dist/esm/ion-reorder_2.entry.js +2 -2
  297. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  298. package/dist/esm/ion-route_4.entry.js +2 -2
  299. package/dist/esm/ion-searchbar.entry.js +4 -4
  300. package/dist/esm/ion-segment-content.entry.js +19 -0
  301. package/dist/esm/ion-segment-view.entry.js +118 -0
  302. package/dist/esm/ion-segment_2.entry.js +132 -19
  303. package/dist/esm/ion-select-modal.entry.js +107 -0
  304. package/dist/esm/ion-select_3.entry.js +40 -15
  305. package/dist/esm/ion-spinner.entry.js +1 -1
  306. package/dist/esm/ion-split-pane.entry.js +2 -2
  307. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  308. package/dist/esm/ion-tab_2.entry.js +3 -3
  309. package/dist/esm/ion-text.entry.js +2 -2
  310. package/dist/esm/ion-textarea.entry.js +2 -2
  311. package/dist/esm/ion-toast.entry.js +5 -5
  312. package/dist/esm/ion-toggle.entry.js +3 -3
  313. package/dist/esm/ionic.js +1 -1
  314. package/dist/esm/loader.js +1 -1
  315. package/dist/esm/{overlays-ae10d43d.js → overlays-e7b9d6d9.js} +27 -12
  316. package/dist/esm-es5/{index-fe1782b1.js → index-24b48b06.js} +1 -1
  317. package/dist/esm-es5/index.js +1 -1
  318. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  319. package/dist/esm-es5/ion-alert.entry.js +1 -1
  320. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  321. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  322. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  323. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  324. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  325. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  326. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  327. package/dist/esm-es5/ion-checkbox.entry.js +2 -2
  328. package/dist/esm-es5/ion-chip.entry.js +1 -1
  329. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  330. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  331. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  332. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  333. package/dist/esm-es5/ion-img.entry.js +1 -1
  334. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  335. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  336. package/dist/esm-es5/ion-input.entry.js +1 -1
  337. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  338. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  339. package/dist/esm-es5/ion-loading.entry.js +1 -1
  340. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  341. package/dist/esm-es5/ion-modal.entry.js +1 -1
  342. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  343. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  344. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  345. package/dist/esm-es5/ion-picker.entry.js +1 -1
  346. package/dist/esm-es5/ion-popover.entry.js +1 -1
  347. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  348. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  349. package/dist/esm-es5/ion-range.entry.js +1 -1
  350. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  351. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  352. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  353. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  354. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  355. package/dist/esm-es5/ion-segment-content.entry.js +4 -0
  356. package/dist/esm-es5/ion-segment-view.entry.js +4 -0
  357. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  358. package/dist/esm-es5/ion-select-modal.entry.js +4 -0
  359. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  360. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  361. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  362. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  363. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  364. package/dist/esm-es5/ion-text.entry.js +1 -1
  365. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  366. package/dist/esm-es5/ion-toast.entry.js +1 -1
  367. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  368. package/dist/esm-es5/ionic.js +1 -1
  369. package/dist/esm-es5/loader.js +1 -1
  370. package/dist/esm-es5/overlays-e7b9d6d9.js +4 -0
  371. package/dist/html.html-data.json +65 -2
  372. package/dist/ionic/index.esm.js +1 -1
  373. package/dist/ionic/ionic.esm.js +1 -1
  374. package/dist/ionic/{p-313ccc01.system.entry.js → p-01186920.system.entry.js} +1 -1
  375. package/dist/ionic/{p-7251fed5.entry.js → p-04909654.entry.js} +1 -1
  376. package/dist/ionic/{p-e3e1e3de.entry.js → p-081a4ce4.entry.js} +1 -1
  377. package/dist/ionic/p-0aa833fb.system.js +4 -0
  378. package/dist/ionic/{p-79e7be3a.system.entry.js → p-1046866e.system.entry.js} +1 -1
  379. package/dist/ionic/p-12a722b8.system.entry.js +4 -0
  380. package/dist/ionic/{p-41c89b8d.entry.js → p-12c45a7c.entry.js} +1 -1
  381. package/dist/ionic/p-14be4015.entry.js +4 -0
  382. package/dist/ionic/{p-c71f301f.system.entry.js → p-14e159ea.system.entry.js} +1 -1
  383. package/dist/ionic/p-15e76dd1.entry.js +4 -0
  384. package/dist/ionic/{p-003eecb9.entry.js → p-16188af7.entry.js} +1 -1
  385. package/dist/ionic/p-16799667.system.entry.js +4 -0
  386. package/dist/ionic/p-16bfb979.system.entry.js +4 -0
  387. package/dist/ionic/{p-8836d0eb.system.entry.js → p-17a9ca63.system.entry.js} +1 -1
  388. package/dist/ionic/{p-b54fc1ae.entry.js → p-19ec4f42.entry.js} +1 -1
  389. package/dist/ionic/{p-8b6232a6.system.entry.js → p-1e010627.system.entry.js} +2 -2
  390. package/dist/ionic/{p-cdb11938.system.entry.js → p-1e67b266.system.entry.js} +1 -1
  391. package/dist/ionic/{p-0790b342.system.entry.js → p-1fe02220.system.entry.js} +1 -1
  392. package/dist/ionic/{p-836d39d4.system.entry.js → p-2172893e.system.entry.js} +1 -1
  393. package/dist/ionic/{p-4a0a4204.system.entry.js → p-2507278c.system.entry.js} +1 -1
  394. package/dist/ionic/{p-75c0dc65.system.entry.js → p-2799c6d3.system.entry.js} +1 -1
  395. package/dist/ionic/{p-a879ecb7.system.entry.js → p-2abae1cc.system.entry.js} +1 -1
  396. package/dist/ionic/{p-293ed6ac.system.entry.js → p-2b838f86.system.entry.js} +1 -1
  397. package/dist/ionic/p-2b9b78c7.entry.js +4 -0
  398. package/dist/ionic/{p-f0ab13a8.system.entry.js → p-2bd0ae94.system.entry.js} +1 -1
  399. package/dist/ionic/{p-4a82bd1c.system.entry.js → p-2e46590d.system.entry.js} +1 -1
  400. package/dist/ionic/{p-148b8abb.entry.js → p-2fc0dafe.entry.js} +1 -1
  401. package/dist/ionic/p-322c5fb4.system.js +2 -2
  402. package/dist/ionic/{p-60cc7986.entry.js → p-33a8a71b.entry.js} +1 -1
  403. package/dist/ionic/{p-18105026.system.entry.js → p-37cb43bd.system.entry.js} +1 -1
  404. package/dist/ionic/{p-be71fe0f.system.entry.js → p-404aede0.system.entry.js} +1 -1
  405. package/dist/ionic/p-424eb140.system.entry.js +4 -0
  406. package/dist/ionic/{p-b7657e8d.entry.js → p-4439fc2a.entry.js} +1 -1
  407. package/dist/ionic/{p-c34659b9.entry.js → p-45693d7e.entry.js} +1 -1
  408. package/dist/ionic/p-49a0e74c.entry.js +4 -0
  409. package/dist/ionic/{p-fd0cb4ef.entry.js → p-4ec778aa.entry.js} +1 -1
  410. package/dist/ionic/p-508d024a.entry.js +4 -0
  411. package/dist/ionic/{p-f559ac5b.entry.js → p-51796b2d.entry.js} +1 -1
  412. package/dist/ionic/{p-9ece8dcf.entry.js → p-52d7a191.entry.js} +1 -1
  413. package/dist/ionic/{p-ce705aac.system.entry.js → p-567de071.system.entry.js} +1 -1
  414. package/dist/ionic/{p-95823c62.system.entry.js → p-5823babc.system.entry.js} +2 -2
  415. package/dist/ionic/{p-baffaf8d.system.entry.js → p-58d5df0c.system.entry.js} +1 -1
  416. package/dist/ionic/{p-521eca2e.entry.js → p-5ab1b709.entry.js} +1 -1
  417. package/dist/ionic/{p-8d44cf1f.entry.js → p-5b932840.entry.js} +1 -1
  418. package/dist/ionic/{p-53add985.system.entry.js → p-5fce0c0b.system.entry.js} +1 -1
  419. package/dist/ionic/p-626fd66d.system.entry.js +4 -0
  420. package/dist/ionic/{p-233e6c93.entry.js → p-62af944c.entry.js} +1 -1
  421. package/dist/ionic/{p-00b01a55.system.entry.js → p-63b0abde.system.entry.js} +1 -1
  422. package/dist/ionic/{p-ad9b5007.system.entry.js → p-6416c34c.system.entry.js} +1 -1
  423. package/dist/ionic/{p-857ca696.system.entry.js → p-6499df44.system.entry.js} +1 -1
  424. package/dist/ionic/p-69666e8a.system.entry.js +4 -0
  425. package/dist/ionic/{p-9e208825.entry.js → p-6b280620.entry.js} +1 -1
  426. package/dist/ionic/{p-5e842258.entry.js → p-6d32975a.entry.js} +1 -1
  427. package/dist/ionic/p-6d6cedc5.entry.js +4 -0
  428. package/dist/ionic/p-73dc4950.entry.js +4 -0
  429. package/dist/ionic/{p-fcd71204.system.entry.js → p-7458862e.system.entry.js} +1 -1
  430. package/dist/ionic/{p-a3711608.system.entry.js → p-797eeea8.system.entry.js} +1 -1
  431. package/dist/ionic/{p-f8c8b9ba.entry.js → p-7b9a2b23.entry.js} +1 -1
  432. package/dist/ionic/{p-bd25d639.system.entry.js → p-7ddc46c3.system.entry.js} +1 -1
  433. package/dist/ionic/{p-6817cf42.system.entry.js → p-7ed1657c.system.entry.js} +1 -1
  434. package/dist/ionic/p-908d6080.entry.js +4 -0
  435. package/dist/ionic/{p-af999a31.entry.js → p-937a7e21.entry.js} +1 -1
  436. package/dist/ionic/p-942b5e13.entry.js +4 -0
  437. package/dist/ionic/{p-4c8fceb0.entry.js → p-95775830.entry.js} +1 -1
  438. package/dist/ionic/{p-6ceb04b5.entry.js → p-982315a6.entry.js} +1 -1
  439. package/dist/ionic/{p-973f0b15.system.entry.js → p-98231c01.system.entry.js} +1 -1
  440. package/dist/ionic/{p-25928b83.system.entry.js → p-985a7e17.system.entry.js} +1 -1
  441. package/dist/ionic/{p-e3a5da9d.entry.js → p-98ff6b32.entry.js} +1 -1
  442. package/dist/ionic/{p-6e85e450.entry.js → p-9df2c6fb.entry.js} +1 -1
  443. package/dist/ionic/{p-d58f21d2.entry.js → p-9e33104d.entry.js} +1 -1
  444. package/dist/ionic/{p-da263d8e.entry.js → p-9fa07aec.entry.js} +1 -1
  445. package/dist/ionic/{p-9910f786.entry.js → p-a43467d8.entry.js} +1 -1
  446. package/dist/ionic/{p-6b8893dd.entry.js → p-a61cba41.entry.js} +1 -1
  447. package/dist/ionic/p-adbc4bdf.entry.js +4 -0
  448. package/dist/ionic/{p-49bc6544.entry.js → p-afecb188.entry.js} +1 -1
  449. package/dist/ionic/p-b2272f51.system.entry.js +4 -0
  450. package/dist/ionic/{p-be715dd3.system.entry.js → p-b335ffed.system.entry.js} +1 -1
  451. package/dist/ionic/{p-6d50faff.entry.js → p-b79ba17c.entry.js} +1 -1
  452. package/dist/ionic/{p-e3f13b08.js → p-b82d4cab.js} +1 -1
  453. package/dist/ionic/{p-68c4df55.entry.js → p-b9d7015f.entry.js} +1 -1
  454. package/dist/ionic/{p-7243df6f.entry.js → p-bb0db172.entry.js} +1 -1
  455. package/dist/ionic/{p-df83e308.system.entry.js → p-bc36ad98.system.entry.js} +1 -1
  456. package/dist/ionic/{p-773d118d.entry.js → p-bdad26e3.entry.js} +1 -1
  457. package/dist/ionic/p-c29f8157.system.entry.js +4 -0
  458. package/dist/ionic/p-c2b74d92.system.entry.js +4 -0
  459. package/dist/ionic/{p-176b372f.entry.js → p-c41ac815.entry.js} +1 -1
  460. package/dist/ionic/{p-79b12fda.system.js → p-c449820c.system.js} +1 -1
  461. package/dist/ionic/{p-5417b9bb.entry.js → p-c9f3a539.entry.js} +1 -1
  462. package/dist/ionic/{p-2ea1ca4f.system.entry.js → p-ca065903.system.entry.js} +1 -1
  463. package/dist/ionic/{p-2ca6eac2.system.entry.js → p-cac0e0b3.system.entry.js} +1 -1
  464. package/dist/ionic/{p-3c968c7f.system.entry.js → p-d18ab582.system.entry.js} +2 -2
  465. package/dist/ionic/{p-92d7a3d1.entry.js → p-d7aa6b00.entry.js} +1 -1
  466. package/dist/ionic/{p-21cfd4de.entry.js → p-da074ff7.entry.js} +1 -1
  467. package/dist/ionic/{p-89a0a446.entry.js → p-de930745.entry.js} +1 -1
  468. package/dist/ionic/{p-960803fc.system.entry.js → p-e4ee80be.system.entry.js} +1 -1
  469. package/dist/ionic/{p-d754c709.system.entry.js → p-e4f69534.system.entry.js} +1 -1
  470. package/dist/ionic/{p-dda5c73d.entry.js → p-e563a35c.entry.js} +1 -1
  471. package/dist/ionic/p-e6635685.js +4 -0
  472. package/dist/ionic/{p-7740e32c.system.js → p-e7ed4a7f.system.js} +1 -1
  473. package/dist/ionic/{p-0373d924.system.entry.js → p-ebf042e0.system.entry.js} +1 -1
  474. package/dist/ionic/{p-9b6c6302.system.entry.js → p-ed75fcfb.system.entry.js} +1 -1
  475. package/dist/ionic/{p-01503bbd.system.entry.js → p-f3102647.system.entry.js} +1 -1
  476. package/dist/ionic/p-fbf284c7.entry.js +4 -0
  477. package/dist/ionic/{p-6562e0a9.system.entry.js → p-fca6ef5f.system.entry.js} +1 -1
  478. package/dist/ionic/p-fec61c32.entry.js +4 -0
  479. package/dist/ionic/{p-b0180ce1.system.entry.js → p-ffd131f9.system.entry.js} +1 -1
  480. package/dist/types/components/checkbox/checkbox.d.ts +2 -1
  481. package/dist/types/components/menu/menu-interface.d.ts +5 -2
  482. package/dist/types/components/menu/menu.d.ts +6 -6
  483. package/dist/types/components/radio/radio.d.ts +1 -1
  484. package/dist/types/components/radio-group/radio-group.d.ts +2 -0
  485. package/dist/types/components/segment/segment.d.ts +21 -1
  486. package/dist/types/components/segment-button/segment-button.d.ts +4 -0
  487. package/dist/types/components/segment-content/segment-content.d.ts +4 -0
  488. package/dist/types/components/segment-view/segment-view-interface.d.ts +4 -0
  489. package/dist/types/components/segment-view/segment-view.d.ts +55 -0
  490. package/dist/types/components/select/select-interface.d.ts +1 -1
  491. package/dist/types/components/select/select.d.ts +5 -4
  492. package/dist/types/components/select-modal/select-modal-interface.d.ts +10 -0
  493. package/dist/types/components/select-modal/select-modal.d.ts +16 -0
  494. package/dist/types/components/select-modal/test/fixtures.d.ts +16 -0
  495. package/dist/types/components.d.ts +104 -13
  496. package/dist/types/utils/focus-trap.d.ts +1 -1
  497. package/dist/types/utils/overlays-interface.d.ts +1 -1
  498. package/hydrate/index.js +695 -228
  499. package/hydrate/index.mjs +695 -228
  500. package/package.json +1 -1
  501. package/dist/esm-es5/overlays-ae10d43d.js +0 -4
  502. package/dist/ionic/p-04fc24ee.system.js +0 -4
  503. package/dist/ionic/p-110e03be.system.entry.js +0 -4
  504. package/dist/ionic/p-2200e26b.entry.js +0 -4
  505. package/dist/ionic/p-44d1539c.system.entry.js +0 -4
  506. package/dist/ionic/p-53854390.entry.js +0 -4
  507. package/dist/ionic/p-5800e441.entry.js +0 -4
  508. package/dist/ionic/p-5c831f49.js +0 -4
  509. package/dist/ionic/p-63d65dbc.system.entry.js +0 -4
  510. package/dist/ionic/p-72ffd137.system.entry.js +0 -4
  511. package/dist/ionic/p-82ab7ccb.entry.js +0 -4
  512. package/dist/ionic/p-87a4407b.entry.js +0 -4
  513. package/dist/ionic/p-9172535c.entry.js +0 -4
  514. package/dist/ionic/p-93f37ceb.system.entry.js +0 -4
  515. package/dist/ionic/p-9895e7f3.entry.js +0 -4
  516. package/dist/ionic/p-a0c88dc2.system.entry.js +0 -4
  517. package/dist/ionic/p-a89dac49.entry.js +0 -4
  518. package/dist/ionic/p-f88ebc36.entry.js +0 -4
@@ -0,0 +1,375 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { readTask, writeTask, proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
5
+ import { g as getScrollElement, f as findIonContent, p as printIonContentErrorMsg } from './index8.js';
6
+ import { k as clamp, i as inheritAriaAttributes } from './helpers.js';
7
+ import { h as hostContext } from './theme.js';
8
+ import { b as getIonMode } from './ionic-global.js';
9
+
10
+ const TRANSITION = 'all 0.2s ease-in-out';
11
+ const cloneElement = (tagName) => {
12
+ const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`);
13
+ if (getCachedEl !== null) {
14
+ return getCachedEl;
15
+ }
16
+ const clonedEl = document.createElement(tagName);
17
+ clonedEl.classList.add('ion-cloned-element');
18
+ clonedEl.style.setProperty('display', 'none');
19
+ document.body.appendChild(clonedEl);
20
+ return clonedEl;
21
+ };
22
+ const createHeaderIndex = (headerEl) => {
23
+ if (!headerEl) {
24
+ return;
25
+ }
26
+ const toolbars = headerEl.querySelectorAll('ion-toolbar');
27
+ return {
28
+ el: headerEl,
29
+ toolbars: Array.from(toolbars).map((toolbar) => {
30
+ const ionTitleEl = toolbar.querySelector('ion-title');
31
+ return {
32
+ el: toolbar,
33
+ background: toolbar.shadowRoot.querySelector('.toolbar-background'),
34
+ ionTitleEl,
35
+ innerTitleEl: ionTitleEl ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,
36
+ ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')),
37
+ };
38
+ }),
39
+ };
40
+ };
41
+ const handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {
42
+ readTask(() => {
43
+ const scrollTop = scrollEl.scrollTop;
44
+ const scale = clamp(1, 1 + -scrollTop / 500, 1.1);
45
+ // Native refresher should not cause titles to scale
46
+ const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native');
47
+ if (nativeRefresher === null) {
48
+ writeTask(() => {
49
+ scaleLargeTitles(scrollHeaderIndex.toolbars, scale);
50
+ });
51
+ }
52
+ });
53
+ };
54
+ const setToolbarBackgroundOpacity = (headerEl, opacity) => {
55
+ /**
56
+ * Fading in the backdrop opacity
57
+ * should happen after the large title
58
+ * has collapsed, so it is handled
59
+ * by handleHeaderFade()
60
+ */
61
+ if (headerEl.collapse === 'fade') {
62
+ return;
63
+ }
64
+ if (opacity === undefined) {
65
+ headerEl.style.removeProperty('--opacity-scale');
66
+ }
67
+ else {
68
+ headerEl.style.setProperty('--opacity-scale', opacity.toString());
69
+ }
70
+ };
71
+ const handleToolbarBorderIntersection = (ev, mainHeaderIndex, scrollTop) => {
72
+ if (!ev[0].isIntersecting) {
73
+ return;
74
+ }
75
+ /**
76
+ * There is a bug in Safari where overflow scrolling on a non-body element
77
+ * does not always reset the scrollTop position to 0 when letting go. It will
78
+ * set to 1 once the rubber band effect has ended. This causes the background to
79
+ * appear slightly on certain app setups.
80
+ *
81
+ * Additionally, we check if user is rubber banding (scrolling is negative)
82
+ * as this can mean they are using pull to refresh. Once the refresher starts,
83
+ * the content is transformed which can cause the intersection observer to erroneously
84
+ * fire here as well.
85
+ */
86
+ const scale = ev[0].intersectionRatio > 0.9 || scrollTop <= 0 ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;
87
+ setToolbarBackgroundOpacity(mainHeaderIndex.el, scale === 1 ? undefined : scale);
88
+ };
89
+ /**
90
+ * If toolbars are intersecting, hide the scrollable toolbar content
91
+ * and show the primary toolbar content. If the toolbars are not intersecting,
92
+ * hide the primary toolbar content and show the scrollable toolbar content
93
+ */
94
+ const handleToolbarIntersection = (ev, // TODO(FW-2832): type (IntersectionObserverEntry[] triggers errors which should be sorted)
95
+ mainHeaderIndex, scrollHeaderIndex, scrollEl) => {
96
+ writeTask(() => {
97
+ const scrollTop = scrollEl.scrollTop;
98
+ handleToolbarBorderIntersection(ev, mainHeaderIndex, scrollTop);
99
+ const event = ev[0];
100
+ const intersection = event.intersectionRect;
101
+ const intersectionArea = intersection.width * intersection.height;
102
+ const rootArea = event.rootBounds.width * event.rootBounds.height;
103
+ const isPageHidden = intersectionArea === 0 && rootArea === 0;
104
+ const leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);
105
+ const rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);
106
+ const isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);
107
+ if (isPageHidden || isPageTransitioning) {
108
+ return;
109
+ }
110
+ if (event.isIntersecting) {
111
+ setHeaderActive(mainHeaderIndex, false);
112
+ setHeaderActive(scrollHeaderIndex);
113
+ }
114
+ else {
115
+ /**
116
+ * There is a bug with IntersectionObserver on Safari
117
+ * where `event.isIntersecting === false` when cancelling
118
+ * a swipe to go back gesture. Checking the intersection
119
+ * x, y, width, and height provides a workaround. This bug
120
+ * does not happen when using Safari + Web Animations,
121
+ * only Safari + CSS Animations.
122
+ */
123
+ const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);
124
+ if (hasValidIntersection && scrollTop > 0) {
125
+ setHeaderActive(mainHeaderIndex);
126
+ setHeaderActive(scrollHeaderIndex, false);
127
+ setToolbarBackgroundOpacity(mainHeaderIndex.el);
128
+ }
129
+ }
130
+ });
131
+ };
132
+ const setHeaderActive = (headerIndex, active = true) => {
133
+ const headerEl = headerIndex.el;
134
+ const toolbars = headerIndex.toolbars;
135
+ const ionTitles = toolbars.map((toolbar) => toolbar.ionTitleEl);
136
+ if (active) {
137
+ headerEl.classList.remove('header-collapse-condense-inactive');
138
+ ionTitles.forEach((ionTitle) => {
139
+ if (ionTitle) {
140
+ ionTitle.removeAttribute('aria-hidden');
141
+ }
142
+ });
143
+ }
144
+ else {
145
+ headerEl.classList.add('header-collapse-condense-inactive');
146
+ /**
147
+ * The small title should only be accessed by screen readers
148
+ * when the large title collapses into the small title due
149
+ * to scrolling.
150
+ *
151
+ * Originally, the header was given `aria-hidden="true"`
152
+ * but this caused issues with screen readers not being
153
+ * able to access any focusable elements within the header.
154
+ */
155
+ ionTitles.forEach((ionTitle) => {
156
+ if (ionTitle) {
157
+ ionTitle.setAttribute('aria-hidden', 'true');
158
+ }
159
+ });
160
+ }
161
+ };
162
+ const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {
163
+ toolbars.forEach((toolbar) => {
164
+ const ionTitle = toolbar.ionTitleEl;
165
+ const titleDiv = toolbar.innerTitleEl;
166
+ if (!ionTitle || ionTitle.size !== 'large') {
167
+ return;
168
+ }
169
+ titleDiv.style.transition = transition ? TRANSITION : '';
170
+ titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;
171
+ });
172
+ };
173
+ const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {
174
+ readTask(() => {
175
+ const scrollTop = scrollEl.scrollTop;
176
+ const baseElHeight = baseEl.clientHeight;
177
+ const fadeStart = condenseHeader ? condenseHeader.clientHeight : 0;
178
+ /**
179
+ * If we are using fade header with a condense
180
+ * header, then the toolbar backgrounds should
181
+ * not begin to fade in until the condense
182
+ * header has fully collapsed.
183
+ *
184
+ * Additionally, the main content should not
185
+ * overflow out of the container until the
186
+ * condense header has fully collapsed. When
187
+ * using just the condense header the content
188
+ * should overflow out of the container.
189
+ */
190
+ if (condenseHeader !== null && scrollTop < fadeStart) {
191
+ baseEl.style.setProperty('--opacity-scale', '0');
192
+ scrollEl.style.setProperty('clip-path', `inset(${baseElHeight}px 0px 0px 0px)`);
193
+ return;
194
+ }
195
+ const distanceToStart = scrollTop - fadeStart;
196
+ const fadeDuration = 10;
197
+ const scale = clamp(0, distanceToStart / fadeDuration, 1);
198
+ writeTask(() => {
199
+ scrollEl.style.removeProperty('clip-path');
200
+ baseEl.style.setProperty('--opacity-scale', scale.toString());
201
+ });
202
+ });
203
+ };
204
+
205
+ const headerIosCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:0px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}ion-header.header-ios:not(.header-collapse-main):has(~ion-content ion-header.header-ios[collapse=condense],~ion-content ion-header.header-ios.header-collapse-condense){opacity:0}";
206
+ const IonHeaderIosStyle0 = headerIosCss;
207
+
208
+ const headerMdCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md{-webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12)}.header-collapse-condense{display:none}.header-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}";
209
+ const IonHeaderMdStyle0 = headerMdCss;
210
+
211
+ const Header = /*@__PURE__*/ proxyCustomElement(class Header extends HTMLElement {
212
+ constructor() {
213
+ super();
214
+ this.__registerHost();
215
+ this.inheritedAttributes = {};
216
+ this.setupFadeHeader = async (contentEl, condenseHeader) => {
217
+ const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
218
+ /**
219
+ * Handle fading of toolbars on scroll
220
+ */
221
+ this.contentScrollCallback = () => {
222
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
223
+ };
224
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
225
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
226
+ };
227
+ this.collapse = undefined;
228
+ this.translucent = false;
229
+ }
230
+ componentWillLoad() {
231
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
232
+ }
233
+ componentDidLoad() {
234
+ this.checkCollapsibleHeader();
235
+ }
236
+ componentDidUpdate() {
237
+ this.checkCollapsibleHeader();
238
+ }
239
+ disconnectedCallback() {
240
+ this.destroyCollapsibleHeader();
241
+ }
242
+ async checkCollapsibleHeader() {
243
+ const mode = getIonMode(this);
244
+ if (mode !== 'ios') {
245
+ return;
246
+ }
247
+ const { collapse } = this;
248
+ const hasCondense = collapse === 'condense';
249
+ const hasFade = collapse === 'fade';
250
+ this.destroyCollapsibleHeader();
251
+ if (hasCondense) {
252
+ const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
253
+ const contentEl = pageEl ? findIonContent(pageEl) : null;
254
+ // Cloned elements are always needed in iOS transition
255
+ writeTask(() => {
256
+ const title = cloneElement('ion-title');
257
+ title.size = 'large';
258
+ cloneElement('ion-back-button');
259
+ });
260
+ await this.setupCondenseHeader(contentEl, pageEl);
261
+ }
262
+ else if (hasFade) {
263
+ const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
264
+ const contentEl = pageEl ? findIonContent(pageEl) : null;
265
+ if (!contentEl) {
266
+ printIonContentErrorMsg(this.el);
267
+ return;
268
+ }
269
+ const condenseHeader = contentEl.querySelector('ion-header[collapse="condense"]');
270
+ await this.setupFadeHeader(contentEl, condenseHeader);
271
+ }
272
+ }
273
+ destroyCollapsibleHeader() {
274
+ if (this.intersectionObserver) {
275
+ this.intersectionObserver.disconnect();
276
+ this.intersectionObserver = undefined;
277
+ }
278
+ if (this.scrollEl && this.contentScrollCallback) {
279
+ this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);
280
+ this.contentScrollCallback = undefined;
281
+ }
282
+ if (this.collapsibleMainHeader) {
283
+ this.collapsibleMainHeader.classList.remove('header-collapse-main');
284
+ this.collapsibleMainHeader = undefined;
285
+ }
286
+ }
287
+ async setupCondenseHeader(contentEl, pageEl) {
288
+ if (!contentEl || !pageEl) {
289
+ printIonContentErrorMsg(this.el);
290
+ return;
291
+ }
292
+ if (typeof IntersectionObserver === 'undefined') {
293
+ return;
294
+ }
295
+ this.scrollEl = await getScrollElement(contentEl);
296
+ const headers = pageEl.querySelectorAll('ion-header');
297
+ this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');
298
+ if (!this.collapsibleMainHeader) {
299
+ return;
300
+ }
301
+ const mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader);
302
+ const scrollHeaderIndex = createHeaderIndex(this.el);
303
+ if (!mainHeaderIndex || !scrollHeaderIndex) {
304
+ return;
305
+ }
306
+ setHeaderActive(mainHeaderIndex, false);
307
+ setToolbarBackgroundOpacity(mainHeaderIndex.el, 0);
308
+ /**
309
+ * Handle interaction between toolbar collapse and
310
+ * showing/hiding content in the primary ion-header
311
+ * as well as progressively showing/hiding the main header
312
+ * border as the top-most toolbar collapses or expands.
313
+ */
314
+ const toolbarIntersection = (ev) => {
315
+ handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex, this.scrollEl);
316
+ };
317
+ this.intersectionObserver = new IntersectionObserver(toolbarIntersection, {
318
+ root: contentEl,
319
+ threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],
320
+ });
321
+ this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);
322
+ /**
323
+ * Handle scaling of large iOS titles and
324
+ * showing/hiding border on last toolbar
325
+ * in primary header
326
+ */
327
+ this.contentScrollCallback = () => {
328
+ handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl);
329
+ };
330
+ this.scrollEl.addEventListener('scroll', this.contentScrollCallback);
331
+ writeTask(() => {
332
+ if (this.collapsibleMainHeader !== undefined) {
333
+ this.collapsibleMainHeader.classList.add('header-collapse-main');
334
+ }
335
+ });
336
+ }
337
+ render() {
338
+ const { translucent, inheritedAttributes } = this;
339
+ const mode = getIonMode(this);
340
+ const collapse = this.collapse || 'none';
341
+ // banner role must be at top level, so remove role if inside a menu
342
+ const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
343
+ return (h(Host, Object.assign({ key: 'b6cc27f0b08afc9fcc889683525da765d80ba672', role: roleType, class: {
344
+ [mode]: true,
345
+ // Used internally for styling
346
+ [`header-${mode}`]: true,
347
+ [`header-translucent`]: this.translucent,
348
+ [`header-collapse-${collapse}`]: true,
349
+ [`header-translucent-${mode}`]: this.translucent,
350
+ } }, inheritedAttributes), mode === 'ios' && translucent && h("div", { key: '395766d4dcee3398bc91960db21f922095292f14', class: "header-background" }), h("slot", { key: '09a67ece27b258ff1248805d43d92a49b2c6859a' })));
351
+ }
352
+ get el() { return this; }
353
+ static get style() { return {
354
+ ios: IonHeaderIosStyle0,
355
+ md: IonHeaderMdStyle0
356
+ }; }
357
+ }, [36, "ion-header", {
358
+ "collapse": [1],
359
+ "translucent": [4]
360
+ }]);
361
+ function defineCustomElement() {
362
+ if (typeof customElements === "undefined") {
363
+ return;
364
+ }
365
+ const components = ["ion-header"];
366
+ components.forEach(tagName => { switch (tagName) {
367
+ case "ion-header":
368
+ if (!customElements.get(tagName)) {
369
+ customElements.define(tagName, Header);
370
+ }
371
+ break;
372
+ } });
373
+ }
374
+
375
+ export { Header as H, defineCustomElement as d };
@@ -231,7 +231,7 @@ const createMenuController = () => {
231
231
  menus.splice(index, 1);
232
232
  }
233
233
  };
234
- const _setOpen = async (menu, shouldOpen, animated) => {
234
+ const _setOpen = async (menu, shouldOpen, animated, role) => {
235
235
  if (isAnimatingSync()) {
236
236
  return false;
237
237
  }
@@ -241,7 +241,7 @@ const createMenuController = () => {
241
241
  await openedMenu.setOpen(false, false);
242
242
  }
243
243
  }
244
- return menu._setOpen(shouldOpen, animated);
244
+ return menu._setOpen(shouldOpen, animated, role);
245
245
  };
246
246
  const _createAnimation = (type, menuCmp) => {
247
247
  const animationBuilder = menuAnimations.get(type); // TODO(FW-2832): type
@@ -70,7 +70,7 @@ const App = /*@__PURE__*/ proxyCustomElement(class App extends HTMLElement {
70
70
  }
71
71
  render() {
72
72
  const mode = getIonMode(this);
73
- return (h(Host, { key: 'e95cdeb2709edbc74f4e6ebf77cb110154605b72', class: {
73
+ return (h(Host, { key: '96715520fd05d6f0e6fa26a8ba78792cfccd4c0a', class: {
74
74
  [mode]: true,
75
75
  'ion-page': true,
76
76
  'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
@@ -17,7 +17,7 @@ const Avatar = /*@__PURE__*/ proxyCustomElement(class Avatar extends HTMLElement
17
17
  this.__attachShadow();
18
18
  }
19
19
  render() {
20
- return (h(Host, { key: 'dc1e3cd535e419eebe5599574fd2393ebfde8bbc', class: getIonMode(this) }, h("slot", { key: 'edb8441c063ea592b41345ea97d88ecd90cb3052' })));
20
+ return (h(Host, { key: '998217066084f966bf5d356fed85bcbd451f675a', class: getIonMode(this) }, h("slot", { key: '1a6f7c9d4dc6a875f86b5b3cda6d59cb39587f22' })));
21
21
  }
22
22
  static get style() { return {
23
23
  ios: IonAvatarIosStyle0,
@@ -76,7 +76,7 @@ const BackButton = /*@__PURE__*/ proxyCustomElement(class BackButton extends HTM
76
76
  const showBackButton = defaultHref !== undefined;
77
77
  const mode = getIonMode(this);
78
78
  const ariaLabel = inheritedAttributes['aria-label'] || backButtonText || 'back';
79
- return (h(Host, { key: '8351c93a1812c94c979fb115f07a9ad7b3152188', onClick: this.onClick, class: createColorClasses(color, {
79
+ return (h(Host, { key: '5466624a10f1ab56f5469e6dc07080303880f2fe', onClick: this.onClick, class: createColorClasses(color, {
80
80
  [mode]: true,
81
81
  button: true, // ion-buttons target .button
82
82
  'back-button-disabled': disabled,
@@ -86,7 +86,7 @@ const BackButton = /*@__PURE__*/ proxyCustomElement(class BackButton extends HTM
86
86
  'ion-activatable': true,
87
87
  'ion-focusable': true,
88
88
  'show-back-button': showBackButton,
89
- }) }, h("button", { key: '991b8baa784dbfbdf8d3581cbbf6a858ac1f1e6e', type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, h("span", { key: '929fcd83a4fdb00cf97ca803f234719171602a5e', class: "button-inner" }, backButtonIcon && (h("ion-icon", { key: '0c10d412ae8342d96f221e626b421c9abadac748', part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false, "flip-rtl": icon === undefined })), backButtonText && (h("span", { key: '96f505880a80f36ee8b8c78268b450f3629ee613', part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText))), mode === 'md' && h("ion-ripple-effect", { key: '0aecf5d415c608069eb1a10043530bd0929b6383', type: this.rippleType }))));
89
+ }) }, h("button", { key: '63bc75ef0ad7cc9fb79e58217a3314b20acd73e3', type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, h("span", { key: '5d3eacbd11af2245c6e1151cab446a0d96559ad8', class: "button-inner" }, backButtonIcon && (h("ion-icon", { key: '6439af0ae463764174e7d3207f02267811df666d', part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false, "flip-rtl": icon === undefined })), backButtonText && (h("span", { key: '8ee89fb18dfdb5b75948a8b197ff4cdbc008742f', part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText))), mode === 'md' && h("ion-ripple-effect", { key: '63803a884998bc73bea5afe0b2a0a14e3fa4d6bf', type: this.rippleType }))));
90
90
  }
91
91
  get el() { return this; }
92
92
  static get style() { return {
@@ -20,9 +20,9 @@ const Badge = /*@__PURE__*/ proxyCustomElement(class Badge extends HTMLElement {
20
20
  }
21
21
  render() {
22
22
  const mode = getIonMode(this);
23
- return (h(Host, { key: '1253618692342bcf9487188402dc3d49ae0de480', class: createColorClasses(this.color, {
23
+ return (h(Host, { key: '1a2d39c5deec771a2f2196447627b62a7d4c8389', class: createColorClasses(this.color, {
24
24
  [mode]: true,
25
- }) }, h("slot", { key: '71d65e203965ea37b94504a8a0a96beb52d4e356' })));
25
+ }) }, h("slot", { key: 'fc1b6587f1ed24715748eb6785e7fb7a57cdd5cd' })));
26
26
  }
27
27
  static get style() { return {
28
28
  ios: IonBadgeIosStyle0,
@@ -71,7 +71,7 @@ const Breadcrumb = /*@__PURE__*/ proxyCustomElement(class Breadcrumb extends HTM
71
71
  // to show the separator as long as it isn't also the last breadcrumb
72
72
  // otherwise if not collapsed use the value in separator
73
73
  const showSeparator = last ? false : collapsed ? (showCollapsedIndicator && !last ? true : false) : separator;
74
- return (h(Host, { key: 'dfe55ad57f23e5da5f2e2c51fea99964812472e3', onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation), "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
74
+ return (h(Host, { key: '32ca61c83721dff52b5e97171ed449dce3584a55', onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation), "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
75
75
  [mode]: true,
76
76
  'breadcrumb-active': active,
77
77
  'breadcrumb-collapsed': collapsed,
@@ -81,15 +81,15 @@ const Breadcrumb = /*@__PURE__*/ proxyCustomElement(class Breadcrumb extends HTM
81
81
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
82
82
  'ion-activatable': clickable,
83
83
  'ion-focusable': clickable,
84
- }) }, h(TagType, Object.assign({ key: 'e361b1f0e7de6dd5c5dd4f6deae72c2c8210466d' }, attrs, { class: "breadcrumb-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("slot", { key: '9daeb45a8a28c89f3ad5751f71b8412197846371', name: "start" }), h("slot", { key: '4849e63cdffd6c712292745138b68730442c8b0d' }), h("slot", { key: '6edf9bac5aec06ccec2844efac2d9afa1d24cf57', name: "end" })), showCollapsedIndicator && (h("button", { key: 'de7f5faea75b44011b289d259265e2435a65874f', part: "collapsed-indicator", "aria-label": "Show more breadcrumbs", onClick: () => this.collapsedIndicatorClick(), ref: (collapsedEl) => (this.collapsedRef = collapsedEl), class: {
84
+ }) }, h(TagType, Object.assign({ key: '479feb845f4a6d8009d5422b33eb423730b9722b' }, attrs, { class: "breadcrumb-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("slot", { key: '3c5dcaeb0d258235d1b7707868026ff1d1404099', name: "start" }), h("slot", { key: 'f1cfb934443cd97dc220882c5e3596ea879d66cf' }), h("slot", { key: '539710121b5b1f3ee8d4c24a9651b67c2ae08add', name: "end" })), showCollapsedIndicator && (h("button", { key: 'ed53a95ccd89022c8b7bee0658a221ec62a5c73b', part: "collapsed-indicator", "aria-label": "Show more breadcrumbs", onClick: () => this.collapsedIndicatorClick(), ref: (collapsedEl) => (this.collapsedRef = collapsedEl), class: {
85
85
  'breadcrumbs-collapsed-indicator': true,
86
- } }, h("ion-icon", { key: '957d8851af9c99dda263f34eff0b35a0fc212c32', "aria-hidden": "true", icon: ellipsisHorizontal, lazy: false }))), showSeparator && (
86
+ } }, h("ion-icon", { key: 'a849e1142a86f06f207cf11662fa2a560ab7fc6a', "aria-hidden": "true", icon: ellipsisHorizontal, lazy: false }))), showSeparator && (
87
87
  /**
88
88
  * Separators should not be announced by narrators.
89
89
  * We add aria-hidden on the span so that this applies
90
90
  * to any custom separators too.
91
91
  */
92
- h("span", { key: '97d646c37c4c41ad6b12c3a543d1146fde06fc9a', class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, h("slot", { key: '0429f671a986f2d7be1b1b69fc879e80806d2916', name: "separator" }, mode === 'ios' ? (h("ion-icon", { icon: chevronForwardOutline, lazy: false, "flip-rtl": true })) : (h("span", null, "/")))))));
92
+ h("span", { key: 'fc3c741cb01fafef8b26046c7ee5b190efc69a7c', class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, h("slot", { key: '4871932ae1dae520767e0713e7cee2d11b0bba6d', name: "separator" }, mode === 'ios' ? (h("ion-icon", { icon: chevronForwardOutline, lazy: false, "flip-rtl": true })) : (h("span", null, "/")))))));
93
93
  }
94
94
  get el() { return this; }
95
95
  static get style() { return {
@@ -112,12 +112,12 @@ const Breadcrumbs = /*@__PURE__*/ proxyCustomElement(class Breadcrumbs extends H
112
112
  render() {
113
113
  const { color, collapsed } = this;
114
114
  const mode = getIonMode(this);
115
- return (h(Host, { key: '18ffba1642f10cc2bc31440e84f23aa6f042e501', class: createColorClasses(color, {
115
+ return (h(Host, { key: 'fe64e9cdf597ede2db140bf5fa05a0359d82db57', class: createColorClasses(color, {
116
116
  [mode]: true,
117
117
  'in-toolbar': hostContext('ion-toolbar', this.el),
118
118
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
119
119
  'breadcrumbs-collapsed': collapsed,
120
- }) }, h("slot", { key: '3db6d31590e3047889ce554d57d155c8ea2e1455', onSlotchange: this.slotChanged })));
120
+ }) }, h("slot", { key: 'a2c99b579e339055c50a613d5c6b61032f5ddffe', onSlotchange: this.slotChanged })));
121
121
  }
122
122
  get el() { return this; }
123
123
  static get watchers() { return {
@@ -17,7 +17,7 @@ const CardContent = /*@__PURE__*/ proxyCustomElement(class CardContent extends H
17
17
  }
18
18
  render() {
19
19
  const mode = getIonMode(this);
20
- return (h(Host, { key: '2a2d0b48aad4b83990a1748fce60e772514eb223', class: {
20
+ return (h(Host, { key: 'd98e4d1fc6ad3237549f9bc17e4c67ec5059b1b3', class: {
21
21
  [mode]: true,
22
22
  // Used internally for styling
23
23
  [`card-content-${mode}`]: true,
@@ -21,11 +21,11 @@ const CardHeader = /*@__PURE__*/ proxyCustomElement(class CardHeader extends HTM
21
21
  }
22
22
  render() {
23
23
  const mode = getIonMode(this);
24
- return (h(Host, { key: '18d12507ec6e650a72d721e9d0f4128b5e86df1d', class: createColorClasses(this.color, {
24
+ return (h(Host, { key: '64246b81931203a64d553c788cd736f41e23f37b', class: createColorClasses(this.color, {
25
25
  'card-header-translucent': this.translucent,
26
26
  'ion-inherit-color': true,
27
27
  [mode]: true,
28
- }) }, h("slot", { key: '3374c087d8c3f014082787e255432e7a335ef44f' })));
28
+ }) }, h("slot", { key: 'af2da2dfe266889afeb57fac25c6a730558dbba4' })));
29
29
  }
30
30
  static get style() { return {
31
31
  ios: IonCardHeaderIosStyle0,
@@ -20,10 +20,10 @@ const CardSubtitle = /*@__PURE__*/ proxyCustomElement(class CardSubtitle extends
20
20
  }
21
21
  render() {
22
22
  const mode = getIonMode(this);
23
- return (h(Host, { key: 'cbcb01bd01cf6de64a0b04fb626e42b07ceb8f53', role: "heading", "aria-level": "3", class: createColorClasses(this.color, {
23
+ return (h(Host, { key: '84d820a19d9074f9c8bc61ccba1ca40062a60b73', role: "heading", "aria-level": "3", class: createColorClasses(this.color, {
24
24
  'ion-inherit-color': true,
25
25
  [mode]: true,
26
- }) }, h("slot", { key: 'cbcaa73aa5799882c48d6c0aabfb13651bcc91c0' })));
26
+ }) }, h("slot", { key: 'e4d07d395a1f4469a90847636083101b32b776a1' })));
27
27
  }
28
28
  static get style() { return {
29
29
  ios: IonCardSubtitleIosStyle0,
@@ -20,10 +20,10 @@ const CardTitle = /*@__PURE__*/ proxyCustomElement(class CardTitle extends HTMLE
20
20
  }
21
21
  render() {
22
22
  const mode = getIonMode(this);
23
- return (h(Host, { key: 'f904a0ca6489f147d03c9c5f9f2c5549cdb38d1a', role: "heading", "aria-level": "2", class: createColorClasses(this.color, {
23
+ return (h(Host, { key: 'fca001a86396e83718d5211cd71912fdf40dea2f', role: "heading", "aria-level": "2", class: createColorClasses(this.color, {
24
24
  'ion-inherit-color': true,
25
25
  [mode]: true,
26
- }) }, h("slot", { key: 'effb921de4ad8dfbbe318b3f692f4005812da7b1' })));
26
+ }) }, h("slot", { key: '2ba416aed488b2ff462fa75fb3b70373a6dd7da6' })));
27
27
  }
28
28
  static get style() { return {
29
29
  ios: IonCardTitleIosStyle0,
@@ -55,7 +55,7 @@ const Card = /*@__PURE__*/ proxyCustomElement(class Card extends HTMLElement {
55
55
  }
56
56
  render() {
57
57
  const mode = getIonMode(this);
58
- return (h(Host, { key: '8584300522f382ee8891c039d71da82533dfa36a', class: createColorClasses(this.color, {
58
+ return (h(Host, { key: '85e9b30bd81e79a0c7ac75cb3664bdcf9e4afc4d', class: createColorClasses(this.color, {
59
59
  [mode]: true,
60
60
  'card-disabled': this.disabled,
61
61
  'ion-activatable': this.isClickable(),
@@ -23,12 +23,12 @@ const Chip = /*@__PURE__*/ proxyCustomElement(class Chip extends HTMLElement {
23
23
  }
24
24
  render() {
25
25
  const mode = getIonMode(this);
26
- return (h(Host, { key: '7dd923c1b28d1eb1efa348f66f49cec067645af9', "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
26
+ return (h(Host, { key: 'fa2e9a4837ef87a17ef10f388e8caa7f604d9145', "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
27
27
  [mode]: true,
28
28
  'chip-outline': this.outline,
29
29
  'chip-disabled': this.disabled,
30
30
  'ion-activatable': true,
31
- }) }, h("slot", { key: '7ede838bf109dc27a898ee2dcdeabc3f439c8e6f' }), mode === 'md' && h("ion-ripple-effect", { key: '5acb073029544e73fcc0db4cc4e661ec1df4d231' })));
31
+ }) }, h("slot", { key: '3793fbd9d915cef7241fb101e2bc64c08b9ba482' }), mode === 'md' && h("ion-ripple-effect", { key: 'd3b95b53918611dec095a50f2aaaab65617947a4' })));
32
32
  }
33
33
  static get style() { return {
34
34
  ios: IonChipIosStyle0,
@@ -138,9 +138,9 @@ const Col = /*@__PURE__*/ proxyCustomElement(class Col extends HTMLElement {
138
138
  render() {
139
139
  const isRTL = document.dir === 'rtl';
140
140
  const mode = getIonMode(this);
141
- return (h(Host, { key: 'c37fa4c4c993385ccbb6f4e89b2f390b140507a0', class: {
141
+ return (h(Host, { key: '32ed75d81dd09d9bc8999f6d42e5b3cb99c84d91', class: {
142
142
  [mode]: true,
143
- }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, h("slot", { key: '6a5296ff0b9dee6600c2dafe7363a065d053bac2' })));
143
+ }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, h("slot", { key: '38f8d0440c20cc6d1b1d6a654d07f16de61d8134' })));
144
144
  }
145
145
  static get style() { return IonColStyle0; }
146
146
  }, [1, "ion-col", {