@ionic/core 8.7.17-dev.11772118942.181221d4 → 8.7.17-dev.11772568074.1d7a4aea

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 (520) hide show
  1. package/components/action-sheet.js +1 -561
  2. package/components/alert.js +1 -610
  3. package/components/animation.js +1 -817
  4. package/components/backdrop.js +1 -72
  5. package/components/button-active.js +1 -64
  6. package/components/button.js +1 -303
  7. package/components/buttons.js +1 -56
  8. package/components/capacitor.js +1 -10
  9. package/components/checkbox.js +1 -261
  10. package/components/config.js +1 -192
  11. package/components/content.js +1 -475
  12. package/components/cubic-bezier.js +1 -87
  13. package/components/data.js +1 -1635
  14. package/components/dir.js +1 -15
  15. package/components/focus-visible.js +1 -72
  16. package/components/framework-delegate.js +1 -137
  17. package/components/gesture-controller.js +1 -192
  18. package/components/haptic.js +1 -155
  19. package/components/hardware-back-button.js +1 -112
  20. package/components/header.js +1 -417
  21. package/components/helpers.js +1 -336
  22. package/components/icon.js +1 -456
  23. package/components/index.d.ts +2 -0
  24. package/components/index.js +1 -115
  25. package/components/index2.js +1 -416
  26. package/components/index3.js +1 -452
  27. package/components/index4.js +1 -118
  28. package/components/index5.js +1 -303
  29. package/components/index6.js +1 -29
  30. package/components/index7.js +1 -164
  31. package/components/index8.js +1 -125
  32. package/components/index9.js +1 -4
  33. package/components/input-shims.js +1 -624
  34. package/components/input.utils.js +1 -144
  35. package/components/ion-accordion-group.js +1 -269
  36. package/components/ion-accordion.js +1 -457
  37. package/components/ion-action-sheet.js +1 -6
  38. package/components/ion-alert.js +1 -6
  39. package/components/ion-app.js +1 -128
  40. package/components/ion-avatar.js +1 -41
  41. package/components/ion-back-button.js +1 -131
  42. package/components/ion-backdrop.js +1 -6
  43. package/components/ion-badge.js +1 -47
  44. package/components/ion-breadcrumb.js +1 -137
  45. package/components/ion-breadcrumbs.js +1 -164
  46. package/components/ion-button.js +1 -6
  47. package/components/ion-buttons.js +1 -6
  48. package/components/ion-card-content.js +1 -45
  49. package/components/ion-card-header.js +1 -56
  50. package/components/ion-card-subtitle.js +1 -48
  51. package/components/ion-card-title.js +1 -48
  52. package/components/ion-card.js +1 -107
  53. package/components/ion-checkbox.js +1 -6
  54. package/components/ion-chip.js +1 -66
  55. package/components/ion-col.js +1 -163
  56. package/components/ion-content.js +1 -6
  57. package/components/ion-datetime-button.js +1 -384
  58. package/components/ion-datetime.js +1 -2046
  59. package/components/ion-fab-button.js +1 -151
  60. package/components/ion-fab-list.js +1 -66
  61. package/components/ion-fab.js +1 -101
  62. package/components/ion-footer.js +1 -159
  63. package/components/ion-grid.js +1 -46
  64. package/components/ion-header.js +1 -6
  65. package/components/ion-icon.js +1 -6
  66. package/components/ion-img.js +1 -124
  67. package/components/ion-infinite-scroll-content.js +1 -70
  68. package/components/ion-infinite-scroll.js +1 -236
  69. package/components/ion-input-otp.js +1 -683
  70. package/components/ion-input-password-toggle.js +1 -129
  71. package/components/ion-input.js +1 -617
  72. package/components/ion-item-divider.js +1 -59
  73. package/components/ion-item-group.js +1 -46
  74. package/components/ion-item-option.js +1 -91
  75. package/components/ion-item-options.js +1 -73
  76. package/components/ion-item-sliding.js +1 -458
  77. package/components/ion-item.js +1 -6
  78. package/components/ion-label.js +1 -6
  79. package/components/ion-list-header.js +1 -6
  80. package/components/ion-list.js +1 -6
  81. package/components/ion-loading.js +1 -344
  82. package/components/ion-menu-button.js +1 -110
  83. package/components/ion-menu-toggle.js +1 -64
  84. package/components/ion-menu.js +1 -745
  85. package/components/ion-modal.js +1 -6
  86. package/components/ion-nav-link.js +1 -64
  87. package/components/ion-nav.js +1 -956
  88. package/components/ion-note.js +1 -47
  89. package/components/ion-picker-column-option.js +1 -6
  90. package/components/ion-picker-column.js +1 -6
  91. package/components/ion-picker-legacy-column.js +1 -6
  92. package/components/ion-picker-legacy.js +1 -343
  93. package/components/ion-picker.js +1 -6
  94. package/components/ion-popover.js +1 -6
  95. package/components/ion-progress-bar.js +1 -101
  96. package/components/ion-radio-group.js +1 -6
  97. package/components/ion-radio.js +1 -6
  98. package/components/ion-range.js +1 -853
  99. package/components/ion-refresher-content.js +1 -89
  100. package/components/ion-refresher.js +1 -751
  101. package/components/ion-reorder-group.js +1 -322
  102. package/components/ion-reorder.js +1 -60
  103. package/components/ion-ripple-effect.js +1 -6
  104. package/components/ion-route-redirect.js +1 -45
  105. package/components/ion-route.js +1 -74
  106. package/components/ion-router-link.js +1 -61
  107. package/components/ion-router-outlet.js +1 -227
  108. package/components/ion-router.js +1 -841
  109. package/components/ion-row.js +1 -36
  110. package/components/ion-searchbar.js +1 -530
  111. package/components/ion-segment-button.js +1 -174
  112. package/components/ion-segment-content.js +1 -35
  113. package/components/ion-segment-view.js +1 -148
  114. package/components/ion-segment.js +1 -602
  115. package/components/ion-select-modal.js +1 -6
  116. package/components/ion-select-option.js +1 -46
  117. package/components/ion-select-popover.js +1 -6
  118. package/components/ion-select.js +1 -1037
  119. package/components/ion-skeleton-text.js +1 -65
  120. package/components/ion-spinner.js +1 -6
  121. package/components/ion-split-pane.js +1 -197
  122. package/components/ion-tab-bar.js +1 -115
  123. package/components/ion-tab-button.js +1 -128
  124. package/components/ion-tab.js +1 -91
  125. package/components/ion-tabs.js +1 -205
  126. package/components/ion-text.js +1 -42
  127. package/components/ion-textarea.js +1 -554
  128. package/components/ion-thumbnail.js +1 -36
  129. package/components/ion-title.js +1 -6
  130. package/components/ion-toast.js +1 -941
  131. package/components/ion-toggle.js +1 -361
  132. package/components/ion-toolbar.js +1 -6
  133. package/components/ionic-global.js +1 -144
  134. package/components/ios.transition.js +1 -672
  135. package/components/item.js +1 -302
  136. package/components/keyboard-controller.js +1 -162
  137. package/components/keyboard.js +1 -141
  138. package/components/keyboard2.js +1 -76
  139. package/components/label.js +1 -100
  140. package/components/list-header.js +1 -47
  141. package/components/list.js +1 -68
  142. package/components/lock-controller.js +1 -35
  143. package/components/md.transition.js +1 -51
  144. package/components/menu-toggle-util.js +1 -9
  145. package/components/modal.js +1 -2674
  146. package/components/notch-controller.js +1 -150
  147. package/components/overlays.js +1 -912
  148. package/components/picker-column-option.js +1 -136
  149. package/components/picker-column.js +1 -595
  150. package/components/picker-column2.js +1 -377
  151. package/components/picker.js +1 -498
  152. package/components/popover.js +1 -1502
  153. package/components/radio-group.js +1 -287
  154. package/components/radio.js +1 -229
  155. package/components/refresher.utils.js +1 -193
  156. package/components/ripple-effect.js +1 -109
  157. package/components/select-modal.js +1 -196
  158. package/components/select-popover.js +1 -189
  159. package/components/spinner.js +1 -224
  160. package/components/status-tap.js +1 -36
  161. package/components/swipe-back.js +1 -75
  162. package/components/theme.js +1 -40
  163. package/components/title.js +1 -70
  164. package/components/toolbar.js +1 -89
  165. package/components/validity.js +1 -14
  166. package/components/watch-options.js +1 -44
  167. package/dist/cjs/{animation-Bt3H9L1C.js → animation-Dg4yiuR2.js} +1 -1
  168. package/dist/cjs/app-globals-CLI8xCmk.js +11 -0
  169. package/dist/cjs/{button-active-CMc8cD90.js → button-active-FscMI17-.js} +1 -1
  170. package/dist/cjs/{config-C5fsO43a.js → config-BukYi_pW.js} +1 -1
  171. package/dist/cjs/{data-JwZKaIQB.js → data-BYlBjkMU.js} +1 -1
  172. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-CRgp8o_p.js} +1 -1
  173. package/dist/cjs/{hardware-back-button-VCK4V3mG.js → hardware-back-button-C4rMJ5uI.js} +1 -1
  174. package/dist/cjs/{helpers-DrTqNghc.js → helpers-CxTYJdbT.js} +1 -1
  175. package/dist/cjs/{index-094mMFB-.js → index-C845Ti6K.js} +4 -4
  176. package/dist/cjs/{index-DrMUZJj6.js → index-CFUwM5x_.js} +5 -5
  177. package/dist/cjs/{index-D6Wc6v08.js → index-CqT-2gKy.js} +503 -382
  178. package/dist/cjs/{index-CO6eryBo.js → index-MbaBbWXk.js} +2 -2
  179. package/dist/cjs/{index-C534ULug.js → index-YcSftOMz.js} +2 -2
  180. package/dist/cjs/index.cjs.js +12 -12
  181. package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-DlFhYYTs.js} +3 -3
  182. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DmeJ8dmo.js} +2 -2
  183. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -15
  184. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -15
  185. package/dist/cjs/ion-alert.cjs.entry.js +25 -17
  186. package/dist/cjs/ion-app_8.cjs.entry.js +44 -40
  187. package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -12
  188. package/dist/cjs/ion-back-button.cjs.entry.js +7 -7
  189. package/dist/cjs/ion-backdrop.cjs.entry.js +6 -6
  190. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -14
  191. package/dist/cjs/ion-button_2.cjs.entry.js +36 -18
  192. package/dist/cjs/ion-card_5.cjs.entry.js +23 -23
  193. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
  194. package/dist/cjs/ion-chip.cjs.entry.js +6 -6
  195. package/dist/cjs/ion-col_3.cjs.entry.js +8 -8
  196. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
  197. package/dist/cjs/ion-datetime_3.cjs.entry.js +67 -39
  198. package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
  199. package/dist/cjs/ion-img.cjs.entry.js +8 -6
  200. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -13
  201. package/dist/cjs/ion-input-otp.cjs.entry.js +16 -10
  202. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -7
  203. package/dist/cjs/ion-input.cjs.entry.js +21 -13
  204. package/dist/cjs/ion-item-option_3.cjs.entry.js +17 -15
  205. package/dist/cjs/ion-item_8.cjs.entry.js +42 -36
  206. package/dist/cjs/ion-loading.cjs.entry.js +18 -14
  207. package/dist/cjs/ion-menu_3.cjs.entry.js +30 -22
  208. package/dist/cjs/ion-modal.cjs.entry.js +55 -40
  209. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
  210. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -8
  211. package/dist/cjs/ion-picker-column.cjs.entry.js +11 -7
  212. package/dist/cjs/ion-picker.cjs.entry.js +6 -6
  213. package/dist/cjs/ion-popover.cjs.entry.js +21 -15
  214. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
  215. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -13
  216. package/dist/cjs/ion-range.cjs.entry.js +29 -15
  217. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -14
  218. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -11
  219. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
  220. package/dist/cjs/ion-route_4.cjs.entry.js +20 -10
  221. package/dist/cjs/ion-searchbar.cjs.entry.js +22 -12
  222. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
  223. package/dist/cjs/ion-segment-view.cjs.entry.js +5 -5
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +12 -12
  226. package/dist/cjs/ion-select_3.cjs.entry.js +29 -21
  227. package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
  228. package/dist/cjs/ion-split-pane.cjs.entry.js +15 -9
  229. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +14 -12
  230. package/dist/cjs/ion-tab_2.cjs.entry.js +10 -8
  231. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  232. package/dist/cjs/ion-textarea.cjs.entry.js +18 -12
  233. package/dist/cjs/ion-toast.cjs.entry.js +21 -15
  234. package/dist/cjs/ion-toggle.cjs.entry.js +10 -8
  235. package/dist/cjs/{ionic-global-HMVqOFGO.js → ionic-global-Bc3kJi1Z.js} +1 -1
  236. package/dist/cjs/ionic.cjs.js +5 -5
  237. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-trBiC95R.js} +4 -4
  238. package/dist/cjs/loader.cjs.js +4 -4
  239. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-CUQECuvD.js} +4 -4
  240. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-sD-lTpdc.js} +1 -1
  241. package/dist/cjs/{overlays-B2b-TTbl.js → overlays-C2jiBSNQ.js} +5 -5
  242. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-CCJk5VgT.js} +3 -3
  243. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BGhTQ1CU.js} +2 -2
  244. package/dist/collection/collection-manifest.json +2 -2
  245. package/dist/collection/components/accordion-group/accordion-group.js +4 -2
  246. package/dist/collection/components/action-sheet/action-sheet.js +20 -10
  247. package/dist/collection/components/alert/alert.js +24 -12
  248. package/dist/collection/components/back-button/back-button.js +4 -2
  249. package/dist/collection/components/badge/badge.js +2 -1
  250. package/dist/collection/components/breadcrumb/breadcrumb.js +8 -4
  251. package/dist/collection/components/breadcrumbs/breadcrumbs.js +4 -2
  252. package/dist/collection/components/button/button.js +6 -3
  253. package/dist/collection/components/card/card.js +6 -3
  254. package/dist/collection/components/card-header/card-header.js +2 -1
  255. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -1
  256. package/dist/collection/components/card-title/card-title.js +2 -1
  257. package/dist/collection/components/checkbox/checkbox.js +4 -2
  258. package/dist/collection/components/chip/chip.js +2 -1
  259. package/dist/collection/components/content/content.js +8 -4
  260. package/dist/collection/components/datetime/datetime.js +34 -15
  261. package/dist/collection/components/datetime-button/datetime-button.js +2 -1
  262. package/dist/collection/components/fab-button/fab-button.js +6 -3
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -2
  264. package/dist/collection/components/input/input.js +11 -6
  265. package/dist/collection/components/input-otp/input-otp.js +8 -4
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +4 -2
  267. package/dist/collection/components/item/item.js +6 -3
  268. package/dist/collection/components/item-divider/item-divider.js +2 -1
  269. package/dist/collection/components/item-option/item-option.js +2 -1
  270. package/dist/collection/components/item-options/item-options.js +2 -1
  271. package/dist/collection/components/item-sliding/item-sliding.js +2 -1
  272. package/dist/collection/components/label/label.js +6 -3
  273. package/dist/collection/components/list-header/list-header.js +2 -1
  274. package/dist/collection/components/loading/loading.js +22 -11
  275. package/dist/collection/components/menu/menu.js +10 -5
  276. package/dist/collection/components/menu-button/menu-button.js +2 -1
  277. package/dist/collection/components/modal/gestures/sheet.js +32 -21
  278. package/dist/collection/components/modal/modal.js +35 -20
  279. package/dist/collection/components/nav/nav.js +89 -45
  280. package/dist/collection/components/nav-link/nav-link.js +9 -5
  281. package/dist/collection/components/note/note.js +2 -1
  282. package/dist/collection/components/picker/picker.js +2 -1
  283. package/dist/collection/components/picker-column/picker-column.js +6 -3
  284. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
  285. package/dist/collection/components/picker-legacy/picker.js +24 -12
  286. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
  287. package/dist/collection/components/popover/popover.js +33 -17
  288. package/dist/collection/components/progress-bar/progress-bar.js +2 -1
  289. package/dist/collection/components/radio/radio.js +2 -1
  290. package/dist/collection/components/radio-group/radio-group.js +6 -3
  291. package/dist/collection/components/range/range.js +14 -7
  292. package/dist/collection/components/refresher/refresher.js +73 -5
  293. package/dist/collection/components/refresher-content/refresher-content.js +8 -4
  294. package/dist/collection/components/reorder-group/reorder-group.js +6 -3
  295. package/dist/collection/components/route/route.js +4 -2
  296. package/dist/collection/components/router/router.js +10 -5
  297. package/dist/collection/components/router-link/router-link.js +6 -3
  298. package/dist/collection/components/router-outlet/router-outlet.js +18 -9
  299. package/dist/collection/components/searchbar/searchbar.js +11 -6
  300. package/dist/collection/components/segment/segment.js +10 -5
  301. package/dist/collection/components/segment-button/segment-button.js +4 -2
  302. package/dist/collection/components/segment-view/segment-view.js +2 -1
  303. package/dist/collection/components/select/select.js +10 -5
  304. package/dist/collection/components/select-modal/select-modal.js +2 -1
  305. package/dist/collection/components/select-popover/select-popover.js +2 -1
  306. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
  307. package/dist/collection/components/spinner/spinner.js +4 -2
  308. package/dist/collection/components/tab/tab.js +4 -2
  309. package/dist/collection/components/tab-bar/tab-bar.js +4 -2
  310. package/dist/collection/components/tab-button/tab-button.js +4 -2
  311. package/dist/collection/components/tabs/tabs.js +4 -2
  312. package/dist/collection/components/text/text.js +2 -1
  313. package/dist/collection/components/textarea/textarea.js +6 -3
  314. package/dist/collection/components/title/title.js +4 -2
  315. package/dist/collection/components/toast/toast.js +34 -17
  316. package/dist/collection/components/toggle/toggle.js +4 -2
  317. package/dist/collection/components/toolbar/toolbar.js +2 -1
  318. package/dist/docs.d.ts +37 -0
  319. package/dist/docs.json +835 -381
  320. package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
  321. package/dist/esm/app-globals-DhZjtldk.js +9 -0
  322. package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
  323. package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
  324. package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
  325. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
  326. package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
  327. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
  328. package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
  329. package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
  330. package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
  331. package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
  332. package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
  333. package/dist/esm/index.js +12 -12
  334. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-C1hAaHcP.js} +3 -3
  335. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
  336. package/dist/esm/ion-accordion_2.entry.js +23 -15
  337. package/dist/esm/ion-action-sheet.entry.js +21 -15
  338. package/dist/esm/ion-alert.entry.js +25 -17
  339. package/dist/esm/ion-app_8.entry.js +44 -40
  340. package/dist/esm/ion-avatar_3.entry.js +12 -12
  341. package/dist/esm/ion-back-button.entry.js +7 -7
  342. package/dist/esm/ion-backdrop.entry.js +6 -6
  343. package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
  344. package/dist/esm/ion-button_2.entry.js +36 -18
  345. package/dist/esm/ion-card_5.entry.js +23 -23
  346. package/dist/esm/ion-checkbox.entry.js +7 -7
  347. package/dist/esm/ion-chip.entry.js +6 -6
  348. package/dist/esm/ion-col_3.entry.js +8 -8
  349. package/dist/esm/ion-datetime-button.entry.js +8 -8
  350. package/dist/esm/ion-datetime_3.entry.js +67 -39
  351. package/dist/esm/ion-fab_3.entry.js +17 -13
  352. package/dist/esm/ion-img.entry.js +8 -6
  353. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
  354. package/dist/esm/ion-input-otp.entry.js +16 -10
  355. package/dist/esm/ion-input-password-toggle.entry.js +9 -7
  356. package/dist/esm/ion-input.entry.js +21 -13
  357. package/dist/esm/ion-item-option_3.entry.js +17 -15
  358. package/dist/esm/ion-item_8.entry.js +42 -36
  359. package/dist/esm/ion-loading.entry.js +18 -14
  360. package/dist/esm/ion-menu_3.entry.js +30 -22
  361. package/dist/esm/ion-modal.entry.js +55 -40
  362. package/dist/esm/ion-nav_2.entry.js +14 -10
  363. package/dist/esm/ion-picker-column-option.entry.js +10 -8
  364. package/dist/esm/ion-picker-column.entry.js +11 -7
  365. package/dist/esm/ion-picker.entry.js +6 -6
  366. package/dist/esm/ion-popover.entry.js +21 -15
  367. package/dist/esm/ion-progress-bar.entry.js +7 -7
  368. package/dist/esm/ion-radio_2.entry.js +17 -13
  369. package/dist/esm/ion-range.entry.js +29 -15
  370. package/dist/esm/ion-refresher_2.entry.js +45 -14
  371. package/dist/esm/ion-reorder_2.entry.js +13 -11
  372. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  373. package/dist/esm/ion-route_4.entry.js +20 -10
  374. package/dist/esm/ion-searchbar.entry.js +22 -12
  375. package/dist/esm/ion-segment-content.entry.js +3 -3
  376. package/dist/esm/ion-segment-view.entry.js +5 -5
  377. package/dist/esm/ion-segment_2.entry.js +26 -16
  378. package/dist/esm/ion-select-modal.entry.js +12 -12
  379. package/dist/esm/ion-select_3.entry.js +29 -21
  380. package/dist/esm/ion-spinner.entry.js +4 -4
  381. package/dist/esm/ion-split-pane.entry.js +15 -9
  382. package/dist/esm/ion-tab-bar_2.entry.js +14 -12
  383. package/dist/esm/ion-tab_2.entry.js +10 -8
  384. package/dist/esm/ion-text.entry.js +4 -4
  385. package/dist/esm/ion-textarea.entry.js +18 -12
  386. package/dist/esm/ion-toast.entry.js +21 -15
  387. package/dist/esm/ion-toggle.entry.js +10 -8
  388. package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
  389. package/dist/esm/ionic.js +6 -6
  390. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
  391. package/dist/esm/loader.js +5 -5
  392. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
  393. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
  394. package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
  395. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
  396. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
  397. package/dist/html.html-data.json +109 -109
  398. package/dist/ionic/index.esm.js +1 -1
  399. package/dist/ionic/ionic.esm.js +1 -1
  400. package/dist/ionic/{p-316c0420.entry.js → p-025d2d32.entry.js} +1 -1
  401. package/dist/ionic/p-02acdef4.entry.js +4 -0
  402. package/dist/ionic/p-04e2c388.entry.js +4 -0
  403. package/dist/ionic/{p-370e4237.entry.js → p-074344b8.entry.js} +1 -1
  404. package/dist/ionic/p-0761b4d3.entry.js +4 -0
  405. package/dist/ionic/p-13ade5c8.entry.js +4 -0
  406. package/dist/ionic/p-1b02923f.entry.js +4 -0
  407. package/dist/ionic/p-1bd477a9.entry.js +4 -0
  408. package/dist/ionic/{p-d2489bf2.entry.js → p-1fa1406c.entry.js} +1 -1
  409. package/dist/ionic/{p-46d74291.entry.js → p-1fd588a7.entry.js} +1 -1
  410. package/dist/ionic/p-239a27a4.entry.js +4 -0
  411. package/dist/ionic/{p-94de5cfa.entry.js → p-277abec1.entry.js} +1 -1
  412. package/dist/ionic/{p-dd1aef77.entry.js → p-28d7852f.entry.js} +1 -1
  413. package/dist/ionic/{p-49d06882.entry.js → p-301c43f8.entry.js} +1 -1
  414. package/dist/ionic/{p-79bd78f9.entry.js → p-370a60ee.entry.js} +1 -1
  415. package/dist/ionic/p-3e143d1d.entry.js +4 -0
  416. package/dist/ionic/p-4431ef7e.entry.js +4 -0
  417. package/dist/ionic/p-463767ce.entry.js +4 -0
  418. package/dist/ionic/p-4f888343.entry.js +4 -0
  419. package/dist/ionic/p-51c11c47.entry.js +4 -0
  420. package/dist/ionic/p-56050077.entry.js +4 -0
  421. package/dist/ionic/p-6a3a5aae.entry.js +4 -0
  422. package/dist/ionic/p-6b97f2a3.entry.js +4 -0
  423. package/dist/ionic/{p-51a60e0f.entry.js → p-7c72d482.entry.js} +1 -1
  424. package/dist/ionic/p-7d20f4f8.entry.js +4 -0
  425. package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
  426. package/dist/ionic/p-91fc7352.entry.js +4 -0
  427. package/dist/ionic/p-93845421.entry.js +4 -0
  428. package/dist/ionic/{p-3a6caca9.entry.js → p-964090ef.entry.js} +1 -1
  429. package/dist/ionic/p-96a2e768.entry.js +4 -0
  430. package/dist/ionic/{p-d126e8d3.entry.js → p-9745651b.entry.js} +1 -1
  431. package/dist/ionic/{p-f9061316.entry.js → p-9802c88e.entry.js} +1 -1
  432. package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
  433. package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
  434. package/dist/ionic/{p-CwgG81ZD.js → p-B8xlpH8p.js} +1 -1
  435. package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
  436. package/dist/ionic/p-BW_TRJm8.js +4 -0
  437. package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
  438. package/dist/ionic/{p-D0dMcSkw.js → p-BvFYtOdE.js} +1 -1
  439. package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
  440. package/dist/ionic/{p-BYEqWnSg.js → p-C0JvVFMv.js} +1 -1
  441. package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
  442. package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
  443. package/dist/ionic/{p-D-eFFUkA.js → p-CmFz1Mjc.js} +1 -1
  444. package/dist/ionic/p-CtA-yJYy.js +4 -0
  445. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  446. package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
  447. package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
  448. package/dist/ionic/{p-DdR6rpbR.js → p-DTPR1Wpn.js} +1 -1
  449. package/dist/ionic/{p-DCv9sLH2.js → p-DjriolRs.js} +1 -1
  450. package/dist/ionic/p-DtVZDHlS.js +4 -0
  451. package/dist/ionic/{p-QHYY4sjU.js → p-GWUGgWx6.js} +1 -1
  452. package/dist/ionic/p-IGIE5vDm.js +5 -0
  453. package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
  454. package/dist/ionic/{p-86f53961.entry.js → p-a287e18e.entry.js} +1 -1
  455. package/dist/ionic/p-a805674e.entry.js +4 -0
  456. package/dist/ionic/p-a81ae2cd.entry.js +4 -0
  457. package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
  458. package/dist/ionic/{p-dbbe606a.entry.js → p-b2d5238b.entry.js} +1 -1
  459. package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
  460. package/dist/ionic/{p-72c38b88.entry.js → p-b4d52b58.entry.js} +1 -1
  461. package/dist/ionic/{p-2a939845.entry.js → p-b67a2114.entry.js} +1 -1
  462. package/dist/ionic/{p-c73627c8.entry.js → p-bced1f3e.entry.js} +1 -1
  463. package/dist/ionic/{p-9a2d390d.entry.js → p-c1c9b2bb.entry.js} +1 -1
  464. package/dist/ionic/{p-f8f22cc0.entry.js → p-c3e65e45.entry.js} +1 -1
  465. package/dist/ionic/p-c76cc21d.entry.js +4 -0
  466. package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
  467. package/dist/ionic/p-cbf245b5.entry.js +4 -0
  468. package/dist/ionic/p-d68b665a.entry.js +4 -0
  469. package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
  470. package/dist/ionic/p-efe86ed9.entry.js +4 -0
  471. package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
  472. package/dist/ionic/{p-DbQ5QkTP.js → p-gbVXD275.js} +1 -1
  473. package/dist/ionic/p-hNN3VvaC.js +4 -0
  474. package/dist/types/components/datetime/datetime.d.ts +9 -0
  475. package/dist/types/components/header/header.utils.d.ts +2 -1
  476. package/dist/types/components/modal/modal-interface.d.ts +5 -1
  477. package/dist/types/components/modal/modal.d.ts +5 -0
  478. package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
  479. package/dist/types/components/refresher/refresher.d.ts +16 -3
  480. package/dist/types/components.d.ts +927 -189
  481. package/dist/types/interface.d.ts +1 -1
  482. package/dist/types/stencil-public-runtime.d.ts +126 -14
  483. package/dist/types/utils/gesture/listener.d.ts +2 -1
  484. package/hydrate/index.d.ts +12 -0
  485. package/hydrate/index.js +5202 -1327
  486. package/hydrate/index.mjs +5201 -1328
  487. package/package.json +2 -2
  488. package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
  489. package/dist/esm/app-globals-BDSf8fOA.js +0 -8
  490. package/dist/ionic/p-012212e4.entry.js +0 -4
  491. package/dist/ionic/p-074839fc.entry.js +0 -4
  492. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  493. package/dist/ionic/p-0f418a37.entry.js +0 -4
  494. package/dist/ionic/p-11518b31.entry.js +0 -4
  495. package/dist/ionic/p-1838bed5.entry.js +0 -4
  496. package/dist/ionic/p-29721c43.entry.js +0 -4
  497. package/dist/ionic/p-31f7095f.entry.js +0 -4
  498. package/dist/ionic/p-34642fa1.entry.js +0 -4
  499. package/dist/ionic/p-35696017.entry.js +0 -4
  500. package/dist/ionic/p-40c261a3.entry.js +0 -4
  501. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  502. package/dist/ionic/p-6241ce47.entry.js +0 -4
  503. package/dist/ionic/p-639dd543.entry.js +0 -4
  504. package/dist/ionic/p-6444c606.entry.js +0 -4
  505. package/dist/ionic/p-6d070558.entry.js +0 -4
  506. package/dist/ionic/p-7268efa5.entry.js +0 -4
  507. package/dist/ionic/p-7babec72.entry.js +0 -4
  508. package/dist/ionic/p-BKc55Xev.js +0 -4
  509. package/dist/ionic/p-Bmgaetn_.js +0 -4
  510. package/dist/ionic/p-C8IsBmNU.js +0 -5
  511. package/dist/ionic/p-CJxh_yLS.js +0 -4
  512. package/dist/ionic/p-DUt5fQmA.js +0 -4
  513. package/dist/ionic/p-DZRJwG4S.js +0 -4
  514. package/dist/ionic/p-a127bee2.entry.js +0 -4
  515. package/dist/ionic/p-b3d44509.entry.js +0 -4
  516. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  517. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  518. package/dist/ionic/p-d3014190.entry.js +0 -4
  519. package/dist/ionic/p-db82892c.entry.js +0 -4
  520. package/dist/ionic/p-e1d1f3cc.entry.js +0 -4
@@ -1,460 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
5
- import { g as getElementRoot, r as raf, a as addEventListener, b as removeEventListener, t as transitionEndAsync } from './helpers.js';
6
- import { c as chevronDown } from './index6.js';
7
- import { c as config } from './index4.js';
8
- import { b as getIonMode } from './ionic-global.js';
9
- import { d as defineCustomElement$2 } from './icon.js';
10
-
11
- const accordionIosCss = ":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}:host(.accordion-next) ::slotted(ion-item[slot=header]){--border-width:0.55px 0px 0.55px 0px}";
12
-
13
- const accordionMdCss = ":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}";
14
-
15
- const Accordion = /*@__PURE__*/ proxyCustomElement(class Accordion extends HTMLElement {
16
- constructor(registerHost) {
17
- super();
18
- if (registerHost !== false) {
19
- this.__registerHost();
20
- }
21
- this.__attachShadow();
22
- this.accordionGroupUpdateHandler = () => {
23
- /**
24
- * Determine if this update will cause an actual state change.
25
- * We only want to mark as "interacted" if the state is changing.
26
- */
27
- const accordionGroup = this.accordionGroupEl;
28
- if (accordionGroup) {
29
- const value = accordionGroup.value;
30
- const accordionValue = this.value;
31
- const shouldExpand = Array.isArray(value) ? value.includes(accordionValue) : value === accordionValue;
32
- const isExpanded = this.state === 4 /* AccordionState.Expanded */ || this.state === 8 /* AccordionState.Expanding */;
33
- const stateWillChange = shouldExpand !== isExpanded;
34
- /**
35
- * Only mark as interacted if:
36
- * 1. This is not the first update we've received with a defined value
37
- * 2. The state is actually changing (prevents redundant updates from enabling animations)
38
- */
39
- if (this.hasReceivedFirstUpdate && stateWillChange) {
40
- this.hasInteracted = true;
41
- }
42
- /**
43
- * Only count this as the first update if the group value is defined.
44
- * This prevents the initial undefined value from the group's componentDidLoad
45
- * from being treated as the first real update.
46
- */
47
- if (value !== undefined) {
48
- this.hasReceivedFirstUpdate = true;
49
- }
50
- }
51
- this.updateState();
52
- };
53
- this.state = 1 /* AccordionState.Collapsed */;
54
- this.isNext = false;
55
- this.isPrevious = false;
56
- /**
57
- * Tracks whether a user-initiated interaction has occurred.
58
- * Animations are disabled until the first interaction happens.
59
- * This prevents the accordion from animating when it's programmatically
60
- * set to an expanded or collapsed state on initial load.
61
- */
62
- this.hasInteracted = false;
63
- /**
64
- * Tracks if this accordion has ever been expanded.
65
- * Used to prevent the first expansion from animating.
66
- */
67
- this.hasEverBeenExpanded = false;
68
- /**
69
- * Tracks if this accordion has received its first update from the group.
70
- * Used to distinguish initial programmatic sets from user interactions.
71
- */
72
- this.hasReceivedFirstUpdate = false;
73
- /**
74
- * The value of the accordion. Defaults to an autogenerated
75
- * value.
76
- */
77
- this.value = `ion-accordion-${accordionIds++}`;
78
- /**
79
- * If `true`, the accordion cannot be interacted with.
80
- */
81
- this.disabled = false;
82
- /**
83
- * If `true`, the accordion cannot be interacted with,
84
- * but does not alter the opacity.
85
- */
86
- this.readonly = false;
87
- /**
88
- * The toggle icon to use. This icon will be
89
- * rotated when the accordion is expanded
90
- * or collapsed.
91
- */
92
- this.toggleIcon = chevronDown;
93
- /**
94
- * The slot inside of `ion-item` to
95
- * place the toggle icon. Defaults to `"end"`.
96
- */
97
- this.toggleIconSlot = 'end';
98
- this.setItemDefaults = () => {
99
- const ionItem = this.getSlottedHeaderIonItem();
100
- if (!ionItem) {
101
- return;
102
- }
103
- /**
104
- * For a11y purposes, we make
105
- * the ion-item a button so users
106
- * can tab to it and use keyboard
107
- * navigation to get around.
108
- */
109
- ionItem.button = true;
110
- ionItem.detail = false;
111
- /**
112
- * By default, the lines in an
113
- * item should be full here, but
114
- * only do that if a user has
115
- * not explicitly overridden them
116
- */
117
- if (ionItem.lines === undefined) {
118
- ionItem.lines = 'full';
119
- }
120
- };
121
- this.getSlottedHeaderIonItem = () => {
122
- const { headerEl } = this;
123
- if (!headerEl) {
124
- return;
125
- }
126
- /**
127
- * Get the first ion-item
128
- * slotted in the header slot
129
- */
130
- const slot = headerEl.querySelector('slot');
131
- if (!slot) {
132
- return;
133
- }
134
- // This is not defined in unit tests
135
- if (slot.assignedElements === undefined)
136
- return;
137
- return slot.assignedElements().find((el) => el.tagName === 'ION-ITEM');
138
- };
139
- this.setAria = (expanded = false) => {
140
- const ionItem = this.getSlottedHeaderIonItem();
141
- if (!ionItem) {
142
- return;
143
- }
144
- /**
145
- * Get the native <button> element inside of
146
- * ion-item because that is what will be focused
147
- */
148
- const root = getElementRoot(ionItem);
149
- const button = root.querySelector('button');
150
- if (!button) {
151
- return;
152
- }
153
- button.setAttribute('aria-expanded', `${expanded}`);
154
- };
155
- this.slotToggleIcon = () => {
156
- const ionItem = this.getSlottedHeaderIonItem();
157
- if (!ionItem) {
158
- return;
159
- }
160
- const { toggleIconSlot, toggleIcon } = this;
161
- /**
162
- * Check if there already is a toggle icon.
163
- * If so, do not add another one.
164
- */
165
- const existingToggleIcon = ionItem.querySelector('.ion-accordion-toggle-icon');
166
- if (existingToggleIcon) {
167
- return;
168
- }
169
- const iconEl = document.createElement('ion-icon');
170
- iconEl.slot = toggleIconSlot;
171
- iconEl.lazy = false;
172
- iconEl.classList.add('ion-accordion-toggle-icon');
173
- iconEl.icon = toggleIcon;
174
- iconEl.setAttribute('aria-hidden', 'true');
175
- ionItem.appendChild(iconEl);
176
- };
177
- this.expandAccordion = () => {
178
- const { contentEl, contentElWrapper } = this;
179
- /**
180
- * If the content elements aren't available yet, just set the state.
181
- * This happens on initial render before the DOM is ready.
182
- */
183
- if (contentEl === undefined || contentElWrapper === undefined) {
184
- this.state = 4 /* AccordionState.Expanded */;
185
- this.hasEverBeenExpanded = true;
186
- return;
187
- }
188
- if (this.state === 4 /* AccordionState.Expanded */) {
189
- return;
190
- }
191
- if (this.currentRaf !== undefined) {
192
- cancelAnimationFrame(this.currentRaf);
193
- }
194
- /**
195
- * Mark that this accordion has been expanded at least once.
196
- * This allows subsequent expansions to animate.
197
- */
198
- this.hasEverBeenExpanded = true;
199
- if (this.shouldAnimate()) {
200
- raf(() => {
201
- this.state = 8 /* AccordionState.Expanding */;
202
- this.currentRaf = raf(async () => {
203
- const contentHeight = contentElWrapper.offsetHeight;
204
- const waitForTransition = transitionEndAsync(contentEl, 2000);
205
- contentEl.style.setProperty('max-height', `${contentHeight}px`);
206
- await waitForTransition;
207
- this.state = 4 /* AccordionState.Expanded */;
208
- contentEl.style.removeProperty('max-height');
209
- });
210
- });
211
- }
212
- else {
213
- this.state = 4 /* AccordionState.Expanded */;
214
- }
215
- };
216
- this.collapseAccordion = () => {
217
- const { contentEl } = this;
218
- /**
219
- * If the content element isn't available yet, just set the state.
220
- * This happens on initial render before the DOM is ready.
221
- */
222
- if (contentEl === undefined) {
223
- this.state = 1 /* AccordionState.Collapsed */;
224
- return;
225
- }
226
- if (this.state === 1 /* AccordionState.Collapsed */) {
227
- return;
228
- }
229
- if (this.currentRaf !== undefined) {
230
- cancelAnimationFrame(this.currentRaf);
231
- }
232
- if (this.shouldAnimate()) {
233
- this.currentRaf = raf(async () => {
234
- const contentHeight = contentEl.offsetHeight;
235
- contentEl.style.setProperty('max-height', `${contentHeight}px`);
236
- raf(async () => {
237
- const waitForTransition = transitionEndAsync(contentEl, 2000);
238
- this.state = 2 /* AccordionState.Collapsing */;
239
- await waitForTransition;
240
- this.state = 1 /* AccordionState.Collapsed */;
241
- contentEl.style.removeProperty('max-height');
242
- });
243
- });
244
- }
245
- else {
246
- this.state = 1 /* AccordionState.Collapsed */;
247
- }
248
- };
249
- /**
250
- * Helper function to determine if
251
- * something should animate.
252
- * If prefers-reduced-motion is set
253
- * then we should not animate, regardless
254
- * of what is set in the config.
255
- */
256
- this.shouldAnimate = () => {
257
- /**
258
- * Don't animate until after the first user interaction.
259
- * This prevents animations on initial load when accordions
260
- * start in an expanded or collapsed state programmatically.
261
- *
262
- * Additionally, don't animate the very first expansion even if
263
- * hasInteracted is true. This handles edge cases like React StrictMode
264
- * where effects run twice and might incorrectly mark as interacted.
265
- */
266
- if (!this.hasInteracted || !this.hasEverBeenExpanded) {
267
- return false;
268
- }
269
- if (typeof window === 'undefined') {
270
- return false;
271
- }
272
- const prefersReducedMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
273
- if (prefersReducedMotion) {
274
- return false;
275
- }
276
- const animated = config.get('animated', true);
277
- if (!animated) {
278
- return false;
279
- }
280
- if (this.accordionGroupEl && !this.accordionGroupEl.animated) {
281
- return false;
282
- }
283
- return true;
284
- };
285
- this.updateState = async () => {
286
- const accordionGroup = this.accordionGroupEl;
287
- const accordionValue = this.value;
288
- if (!accordionGroup) {
289
- return;
290
- }
291
- const value = accordionGroup.value;
292
- const shouldExpand = Array.isArray(value) ? value.includes(accordionValue) : value === accordionValue;
293
- if (shouldExpand) {
294
- this.expandAccordion();
295
- this.isNext = this.isPrevious = false;
296
- }
297
- else {
298
- this.collapseAccordion();
299
- /**
300
- * When using popout or inset,
301
- * the collapsed accordion items
302
- * may need additional border radius
303
- * applied. Check to see if the
304
- * next or previous accordion is selected.
305
- */
306
- const nextAccordion = this.getNextSibling();
307
- const nextAccordionValue = nextAccordion === null || nextAccordion === void 0 ? void 0 : nextAccordion.value;
308
- if (nextAccordionValue !== undefined) {
309
- this.isPrevious = Array.isArray(value) ? value.includes(nextAccordionValue) : value === nextAccordionValue;
310
- }
311
- const previousAccordion = this.getPreviousSibling();
312
- const previousAccordionValue = previousAccordion === null || previousAccordion === void 0 ? void 0 : previousAccordion.value;
313
- if (previousAccordionValue !== undefined) {
314
- this.isNext = Array.isArray(value) ? value.includes(previousAccordionValue) : value === previousAccordionValue;
315
- }
316
- }
317
- };
318
- this.getNextSibling = () => {
319
- if (!this.el) {
320
- return;
321
- }
322
- const nextSibling = this.el.nextElementSibling;
323
- if ((nextSibling === null || nextSibling === void 0 ? void 0 : nextSibling.tagName) !== 'ION-ACCORDION') {
324
- return;
325
- }
326
- return nextSibling;
327
- };
328
- this.getPreviousSibling = () => {
329
- if (!this.el) {
330
- return;
331
- }
332
- const previousSibling = this.el.previousElementSibling;
333
- if ((previousSibling === null || previousSibling === void 0 ? void 0 : previousSibling.tagName) !== 'ION-ACCORDION') {
334
- return;
335
- }
336
- return previousSibling;
337
- };
338
- }
339
- valueChanged() {
340
- this.updateState();
341
- }
342
- connectedCallback() {
343
- var _a;
344
- const accordionGroupEl = (this.accordionGroupEl = (_a = this.el) === null || _a === void 0 ? void 0 : _a.closest('ion-accordion-group'));
345
- if (accordionGroupEl) {
346
- this.updateState();
347
- addEventListener(accordionGroupEl, 'ionValueChange', this.accordionGroupUpdateHandler);
348
- }
349
- }
350
- disconnectedCallback() {
351
- const accordionGroupEl = this.accordionGroupEl;
352
- if (accordionGroupEl) {
353
- removeEventListener(accordionGroupEl, 'ionValueChange', this.accordionGroupUpdateHandler);
354
- }
355
- }
356
- componentDidLoad() {
357
- this.setItemDefaults();
358
- this.slotToggleIcon();
359
- /**
360
- * We need to wait a tick because we
361
- * just set ionItem.button = true and
362
- * the button has not have been rendered yet.
363
- */
364
- raf(() => {
365
- /**
366
- * Set aria label on button inside of ion-item
367
- * once the inner content has been rendered.
368
- */
369
- const expanded = this.state === 4 /* AccordionState.Expanded */ || this.state === 8 /* AccordionState.Expanding */;
370
- this.setAria(expanded);
371
- });
372
- }
373
- toggleExpanded() {
374
- const { accordionGroupEl, disabled, readonly, value, state } = this;
375
- if (disabled || readonly)
376
- return;
377
- /**
378
- * Mark that the user has interacted with the accordion.
379
- * This enables animations for all future state changes.
380
- */
381
- this.hasInteracted = true;
382
- if (accordionGroupEl) {
383
- /**
384
- * Because the accordion group may or may
385
- * not allow multiple accordions open, we
386
- * need to request the toggling of this
387
- * accordion and the accordion group will
388
- * make the decision on whether or not
389
- * to allow it.
390
- */
391
- const expand = state === 1 /* AccordionState.Collapsed */ || state === 2 /* AccordionState.Collapsing */;
392
- accordionGroupEl.requestAccordionToggle(value, expand);
393
- }
394
- }
395
- render() {
396
- const { disabled, readonly } = this;
397
- const mode = getIonMode(this);
398
- const expanded = this.state === 4 /* AccordionState.Expanded */ || this.state === 8 /* AccordionState.Expanding */;
399
- const headerPart = expanded ? 'header expanded' : 'header';
400
- const contentPart = expanded ? 'content expanded' : 'content';
401
- this.setAria(expanded);
402
- return (h(Host, { key: '9c90bce01eff7e5774a19f69c872f3761d66cf3c', class: {
403
- [mode]: true,
404
- 'accordion-expanding': this.state === 8 /* AccordionState.Expanding */,
405
- 'accordion-expanded': this.state === 4 /* AccordionState.Expanded */,
406
- 'accordion-collapsing': this.state === 2 /* AccordionState.Collapsing */,
407
- 'accordion-collapsed': this.state === 1 /* AccordionState.Collapsed */,
408
- 'accordion-next': this.isNext,
409
- 'accordion-previous': this.isPrevious,
410
- 'accordion-disabled': disabled,
411
- 'accordion-readonly': readonly,
412
- 'accordion-animated': this.shouldAnimate(),
413
- } }, h("div", { key: 'cab40d5bcf3c93fd78e70b6d3906a541e725837d', onClick: () => this.toggleExpanded(), id: "header", part: headerPart, "aria-controls": "content", ref: (headerEl) => (this.headerEl = headerEl) }, h("slot", { key: '672bc7fb3f9e18076b41e20fc9eaeab7cafcf3a2', name: "header" })), h("div", { key: 'fd777ca5b4ab04aa4f44c339d58c8cd987c52bcb', id: "content", part: contentPart, role: "region", "aria-labelledby": "header", ref: (contentEl) => (this.contentEl = contentEl) }, h("div", { key: '0aad70a71e2cd2c16b2e98fa0bdd40421d95fe16', id: "content-wrapper", ref: (contentElWrapper) => (this.contentElWrapper = contentElWrapper) }, h("slot", { key: 'd630e10ac7c56b4dbf943b523f26759b83aead55', name: "content" })))));
414
- }
415
- static get delegatesFocus() { return true; }
416
- get el() { return this; }
417
- static get watchers() { return {
418
- "value": ["valueChanged"]
419
- }; }
420
- static get style() { return {
421
- ios: accordionIosCss,
422
- md: accordionMdCss
423
- }; }
424
- }, [305, "ion-accordion", {
425
- "value": [1],
426
- "disabled": [4],
427
- "readonly": [4],
428
- "toggleIcon": [1, "toggle-icon"],
429
- "toggleIconSlot": [1, "toggle-icon-slot"],
430
- "state": [32],
431
- "isNext": [32],
432
- "isPrevious": [32],
433
- "hasInteracted": [32]
434
- }, undefined, {
435
- "value": ["valueChanged"]
436
- }]);
437
- let accordionIds = 0;
438
- function defineCustomElement$1() {
439
- if (typeof customElements === "undefined") {
440
- return;
441
- }
442
- const components = ["ion-accordion", "ion-icon"];
443
- components.forEach(tagName => { switch (tagName) {
444
- case "ion-accordion":
445
- if (!customElements.get(tagName)) {
446
- customElements.define(tagName, Accordion);
447
- }
448
- break;
449
- case "ion-icon":
450
- if (!customElements.get(tagName)) {
451
- defineCustomElement$2();
452
- }
453
- break;
454
- } });
455
- }
456
-
457
- const IonAccordion = Accordion;
458
- const defineCustomElement = defineCustomElement$1;
459
-
460
- export { IonAccordion, defineCustomElement };
4
+ import{proxyCustomElement as t,HTMLElement as i,h as o,Host as e,transformTag as n}from"@stencil/core/internal/client";import{g as s,r as a,a as c,b as d,t as r}from"./helpers.js";import{c as h}from"./index6.js";import{c as l}from"./index4.js";import{b as m}from"./ionic-global.js";import{d as p}from"./icon.js";const b=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.accordionGroupUpdateHandler=()=>{const t=this.accordionGroupEl;if(t){const i=t.value,o=this.value,e=Array.isArray(i)?i.includes(o):i===o;this.hasReceivedFirstUpdate&&e!==(4===this.state||8===this.state)&&(this.hasInteracted=!0),void 0!==i&&(this.hasReceivedFirstUpdate=!0)}this.updateState()},this.state=1,this.isNext=!1,this.isPrevious=!1,this.hasInteracted=!1,this.hasEverBeenExpanded=!1,this.hasReceivedFirstUpdate=!1,this.value="ion-accordion-"+u++,this.disabled=!1,this.readonly=!1,this.toggleIcon=h,this.toggleIconSlot="end",this.setItemDefaults=()=>{const t=this.getSlottedHeaderIonItem();t&&(t.button=!0,t.detail=!1,void 0===t.lines&&(t.lines="full"))},this.getSlottedHeaderIonItem=()=>{const{headerEl:t}=this;if(!t)return;const i=t.querySelector("slot");return i&&void 0!==i.assignedElements?i.assignedElements().find((t=>"ION-ITEM"===t.tagName)):void 0},this.setAria=(t=!1)=>{const i=this.getSlottedHeaderIonItem();if(!i)return;const o=s(i).querySelector("button");o&&o.setAttribute("aria-expanded",""+t)},this.slotToggleIcon=()=>{const t=this.getSlottedHeaderIonItem();if(!t)return;const{toggleIconSlot:i,toggleIcon:o}=this;if(t.querySelector(".ion-accordion-toggle-icon"))return;const e=document.createElement("ion-icon");e.slot=i,e.lazy=!1,e.classList.add("ion-accordion-toggle-icon"),e.icon=o,e.setAttribute("aria-hidden","true"),t.appendChild(e)},this.expandAccordion=()=>{const{contentEl:t,contentElWrapper:i}=this;if(void 0===t||void 0===i)return this.state=4,void(this.hasEverBeenExpanded=!0);4!==this.state&&(void 0!==this.currentRaf&&cancelAnimationFrame(this.currentRaf),this.hasEverBeenExpanded=!0,this.shouldAnimate()?a((()=>{this.state=8,this.currentRaf=a((async()=>{const o=i.offsetHeight,e=r(t,2e3);t.style.setProperty("max-height",o+"px"),await e,this.state=4,t.style.removeProperty("max-height")}))})):this.state=4)},this.collapseAccordion=()=>{const{contentEl:t}=this;void 0!==t?1!==this.state&&(void 0!==this.currentRaf&&cancelAnimationFrame(this.currentRaf),this.shouldAnimate()?this.currentRaf=a((async()=>{t.style.setProperty("max-height",t.offsetHeight+"px"),a((async()=>{const i=r(t,2e3);this.state=2,await i,this.state=1,t.style.removeProperty("max-height")}))})):this.state=1):this.state=1},this.shouldAnimate=()=>!(!this.hasInteracted||!this.hasEverBeenExpanded)&&("undefined"!=typeof window&&(!matchMedia("(prefers-reduced-motion: reduce)").matches&&!(!l.get("animated",!0)||this.accordionGroupEl&&!this.accordionGroupEl.animated))),this.updateState=async()=>{const t=this.accordionGroupEl,i=this.value;if(!t)return;const o=t.value;if(Array.isArray(o)?o.includes(i):o===i)this.expandAccordion(),this.isNext=this.isPrevious=!1;else{this.collapseAccordion();const t=this.getNextSibling(),i=null==t?void 0:t.value;void 0!==i&&(this.isPrevious=Array.isArray(o)?o.includes(i):o===i);const e=this.getPreviousSibling(),n=null==e?void 0:e.value;void 0!==n&&(this.isNext=Array.isArray(o)?o.includes(n):o===n)}},this.getNextSibling=()=>{if(!this.el)return;const t=this.el.nextElementSibling;return"ION-ACCORDION"===(null==t?void 0:t.tagName)?t:void 0},this.getPreviousSibling=()=>{if(!this.el)return;const t=this.el.previousElementSibling;return"ION-ACCORDION"===(null==t?void 0:t.tagName)?t:void 0}}valueChanged(){this.updateState()}connectedCallback(){var t;const i=this.accordionGroupEl=null===(t=this.el)||void 0===t?void 0:t.closest("ion-accordion-group");i&&(this.updateState(),c(i,"ionValueChange",this.accordionGroupUpdateHandler))}disconnectedCallback(){const t=this.accordionGroupEl;t&&d(t,"ionValueChange",this.accordionGroupUpdateHandler)}componentDidLoad(){this.setItemDefaults(),this.slotToggleIcon(),a((()=>{this.setAria(4===this.state||8===this.state)}))}toggleExpanded(){const{accordionGroupEl:t,disabled:i,readonly:o,value:e,state:n}=this;i||o||(this.hasInteracted=!0,!t)||t.requestAccordionToggle(e,1===n||2===n)}render(){const{disabled:t,readonly:i}=this,n=m(this),s=4===this.state||8===this.state,a=s?"header expanded":"header",c=s?"content expanded":"content";return this.setAria(s),o(e,{key:"9c90bce01eff7e5774a19f69c872f3761d66cf3c",class:{[n]:!0,"accordion-expanding":8===this.state,"accordion-expanded":4===this.state,"accordion-collapsing":2===this.state,"accordion-collapsed":1===this.state,"accordion-next":this.isNext,"accordion-previous":this.isPrevious,"accordion-disabled":t,"accordion-readonly":i,"accordion-animated":this.shouldAnimate()}},o("div",{key:"cab40d5bcf3c93fd78e70b6d3906a541e725837d",onClick:()=>this.toggleExpanded(),id:"header",part:a,"aria-controls":"content",ref:t=>this.headerEl=t},o("slot",{key:"672bc7fb3f9e18076b41e20fc9eaeab7cafcf3a2",name:"header"})),o("div",{key:"fd777ca5b4ab04aa4f44c339d58c8cd987c52bcb",id:"content",part:c,role:"region","aria-labelledby":"header",ref:t=>this.contentEl=t},o("div",{key:"0aad70a71e2cd2c16b2e98fa0bdd40421d95fe16",id:"content-wrapper",ref:t=>this.contentElWrapper=t},o("slot",{key:"d630e10ac7c56b4dbf943b523f26759b83aead55",name:"content"}))))}static get delegatesFocus(){return!0}get el(){return this}static get watchers(){return{value:[{valueChanged:0}]}}static get style(){return{ios:":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}:host(.accordion-next) ::slotted(ion-item[slot=header]){--border-width:0.55px 0px 0.55px 0px}",md:":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}"}}},[305,"ion-accordion",{value:[1],disabled:[4],readonly:[4],toggleIcon:[1,"toggle-icon"],toggleIconSlot:[1,"toggle-icon-slot"],state:[32],isNext:[32],isPrevious:[32],hasInteracted:[32]},void 0,{value:[{valueChanged:0}]}]);let u=0;const f=b,g=function(){"undefined"!=typeof customElements&&["ion-accordion","ion-icon"].forEach((t=>{switch(t){case"ion-accordion":customElements.get(n(t))||customElements.define(n(t),b);break;case"ion-icon":customElements.get(n(t))||p()}}))};export{f as IonAccordion,g as defineCustomElement}
@@ -1,9 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { A as ActionSheet, d as defineCustomElement$1 } from './action-sheet.js';
5
-
6
- const IonActionSheet = ActionSheet;
7
- const defineCustomElement = defineCustomElement$1;
8
-
9
- export { IonActionSheet, defineCustomElement };
4
+ import{A as o,d as s}from"./action-sheet.js";const t=o,a=s;export{t as IonActionSheet,a as defineCustomElement}
@@ -1,9 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { A as Alert, d as defineCustomElement$1 } from './alert.js';
5
-
6
- const IonAlert = Alert;
7
- const defineCustomElement = defineCustomElement$1;
8
-
9
- export { IonAlert, defineCustomElement };
4
+ import{A as o,d as r}from"./alert.js";const s=o,t=r;export{s as IonAlert,t as defineCustomElement}
@@ -1,131 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { proxyCustomElement, HTMLElement, Build, h, Host } from '@stencil/core/internal/client';
5
- import { shouldUseCloseWatcher } from './hardware-back-button.js';
6
- import { c as config, p as printIonWarning } from './index4.js';
7
- import { b as getIonMode, a as isPlatform } from './ionic-global.js';
8
-
9
- const appCss = "html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}";
10
-
11
- const App = /*@__PURE__*/ proxyCustomElement(class App extends HTMLElement {
12
- constructor(registerHost) {
13
- super();
14
- if (registerHost !== false) {
15
- this.__registerHost();
16
- }
17
- }
18
- componentDidLoad() {
19
- if (Build.isBrowser) {
20
- rIC(async () => {
21
- const isHybrid = isPlatform(window, 'hybrid');
22
- if (!config.getBoolean('_testing')) {
23
- import('./index7.js').then((module) => module.startTapClick(config));
24
- }
25
- if (config.getBoolean('statusTap', isHybrid)) {
26
- import('./status-tap.js').then((module) => module.startStatusTap());
27
- }
28
- if (config.getBoolean('inputShims', needInputShims())) {
29
- /**
30
- * needInputShims() ensures that only iOS and Android
31
- * platforms proceed into this block.
32
- */
33
- const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
34
- import('./input-shims.js').then((module) => module.startInputShims(config, platform));
35
- }
36
- const hardwareBackButtonModule = await import('./hardware-back-button.js');
37
- const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
38
- if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
39
- hardwareBackButtonModule.startHardwareBackButton();
40
- }
41
- else {
42
- /**
43
- * If an app sets hardwareBackButton: false and experimentalCloseWatcher: true
44
- * then the close watcher will not be used.
45
- */
46
- if (shouldUseCloseWatcher()) {
47
- printIonWarning('[ion-app] - experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used.');
48
- }
49
- hardwareBackButtonModule.blockHardwareBackButton();
50
- }
51
- if (typeof window !== 'undefined') {
52
- import('./keyboard.js').then((module) => module.startKeyboardAssist(window));
53
- }
54
- import('./focus-visible.js').then((module) => (this.focusVisible = module.startFocusVisible()));
55
- });
56
- }
57
- }
58
- /**
59
- * Used to set focus on an element that uses `ion-focusable`.
60
- * Do not use this if focusing the element as a result of a keyboard
61
- * event as the focus utility should handle this for us. This method
62
- * should be used when we want to programmatically focus an element as
63
- * a result of another user action. (Ex: We focus the first element
64
- * inside of a popover when the user presents it, but the popover is not always
65
- * presented as a result of keyboard action.)
66
- *
67
- * @param elements An array of HTML elements to set focus on.
68
- */
69
- async setFocus(elements) {
70
- if (this.focusVisible) {
71
- this.focusVisible.setFocus(elements);
72
- }
73
- }
74
- render() {
75
- const mode = getIonMode(this);
76
- return (h(Host, { key: '9be440c65819e4fa67c2c3c6477ab40b3ad3eed3', class: {
77
- [mode]: true,
78
- 'ion-page': true,
79
- 'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
80
- } }));
81
- }
82
- get el() { return this; }
83
- static get style() { return appCss; }
84
- }, [256, "ion-app", {
85
- "setFocus": [64]
86
- }]);
87
- const needInputShims = () => {
88
- /**
89
- * iOS always needs input shims
90
- */
91
- const needsShimsIOS = isPlatform(window, 'ios') && isPlatform(window, 'mobile');
92
- if (needsShimsIOS) {
93
- return true;
94
- }
95
- /**
96
- * Android only needs input shims when running
97
- * in the browser and only if the browser is using the
98
- * new Chrome 108+ resize behavior: https://developer.chrome.com/blog/viewport-resize-behavior/
99
- */
100
- const isAndroidMobileWeb = isPlatform(window, 'android') && isPlatform(window, 'mobileweb');
101
- if (isAndroidMobileWeb) {
102
- return true;
103
- }
104
- return false;
105
- };
106
- const rIC = (callback) => {
107
- if ('requestIdleCallback' in window) {
108
- window.requestIdleCallback(callback);
109
- }
110
- else {
111
- setTimeout(callback, 32);
112
- }
113
- };
114
- function defineCustomElement$1() {
115
- if (typeof customElements === "undefined") {
116
- return;
117
- }
118
- const components = ["ion-app"];
119
- components.forEach(tagName => { switch (tagName) {
120
- case "ion-app":
121
- if (!customElements.get(tagName)) {
122
- customElements.define(tagName, App);
123
- }
124
- break;
125
- } });
126
- }
127
-
128
- const IonApp = App;
129
- const defineCustomElement = defineCustomElement$1;
130
-
131
- export { IonApp, defineCustomElement };
4
+ import{proxyCustomElement as t,HTMLElement as e,Build as s,h as o,Host as i,transformTag as n}from"@stencil/core/internal/client";import{shouldUseCloseWatcher as a}from"./hardware-back-button.js";import{c as r,p as c}from"./index4.js";import{b as p,a as d}from"./ionic-global.js";const u=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost()}componentDidLoad(){s.isBrowser&&m((async()=>{const t=d(window,"hybrid");if(r.getBoolean("_testing")||import("./index7.js").then((t=>t.startTapClick(r))),r.getBoolean("statusTap",t)&&import("./status-tap.js").then((t=>t.startStatusTap())),r.getBoolean("inputShims",l())){const t=d(window,"ios")?"ios":"android";import("./input-shims.js").then((e=>e.startInputShims(r,t)))}const e=await import("./hardware-back-button.js"),s=t||a();r.getBoolean("hardwareBackButton",s)?e.startHardwareBackButton():(a()&&c("[ion-app] - experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used."),e.blockHardwareBackButton()),"undefined"!=typeof window&&import("./keyboard.js").then((t=>t.startKeyboardAssist(window))),import("./focus-visible.js").then((t=>this.focusVisible=t.startFocusVisible()))}))}async setFocus(t){this.focusVisible&&this.focusVisible.setFocus(t)}render(){const t=p(this);return o(i,{key:"9be440c65819e4fa67c2c3c6477ab40b3ad3eed3",class:{[t]:!0,"ion-page":!0,"force-statusbar-padding":r.getBoolean("_forceStatusbarPadding")}})}get el(){return this}static get style(){return"html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}"}},[0,"ion-app",{setFocus:[64]}]),l=()=>!(!d(window,"ios")||!d(window,"mobile"))||!(!d(window,"android")||!d(window,"mobileweb")),m=t=>{"requestIdleCallback"in window?window.requestIdleCallback(t):setTimeout(t,32)},w=u,b=function(){"undefined"!=typeof customElements&&["ion-app"].forEach((t=>{"ion-app"===t&&(customElements.get(n(t))||customElements.define(n(t),u))}))};export{w as IonApp,b as defineCustomElement}