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

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