@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
@@ -1,4 +1,459 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{getAssetPath as o,proxyCustomElement as t,HTMLElement as n,Build as i,h as r,Host as e,transformTag as s}from"@stencil/core/internal/client";let c;const l=(o,t,n,i,r)=>(n="ios"===(n&&f(n))?"ios":"md",i&&"ios"===n?o=f(i):r&&"md"===n?o=f(r):(o||!t||d(t)||(o=t),h(o)&&(o=f(o))),h(o)&&""!==o.trim()?""!==o.replace(/[a-z]|-|\d/gi,"")?null:o:null),a=o=>h(o)&&(o=o.trim(),d(o))?o:null,d=o=>o.length>0&&/(\/|\.)/.test(o),h=o=>"string"==typeof o,f=o=>o.toLowerCase(),u=o=>{if(1===o.nodeType){if("script"===o.nodeName.toLowerCase())return!1;for(let t=0;t<o.attributes.length;t++){const n=o.attributes[t].name;if(h(n)&&0===n.toLowerCase().indexOf("on"))return!1}for(let t=0;t<o.childNodes.length;t++)if(!u(o.childNodes[t]))return!1}return!0},m=new Map,p=new Map;let w;function g(o){return m.set(o,""),""}const b=t(class extends n{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.iconName=null,this.inheritedAttributes={},this.didLoadIcon=!1,this.isVisible=!1,this.mode=v(),this.lazy=!1,this.sanitize=!0}componentWillLoad(){this.inheritedAttributes=((o,t=[])=>{const n={};return t.forEach((t=>{o.hasAttribute(t)&&(null!==o.getAttribute(t)&&(n[t]=o.getAttribute(t)),o.removeAttribute(t))})),n})(this.el,["aria-label"])}connectedCallback(){this.waitUntilVisible(this.el,"50px",(()=>{this.isVisible=!0,this.loadIcon()}))}componentDidLoad(){this.didLoadIcon||this.loadIcon()}disconnectedCallback(){this.io&&(this.io.disconnect(),this.io=void 0)}waitUntilVisible(o,t,n){if(!Boolean(i.isBrowser&&this.lazy&&"undefined"!=typeof window&&window.IntersectionObserver))return n();const r=this.io=new window.IntersectionObserver((o=>{o[0].isIntersecting&&(r.disconnect(),this.io=void 0,n())}),{rootMargin:t});r.observe(o)}loadIcon(){if(i.isBrowser&&this.isVisible){const t=(t=>{let n=a(t.src);if(n)return n;if(n=l(t.name,t.icon,t.mode,t.ios,t.md),n)return((t,n)=>{const i=(()=>{if("undefined"==typeof window)return new Map;if(!c){const o=window;o.Ionicons=o.Ionicons||{},c=o.Ionicons.map=o.Ionicons.map||new Map}return c})().get(t);if(i)return i;try{return o(`svg/${t}.svg`)}catch(o){console.log("e",o),console.warn(`[Ionicons Warning]: Could not load icon with name "${t}". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to the icon component.`,n)}})(n,t);if(t.icon){if(n=a(t.icon),n)return n;if(n=a(t.icon[t.mode]),n)return n}return null})(this);t&&(m.has(t)?this.svgContent=m.get(t):((o,t)=>p.get(o)||("undefined"!=typeof fetch&&"undefined"!=typeof document?(o=>o.startsWith("data:image/svg+xml"))(o)&&(o=>-1!==o.indexOf(";utf8,"))(o)?Promise.resolve(function(o){w||(w=new DOMParser);const t=w.parseFromString(o,"text/html").querySelector("svg");if(t)return m.set(o,t.outerHTML),t.outerHTML;throw new Error(`Could not parse svg from ${o}`)}(o)):function(o,t){const n=fetch(o).then((n=>n.text().then((n=>{n&&!1!==t&&(n=(o=>{const t=document.createElement("div");t.innerHTML=o;for(let o=t.childNodes.length-1;o>=0;o--)"svg"!==t.childNodes[o].nodeName.toLowerCase()&&t.removeChild(t.childNodes[o]);const n=t.firstElementChild;if(n&&"svg"===n.nodeName.toLowerCase()){const o=n.getAttribute("class")||"";if(n.setAttribute("class",(o+" s-ion-icon").trim()),u(n))return t.innerHTML}return""})(n));const i=n||"";return m.set(o,i),i})).catch((()=>g(o))))).catch((()=>g(o)));return p.set(o,n),n}(o,t):Promise.resolve(g(o))))(t,this.sanitize).then((()=>this.svgContent=m.get(t))),this.didLoadIcon=!0)}this.iconName=l(this.name,this.icon,this.mode,this.ios,this.md)}render(){const{flipRtl:o,iconName:t,inheritedAttributes:n,el:s}=this,c=this.mode||"md",l=!!t&&(t.includes("arrow")||t.includes("chevron"))&&!1!==o,a=o||l;return r(e,Object.assign({key:"0578c899781ca145dd8205acd9670af39b57cf2e",role:"img",class:Object.assign(Object.assign({[c]:!0},y(this.color)),{[`icon-${this.size}`]:!!this.size,"flip-rtl":a,"icon-rtl":a&&(d=s,d&&""!==d.dir?"rtl"===d.dir.toLowerCase():"rtl"===(null===document||void 0===document?void 0:document.dir.toLowerCase()))})},n),r("div",i.isBrowser&&this.svgContent?{class:"icon-inner",innerHTML:this.svgContent}:{class:"icon-inner"}));var d}static get assetsDirs(){return["svg"]}get el(){return this}static get watchers(){return{name:[{loadIcon:0}],src:[{loadIcon:0}],icon:[{loadIcon:0}],ios:[{loadIcon:0}],md:[{loadIcon:0}]}}static get style(){return":host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}@supports (background: -webkit-named-image(i)){:host(.icon-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}}@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])){:host(.icon-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}}:host(.flip-rtl):host-context([dir='rtl']) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}@supports selector(:dir(rtl)){:host(.flip-rtl:dir(rtl)) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{-webkit-transform:scaleX(1);transform:scaleX(1)}}:host(.icon-small){font-size:1.125rem !important}:host(.icon-large){font-size:2rem !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}"}},[1,"ion-icon",{mode:[1025],color:[1],ios:[1],md:[1],flipRtl:[4,"flip-rtl"],name:[513],src:[1],icon:[8],size:[1],lazy:[4],sanitize:[4],svgContent:[32],isVisible:[32]},void 0,{name:[{loadIcon:0}],src:[{loadIcon:0}],icon:[{loadIcon:0}],ios:[{loadIcon:0}],md:[{loadIcon:0}]}]),v=()=>i.isBrowser&&"undefined"!=typeof document&&document.documentElement.getAttribute("mode")||"md",y=o=>o?{"ion-color":!0,[`ion-color-${o}`]:!0}:null;function k(){"undefined"!=typeof customElements&&["ion-icon"].forEach((o=>{"ion-icon"===o&&(customElements.get(s(o))||customElements.define(s(o),b))}))}export{b as I,k as d}
4
+ import { getAssetPath, proxyCustomElement, HTMLElement, Build, h, Host } from '@stencil/core/internal/client';
5
+
6
+ let CACHED_MAP;
7
+ const getIconMap = () => {
8
+ if (typeof window === 'undefined') {
9
+ return new Map();
10
+ }
11
+ else {
12
+ if (!CACHED_MAP) {
13
+ const win = window;
14
+ win.Ionicons = win.Ionicons || {};
15
+ CACHED_MAP = win.Ionicons.map = win.Ionicons.map || new Map();
16
+ }
17
+ return CACHED_MAP;
18
+ }
19
+ };
20
+ const getUrl = (i) => {
21
+ let url = getSrc(i.src);
22
+ if (url) {
23
+ return url;
24
+ }
25
+ url = getName(i.name, i.icon, i.mode, i.ios, i.md);
26
+ if (url) {
27
+ return getNamedUrl(url, i);
28
+ }
29
+ if (i.icon) {
30
+ url = getSrc(i.icon);
31
+ if (url) {
32
+ return url;
33
+ }
34
+ url = getSrc(i.icon[i.mode]);
35
+ if (url) {
36
+ return url;
37
+ }
38
+ }
39
+ return null;
40
+ };
41
+ const getNamedUrl = (iconName, iconEl) => {
42
+ const url = getIconMap().get(iconName);
43
+ if (url) {
44
+ return url;
45
+ }
46
+ try {
47
+ return getAssetPath(`svg/${iconName}.svg`);
48
+ }
49
+ catch (e) {
50
+ console.log('e', e);
51
+ /**
52
+ * In the custom elements build version of ionicons, referencing an icon
53
+ * by name will throw an invalid URL error because the asset path is not defined.
54
+ * This catches that error and logs something that is more developer-friendly.
55
+ * We also include a reference to the ion-icon element so developers can
56
+ * figure out which instance of ion-icon needs to be updated.
57
+ */
58
+ console.warn(`[Ionicons Warning]: Could not load icon with name "${iconName}". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to the icon component.`, iconEl);
59
+ }
60
+ };
61
+ const getName = (iconName, icon, mode, ios, md) => {
62
+ // default to "md" if somehow the mode wasn't set
63
+ mode = (mode && toLower(mode)) === 'ios' ? 'ios' : 'md';
64
+ // if an icon was passed in using the ios or md attributes
65
+ // set the iconName to whatever was passed in
66
+ if (ios && mode === 'ios') {
67
+ iconName = toLower(ios);
68
+ }
69
+ else if (md && mode === 'md') {
70
+ iconName = toLower(md);
71
+ }
72
+ else {
73
+ if (!iconName && icon && !isSrc(icon)) {
74
+ iconName = icon;
75
+ }
76
+ if (isStr(iconName)) {
77
+ iconName = toLower(iconName);
78
+ }
79
+ }
80
+ if (!isStr(iconName) || iconName.trim() === '') {
81
+ return null;
82
+ }
83
+ // only allow alpha characters and dash
84
+ const invalidChars = iconName.replace(/[a-z]|-|\d/gi, '');
85
+ if (invalidChars !== '') {
86
+ return null;
87
+ }
88
+ return iconName;
89
+ };
90
+ const getSrc = (src) => {
91
+ if (isStr(src)) {
92
+ src = src.trim();
93
+ if (isSrc(src)) {
94
+ return src;
95
+ }
96
+ }
97
+ return null;
98
+ };
99
+ const isSrc = (str) => str.length > 0 && /(\/|\.)/.test(str);
100
+ const isStr = (val) => typeof val === 'string';
101
+ const toLower = (val) => val.toLowerCase();
102
+ /**
103
+ * Elements inside of web components sometimes need to inherit global attributes
104
+ * set on the host. For example, the inner input in `ion-input` should inherit
105
+ * the `title` attribute that developers set directly on `ion-input`. This
106
+ * helper function should be called in componentWillLoad and assigned to a variable
107
+ * that is later used in the render function.
108
+ *
109
+ * This does not need to be reactive as changing attributes on the host element
110
+ * does not trigger a re-render.
111
+ */
112
+ const inheritAttributes = (el, attributes = []) => {
113
+ const attributeObject = {};
114
+ attributes.forEach((attr) => {
115
+ if (el.hasAttribute(attr)) {
116
+ const value = el.getAttribute(attr);
117
+ if (value !== null) {
118
+ attributeObject[attr] = el.getAttribute(attr);
119
+ }
120
+ el.removeAttribute(attr);
121
+ }
122
+ });
123
+ return attributeObject;
124
+ };
125
+ /**
126
+ * Returns `true` if the document or host element
127
+ * has a `dir` set to `rtl`. The host value will always
128
+ * take priority over the root document value.
129
+ */
130
+ const isRTL = (hostEl) => {
131
+ if (hostEl) {
132
+ if (hostEl.dir !== '') {
133
+ return hostEl.dir.toLowerCase() === 'rtl';
134
+ }
135
+ }
136
+ return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';
137
+ };
138
+
139
+ const validateContent = (svgContent) => {
140
+ const div = document.createElement('div');
141
+ div.innerHTML = svgContent;
142
+ // setup this way to ensure it works on our buddy IE
143
+ for (let i = div.childNodes.length - 1; i >= 0; i--) {
144
+ if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {
145
+ div.removeChild(div.childNodes[i]);
146
+ }
147
+ }
148
+ // must only have 1 root element
149
+ const svgElm = div.firstElementChild;
150
+ if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {
151
+ const svgClass = svgElm.getAttribute('class') || '';
152
+ svgElm.setAttribute('class', (svgClass + ' s-ion-icon').trim());
153
+ // root element must be an svg
154
+ // lets double check we've got valid elements
155
+ // do not allow scripts
156
+ if (isValid(svgElm)) {
157
+ return div.innerHTML;
158
+ }
159
+ }
160
+ return '';
161
+ };
162
+ const isValid = (elm) => {
163
+ if (elm.nodeType === 1) {
164
+ if (elm.nodeName.toLowerCase() === 'script') {
165
+ return false;
166
+ }
167
+ for (let i = 0; i < elm.attributes.length; i++) {
168
+ const name = elm.attributes[i].name;
169
+ if (isStr(name) && name.toLowerCase().indexOf('on') === 0) {
170
+ return false;
171
+ }
172
+ }
173
+ for (let i = 0; i < elm.childNodes.length; i++) {
174
+ if (!isValid(elm.childNodes[i])) {
175
+ return false;
176
+ }
177
+ }
178
+ }
179
+ return true;
180
+ };
181
+ const isSvgDataUrl = (url) => url.startsWith('data:image/svg+xml');
182
+ const isEncodedDataUrl = (url) => url.indexOf(';utf8,') !== -1;
183
+
184
+ const ioniconContent = new Map();
185
+ const requests = new Map();
186
+ let parser;
187
+ /**
188
+ * Safely fallback to an empty svg
189
+ */
190
+ function safeFallback(url) {
191
+ const svg = '';
192
+ ioniconContent.set(url, svg);
193
+ return svg;
194
+ }
195
+ const getSvgContent = (url, sanitize) => {
196
+ /**
197
+ * See if we already have a request for this url
198
+ */
199
+ const req = requests.get(url);
200
+ if (req) {
201
+ return req;
202
+ }
203
+ if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {
204
+ /**
205
+ * If the url is a data url of an svg, then try to parse it
206
+ * with the DOMParser. This works with content security policies enabled.
207
+ */
208
+ if (isSvgDataUrl(url) && isEncodedDataUrl(url)) {
209
+ return Promise.resolve(getSvgByUrl(url));
210
+ }
211
+ return fetchSvg(url, sanitize);
212
+ }
213
+ return Promise.resolve(safeFallback(url));
214
+ };
215
+ function getSvgByUrl(url) {
216
+ if (!parser) {
217
+ /**
218
+ * Create an instance of the DOM parser. This creates a single
219
+ * parser instance for the entire app, which is more efficient.
220
+ */
221
+ parser = new DOMParser();
222
+ }
223
+ const doc = parser.parseFromString(url, 'text/html');
224
+ const svg = doc.querySelector('svg');
225
+ if (svg) {
226
+ ioniconContent.set(url, svg.outerHTML);
227
+ return svg.outerHTML;
228
+ }
229
+ throw new Error(`Could not parse svg from ${url}`);
230
+ }
231
+ function fetchSvg(url, sanitize) {
232
+ /**
233
+ * We don't already have a request
234
+ */
235
+ const req = fetch(url)
236
+ .then((rsp) => {
237
+ /**
238
+ * When fetching from a file:// URL, some browsers return
239
+ * a 0 status code even when the request succeeds so don't
240
+ * rely on rsp.ok as the only signal of success.
241
+ */
242
+ return rsp
243
+ .text()
244
+ .then((svgContent) => {
245
+ if (svgContent && sanitize !== false) {
246
+ svgContent = validateContent(svgContent);
247
+ }
248
+ const svg = svgContent || '';
249
+ ioniconContent.set(url, svg);
250
+ return svg;
251
+ })
252
+ .catch(() => safeFallback(url));
253
+ })
254
+ .catch(() => safeFallback(url));
255
+ /**
256
+ * Cache for the same requests
257
+ */
258
+ requests.set(url, req);
259
+ return req;
260
+ }
261
+
262
+ const iconCss = ":host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}@supports (background: -webkit-named-image(i)){:host(.icon-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}}@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])){:host(.icon-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}}:host(.flip-rtl):host-context([dir='rtl']) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}@supports selector(:dir(rtl)){:host(.flip-rtl:dir(rtl)) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{-webkit-transform:scaleX(1);transform:scaleX(1)}}:host(.icon-small){font-size:1.125rem !important}:host(.icon-large){font-size:2rem !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}";
263
+
264
+ const Icon = /*@__PURE__*/ proxyCustomElement(class Icon extends HTMLElement {
265
+ constructor(registerHost) {
266
+ super();
267
+ if (registerHost !== false) {
268
+ this.__registerHost();
269
+ }
270
+ this.__attachShadow();
271
+ this.iconName = null;
272
+ this.inheritedAttributes = {};
273
+ this.didLoadIcon = false;
274
+ this.isVisible = false;
275
+ /**
276
+ * The mode determines which platform styles to use.
277
+ */
278
+ this.mode = getIonMode();
279
+ /**
280
+ * If enabled, ion-icon will be loaded lazily when it's visible in the viewport.
281
+ * Default, `false`.
282
+ */
283
+ this.lazy = false;
284
+ /**
285
+ * When set to `false`, SVG content that is HTTP fetched will not be checked
286
+ * if the response SVG content has any `<script>` elements, or any attributes
287
+ * that start with `on`, such as `onclick`.
288
+ * @default true
289
+ */
290
+ this.sanitize = true;
291
+ }
292
+ componentWillLoad() {
293
+ this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
294
+ }
295
+ connectedCallback() {
296
+ /**
297
+ * purposely do not return the promise here because loading
298
+ * the svg file should not hold up loading the app
299
+ * only load the svg if it's visible
300
+ */
301
+ this.waitUntilVisible(this.el, '50px', () => {
302
+ this.isVisible = true;
303
+ this.loadIcon();
304
+ });
305
+ }
306
+ /**
307
+ * Loads the icon after the component has finished rendering.
308
+ */
309
+ componentDidLoad() {
310
+ /**
311
+ * Addresses an Angular issue where property values are assigned after the 'connectedCallback' but prior to the registration of watchers.
312
+ * This enhancement ensures the loading of an icon when the component has finished rendering and the icon has yet to apply the SVG data.
313
+ * This modification pertains to the usage of Angular's binding syntax:
314
+ * `<ion-icon [name]="myIconName"></ion-icon>`
315
+ */
316
+ if (!this.didLoadIcon) {
317
+ this.loadIcon();
318
+ }
319
+ }
320
+ /**
321
+ * Disconnect the IntersectionObserver.
322
+ */
323
+ disconnectedCallback() {
324
+ if (this.io) {
325
+ this.io.disconnect();
326
+ this.io = undefined;
327
+ }
328
+ }
329
+ /**
330
+ * Wait until the icon is visible in the viewport.
331
+ * @param el - The element to observe.
332
+ * @param rootMargin - The root margin of the observer.
333
+ * @param cb - The callback to call when the element is visible.
334
+ */
335
+ waitUntilVisible(el, rootMargin, cb) {
336
+ /**
337
+ * IntersectionObserver is a browser API that allows you to observe
338
+ * the visibility of an element relative to a root element. It is
339
+ * supported in all modern browsers, except IE and when server-side
340
+ * rendering.
341
+ */
342
+ const hasIntersectionObserverSupport = Boolean(Build.isBrowser && this.lazy && typeof window !== 'undefined' && window.IntersectionObserver);
343
+ /**
344
+ * browser doesn't support IntersectionObserver
345
+ * so just fallback to always show it
346
+ */
347
+ if (!hasIntersectionObserverSupport) {
348
+ return cb();
349
+ }
350
+ const io = (this.io = new window.IntersectionObserver((data) => {
351
+ if (data[0].isIntersecting) {
352
+ io.disconnect();
353
+ this.io = undefined;
354
+ cb();
355
+ }
356
+ }, { rootMargin }));
357
+ io.observe(el);
358
+ }
359
+ /**
360
+ * Watch for changes to the icon name, src, icon, ios, or md properties.
361
+ * When a change is detected, the icon will be loaded.
362
+ */
363
+ loadIcon() {
364
+ if (Build.isBrowser && this.isVisible) {
365
+ const url = getUrl(this);
366
+ if (url) {
367
+ if (ioniconContent.has(url)) {
368
+ // sync if it's already loaded
369
+ this.svgContent = ioniconContent.get(url);
370
+ }
371
+ else {
372
+ // async if it hasn't been loaded
373
+ getSvgContent(url, this.sanitize).then(() => (this.svgContent = ioniconContent.get(url)));
374
+ }
375
+ this.didLoadIcon = true;
376
+ }
377
+ }
378
+ this.iconName = getName(this.name, this.icon, this.mode, this.ios, this.md);
379
+ }
380
+ render() {
381
+ const { flipRtl, iconName, inheritedAttributes, el } = this;
382
+ const mode = this.mode || 'md';
383
+ /**
384
+ * we have designated that arrows & chevrons should automatically flip (unless flip-rtl
385
+ * is set to false) because "back" is left in ltr and right in rtl, and "forward" is the opposite
386
+ */
387
+ const shouldAutoFlip = iconName
388
+ ? (iconName.includes('arrow') || iconName.includes('chevron')) && flipRtl !== false
389
+ : false;
390
+ /**
391
+ * if shouldBeFlippable is true, the icon should change direction when `dir` changes
392
+ */
393
+ const shouldBeFlippable = flipRtl || shouldAutoFlip;
394
+ return (h(Host, Object.assign({ key: '0578c899781ca145dd8205acd9670af39b57cf2e', role: "img", class: Object.assign(Object.assign({ [mode]: true }, createColorClasses(this.color)), { [`icon-${this.size}`]: !!this.size, 'flip-rtl': shouldBeFlippable, 'icon-rtl': shouldBeFlippable && isRTL(el) }) }, inheritedAttributes), Build.isBrowser && this.svgContent ? (h("div", { class: "icon-inner", innerHTML: this.svgContent })) : (h("div", { class: "icon-inner" }))));
395
+ }
396
+ static get assetsDirs() { return ["svg"]; }
397
+ get el() { return this; }
398
+ static get watchers() { return {
399
+ "name": ["loadIcon"],
400
+ "src": ["loadIcon"],
401
+ "icon": ["loadIcon"],
402
+ "ios": ["loadIcon"],
403
+ "md": ["loadIcon"]
404
+ }; }
405
+ static get style() { return iconCss; }
406
+ }, [257, "ion-icon", {
407
+ "mode": [1025],
408
+ "color": [1],
409
+ "ios": [1],
410
+ "md": [1],
411
+ "flipRtl": [4, "flip-rtl"],
412
+ "name": [513],
413
+ "src": [1],
414
+ "icon": [8],
415
+ "size": [1],
416
+ "lazy": [4],
417
+ "sanitize": [4],
418
+ "svgContent": [32],
419
+ "isVisible": [32]
420
+ }, undefined, {
421
+ "name": ["loadIcon"],
422
+ "src": ["loadIcon"],
423
+ "icon": ["loadIcon"],
424
+ "ios": ["loadIcon"],
425
+ "md": ["loadIcon"]
426
+ }]);
427
+ /**
428
+ * Get the mode of the document.
429
+ * @returns The mode of the document.
430
+ */
431
+ const getIonMode = () => (Build.isBrowser && typeof document !== 'undefined' && document.documentElement.getAttribute('mode')) || 'md';
432
+ /**
433
+ * Create color classes for the icon.
434
+ * @param color - The color of the icon.
435
+ * @returns The color classes for the icon.
436
+ */
437
+ const createColorClasses = (color) => {
438
+ return color
439
+ ? {
440
+ 'ion-color': true,
441
+ [`ion-color-${color}`]: true,
442
+ }
443
+ : null;
444
+ };
445
+ function defineCustomElement() {
446
+ if (typeof customElements === "undefined") {
447
+ return;
448
+ }
449
+ const components = ["ion-icon"];
450
+ components.forEach(tagName => { switch (tagName) {
451
+ case "ion-icon":
452
+ if (!customElements.get(tagName)) {
453
+ customElements.define(tagName, Icon);
454
+ }
455
+ break;
456
+ } });
457
+ }
458
+
459
+ export { Icon as I, defineCustomElement as d };
@@ -31,5 +31,3 @@ export interface SetPlatformOptions {
31
31
  rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
32
32
  }
33
33
  export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
34
-
35
- export * from '../dist/types';
@@ -1,4 +1,118 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- export{getAssetPath,render,setAssetPath,setNonce,setPlatformOptions}from"@stencil/core/internal/client";export{c as createAnimation}from"./animation.js";export{a as LIFECYCLE_DID_ENTER,c as LIFECYCLE_DID_LEAVE,L as LIFECYCLE_WILL_ENTER,b as LIFECYCLE_WILL_LEAVE,d as LIFECYCLE_WILL_UNLOAD,g as getIonPageElement}from"./index2.js";export{iosTransitionAnimation}from"./ios.transition.js";export{mdTransitionAnimation}from"./md.transition.js";export{g as getTimeGivenProgression}from"./cubic-bezier.js";export{createGesture}from"./index3.js";export{g as getPlatforms,i as initialize,a as isPlatform}from"./ionic-global.js";export{c as componentOnReady}from"./helpers.js";export{L as LogLevel}from"./index4.js";export{I as IonicSafeString,g as getMode,s as setupConfig}from"./config.js";export{o as openURL}from"./theme.js";export{m as menuController}from"./index5.js";export{b as actionSheetController,a as alertController,l as loadingController,m as modalController,p as pickerController,c as popoverController,t as toastController}from"./overlays.js";const e=e=>{const{swiper:o,extendParams:t}=e,s={effect:void 0,direction:"horizontal",initialSlide:0,loop:!1,parallax:!1,slidesPerView:1,spaceBetween:0,speed:300,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,touchEventsTarget:"container",freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,zoom:{maxRatio:3,minRatio:1,toggle:!1},touchRatio:1,touchAngle:45,simulateTouch:!0,touchStartPreventDefault:!1,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,threshold:0,touchMoveStopPropagation:!0,touchReleaseOnEdges:!1,iOSEdgeSwipeDetection:!1,iOSEdgeSwipeThreshold:20,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loopAdditionalSlides:0,noSwiping:!0,runCallbacksOnInit:!0,coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0},flipEffect:{slideShadows:!0,limitRotation:!0},cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94},fadeEffect:{crossFade:!1},a11y:{prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide"}};o.pagination&&(s.pagination={type:"bullets",clickable:!1,hideOnClick:!1}),o.scrollbar&&(s.scrollbar={hide:!0}),t(s)};export{e as IonicSlides}
4
+ export { getAssetPath, render, setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
5
+ export { c as createAnimation } from './animation.js';
6
+ export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index2.js';
7
+ export { iosTransitionAnimation } from './ios.transition.js';
8
+ export { mdTransitionAnimation } from './md.transition.js';
9
+ export { g as getTimeGivenProgression } from './cubic-bezier.js';
10
+ export { createGesture } from './index3.js';
11
+ export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global.js';
12
+ export { c as componentOnReady } from './helpers.js';
13
+ export { L as LogLevel } from './index4.js';
14
+ export { I as IonicSafeString, g as getMode, s as setupConfig } from './config.js';
15
+ export { o as openURL } from './theme.js';
16
+ export { m as menuController } from './index5.js';
17
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays.js';
18
+
19
+ const IonicSlides = (opts) => {
20
+ const { swiper, extendParams } = opts;
21
+ const slidesParams = {
22
+ effect: undefined,
23
+ direction: 'horizontal',
24
+ initialSlide: 0,
25
+ loop: false,
26
+ parallax: false,
27
+ slidesPerView: 1,
28
+ spaceBetween: 0,
29
+ speed: 300,
30
+ slidesPerColumn: 1,
31
+ slidesPerColumnFill: 'column',
32
+ slidesPerGroup: 1,
33
+ centeredSlides: false,
34
+ slidesOffsetBefore: 0,
35
+ slidesOffsetAfter: 0,
36
+ touchEventsTarget: 'container',
37
+ freeMode: false,
38
+ freeModeMomentum: true,
39
+ freeModeMomentumRatio: 1,
40
+ freeModeMomentumBounce: true,
41
+ freeModeMomentumBounceRatio: 1,
42
+ freeModeMomentumVelocityRatio: 1,
43
+ freeModeSticky: false,
44
+ freeModeMinimumVelocity: 0.02,
45
+ autoHeight: false,
46
+ setWrapperSize: false,
47
+ zoom: {
48
+ maxRatio: 3,
49
+ minRatio: 1,
50
+ toggle: false,
51
+ },
52
+ touchRatio: 1,
53
+ touchAngle: 45,
54
+ simulateTouch: true,
55
+ touchStartPreventDefault: false,
56
+ shortSwipes: true,
57
+ longSwipes: true,
58
+ longSwipesRatio: 0.5,
59
+ longSwipesMs: 300,
60
+ followFinger: true,
61
+ threshold: 0,
62
+ touchMoveStopPropagation: true,
63
+ touchReleaseOnEdges: false,
64
+ iOSEdgeSwipeDetection: false,
65
+ iOSEdgeSwipeThreshold: 20,
66
+ resistance: true,
67
+ resistanceRatio: 0.85,
68
+ watchSlidesProgress: false,
69
+ watchSlidesVisibility: false,
70
+ preventClicks: true,
71
+ preventClicksPropagation: true,
72
+ slideToClickedSlide: false,
73
+ loopAdditionalSlides: 0,
74
+ noSwiping: true,
75
+ runCallbacksOnInit: true,
76
+ coverflowEffect: {
77
+ rotate: 50,
78
+ stretch: 0,
79
+ depth: 100,
80
+ modifier: 1,
81
+ slideShadows: true,
82
+ },
83
+ flipEffect: {
84
+ slideShadows: true,
85
+ limitRotation: true,
86
+ },
87
+ cubeEffect: {
88
+ slideShadows: true,
89
+ shadow: true,
90
+ shadowOffset: 20,
91
+ shadowScale: 0.94,
92
+ },
93
+ fadeEffect: {
94
+ crossFade: false,
95
+ },
96
+ a11y: {
97
+ prevSlideMessage: 'Previous slide',
98
+ nextSlideMessage: 'Next slide',
99
+ firstSlideMessage: 'This is the first slide',
100
+ lastSlideMessage: 'This is the last slide',
101
+ },
102
+ };
103
+ if (swiper.pagination) {
104
+ slidesParams.pagination = {
105
+ type: 'bullets',
106
+ clickable: false,
107
+ hideOnClick: false,
108
+ };
109
+ }
110
+ if (swiper.scrollbar) {
111
+ slidesParams.scrollbar = {
112
+ hide: true,
113
+ };
114
+ }
115
+ extendParams(slidesParams);
116
+ };
117
+
118
+ export { IonicSlides };