@ionic/core 8.7.17-dev.11771870864.19b2cde1 → 8.7.17-dev.11771959013.18adabe2

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 (525) 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 +62 -221
  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 +180 -54
  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 +11 -108
  278. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -54
  279. package/dist/collection/components/modal/modal.js +58 -112
  280. package/dist/collection/components/nav/nav.js +89 -45
  281. package/dist/collection/components/nav-link/nav-link.js +9 -5
  282. package/dist/collection/components/note/note.js +2 -1
  283. package/dist/collection/components/picker/picker.js +2 -1
  284. package/dist/collection/components/picker-column/picker-column.js +6 -3
  285. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
  286. package/dist/collection/components/picker-legacy/picker.js +24 -12
  287. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
  288. package/dist/collection/components/popover/popover.js +33 -17
  289. package/dist/collection/components/progress-bar/progress-bar.js +2 -1
  290. package/dist/collection/components/radio/radio.js +2 -1
  291. package/dist/collection/components/radio-group/radio-group.js +6 -3
  292. package/dist/collection/components/range/range.js +189 -50
  293. package/dist/collection/components/refresher/refresher.js +73 -5
  294. package/dist/collection/components/refresher-content/refresher-content.js +8 -4
  295. package/dist/collection/components/reorder-group/reorder-group.js +6 -3
  296. package/dist/collection/components/route/route.js +4 -2
  297. package/dist/collection/components/router/router.js +10 -5
  298. package/dist/collection/components/router-link/router-link.js +6 -3
  299. package/dist/collection/components/router-outlet/router-outlet.js +18 -9
  300. package/dist/collection/components/searchbar/searchbar.js +11 -6
  301. package/dist/collection/components/segment/segment.js +10 -5
  302. package/dist/collection/components/segment-button/segment-button.js +4 -2
  303. package/dist/collection/components/segment-view/segment-view.js +2 -1
  304. package/dist/collection/components/select/select.js +10 -5
  305. package/dist/collection/components/select-modal/select-modal.js +2 -1
  306. package/dist/collection/components/select-popover/select-popover.js +2 -1
  307. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
  308. package/dist/collection/components/spinner/spinner.js +4 -2
  309. package/dist/collection/components/tab/tab.js +4 -2
  310. package/dist/collection/components/tab-bar/tab-bar.js +4 -2
  311. package/dist/collection/components/tab-button/tab-button.js +4 -2
  312. package/dist/collection/components/tabs/tabs.js +4 -2
  313. package/dist/collection/components/text/text.js +2 -1
  314. package/dist/collection/components/textarea/textarea.js +6 -3
  315. package/dist/collection/components/title/title.js +4 -2
  316. package/dist/collection/components/toast/toast.js +34 -17
  317. package/dist/collection/components/toggle/toggle.js +4 -2
  318. package/dist/collection/components/toolbar/toolbar.js +2 -1
  319. package/dist/docs.d.ts +37 -0
  320. package/dist/docs.json +971 -442
  321. package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
  322. package/dist/esm/app-globals-DhZjtldk.js +9 -0
  323. package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
  324. package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
  325. package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
  326. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
  327. package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
  328. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
  329. package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
  330. package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
  331. package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
  332. package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
  333. package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
  334. package/dist/esm/index.js +12 -12
  335. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-C1hAaHcP.js} +3 -3
  336. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
  337. package/dist/esm/ion-accordion_2.entry.js +23 -15
  338. package/dist/esm/ion-action-sheet.entry.js +21 -15
  339. package/dist/esm/ion-alert.entry.js +25 -17
  340. package/dist/esm/ion-app_8.entry.js +44 -40
  341. package/dist/esm/ion-avatar_3.entry.js +12 -12
  342. package/dist/esm/ion-back-button.entry.js +7 -7
  343. package/dist/esm/ion-backdrop.entry.js +6 -6
  344. package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
  345. package/dist/esm/ion-button_2.entry.js +36 -18
  346. package/dist/esm/ion-card_5.entry.js +23 -23
  347. package/dist/esm/ion-checkbox.entry.js +7 -7
  348. package/dist/esm/ion-chip.entry.js +6 -6
  349. package/dist/esm/ion-col_3.entry.js +8 -8
  350. package/dist/esm/ion-datetime-button.entry.js +8 -8
  351. package/dist/esm/ion-datetime_3.entry.js +67 -39
  352. package/dist/esm/ion-fab_3.entry.js +17 -13
  353. package/dist/esm/ion-img.entry.js +8 -6
  354. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
  355. package/dist/esm/ion-input-otp.entry.js +16 -10
  356. package/dist/esm/ion-input-password-toggle.entry.js +9 -7
  357. package/dist/esm/ion-input.entry.js +21 -13
  358. package/dist/esm/ion-item-option_3.entry.js +17 -15
  359. package/dist/esm/ion-item_8.entry.js +42 -36
  360. package/dist/esm/ion-loading.entry.js +18 -14
  361. package/dist/esm/ion-menu_3.entry.js +30 -22
  362. package/dist/esm/ion-modal.entry.js +62 -221
  363. package/dist/esm/ion-nav_2.entry.js +14 -10
  364. package/dist/esm/ion-picker-column-option.entry.js +10 -8
  365. package/dist/esm/ion-picker-column.entry.js +11 -7
  366. package/dist/esm/ion-picker.entry.js +6 -6
  367. package/dist/esm/ion-popover.entry.js +21 -15
  368. package/dist/esm/ion-progress-bar.entry.js +7 -7
  369. package/dist/esm/ion-radio_2.entry.js +17 -13
  370. package/dist/esm/ion-range.entry.js +180 -54
  371. package/dist/esm/ion-refresher_2.entry.js +45 -14
  372. package/dist/esm/ion-reorder_2.entry.js +13 -11
  373. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  374. package/dist/esm/ion-route_4.entry.js +20 -10
  375. package/dist/esm/ion-searchbar.entry.js +22 -12
  376. package/dist/esm/ion-segment-content.entry.js +3 -3
  377. package/dist/esm/ion-segment-view.entry.js +5 -5
  378. package/dist/esm/ion-segment_2.entry.js +26 -16
  379. package/dist/esm/ion-select-modal.entry.js +12 -12
  380. package/dist/esm/ion-select_3.entry.js +29 -21
  381. package/dist/esm/ion-spinner.entry.js +4 -4
  382. package/dist/esm/ion-split-pane.entry.js +15 -9
  383. package/dist/esm/ion-tab-bar_2.entry.js +14 -12
  384. package/dist/esm/ion-tab_2.entry.js +10 -8
  385. package/dist/esm/ion-text.entry.js +4 -4
  386. package/dist/esm/ion-textarea.entry.js +18 -12
  387. package/dist/esm/ion-toast.entry.js +21 -15
  388. package/dist/esm/ion-toggle.entry.js +10 -8
  389. package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
  390. package/dist/esm/ionic.js +6 -6
  391. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
  392. package/dist/esm/loader.js +5 -5
  393. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
  394. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
  395. package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
  396. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
  397. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
  398. package/dist/html.html-data.json +109 -109
  399. package/dist/ionic/index.esm.js +1 -1
  400. package/dist/ionic/ionic.esm.js +1 -1
  401. package/dist/ionic/{p-316c0420.entry.js → p-025d2d32.entry.js} +1 -1
  402. package/dist/ionic/p-02acdef4.entry.js +4 -0
  403. package/dist/ionic/p-04e2c388.entry.js +4 -0
  404. package/dist/ionic/{p-370e4237.entry.js → p-074344b8.entry.js} +1 -1
  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-77de9c60.entry.js +4 -0
  424. package/dist/ionic/{p-51a60e0f.entry.js → p-7c72d482.entry.js} +1 -1
  425. package/dist/ionic/p-7d20f4f8.entry.js +4 -0
  426. package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
  427. package/dist/ionic/p-91fc7352.entry.js +4 -0
  428. package/dist/ionic/p-93845421.entry.js +4 -0
  429. package/dist/ionic/{p-3a6caca9.entry.js → p-964090ef.entry.js} +1 -1
  430. package/dist/ionic/p-96a2e768.entry.js +4 -0
  431. package/dist/ionic/{p-d126e8d3.entry.js → p-9745651b.entry.js} +1 -1
  432. package/dist/ionic/{p-f9061316.entry.js → p-9802c88e.entry.js} +1 -1
  433. package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
  434. package/dist/ionic/p-9d1676bb.entry.js +4 -0
  435. package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
  436. package/dist/ionic/{p-CwgG81ZD.js → p-B8xlpH8p.js} +1 -1
  437. package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
  438. package/dist/ionic/p-BW_TRJm8.js +4 -0
  439. package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
  440. package/dist/ionic/{p-D0dMcSkw.js → p-BvFYtOdE.js} +1 -1
  441. package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
  442. package/dist/ionic/{p-BYEqWnSg.js → p-C0JvVFMv.js} +1 -1
  443. package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
  444. package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
  445. package/dist/ionic/{p-D-eFFUkA.js → p-CmFz1Mjc.js} +1 -1
  446. package/dist/ionic/p-CtA-yJYy.js +4 -0
  447. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  448. package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
  449. package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
  450. package/dist/ionic/{p-DdR6rpbR.js → p-DTPR1Wpn.js} +1 -1
  451. package/dist/ionic/{p-DCv9sLH2.js → p-DjriolRs.js} +1 -1
  452. package/dist/ionic/p-DtVZDHlS.js +4 -0
  453. package/dist/ionic/{p-QHYY4sjU.js → p-GWUGgWx6.js} +1 -1
  454. package/dist/ionic/p-IGIE5vDm.js +5 -0
  455. package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
  456. package/dist/ionic/{p-86f53961.entry.js → p-a287e18e.entry.js} +1 -1
  457. package/dist/ionic/p-a805674e.entry.js +4 -0
  458. package/dist/ionic/p-a81ae2cd.entry.js +4 -0
  459. package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
  460. package/dist/ionic/{p-dbbe606a.entry.js → p-b2d5238b.entry.js} +1 -1
  461. package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
  462. package/dist/ionic/{p-72c38b88.entry.js → p-b4d52b58.entry.js} +1 -1
  463. package/dist/ionic/{p-2a939845.entry.js → p-b67a2114.entry.js} +1 -1
  464. package/dist/ionic/{p-c73627c8.entry.js → p-bced1f3e.entry.js} +1 -1
  465. package/dist/ionic/{p-9a2d390d.entry.js → p-c1c9b2bb.entry.js} +1 -1
  466. package/dist/ionic/{p-f8f22cc0.entry.js → p-c3e65e45.entry.js} +1 -1
  467. package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
  468. package/dist/ionic/p-cbf245b5.entry.js +4 -0
  469. package/dist/ionic/p-d68b665a.entry.js +4 -0
  470. package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
  471. package/dist/ionic/p-efe86ed9.entry.js +4 -0
  472. package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
  473. package/dist/ionic/{p-DbQ5QkTP.js → p-gbVXD275.js} +1 -1
  474. package/dist/ionic/p-hNN3VvaC.js +4 -0
  475. package/dist/types/components/datetime/datetime.d.ts +9 -0
  476. package/dist/types/components/header/header.utils.d.ts +2 -1
  477. package/dist/types/components/modal/gestures/sheet.d.ts +2 -2
  478. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +2 -2
  479. package/dist/types/components/modal/modal-interface.d.ts +0 -7
  480. package/dist/types/components/modal/modal.d.ts +1 -17
  481. package/dist/types/components/range/range-interface.d.ts +1 -0
  482. package/dist/types/components/range/range.d.ts +33 -4
  483. package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
  484. package/dist/types/components/refresher/refresher.d.ts +16 -3
  485. package/dist/types/components.d.ts +929 -206
  486. package/dist/types/interface.d.ts +1 -1
  487. package/dist/types/stencil-public-runtime.d.ts +126 -14
  488. package/dist/types/utils/gesture/listener.d.ts +2 -1
  489. package/hydrate/index.d.ts +12 -0
  490. package/hydrate/index.js +5375 -1550
  491. package/hydrate/index.mjs +5374 -1551
  492. package/package.json +2 -2
  493. package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
  494. package/dist/esm/app-globals-BDSf8fOA.js +0 -8
  495. package/dist/ionic/p-012212e4.entry.js +0 -4
  496. package/dist/ionic/p-074839fc.entry.js +0 -4
  497. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  498. package/dist/ionic/p-0f418a37.entry.js +0 -4
  499. package/dist/ionic/p-11518b31.entry.js +0 -4
  500. package/dist/ionic/p-1838bed5.entry.js +0 -4
  501. package/dist/ionic/p-29721c43.entry.js +0 -4
  502. package/dist/ionic/p-31f7095f.entry.js +0 -4
  503. package/dist/ionic/p-34642fa1.entry.js +0 -4
  504. package/dist/ionic/p-35696017.entry.js +0 -4
  505. package/dist/ionic/p-40c261a3.entry.js +0 -4
  506. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  507. package/dist/ionic/p-6241ce47.entry.js +0 -4
  508. package/dist/ionic/p-639dd543.entry.js +0 -4
  509. package/dist/ionic/p-6444c606.entry.js +0 -4
  510. package/dist/ionic/p-6d070558.entry.js +0 -4
  511. package/dist/ionic/p-7268efa5.entry.js +0 -4
  512. package/dist/ionic/p-7babec72.entry.js +0 -4
  513. package/dist/ionic/p-BKc55Xev.js +0 -4
  514. package/dist/ionic/p-Bmgaetn_.js +0 -4
  515. package/dist/ionic/p-C8IsBmNU.js +0 -5
  516. package/dist/ionic/p-CJxh_yLS.js +0 -4
  517. package/dist/ionic/p-DUt5fQmA.js +0 -4
  518. package/dist/ionic/p-DZRJwG4S.js +0 -4
  519. package/dist/ionic/p-a127bee2.entry.js +0 -4
  520. package/dist/ionic/p-b3d44509.entry.js +0 -4
  521. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  522. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  523. package/dist/ionic/p-d3014190.entry.js +0 -4
  524. package/dist/ionic/p-db82892c.entry.js +0 -4
  525. package/dist/ionic/p-e1d1f3cc.entry.js +0 -4
@@ -1,22 +1,22 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, f as printIonWarning, w as writeTask, e as config, h, d as Host, g as getElement } from './index-C8IsBmNU.js';
5
- import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-Bs3kT4bc.js';
6
- import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-BYawdMXj.js';
7
- import { e as clamp, g as getElementRoot, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-DEn3pfjm.js';
4
+ import { r as registerInstance, c as createEvent, f as printIonWarning, w as writeTask, e as config, h, d as Host, g as getElement } from './index-IGIE5vDm.js';
5
+ import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-hW6eNZ3o.js';
6
+ import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-CyxE1S_P.js';
7
+ import { e as clamp, g as getElementRoot, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-Tl8jw6S2.js';
8
8
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
9
9
  import { g as getCapacitor } from './capacitor-CFERIeaU.js';
10
- import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-D5YkFThA.js';
10
+ import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-F8GHPo-e.js';
11
11
  import { g as getClassMap } from './theme-DiVJyqlX.js';
12
- import { e as deepReady, w as waitForMount } from './index-r2D9DEro.js';
13
- import { b as getIonMode } from './ionic-global-CDrldh-5.js';
12
+ import { e as deepReady, w as waitForMount } from './index-B-hkiOUh.js';
13
+ import { b as getIonMode } from './ionic-global-DfbeLwcV.js';
14
14
  import { KEYBOARD_DID_OPEN } from './keyboard-ywgs5efA.js';
15
- import { c as createAnimation } from './animation-Dt8bGnA-.js';
15
+ import { c as createAnimation } from './animation-CnGMT4ji.js';
16
16
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
17
17
  import { createGesture } from './index-CfgBF1SE.js';
18
18
  import { w as win } from './index-ZjP4CjeZ.js';
19
- import './hardware-back-button-CPLxO-Ev.js';
19
+ import './hardware-back-button-CTe4XmL7.js';
20
20
  import './gesture-controller-BTEOs1at.js';
21
21
  import './keyboard-CUw4ekVy.js';
22
22
 
@@ -247,7 +247,7 @@ const calculateSpringStep = (t) => {
247
247
  const SwipeToCloseDefaults = {
248
248
  MIN_PRESENTING_SCALE: 0.915,
249
249
  };
250
- const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onDragStart, onDragMove, onDragEnd) => {
250
+ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) => {
251
251
  /**
252
252
  * The step value at which a card modal
253
253
  * is eligible for dismissing via gesture.
@@ -357,7 +357,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
357
357
  disableContentScrollY(contentEl);
358
358
  }
359
359
  animation.progressStart(true, isOpen ? 1 : 0);
360
- onDragStart();
361
360
  };
362
361
  const onMove = (detail) => {
363
362
  const { deltaY } = detail;
@@ -425,13 +424,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
425
424
  setCardStatusBarDark();
426
425
  }
427
426
  lastStep = clampedStep;
428
- const eventDetail = {
429
- currentY: detail.currentY,
430
- deltaY: detail.deltaY,
431
- velocityY: detail.velocityY,
432
- progress: calculateProgress(el, detail.deltaY),
433
- };
434
- onDragMove(eventDetail);
435
427
  };
436
428
  const onEnd = (detail) => {
437
429
  const velocity = detail.velocityY;
@@ -490,13 +482,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
490
482
  else if (shouldComplete) {
491
483
  onDismiss();
492
484
  }
493
- const eventDetail = {
494
- currentY: detail.currentY,
495
- deltaY: detail.deltaY,
496
- velocityY: detail.velocityY,
497
- progress: calculateProgress(el, detail.deltaY),
498
- };
499
- onDragEnd(eventDetail);
500
485
  };
501
486
  const gesture = createGesture({
502
487
  el,
@@ -514,44 +499,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
514
499
  const computeDuration = (remaining, velocity) => {
515
500
  return clamp(400, remaining / Math.abs(velocity * 1.1), 500);
516
501
  };
517
- /**
518
- * Calculates the progress of the swipe gesture.
519
- *
520
- * The progress is a value between 0 and 1 that represents how far
521
- * the swipe has progressed towards closing the modal.
522
- *
523
- * A value closer to 1 means the modal is closer to being opened,
524
- * while a value closer to 0 means the modal is closer to being closed.
525
- *
526
- * @param el The modal
527
- * @param deltaY The change in Y position (positive when dragging down, negative when dragging up)
528
- * @returns The progress of the swipe gesture
529
- */
530
- const calculateProgress = (el, deltaY) => {
531
- const windowHeight = window.innerHeight;
532
- // Position when fully open
533
- const modalTop = el.getBoundingClientRect().top;
534
- /**
535
- * The distance between the top of the modal and the bottom of the screen
536
- * is the total distance the modal needs to travel to be fully closed.
537
- */
538
- const totalDistance = windowHeight - modalTop;
539
- /**
540
- * The pull percentage is how far the user has swiped compared to the total
541
- * distance needed to close the modal.
542
- */
543
- const pullPercentage = deltaY / totalDistance;
544
- /**
545
- * The progress is the inverse of the pull percentage because
546
- * when the user starts swiping up, the progress should be close to 1,
547
- * and when the user has swiped all the way down, the progress should be
548
- * close to 0.
549
- */
550
- const progress = 1 - pullPercentage;
551
- // Round to the nearest thousandth to avoid returning very small decimal
552
- const roundedProgress = Math.round(progress * 1000) / 1000;
553
- return Math.max(0, Math.min(1, roundedProgress));
554
- };
555
502
 
556
503
  const createSheetEnterAnimation = (opts) => {
557
504
  const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
@@ -1000,7 +947,7 @@ const mdLeaveAnimation = (baseEl, opts) => {
1000
947
  return baseAnimation;
1001
948
  };
1002
949
 
1003
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
950
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
1004
951
  // Defaults for the sheet swipe animation
1005
952
  const defaultBackdrop = [
1006
953
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
@@ -1263,7 +1210,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1263
1210
  baseEl.focus();
1264
1211
  });
1265
1212
  animation.progressStart(true, 1 - currentBreakpoint);
1266
- onDragStart();
1267
1213
  };
1268
1214
  const onMove = (detail) => {
1269
1215
  /**
@@ -1332,15 +1278,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1332
1278
  : step;
1333
1279
  offset = clamp(0.0001, processedStep, maxStep);
1334
1280
  animation.progressStep(offset);
1335
- const closest = calculateClosestBreakpoint(detail.velocityY, detail.deltaY);
1336
- const eventDetail = {
1337
- currentY: detail.currentY,
1338
- deltaY: detail.deltaY,
1339
- velocityY: detail.velocityY,
1340
- progress: calculateProgress(detail.currentY),
1341
- currentBreakpoint: closest,
1342
- };
1343
- onDragMove(eventDetail);
1344
1281
  };
1345
1282
  const onEnd = (detail) => {
1346
1283
  /**
@@ -1359,7 +1296,16 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1359
1296
  swapFooterPosition('stationary');
1360
1297
  return;
1361
1298
  }
1362
- const closest = calculateClosestBreakpoint(detail.velocityY, detail.deltaY);
1299
+ /**
1300
+ * When the gesture releases, we need to determine
1301
+ * the closest breakpoint to snap to.
1302
+ */
1303
+ const velocity = detail.velocityY;
1304
+ const threshold = (detail.deltaY + velocity * 350) / height;
1305
+ const diff = currentBreakpoint - threshold;
1306
+ const closest = breakpoints.reduce((a, b) => {
1307
+ return Math.abs(b - diff) < Math.abs(a - diff) ? b : a;
1308
+ });
1363
1309
  moveSheetToBreakpoint({
1364
1310
  breakpoint: closest,
1365
1311
  breakpointOffset: offset,
@@ -1370,14 +1316,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1370
1316
  */
1371
1317
  animated: true,
1372
1318
  });
1373
- const eventDetail = {
1374
- currentY: detail.currentY,
1375
- deltaY: detail.deltaY,
1376
- velocityY: detail.velocityY,
1377
- progress: calculateProgress(detail.currentY),
1378
- currentBreakpoint: closest,
1379
- };
1380
- onDragEnd(eventDetail);
1381
1319
  };
1382
1320
  const moveSheetToBreakpoint = (options) => {
1383
1321
  const { breakpoint, canDismiss, breakpointOffset, animated } = options;
@@ -1517,94 +1455,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1517
1455
  .progressEnd(1, 0, animated ? 500 : 0);
1518
1456
  });
1519
1457
  };
1520
- /**
1521
- * Calculates the closest breakpoint based on the current velocity and deltaY.
1522
- * This determines where the sheet should snap to when the user releases the
1523
- * gesture.
1524
- *
1525
- * @param velocityY The current velocity of the gesture in the Y direction.
1526
- * @param deltaY The change in Y position since the gesture started.
1527
- * @returns The closest breakpoint value.
1528
- */
1529
- const calculateClosestBreakpoint = (velocityY, deltaY) => {
1530
- const threshold = (deltaY + velocityY * 350) / height;
1531
- const diff = currentBreakpoint - threshold;
1532
- const closest = breakpoints.reduce((a, b) => {
1533
- return Math.abs(b - diff) < Math.abs(a - diff) ? b : a;
1534
- });
1535
- return closest;
1536
- };
1537
- /**
1538
- * Calculates the progress of the swipe gesture.
1539
- *
1540
- * The progress is a value between 0 and 1 that represents how far
1541
- * the swipe has progressed towards closing the modal.
1542
- *
1543
- * A value closer to 1 means the modal is closer to being opened,
1544
- * while a value closer to 0 means the modal is closer to being closed.
1545
- *
1546
- * @param currentY The current Y position of the gesture
1547
- * @returns The progress of the sheet gesture
1548
- */
1549
- const calculateProgress = (currentY) => {
1550
- const minBreakpoint = breakpoints[0];
1551
- const maxBreakpoint = breakpoints[breakpoints.length - 1];
1552
- // Convert breakpoints to pixel Y coordinates
1553
- /**
1554
- * The lowest point the sheet can be dragged to aka the point at which
1555
- * the sheet is fully closed.
1556
- */
1557
- const maxY = convertBreakpointToY(minBreakpoint);
1558
- /**
1559
- * The highest point the sheet can be dragged to aka the point at which
1560
- * the sheet is fully open.
1561
- */
1562
- const minY = convertBreakpointToY(maxBreakpoint);
1563
- // The total distance between the fully open and fully closed positions.
1564
- const totalDistance = maxY - minY;
1565
- // The distance from the current position to the fully closed position.
1566
- const distanceFromBottom = maxY - currentY;
1567
- /**
1568
- * The progress represents how far the sheet is from the bottom relative
1569
- * to the total distance. When the user starts swiping up, the progress
1570
- * should be close to 1, and when the user has swiped all the way down,
1571
- * the progress should be close to 0.
1572
- */
1573
- const progress = distanceFromBottom / totalDistance;
1574
- // Round to the nearest thousandth to avoid returning very small decimal
1575
- const roundedProgress = Math.round(progress * 1000) / 1000;
1576
- return Math.max(0, Math.min(1, roundedProgress));
1577
- };
1578
- /**
1579
- * Converts a breakpoint value (0 to 1) into a pixel Y coordinate
1580
- * on the screen.
1581
- *
1582
- * @param breakpoint The breakpoint value (e.g., 0.5 for half-open)
1583
- * @returns The pixel Y coordinate on the screen
1584
- */
1585
- const convertBreakpointToY = (breakpoint) => {
1586
- const rect = baseEl.getBoundingClientRect();
1587
- const modalHeight = rect.height;
1588
- // The bottom of the screen.
1589
- const viewportBottom = window.innerHeight;
1590
- /**
1591
- * The active height is how much of the modal is actually showing
1592
- * on the screen for this specific breakpoint.
1593
- */
1594
- const activeHeight = modalHeight * breakpoint;
1595
- /**
1596
- * To find the Y coordinate, start at the bottom of the screen
1597
- * and move up by the active height of the modal.
1598
- *
1599
- * A breakpoint of 1.0 means the active height is the full modal height
1600
- * (fully open). A breakpoint of 0.0 means the active height is 0
1601
- * (fully closed).
1602
- *
1603
- * Since screen Y coordinates get smaller as you go up, we subtract the
1604
- * active height from the viewport bottom.
1605
- */
1606
- return viewportBottom - activeHeight;
1607
- };
1608
1458
  const gesture = createGesture({
1609
1459
  el: wrapperEl,
1610
1460
  gestureName: 'modalSheet',
@@ -1622,9 +1472,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1622
1472
  };
1623
1473
  };
1624
1474
 
1625
- const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}";
1475
+ const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1626
1476
 
1627
- const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}";
1477
+ const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1628
1478
 
1629
1479
  const Modal = class {
1630
1480
  constructor(hostRef) {
@@ -1639,9 +1489,6 @@ const Modal = class {
1639
1489
  this.willDismissShorthand = createEvent(this, "willDismiss", 7);
1640
1490
  this.didDismissShorthand = createEvent(this, "didDismiss", 7);
1641
1491
  this.ionMount = createEvent(this, "ionMount", 7);
1642
- this.ionDragStart = createEvent(this, "ionDragStart", 7);
1643
- this.ionDragMove = createEvent(this, "ionDragMove", 7);
1644
- this.ionDragEnd = createEvent(this, "ionDragEnd", 7);
1645
1492
  this.lockController = createLockController();
1646
1493
  this.triggerController = createTriggerController();
1647
1494
  this.coreDelegate = CoreDelegate();
@@ -2109,7 +1956,32 @@ const Modal = class {
2109
1956
  return;
2110
1957
  }
2111
1958
  const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
2112
- this.gesture = createSwipeToCloseGesture(el, ani, statusBarStyle, () => this.cardOnDismiss(), () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
1959
+ this.gesture = createSwipeToCloseGesture(el, ani, statusBarStyle, () => {
1960
+ /**
1961
+ * While the gesture animation is finishing
1962
+ * it is possible for a user to tap the backdrop.
1963
+ * This would result in the dismiss animation
1964
+ * being played again. Typically this is avoided
1965
+ * by setting `presented = false` on the overlay
1966
+ * component; however, we cannot do that here as
1967
+ * that would prevent the element from being
1968
+ * removed from the DOM.
1969
+ */
1970
+ this.gestureAnimationDismissing = true;
1971
+ /**
1972
+ * Reset the status bar style as the dismiss animation
1973
+ * starts otherwise the status bar will be the wrong
1974
+ * color for the duration of the dismiss animation.
1975
+ * The dismiss method does this as well, but
1976
+ * in this case it's only called once the animation
1977
+ * has finished.
1978
+ */
1979
+ setCardStatusBarDefault(this.statusBarStyle);
1980
+ this.animation.onFinish(async () => {
1981
+ await this.dismiss(undefined, GESTURE);
1982
+ this.gestureAnimationDismissing = false;
1983
+ });
1984
+ });
2113
1985
  this.gesture.enable(true);
2114
1986
  }
2115
1987
  initSheetGesture() {
@@ -2130,7 +2002,7 @@ const Modal = class {
2130
2002
  this.currentBreakpoint = breakpoint;
2131
2003
  this.ionBreakpointDidChange.emit({ breakpoint });
2132
2004
  }
2133
- }, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2005
+ });
2134
2006
  this.gesture = gesture;
2135
2007
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
2136
2008
  this.gesture.enable(true);
@@ -2227,32 +2099,6 @@ const Modal = class {
2227
2099
  this.gestureAnimationDismissing = false;
2228
2100
  });
2229
2101
  }
2230
- cardOnDismiss() {
2231
- /**
2232
- * While the gesture animation is finishing
2233
- * it is possible for a user to tap the backdrop.
2234
- * This would result in the dismiss animation
2235
- * being played again. Typically this is avoided
2236
- * by setting `presented = false` on the overlay
2237
- * component; however, we cannot do that here as
2238
- * that would prevent the element from being
2239
- * removed from the DOM.
2240
- */
2241
- this.gestureAnimationDismissing = true;
2242
- /**
2243
- * Reset the status bar style as the dismiss animation
2244
- * starts otherwise the status bar will be the wrong
2245
- * color for the duration of the dismiss animation.
2246
- * The dismiss method does this as well, but
2247
- * in this case it's only called once the animation
2248
- * has finished.
2249
- */
2250
- setCardStatusBarDefault(this.statusBarStyle);
2251
- this.animation.onFinish(async () => {
2252
- await this.dismiss(undefined, GESTURE);
2253
- this.gestureAnimationDismissing = false;
2254
- });
2255
- }
2256
2102
  /**
2257
2103
  * Dismiss the modal overlay after it has been presented.
2258
2104
  * This is a no-op if the overlay has not been presented yet. If you want
@@ -2568,15 +2414,6 @@ const Modal = class {
2568
2414
  (_a = this.parentRemovalObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
2569
2415
  this.parentRemovalObserver = undefined;
2570
2416
  }
2571
- onDragStart() {
2572
- this.ionDragStart.emit();
2573
- }
2574
- onDragMove(detail) {
2575
- this.ionDragMove.emit(detail);
2576
- }
2577
- onDragEnd(detail) {
2578
- this.ionDragEnd.emit(detail);
2579
- }
2580
2417
  render() {
2581
2418
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
2582
2419
  const showHandle = handle !== false && isSheetModal;
@@ -2584,25 +2421,29 @@ const Modal = class {
2584
2421
  const isCardModal = presentingElement !== undefined && mode === 'ios';
2585
2422
  const isHandleCycle = handleBehavior === 'cycle';
2586
2423
  const isSheetModalWithHandle = isSheetModal && showHandle;
2587
- return (h(Host, Object.assign({ key: 'bca3cbdb2ce8e5127d27eae7494c434aaeddaf88', "no-router": true,
2424
+ return (h(Host, Object.assign({ key: '87328006ea6c75ebc518ace300438492a567223e', "no-router": true,
2588
2425
  // Allow the modal to be navigable when the handle is focusable
2589
2426
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2590
2427
  zIndex: `${20000 + this.overlayIndex}`,
2591
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: 'b1c4112123d84d8a9b9d455bcc17d884f99d9f28', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '080c8e6d37b311a1b5ad2655d99f18668abae211', class: "modal-shadow" }), h("div", Object.assign({ key: '8ba05e9520b1b5529bf0caeb766da5bf612d4d14',
2428
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: 'ee94ff8e09b691dd4ad4e4db1720f06bc3c5a469', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'bffd69b4635c22d9f249725bd952c1e93d5615c7', class: "modal-shadow" }), h("div", Object.assign({ key: '1d394d3c68916e464ff1fbf5242419f4a3d3cca1',
2592
2429
  /*
2593
2430
  role and aria-modal must be used on the
2594
2431
  same element. They must also be set inside the
2595
2432
  shadow DOM otherwise ion-button will not be highlighted
2596
2433
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
2597
2434
  */
2598
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '2d2d5d731f55755f32ebcbf557f97486dc6202a6', class: "modal-handle",
2435
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '2dcf58792018e557e0c323baad2d672bc99c0bb1', class: "modal-handle",
2599
2436
  // Prevents the handle from receiving keyboard focus when it does not cycle
2600
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: 'c717d19865dafba02e15db79bc0662c5d89e96fd', onSlotchange: this.onSlotChange }))));
2437
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '44164b1e8710c3895400ad9f44ecd99873874ad5', onSlotchange: this.onSlotChange }))));
2601
2438
  }
2602
2439
  get el() { return getElement(this); }
2603
2440
  static get watchers() { return {
2604
- "isOpen": ["onIsOpenChange"],
2605
- "trigger": ["triggerChanged"]
2441
+ "isOpen": [{
2442
+ "onIsOpenChange": 0
2443
+ }],
2444
+ "trigger": [{
2445
+ "triggerChanged": 0
2446
+ }]
2606
2447
  }; }
2607
2448
  };
2608
2449
  const LIFECYCLE_MAP = {
@@ -2612,8 +2453,8 @@ const LIFECYCLE_MAP = {
2612
2453
  ionModalDidDismiss: 'ionViewDidLeave',
2613
2454
  };
2614
2455
  Modal.style = {
2615
- ios: modalIosCss,
2616
- md: modalMdCss
2456
+ ios: modalIosCss(),
2457
+ md: modalMdCss()
2617
2458
  };
2618
2459
 
2619
2460
  export { Modal as ion_modal };
@@ -1,12 +1,12 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, e as config, f as printIonWarning, h, g as getElement, d as Host } from './index-C8IsBmNU.js';
4
+ import { r as registerInstance, c as createEvent, e as config, f as printIonWarning, h, g as getElement, d as Host } from './index-IGIE5vDm.js';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
6
- import { s as shallowEqualStringMap, l as assert } from './helpers-DEn3pfjm.js';
7
- import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-r2D9DEro.js';
8
- import { b as getIonMode } from './ionic-global-CDrldh-5.js';
9
- import { a as attachComponent } from './framework-delegate-BYawdMXj.js';
6
+ import { s as shallowEqualStringMap, l as assert } from './helpers-Tl8jw6S2.js';
7
+ import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-B-hkiOUh.js';
8
+ import { b as getIonMode } from './ionic-global-DfbeLwcV.js';
9
+ import { a as attachComponent } from './framework-delegate-CyxE1S_P.js';
10
10
 
11
11
  const VIEW_STATE_NEW = 1;
12
12
  const VIEW_STATE_ATTACHED = 2;
@@ -75,7 +75,7 @@ const convertToViews = (pages) => {
75
75
  .filter((v) => v !== null);
76
76
  };
77
77
 
78
- const navCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}";
78
+ const navCss = () => `:host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}`;
79
79
 
80
80
  const Nav = class {
81
81
  constructor(hostRef) {
@@ -129,7 +129,7 @@ const Nav = class {
129
129
  // We want to set this flag before any watch callbacks are manually called
130
130
  this.didLoad = true;
131
131
  this.rootChanged();
132
- this.gesture = (await import('./swipe-back-BKw2CAHc.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
132
+ this.gesture = (await import('./swipe-back-BZBFwTQV.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
133
133
  this.swipeGestureChanged();
134
134
  }
135
135
  connectedCallback() {
@@ -899,11 +899,15 @@ const Nav = class {
899
899
  }
900
900
  get el() { return getElement(this); }
901
901
  static get watchers() { return {
902
- "swipeGesture": ["swipeGestureChanged"],
903
- "root": ["rootChanged"]
902
+ "swipeGesture": [{
903
+ "swipeGestureChanged": 0
904
+ }],
905
+ "root": [{
906
+ "rootChanged": 0
907
+ }]
904
908
  }; }
905
909
  };
906
- Nav.style = navCss;
910
+ Nav.style = navCss();
907
911
 
908
912
  const navLink = (el, routerDirection, component, componentProps, routerAnimation) => {
909
913
  const nav = el.closest('ion-nav');
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, d as Host, g as getElement } from './index-C8IsBmNU.js';
5
- import { b as inheritAttributes } from './helpers-DEn3pfjm.js';
4
+ import { r as registerInstance, h, d as Host, g as getElement } from './index-IGIE5vDm.js';
5
+ import { b as inheritAttributes } from './helpers-Tl8jw6S2.js';
6
6
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
7
- import { b as getIonMode } from './ionic-global-CDrldh-5.js';
7
+ import { b as getIonMode } from './ionic-global-DfbeLwcV.js';
8
8
 
9
- const pickerColumnOptionIosCss = ".picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}";
9
+ const pickerColumnOptionIosCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}`;
10
10
 
11
- const pickerColumnOptionMdCss = ".picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active){color:var(--ion-color-base)}";
11
+ const pickerColumnOptionMdCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active){color:var(--ion-color-base)}`;
12
12
 
13
13
  const PickerColumnOption = class {
14
14
  constructor(hostRef) {
@@ -104,12 +104,14 @@ const PickerColumnOption = class {
104
104
  }
105
105
  get el() { return getElement(this); }
106
106
  static get watchers() { return {
107
- "aria-label": ["onAriaLabelChange"]
107
+ "aria-label": [{
108
+ "onAriaLabelChange": 0
109
+ }]
108
110
  }; }
109
111
  };
110
112
  PickerColumnOption.style = {
111
- ios: pickerColumnOptionIosCss,
112
- md: pickerColumnOptionMdCss
113
+ ios: pickerColumnOptionIosCss(),
114
+ md: pickerColumnOptionMdCss()
113
115
  };
114
116
 
115
117
  export { PickerColumnOption as ion_picker_column_option };
@@ -1,15 +1,15 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, d as Host, g as getElement } from './index-C8IsBmNU.js';
4
+ import { r as registerInstance, c as createEvent, h, d as Host, g as getElement } from './index-IGIE5vDm.js';
5
5
  import { d as doc } from './index-ZjP4CjeZ.js';
6
- import { r as raf, g as getElementRoot } from './helpers-DEn3pfjm.js';
6
+ import { r as raf, g as getElementRoot } from './helpers-Tl8jw6S2.js';
7
7
  import { b as hapticSelectionStart, a as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic-DzAMWJuk.js';
8
- import { a as isPlatform, b as getIonMode } from './ionic-global-CDrldh-5.js';
8
+ import { a as isPlatform, b as getIonMode } from './ionic-global-DfbeLwcV.js';
9
9
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
10
10
  import './capacitor-CFERIeaU.js';
11
11
 
12
- const pickerColumnCss = ":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";
12
+ const pickerColumnCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}`;
13
13
 
14
14
  const PickerColumn = class {
15
15
  constructor(hostRef) {
@@ -559,11 +559,15 @@ const PickerColumn = class {
559
559
  }
560
560
  get el() { return getElement(this); }
561
561
  static get watchers() { return {
562
- "aria-label": ["ariaLabelChanged"],
563
- "value": ["valueChange"]
562
+ "aria-label": [{
563
+ "ariaLabelChanged": 0
564
+ }],
565
+ "value": [{
566
+ "valueChange": 0
567
+ }]
564
568
  }; }
565
569
  };
566
570
  const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
567
- PickerColumn.style = pickerColumnCss;
571
+ PickerColumn.style = pickerColumnCss();
568
572
 
569
573
  export { PickerColumn as ion_picker_column };