@ionic/core 8.7.17-dev.11771959013.18adabe2 → 8.7.17-dev.11772055571.14fddd38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/components/action-sheet.js +561 -1
  2. package/components/alert.js +610 -1
  3. package/components/animation.js +817 -1
  4. package/components/backdrop.js +72 -1
  5. package/components/button-active.js +64 -1
  6. package/components/button.js +303 -1
  7. package/components/buttons.js +56 -1
  8. package/components/capacitor.js +10 -1
  9. package/components/checkbox.js +261 -1
  10. package/components/config.js +192 -1
  11. package/components/content.js +475 -1
  12. package/components/cubic-bezier.js +87 -1
  13. package/components/data.js +1635 -1
  14. package/components/dir.js +15 -1
  15. package/components/focus-visible.js +72 -1
  16. package/components/framework-delegate.js +137 -1
  17. package/components/gesture-controller.js +192 -1
  18. package/components/haptic.js +155 -1
  19. package/components/hardware-back-button.js +112 -1
  20. package/components/header.js +417 -1
  21. package/components/helpers.js +336 -1
  22. package/components/icon.js +456 -1
  23. package/components/index.d.ts +0 -2
  24. package/components/index.js +115 -1
  25. package/components/index2.js +416 -1
  26. package/components/index3.js +452 -1
  27. package/components/index4.js +118 -1
  28. package/components/index5.js +303 -1
  29. package/components/index6.js +29 -1
  30. package/components/index7.js +164 -1
  31. package/components/index8.js +125 -1
  32. package/components/index9.js +4 -1
  33. package/components/input-shims.js +624 -1
  34. package/components/input.utils.js +144 -1
  35. package/components/ion-accordion-group.js +269 -1
  36. package/components/ion-accordion.js +457 -1
  37. package/components/ion-action-sheet.js +6 -1
  38. package/components/ion-alert.js +6 -1
  39. package/components/ion-app.js +128 -1
  40. package/components/ion-avatar.js +41 -1
  41. package/components/ion-back-button.js +131 -1
  42. package/components/ion-backdrop.js +6 -1
  43. package/components/ion-badge.js +47 -1
  44. package/components/ion-breadcrumb.js +137 -1
  45. package/components/ion-breadcrumbs.js +164 -1
  46. package/components/ion-button.js +6 -1
  47. package/components/ion-buttons.js +6 -1
  48. package/components/ion-card-content.js +45 -1
  49. package/components/ion-card-header.js +56 -1
  50. package/components/ion-card-subtitle.js +48 -1
  51. package/components/ion-card-title.js +48 -1
  52. package/components/ion-card.js +107 -1
  53. package/components/ion-checkbox.js +6 -1
  54. package/components/ion-chip.js +66 -1
  55. package/components/ion-col.js +163 -1
  56. package/components/ion-content.js +6 -1
  57. package/components/ion-datetime-button.js +384 -1
  58. package/components/ion-datetime.js +2046 -1
  59. package/components/ion-fab-button.js +151 -1
  60. package/components/ion-fab-list.js +66 -1
  61. package/components/ion-fab.js +101 -1
  62. package/components/ion-footer.js +159 -1
  63. package/components/ion-grid.js +46 -1
  64. package/components/ion-header.js +6 -1
  65. package/components/ion-icon.js +6 -1
  66. package/components/ion-img.js +124 -1
  67. package/components/ion-infinite-scroll-content.js +70 -1
  68. package/components/ion-infinite-scroll.js +236 -1
  69. package/components/ion-input-otp.js +683 -1
  70. package/components/ion-input-password-toggle.js +129 -1
  71. package/components/ion-input.js +617 -1
  72. package/components/ion-item-divider.js +59 -1
  73. package/components/ion-item-group.js +46 -1
  74. package/components/ion-item-option.js +91 -1
  75. package/components/ion-item-options.js +73 -1
  76. package/components/ion-item-sliding.js +458 -1
  77. package/components/ion-item.js +6 -1
  78. package/components/ion-label.js +6 -1
  79. package/components/ion-list-header.js +6 -1
  80. package/components/ion-list.js +6 -1
  81. package/components/ion-loading.js +344 -1
  82. package/components/ion-menu-button.js +110 -1
  83. package/components/ion-menu-toggle.js +64 -1
  84. package/components/ion-menu.js +745 -1
  85. package/components/ion-modal.js +6 -1
  86. package/components/ion-nav-link.js +64 -1
  87. package/components/ion-nav.js +956 -1
  88. package/components/ion-note.js +47 -1
  89. package/components/ion-picker-column-option.js +6 -1
  90. package/components/ion-picker-column.js +6 -1
  91. package/components/ion-picker-legacy-column.js +6 -1
  92. package/components/ion-picker-legacy.js +343 -1
  93. package/components/ion-picker.js +6 -1
  94. package/components/ion-popover.js +6 -1
  95. package/components/ion-progress-bar.js +101 -1
  96. package/components/ion-radio-group.js +6 -1
  97. package/components/ion-radio.js +6 -1
  98. package/components/ion-range.js +853 -1
  99. package/components/ion-refresher-content.js +89 -1
  100. package/components/ion-refresher.js +751 -1
  101. package/components/ion-reorder-group.js +322 -1
  102. package/components/ion-reorder.js +60 -1
  103. package/components/ion-ripple-effect.js +6 -1
  104. package/components/ion-route-redirect.js +45 -1
  105. package/components/ion-route.js +74 -1
  106. package/components/ion-router-link.js +61 -1
  107. package/components/ion-router-outlet.js +227 -1
  108. package/components/ion-router.js +841 -1
  109. package/components/ion-row.js +36 -1
  110. package/components/ion-searchbar.js +530 -1
  111. package/components/ion-segment-button.js +174 -1
  112. package/components/ion-segment-content.js +35 -1
  113. package/components/ion-segment-view.js +148 -1
  114. package/components/ion-segment.js +602 -1
  115. package/components/ion-select-modal.js +6 -1
  116. package/components/ion-select-option.js +46 -1
  117. package/components/ion-select-popover.js +6 -1
  118. package/components/ion-select.js +1037 -1
  119. package/components/ion-skeleton-text.js +65 -1
  120. package/components/ion-spinner.js +6 -1
  121. package/components/ion-split-pane.js +197 -1
  122. package/components/ion-tab-bar.js +115 -1
  123. package/components/ion-tab-button.js +128 -1
  124. package/components/ion-tab.js +91 -1
  125. package/components/ion-tabs.js +205 -1
  126. package/components/ion-text.js +42 -1
  127. package/components/ion-textarea.js +554 -1
  128. package/components/ion-thumbnail.js +36 -1
  129. package/components/ion-title.js +6 -1
  130. package/components/ion-toast.js +941 -1
  131. package/components/ion-toggle.js +361 -1
  132. package/components/ion-toolbar.js +6 -1
  133. package/components/ionic-global.js +144 -1
  134. package/components/ios.transition.js +672 -1
  135. package/components/item.js +302 -1
  136. package/components/keyboard-controller.js +162 -1
  137. package/components/keyboard.js +141 -1
  138. package/components/keyboard2.js +76 -1
  139. package/components/label.js +100 -1
  140. package/components/list-header.js +47 -1
  141. package/components/list.js +68 -1
  142. package/components/lock-controller.js +35 -1
  143. package/components/md.transition.js +51 -1
  144. package/components/menu-toggle-util.js +9 -1
  145. package/components/modal.js +2674 -1
  146. package/components/notch-controller.js +150 -1
  147. package/components/overlays.js +912 -1
  148. package/components/picker-column-option.js +136 -1
  149. package/components/picker-column.js +595 -1
  150. package/components/picker-column2.js +377 -1
  151. package/components/picker.js +498 -1
  152. package/components/popover.js +1502 -1
  153. package/components/radio-group.js +287 -1
  154. package/components/radio.js +229 -1
  155. package/components/refresher.utils.js +193 -1
  156. package/components/ripple-effect.js +109 -1
  157. package/components/select-modal.js +196 -1
  158. package/components/select-popover.js +189 -1
  159. package/components/spinner.js +224 -1
  160. package/components/status-tap.js +36 -1
  161. package/components/swipe-back.js +75 -1
  162. package/components/theme.js +40 -1
  163. package/components/title.js +70 -1
  164. package/components/toolbar.js +89 -1
  165. package/components/validity.js +14 -1
  166. package/components/watch-options.js +44 -1
  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-DlFhYYTs.js → input-shims-CW0KUFTQ.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 +40 -44
  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 +39 -67
  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 +15 -17
  205. package/dist/cjs/ion-item_8.cjs.entry.js +36 -42
  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 +221 -62
  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 +54 -180
  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 +5 -5
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +16 -26
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +12 -12
  226. package/dist/cjs/ion-select_3.cjs.entry.js +21 -29
  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 +12 -18
  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 +4 -8
  260. package/dist/collection/components/datetime/datetime.js +15 -34
  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 +3 -6
  268. package/dist/collection/components/item-divider/item-divider.js +1 -2
  269. package/dist/collection/components/item-option/item-option.js +1 -2
  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 +1 -2
  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 +108 -11
  278. package/dist/collection/components/modal/gestures/swipe-to-close.js +54 -1
  279. package/dist/collection/components/modal/modal.js +112 -58
  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 +50 -189
  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.js +1 -2
  304. package/dist/collection/components/select/select.js +5 -10
  305. package/dist/collection/components/select-modal/select-modal.js +1 -2
  306. package/dist/collection/components/select-popover/select-popover.js +1 -2
  307. package/dist/collection/components/skeleton-text/skeleton-text.js +1 -2
  308. package/dist/collection/components/spinner/spinner.js +2 -4
  309. package/dist/collection/components/tab/tab.js +2 -4
  310. package/dist/collection/components/tab-bar/tab-bar.js +2 -4
  311. package/dist/collection/components/tab-button/tab-button.js +2 -4
  312. package/dist/collection/components/tabs/tabs.js +2 -4
  313. package/dist/collection/components/text/text.js +1 -2
  314. package/dist/collection/components/textarea/textarea.js +3 -6
  315. package/dist/collection/components/title/title.js +2 -4
  316. package/dist/collection/components/toast/toast.js +17 -34
  317. package/dist/collection/components/toggle/toggle.js +2 -4
  318. package/dist/collection/components/toolbar/toolbar.js +1 -2
  319. package/dist/docs.d.ts +0 -37
  320. package/dist/docs.json +442 -971
  321. package/dist/esm/{animation-CnGMT4ji.js → animation-Dt8bGnA-.js} +1 -1
  322. package/dist/esm/app-globals-BDSf8fOA.js +8 -0
  323. package/dist/esm/{button-active-BBx21brx.js → button-active-L570Swow.js} +1 -1
  324. package/dist/esm/{config-TO1rZH52.js → config-mCdtaoPe.js} +1 -1
  325. package/dist/esm/{data-B9iGR5YO.js → data-DCORV9FH.js} +1 -1
  326. package/dist/esm/{framework-delegate-CyxE1S_P.js → framework-delegate-BYawdMXj.js} +1 -1
  327. package/dist/esm/{hardware-back-button-CTe4XmL7.js → hardware-back-button-CPLxO-Ev.js} +1 -1
  328. package/dist/esm/{helpers-Tl8jw6S2.js → helpers-DEn3pfjm.js} +1 -1
  329. package/dist/esm/{index-hW6eNZ3o.js → index-Bs3kT4bc.js} +2 -2
  330. package/dist/esm/{index-IGIE5vDm.js → index-C8IsBmNU.js} +382 -503
  331. package/dist/esm/{index-B2KwgBLx.js → index-CvDIirVx.js} +5 -5
  332. package/dist/esm/{index-BtUdxPjv.js → index-ceb5RaMT.js} +2 -2
  333. package/dist/esm/{index-B-hkiOUh.js → index-r2D9DEro.js} +4 -4
  334. package/dist/esm/index.js +12 -12
  335. package/dist/esm/{input-shims-C1hAaHcP.js → input-shims-DyOpfTg6.js} +3 -3
  336. package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-DrvTa8gz.js} +2 -2
  337. package/dist/esm/ion-accordion_2.entry.js +15 -23
  338. package/dist/esm/ion-action-sheet.entry.js +15 -21
  339. package/dist/esm/ion-alert.entry.js +17 -25
  340. package/dist/esm/ion-app_8.entry.js +40 -44
  341. package/dist/esm/ion-avatar_3.entry.js +12 -12
  342. package/dist/esm/ion-back-button.entry.js +7 -7
  343. package/dist/esm/ion-backdrop.entry.js +6 -6
  344. package/dist/esm/ion-breadcrumb_2.entry.js +14 -20
  345. package/dist/esm/ion-button_2.entry.js +18 -36
  346. package/dist/esm/ion-card_5.entry.js +23 -23
  347. package/dist/esm/ion-checkbox.entry.js +7 -7
  348. package/dist/esm/ion-chip.entry.js +6 -6
  349. package/dist/esm/ion-col_3.entry.js +8 -8
  350. package/dist/esm/ion-datetime-button.entry.js +8 -8
  351. package/dist/esm/ion-datetime_3.entry.js +39 -67
  352. package/dist/esm/ion-fab_3.entry.js +13 -17
  353. package/dist/esm/ion-img.entry.js +6 -8
  354. package/dist/esm/ion-infinite-scroll_2.entry.js +13 -17
  355. package/dist/esm/ion-input-otp.entry.js +10 -16
  356. package/dist/esm/ion-input-password-toggle.entry.js +7 -9
  357. package/dist/esm/ion-input.entry.js +13 -21
  358. package/dist/esm/ion-item-option_3.entry.js +15 -17
  359. package/dist/esm/ion-item_8.entry.js +36 -42
  360. package/dist/esm/ion-loading.entry.js +14 -18
  361. package/dist/esm/ion-menu_3.entry.js +22 -30
  362. package/dist/esm/ion-modal.entry.js +221 -62
  363. package/dist/esm/ion-nav_2.entry.js +10 -14
  364. package/dist/esm/ion-picker-column-option.entry.js +8 -10
  365. package/dist/esm/ion-picker-column.entry.js +7 -11
  366. package/dist/esm/ion-picker.entry.js +6 -6
  367. package/dist/esm/ion-popover.entry.js +15 -21
  368. package/dist/esm/ion-progress-bar.entry.js +7 -7
  369. package/dist/esm/ion-radio_2.entry.js +13 -17
  370. package/dist/esm/ion-range.entry.js +54 -180
  371. package/dist/esm/ion-refresher_2.entry.js +14 -45
  372. package/dist/esm/ion-reorder_2.entry.js +11 -13
  373. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  374. package/dist/esm/ion-route_4.entry.js +10 -20
  375. package/dist/esm/ion-searchbar.entry.js +12 -22
  376. package/dist/esm/ion-segment-content.entry.js +3 -3
  377. package/dist/esm/ion-segment-view.entry.js +5 -5
  378. package/dist/esm/ion-segment_2.entry.js +16 -26
  379. package/dist/esm/ion-select-modal.entry.js +12 -12
  380. package/dist/esm/ion-select_3.entry.js +21 -29
  381. package/dist/esm/ion-spinner.entry.js +4 -4
  382. package/dist/esm/ion-split-pane.entry.js +9 -15
  383. package/dist/esm/ion-tab-bar_2.entry.js +12 -14
  384. package/dist/esm/ion-tab_2.entry.js +8 -10
  385. package/dist/esm/ion-text.entry.js +4 -4
  386. package/dist/esm/ion-textarea.entry.js +12 -18
  387. package/dist/esm/ion-toast.entry.js +15 -21
  388. package/dist/esm/ion-toggle.entry.js +8 -10
  389. package/dist/esm/{ionic-global-DfbeLwcV.js → ionic-global-CDrldh-5.js} +1 -1
  390. package/dist/esm/ionic.js +6 -6
  391. package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-BDzw0_Hm.js} +4 -4
  392. package/dist/esm/loader.js +5 -5
  393. package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-BzDYi3qq.js} +4 -4
  394. package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-BwelN_JM.js} +1 -1
  395. package/dist/esm/{overlays-F8GHPo-e.js → overlays-D5YkFThA.js} +5 -5
  396. package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-5DQ7Fc4V.js} +3 -3
  397. package/dist/esm/{swipe-back-BZBFwTQV.js → swipe-back-BKw2CAHc.js} +2 -2
  398. package/dist/html.html-data.json +109 -109
  399. package/dist/ionic/index.esm.js +1 -1
  400. package/dist/ionic/ionic.esm.js +1 -1
  401. package/dist/ionic/p-012212e4.entry.js +4 -0
  402. package/dist/ionic/p-074839fc.entry.js +4 -0
  403. package/dist/ionic/p-0dfa5a37.entry.js +4 -0
  404. package/dist/ionic/p-0f418a37.entry.js +4 -0
  405. package/dist/ionic/p-11518b31.entry.js +4 -0
  406. package/dist/ionic/{p-80cac7a2.entry.js → p-11aa58d6.entry.js} +1 -1
  407. package/dist/ionic/p-1838bed5.entry.js +4 -0
  408. package/dist/ionic/p-29721c43.entry.js +4 -0
  409. package/dist/ionic/{p-b67a2114.entry.js → p-2a939845.entry.js} +1 -1
  410. package/dist/ionic/{p-025d2d32.entry.js → p-316c0420.entry.js} +1 -1
  411. package/dist/ionic/p-31f7095f.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-074344b8.entry.js → p-370e4237.entry.js} +1 -1
  415. package/dist/ionic/{p-964090ef.entry.js → p-3a6caca9.entry.js} +1 -1
  416. package/dist/ionic/p-40c261a3.entry.js +4 -0
  417. package/dist/ionic/{p-1fd588a7.entry.js → p-46d74291.entry.js} +1 -1
  418. package/dist/ionic/{p-301c43f8.entry.js → p-49d06882.entry.js} +1 -1
  419. package/dist/ionic/p-4e41ea20.entry.js +4 -0
  420. package/dist/ionic/{p-7c72d482.entry.js → p-51a60e0f.entry.js} +1 -1
  421. package/dist/ionic/{p-9833cf63.entry.js → p-582824c5.entry.js} +1 -1
  422. package/dist/ionic/p-6241ce47.entry.js +4 -0
  423. package/dist/ionic/p-639dd543.entry.js +4 -0
  424. package/dist/ionic/p-6444c606.entry.js +4 -0
  425. package/dist/ionic/{p-9fae83d8.entry.js → p-675b1a31.entry.js} +1 -1
  426. package/dist/ionic/p-6d070558.entry.js +4 -0
  427. package/dist/ionic/p-7268efa5.entry.js +4 -0
  428. package/dist/ionic/{p-b4d52b58.entry.js → p-72c38b88.entry.js} +1 -1
  429. package/dist/ionic/{p-370a60ee.entry.js → p-79bd78f9.entry.js} +1 -1
  430. package/dist/ionic/p-7babec72.entry.js +4 -0
  431. package/dist/ionic/{p-a287e18e.entry.js → p-86f53961.entry.js} +1 -1
  432. package/dist/ionic/{p-277abec1.entry.js → p-94de5cfa.entry.js} +1 -1
  433. package/dist/ionic/{p-e663bc5a.entry.js → p-9575b654.entry.js} +1 -1
  434. package/dist/ionic/{p-c1c9b2bb.entry.js → p-9a2d390d.entry.js} +1 -1
  435. package/dist/ionic/{p-DB_iPQC-.js → p-B0q1YL7N.js} +1 -1
  436. package/dist/ionic/{p-NFFyoJ4Q.js → p-BFvmZNyx.js} +1 -1
  437. package/dist/ionic/p-BKc55Xev.js +4 -0
  438. package/dist/ionic/{p-CYbRmDdy.js → p-BOVrCkpJ.js} +1 -1
  439. package/dist/ionic/{p-C0JvVFMv.js → p-BYEqWnSg.js} +1 -1
  440. package/dist/ionic/p-Bmgaetn_.js +4 -0
  441. package/dist/ionic/{p-BAt5H1ac.js → p-C7hRNDhM.js} +1 -1
  442. package/dist/ionic/p-C8IsBmNU.js +5 -0
  443. package/dist/ionic/p-CJxh_yLS.js +4 -0
  444. package/dist/ionic/{p-CGmVTdWh.js → p-CTfR9YZG.js} +1 -1
  445. package/dist/ionic/{p-B8xlpH8p.js → p-CwgG81ZD.js} +1 -1
  446. package/dist/ionic/{p-CmFz1Mjc.js → p-D-eFFUkA.js} +1 -1
  447. package/dist/ionic/{p-BvFYtOdE.js → p-D0dMcSkw.js} +1 -1
  448. package/dist/ionic/{p-DjriolRs.js → p-DCv9sLH2.js} +1 -1
  449. package/dist/ionic/{p-Bum7H1fw.js → p-DDb5r57F.js} +1 -1
  450. package/dist/ionic/{p-DLbbmF9h.js → p-DNcfiJwE.js} +1 -1
  451. package/dist/ionic/p-DUt5fQmA.js +4 -0
  452. package/dist/ionic/p-DZRJwG4S.js +4 -0
  453. package/dist/ionic/{p-gbVXD275.js → p-DbQ5QkTP.js} +1 -1
  454. package/dist/ionic/{p-BxIcPWoV.js → p-Dc45iWE4.js} +1 -1
  455. package/dist/ionic/{p-DTPR1Wpn.js → p-DdR6rpbR.js} +1 -1
  456. package/dist/ionic/{p-GWUGgWx6.js → p-QHYY4sjU.js} +1 -1
  457. package/dist/ionic/p-a127bee2.entry.js +4 -0
  458. package/dist/ionic/{p-f5dfb9a3.entry.js → p-ac4eb91d.entry.js} +1 -1
  459. package/dist/ionic/{p-ca31010f.entry.js → p-b0a7585c.entry.js} +1 -1
  460. package/dist/ionic/p-b3d44509.entry.js +4 -0
  461. package/dist/ionic/{p-bced1f3e.entry.js → p-c73627c8.entry.js} +1 -1
  462. package/dist/ionic/p-cc45bcbc.entry.js +4 -0
  463. package/dist/ionic/p-d0a2a1ab.entry.js +4 -0
  464. package/dist/ionic/{p-9745651b.entry.js → p-d126e8d3.entry.js} +1 -1
  465. package/dist/ionic/{p-b440381f.entry.js → p-d1f54e28.entry.js} +1 -1
  466. package/dist/ionic/{p-1fa1406c.entry.js → p-d2489bf2.entry.js} +1 -1
  467. package/dist/ionic/p-d3014190.entry.js +4 -0
  468. package/dist/ionic/{p-a84f2d21.entry.js → p-da7d04cc.entry.js} +1 -1
  469. package/dist/ionic/p-db82892c.entry.js +4 -0
  470. package/dist/ionic/{p-b2d5238b.entry.js → p-dbbe606a.entry.js} +1 -1
  471. package/dist/ionic/{p-28d7852f.entry.js → p-dd1aef77.entry.js} +1 -1
  472. package/dist/ionic/p-e1d1f3cc.entry.js +4 -0
  473. package/dist/ionic/{p-c3e65e45.entry.js → p-f8f22cc0.entry.js} +1 -1
  474. package/dist/ionic/{p-9802c88e.entry.js → p-f9061316.entry.js} +1 -1
  475. package/dist/types/components/datetime/datetime.d.ts +0 -9
  476. package/dist/types/components/header/header.utils.d.ts +1 -2
  477. package/dist/types/components/modal/gestures/sheet.d.ts +2 -2
  478. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +2 -2
  479. package/dist/types/components/modal/modal-interface.d.ts +7 -0
  480. package/dist/types/components/modal/modal.d.ts +17 -1
  481. package/dist/types/components/range/range-interface.d.ts +0 -1
  482. package/dist/types/components/range/range.d.ts +4 -33
  483. package/dist/types/components/refresher/refresher-interface.d.ts +0 -7
  484. package/dist/types/components/refresher/refresher.d.ts +3 -16
  485. package/dist/types/components.d.ts +206 -929
  486. package/dist/types/interface.d.ts +2 -2
  487. package/dist/types/stencil-public-runtime.d.ts +14 -126
  488. package/dist/types/utils/gesture/listener.d.ts +1 -2
  489. package/hydrate/index.d.ts +0 -12
  490. package/hydrate/index.js +1550 -5375
  491. package/hydrate/index.mjs +1551 -5374
  492. package/package.json +2 -2
  493. package/dist/cjs/app-globals-CLI8xCmk.js +0 -11
  494. package/dist/esm/app-globals-DhZjtldk.js +0 -9
  495. package/dist/ionic/p-02acdef4.entry.js +0 -4
  496. package/dist/ionic/p-04e2c388.entry.js +0 -4
  497. package/dist/ionic/p-13ade5c8.entry.js +0 -4
  498. package/dist/ionic/p-1b02923f.entry.js +0 -4
  499. package/dist/ionic/p-1bd477a9.entry.js +0 -4
  500. package/dist/ionic/p-239a27a4.entry.js +0 -4
  501. package/dist/ionic/p-3e143d1d.entry.js +0 -4
  502. package/dist/ionic/p-4431ef7e.entry.js +0 -4
  503. package/dist/ionic/p-463767ce.entry.js +0 -4
  504. package/dist/ionic/p-4f888343.entry.js +0 -4
  505. package/dist/ionic/p-51c11c47.entry.js +0 -4
  506. package/dist/ionic/p-56050077.entry.js +0 -4
  507. package/dist/ionic/p-6a3a5aae.entry.js +0 -4
  508. package/dist/ionic/p-6b97f2a3.entry.js +0 -4
  509. package/dist/ionic/p-77de9c60.entry.js +0 -4
  510. package/dist/ionic/p-7d20f4f8.entry.js +0 -4
  511. package/dist/ionic/p-91fc7352.entry.js +0 -4
  512. package/dist/ionic/p-93845421.entry.js +0 -4
  513. package/dist/ionic/p-96a2e768.entry.js +0 -4
  514. package/dist/ionic/p-9d1676bb.entry.js +0 -4
  515. package/dist/ionic/p-BW_TRJm8.js +0 -4
  516. package/dist/ionic/p-CtA-yJYy.js +0 -4
  517. package/dist/ionic/p-D8HJQ1qq.js +0 -4
  518. package/dist/ionic/p-DtVZDHlS.js +0 -4
  519. package/dist/ionic/p-IGIE5vDm.js +0 -5
  520. package/dist/ionic/p-a805674e.entry.js +0 -4
  521. package/dist/ionic/p-a81ae2cd.entry.js +0 -4
  522. package/dist/ionic/p-cbf245b5.entry.js +0 -4
  523. package/dist/ionic/p-d68b665a.entry.js +0 -4
  524. package/dist/ionic/p-efe86ed9.entry.js +0 -4
  525. package/dist/ionic/p-hNN3VvaC.js +0 -4
package/components/dir.js CHANGED
@@ -1,4 +1,18 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
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}
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 };
@@ -1,4 +1,75 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
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}
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 };
@@ -1,4 +1,140 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
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}
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 };
@@ -1,4 +1,195 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
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}
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 };
@@ -1,4 +1,158 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
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}
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 };