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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/components/action-sheet.js +1 -561
  2. package/components/alert.js +1 -610
  3. package/components/animation.js +1 -817
  4. package/components/backdrop.js +1 -72
  5. package/components/button-active.js +1 -64
  6. package/components/button.js +1 -303
  7. package/components/buttons.js +1 -56
  8. package/components/capacitor.js +1 -10
  9. package/components/checkbox.js +1 -261
  10. package/components/config.js +1 -192
  11. package/components/content.js +1 -475
  12. package/components/cubic-bezier.js +1 -87
  13. package/components/data.js +1 -1635
  14. package/components/dir.js +1 -15
  15. package/components/focus-visible.js +1 -72
  16. package/components/framework-delegate.js +1 -137
  17. package/components/gesture-controller.js +1 -192
  18. package/components/haptic.js +1 -155
  19. package/components/hardware-back-button.js +1 -112
  20. package/components/header.js +1 -417
  21. package/components/helpers.js +1 -336
  22. package/components/icon.js +1 -456
  23. package/components/index.d.ts +2 -0
  24. package/components/index.js +1 -115
  25. package/components/index2.js +1 -416
  26. package/components/index3.js +1 -452
  27. package/components/index4.js +1 -118
  28. package/components/index5.js +1 -303
  29. package/components/index6.js +1 -29
  30. package/components/index7.js +1 -164
  31. package/components/index8.js +1 -125
  32. package/components/index9.js +1 -4
  33. package/components/input-shims.js +1 -624
  34. package/components/input.utils.js +1 -144
  35. package/components/ion-accordion-group.js +1 -269
  36. package/components/ion-accordion.js +1 -457
  37. package/components/ion-action-sheet.js +1 -6
  38. package/components/ion-alert.js +1 -6
  39. package/components/ion-app.js +1 -128
  40. package/components/ion-avatar.js +1 -41
  41. package/components/ion-back-button.js +1 -131
  42. package/components/ion-backdrop.js +1 -6
  43. package/components/ion-badge.js +1 -47
  44. package/components/ion-breadcrumb.js +1 -137
  45. package/components/ion-breadcrumbs.js +1 -164
  46. package/components/ion-button.js +1 -6
  47. package/components/ion-buttons.js +1 -6
  48. package/components/ion-card-content.js +1 -45
  49. package/components/ion-card-header.js +1 -56
  50. package/components/ion-card-subtitle.js +1 -48
  51. package/components/ion-card-title.js +1 -48
  52. package/components/ion-card.js +1 -107
  53. package/components/ion-checkbox.js +1 -6
  54. package/components/ion-chip.js +1 -66
  55. package/components/ion-col.js +1 -163
  56. package/components/ion-content.js +1 -6
  57. package/components/ion-datetime-button.js +1 -384
  58. package/components/ion-datetime.js +1 -2046
  59. package/components/ion-fab-button.js +1 -151
  60. package/components/ion-fab-list.js +1 -66
  61. package/components/ion-fab.js +1 -101
  62. package/components/ion-footer.js +1 -159
  63. package/components/ion-grid.js +1 -46
  64. package/components/ion-header.js +1 -6
  65. package/components/ion-icon.js +1 -6
  66. package/components/ion-img.js +1 -124
  67. package/components/ion-infinite-scroll-content.js +1 -70
  68. package/components/ion-infinite-scroll.js +1 -236
  69. package/components/ion-input-otp.js +1 -683
  70. package/components/ion-input-password-toggle.js +1 -129
  71. package/components/ion-input.js +1 -617
  72. package/components/ion-item-divider.js +1 -59
  73. package/components/ion-item-group.js +1 -46
  74. package/components/ion-item-option.js +1 -91
  75. package/components/ion-item-options.js +1 -73
  76. package/components/ion-item-sliding.js +1 -458
  77. package/components/ion-item.js +1 -6
  78. package/components/ion-label.js +1 -6
  79. package/components/ion-list-header.js +1 -6
  80. package/components/ion-list.js +1 -6
  81. package/components/ion-loading.js +1 -344
  82. package/components/ion-menu-button.js +1 -110
  83. package/components/ion-menu-toggle.js +1 -64
  84. package/components/ion-menu.js +1 -745
  85. package/components/ion-modal.js +1 -6
  86. package/components/ion-nav-link.js +1 -64
  87. package/components/ion-nav.js +1 -956
  88. package/components/ion-note.js +1 -47
  89. package/components/ion-picker-column-option.js +1 -6
  90. package/components/ion-picker-column.js +1 -6
  91. package/components/ion-picker-legacy-column.js +1 -6
  92. package/components/ion-picker-legacy.js +1 -343
  93. package/components/ion-picker.js +1 -6
  94. package/components/ion-popover.js +1 -6
  95. package/components/ion-progress-bar.js +1 -101
  96. package/components/ion-radio-group.js +1 -6
  97. package/components/ion-radio.js +1 -6
  98. package/components/ion-range.js +1 -853
  99. package/components/ion-refresher-content.js +1 -89
  100. package/components/ion-refresher.js +1 -751
  101. package/components/ion-reorder-group.js +1 -322
  102. package/components/ion-reorder.js +1 -60
  103. package/components/ion-ripple-effect.js +1 -6
  104. package/components/ion-route-redirect.js +1 -45
  105. package/components/ion-route.js +1 -74
  106. package/components/ion-router-link.js +1 -61
  107. package/components/ion-router-outlet.js +1 -227
  108. package/components/ion-router.js +1 -841
  109. package/components/ion-row.js +1 -36
  110. package/components/ion-searchbar.js +1 -530
  111. package/components/ion-segment-button.js +1 -174
  112. package/components/ion-segment-content.js +1 -35
  113. package/components/ion-segment-view.js +1 -148
  114. package/components/ion-segment.js +1 -602
  115. package/components/ion-select-modal.js +1 -6
  116. package/components/ion-select-option.js +1 -46
  117. package/components/ion-select-popover.js +1 -6
  118. package/components/ion-select.js +1 -1037
  119. package/components/ion-skeleton-text.js +1 -65
  120. package/components/ion-spinner.js +1 -6
  121. package/components/ion-split-pane.js +1 -197
  122. package/components/ion-tab-bar.js +1 -115
  123. package/components/ion-tab-button.js +1 -128
  124. package/components/ion-tab.js +1 -91
  125. package/components/ion-tabs.js +1 -205
  126. package/components/ion-text.js +1 -42
  127. package/components/ion-textarea.js +1 -554
  128. package/components/ion-thumbnail.js +1 -36
  129. package/components/ion-title.js +1 -6
  130. package/components/ion-toast.js +1 -941
  131. package/components/ion-toggle.js +1 -361
  132. package/components/ion-toolbar.js +1 -6
  133. package/components/ionic-global.js +1 -144
  134. package/components/ios.transition.js +1 -672
  135. package/components/item.js +1 -302
  136. package/components/keyboard-controller.js +1 -162
  137. package/components/keyboard.js +1 -141
  138. package/components/keyboard2.js +1 -76
  139. package/components/label.js +1 -100
  140. package/components/list-header.js +1 -47
  141. package/components/list.js +1 -68
  142. package/components/lock-controller.js +1 -35
  143. package/components/md.transition.js +1 -51
  144. package/components/menu-toggle-util.js +1 -9
  145. package/components/modal.js +1 -2674
  146. package/components/notch-controller.js +1 -150
  147. package/components/overlays.js +1 -912
  148. package/components/picker-column-option.js +1 -136
  149. package/components/picker-column.js +1 -595
  150. package/components/picker-column2.js +1 -377
  151. package/components/picker.js +1 -498
  152. package/components/popover.js +1 -1502
  153. package/components/radio-group.js +1 -287
  154. package/components/radio.js +1 -229
  155. package/components/refresher.utils.js +1 -193
  156. package/components/ripple-effect.js +1 -109
  157. package/components/select-modal.js +1 -196
  158. package/components/select-popover.js +1 -189
  159. package/components/spinner.js +1 -224
  160. package/components/status-tap.js +1 -36
  161. package/components/swipe-back.js +1 -75
  162. package/components/theme.js +1 -40
  163. package/components/title.js +1 -70
  164. package/components/toolbar.js +1 -89
  165. package/components/validity.js +1 -14
  166. package/components/watch-options.js +1 -44
  167. package/dist/cjs/{animation-Bt3H9L1C.js → animation-Dg4yiuR2.js} +1 -1
  168. package/dist/cjs/app-globals-CLI8xCmk.js +11 -0
  169. package/dist/cjs/{button-active-CMc8cD90.js → button-active-FscMI17-.js} +1 -1
  170. package/dist/cjs/{config-C5fsO43a.js → config-BukYi_pW.js} +1 -1
  171. package/dist/cjs/{data-JwZKaIQB.js → data-BYlBjkMU.js} +1 -1
  172. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-CRgp8o_p.js} +1 -1
  173. package/dist/cjs/{hardware-back-button-VCK4V3mG.js → hardware-back-button-C4rMJ5uI.js} +1 -1
  174. package/dist/cjs/{helpers-DrTqNghc.js → helpers-CxTYJdbT.js} +1 -1
  175. package/dist/cjs/{index-094mMFB-.js → index-C845Ti6K.js} +4 -4
  176. package/dist/cjs/{index-DrMUZJj6.js → index-CFUwM5x_.js} +5 -5
  177. package/dist/cjs/{index-D6Wc6v08.js → index-CqT-2gKy.js} +503 -382
  178. package/dist/cjs/{index-CO6eryBo.js → index-MbaBbWXk.js} +2 -2
  179. package/dist/cjs/{index-C534ULug.js → index-YcSftOMz.js} +2 -2
  180. package/dist/cjs/index.cjs.js +12 -12
  181. package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-DlFhYYTs.js} +3 -3
  182. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DmeJ8dmo.js} +2 -2
  183. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -15
  184. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -15
  185. package/dist/cjs/ion-alert.cjs.entry.js +25 -17
  186. package/dist/cjs/ion-app_8.cjs.entry.js +44 -40
  187. package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -12
  188. package/dist/cjs/ion-back-button.cjs.entry.js +7 -7
  189. package/dist/cjs/ion-backdrop.cjs.entry.js +6 -6
  190. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -14
  191. package/dist/cjs/ion-button_2.cjs.entry.js +36 -18
  192. package/dist/cjs/ion-card_5.cjs.entry.js +23 -23
  193. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
  194. package/dist/cjs/ion-chip.cjs.entry.js +6 -6
  195. package/dist/cjs/ion-col_3.cjs.entry.js +8 -8
  196. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
  197. package/dist/cjs/ion-datetime_3.cjs.entry.js +67 -39
  198. package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
  199. package/dist/cjs/ion-img.cjs.entry.js +8 -6
  200. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -13
  201. package/dist/cjs/ion-input-otp.cjs.entry.js +16 -10
  202. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -7
  203. package/dist/cjs/ion-input.cjs.entry.js +21 -13
  204. package/dist/cjs/ion-item-option_3.cjs.entry.js +17 -15
  205. package/dist/cjs/ion-item_8.cjs.entry.js +42 -36
  206. package/dist/cjs/ion-loading.cjs.entry.js +18 -14
  207. package/dist/cjs/ion-menu_3.cjs.entry.js +30 -22
  208. package/dist/cjs/ion-modal.cjs.entry.js +55 -40
  209. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
  210. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -8
  211. package/dist/cjs/ion-picker-column.cjs.entry.js +11 -7
  212. package/dist/cjs/ion-picker.cjs.entry.js +6 -6
  213. package/dist/cjs/ion-popover.cjs.entry.js +21 -15
  214. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
  215. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -13
  216. package/dist/cjs/ion-range.cjs.entry.js +29 -15
  217. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -14
  218. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -11
  219. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
  220. package/dist/cjs/ion-route_4.cjs.entry.js +20 -10
  221. package/dist/cjs/ion-searchbar.cjs.entry.js +22 -12
  222. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
  223. package/dist/cjs/ion-segment-view.cjs.entry.js +5 -5
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +12 -12
  226. package/dist/cjs/ion-select_3.cjs.entry.js +29 -21
  227. package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
  228. package/dist/cjs/ion-split-pane.cjs.entry.js +15 -9
  229. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +14 -12
  230. package/dist/cjs/ion-tab_2.cjs.entry.js +10 -8
  231. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  232. package/dist/cjs/ion-textarea.cjs.entry.js +18 -12
  233. package/dist/cjs/ion-toast.cjs.entry.js +21 -15
  234. package/dist/cjs/ion-toggle.cjs.entry.js +10 -8
  235. package/dist/cjs/{ionic-global-HMVqOFGO.js → ionic-global-Bc3kJi1Z.js} +1 -1
  236. package/dist/cjs/ionic.cjs.js +5 -5
  237. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-trBiC95R.js} +4 -4
  238. package/dist/cjs/loader.cjs.js +4 -4
  239. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-CUQECuvD.js} +4 -4
  240. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-sD-lTpdc.js} +1 -1
  241. package/dist/cjs/{overlays-B2b-TTbl.js → overlays-C2jiBSNQ.js} +5 -5
  242. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-CCJk5VgT.js} +3 -3
  243. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BGhTQ1CU.js} +2 -2
  244. package/dist/collection/collection-manifest.json +2 -2
  245. package/dist/collection/components/accordion-group/accordion-group.js +4 -2
  246. package/dist/collection/components/action-sheet/action-sheet.js +20 -10
  247. package/dist/collection/components/alert/alert.js +24 -12
  248. package/dist/collection/components/back-button/back-button.js +4 -2
  249. package/dist/collection/components/badge/badge.js +2 -1
  250. package/dist/collection/components/breadcrumb/breadcrumb.js +8 -4
  251. package/dist/collection/components/breadcrumbs/breadcrumbs.js +4 -2
  252. package/dist/collection/components/button/button.js +6 -3
  253. package/dist/collection/components/card/card.js +6 -3
  254. package/dist/collection/components/card-header/card-header.js +2 -1
  255. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -1
  256. package/dist/collection/components/card-title/card-title.js +2 -1
  257. package/dist/collection/components/checkbox/checkbox.js +4 -2
  258. package/dist/collection/components/chip/chip.js +2 -1
  259. package/dist/collection/components/content/content.js +8 -4
  260. package/dist/collection/components/datetime/datetime.js +34 -15
  261. package/dist/collection/components/datetime-button/datetime-button.js +2 -1
  262. package/dist/collection/components/fab-button/fab-button.js +6 -3
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -2
  264. package/dist/collection/components/input/input.js +11 -6
  265. package/dist/collection/components/input-otp/input-otp.js +8 -4
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +4 -2
  267. package/dist/collection/components/item/item.js +6 -3
  268. package/dist/collection/components/item-divider/item-divider.js +2 -1
  269. package/dist/collection/components/item-option/item-option.js +2 -1
  270. package/dist/collection/components/item-options/item-options.js +2 -1
  271. package/dist/collection/components/item-sliding/item-sliding.js +2 -1
  272. package/dist/collection/components/label/label.js +6 -3
  273. package/dist/collection/components/list-header/list-header.js +2 -1
  274. package/dist/collection/components/loading/loading.js +22 -11
  275. package/dist/collection/components/menu/menu.js +10 -5
  276. package/dist/collection/components/menu-button/menu-button.js +2 -1
  277. package/dist/collection/components/modal/gestures/sheet.js +32 -21
  278. package/dist/collection/components/modal/modal.js +35 -20
  279. package/dist/collection/components/nav/nav.js +89 -45
  280. package/dist/collection/components/nav-link/nav-link.js +9 -5
  281. package/dist/collection/components/note/note.js +2 -1
  282. package/dist/collection/components/picker/picker.js +2 -1
  283. package/dist/collection/components/picker-column/picker-column.js +6 -3
  284. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
  285. package/dist/collection/components/picker-legacy/picker.js +24 -12
  286. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
  287. package/dist/collection/components/popover/popover.js +33 -17
  288. package/dist/collection/components/progress-bar/progress-bar.js +2 -1
  289. package/dist/collection/components/radio/radio.js +2 -1
  290. package/dist/collection/components/radio-group/radio-group.js +6 -3
  291. package/dist/collection/components/range/range.js +14 -7
  292. package/dist/collection/components/refresher/refresher.js +73 -5
  293. package/dist/collection/components/refresher-content/refresher-content.js +8 -4
  294. package/dist/collection/components/reorder-group/reorder-group.js +6 -3
  295. package/dist/collection/components/route/route.js +4 -2
  296. package/dist/collection/components/router/router.js +10 -5
  297. package/dist/collection/components/router-link/router-link.js +6 -3
  298. package/dist/collection/components/router-outlet/router-outlet.js +18 -9
  299. package/dist/collection/components/searchbar/searchbar.js +11 -6
  300. package/dist/collection/components/segment/segment.js +10 -5
  301. package/dist/collection/components/segment-button/segment-button.js +4 -2
  302. package/dist/collection/components/segment-view/segment-view.js +2 -1
  303. package/dist/collection/components/select/select.js +10 -5
  304. package/dist/collection/components/select-modal/select-modal.js +2 -1
  305. package/dist/collection/components/select-popover/select-popover.js +2 -1
  306. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
  307. package/dist/collection/components/spinner/spinner.js +4 -2
  308. package/dist/collection/components/tab/tab.js +4 -2
  309. package/dist/collection/components/tab-bar/tab-bar.js +4 -2
  310. package/dist/collection/components/tab-button/tab-button.js +4 -2
  311. package/dist/collection/components/tabs/tabs.js +4 -2
  312. package/dist/collection/components/text/text.js +2 -1
  313. package/dist/collection/components/textarea/textarea.js +6 -3
  314. package/dist/collection/components/title/title.js +4 -2
  315. package/dist/collection/components/toast/toast.js +34 -17
  316. package/dist/collection/components/toggle/toggle.js +4 -2
  317. package/dist/collection/components/toolbar/toolbar.js +2 -1
  318. package/dist/docs.d.ts +37 -0
  319. package/dist/docs.json +835 -381
  320. package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
  321. package/dist/esm/app-globals-DhZjtldk.js +9 -0
  322. package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
  323. package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
  324. package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
  325. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
  326. package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
  327. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
  328. package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
  329. package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
  330. package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
  331. package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
  332. package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
  333. package/dist/esm/index.js +12 -12
  334. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-C1hAaHcP.js} +3 -3
  335. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
  336. package/dist/esm/ion-accordion_2.entry.js +23 -15
  337. package/dist/esm/ion-action-sheet.entry.js +21 -15
  338. package/dist/esm/ion-alert.entry.js +25 -17
  339. package/dist/esm/ion-app_8.entry.js +44 -40
  340. package/dist/esm/ion-avatar_3.entry.js +12 -12
  341. package/dist/esm/ion-back-button.entry.js +7 -7
  342. package/dist/esm/ion-backdrop.entry.js +6 -6
  343. package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
  344. package/dist/esm/ion-button_2.entry.js +36 -18
  345. package/dist/esm/ion-card_5.entry.js +23 -23
  346. package/dist/esm/ion-checkbox.entry.js +7 -7
  347. package/dist/esm/ion-chip.entry.js +6 -6
  348. package/dist/esm/ion-col_3.entry.js +8 -8
  349. package/dist/esm/ion-datetime-button.entry.js +8 -8
  350. package/dist/esm/ion-datetime_3.entry.js +67 -39
  351. package/dist/esm/ion-fab_3.entry.js +17 -13
  352. package/dist/esm/ion-img.entry.js +8 -6
  353. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
  354. package/dist/esm/ion-input-otp.entry.js +16 -10
  355. package/dist/esm/ion-input-password-toggle.entry.js +9 -7
  356. package/dist/esm/ion-input.entry.js +21 -13
  357. package/dist/esm/ion-item-option_3.entry.js +17 -15
  358. package/dist/esm/ion-item_8.entry.js +42 -36
  359. package/dist/esm/ion-loading.entry.js +18 -14
  360. package/dist/esm/ion-menu_3.entry.js +30 -22
  361. package/dist/esm/ion-modal.entry.js +55 -40
  362. package/dist/esm/ion-nav_2.entry.js +14 -10
  363. package/dist/esm/ion-picker-column-option.entry.js +10 -8
  364. package/dist/esm/ion-picker-column.entry.js +11 -7
  365. package/dist/esm/ion-picker.entry.js +6 -6
  366. package/dist/esm/ion-popover.entry.js +21 -15
  367. package/dist/esm/ion-progress-bar.entry.js +7 -7
  368. package/dist/esm/ion-radio_2.entry.js +17 -13
  369. package/dist/esm/ion-range.entry.js +29 -15
  370. package/dist/esm/ion-refresher_2.entry.js +45 -14
  371. package/dist/esm/ion-reorder_2.entry.js +13 -11
  372. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  373. package/dist/esm/ion-route_4.entry.js +20 -10
  374. package/dist/esm/ion-searchbar.entry.js +22 -12
  375. package/dist/esm/ion-segment-content.entry.js +3 -3
  376. package/dist/esm/ion-segment-view.entry.js +5 -5
  377. package/dist/esm/ion-segment_2.entry.js +26 -16
  378. package/dist/esm/ion-select-modal.entry.js +12 -12
  379. package/dist/esm/ion-select_3.entry.js +29 -21
  380. package/dist/esm/ion-spinner.entry.js +4 -4
  381. package/dist/esm/ion-split-pane.entry.js +15 -9
  382. package/dist/esm/ion-tab-bar_2.entry.js +14 -12
  383. package/dist/esm/ion-tab_2.entry.js +10 -8
  384. package/dist/esm/ion-text.entry.js +4 -4
  385. package/dist/esm/ion-textarea.entry.js +18 -12
  386. package/dist/esm/ion-toast.entry.js +21 -15
  387. package/dist/esm/ion-toggle.entry.js +10 -8
  388. package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
  389. package/dist/esm/ionic.js +6 -6
  390. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
  391. package/dist/esm/loader.js +5 -5
  392. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
  393. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
  394. package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
  395. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
  396. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
  397. package/dist/html.html-data.json +109 -109
  398. package/dist/ionic/index.esm.js +1 -1
  399. package/dist/ionic/ionic.esm.js +1 -1
  400. package/dist/ionic/{p-316c0420.entry.js → p-025d2d32.entry.js} +1 -1
  401. package/dist/ionic/p-02acdef4.entry.js +4 -0
  402. package/dist/ionic/p-04e2c388.entry.js +4 -0
  403. package/dist/ionic/{p-370e4237.entry.js → p-074344b8.entry.js} +1 -1
  404. package/dist/ionic/p-0761b4d3.entry.js +4 -0
  405. package/dist/ionic/p-13ade5c8.entry.js +4 -0
  406. package/dist/ionic/p-1b02923f.entry.js +4 -0
  407. package/dist/ionic/p-1bd477a9.entry.js +4 -0
  408. package/dist/ionic/{p-d2489bf2.entry.js → p-1fa1406c.entry.js} +1 -1
  409. package/dist/ionic/{p-46d74291.entry.js → p-1fd588a7.entry.js} +1 -1
  410. package/dist/ionic/p-239a27a4.entry.js +4 -0
  411. package/dist/ionic/{p-94de5cfa.entry.js → p-277abec1.entry.js} +1 -1
  412. package/dist/ionic/{p-dd1aef77.entry.js → p-28d7852f.entry.js} +1 -1
  413. package/dist/ionic/{p-49d06882.entry.js → p-301c43f8.entry.js} +1 -1
  414. package/dist/ionic/{p-79bd78f9.entry.js → p-370a60ee.entry.js} +1 -1
  415. package/dist/ionic/p-3e143d1d.entry.js +4 -0
  416. package/dist/ionic/p-4431ef7e.entry.js +4 -0
  417. package/dist/ionic/p-463767ce.entry.js +4 -0
  418. package/dist/ionic/p-4f888343.entry.js +4 -0
  419. package/dist/ionic/p-51c11c47.entry.js +4 -0
  420. package/dist/ionic/p-56050077.entry.js +4 -0
  421. package/dist/ionic/p-6a3a5aae.entry.js +4 -0
  422. package/dist/ionic/p-6b97f2a3.entry.js +4 -0
  423. package/dist/ionic/{p-51a60e0f.entry.js → p-7c72d482.entry.js} +1 -1
  424. package/dist/ionic/p-7d20f4f8.entry.js +4 -0
  425. package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
  426. package/dist/ionic/p-91fc7352.entry.js +4 -0
  427. package/dist/ionic/p-93845421.entry.js +4 -0
  428. package/dist/ionic/{p-3a6caca9.entry.js → p-964090ef.entry.js} +1 -1
  429. package/dist/ionic/p-96a2e768.entry.js +4 -0
  430. package/dist/ionic/{p-d126e8d3.entry.js → p-9745651b.entry.js} +1 -1
  431. package/dist/ionic/{p-f9061316.entry.js → p-9802c88e.entry.js} +1 -1
  432. package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
  433. package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
  434. package/dist/ionic/{p-CwgG81ZD.js → p-B8xlpH8p.js} +1 -1
  435. package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
  436. package/dist/ionic/p-BW_TRJm8.js +4 -0
  437. package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
  438. package/dist/ionic/{p-D0dMcSkw.js → p-BvFYtOdE.js} +1 -1
  439. package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
  440. package/dist/ionic/{p-BYEqWnSg.js → p-C0JvVFMv.js} +1 -1
  441. package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
  442. package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
  443. package/dist/ionic/{p-D-eFFUkA.js → p-CmFz1Mjc.js} +1 -1
  444. package/dist/ionic/p-CtA-yJYy.js +4 -0
  445. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  446. package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
  447. package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
  448. package/dist/ionic/{p-DdR6rpbR.js → p-DTPR1Wpn.js} +1 -1
  449. package/dist/ionic/{p-DCv9sLH2.js → p-DjriolRs.js} +1 -1
  450. package/dist/ionic/p-DtVZDHlS.js +4 -0
  451. package/dist/ionic/{p-QHYY4sjU.js → p-GWUGgWx6.js} +1 -1
  452. package/dist/ionic/p-IGIE5vDm.js +5 -0
  453. package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
  454. package/dist/ionic/{p-86f53961.entry.js → p-a287e18e.entry.js} +1 -1
  455. package/dist/ionic/p-a805674e.entry.js +4 -0
  456. package/dist/ionic/p-a81ae2cd.entry.js +4 -0
  457. package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
  458. package/dist/ionic/{p-dbbe606a.entry.js → p-b2d5238b.entry.js} +1 -1
  459. package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
  460. package/dist/ionic/{p-72c38b88.entry.js → p-b4d52b58.entry.js} +1 -1
  461. package/dist/ionic/{p-2a939845.entry.js → p-b67a2114.entry.js} +1 -1
  462. package/dist/ionic/{p-c73627c8.entry.js → p-bced1f3e.entry.js} +1 -1
  463. package/dist/ionic/{p-9a2d390d.entry.js → p-c1c9b2bb.entry.js} +1 -1
  464. package/dist/ionic/{p-f8f22cc0.entry.js → p-c3e65e45.entry.js} +1 -1
  465. package/dist/ionic/p-c76cc21d.entry.js +4 -0
  466. package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
  467. package/dist/ionic/p-cbf245b5.entry.js +4 -0
  468. package/dist/ionic/p-d68b665a.entry.js +4 -0
  469. package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
  470. package/dist/ionic/p-efe86ed9.entry.js +4 -0
  471. package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
  472. package/dist/ionic/{p-DbQ5QkTP.js → p-gbVXD275.js} +1 -1
  473. package/dist/ionic/p-hNN3VvaC.js +4 -0
  474. package/dist/types/components/datetime/datetime.d.ts +9 -0
  475. package/dist/types/components/header/header.utils.d.ts +2 -1
  476. package/dist/types/components/modal/modal-interface.d.ts +5 -1
  477. package/dist/types/components/modal/modal.d.ts +5 -0
  478. package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
  479. package/dist/types/components/refresher/refresher.d.ts +16 -3
  480. package/dist/types/components.d.ts +927 -189
  481. package/dist/types/interface.d.ts +1 -1
  482. package/dist/types/stencil-public-runtime.d.ts +126 -14
  483. package/dist/types/utils/gesture/listener.d.ts +2 -1
  484. package/hydrate/index.d.ts +12 -0
  485. package/hydrate/index.js +5202 -1327
  486. package/hydrate/index.mjs +5201 -1328
  487. package/package.json +2 -2
  488. package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
  489. package/dist/esm/app-globals-BDSf8fOA.js +0 -8
  490. package/dist/ionic/p-012212e4.entry.js +0 -4
  491. package/dist/ionic/p-074839fc.entry.js +0 -4
  492. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  493. package/dist/ionic/p-0f418a37.entry.js +0 -4
  494. package/dist/ionic/p-11518b31.entry.js +0 -4
  495. package/dist/ionic/p-1838bed5.entry.js +0 -4
  496. package/dist/ionic/p-29721c43.entry.js +0 -4
  497. package/dist/ionic/p-31f7095f.entry.js +0 -4
  498. package/dist/ionic/p-34642fa1.entry.js +0 -4
  499. package/dist/ionic/p-35696017.entry.js +0 -4
  500. package/dist/ionic/p-40c261a3.entry.js +0 -4
  501. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  502. package/dist/ionic/p-6241ce47.entry.js +0 -4
  503. package/dist/ionic/p-639dd543.entry.js +0 -4
  504. package/dist/ionic/p-6444c606.entry.js +0 -4
  505. package/dist/ionic/p-6d070558.entry.js +0 -4
  506. package/dist/ionic/p-7268efa5.entry.js +0 -4
  507. package/dist/ionic/p-7babec72.entry.js +0 -4
  508. package/dist/ionic/p-BKc55Xev.js +0 -4
  509. package/dist/ionic/p-Bmgaetn_.js +0 -4
  510. package/dist/ionic/p-C8IsBmNU.js +0 -5
  511. package/dist/ionic/p-CJxh_yLS.js +0 -4
  512. package/dist/ionic/p-DUt5fQmA.js +0 -4
  513. package/dist/ionic/p-DZRJwG4S.js +0 -4
  514. package/dist/ionic/p-a127bee2.entry.js +0 -4
  515. package/dist/ionic/p-b3d44509.entry.js +0 -4
  516. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  517. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  518. package/dist/ionic/p-d3014190.entry.js +0 -4
  519. package/dist/ionic/p-db82892c.entry.js +0 -4
  520. package/dist/ionic/p-e1d1f3cc.entry.js +0 -4
package/components/dir.js CHANGED
@@ -1,18 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- /**
5
- * Returns `true` if the document or host element
6
- * has a `dir` set to `rtl`. The host value will always
7
- * take priority over the root document value.
8
- */
9
- const isRTL = (hostEl) => {
10
- if (hostEl) {
11
- if (hostEl.dir !== '') {
12
- return hostEl.dir.toLowerCase() === 'rtl';
13
- }
14
- }
15
- return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';
16
- };
17
-
18
- export { isRTL as i };
4
+ const o=o=>o&&""!==o.dir?"rtl"===o.dir.toLowerCase():"rtl"===(null===document||void 0===document?void 0:document.dir.toLowerCase());export{o as i}
@@ -1,75 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- const ION_FOCUSED = 'ion-focused';
5
- const ION_FOCUSABLE = 'ion-focusable';
6
- const FOCUS_KEYS = [
7
- 'Tab',
8
- 'ArrowDown',
9
- 'Space',
10
- 'Escape',
11
- ' ',
12
- 'Shift',
13
- 'Enter',
14
- 'ArrowLeft',
15
- 'ArrowRight',
16
- 'ArrowUp',
17
- 'Home',
18
- 'End',
19
- ];
20
- const startFocusVisible = (rootEl) => {
21
- let currentFocus = [];
22
- let keyboardMode = true;
23
- const ref = rootEl ? rootEl.shadowRoot : document;
24
- const root = rootEl ? rootEl : document.body;
25
- const setFocus = (elements) => {
26
- currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
27
- elements.forEach((el) => el.classList.add(ION_FOCUSED));
28
- currentFocus = elements;
29
- };
30
- const pointerDown = () => {
31
- keyboardMode = false;
32
- setFocus([]);
33
- };
34
- const onKeydown = (ev) => {
35
- keyboardMode = FOCUS_KEYS.includes(ev.key);
36
- if (!keyboardMode) {
37
- setFocus([]);
38
- }
39
- };
40
- const onFocusin = (ev) => {
41
- if (keyboardMode && ev.composedPath !== undefined) {
42
- const toFocus = ev.composedPath().filter((el) => {
43
- // TODO(FW-2832): type
44
- if (el.classList) {
45
- return el.classList.contains(ION_FOCUSABLE);
46
- }
47
- return false;
48
- });
49
- setFocus(toFocus);
50
- }
51
- };
52
- const onFocusout = () => {
53
- if (ref.activeElement === root) {
54
- setFocus([]);
55
- }
56
- };
57
- ref.addEventListener('keydown', onKeydown);
58
- ref.addEventListener('focusin', onFocusin);
59
- ref.addEventListener('focusout', onFocusout);
60
- ref.addEventListener('touchstart', pointerDown, { passive: true });
61
- ref.addEventListener('mousedown', pointerDown);
62
- const destroy = () => {
63
- ref.removeEventListener('keydown', onKeydown);
64
- ref.removeEventListener('focusin', onFocusin);
65
- ref.removeEventListener('focusout', onFocusout);
66
- ref.removeEventListener('touchstart', pointerDown);
67
- ref.removeEventListener('mousedown', pointerDown);
68
- };
69
- return {
70
- destroy,
71
- setFocus,
72
- };
73
- };
74
-
75
- export { startFocusVisible };
4
+ const o="ion-focused",t=["Tab","ArrowDown","Space","Escape"," ","Shift","Enter","ArrowLeft","ArrowRight","ArrowUp","Home","End"],e=e=>{let s=[],n=!0;const c=e?e.shadowRoot:document,u=e||document.body,r=t=>{s.forEach((t=>t.classList.remove(o))),t.forEach((t=>t.classList.add(o))),s=t},d=()=>{n=!1,r([])},f=o=>{n=t.includes(o.key),n||r([])},i=o=>{if(n&&void 0!==o.composedPath){const t=o.composedPath().filter((o=>!!o.classList&&o.classList.contains("ion-focusable")));r(t)}},w=()=>{c.activeElement===u&&r([])};return c.addEventListener("keydown",f),c.addEventListener("focusin",i),c.addEventListener("focusout",w),c.addEventListener("touchstart",d,{passive:!0}),c.addEventListener("mousedown",d),{destroy:()=>{c.removeEventListener("keydown",f),c.removeEventListener("focusin",i),c.removeEventListener("focusout",w),c.removeEventListener("touchstart",d),c.removeEventListener("mousedown",d)},setFocus:r}};export{e as startFocusVisible}
@@ -1,140 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers.js';
5
-
6
- // TODO(FW-2832): types
7
- const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
8
- var _a;
9
- if (delegate) {
10
- return delegate.attachViewToDom(container, component, componentProps, cssClasses);
11
- }
12
- if (!inline && typeof component !== 'string' && !(component instanceof HTMLElement)) {
13
- throw new Error('framework delegate is missing');
14
- }
15
- const el = typeof component === 'string' ? (_a = container.ownerDocument) === null || _a === void 0 ? void 0 : _a.createElement(component) : component;
16
- if (cssClasses) {
17
- cssClasses.forEach((c) => el.classList.add(c));
18
- }
19
- if (componentProps) {
20
- Object.assign(el, componentProps);
21
- }
22
- container.appendChild(el);
23
- await new Promise((resolve) => componentOnReady(el, resolve));
24
- return el;
25
- };
26
- const detachComponent = (delegate, element) => {
27
- if (element) {
28
- if (delegate) {
29
- const container = element.parentElement;
30
- return delegate.removeViewFromDom(container, element);
31
- }
32
- element.remove();
33
- }
34
- return Promise.resolve();
35
- };
36
- const CoreDelegate = () => {
37
- let BaseComponent;
38
- let Reference;
39
- const attachViewToDom = async (parentElement, userComponent, userComponentProps = {}, cssClasses = []) => {
40
- var _a, _b;
41
- BaseComponent = parentElement;
42
- let ChildComponent;
43
- /**
44
- * If passing in a component via the `component` props
45
- * we need to append it inside of our overlay component.
46
- */
47
- if (userComponent) {
48
- /**
49
- * If passing in the tag name, create
50
- * the element otherwise just get a reference
51
- * to the component.
52
- */
53
- const el = typeof userComponent === 'string' ? (_a = BaseComponent.ownerDocument) === null || _a === void 0 ? void 0 : _a.createElement(userComponent) : userComponent;
54
- /**
55
- * Add any css classes passed in
56
- * via the cssClasses prop on the overlay.
57
- */
58
- cssClasses.forEach((c) => el.classList.add(c));
59
- /**
60
- * Add any props passed in
61
- * via the componentProps prop on the overlay.
62
- */
63
- Object.assign(el, userComponentProps);
64
- /**
65
- * Finally, append the component
66
- * inside of the overlay component.
67
- */
68
- BaseComponent.appendChild(el);
69
- ChildComponent = el;
70
- await new Promise((resolve) => componentOnReady(el, resolve));
71
- }
72
- else if (BaseComponent.children.length > 0 &&
73
- (BaseComponent.tagName === 'ION-MODAL' || BaseComponent.tagName === 'ION-POPOVER')) {
74
- /**
75
- * The delegate host wrapper el is only needed for modals and popovers
76
- * because they allow the dev to provide custom content to the overlay.
77
- */
78
- const root = (ChildComponent = BaseComponent.children[0]);
79
- if (!root.classList.contains('ion-delegate-host')) {
80
- /**
81
- * If the root element is not a delegate host, it means
82
- * that the overlay has not been presented yet and we need
83
- * to create the containing element with the specified classes.
84
- */
85
- const el = (_b = BaseComponent.ownerDocument) === null || _b === void 0 ? void 0 : _b.createElement('div');
86
- // Add a class to track if the root element was created by the delegate.
87
- el.classList.add('ion-delegate-host');
88
- cssClasses.forEach((c) => el.classList.add(c));
89
- // Move each child from the original template to the new parent element.
90
- el.append(...BaseComponent.children);
91
- // Append the new parent element to the original parent element.
92
- BaseComponent.appendChild(el);
93
- /**
94
- * Update the ChildComponent to be the
95
- * newly created div in the event that one
96
- * does not already exist.
97
- */
98
- ChildComponent = el;
99
- }
100
- }
101
- /**
102
- * Get the root of the app and
103
- * add the overlay there.
104
- */
105
- const app = document.querySelector('ion-app') || document.body;
106
- /**
107
- * Create a placeholder comment so that
108
- * we can return this component to where
109
- * it was previously.
110
- */
111
- Reference = document.createComment('ionic teleport');
112
- BaseComponent.parentNode.insertBefore(Reference, BaseComponent);
113
- app.appendChild(BaseComponent);
114
- /**
115
- * We return the child component rather than the overlay
116
- * reference itself since modal and popover will
117
- * use this to wait for any Ionic components in the child view
118
- * to be ready (i.e. componentOnReady) when using the
119
- * lazy loaded component bundle.
120
- *
121
- * However, we fall back to returning BaseComponent
122
- * in the event that a modal or popover is presented
123
- * with no child content.
124
- */
125
- return ChildComponent !== null && ChildComponent !== void 0 ? ChildComponent : BaseComponent;
126
- };
127
- const removeViewFromDom = () => {
128
- /**
129
- * Return component to where it was previously in the DOM.
130
- */
131
- if (BaseComponent && Reference) {
132
- Reference.parentNode.insertBefore(BaseComponent, Reference);
133
- Reference.remove();
134
- }
135
- return Promise.resolve();
136
- };
137
- return { attachViewToDom, removeViewFromDom };
138
- };
139
-
140
- export { CoreDelegate as C, attachComponent as a, detachComponent as d };
4
+ import{c as e}from"./helpers.js";const o=async(o,t,i,n,r,s)=>{var a;if(o)return o.attachViewToDom(t,i,r,n);if(!(s||"string"==typeof i||i instanceof HTMLElement))throw new Error("framework delegate is missing");const l="string"==typeof i?null===(a=t.ownerDocument)||void 0===a?void 0:a.createElement(i):i;return n&&n.forEach((e=>l.classList.add(e))),r&&Object.assign(l,r),t.appendChild(l),await new Promise((o=>e(l,o))),l},t=(e,o)=>{if(o){if(e)return e.removeViewFromDom(o.parentElement,o);o.remove()}return Promise.resolve()},i=()=>{let o,t;return{attachViewToDom:async(i,n,r={},s=[])=>{var a,l;let c;if(o=i,n){const t="string"==typeof n?null===(a=o.ownerDocument)||void 0===a?void 0:a.createElement(n):n;s.forEach((e=>t.classList.add(e))),Object.assign(t,r),o.appendChild(t),c=t,await new Promise((o=>e(t,o)))}else if(o.children.length>0&&("ION-MODAL"===o.tagName||"ION-POPOVER"===o.tagName)&&!(c=o.children[0]).classList.contains("ion-delegate-host")){const e=null===(l=o.ownerDocument)||void 0===l?void 0:l.createElement("div");e.classList.add("ion-delegate-host"),s.forEach((o=>e.classList.add(o))),e.append(...o.children),o.appendChild(e),c=e}const m=document.querySelector("ion-app")||document.body;return t=document.createComment("ionic teleport"),o.parentNode.insertBefore(t,o),m.appendChild(o),null!=c?c:o},removeViewFromDom:()=>(o&&t&&(t.parentNode.insertBefore(o,t),t.remove()),Promise.resolve())}};export{i as C,o as a,t as d}
@@ -1,195 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- class GestureController {
5
- constructor() {
6
- this.gestureId = 0;
7
- this.requestedStart = new Map();
8
- this.disabledGestures = new Map();
9
- this.disabledScroll = new Set();
10
- }
11
- /**
12
- * Creates a gesture delegate based on the GestureConfig passed
13
- */
14
- createGesture(config) {
15
- var _a;
16
- return new GestureDelegate(this, this.newID(), config.name, (_a = config.priority) !== null && _a !== void 0 ? _a : 0, !!config.disableScroll);
17
- }
18
- /**
19
- * Creates a blocker that will block any other gesture events from firing. Set in the ion-gesture component.
20
- */
21
- createBlocker(opts = {}) {
22
- return new BlockerDelegate(this, this.newID(), opts.disable, !!opts.disableScroll);
23
- }
24
- start(gestureName, id, priority) {
25
- if (!this.canStart(gestureName)) {
26
- this.requestedStart.delete(id);
27
- return false;
28
- }
29
- this.requestedStart.set(id, priority);
30
- return true;
31
- }
32
- capture(gestureName, id, priority) {
33
- if (!this.start(gestureName, id, priority)) {
34
- return false;
35
- }
36
- const requestedStart = this.requestedStart;
37
- let maxPriority = -1e4;
38
- requestedStart.forEach((value) => {
39
- maxPriority = Math.max(maxPriority, value);
40
- });
41
- if (maxPriority === priority) {
42
- this.capturedId = id;
43
- requestedStart.clear();
44
- const event = new CustomEvent('ionGestureCaptured', { detail: { gestureName } });
45
- document.dispatchEvent(event);
46
- return true;
47
- }
48
- requestedStart.delete(id);
49
- return false;
50
- }
51
- release(id) {
52
- this.requestedStart.delete(id);
53
- if (this.capturedId === id) {
54
- this.capturedId = undefined;
55
- }
56
- }
57
- disableGesture(gestureName, id) {
58
- let set = this.disabledGestures.get(gestureName);
59
- if (set === undefined) {
60
- set = new Set();
61
- this.disabledGestures.set(gestureName, set);
62
- }
63
- set.add(id);
64
- }
65
- enableGesture(gestureName, id) {
66
- const set = this.disabledGestures.get(gestureName);
67
- if (set !== undefined) {
68
- set.delete(id);
69
- }
70
- }
71
- disableScroll(id) {
72
- this.disabledScroll.add(id);
73
- if (this.disabledScroll.size === 1) {
74
- document.body.classList.add(BACKDROP_NO_SCROLL);
75
- }
76
- }
77
- enableScroll(id) {
78
- this.disabledScroll.delete(id);
79
- if (this.disabledScroll.size === 0) {
80
- document.body.classList.remove(BACKDROP_NO_SCROLL);
81
- }
82
- }
83
- canStart(gestureName) {
84
- if (this.capturedId !== undefined) {
85
- // a gesture already captured
86
- return false;
87
- }
88
- if (this.isDisabled(gestureName)) {
89
- return false;
90
- }
91
- return true;
92
- }
93
- isCaptured() {
94
- return this.capturedId !== undefined;
95
- }
96
- isScrollDisabled() {
97
- return this.disabledScroll.size > 0;
98
- }
99
- isDisabled(gestureName) {
100
- const disabled = this.disabledGestures.get(gestureName);
101
- if (disabled && disabled.size > 0) {
102
- return true;
103
- }
104
- return false;
105
- }
106
- newID() {
107
- this.gestureId++;
108
- return this.gestureId;
109
- }
110
- }
111
- class GestureDelegate {
112
- constructor(ctrl, id, name, priority, disableScroll) {
113
- this.id = id;
114
- this.name = name;
115
- this.disableScroll = disableScroll;
116
- this.priority = priority * 1000000 + id;
117
- this.ctrl = ctrl;
118
- }
119
- canStart() {
120
- if (!this.ctrl) {
121
- return false;
122
- }
123
- return this.ctrl.canStart(this.name);
124
- }
125
- start() {
126
- if (!this.ctrl) {
127
- return false;
128
- }
129
- return this.ctrl.start(this.name, this.id, this.priority);
130
- }
131
- capture() {
132
- if (!this.ctrl) {
133
- return false;
134
- }
135
- const captured = this.ctrl.capture(this.name, this.id, this.priority);
136
- if (captured && this.disableScroll) {
137
- this.ctrl.disableScroll(this.id);
138
- }
139
- return captured;
140
- }
141
- release() {
142
- if (this.ctrl) {
143
- this.ctrl.release(this.id);
144
- if (this.disableScroll) {
145
- this.ctrl.enableScroll(this.id);
146
- }
147
- }
148
- }
149
- destroy() {
150
- this.release();
151
- this.ctrl = undefined;
152
- }
153
- }
154
- class BlockerDelegate {
155
- constructor(ctrl, id, disable, disableScroll) {
156
- this.id = id;
157
- this.disable = disable;
158
- this.disableScroll = disableScroll;
159
- this.ctrl = ctrl;
160
- }
161
- block() {
162
- if (!this.ctrl) {
163
- return;
164
- }
165
- if (this.disable) {
166
- for (const gesture of this.disable) {
167
- this.ctrl.disableGesture(gesture, this.id);
168
- }
169
- }
170
- if (this.disableScroll) {
171
- this.ctrl.disableScroll(this.id);
172
- }
173
- }
174
- unblock() {
175
- if (!this.ctrl) {
176
- return;
177
- }
178
- if (this.disable) {
179
- for (const gesture of this.disable) {
180
- this.ctrl.enableGesture(gesture, this.id);
181
- }
182
- }
183
- if (this.disableScroll) {
184
- this.ctrl.enableScroll(this.id);
185
- }
186
- }
187
- destroy() {
188
- this.unblock();
189
- this.ctrl = undefined;
190
- }
191
- }
192
- const BACKDROP_NO_SCROLL = 'backdrop-no-scroll';
193
- const GESTURE_CONTROLLER = new GestureController();
194
-
195
- export { BACKDROP_NO_SCROLL as B, GESTURE_CONTROLLER as G };
4
+ class t{constructor(t,s,i,h,e){this.id=s,this.name=i,this.disableScroll=e,this.priority=1e6*h+s,this.ctrl=t}canStart(){return!!this.ctrl&&this.ctrl.canStart(this.name)}start(){return!!this.ctrl&&this.ctrl.start(this.name,this.id,this.priority)}capture(){if(!this.ctrl)return!1;const t=this.ctrl.capture(this.name,this.id,this.priority);return t&&this.disableScroll&&this.ctrl.disableScroll(this.id),t}release(){this.ctrl&&(this.ctrl.release(this.id),this.disableScroll&&this.ctrl.enableScroll(this.id))}destroy(){this.release(),this.ctrl=void 0}}class s{constructor(t,s,i,h){this.id=s,this.disable=i,this.disableScroll=h,this.ctrl=t}block(){if(this.ctrl){if(this.disable)for(const t of this.disable)this.ctrl.disableGesture(t,this.id);this.disableScroll&&this.ctrl.disableScroll(this.id)}}unblock(){if(this.ctrl){if(this.disable)for(const t of this.disable)this.ctrl.enableGesture(t,this.id);this.disableScroll&&this.ctrl.enableScroll(this.id)}}destroy(){this.unblock(),this.ctrl=void 0}}const i="backdrop-no-scroll",h=new class{constructor(){this.gestureId=0,this.requestedStart=new Map,this.disabledGestures=new Map,this.disabledScroll=new Set}createGesture(s){var i;return new t(this,this.newID(),s.name,null!==(i=s.priority)&&void 0!==i?i:0,!!s.disableScroll)}createBlocker(t={}){return new s(this,this.newID(),t.disable,!!t.disableScroll)}start(t,s,i){return this.canStart(t)?(this.requestedStart.set(s,i),!0):(this.requestedStart.delete(s),!1)}capture(t,s,i){if(!this.start(t,s,i))return!1;const h=this.requestedStart;let e=-1e4;if(h.forEach((t=>{e=Math.max(e,t)})),e===i){this.capturedId=s,h.clear();const i=new CustomEvent("ionGestureCaptured",{detail:{gestureName:t}});return document.dispatchEvent(i),!0}return h.delete(s),!1}release(t){this.requestedStart.delete(t),this.capturedId===t&&(this.capturedId=void 0)}disableGesture(t,s){let i=this.disabledGestures.get(t);void 0===i&&(i=new Set,this.disabledGestures.set(t,i)),i.add(s)}enableGesture(t,s){const i=this.disabledGestures.get(t);void 0!==i&&i.delete(s)}disableScroll(t){this.disabledScroll.add(t),1===this.disabledScroll.size&&document.body.classList.add(i)}enableScroll(t){this.disabledScroll.delete(t),0===this.disabledScroll.size&&document.body.classList.remove(i)}canStart(t){return void 0===this.capturedId&&!this.isDisabled(t)}isCaptured(){return void 0!==this.capturedId}isScrollDisabled(){return this.disabledScroll.size>0}isDisabled(t){const s=this.disabledGestures.get(t);return!!(s&&s.size>0)}newID(){return this.gestureId++,this.gestureId}};export{i as B,h as G}
@@ -1,158 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { g as getCapacitor } from './capacitor.js';
5
-
6
- var ImpactStyle;
7
- (function (ImpactStyle) {
8
- /**
9
- * A collision between large, heavy user interface elements
10
- *
11
- * @since 1.0.0
12
- */
13
- ImpactStyle["Heavy"] = "HEAVY";
14
- /**
15
- * A collision between moderately sized user interface elements
16
- *
17
- * @since 1.0.0
18
- */
19
- ImpactStyle["Medium"] = "MEDIUM";
20
- /**
21
- * A collision between small, light user interface elements
22
- *
23
- * @since 1.0.0
24
- */
25
- ImpactStyle["Light"] = "LIGHT";
26
- })(ImpactStyle || (ImpactStyle = {}));
27
- var NotificationType;
28
- (function (NotificationType) {
29
- /**
30
- * A notification feedback type indicating that a task has completed successfully
31
- *
32
- * @since 1.0.0
33
- */
34
- NotificationType["Success"] = "SUCCESS";
35
- /**
36
- * A notification feedback type indicating that a task has produced a warning
37
- *
38
- * @since 1.0.0
39
- */
40
- NotificationType["Warning"] = "WARNING";
41
- /**
42
- * A notification feedback type indicating that a task has failed
43
- *
44
- * @since 1.0.0
45
- */
46
- NotificationType["Error"] = "ERROR";
47
- })(NotificationType || (NotificationType = {}));
48
- const HapticEngine = {
49
- getEngine() {
50
- const capacitor = getCapacitor();
51
- if (capacitor === null || capacitor === void 0 ? void 0 : capacitor.isPluginAvailable('Haptics')) {
52
- // Capacitor
53
- return capacitor.Plugins.Haptics;
54
- }
55
- return undefined;
56
- },
57
- available() {
58
- const engine = this.getEngine();
59
- if (!engine) {
60
- return false;
61
- }
62
- const capacitor = getCapacitor();
63
- /**
64
- * Developers can manually import the
65
- * Haptics plugin in their app which will cause
66
- * getEngine to return the Haptics engine. However,
67
- * the Haptics engine will throw an error if
68
- * used in a web browser that does not support
69
- * the Vibrate API. This check avoids that error
70
- * if the browser does not support the Vibrate API.
71
- */
72
- if ((capacitor === null || capacitor === void 0 ? void 0 : capacitor.getPlatform()) === 'web') {
73
- // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
74
- return typeof navigator !== 'undefined' && navigator.vibrate !== undefined;
75
- }
76
- return true;
77
- },
78
- impact(options) {
79
- const engine = this.getEngine();
80
- if (!engine) {
81
- return;
82
- }
83
- engine.impact({ style: options.style });
84
- },
85
- notification(options) {
86
- const engine = this.getEngine();
87
- if (!engine) {
88
- return;
89
- }
90
- engine.notification({ type: options.type });
91
- },
92
- selection() {
93
- this.impact({ style: ImpactStyle.Light });
94
- },
95
- selectionStart() {
96
- const engine = this.getEngine();
97
- if (!engine) {
98
- return;
99
- }
100
- engine.selectionStart();
101
- },
102
- selectionChanged() {
103
- const engine = this.getEngine();
104
- if (!engine) {
105
- return;
106
- }
107
- engine.selectionChanged();
108
- },
109
- selectionEnd() {
110
- const engine = this.getEngine();
111
- if (!engine) {
112
- return;
113
- }
114
- engine.selectionEnd();
115
- },
116
- };
117
- /**
118
- * Check to see if the Haptic Plugin is available
119
- * @return Returns `true` or false if the plugin is available
120
- */
121
- const hapticAvailable = () => {
122
- return HapticEngine.available();
123
- };
124
- /**
125
- * Trigger a selection changed haptic event. Good for one-time events
126
- * (not for gestures)
127
- */
128
- const hapticSelection = () => {
129
- hapticAvailable() && HapticEngine.selection();
130
- };
131
- /**
132
- * Tell the haptic engine that a gesture for a selection change is starting.
133
- */
134
- const hapticSelectionStart = () => {
135
- hapticAvailable() && HapticEngine.selectionStart();
136
- };
137
- /**
138
- * Tell the haptic engine that a selection changed during a gesture.
139
- */
140
- const hapticSelectionChanged = () => {
141
- hapticAvailable() && HapticEngine.selectionChanged();
142
- };
143
- /**
144
- * Tell the haptic engine we are done with a gesture. This needs to be
145
- * called lest resources are not properly recycled.
146
- */
147
- const hapticSelectionEnd = () => {
148
- hapticAvailable() && HapticEngine.selectionEnd();
149
- };
150
- /**
151
- * Use this to indicate success/failure/warning to the user.
152
- * options should be of the type `{ style: ImpactStyle.LIGHT }` (or `MEDIUM`/`HEAVY`)
153
- */
154
- const hapticImpact = (options) => {
155
- hapticAvailable() && HapticEngine.impact(options);
156
- };
157
-
158
- export { ImpactStyle as I, hapticSelectionChanged as a, hapticSelectionStart as b, hapticImpact as c, hapticSelection as d, hapticSelectionEnd as h };
4
+ import{g as t}from"./capacitor.js";var n,i;!function(t){t.Heavy="HEAVY",t.Medium="MEDIUM",t.Light="LIGHT"}(n||(n={})),function(t){t.Success="SUCCESS",t.Warning="WARNING",t.Error="ERROR"}(i||(i={}));const s={getEngine(){const n=t();if(null==n?void 0:n.isPluginAvailable("Haptics"))return n.Plugins.Haptics},available(){if(!this.getEngine())return!1;const n=t();return"web"!==(null==n?void 0:n.getPlatform())||"undefined"!=typeof navigator&&void 0!==navigator.vibrate},impact(t){const n=this.getEngine();n&&n.impact({style:t.style})},notification(t){const n=this.getEngine();n&&n.notification({type:t.type})},selection(){this.impact({style:n.Light})},selectionStart(){const t=this.getEngine();t&&t.selectionStart()},selectionChanged(){const t=this.getEngine();t&&t.selectionChanged()},selectionEnd(){const t=this.getEngine();t&&t.selectionEnd()}},o=()=>s.available(),a=()=>{o()&&s.selection()},e=()=>{o()&&s.selectionStart()},c=()=>{o()&&s.selectionChanged()},r=()=>{o()&&s.selectionEnd()},l=t=>{o()&&s.impact(t)};export{n as I,c as a,e as b,l as c,a as d,r as h}