@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
@@ -3,22 +3,22 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index$3 = require('./index-D6Wc6v08.js');
7
- var index$2 = require('./index-CO6eryBo.js');
8
- var frameworkDelegate = require('./framework-delegate-DMJRBuDi.js');
9
- var helpers = require('./helpers-DrTqNghc.js');
6
+ var index$3 = require('./index-CqT-2gKy.js');
7
+ var index$2 = require('./index-MbaBbWXk.js');
8
+ var frameworkDelegate = require('./framework-delegate-CRgp8o_p.js');
9
+ var helpers = require('./helpers-CxTYJdbT.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
11
11
  var capacitor = require('./capacitor-DmA66EwP.js');
12
- var overlays = require('./overlays-B2b-TTbl.js');
12
+ var overlays = require('./overlays-C2jiBSNQ.js');
13
13
  var theme = require('./theme-CeDs6Hcv.js');
14
- var index$4 = require('./index-094mMFB-.js');
15
- var ionicGlobal = require('./ionic-global-HMVqOFGO.js');
14
+ var index$4 = require('./index-C845Ti6K.js');
15
+ var ionicGlobal = require('./ionic-global-Bc3kJi1Z.js');
16
16
  var keyboard = require('./keyboard-hHzlEQpk.js');
17
- var animation = require('./animation-Bt3H9L1C.js');
17
+ var animation = require('./animation-Dg4yiuR2.js');
18
18
  var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
19
19
  var index$1 = require('./index-CAvQ7Tka.js');
20
20
  var index = require('./index-DkNv4J_i.js');
21
- require('./hardware-back-button-VCK4V3mG.js');
21
+ require('./hardware-back-button-C4rMJ5uI.js');
22
22
  require('./gesture-controller-dtqlP_q4.js');
23
23
  require('./keyboard-UuAS4D_9.js');
24
24
 
@@ -249,7 +249,7 @@ const calculateSpringStep = (t) => {
249
249
  const SwipeToCloseDefaults = {
250
250
  MIN_PRESENTING_SCALE: 0.915,
251
251
  };
252
- const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onDragStart, onDragMove, onDragEnd) => {
252
+ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) => {
253
253
  /**
254
254
  * The step value at which a card modal
255
255
  * is eligible for dismissing via gesture.
@@ -359,7 +359,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
359
359
  index$2.disableContentScrollY(contentEl);
360
360
  }
361
361
  animation.progressStart(true, isOpen ? 1 : 0);
362
- onDragStart();
363
362
  };
364
363
  const onMove = (detail) => {
365
364
  const { deltaY } = detail;
@@ -427,13 +426,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
427
426
  setCardStatusBarDark();
428
427
  }
429
428
  lastStep = clampedStep;
430
- const eventDetail = {
431
- currentY: detail.currentY,
432
- deltaY: detail.deltaY,
433
- velocityY: detail.velocityY,
434
- progress: calculateProgress(el, detail.deltaY),
435
- };
436
- onDragMove(eventDetail);
437
429
  };
438
430
  const onEnd = (detail) => {
439
431
  const velocity = detail.velocityY;
@@ -492,13 +484,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
492
484
  else if (shouldComplete) {
493
485
  onDismiss();
494
486
  }
495
- const eventDetail = {
496
- currentY: detail.currentY,
497
- deltaY: detail.deltaY,
498
- velocityY: detail.velocityY,
499
- progress: calculateProgress(el, detail.deltaY),
500
- };
501
- onDragEnd(eventDetail);
502
487
  };
503
488
  const gesture = index$1.createGesture({
504
489
  el,
@@ -516,44 +501,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
516
501
  const computeDuration = (remaining, velocity) => {
517
502
  return helpers.clamp(400, remaining / Math.abs(velocity * 1.1), 500);
518
503
  };
519
- /**
520
- * Calculates the progress of the swipe gesture.
521
- *
522
- * The progress is a value between 0 and 1 that represents how far
523
- * the swipe has progressed towards closing the modal.
524
- *
525
- * A value closer to 1 means the modal is closer to being opened,
526
- * while a value closer to 0 means the modal is closer to being closed.
527
- *
528
- * @param el The modal
529
- * @param deltaY The change in Y position (positive when dragging down, negative when dragging up)
530
- * @returns The progress of the swipe gesture
531
- */
532
- const calculateProgress = (el, deltaY) => {
533
- const windowHeight = window.innerHeight;
534
- // Position when fully open
535
- const modalTop = el.getBoundingClientRect().top;
536
- /**
537
- * The distance between the top of the modal and the bottom of the screen
538
- * is the total distance the modal needs to travel to be fully closed.
539
- */
540
- const totalDistance = windowHeight - modalTop;
541
- /**
542
- * The pull percentage is how far the user has swiped compared to the total
543
- * distance needed to close the modal.
544
- */
545
- const pullPercentage = deltaY / totalDistance;
546
- /**
547
- * The progress is the inverse of the pull percentage because
548
- * when the user starts swiping up, the progress should be close to 1,
549
- * and when the user has swiped all the way down, the progress should be
550
- * close to 0.
551
- */
552
- const progress = 1 - pullPercentage;
553
- // Round to the nearest thousandth to avoid returning very small decimal
554
- const roundedProgress = Math.round(progress * 1000) / 1000;
555
- return Math.max(0, Math.min(1, roundedProgress));
556
- };
557
504
 
558
505
  const createSheetEnterAnimation = (opts) => {
559
506
  const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
@@ -1002,7 +949,7 @@ const mdLeaveAnimation = (baseEl, opts) => {
1002
949
  return baseAnimation;
1003
950
  };
1004
951
 
1005
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
952
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
1006
953
  // Defaults for the sheet swipe animation
1007
954
  const defaultBackdrop = [
1008
955
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
@@ -1265,7 +1212,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1265
1212
  baseEl.focus();
1266
1213
  });
1267
1214
  animation.progressStart(true, 1 - currentBreakpoint);
1268
- onDragStart();
1269
1215
  };
1270
1216
  const onMove = (detail) => {
1271
1217
  /**
@@ -1334,15 +1280,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1334
1280
  : step;
1335
1281
  offset = helpers.clamp(0.0001, processedStep, maxStep);
1336
1282
  animation.progressStep(offset);
1337
- const closest = calculateClosestBreakpoint(detail.velocityY, detail.deltaY);
1338
- const eventDetail = {
1339
- currentY: detail.currentY,
1340
- deltaY: detail.deltaY,
1341
- velocityY: detail.velocityY,
1342
- progress: calculateProgress(detail.currentY),
1343
- currentBreakpoint: closest,
1344
- };
1345
- onDragMove(eventDetail);
1346
1283
  };
1347
1284
  const onEnd = (detail) => {
1348
1285
  /**
@@ -1361,7 +1298,16 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1361
1298
  swapFooterPosition('stationary');
1362
1299
  return;
1363
1300
  }
1364
- const closest = calculateClosestBreakpoint(detail.velocityY, detail.deltaY);
1301
+ /**
1302
+ * When the gesture releases, we need to determine
1303
+ * the closest breakpoint to snap to.
1304
+ */
1305
+ const velocity = detail.velocityY;
1306
+ const threshold = (detail.deltaY + velocity * 350) / height;
1307
+ const diff = currentBreakpoint - threshold;
1308
+ const closest = breakpoints.reduce((a, b) => {
1309
+ return Math.abs(b - diff) < Math.abs(a - diff) ? b : a;
1310
+ });
1365
1311
  moveSheetToBreakpoint({
1366
1312
  breakpoint: closest,
1367
1313
  breakpointOffset: offset,
@@ -1372,14 +1318,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1372
1318
  */
1373
1319
  animated: true,
1374
1320
  });
1375
- const eventDetail = {
1376
- currentY: detail.currentY,
1377
- deltaY: detail.deltaY,
1378
- velocityY: detail.velocityY,
1379
- progress: calculateProgress(detail.currentY),
1380
- currentBreakpoint: closest,
1381
- };
1382
- onDragEnd(eventDetail);
1383
1321
  };
1384
1322
  const moveSheetToBreakpoint = (options) => {
1385
1323
  const { breakpoint, canDismiss, breakpointOffset, animated } = options;
@@ -1519,94 +1457,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1519
1457
  .progressEnd(1, 0, animated ? 500 : 0);
1520
1458
  });
1521
1459
  };
1522
- /**
1523
- * Calculates the closest breakpoint based on the current velocity and deltaY.
1524
- * This determines where the sheet should snap to when the user releases the
1525
- * gesture.
1526
- *
1527
- * @param velocityY The current velocity of the gesture in the Y direction.
1528
- * @param deltaY The change in Y position since the gesture started.
1529
- * @returns The closest breakpoint value.
1530
- */
1531
- const calculateClosestBreakpoint = (velocityY, deltaY) => {
1532
- const threshold = (deltaY + velocityY * 350) / height;
1533
- const diff = currentBreakpoint - threshold;
1534
- const closest = breakpoints.reduce((a, b) => {
1535
- return Math.abs(b - diff) < Math.abs(a - diff) ? b : a;
1536
- });
1537
- return closest;
1538
- };
1539
- /**
1540
- * Calculates the progress of the swipe gesture.
1541
- *
1542
- * The progress is a value between 0 and 1 that represents how far
1543
- * the swipe has progressed towards closing the modal.
1544
- *
1545
- * A value closer to 1 means the modal is closer to being opened,
1546
- * while a value closer to 0 means the modal is closer to being closed.
1547
- *
1548
- * @param currentY The current Y position of the gesture
1549
- * @returns The progress of the sheet gesture
1550
- */
1551
- const calculateProgress = (currentY) => {
1552
- const minBreakpoint = breakpoints[0];
1553
- const maxBreakpoint = breakpoints[breakpoints.length - 1];
1554
- // Convert breakpoints to pixel Y coordinates
1555
- /**
1556
- * The lowest point the sheet can be dragged to aka the point at which
1557
- * the sheet is fully closed.
1558
- */
1559
- const maxY = convertBreakpointToY(minBreakpoint);
1560
- /**
1561
- * The highest point the sheet can be dragged to aka the point at which
1562
- * the sheet is fully open.
1563
- */
1564
- const minY = convertBreakpointToY(maxBreakpoint);
1565
- // The total distance between the fully open and fully closed positions.
1566
- const totalDistance = maxY - minY;
1567
- // The distance from the current position to the fully closed position.
1568
- const distanceFromBottom = maxY - currentY;
1569
- /**
1570
- * The progress represents how far the sheet is from the bottom relative
1571
- * to the total distance. When the user starts swiping up, the progress
1572
- * should be close to 1, and when the user has swiped all the way down,
1573
- * the progress should be close to 0.
1574
- */
1575
- const progress = distanceFromBottom / totalDistance;
1576
- // Round to the nearest thousandth to avoid returning very small decimal
1577
- const roundedProgress = Math.round(progress * 1000) / 1000;
1578
- return Math.max(0, Math.min(1, roundedProgress));
1579
- };
1580
- /**
1581
- * Converts a breakpoint value (0 to 1) into a pixel Y coordinate
1582
- * on the screen.
1583
- *
1584
- * @param breakpoint The breakpoint value (e.g., 0.5 for half-open)
1585
- * @returns The pixel Y coordinate on the screen
1586
- */
1587
- const convertBreakpointToY = (breakpoint) => {
1588
- const rect = baseEl.getBoundingClientRect();
1589
- const modalHeight = rect.height;
1590
- // The bottom of the screen.
1591
- const viewportBottom = window.innerHeight;
1592
- /**
1593
- * The active height is how much of the modal is actually showing
1594
- * on the screen for this specific breakpoint.
1595
- */
1596
- const activeHeight = modalHeight * breakpoint;
1597
- /**
1598
- * To find the Y coordinate, start at the bottom of the screen
1599
- * and move up by the active height of the modal.
1600
- *
1601
- * A breakpoint of 1.0 means the active height is the full modal height
1602
- * (fully open). A breakpoint of 0.0 means the active height is 0
1603
- * (fully closed).
1604
- *
1605
- * Since screen Y coordinates get smaller as you go up, we subtract the
1606
- * active height from the viewport bottom.
1607
- */
1608
- return viewportBottom - activeHeight;
1609
- };
1610
1460
  const gesture = index$1.createGesture({
1611
1461
  el: wrapperEl,
1612
1462
  gestureName: 'modalSheet',
@@ -1624,9 +1474,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1624
1474
  };
1625
1475
  };
1626
1476
 
1627
- 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}";
1477
+ 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}`;
1628
1478
 
1629
- 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}";
1479
+ 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}`;
1630
1480
 
1631
1481
  const Modal = class {
1632
1482
  constructor(hostRef) {
@@ -1641,9 +1491,6 @@ const Modal = class {
1641
1491
  this.willDismissShorthand = index$3.createEvent(this, "willDismiss", 7);
1642
1492
  this.didDismissShorthand = index$3.createEvent(this, "didDismiss", 7);
1643
1493
  this.ionMount = index$3.createEvent(this, "ionMount", 7);
1644
- this.ionDragStart = index$3.createEvent(this, "ionDragStart", 7);
1645
- this.ionDragMove = index$3.createEvent(this, "ionDragMove", 7);
1646
- this.ionDragEnd = index$3.createEvent(this, "ionDragEnd", 7);
1647
1494
  this.lockController = lockController.createLockController();
1648
1495
  this.triggerController = overlays.createTriggerController();
1649
1496
  this.coreDelegate = frameworkDelegate.CoreDelegate();
@@ -2111,7 +1958,32 @@ const Modal = class {
2111
1958
  return;
2112
1959
  }
2113
1960
  const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
2114
- this.gesture = createSwipeToCloseGesture(el, ani, statusBarStyle, () => this.cardOnDismiss(), () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
1961
+ this.gesture = createSwipeToCloseGesture(el, ani, statusBarStyle, () => {
1962
+ /**
1963
+ * While the gesture animation is finishing
1964
+ * it is possible for a user to tap the backdrop.
1965
+ * This would result in the dismiss animation
1966
+ * being played again. Typically this is avoided
1967
+ * by setting `presented = false` on the overlay
1968
+ * component; however, we cannot do that here as
1969
+ * that would prevent the element from being
1970
+ * removed from the DOM.
1971
+ */
1972
+ this.gestureAnimationDismissing = true;
1973
+ /**
1974
+ * Reset the status bar style as the dismiss animation
1975
+ * starts otherwise the status bar will be the wrong
1976
+ * color for the duration of the dismiss animation.
1977
+ * The dismiss method does this as well, but
1978
+ * in this case it's only called once the animation
1979
+ * has finished.
1980
+ */
1981
+ setCardStatusBarDefault(this.statusBarStyle);
1982
+ this.animation.onFinish(async () => {
1983
+ await this.dismiss(undefined, overlays.GESTURE);
1984
+ this.gestureAnimationDismissing = false;
1985
+ });
1986
+ });
2115
1987
  this.gesture.enable(true);
2116
1988
  }
2117
1989
  initSheetGesture() {
@@ -2132,7 +2004,7 @@ const Modal = class {
2132
2004
  this.currentBreakpoint = breakpoint;
2133
2005
  this.ionBreakpointDidChange.emit({ breakpoint });
2134
2006
  }
2135
- }, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2007
+ });
2136
2008
  this.gesture = gesture;
2137
2009
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
2138
2010
  this.gesture.enable(true);
@@ -2229,32 +2101,6 @@ const Modal = class {
2229
2101
  this.gestureAnimationDismissing = false;
2230
2102
  });
2231
2103
  }
2232
- cardOnDismiss() {
2233
- /**
2234
- * While the gesture animation is finishing
2235
- * it is possible for a user to tap the backdrop.
2236
- * This would result in the dismiss animation
2237
- * being played again. Typically this is avoided
2238
- * by setting `presented = false` on the overlay
2239
- * component; however, we cannot do that here as
2240
- * that would prevent the element from being
2241
- * removed from the DOM.
2242
- */
2243
- this.gestureAnimationDismissing = true;
2244
- /**
2245
- * Reset the status bar style as the dismiss animation
2246
- * starts otherwise the status bar will be the wrong
2247
- * color for the duration of the dismiss animation.
2248
- * The dismiss method does this as well, but
2249
- * in this case it's only called once the animation
2250
- * has finished.
2251
- */
2252
- setCardStatusBarDefault(this.statusBarStyle);
2253
- this.animation.onFinish(async () => {
2254
- await this.dismiss(undefined, overlays.GESTURE);
2255
- this.gestureAnimationDismissing = false;
2256
- });
2257
- }
2258
2104
  /**
2259
2105
  * Dismiss the modal overlay after it has been presented.
2260
2106
  * This is a no-op if the overlay has not been presented yet. If you want
@@ -2570,15 +2416,6 @@ const Modal = class {
2570
2416
  (_a = this.parentRemovalObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
2571
2417
  this.parentRemovalObserver = undefined;
2572
2418
  }
2573
- onDragStart() {
2574
- this.ionDragStart.emit();
2575
- }
2576
- onDragMove(detail) {
2577
- this.ionDragMove.emit(detail);
2578
- }
2579
- onDragEnd(detail) {
2580
- this.ionDragEnd.emit(detail);
2581
- }
2582
2419
  render() {
2583
2420
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
2584
2421
  const showHandle = handle !== false && isSheetModal;
@@ -2586,25 +2423,29 @@ const Modal = class {
2586
2423
  const isCardModal = presentingElement !== undefined && mode === 'ios';
2587
2424
  const isHandleCycle = handleBehavior === 'cycle';
2588
2425
  const isSheetModalWithHandle = isSheetModal && showHandle;
2589
- return (index$3.h(index$3.Host, Object.assign({ key: 'bca3cbdb2ce8e5127d27eae7494c434aaeddaf88', "no-router": true,
2426
+ return (index$3.h(index$3.Host, Object.assign({ key: '87328006ea6c75ebc518ace300438492a567223e', "no-router": true,
2590
2427
  // Allow the modal to be navigable when the handle is focusable
2591
2428
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2592
2429
  zIndex: `${20000 + this.overlayIndex}`,
2593
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: 'b1c4112123d84d8a9b9d455bcc17d884f99d9f28', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '080c8e6d37b311a1b5ad2655d99f18668abae211', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '8ba05e9520b1b5529bf0caeb766da5bf612d4d14',
2430
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: 'ee94ff8e09b691dd4ad4e4db1720f06bc3c5a469', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: 'bffd69b4635c22d9f249725bd952c1e93d5615c7', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '1d394d3c68916e464ff1fbf5242419f4a3d3cca1',
2594
2431
  /*
2595
2432
  role and aria-modal must be used on the
2596
2433
  same element. They must also be set inside the
2597
2434
  shadow DOM otherwise ion-button will not be highlighted
2598
2435
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
2599
2436
  */
2600
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '2d2d5d731f55755f32ebcbf557f97486dc6202a6', class: "modal-handle",
2437
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '2dcf58792018e557e0c323baad2d672bc99c0bb1', class: "modal-handle",
2601
2438
  // Prevents the handle from receiving keyboard focus when it does not cycle
2602
- 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) })), index$3.h("slot", { key: 'c717d19865dafba02e15db79bc0662c5d89e96fd', onSlotchange: this.onSlotChange }))));
2439
+ 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) })), index$3.h("slot", { key: '44164b1e8710c3895400ad9f44ecd99873874ad5', onSlotchange: this.onSlotChange }))));
2603
2440
  }
2604
2441
  get el() { return index$3.getElement(this); }
2605
2442
  static get watchers() { return {
2606
- "isOpen": ["onIsOpenChange"],
2607
- "trigger": ["triggerChanged"]
2443
+ "isOpen": [{
2444
+ "onIsOpenChange": 0
2445
+ }],
2446
+ "trigger": [{
2447
+ "triggerChanged": 0
2448
+ }]
2608
2449
  }; }
2609
2450
  };
2610
2451
  const LIFECYCLE_MAP = {
@@ -2614,8 +2455,8 @@ const LIFECYCLE_MAP = {
2614
2455
  ionModalDidDismiss: 'ionViewDidLeave',
2615
2456
  };
2616
2457
  Modal.style = {
2617
- ios: modalIosCss,
2618
- md: modalMdCss
2458
+ ios: modalIosCss(),
2459
+ md: modalMdCss()
2619
2460
  };
2620
2461
 
2621
2462
  exports.ion_modal = Modal;
@@ -3,12 +3,12 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-D6Wc6v08.js');
6
+ var index = require('./index-CqT-2gKy.js');
7
7
  var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
8
- var helpers = require('./helpers-DrTqNghc.js');
9
- var index$1 = require('./index-094mMFB-.js');
10
- var ionicGlobal = require('./ionic-global-HMVqOFGO.js');
11
- var frameworkDelegate = require('./framework-delegate-DMJRBuDi.js');
8
+ var helpers = require('./helpers-CxTYJdbT.js');
9
+ var index$1 = require('./index-C845Ti6K.js');
10
+ var ionicGlobal = require('./ionic-global-Bc3kJi1Z.js');
11
+ var frameworkDelegate = require('./framework-delegate-CRgp8o_p.js');
12
12
 
13
13
  const VIEW_STATE_NEW = 1;
14
14
  const VIEW_STATE_ATTACHED = 2;
@@ -77,7 +77,7 @@ const convertToViews = (pages) => {
77
77
  .filter((v) => v !== null);
78
78
  };
79
79
 
80
- const navCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}";
80
+ const navCss = () => `:host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}`;
81
81
 
82
82
  const Nav = class {
83
83
  constructor(hostRef) {
@@ -131,7 +131,7 @@ const Nav = class {
131
131
  // We want to set this flag before any watch callbacks are manually called
132
132
  this.didLoad = true;
133
133
  this.rootChanged();
134
- this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-BIayeNOD.js'); })).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
134
+ this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-BGhTQ1CU.js'); })).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
135
135
  this.swipeGestureChanged();
136
136
  }
137
137
  connectedCallback() {
@@ -901,11 +901,15 @@ const Nav = class {
901
901
  }
902
902
  get el() { return index.getElement(this); }
903
903
  static get watchers() { return {
904
- "swipeGesture": ["swipeGestureChanged"],
905
- "root": ["rootChanged"]
904
+ "swipeGesture": [{
905
+ "swipeGestureChanged": 0
906
+ }],
907
+ "root": [{
908
+ "rootChanged": 0
909
+ }]
906
910
  }; }
907
911
  };
908
- Nav.style = navCss;
912
+ Nav.style = navCss();
909
913
 
910
914
  const navLink = (el, routerDirection, component, componentProps, routerAnimation) => {
911
915
  const nav = el.closest('ion-nav');
@@ -3,14 +3,14 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-D6Wc6v08.js');
7
- var helpers = require('./helpers-DrTqNghc.js');
6
+ var index = require('./index-CqT-2gKy.js');
7
+ var helpers = require('./helpers-CxTYJdbT.js');
8
8
  var theme = require('./theme-CeDs6Hcv.js');
9
- var ionicGlobal = require('./ionic-global-HMVqOFGO.js');
9
+ var ionicGlobal = require('./ionic-global-Bc3kJi1Z.js');
10
10
 
11
- 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}";
11
+ 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}`;
12
12
 
13
- 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)}";
13
+ 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)}`;
14
14
 
15
15
  const PickerColumnOption = class {
16
16
  constructor(hostRef) {
@@ -106,12 +106,14 @@ const PickerColumnOption = class {
106
106
  }
107
107
  get el() { return index.getElement(this); }
108
108
  static get watchers() { return {
109
- "aria-label": ["onAriaLabelChange"]
109
+ "aria-label": [{
110
+ "onAriaLabelChange": 0
111
+ }]
110
112
  }; }
111
113
  };
112
114
  PickerColumnOption.style = {
113
- ios: pickerColumnOptionIosCss,
114
- md: pickerColumnOptionMdCss
115
+ ios: pickerColumnOptionIosCss(),
116
+ md: pickerColumnOptionMdCss()
115
117
  };
116
118
 
117
119
  exports.ion_picker_column_option = PickerColumnOption;
@@ -3,15 +3,15 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-D6Wc6v08.js');
6
+ var index = require('./index-CqT-2gKy.js');
7
7
  var index$1 = require('./index-DkNv4J_i.js');
8
- var helpers = require('./helpers-DrTqNghc.js');
8
+ var helpers = require('./helpers-CxTYJdbT.js');
9
9
  var haptic = require('./haptic-ClPPQ_PS.js');
10
- var ionicGlobal = require('./ionic-global-HMVqOFGO.js');
10
+ var ionicGlobal = require('./ionic-global-Bc3kJi1Z.js');
11
11
  var theme = require('./theme-CeDs6Hcv.js');
12
12
  require('./capacitor-DmA66EwP.js');
13
13
 
14
- 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)}}";
14
+ 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)}}`;
15
15
 
16
16
  const PickerColumn = class {
17
17
  constructor(hostRef) {
@@ -561,11 +561,15 @@ const PickerColumn = class {
561
561
  }
562
562
  get el() { return index.getElement(this); }
563
563
  static get watchers() { return {
564
- "aria-label": ["ariaLabelChanged"],
565
- "value": ["valueChange"]
564
+ "aria-label": [{
565
+ "ariaLabelChanged": 0
566
+ }],
567
+ "value": [{
568
+ "valueChange": 0
569
+ }]
566
570
  }; }
567
571
  };
568
572
  const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
569
- PickerColumn.style = pickerColumnCss;
573
+ PickerColumn.style = pickerColumnCss();
570
574
 
571
575
  exports.ion_picker_column = PickerColumn;