@ionic/core 8.7.19-dev.11772655618.1af0949f → 8.7.19-dev.11773072221.15efeed0

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 (587) hide show
  1. package/components/index.d.ts +0 -2
  2. package/components/index.js +114 -1
  3. package/components/ion-accordion-group.js +268 -1
  4. package/components/ion-accordion.js +456 -1
  5. package/components/ion-action-sheet.js +6 -1
  6. package/components/ion-alert.js +6 -1
  7. package/components/ion-app.js +132 -1
  8. package/components/ion-avatar.js +41 -1
  9. package/components/ion-back-button.js +130 -1
  10. package/components/ion-backdrop.js +6 -1
  11. package/components/ion-badge.js +47 -1
  12. package/components/ion-breadcrumb.js +137 -1
  13. package/components/ion-breadcrumbs.js +164 -1
  14. package/components/ion-button.js +6 -1
  15. package/components/ion-buttons.js +6 -1
  16. package/components/ion-card-content.js +45 -1
  17. package/components/ion-card-header.js +56 -1
  18. package/components/ion-card-subtitle.js +48 -1
  19. package/components/ion-card-title.js +48 -1
  20. package/components/ion-card.js +107 -1
  21. package/components/ion-checkbox.js +6 -1
  22. package/components/ion-chip.js +66 -1
  23. package/components/ion-col.js +163 -1
  24. package/components/ion-content.js +6 -1
  25. package/components/ion-datetime-button.js +383 -1
  26. package/components/ion-datetime.js +2047 -1
  27. package/components/ion-fab-button.js +151 -1
  28. package/components/ion-fab-list.js +73 -1
  29. package/components/ion-fab.js +101 -1
  30. package/components/ion-footer.js +179 -1
  31. package/components/ion-grid.js +46 -1
  32. package/components/ion-header.js +6 -1
  33. package/components/ion-icon.js +6 -1
  34. package/components/ion-img.js +133 -1
  35. package/components/ion-infinite-scroll-content.js +69 -1
  36. package/components/ion-infinite-scroll.js +236 -1
  37. package/components/ion-input-otp.js +682 -1
  38. package/components/ion-input-password-toggle.js +128 -1
  39. package/components/ion-input.js +646 -1
  40. package/components/ion-item-divider.js +59 -1
  41. package/components/ion-item-group.js +46 -1
  42. package/components/ion-item-option.js +91 -1
  43. package/components/ion-item-options.js +73 -1
  44. package/components/ion-item-sliding.js +457 -1
  45. package/components/ion-item.js +6 -1
  46. package/components/ion-label.js +6 -1
  47. package/components/ion-list-header.js +6 -1
  48. package/components/ion-list.js +6 -1
  49. package/components/ion-loading.js +343 -1
  50. package/components/ion-menu-button.js +109 -1
  51. package/components/ion-menu-toggle.js +64 -1
  52. package/components/ion-menu.js +741 -1
  53. package/components/ion-modal.js +6 -1
  54. package/components/ion-nav-link.js +64 -1
  55. package/components/ion-nav.js +951 -1
  56. package/components/ion-note.js +47 -1
  57. package/components/ion-picker-column-option.js +6 -1
  58. package/components/ion-picker-column.js +6 -1
  59. package/components/ion-picker-legacy-column.js +6 -1
  60. package/components/ion-picker-legacy.js +342 -1
  61. package/components/ion-picker.js +6 -1
  62. package/components/ion-popover.js +6 -1
  63. package/components/ion-progress-bar.js +100 -1
  64. package/components/ion-radio-group.js +6 -1
  65. package/components/ion-radio.js +6 -1
  66. package/components/ion-range.js +844 -1
  67. package/components/ion-refresher-content.js +88 -1
  68. package/components/ion-refresher.js +750 -1
  69. package/components/ion-reorder-group.js +322 -1
  70. package/components/ion-reorder.js +60 -1
  71. package/components/ion-ripple-effect.js +6 -1
  72. package/components/ion-route-redirect.js +45 -1
  73. package/components/ion-route.js +74 -1
  74. package/components/ion-router-link.js +61 -1
  75. package/components/ion-router-outlet.js +226 -1
  76. package/components/ion-router.js +840 -1
  77. package/components/ion-row.js +36 -1
  78. package/components/ion-searchbar.js +540 -1
  79. package/components/ion-segment-button.js +173 -1
  80. package/components/ion-segment-content.js +35 -1
  81. package/components/ion-segment-view.js +142 -1
  82. package/components/ion-segment.js +602 -1
  83. package/components/ion-select-modal.js +6 -1
  84. package/components/ion-select-option.js +46 -1
  85. package/components/ion-select-popover.js +6 -1
  86. package/components/ion-select.js +1035 -1
  87. package/components/ion-skeleton-text.js +64 -1
  88. package/components/ion-spinner.js +6 -1
  89. package/components/ion-split-pane.js +190 -1
  90. package/components/ion-tab-bar.js +135 -1
  91. package/components/ion-tab-button.js +127 -1
  92. package/components/ion-tab.js +82 -1
  93. package/components/ion-tabs.js +204 -1
  94. package/components/ion-text.js +42 -1
  95. package/components/ion-textarea.js +554 -1
  96. package/components/ion-thumbnail.js +36 -1
  97. package/components/ion-title.js +6 -1
  98. package/components/ion-toast.js +938 -1
  99. package/components/ion-toggle.js +360 -1
  100. package/components/ion-toolbar.js +6 -1
  101. package/components/p-B-hirT0v.js +35 -1
  102. package/components/p-B25GjpND.js +71 -0
  103. package/components/p-BANeLH_G.js +290 -0
  104. package/components/p-BBFQmhcD.js +59 -0
  105. package/components/p-BC-awmYt.js +306 -0
  106. package/components/p-BHbOsu99.js +501 -0
  107. package/components/p-BTEOs1at.js +192 -1
  108. package/components/p-BTlwXR9e.js +73 -0
  109. package/components/p-BcazQttQ.js +612 -0
  110. package/components/p-BdGshsIJ.js +226 -0
  111. package/components/p-BfS7vSpC.js +147 -0
  112. package/components/p-BhRFCLuX.js +675 -0
  113. package/components/p-Bhnhnzjz.js +75 -0
  114. package/components/p-BmVRXR1y.js +72 -1
  115. package/components/p-BmcqD0EN.js +153 -0
  116. package/components/p-Boi6hecl.js +115 -0
  117. package/components/p-Bt_moUyl.js +232 -0
  118. package/components/p-Bxl5etF4.js +146 -0
  119. package/components/p-ByjmWt3s.js +139 -0
  120. package/components/p-C04oPyjT.js +54 -0
  121. package/components/p-C53feagD.js +15 -1
  122. package/components/p-C6dkQWq2.js +1626 -0
  123. package/components/p-CFZWrvIQ.js +194 -0
  124. package/components/p-CIGNaXM1.js +10 -1
  125. package/{dist/esm/config-TO1rZH52.js → components/p-CIJwkzL6.js} +1 -1
  126. package/components/p-CL12ApCQ.js +820 -0
  127. package/components/p-CO7fmmxt.js +29 -1
  128. package/components/p-CXJR56Oq.js +564 -0
  129. package/components/p-Cdm3dKWf.js +108 -0
  130. package/components/p-Cl0B-RWe.js +452 -1
  131. package/components/p-CslsoGzv.js +192 -0
  132. package/components/p-CtWGkNnJ.js +162 -1
  133. package/components/p-Cyd00tgZ.js +167 -0
  134. package/components/p-CzAJ3ArC.js +380 -0
  135. package/components/p-CzW34QBh.js +12 -0
  136. package/components/p-D0zXRwcr.js +196 -0
  137. package/components/p-D13Eaw-8.js +76 -1
  138. package/components/p-D5hF6rwn.js +339 -0
  139. package/components/p-D6Ynv7Xh.js +141 -1
  140. package/components/p-D8eD2iBA.js +67 -0
  141. package/components/p-DGOrLIyS.js +481 -0
  142. package/components/p-DJztqcrH.js +14 -1
  143. package/components/p-DK2Bn1Mc.js +305 -0
  144. package/components/p-DKRQWlK2.js +598 -0
  145. package/components/p-DNDUsygf.js +128 -0
  146. package/components/p-DTWZF6wg.js +418 -0
  147. package/components/p-DWoUQeZ3.js +3012 -0
  148. package/components/p-DX0w75a9.js +420 -0
  149. package/components/p-DiVJyqlX.js +40 -1
  150. package/components/p-Dt8zaCLQ.js +92 -0
  151. package/components/p-Dtdm8lKC.js +44 -1
  152. package/components/p-DyFBFrV7.js +264 -0
  153. package/components/p-DyHPCMyn.js +39 -0
  154. package/components/p-LgLeKTkH.js +112 -0
  155. package/components/p-NhiRFRn9.js +50 -0
  156. package/components/p-OuiHmXO5.js +646 -0
  157. package/components/p-Wro9IPHE.js +459 -0
  158. package/components/p-ZjP4CjeZ.js +4 -1
  159. package/components/p-aIWC4ZEV.js +305 -0
  160. package/components/p-c-XJ9XhZ.js +915 -0
  161. package/components/p-cyNmxje6.js +155 -1
  162. package/components/p-fVuFT3Wd.js +78 -0
  163. package/components/p-hHmYLOfE.js +87 -1
  164. package/components/p-iyo0Toaz.js +2822 -0
  165. package/{dist/esm/framework-delegate-CyxE1S_P.js → components/p-l_lso3Zl.js} +1 -1
  166. package/components/p-mQp4lwQD.js +1638 -0
  167. package/dist/cjs/{animation-Dg4yiuR2.js → animation-Bt3H9L1C.js} +1 -1
  168. package/dist/cjs/app-globals-Ciccnk9_.js +10 -0
  169. package/dist/cjs/{button-active-FscMI17-.js → button-active-CMc8cD90.js} +1 -1
  170. package/dist/cjs/{config-BukYi_pW.js → config-C5fsO43a.js} +1 -1
  171. package/dist/cjs/{data-BYlBjkMU.js → data-JwZKaIQB.js} +1 -1
  172. package/dist/cjs/{framework-delegate-CRgp8o_p.js → framework-delegate-DMJRBuDi.js} +1 -1
  173. package/dist/cjs/{hardware-back-button-C4rMJ5uI.js → hardware-back-button-VCK4V3mG.js} +1 -1
  174. package/dist/cjs/{helpers-CxTYJdbT.js → helpers-DrTqNghc.js} +1 -1
  175. package/dist/cjs/{index-C845Ti6K.js → index-094mMFB-.js} +4 -4
  176. package/dist/cjs/{index-YcSftOMz.js → index-C534ULug.js} +2 -2
  177. package/dist/cjs/{index-MbaBbWXk.js → index-CO6eryBo.js} +2 -2
  178. package/dist/cjs/{index-CqT-2gKy.js → index-D6Wc6v08.js} +382 -503
  179. package/dist/cjs/{index-CFUwM5x_.js → index-DrMUZJj6.js} +5 -5
  180. package/dist/cjs/index.cjs.js +12 -12
  181. package/dist/cjs/{input-shims-Dl5cnc_e.js → input-shims-CuMghsQ-.js} +3 -3
  182. package/dist/cjs/{input.utils-DmeJ8dmo.js → input.utils-B_QROI2g.js} +2 -2
  183. package/dist/cjs/ion-accordion_2.cjs.entry.js +15 -23
  184. package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -21
  185. package/dist/cjs/ion-alert.cjs.entry.js +17 -25
  186. package/dist/cjs/ion-app_8.cjs.entry.js +43 -48
  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 +14 -20
  191. package/dist/cjs/ion-button_2.cjs.entry.js +18 -36
  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 +46 -75
  198. package/dist/cjs/ion-fab_3.cjs.entry.js +13 -17
  199. package/dist/cjs/ion-img.cjs.entry.js +6 -8
  200. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +13 -17
  201. package/dist/cjs/ion-input-otp.cjs.entry.js +10 -16
  202. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -9
  203. package/dist/cjs/ion-input.cjs.entry.js +13 -21
  204. package/dist/cjs/ion-item-option_3.cjs.entry.js +17 -19
  205. package/dist/cjs/ion-item_8.cjs.entry.js +42 -48
  206. package/dist/cjs/ion-loading.cjs.entry.js +14 -18
  207. package/dist/cjs/ion-menu_3.cjs.entry.js +22 -30
  208. package/dist/cjs/ion-modal.cjs.entry.js +59 -237
  209. package/dist/cjs/ion-nav_2.cjs.entry.js +10 -14
  210. package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -10
  211. package/dist/cjs/ion-picker-column.cjs.entry.js +7 -11
  212. package/dist/cjs/ion-picker.cjs.entry.js +6 -6
  213. package/dist/cjs/ion-popover.cjs.entry.js +15 -21
  214. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
  215. package/dist/cjs/ion-radio_2.cjs.entry.js +13 -17
  216. package/dist/cjs/ion-range.cjs.entry.js +57 -205
  217. package/dist/cjs/ion-refresher_2.cjs.entry.js +14 -45
  218. package/dist/cjs/ion-reorder_2.cjs.entry.js +11 -13
  219. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
  220. package/dist/cjs/ion-route_4.cjs.entry.js +10 -20
  221. package/dist/cjs/ion-searchbar.cjs.entry.js +12 -22
  222. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
  223. package/dist/cjs/ion-segment-view.cjs.entry.js +8 -13
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +16 -26
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +13 -17
  226. package/dist/cjs/ion-select_3.cjs.entry.js +24 -33
  227. package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
  228. package/dist/cjs/ion-split-pane.cjs.entry.js +9 -15
  229. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +12 -14
  230. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -10
  231. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  232. package/dist/cjs/ion-textarea.cjs.entry.js +14 -20
  233. package/dist/cjs/ion-toast.cjs.entry.js +15 -21
  234. package/dist/cjs/ion-toggle.cjs.entry.js +8 -10
  235. package/dist/cjs/{ionic-global-Bc3kJi1Z.js → ionic-global-HMVqOFGO.js} +1 -1
  236. package/dist/cjs/ionic.cjs.js +5 -5
  237. package/dist/cjs/{ios.transition-trBiC95R.js → ios.transition-BOt_uW73.js} +4 -4
  238. package/dist/cjs/loader.cjs.js +4 -4
  239. package/dist/cjs/{md.transition-CUQECuvD.js → md.transition-Dt968VXB.js} +4 -4
  240. package/dist/cjs/{notch-controller-sD-lTpdc.js → notch-controller-Bzqhjm4f.js} +1 -1
  241. package/dist/cjs/{overlays-C2jiBSNQ.js → overlays-B2b-TTbl.js} +5 -5
  242. package/dist/cjs/{status-tap-CCJk5VgT.js → status-tap-g0sWWkXk.js} +3 -3
  243. package/dist/cjs/{swipe-back-BGhTQ1CU.js → swipe-back-BIayeNOD.js} +2 -2
  244. package/dist/collection/collection-manifest.json +2 -2
  245. package/dist/collection/components/accordion-group/accordion-group.js +2 -4
  246. package/dist/collection/components/action-sheet/action-sheet.js +10 -20
  247. package/dist/collection/components/alert/alert.js +12 -24
  248. package/dist/collection/components/back-button/back-button.js +2 -4
  249. package/dist/collection/components/badge/badge.js +1 -2
  250. package/dist/collection/components/breadcrumb/breadcrumb.js +4 -8
  251. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -4
  252. package/dist/collection/components/button/button.js +3 -6
  253. package/dist/collection/components/card/card.js +3 -6
  254. package/dist/collection/components/card-header/card-header.js +1 -2
  255. package/dist/collection/components/card-subtitle/card-subtitle.js +1 -2
  256. package/dist/collection/components/card-title/card-title.js +1 -2
  257. package/dist/collection/components/checkbox/checkbox.js +2 -4
  258. package/dist/collection/components/chip/chip.js +1 -2
  259. package/dist/collection/components/content/content.js +7 -12
  260. package/dist/collection/components/datetime/datetime.js +22 -43
  261. package/dist/collection/components/datetime-button/datetime-button.js +1 -2
  262. package/dist/collection/components/fab-button/fab-button.js +3 -6
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -4
  264. package/dist/collection/components/input/input.js +6 -11
  265. package/dist/collection/components/input-otp/input-otp.js +4 -8
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +2 -4
  267. package/dist/collection/components/item/item.js +5 -10
  268. package/dist/collection/components/item-divider/item-divider.js +3 -7
  269. package/dist/collection/components/item-option/item-option.js +3 -6
  270. package/dist/collection/components/item-options/item-options.js +1 -2
  271. package/dist/collection/components/item-sliding/item-sliding.js +1 -2
  272. package/dist/collection/components/label/label.js +3 -6
  273. package/dist/collection/components/list-header/list-header.js +3 -6
  274. package/dist/collection/components/loading/loading.js +11 -22
  275. package/dist/collection/components/menu/menu.js +5 -10
  276. package/dist/collection/components/menu-button/menu-button.js +1 -2
  277. package/dist/collection/components/modal/gestures/sheet.js +12 -120
  278. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -54
  279. package/dist/collection/components/modal/modal.js +45 -127
  280. package/dist/collection/components/nav/nav.js +45 -89
  281. package/dist/collection/components/nav-link/nav-link.js +5 -9
  282. package/dist/collection/components/note/note.js +1 -2
  283. package/dist/collection/components/picker/picker.js +1 -2
  284. package/dist/collection/components/picker-column/picker-column.js +3 -6
  285. package/dist/collection/components/picker-column-option/picker-column-option.js +1 -2
  286. package/dist/collection/components/picker-legacy/picker.js +12 -24
  287. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -4
  288. package/dist/collection/components/popover/popover.js +17 -33
  289. package/dist/collection/components/progress-bar/progress-bar.js +1 -2
  290. package/dist/collection/components/radio/radio.js +1 -2
  291. package/dist/collection/components/radio-group/radio-group.js +3 -6
  292. package/dist/collection/components/range/range.js +53 -214
  293. package/dist/collection/components/refresher/refresher.js +5 -73
  294. package/dist/collection/components/refresher-content/refresher-content.js +4 -8
  295. package/dist/collection/components/reorder-group/reorder-group.js +3 -6
  296. package/dist/collection/components/route/route.js +2 -4
  297. package/dist/collection/components/router/router.js +5 -10
  298. package/dist/collection/components/router-link/router-link.js +3 -6
  299. package/dist/collection/components/router-outlet/router-outlet.js +9 -18
  300. package/dist/collection/components/searchbar/searchbar.js +6 -11
  301. package/dist/collection/components/segment/segment.js +5 -10
  302. package/dist/collection/components/segment-button/segment-button.js +2 -4
  303. package/dist/collection/components/segment-view/segment-view.ios.css +1 -2
  304. package/dist/collection/components/segment-view/segment-view.js +4 -30
  305. package/dist/collection/components/segment-view/segment-view.md.css +1 -2
  306. package/dist/collection/components/select/select.js +8 -17
  307. package/dist/collection/components/select-modal/select-modal.js +2 -27
  308. package/dist/collection/components/select-popover/select-popover.js +1 -2
  309. package/dist/collection/components/skeleton-text/skeleton-text.js +1 -2
  310. package/dist/collection/components/spinner/spinner.js +2 -4
  311. package/dist/collection/components/tab/tab.js +2 -4
  312. package/dist/collection/components/tab-bar/tab-bar.js +2 -4
  313. package/dist/collection/components/tab-button/tab-button.js +2 -4
  314. package/dist/collection/components/tabs/tabs.js +2 -4
  315. package/dist/collection/components/text/text.js +1 -2
  316. package/dist/collection/components/textarea/textarea.js +7 -10
  317. package/dist/collection/components/title/title.js +2 -4
  318. package/dist/collection/components/toast/toast.js +17 -34
  319. package/dist/collection/components/toggle/toggle.js +2 -4
  320. package/dist/collection/components/toolbar/toolbar.js +1 -2
  321. package/dist/docs.d.ts +0 -37
  322. package/dist/docs.json +389 -1186
  323. package/dist/esm/{animation-CnGMT4ji.js → animation-Dt8bGnA-.js} +1 -1
  324. package/dist/esm/app-globals-BDSf8fOA.js +8 -0
  325. package/dist/esm/{button-active-BBx21brx.js → button-active-L570Swow.js} +1 -1
  326. package/dist/esm/config-mCdtaoPe.js +195 -0
  327. package/dist/esm/{data-B9iGR5YO.js → data-DCORV9FH.js} +1 -1
  328. package/dist/esm/framework-delegate-BYawdMXj.js +140 -0
  329. package/dist/esm/{hardware-back-button-CTe4XmL7.js → hardware-back-button-CPLxO-Ev.js} +1 -1
  330. package/dist/esm/{helpers-Tl8jw6S2.js → helpers-DEn3pfjm.js} +1 -1
  331. package/dist/esm/{index-hW6eNZ3o.js → index-Bs3kT4bc.js} +2 -2
  332. package/dist/esm/{index-IGIE5vDm.js → index-C8IsBmNU.js} +382 -503
  333. package/dist/esm/{index-B2KwgBLx.js → index-CvDIirVx.js} +5 -5
  334. package/dist/esm/{index-BtUdxPjv.js → index-ceb5RaMT.js} +2 -2
  335. package/dist/esm/{index-B-hkiOUh.js → index-r2D9DEro.js} +4 -4
  336. package/dist/esm/index.js +12 -12
  337. package/dist/esm/{input-shims-AaDhOpKN.js → input-shims-D6H3ZaWt.js} +3 -3
  338. package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-DrvTa8gz.js} +2 -2
  339. package/dist/esm/ion-accordion_2.entry.js +15 -23
  340. package/dist/esm/ion-action-sheet.entry.js +15 -21
  341. package/dist/esm/ion-alert.entry.js +17 -25
  342. package/dist/esm/ion-app_8.entry.js +43 -48
  343. package/dist/esm/ion-avatar_3.entry.js +12 -12
  344. package/dist/esm/ion-back-button.entry.js +7 -7
  345. package/dist/esm/ion-backdrop.entry.js +6 -6
  346. package/dist/esm/ion-breadcrumb_2.entry.js +14 -20
  347. package/dist/esm/ion-button_2.entry.js +18 -36
  348. package/dist/esm/ion-card_5.entry.js +23 -23
  349. package/dist/esm/ion-checkbox.entry.js +7 -7
  350. package/dist/esm/ion-chip.entry.js +6 -6
  351. package/dist/esm/ion-col_3.entry.js +8 -8
  352. package/dist/esm/ion-datetime-button.entry.js +8 -8
  353. package/dist/esm/ion-datetime_3.entry.js +46 -75
  354. package/dist/esm/ion-fab_3.entry.js +13 -17
  355. package/dist/esm/ion-img.entry.js +6 -8
  356. package/dist/esm/ion-infinite-scroll_2.entry.js +13 -17
  357. package/dist/esm/ion-input-otp.entry.js +10 -16
  358. package/dist/esm/ion-input-password-toggle.entry.js +7 -9
  359. package/dist/esm/ion-input.entry.js +13 -21
  360. package/dist/esm/ion-item-option_3.entry.js +17 -19
  361. package/dist/esm/ion-item_8.entry.js +42 -48
  362. package/dist/esm/ion-loading.entry.js +14 -18
  363. package/dist/esm/ion-menu_3.entry.js +22 -30
  364. package/dist/esm/ion-modal.entry.js +59 -237
  365. package/dist/esm/ion-nav_2.entry.js +10 -14
  366. package/dist/esm/ion-picker-column-option.entry.js +8 -10
  367. package/dist/esm/ion-picker-column.entry.js +7 -11
  368. package/dist/esm/ion-picker.entry.js +6 -6
  369. package/dist/esm/ion-popover.entry.js +15 -21
  370. package/dist/esm/ion-progress-bar.entry.js +7 -7
  371. package/dist/esm/ion-radio_2.entry.js +13 -17
  372. package/dist/esm/ion-range.entry.js +57 -205
  373. package/dist/esm/ion-refresher_2.entry.js +14 -45
  374. package/dist/esm/ion-reorder_2.entry.js +11 -13
  375. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  376. package/dist/esm/ion-route_4.entry.js +10 -20
  377. package/dist/esm/ion-searchbar.entry.js +12 -22
  378. package/dist/esm/ion-segment-content.entry.js +3 -3
  379. package/dist/esm/ion-segment-view.entry.js +8 -13
  380. package/dist/esm/ion-segment_2.entry.js +16 -26
  381. package/dist/esm/ion-select-modal.entry.js +13 -17
  382. package/dist/esm/ion-select_3.entry.js +24 -33
  383. package/dist/esm/ion-spinner.entry.js +4 -4
  384. package/dist/esm/ion-split-pane.entry.js +9 -15
  385. package/dist/esm/ion-tab-bar_2.entry.js +12 -14
  386. package/dist/esm/ion-tab_2.entry.js +8 -10
  387. package/dist/esm/ion-text.entry.js +4 -4
  388. package/dist/esm/ion-textarea.entry.js +14 -20
  389. package/dist/esm/ion-toast.entry.js +15 -21
  390. package/dist/esm/ion-toggle.entry.js +8 -10
  391. package/dist/esm/{ionic-global-DfbeLwcV.js → ionic-global-CDrldh-5.js} +1 -1
  392. package/dist/esm/ionic.js +6 -6
  393. package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-BDzw0_Hm.js} +4 -4
  394. package/dist/esm/loader.js +5 -5
  395. package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-BzDYi3qq.js} +4 -4
  396. package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-BwelN_JM.js} +1 -1
  397. package/dist/esm/{overlays-F8GHPo-e.js → overlays-D5YkFThA.js} +5 -5
  398. package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-5DQ7Fc4V.js} +3 -3
  399. package/dist/esm/{swipe-back-BZBFwTQV.js → swipe-back-BKw2CAHc.js} +2 -2
  400. package/dist/html.html-data.json +109 -117
  401. package/dist/ionic/index.esm.js +1 -1
  402. package/dist/ionic/ionic.esm.js +1 -1
  403. package/dist/ionic/{p-f2deaceb.entry.js → p-0ca0fe9c.entry.js} +1 -1
  404. package/dist/ionic/p-11518b31.entry.js +4 -0
  405. package/dist/ionic/{p-80cac7a2.entry.js → p-11aa58d6.entry.js} +1 -1
  406. package/dist/ionic/p-221a3d8c.entry.js +4 -0
  407. package/dist/ionic/{p-b325a113.entry.js → p-2668188b.entry.js} +1 -1
  408. package/dist/ionic/p-2ac254dc.entry.js +4 -0
  409. package/dist/ionic/p-2bd1ea35.entry.js +4 -0
  410. package/dist/ionic/p-30333874.entry.js +4 -0
  411. package/dist/ionic/p-31db96da.entry.js +4 -0
  412. package/dist/ionic/p-34642fa1.entry.js +4 -0
  413. package/dist/ionic/p-35696017.entry.js +4 -0
  414. package/dist/ionic/p-363d1209.entry.js +4 -0
  415. package/dist/ionic/p-46a38cfd.entry.js +4 -0
  416. package/dist/ionic/{p-301c43f8.entry.js → p-49d06882.entry.js} +1 -1
  417. package/dist/ionic/p-4eec1a5e.entry.js +4 -0
  418. package/dist/ionic/p-530fcd71.entry.js +4 -0
  419. package/dist/ionic/{p-9833cf63.entry.js → p-582824c5.entry.js} +1 -1
  420. package/dist/ionic/{p-1b169fb6.entry.js → p-5c8f7253.entry.js} +1 -1
  421. package/dist/ionic/p-5d6fb6e3.entry.js +4 -0
  422. package/dist/ionic/{p-e6cedcd7.entry.js → p-652318c3.entry.js} +1 -1
  423. package/dist/ionic/p-66fbe052.entry.js +4 -0
  424. package/dist/ionic/{p-9fae83d8.entry.js → p-675b1a31.entry.js} +1 -1
  425. package/dist/ionic/{p-bcaa827e.entry.js → p-6f37536a.entry.js} +1 -1
  426. package/dist/ionic/{p-370a60ee.entry.js → p-79bd78f9.entry.js} +1 -1
  427. package/dist/ionic/p-7babec72.entry.js +4 -0
  428. package/dist/ionic/{p-6af16209.entry.js → p-7cad388a.entry.js} +1 -1
  429. package/dist/ionic/{p-6b701daa.entry.js → p-7f98e710.entry.js} +1 -1
  430. package/dist/ionic/p-82d5bb3d.entry.js +4 -0
  431. package/dist/ionic/{p-7ca71c83.entry.js → p-906bb44d.entry.js} +1 -1
  432. package/dist/ionic/{p-23fac490.entry.js → p-915b3e3d.entry.js} +1 -1
  433. package/dist/ionic/{p-e663bc5a.entry.js → p-9575b654.entry.js} +1 -1
  434. package/dist/ionic/p-97eb0812.entry.js +4 -0
  435. package/dist/ionic/p-9b6d46f2.entry.js +4 -0
  436. package/dist/ionic/{p-DB_iPQC-.js → p-B0q1YL7N.js} +1 -1
  437. package/dist/ionic/{p-NFFyoJ4Q.js → p-BFvmZNyx.js} +1 -1
  438. package/dist/ionic/p-BKc55Xev.js +4 -0
  439. package/dist/ionic/{p-CYbRmDdy.js → p-BOVrCkpJ.js} +1 -1
  440. package/{components/p-Cy5XSfIk.js → dist/ionic/p-BYEqWnSg.js} +1 -1
  441. package/dist/ionic/p-Bmgaetn_.js +4 -0
  442. package/dist/ionic/{p-BAt5H1ac.js → p-C7hRNDhM.js} +1 -1
  443. package/dist/ionic/p-C8IsBmNU.js +5 -0
  444. package/dist/ionic/p-CJxh_yLS.js +4 -0
  445. package/dist/ionic/{p-CGmVTdWh.js → p-CTfR9YZG.js} +1 -1
  446. package/{components/p-C59ryAuS.js → dist/ionic/p-CwgG81ZD.js} +1 -1
  447. package/{components/p-BR3tZJmu.js → dist/ionic/p-D-eFFUkA.js} +1 -1
  448. package/{components/p-BS1TtEiJ.js → dist/ionic/p-D0dMcSkw.js} +1 -1
  449. package/dist/ionic/{p-DjriolRs.js → p-DCv9sLH2.js} +1 -1
  450. package/dist/ionic/{p-Bum7H1fw.js → p-DDb5r57F.js} +1 -1
  451. package/dist/ionic/{p-DLbbmF9h.js → p-DNcfiJwE.js} +1 -1
  452. package/{components/p-9VcRUwdB.js → dist/ionic/p-DUt5fQmA.js} +1 -1
  453. package/dist/ionic/p-DZRJwG4S.js +4 -0
  454. package/{components/p-BUbsoBOV.js → dist/ionic/p-DbQ5QkTP.js} +1 -1
  455. package/dist/ionic/{p-BxIcPWoV.js → p-Dc45iWE4.js} +1 -1
  456. package/{components/p-Cq8cQ0NL.js → dist/ionic/p-DdR6rpbR.js} +1 -1
  457. package/dist/ionic/{p-CYvM5g3q.js → p-MUoJJJwd.js} +1 -1
  458. package/dist/ionic/p-a4a9f5ae.entry.js +4 -0
  459. package/dist/ionic/{p-f5dfb9a3.entry.js → p-ac4eb91d.entry.js} +1 -1
  460. package/dist/ionic/{p-ca31010f.entry.js → p-b0a7585c.entry.js} +1 -1
  461. package/dist/ionic/p-b0ebf9f8.entry.js +4 -0
  462. package/dist/ionic/{p-294f4bb5.entry.js → p-b8551510.entry.js} +1 -1
  463. package/dist/ionic/{p-f8186550.entry.js → p-bce86e56.entry.js} +1 -1
  464. package/dist/ionic/p-be263062.entry.js +4 -0
  465. package/dist/ionic/p-c175d792.entry.js +4 -0
  466. package/dist/ionic/p-cc2a9936.entry.js +4 -0
  467. package/dist/ionic/p-cc45bcbc.entry.js +4 -0
  468. package/dist/ionic/p-d0a2a1ab.entry.js +4 -0
  469. package/dist/ionic/{p-b440381f.entry.js → p-d1f54e28.entry.js} +1 -1
  470. package/dist/ionic/{p-a84f2d21.entry.js → p-da7d04cc.entry.js} +1 -1
  471. package/dist/ionic/p-e4c57008.entry.js +4 -0
  472. package/dist/ionic/p-e5d6d0f0.entry.js +4 -0
  473. package/dist/ionic/p-f1dfee25.entry.js +4 -0
  474. package/dist/ionic/p-f9f7b9db.entry.js +4 -0
  475. package/dist/ionic/{p-c3cce9d8.entry.js → p-fb0271ae.entry.js} +1 -1
  476. package/dist/ionic/{p-e863ffe8.entry.js → p-fbb00634.entry.js} +1 -1
  477. package/dist/types/components/datetime/datetime.d.ts +0 -10
  478. package/dist/types/components/header/header.utils.d.ts +1 -2
  479. package/dist/types/components/item/item.d.ts +0 -2
  480. package/dist/types/components/item-divider/item-divider.d.ts +0 -3
  481. package/dist/types/components/item-option/item-option.d.ts +0 -2
  482. package/dist/types/components/list-header/list-header.d.ts +0 -2
  483. package/dist/types/components/modal/gestures/sheet.d.ts +2 -2
  484. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +2 -2
  485. package/dist/types/components/modal/modal-interface.d.ts +0 -25
  486. package/dist/types/components/modal/modal.d.ts +1 -22
  487. package/dist/types/components/range/range-interface.d.ts +0 -1
  488. package/dist/types/components/range/range.d.ts +4 -44
  489. package/dist/types/components/refresher/refresher-interface.d.ts +0 -7
  490. package/dist/types/components/refresher/refresher.d.ts +3 -16
  491. package/dist/types/components/segment-view/segment-view.d.ts +0 -4
  492. package/dist/types/components/select/select.d.ts +0 -3
  493. package/dist/types/components/select-modal/select-modal.d.ts +0 -4
  494. package/dist/types/components.d.ts +191 -964
  495. package/dist/types/interface.d.ts +2 -2
  496. package/dist/types/stencil-public-runtime.d.ts +14 -126
  497. package/dist/types/utils/gesture/listener.d.ts +1 -2
  498. package/hydrate/index.d.ts +0 -12
  499. package/hydrate/index.js +1421 -5632
  500. package/hydrate/index.mjs +1422 -5631
  501. package/package.json +2 -2
  502. package/components/p-1KVKSLu5.js +0 -4
  503. package/components/p-ApmKVjaE.js +0 -4
  504. package/components/p-B6FQ0cKR.js +0 -4
  505. package/components/p-B6HaBl3o.js +0 -4
  506. package/components/p-B8b1Ukl9.js +0 -4
  507. package/components/p-BFxT89Wl.js +0 -4
  508. package/components/p-BJoMtgfR.js +0 -4
  509. package/components/p-BNAG-aVv.js +0 -4
  510. package/components/p-BSB38Tek.js +0 -4
  511. package/components/p-BTeL5HCK.js +0 -4
  512. package/components/p-BVnB3eEn.js +0 -4
  513. package/components/p-BYDc3hSE.js +0 -4
  514. package/components/p-BagjAGC0.js +0 -4
  515. package/components/p-BegtE7nr.js +0 -4
  516. package/components/p-BgwEQWW6.js +0 -4
  517. package/components/p-Bk2zuNWT.js +0 -4
  518. package/components/p-Bum_LjMh.js +0 -4
  519. package/components/p-BxwWvu-b.js +0 -4
  520. package/components/p-C4jPsTQa.js +0 -4
  521. package/components/p-C7AoMl7c.js +0 -4
  522. package/components/p-CBzELu-H.js +0 -4
  523. package/components/p-CDfQnFrd.js +0 -4
  524. package/components/p-CH0NYjKq.js +0 -4
  525. package/components/p-CU1SSH8_.js +0 -4
  526. package/components/p-CVF7ukTk.js +0 -4
  527. package/components/p-CgfaEEem.js +0 -4
  528. package/components/p-CgqKJg96.js +0 -4
  529. package/components/p-CneGxKsZ.js +0 -4
  530. package/components/p-CoA-aqGF.js +0 -4
  531. package/components/p-Csw8xuz4.js +0 -4
  532. package/components/p-Cwv-vmkN.js +0 -4
  533. package/components/p-Cyxa_4PV.js +0 -4
  534. package/components/p-Cz5nLPGT.js +0 -4
  535. package/components/p-D6NJwNJN.js +0 -4
  536. package/components/p-DHsZWn1l.js +0 -4
  537. package/components/p-DJMZehmW.js +0 -4
  538. package/components/p-DYdpXONG.js +0 -4
  539. package/components/p-DgbT0exM.js +0 -4
  540. package/components/p-YLXPWgVj.js +0 -4
  541. package/components/p-ak_d-z48.js +0 -4
  542. package/components/p-fpbh6w3f.js +0 -4
  543. package/components/p-kvaDs24J.js +0 -4
  544. package/components/p-vEbVo2hO.js +0 -4
  545. package/dist/cjs/app-globals-CLI8xCmk.js +0 -11
  546. package/dist/esm/app-globals-DhZjtldk.js +0 -9
  547. package/dist/ionic/p-031b76f7.entry.js +0 -4
  548. package/dist/ionic/p-045a6a42.entry.js +0 -4
  549. package/dist/ionic/p-07506134.entry.js +0 -4
  550. package/dist/ionic/p-084c25b2.entry.js +0 -4
  551. package/dist/ionic/p-0d8b5c38.entry.js +0 -4
  552. package/dist/ionic/p-16813ce7.entry.js +0 -4
  553. package/dist/ionic/p-16b65553.entry.js +0 -4
  554. package/dist/ionic/p-1b02923f.entry.js +0 -4
  555. package/dist/ionic/p-2a68388b.entry.js +0 -4
  556. package/dist/ionic/p-2f5a8140.entry.js +0 -4
  557. package/dist/ionic/p-3e143d1d.entry.js +0 -4
  558. package/dist/ionic/p-4819b469.entry.js +0 -4
  559. package/dist/ionic/p-4dd5e8e0.entry.js +0 -4
  560. package/dist/ionic/p-51c11c47.entry.js +0 -4
  561. package/dist/ionic/p-53f750a5.entry.js +0 -4
  562. package/dist/ionic/p-6b97f2a3.entry.js +0 -4
  563. package/dist/ionic/p-71e322f7.entry.js +0 -4
  564. package/dist/ionic/p-7620be24.entry.js +0 -4
  565. package/dist/ionic/p-771b27a5.entry.js +0 -4
  566. package/dist/ionic/p-96a2e768.entry.js +0 -4
  567. package/dist/ionic/p-9cbc6f1f.entry.js +0 -4
  568. package/dist/ionic/p-9cdbabbb.entry.js +0 -4
  569. package/dist/ionic/p-9eac4eb1.entry.js +0 -4
  570. package/dist/ionic/p-B8xlpH8p.js +0 -4
  571. package/dist/ionic/p-BW_TRJm8.js +0 -4
  572. package/dist/ionic/p-BvFYtOdE.js +0 -4
  573. package/dist/ionic/p-C0JvVFMv.js +0 -4
  574. package/dist/ionic/p-CmFz1Mjc.js +0 -4
  575. package/dist/ionic/p-CtA-yJYy.js +0 -4
  576. package/dist/ionic/p-D8HJQ1qq.js +0 -4
  577. package/dist/ionic/p-DTPR1Wpn.js +0 -4
  578. package/dist/ionic/p-DtVZDHlS.js +0 -4
  579. package/dist/ionic/p-IGIE5vDm.js +0 -5
  580. package/dist/ionic/p-a805674e.entry.js +0 -4
  581. package/dist/ionic/p-aa47f46e.entry.js +0 -4
  582. package/dist/ionic/p-b6e0ff03.entry.js +0 -4
  583. package/dist/ionic/p-d4e8b473.entry.js +0 -4
  584. package/dist/ionic/p-e6c5f060.entry.js +0 -4
  585. package/dist/ionic/p-fdbc90d4.entry.js +0 -4
  586. package/dist/ionic/p-gbVXD275.js +0 -4
  587. package/dist/ionic/p-hNN3VvaC.js +0 -4
@@ -0,0 +1,339 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { j as printIonError } from './p-DWoUQeZ3.js';
5
+
6
+ const transitionEndAsync = (el, expectedDuration = 0) => {
7
+ return new Promise((resolve) => {
8
+ transitionEnd(el, expectedDuration, resolve);
9
+ });
10
+ };
11
+ /**
12
+ * Allows developer to wait for a transition
13
+ * to finish and fallback to a timer if the
14
+ * transition is cancelled or otherwise
15
+ * never finishes. Also see transitionEndAsync
16
+ * which is an await-able version of this.
17
+ */
18
+ const transitionEnd = (el, expectedDuration = 0, callback) => {
19
+ let unRegTrans;
20
+ let animationTimeout;
21
+ const opts = { passive: true };
22
+ const ANIMATION_FALLBACK_TIMEOUT = 500;
23
+ const unregister = () => {
24
+ if (unRegTrans) {
25
+ unRegTrans();
26
+ }
27
+ };
28
+ const onTransitionEnd = (ev) => {
29
+ if (ev === undefined || el === ev.target) {
30
+ unregister();
31
+ callback(ev);
32
+ }
33
+ };
34
+ if (el) {
35
+ el.addEventListener('webkitTransitionEnd', onTransitionEnd, opts);
36
+ el.addEventListener('transitionend', onTransitionEnd, opts);
37
+ animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);
38
+ unRegTrans = () => {
39
+ if (animationTimeout !== undefined) {
40
+ clearTimeout(animationTimeout);
41
+ animationTimeout = undefined;
42
+ }
43
+ el.removeEventListener('webkitTransitionEnd', onTransitionEnd, opts);
44
+ el.removeEventListener('transitionend', onTransitionEnd, opts);
45
+ };
46
+ }
47
+ return unregister;
48
+ };
49
+ /**
50
+ * Waits for a component to be ready for
51
+ * both custom element and non-custom element builds.
52
+ * If non-custom element build, el.componentOnReady
53
+ * will be used.
54
+ * For custom element builds, we wait a frame
55
+ * so that the inner contents of the component
56
+ * have a chance to render.
57
+ *
58
+ * Use this utility rather than calling
59
+ * el.componentOnReady yourself.
60
+ */
61
+ const componentOnReady = (el, callback) => {
62
+ if (el.componentOnReady) {
63
+ // eslint-disable-next-line custom-rules/no-component-on-ready-method
64
+ el.componentOnReady().then((resolvedEl) => callback(resolvedEl));
65
+ }
66
+ else {
67
+ raf(() => callback(el));
68
+ }
69
+ };
70
+ /**
71
+ * This functions checks if a Stencil component is using
72
+ * the lazy loaded build of Stencil. Returns `true` if
73
+ * the component is lazy loaded. Returns `false` otherwise.
74
+ */
75
+ const hasLazyBuild = (stencilEl) => {
76
+ return stencilEl.componentOnReady !== undefined;
77
+ };
78
+ /**
79
+ * Elements inside of web components sometimes need to inherit global attributes
80
+ * set on the host. For example, the inner input in `ion-input` should inherit
81
+ * the `title` attribute that developers set directly on `ion-input`. This
82
+ * helper function should be called in componentWillLoad and assigned to a variable
83
+ * that is later used in the render function.
84
+ *
85
+ * This does not need to be reactive as changing attributes on the host element
86
+ * does not trigger a re-render.
87
+ */
88
+ const inheritAttributes = (el, attributes = []) => {
89
+ const attributeObject = {};
90
+ attributes.forEach((attr) => {
91
+ if (el.hasAttribute(attr)) {
92
+ const value = el.getAttribute(attr);
93
+ if (value !== null) {
94
+ attributeObject[attr] = el.getAttribute(attr);
95
+ }
96
+ el.removeAttribute(attr);
97
+ }
98
+ });
99
+ return attributeObject;
100
+ };
101
+ /**
102
+ * List of available ARIA attributes + `role`.
103
+ * Removed deprecated attributes.
104
+ * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes
105
+ */
106
+ const ariaAttributes = [
107
+ 'role',
108
+ 'aria-activedescendant',
109
+ 'aria-atomic',
110
+ 'aria-autocomplete',
111
+ 'aria-braillelabel',
112
+ 'aria-brailleroledescription',
113
+ 'aria-busy',
114
+ 'aria-checked',
115
+ 'aria-colcount',
116
+ 'aria-colindex',
117
+ 'aria-colindextext',
118
+ 'aria-colspan',
119
+ 'aria-controls',
120
+ 'aria-current',
121
+ 'aria-describedby',
122
+ 'aria-description',
123
+ 'aria-details',
124
+ 'aria-disabled',
125
+ 'aria-errormessage',
126
+ 'aria-expanded',
127
+ 'aria-flowto',
128
+ 'aria-haspopup',
129
+ 'aria-hidden',
130
+ 'aria-invalid',
131
+ 'aria-keyshortcuts',
132
+ 'aria-label',
133
+ 'aria-labelledby',
134
+ 'aria-level',
135
+ 'aria-live',
136
+ 'aria-multiline',
137
+ 'aria-multiselectable',
138
+ 'aria-orientation',
139
+ 'aria-owns',
140
+ 'aria-placeholder',
141
+ 'aria-posinset',
142
+ 'aria-pressed',
143
+ 'aria-readonly',
144
+ 'aria-relevant',
145
+ 'aria-required',
146
+ 'aria-roledescription',
147
+ 'aria-rowcount',
148
+ 'aria-rowindex',
149
+ 'aria-rowindextext',
150
+ 'aria-rowspan',
151
+ 'aria-selected',
152
+ 'aria-setsize',
153
+ 'aria-sort',
154
+ 'aria-valuemax',
155
+ 'aria-valuemin',
156
+ 'aria-valuenow',
157
+ 'aria-valuetext',
158
+ ];
159
+ /**
160
+ * Returns an array of aria attributes that should be copied from
161
+ * the shadow host element to a target within the light DOM.
162
+ * @param el The element that the attributes should be copied from.
163
+ * @param ignoreList The list of aria-attributes to ignore reflecting and removing from the host.
164
+ * Use this in instances where we manually specify aria attributes on the `<Host>` element.
165
+ */
166
+ const inheritAriaAttributes = (el, ignoreList) => {
167
+ let attributesToInherit = ariaAttributes;
168
+ return inheritAttributes(el, attributesToInherit);
169
+ };
170
+ const addEventListener = (el, eventName, callback, opts) => {
171
+ return el.addEventListener(eventName, callback, opts);
172
+ };
173
+ const removeEventListener = (el, eventName, callback, opts) => {
174
+ return el.removeEventListener(eventName, callback, opts);
175
+ };
176
+ /**
177
+ * Gets the root context of a shadow dom element
178
+ * On newer browsers this will be the shadowRoot,
179
+ * but for older browser this may just be the
180
+ * element itself.
181
+ *
182
+ * Useful for whenever you need to explicitly
183
+ * do "myElement.shadowRoot!.querySelector(...)".
184
+ */
185
+ const getElementRoot = (el, fallback = el) => {
186
+ return el.shadowRoot || fallback;
187
+ };
188
+ /**
189
+ * Patched version of requestAnimationFrame that avoids ngzone
190
+ * Use only when you know ngzone should not run
191
+ */
192
+ const raf = (h) => {
193
+ if (typeof __zone_symbol__requestAnimationFrame === 'function') {
194
+ return __zone_symbol__requestAnimationFrame(h);
195
+ }
196
+ if (typeof requestAnimationFrame === 'function') {
197
+ return requestAnimationFrame(h);
198
+ }
199
+ return setTimeout(h);
200
+ };
201
+ const hasShadowDom = (el) => {
202
+ return !!el.shadowRoot && !!el.attachShadow;
203
+ };
204
+ const focusVisibleElement = (el) => {
205
+ el.focus();
206
+ /**
207
+ * When programmatically focusing an element,
208
+ * the focus-visible utility will not run because
209
+ * it is expecting a keyboard event to have triggered this;
210
+ * however, there are times when we need to manually control
211
+ * this behavior so we call the `setFocus` method on ion-app
212
+ * which will let us explicitly set the elements to focus.
213
+ */
214
+ if (el.classList.contains('ion-focusable')) {
215
+ const app = el.closest('ion-app');
216
+ if (app) {
217
+ app.setFocus([el]);
218
+ }
219
+ }
220
+ };
221
+ /**
222
+ * This method is used to add a hidden input to a host element that contains
223
+ * a Shadow DOM. It does not add the input inside of the Shadow root which
224
+ * allows it to be picked up inside of forms. It should contain the same
225
+ * values as the host element.
226
+ *
227
+ * @param always Add a hidden input even if the container does not use Shadow
228
+ * @param container The element where the input will be added
229
+ * @param name The name of the input
230
+ * @param value The value of the input
231
+ * @param disabled If true, the input is disabled
232
+ */
233
+ const renderHiddenInput = (always, container, name, value, disabled) => {
234
+ {
235
+ let input = container.querySelector('input.aux-input');
236
+ if (!input) {
237
+ input = container.ownerDocument.createElement('input');
238
+ input.type = 'hidden';
239
+ input.classList.add('aux-input');
240
+ container.appendChild(input);
241
+ }
242
+ input.disabled = disabled;
243
+ input.name = name;
244
+ input.value = value || '';
245
+ }
246
+ };
247
+ const clamp = (min, n, max) => {
248
+ return Math.max(min, Math.min(n, max));
249
+ };
250
+ const assert = (actual, reason) => {
251
+ if (!actual) {
252
+ const message = 'ASSERT: ' + reason;
253
+ printIonError(message);
254
+ debugger; // eslint-disable-line
255
+ throw new Error(message);
256
+ }
257
+ };
258
+ const pointerCoord = (ev) => {
259
+ // get X coordinates for either a mouse click
260
+ // or a touch depending on the given event
261
+ if (ev) {
262
+ const changedTouches = ev.changedTouches;
263
+ if (changedTouches && changedTouches.length > 0) {
264
+ const touch = changedTouches[0];
265
+ return { x: touch.clientX, y: touch.clientY };
266
+ }
267
+ if (ev.pageX !== undefined) {
268
+ return { x: ev.pageX, y: ev.pageY };
269
+ }
270
+ }
271
+ return { x: 0, y: 0 };
272
+ };
273
+ /**
274
+ * @hidden
275
+ * Given a side, return if it should be on the end
276
+ * based on the value of dir
277
+ * @param side the side
278
+ * @param isRTL whether the application dir is rtl
279
+ */
280
+ const isEndSide = (side) => {
281
+ const isRTL = document.dir === 'rtl';
282
+ switch (side) {
283
+ case 'start':
284
+ return isRTL;
285
+ case 'end':
286
+ return !isRTL;
287
+ default:
288
+ throw new Error(`"${side}" is not a valid value for [side]. Use "start" or "end" instead.`);
289
+ }
290
+ };
291
+ const debounceEvent = (event, wait) => {
292
+ const original = event._original || event;
293
+ return {
294
+ _original: event,
295
+ emit: debounce(original.emit.bind(original), wait),
296
+ };
297
+ };
298
+ const debounce = (func, wait = 0) => {
299
+ let timer;
300
+ return (...args) => {
301
+ clearTimeout(timer);
302
+ timer = setTimeout(func, wait, ...args);
303
+ };
304
+ };
305
+ /**
306
+ * Check whether the two string maps are shallow equal.
307
+ *
308
+ * undefined is treated as an empty map.
309
+ *
310
+ * @returns whether the keys are the same and the values are shallow equal.
311
+ */
312
+ const shallowEqualStringMap = (map1, map2) => {
313
+ map1 !== null && map1 !== void 0 ? map1 : (map1 = {});
314
+ map2 !== null && map2 !== void 0 ? map2 : (map2 = {});
315
+ if (map1 === map2) {
316
+ return true;
317
+ }
318
+ const keys1 = Object.keys(map1);
319
+ if (keys1.length !== Object.keys(map2).length) {
320
+ return false;
321
+ }
322
+ for (const k1 of keys1) {
323
+ if (!(k1 in map2)) {
324
+ return false;
325
+ }
326
+ if (map1[k1] !== map2[k1]) {
327
+ return false;
328
+ }
329
+ }
330
+ return true;
331
+ };
332
+ /**
333
+ * Checks input for usable number. Not NaN and not Infinite.
334
+ */
335
+ const isSafeNumber = (input) => {
336
+ return typeof input === 'number' && !isNaN(input) && isFinite(input);
337
+ };
338
+
339
+ export { addEventListener as a, removeEventListener as b, componentOnReady as c, inheritAttributes as d, renderHiddenInput as e, clamp as f, getElementRoot as g, focusVisibleElement as h, inheritAriaAttributes as i, hasShadowDom as j, hasLazyBuild as k, debounceEvent as l, isEndSide as m, assert as n, isSafeNumber as o, debounce as p, pointerCoord as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
@@ -1,4 +1,144 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{K as e}from"./p-D13Eaw-8.js";const t="ionKeyboardDidShow",o="ionKeyboardDidHide";let i={},a={},d=!1;const s=()=>{i={},a={},d=!1},n=t=>{if(e.getEngine())r(t);else{if(!t.visualViewport)return;a=g(t.visualViewport),t.visualViewport.onresize=()=>{D(t),p()||b(t)?f(t):c(t)&&h(t)}}},r=e=>{e.addEventListener("keyboardDidShow",(t=>f(e,t))),e.addEventListener("keyboardDidHide",(()=>h(e)))},f=(e,t)=>{w(e,t),d=!0},h=e=>{y(e),d=!1},p=()=>!d&&i.width===a.width&&(i.height-a.height)*a.scale>150,b=e=>d&&!c(e),c=e=>d&&a.height===e.innerHeight,w=(e,o)=>{const i=new CustomEvent(t,{detail:{keyboardHeight:o?o.keyboardHeight:e.innerHeight-a.height}});e.dispatchEvent(i)},y=e=>{const t=new CustomEvent(o);e.dispatchEvent(t)},D=e=>{i=Object.assign({},a),a=g(e.visualViewport)},g=e=>({width:Math.round(e.width),height:Math.round(e.height),offsetTop:e.offsetTop,offsetLeft:e.offsetLeft,pageTop:e.pageTop,pageLeft:e.pageLeft,scale:e.scale});export{o as KEYBOARD_DID_CLOSE,t as KEYBOARD_DID_OPEN,g as copyVisualViewport,c as keyboardDidClose,p as keyboardDidOpen,b as keyboardDidResize,s as resetKeyboardAssist,h as setKeyboardClose,f as setKeyboardOpen,n as startKeyboardAssist,D as trackViewportChanges}
4
+ import { K as Keyboard } from './p-D13Eaw-8.js';
5
+
6
+ const KEYBOARD_DID_OPEN = 'ionKeyboardDidShow';
7
+ const KEYBOARD_DID_CLOSE = 'ionKeyboardDidHide';
8
+ const KEYBOARD_THRESHOLD = 150;
9
+ // TODO(FW-2832): types
10
+ let previousVisualViewport = {};
11
+ let currentVisualViewport = {};
12
+ let keyboardOpen = false;
13
+ /**
14
+ * This is only used for tests
15
+ */
16
+ const resetKeyboardAssist = () => {
17
+ previousVisualViewport = {};
18
+ currentVisualViewport = {};
19
+ keyboardOpen = false;
20
+ };
21
+ const startKeyboardAssist = (win) => {
22
+ const nativeEngine = Keyboard.getEngine();
23
+ /**
24
+ * If the native keyboard plugin is available
25
+ * then we are running in a native environment. As a result
26
+ * we should only listen on the native events instead of
27
+ * using the Visual Viewport as the Ionic webview manipulates
28
+ * how it resizes such that the Visual Viewport API is not
29
+ * reliable here.
30
+ */
31
+ if (nativeEngine) {
32
+ startNativeListeners(win);
33
+ }
34
+ else {
35
+ if (!win.visualViewport) {
36
+ return;
37
+ }
38
+ currentVisualViewport = copyVisualViewport(win.visualViewport);
39
+ win.visualViewport.onresize = () => {
40
+ trackViewportChanges(win);
41
+ if (keyboardDidOpen() || keyboardDidResize(win)) {
42
+ setKeyboardOpen(win);
43
+ }
44
+ else if (keyboardDidClose(win)) {
45
+ setKeyboardClose(win);
46
+ }
47
+ };
48
+ }
49
+ };
50
+ /**
51
+ * Listen for events fired by native keyboard plugin
52
+ * in Capacitor/Cordova so devs only need to listen
53
+ * in one place.
54
+ */
55
+ const startNativeListeners = (win) => {
56
+ win.addEventListener('keyboardDidShow', (ev) => setKeyboardOpen(win, ev));
57
+ win.addEventListener('keyboardDidHide', () => setKeyboardClose(win));
58
+ };
59
+ const setKeyboardOpen = (win, ev) => {
60
+ fireKeyboardOpenEvent(win, ev);
61
+ keyboardOpen = true;
62
+ };
63
+ const setKeyboardClose = (win) => {
64
+ fireKeyboardCloseEvent(win);
65
+ keyboardOpen = false;
66
+ };
67
+ /**
68
+ * Returns `true` if the `keyboardOpen` flag is not
69
+ * set, the previous visual viewport width equal the current
70
+ * visual viewport width, and if the scaled difference
71
+ * of the previous visual viewport height minus the current
72
+ * visual viewport height is greater than KEYBOARD_THRESHOLD
73
+ *
74
+ * We need to be able to accommodate users who have zooming
75
+ * enabled in their browser (or have zoomed in manually) which
76
+ * is why we take into account the current visual viewport's
77
+ * scale value.
78
+ */
79
+ const keyboardDidOpen = () => {
80
+ const scaledHeightDifference = (previousVisualViewport.height - currentVisualViewport.height) * currentVisualViewport.scale;
81
+ return (!keyboardOpen &&
82
+ previousVisualViewport.width === currentVisualViewport.width &&
83
+ scaledHeightDifference > KEYBOARD_THRESHOLD);
84
+ };
85
+ /**
86
+ * Returns `true` if the keyboard is open,
87
+ * but the keyboard did not close
88
+ */
89
+ const keyboardDidResize = (win) => {
90
+ return keyboardOpen && !keyboardDidClose(win);
91
+ };
92
+ /**
93
+ * Determine if the keyboard was closed
94
+ * Returns `true` if the `keyboardOpen` flag is set and
95
+ * the current visual viewport height equals the
96
+ * layout viewport height.
97
+ */
98
+ const keyboardDidClose = (win) => {
99
+ return keyboardOpen && currentVisualViewport.height === win.innerHeight;
100
+ };
101
+ /**
102
+ * Dispatch a keyboard open event
103
+ */
104
+ const fireKeyboardOpenEvent = (win, nativeEv) => {
105
+ const keyboardHeight = nativeEv ? nativeEv.keyboardHeight : win.innerHeight - currentVisualViewport.height;
106
+ const ev = new CustomEvent(KEYBOARD_DID_OPEN, {
107
+ detail: { keyboardHeight },
108
+ });
109
+ win.dispatchEvent(ev);
110
+ };
111
+ /**
112
+ * Dispatch a keyboard close event
113
+ */
114
+ const fireKeyboardCloseEvent = (win) => {
115
+ const ev = new CustomEvent(KEYBOARD_DID_CLOSE);
116
+ win.dispatchEvent(ev);
117
+ };
118
+ /**
119
+ * Given a window object, create a copy of
120
+ * the current visual and layout viewport states
121
+ * while also preserving the previous visual and
122
+ * layout viewport states
123
+ */
124
+ const trackViewportChanges = (win) => {
125
+ previousVisualViewport = Object.assign({}, currentVisualViewport);
126
+ currentVisualViewport = copyVisualViewport(win.visualViewport);
127
+ };
128
+ /**
129
+ * Creates a deep copy of the visual viewport
130
+ * at a given state
131
+ */
132
+ const copyVisualViewport = (visualViewport) => {
133
+ return {
134
+ width: Math.round(visualViewport.width),
135
+ height: Math.round(visualViewport.height),
136
+ offsetTop: visualViewport.offsetTop,
137
+ offsetLeft: visualViewport.offsetLeft,
138
+ pageTop: visualViewport.pageTop,
139
+ pageLeft: visualViewport.pageLeft,
140
+ scale: visualViewport.scale,
141
+ };
142
+ };
143
+
144
+ export { KEYBOARD_DID_CLOSE, KEYBOARD_DID_OPEN, copyVisualViewport, keyboardDidClose, keyboardDidOpen, keyboardDidResize, resetKeyboardAssist, setKeyboardClose, setKeyboardOpen, startKeyboardAssist, trackViewportChanges };
@@ -0,0 +1,67 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { w as writeTask } from './p-DWoUQeZ3.js';
5
+ import { h as hapticSelectionEnd, a as hapticSelectionChanged, b as hapticSelectionStart } from './p-cyNmxje6.js';
6
+ import { createGesture } from './p-Cl0B-RWe.js';
7
+
8
+ const createButtonActiveGesture = (el, isButton) => {
9
+ let currentTouchedButton;
10
+ let initialTouchedButton;
11
+ const activateButtonAtPoint = (x, y, hapticFeedbackFn) => {
12
+ if (typeof document === 'undefined') {
13
+ return;
14
+ }
15
+ const target = document.elementFromPoint(x, y);
16
+ if (!target || !isButton(target) || target.disabled) {
17
+ clearActiveButton();
18
+ return;
19
+ }
20
+ if (target !== currentTouchedButton) {
21
+ clearActiveButton();
22
+ setActiveButton(target, hapticFeedbackFn);
23
+ }
24
+ };
25
+ const setActiveButton = (button, hapticFeedbackFn) => {
26
+ currentTouchedButton = button;
27
+ if (!initialTouchedButton) {
28
+ initialTouchedButton = currentTouchedButton;
29
+ }
30
+ const buttonToModify = currentTouchedButton;
31
+ writeTask(() => buttonToModify.classList.add('ion-activated'));
32
+ hapticFeedbackFn();
33
+ };
34
+ const clearActiveButton = (dispatchClick = false) => {
35
+ if (!currentTouchedButton) {
36
+ return;
37
+ }
38
+ const buttonToModify = currentTouchedButton;
39
+ writeTask(() => buttonToModify.classList.remove('ion-activated'));
40
+ /**
41
+ * Clicking on one button, but releasing on another button
42
+ * does not dispatch a click event in browsers, so we
43
+ * need to do it manually here. Some browsers will
44
+ * dispatch a click if clicking on one button, dragging over
45
+ * another button, and releasing on the original button. In that
46
+ * case, we need to make sure we do not cause a double click there.
47
+ */
48
+ if (dispatchClick && initialTouchedButton !== currentTouchedButton) {
49
+ currentTouchedButton.click();
50
+ }
51
+ currentTouchedButton = undefined;
52
+ };
53
+ return createGesture({
54
+ el,
55
+ gestureName: 'buttonActiveDrag',
56
+ threshold: 0,
57
+ onStart: (ev) => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionStart),
58
+ onMove: (ev) => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionChanged),
59
+ onEnd: () => {
60
+ clearActiveButton(true);
61
+ hapticSelectionEnd();
62
+ initialTouchedButton = undefined;
63
+ },
64
+ });
65
+ };
66
+
67
+ export { createButtonActiveGesture as c };