@ionic/core 9.0.0 → 9.0.1-nightly.20260820

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 (594) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker.js +1 -1
  59. package/components/ion-popover.js +1 -1
  60. package/components/ion-progress-bar.js +1 -1
  61. package/components/ion-radio-group.js +1 -1
  62. package/components/ion-radio.js +1 -1
  63. package/components/ion-range.js +1 -1
  64. package/components/ion-refresher-content.js +1 -1
  65. package/components/ion-refresher.js +1 -1
  66. package/components/ion-reorder-group.js +1 -1
  67. package/components/ion-reorder.js +1 -1
  68. package/components/ion-ripple-effect.js +1 -1
  69. package/components/ion-route-redirect.js +1 -1
  70. package/components/ion-route.js +1 -1
  71. package/components/ion-router-link.js +1 -1
  72. package/components/ion-router-outlet.js +1 -1
  73. package/components/ion-router.js +1 -1
  74. package/components/ion-row.js +1 -1
  75. package/components/ion-searchbar.js +1 -1
  76. package/components/ion-segment-button.js +1 -1
  77. package/components/ion-segment-content.js +1 -1
  78. package/components/ion-segment-view.js +1 -1
  79. package/components/ion-segment.js +1 -1
  80. package/components/ion-select-modal.js +1 -1
  81. package/components/ion-select-option.js +1 -1
  82. package/components/ion-select-popover.js +1 -1
  83. package/components/ion-select.js +1 -1
  84. package/components/ion-skeleton-text.js +1 -1
  85. package/components/ion-spinner.js +1 -1
  86. package/components/ion-split-pane.js +1 -1
  87. package/components/ion-tab-bar.js +1 -1
  88. package/components/ion-tab-button.js +1 -1
  89. package/components/ion-tab.js +1 -1
  90. package/components/ion-tabs.js +1 -1
  91. package/components/ion-text.js +1 -1
  92. package/components/ion-textarea.js +1 -1
  93. package/components/ion-thumbnail.js +1 -1
  94. package/components/ion-title.js +1 -1
  95. package/components/ion-toast.js +1 -1
  96. package/components/ion-toggle.js +1 -1
  97. package/components/ion-toolbar.js +1 -1
  98. package/components/{p-63OhffQv.js → p-66ogmUZU.js} +1 -1
  99. package/components/p-6Vp915Y7.js +4 -0
  100. package/components/p-7PNwKFZi.js +4 -0
  101. package/components/{p-G0TxqHfe.js → p-A8MJRBIY.js} +1 -1
  102. package/components/p-AQcCdH2_.js +4 -0
  103. package/{dist/ionic/p-Dn0mqQ_R.js → components/p-B6x5_b9w.js} +1 -1
  104. package/components/p-B8MQjdvk.js +4 -0
  105. package/components/p-BA_4ZIEg.js +4 -0
  106. package/components/p-BFtL8t1r.js +4 -0
  107. package/components/{p-DaA_8eqt.js → p-BMfgF-Tv.js} +1 -1
  108. package/components/p-BPDxVIRr.js +4 -0
  109. package/components/p-BSARlp49.js +4 -0
  110. package/components/p-B_gJaBk0.js +4 -0
  111. package/components/p-BdwCtX8Y.js +4 -0
  112. package/components/p-Bg4OwDwb.js +4 -0
  113. package/components/{p-DV85C0e0.js → p-BgUIV8NQ.js} +1 -1
  114. package/components/p-Bnc0m4SW.js +4 -0
  115. package/components/p-BpLt_Ptn.js +4 -0
  116. package/components/p-BqBDq1Ma.js +4 -0
  117. package/components/{p-C_phlPMC.js → p-BrFaQbGY.js} +1 -1
  118. package/{dist/ionic/p-Cdjxf_yg.js → components/p-BuPAFTWI.js} +1 -1
  119. package/components/p-Bx2saTHs.js +4 -0
  120. package/components/p-BxhE2W85.js +4 -0
  121. package/components/p-CHswSpKy.js +4 -0
  122. package/components/{p-fruGqVHh.js → p-CQAjyETU.js} +1 -1
  123. package/components/{p-1jI5oW-W.js → p-CR9OgE6N.js} +1 -1
  124. package/components/p-CWETxTjE.js +4 -0
  125. package/components/p-CaZeZIL2.js +4 -0
  126. package/components/p-CaiZOhfC.js +4 -0
  127. package/components/p-CgvDC7hC.js +4 -0
  128. package/components/{p-BqPNzJf6.js → p-CqyGR9Aq.js} +1 -1
  129. package/components/{p-UIBJkZf8.js → p-D0YpjgON.js} +1 -1
  130. package/components/p-D7ysFE2B.js +4 -0
  131. package/{dist/ionic/p-4eOQC00Z.js → components/p-DCWfzDM8.js} +1 -1
  132. package/components/{p-DwpKZ6rl.js → p-DDdkefwf.js} +1 -1
  133. package/components/{p-DzRT60Tw.js → p-DEW7CnUc.js} +1 -1
  134. package/components/p-DQ1IPvZO.js +4 -0
  135. package/components/p-DcOH6-o5.js +4 -0
  136. package/components/{p-DD5fQ4EQ.js → p-DfdYCsov.js} +1 -1
  137. package/components/{p-DSzSbVP2.js → p-DhOoEIAs.js} +1 -1
  138. package/components/{p-DM-PrAoh.js → p-Dl_7b_UJ.js} +1 -1
  139. package/components/p-DqAI6tg7.js +4 -0
  140. package/components/p-DrehWDfv.js +4 -0
  141. package/components/{p-ryyf_ItD.js → p-DysqCsJu.js} +1 -1
  142. package/components/p-H1f2qsk4.js +4 -0
  143. package/components/p-HVYBAhFx.js +4 -0
  144. package/components/{p-CbhUdtjf.js → p-Kmrg3Fed.js} +1 -1
  145. package/components/{p-Bjig0DJK.js → p-RFfE9hF6.js} +1 -1
  146. package/{dist/ionic/p-CBWAXjA5.js → components/p-SR-LLqp_.js} +1 -1
  147. package/components/p-eFI3mtEX.js +4 -0
  148. package/components/p-gFwXiYC_.js +4 -0
  149. package/components/p-tX3UxCnU.js +4 -0
  150. package/components/p-v2NpoOHp.js +4 -0
  151. package/dist/cjs/{animation-C0mOHzej.js → animation-D-OqR4a4.js} +1 -1
  152. package/dist/cjs/{app-globals-BREG4twP.js → app-globals-BzgwARwJ.js} +1 -1
  153. package/dist/cjs/{button-active-CVMevT9a.js → button-active-BlWSD7uK.js} +2 -2
  154. package/dist/cjs/{format-pp0Du3K-.js → format-D7ig6Vm0.js} +1 -1
  155. package/dist/cjs/{framework-delegate-Dfo5XsGv.js → framework-delegate-BZUx4TnE.js} +1 -1
  156. package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-CeJslptU.js} +6 -14
  157. package/dist/cjs/{hardware-back-button-fqpYh-kd.js → hardware-back-button-JOAEFSzc.js} +1 -1
  158. package/dist/cjs/{helpers-YPQybDph.js → helpers-Dj5o76mq.js} +1 -1
  159. package/dist/cjs/{index-BLdJCcJY.js → index-2sO-zkZ2.js} +4 -4
  160. package/dist/cjs/{index-uvry__L4.js → index-BrVMoqUk.js} +3 -1
  161. package/dist/cjs/{index-zVCah4Uz.js → index-C8zH6b3d.js} +2 -2
  162. package/dist/cjs/{index-DXsPSne6.js → index-CZ6vzt_q.js} +5 -5
  163. package/dist/cjs/{index-DDg31ZF5.js → index-Csue6G3m.js} +2 -2
  164. package/dist/cjs/{index-DwlRtFZe.js → index-DRPqwSvU.js} +1 -1
  165. package/dist/cjs/{index-B7zJsYWS.js → index-EJLjthTK.js} +1 -2
  166. package/dist/cjs/index.cjs.js +14 -14
  167. package/dist/cjs/{input-shims-Cbu1fcye.js → input-shims-Bh7bnt2v.js} +3 -3
  168. package/dist/cjs/{input.utils-BZdMWVrt.js → input.utils-Cq3g9uHy.js} +1 -1
  169. package/dist/cjs/ion-accordion_2.cjs.entry.js +335 -364
  170. package/dist/cjs/ion-action-sheet.cjs.entry.js +60 -140
  171. package/dist/cjs/ion-alert.cjs.entry.js +67 -159
  172. package/dist/cjs/ion-app_8.cjs.entry.js +163 -258
  173. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -8
  174. package/dist/cjs/ion-back-button.cjs.entry.js +21 -45
  175. package/dist/cjs/ion-backdrop.cjs.entry.js +14 -18
  176. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +117 -195
  177. package/dist/cjs/ion-button_2.cjs.entry.js +61 -130
  178. package/dist/cjs/ion-card_5.cjs.entry.js +28 -80
  179. package/dist/cjs/ion-checkbox.cjs.entry.js +98 -147
  180. package/dist/cjs/ion-chip.cjs.entry.js +10 -16
  181. package/dist/cjs/ion-col_3.cjs.entry.js +6 -126
  182. package/dist/cjs/ion-datetime-button.cjs.entry.js +232 -248
  183. package/dist/cjs/ion-datetime.cjs.entry.js +775 -953
  184. package/dist/cjs/ion-fab_3.cjs.entry.js +78 -136
  185. package/dist/cjs/ion-img.cjs.entry.js +11 -31
  186. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +71 -98
  187. package/dist/cjs/ion-input-otp.cjs.entry.js +352 -424
  188. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +14 -29
  189. package/dist/cjs/ion-input.cjs.entry.js +158 -302
  190. package/dist/cjs/ion-item-option_3.cjs.entry.js +45 -87
  191. package/dist/cjs/ion-item_8.cjs.entry.js +61 -157
  192. package/dist/cjs/ion-loading.cjs.entry.js +54 -131
  193. package/dist/cjs/ion-menu_3.cjs.entry.js +94 -158
  194. package/dist/cjs/ion-modal.cjs.entry.js +206 -362
  195. package/dist/cjs/ion-nav_2.cjs.entry.js +26 -78
  196. package/dist/cjs/ion-picker-column-option.cjs.entry.js +23 -33
  197. package/dist/cjs/ion-picker-column.cjs.entry.js +389 -410
  198. package/dist/cjs/ion-picker.cjs.entry.js +390 -400
  199. package/dist/cjs/ion-popover.cjs.entry.js +184 -292
  200. package/dist/cjs/ion-progress-bar.cjs.entry.js +23 -29
  201. package/dist/cjs/ion-radio_2.cjs.entry.js +128 -201
  202. package/dist/cjs/ion-range.cjs.entry.js +223 -293
  203. package/dist/cjs/ion-refresher_2.cjs.entry.js +79 -151
  204. package/dist/cjs/ion-reorder_2.cjs.entry.js +19 -49
  205. package/dist/cjs/ion-ripple-effect.cjs.entry.js +13 -13
  206. package/dist/cjs/ion-route_4.cjs.entry.js +45 -144
  207. package/dist/cjs/ion-searchbar.cjs.entry.js +182 -268
  208. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  209. package/dist/cjs/ion-segment-view.cjs.entry.js +12 -24
  210. package/dist/cjs/ion-segment_2.cjs.entry.js +111 -154
  211. package/dist/cjs/ion-select-modal.cjs.entry.js +19 -21
  212. package/dist/cjs/ion-select_3.cjs.entry.js +151 -319
  213. package/dist/cjs/ion-spinner.cjs.entry.js +6 -21
  214. package/dist/cjs/ion-split-pane.cjs.entry.js +14 -27
  215. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +32 -89
  216. package/dist/cjs/ion-tab_2.cjs.entry.js +22 -49
  217. package/dist/cjs/ion-text.cjs.entry.js +2 -8
  218. package/dist/cjs/ion-textarea.cjs.entry.js +139 -256
  219. package/dist/cjs/ion-toast.cjs.entry.js +106 -221
  220. package/dist/cjs/ion-toggle.cjs.entry.js +114 -165
  221. package/dist/cjs/{ionic-global-k6hOWWpn.js → ionic-global-DvgIzM2F.js} +1 -1
  222. package/dist/cjs/ionic.cjs.js +4 -4
  223. package/dist/cjs/{ios.transition-zTmJz8T-.js → ios.transition-zIgdoSYe.js} +4 -4
  224. package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-DG-ZGm6j.js} +1 -1
  225. package/dist/cjs/loader.cjs.js +4 -4
  226. package/dist/cjs/{md.transition-nb_4pUXu.js → md.transition-CXeJ9rfh.js} +4 -4
  227. package/dist/cjs/{overlays-KaNVDNqC.js → overlays-Bg0auTQa.js} +6 -6
  228. package/dist/cjs/{select-option-render-pULCGldr.js → select-option-render-7m1WdFzF.js} +2 -2
  229. package/dist/cjs/{slot-mutation-controller-DPHmqXdV.js → slot-mutation-controller-BJEJzx_e.js} +1 -1
  230. package/dist/cjs/{status-tap-o9IIymsP.js → status-tap-DxbUM5XX.js} +3 -3
  231. package/dist/cjs/{swipe-back-B7X9VOlH.js → swipe-back-F_DBt-Aw.js} +4 -4
  232. package/dist/collection/components/accordion/accordion.js +310 -314
  233. package/dist/collection/components/accordion-group/accordion-group.js +23 -46
  234. package/dist/collection/components/action-sheet/action-sheet.js +49 -128
  235. package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
  236. package/dist/collection/components/alert/alert.js +56 -147
  237. package/dist/collection/components/app/app.js +0 -3
  238. package/dist/collection/components/back-button/back-button.js +19 -42
  239. package/dist/collection/components/backdrop/backdrop.js +14 -16
  240. package/dist/collection/components/badge/badge.js +0 -6
  241. package/dist/collection/components/breadcrumb/breadcrumb.js +29 -90
  242. package/dist/collection/components/breadcrumbs/breadcrumbs.js +87 -102
  243. package/dist/collection/components/button/button.js +59 -127
  244. package/dist/collection/components/buttons/buttons.js +15 -13
  245. package/dist/collection/components/card/card.js +20 -53
  246. package/dist/collection/components/card-header/card-header.js +8 -12
  247. package/dist/collection/components/card-subtitle/card-subtitle.js +0 -6
  248. package/dist/collection/components/card-title/card-title.js +0 -6
  249. package/dist/collection/components/checkbox/checkbox.js +95 -143
  250. package/dist/collection/components/chip/chip.js +10 -14
  251. package/dist/collection/components/col/col.js +0 -120
  252. package/dist/collection/components/content/content.js +60 -90
  253. package/dist/collection/components/datetime/datetime.js +762 -939
  254. package/dist/collection/components/datetime-button/datetime-button.js +229 -244
  255. package/dist/collection/components/fab/fab.js +13 -20
  256. package/dist/collection/components/fab-button/fab-button.js +54 -103
  257. package/dist/collection/components/fab-list/fab-list.js +11 -10
  258. package/dist/collection/components/footer/footer.js +43 -49
  259. package/dist/collection/components/grid/grid.js +6 -4
  260. package/dist/collection/components/header/header.js +23 -33
  261. package/dist/collection/components/img/img.js +9 -28
  262. package/dist/collection/components/infinite-scroll/infinite-scroll.js +66 -73
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +3 -20
  264. package/dist/collection/components/input/input.js +154 -297
  265. package/dist/collection/components/input-otp/input-otp.js +350 -421
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +13 -27
  267. package/dist/collection/components/item/item.js +37 -80
  268. package/dist/collection/components/item-divider/item-divider.js +10 -15
  269. package/dist/collection/components/item-option/item-option.js +20 -48
  270. package/dist/collection/components/item-options/item-options.js +7 -10
  271. package/dist/collection/components/item-sliding/item-sliding.js +16 -24
  272. package/dist/collection/components/label/label.js +4 -24
  273. package/dist/collection/components/list/list.js +6 -9
  274. package/dist/collection/components/list-header/list-header.js +0 -10
  275. package/dist/collection/components/loading/loading.js +46 -122
  276. package/dist/collection/components/menu/menu.js +55 -99
  277. package/dist/collection/components/menu-button/menu-button.js +19 -28
  278. package/dist/collection/components/menu-toggle/menu-toggle.js +13 -20
  279. package/dist/collection/components/modal/modal.js +196 -351
  280. package/dist/collection/components/modal/test/fixtures.js +0 -3
  281. package/dist/collection/components/nav/nav.js +12 -45
  282. package/dist/collection/components/nav/view-controller.js +1 -7
  283. package/dist/collection/components/nav-link/nav-link.js +9 -20
  284. package/dist/collection/components/note/note.js +0 -6
  285. package/dist/collection/components/picker/picker.js +388 -397
  286. package/dist/collection/components/picker-column/picker-column.js +389 -409
  287. package/dist/collection/components/picker-column-option/picker-column-option.js +21 -30
  288. package/dist/collection/components/popover/popover.js +176 -283
  289. package/dist/collection/components/popover/test/fixture.js +0 -1
  290. package/dist/collection/components/progress-bar/progress-bar.js +22 -26
  291. package/dist/collection/components/radio/radio.js +62 -98
  292. package/dist/collection/components/radio-group/radio-group.js +64 -99
  293. package/dist/collection/components/radio-group/test/fixtures.js +0 -2
  294. package/dist/collection/components/range/range.js +220 -289
  295. package/dist/collection/components/refresher/refresher.js +69 -102
  296. package/dist/collection/components/refresher-content/refresher-content.js +3 -40
  297. package/dist/collection/components/reorder/reorder.js +0 -1
  298. package/dist/collection/components/reorder-group/reorder-group.js +14 -43
  299. package/dist/collection/components/ripple-effect/ripple-effect.js +12 -11
  300. package/dist/collection/components/route/route.js +9 -38
  301. package/dist/collection/components/route-redirect/route-redirect.js +0 -31
  302. package/dist/collection/components/router/router.js +27 -35
  303. package/dist/collection/components/router/utils/matching.js +0 -1
  304. package/dist/collection/components/router-link/router-link.js +10 -35
  305. package/dist/collection/components/router-outlet/router-outlet.js +12 -34
  306. package/dist/collection/components/searchbar/searchbar.js +180 -265
  307. package/dist/collection/components/segment/segment.js +76 -113
  308. package/dist/collection/components/segment-button/segment-button.js +33 -37
  309. package/dist/collection/components/segment-view/segment-view.js +12 -23
  310. package/dist/collection/components/select/select.js +127 -240
  311. package/dist/collection/components/select-modal/select-modal.js +11 -12
  312. package/dist/collection/components/select-modal/test/fixtures.js +1 -8
  313. package/dist/collection/components/select-option/select-option.js +7 -44
  314. package/dist/collection/components/select-popover/select-popover.js +10 -25
  315. package/dist/collection/components/select-popover/test/fixtures.js +1 -8
  316. package/dist/collection/components/skeleton-text/skeleton-text.js +6 -10
  317. package/dist/collection/components/spinner/spinner.js +6 -19
  318. package/dist/collection/components/split-pane/split-pane.js +13 -25
  319. package/dist/collection/components/tab/tab.js +4 -15
  320. package/dist/collection/components/tab-bar/tab-bar.js +12 -30
  321. package/dist/collection/components/tab-button/tab-button.js +19 -56
  322. package/dist/collection/components/tabs/tabs.js +17 -31
  323. package/dist/collection/components/text/text.js +0 -6
  324. package/dist/collection/components/textarea/textarea.js +135 -251
  325. package/dist/collection/components/title/title.js +0 -16
  326. package/dist/collection/components/toast/toast.js +97 -211
  327. package/dist/collection/components/toggle/toggle.js +111 -161
  328. package/dist/collection/components/toolbar/toolbar.js +3 -8
  329. package/dist/collection/global/config.js +3 -1
  330. package/dist/collection/utils/gesture/gesture-controller.js +6 -14
  331. package/dist/collection/utils/sanitization/index.js +0 -1
  332. package/dist/collection/utils/test/playwright/page/event-spy.js +8 -9
  333. package/dist/collection/utils/test/press-keys.js +1 -4
  334. package/dist/docs.json +1 -1
  335. package/dist/esm/{animation-CGFdmGk9.js → animation-TxGPYeDn.js} +1 -1
  336. package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-Do8rJest.js} +1 -1
  337. package/dist/esm/{button-active-BDOsVAiZ.js → button-active-ChA4D-ml.js} +2 -2
  338. package/dist/esm/{format-Dcwga61t.js → format-CVk5e_GP.js} +2 -2
  339. package/dist/esm/{framework-delegate-BHTU2Ip9.js → framework-delegate-DaLWnISz.js} +1 -1
  340. package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-B_gJaBk0.js} +6 -14
  341. package/dist/esm/{hardware-back-button-gLJHMX_F.js → hardware-back-button-D8W4L0JP.js} +1 -1
  342. package/dist/esm/{helpers-CAGf8Wgp.js → helpers-BIgoInJU.js} +1 -1
  343. package/dist/esm/{index-DcPaH5uL.js → index-BmLuEdV7.js} +1 -1
  344. package/dist/esm/{index-T0JxBI8V.js → index-BmOR8tCv.js} +2 -2
  345. package/dist/esm/{index-CqneaaGd.js → index-C5ZdL0qp.js} +5 -5
  346. package/dist/esm/{index-WlteAIqz.js → index-C8Dsa6li.js} +4 -4
  347. package/dist/esm/{index-ChhhtsGZ.js → index-CKYcsw8f.js} +3 -1
  348. package/dist/esm/{index-Clc-28O1.js → index-DHw2lZxe.js} +2 -2
  349. package/dist/esm/{index-CKM1DdGm.js → index-elneMH8y.js} +1 -2
  350. package/dist/esm/index.js +14 -14
  351. package/dist/esm/{input-shims-B8sfni1e.js → input-shims-09NN97kF.js} +3 -3
  352. package/dist/esm/{input.utils-B1ValN_N.js → input.utils-BxyH9l1w.js} +1 -1
  353. package/dist/esm/ion-accordion_2.entry.js +335 -364
  354. package/dist/esm/ion-action-sheet.entry.js +60 -140
  355. package/dist/esm/ion-alert.entry.js +67 -159
  356. package/dist/esm/ion-app_8.entry.js +163 -258
  357. package/dist/esm/ion-avatar_3.entry.js +2 -8
  358. package/dist/esm/ion-back-button.entry.js +21 -45
  359. package/dist/esm/ion-backdrop.entry.js +14 -18
  360. package/dist/esm/ion-breadcrumb_2.entry.js +117 -195
  361. package/dist/esm/ion-button_2.entry.js +61 -130
  362. package/dist/esm/ion-card_5.entry.js +28 -80
  363. package/dist/esm/ion-checkbox.entry.js +98 -147
  364. package/dist/esm/ion-chip.entry.js +10 -16
  365. package/dist/esm/ion-col_3.entry.js +6 -126
  366. package/dist/esm/ion-datetime-button.entry.js +232 -248
  367. package/dist/esm/ion-datetime.entry.js +775 -953
  368. package/dist/esm/ion-fab_3.entry.js +78 -136
  369. package/dist/esm/ion-img.entry.js +11 -31
  370. package/dist/esm/ion-infinite-scroll_2.entry.js +71 -98
  371. package/dist/esm/ion-input-otp.entry.js +352 -424
  372. package/dist/esm/ion-input-password-toggle.entry.js +14 -29
  373. package/dist/esm/ion-input.entry.js +158 -302
  374. package/dist/esm/ion-item-option_3.entry.js +45 -87
  375. package/dist/esm/ion-item_8.entry.js +61 -157
  376. package/dist/esm/ion-loading.entry.js +54 -131
  377. package/dist/esm/ion-menu_3.entry.js +94 -158
  378. package/dist/esm/ion-modal.entry.js +206 -362
  379. package/dist/esm/ion-nav_2.entry.js +26 -78
  380. package/dist/esm/ion-picker-column-option.entry.js +23 -33
  381. package/dist/esm/ion-picker-column.entry.js +389 -410
  382. package/dist/esm/ion-picker.entry.js +390 -400
  383. package/dist/esm/ion-popover.entry.js +184 -292
  384. package/dist/esm/ion-progress-bar.entry.js +23 -29
  385. package/dist/esm/ion-radio_2.entry.js +128 -201
  386. package/dist/esm/ion-range.entry.js +223 -293
  387. package/dist/esm/ion-refresher_2.entry.js +79 -151
  388. package/dist/esm/ion-reorder_2.entry.js +19 -49
  389. package/dist/esm/ion-ripple-effect.entry.js +13 -13
  390. package/dist/esm/ion-route_4.entry.js +45 -144
  391. package/dist/esm/ion-searchbar.entry.js +182 -268
  392. package/dist/esm/ion-segment-content.entry.js +1 -1
  393. package/dist/esm/ion-segment-view.entry.js +12 -24
  394. package/dist/esm/ion-segment_2.entry.js +111 -154
  395. package/dist/esm/ion-select-modal.entry.js +19 -21
  396. package/dist/esm/ion-select_3.entry.js +151 -319
  397. package/dist/esm/ion-spinner.entry.js +6 -21
  398. package/dist/esm/ion-split-pane.entry.js +14 -27
  399. package/dist/esm/ion-tab-bar_2.entry.js +32 -89
  400. package/dist/esm/ion-tab_2.entry.js +22 -49
  401. package/dist/esm/ion-text.entry.js +2 -8
  402. package/dist/esm/ion-textarea.entry.js +139 -256
  403. package/dist/esm/ion-toast.entry.js +106 -221
  404. package/dist/esm/ion-toggle.entry.js +114 -165
  405. package/dist/esm/{ionic-global-BVB7BrLT.js → ionic-global-lrowsHfi.js} +1 -1
  406. package/dist/esm/ionic.js +5 -5
  407. package/dist/esm/{ios.transition-DXRCmcbC.js → ios.transition-BQhADrk1.js} +4 -4
  408. package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-D_N3fDkD.js} +1 -1
  409. package/dist/esm/loader.js +5 -5
  410. package/dist/esm/{md.transition-BMngO4i_.js → md.transition-D58NpmRa.js} +4 -4
  411. package/dist/esm/{overlays-CPmIs9Ls.js → overlays-BpnIFlXI.js} +6 -6
  412. package/dist/esm/{select-option-render-C4m76VGH.js → select-option-render-lIuu64EV.js} +2 -2
  413. package/dist/esm/{slot-mutation-controller-DiE_C9un.js → slot-mutation-controller-rS_T3FDR.js} +1 -1
  414. package/dist/esm/{status-tap-CHB7KwIb.js → status-tap-CpFQMLl6.js} +3 -3
  415. package/dist/esm/{swipe-back-C9HW1bug.js → swipe-back-rmc7zeNW.js} +4 -4
  416. package/dist/ionic/index.esm.js +1 -1
  417. package/dist/ionic/ionic.esm.js +1 -1
  418. package/dist/ionic/p-05800a02.entry.js +4 -0
  419. package/dist/ionic/p-0eb50dca.entry.js +4 -0
  420. package/dist/ionic/p-16e9f542.entry.js +4 -0
  421. package/dist/ionic/p-18d532a3.entry.js +4 -0
  422. package/dist/ionic/p-1d694d39.entry.js +4 -0
  423. package/dist/ionic/p-1db2afb4.entry.js +4 -0
  424. package/dist/ionic/p-1df75f9e.entry.js +4 -0
  425. package/dist/ionic/p-295ff427.entry.js +4 -0
  426. package/dist/ionic/p-34b9379b.entry.js +4 -0
  427. package/dist/ionic/p-39a8d4e0.entry.js +4 -0
  428. package/dist/ionic/p-4437015c.entry.js +4 -0
  429. package/dist/ionic/p-478035a7.entry.js +4 -0
  430. package/dist/ionic/p-485fb218.entry.js +4 -0
  431. package/dist/ionic/p-48c859fe.entry.js +4 -0
  432. package/dist/ionic/p-49b9d405.entry.js +4 -0
  433. package/dist/ionic/p-56307aea.entry.js +4 -0
  434. package/dist/ionic/p-5ee2d7b1.entry.js +4 -0
  435. package/dist/ionic/p-5f216b79.entry.js +4 -0
  436. package/dist/ionic/p-61c799d1.entry.js +4 -0
  437. package/dist/ionic/p-63bbba8d.entry.js +4 -0
  438. package/dist/ionic/p-68507e70.entry.js +4 -0
  439. package/dist/ionic/{p-ded69ceb.entry.js → p-6f048604.entry.js} +1 -1
  440. package/dist/ionic/p-70ee8888.entry.js +4 -0
  441. package/dist/ionic/p-72ad7c64.entry.js +4 -0
  442. package/dist/ionic/p-75887ee0.entry.js +4 -0
  443. package/dist/ionic/p-873a315a.entry.js +4 -0
  444. package/dist/ionic/p-881b6954.entry.js +4 -0
  445. package/dist/ionic/p-886d9e66.entry.js +4 -0
  446. package/dist/ionic/p-8e007f11.entry.js +4 -0
  447. package/dist/ionic/p-8f464a8f.entry.js +4 -0
  448. package/dist/ionic/p-8f51110d.entry.js +4 -0
  449. package/dist/ionic/p-90ba736e.entry.js +4 -0
  450. package/dist/ionic/p-959df5f8.entry.js +4 -0
  451. package/dist/ionic/p-9e455875.entry.js +4 -0
  452. package/dist/ionic/{p-CBR_W98Z.js → p-9wczfs_v.js} +1 -1
  453. package/dist/ionic/p-B1Y7LZhV.js +4 -0
  454. package/dist/ionic/p-B5RyLYvl.js +4 -0
  455. package/dist/ionic/{p-CPcPmkGv.js → p-BQv5i5Kf.js} +1 -1
  456. package/{components/p-8FN7p701.js → dist/ionic/p-BZVE25Gu.js} +1 -1
  457. package/{components/p-DFvZn99E.js → dist/ionic/p-BZxjcGRP.js} +1 -1
  458. package/dist/ionic/p-B_gJaBk0.js +4 -0
  459. package/dist/ionic/p-BnGA34Pd.js +4 -0
  460. package/dist/ionic/p-ByLaqOPm.js +4 -0
  461. package/dist/ionic/p-C06QNN45.js +4 -0
  462. package/dist/ionic/p-C4IBDDj6.js +4 -0
  463. package/dist/ionic/p-CCVlNZ__.js +4 -0
  464. package/dist/ionic/{p-CMRtMbJc.js → p-CDBop-kz.js} +1 -1
  465. package/dist/ionic/p-CKYcsw8f.js +5 -0
  466. package/dist/ionic/p-CazSodad.js +4 -0
  467. package/{components/p-ia3IDdJS.js → dist/ionic/p-ClrlQU2y.js} +1 -1
  468. package/dist/ionic/{p-UIBJkZf8.js → p-D0YpjgON.js} +1 -1
  469. package/dist/ionic/p-D0dfUysx.js +4 -0
  470. package/dist/ionic/{p-BB0LlG4y.js → p-D9yvytgv.js} +1 -1
  471. package/{components/p-C5KYjZWD.js → dist/ionic/p-DF_Uqql8.js} +1 -1
  472. package/dist/ionic/{p-BYEAtHr-.js → p-DXJgZWgi.js} +1 -1
  473. package/dist/ionic/{p-D94_RztK.js → p-DdhHqKj-.js} +1 -1
  474. package/dist/ionic/p-De0eY881.js +4 -0
  475. package/dist/ionic/p-DgUL3JbO.js +4 -0
  476. package/dist/ionic/{p-7CBuOvEo.js → p-RzUn7cKs.js} +1 -1
  477. package/dist/ionic/p-VquyMbjp.js +4 -0
  478. package/dist/ionic/p-a0fee899.entry.js +4 -0
  479. package/dist/ionic/p-a54bcd16.entry.js +4 -0
  480. package/dist/ionic/p-aebc4d69.entry.js +4 -0
  481. package/dist/ionic/p-b5f37106.entry.js +4 -0
  482. package/dist/ionic/{p-40424a88.entry.js → p-b62bfce8.entry.js} +1 -1
  483. package/dist/ionic/p-b7a11b58.entry.js +4 -0
  484. package/dist/ionic/p-bbf6878c.entry.js +4 -0
  485. package/dist/ionic/p-c49165af.entry.js +4 -0
  486. package/dist/ionic/p-cad4eccf.entry.js +4 -0
  487. package/dist/ionic/p-cdc5115e.entry.js +4 -0
  488. package/dist/ionic/p-d3384a40.entry.js +4 -0
  489. package/dist/ionic/p-d8bae128.entry.js +4 -0
  490. package/dist/ionic/p-d8deff43.entry.js +4 -0
  491. package/dist/ionic/p-ddfb7e5f.entry.js +4 -0
  492. package/dist/ionic/p-e538f18d.entry.js +4 -0
  493. package/dist/ionic/p-f376876b.entry.js +4 -0
  494. package/dist/ionic/p-f521b13c.entry.js +4 -0
  495. package/dist/ionic/p-fbd83d4c.entry.js +4 -0
  496. package/hydrate/index.js +5420 -8359
  497. package/hydrate/index.mjs +5420 -8359
  498. package/package.json +1 -1
  499. package/components/p--m5cCjbK.js +0 -4
  500. package/components/p-B4uHHhPK.js +0 -4
  501. package/components/p-BNJOu1Q2.js +0 -4
  502. package/components/p-BOvLNVKq.js +0 -4
  503. package/components/p-BeamQXHF.js +0 -4
  504. package/components/p-BjluhQMI.js +0 -4
  505. package/components/p-BlsIikdZ.js +0 -4
  506. package/components/p-BrD9Xv62.js +0 -4
  507. package/components/p-BvJqoZ5R.js +0 -4
  508. package/components/p-Bz6z3Asd.js +0 -4
  509. package/components/p-C6HnVvHO.js +0 -4
  510. package/components/p-C7jvh5Wy.js +0 -4
  511. package/components/p-C9BGR5fy.js +0 -4
  512. package/components/p-CB-y1CdP.js +0 -4
  513. package/components/p-CHH3loEE.js +0 -4
  514. package/components/p-CJKUWjmg.js +0 -4
  515. package/components/p-CMLAwl_N.js +0 -4
  516. package/components/p-CejmQs3h.js +0 -4
  517. package/components/p-CtZqa4HM.js +0 -4
  518. package/components/p-D9qIVSWm.js +0 -4
  519. package/components/p-DE-3iMNW.js +0 -4
  520. package/components/p-DHFt2rdc.js +0 -4
  521. package/components/p-D_RCyzwu.js +0 -4
  522. package/components/p-D_tD8r3L.js +0 -4
  523. package/components/p-DjCtLZbF.js +0 -4
  524. package/components/p-Dmd2xqCe.js +0 -4
  525. package/components/p-G6JR-cr_.js +0 -4
  526. package/components/p-GG5GhznE.js +0 -4
  527. package/components/p-TXPDHL13.js +0 -4
  528. package/components/p-_IKFD3ID.js +0 -4
  529. package/components/p-dKq2jIum.js +0 -4
  530. package/components/p-iYhH60Tc.js +0 -4
  531. package/dist/ionic/p-06ec7136.entry.js +0 -4
  532. package/dist/ionic/p-09fe4fa3.entry.js +0 -4
  533. package/dist/ionic/p-10d45a07.entry.js +0 -4
  534. package/dist/ionic/p-208c8a07.entry.js +0 -4
  535. package/dist/ionic/p-212474fa.entry.js +0 -4
  536. package/dist/ionic/p-2eef1396.entry.js +0 -4
  537. package/dist/ionic/p-347e005d.entry.js +0 -4
  538. package/dist/ionic/p-3a0b3f1d.entry.js +0 -4
  539. package/dist/ionic/p-3b071259.entry.js +0 -4
  540. package/dist/ionic/p-4204184c.entry.js +0 -4
  541. package/dist/ionic/p-47464391.entry.js +0 -4
  542. package/dist/ionic/p-4f9c9126.entry.js +0 -4
  543. package/dist/ionic/p-5JsKPLJD.js +0 -4
  544. package/dist/ionic/p-5bc485c6.entry.js +0 -4
  545. package/dist/ionic/p-603a61e6.entry.js +0 -4
  546. package/dist/ionic/p-60576951.entry.js +0 -4
  547. package/dist/ionic/p-67a81d33.entry.js +0 -4
  548. package/dist/ionic/p-6affb775.entry.js +0 -4
  549. package/dist/ionic/p-6f120c25.entry.js +0 -4
  550. package/dist/ionic/p-71c82b60.entry.js +0 -4
  551. package/dist/ionic/p-79325ffe.entry.js +0 -4
  552. package/dist/ionic/p-7e4d51fa.entry.js +0 -4
  553. package/dist/ionic/p-7f5d4664.entry.js +0 -4
  554. package/dist/ionic/p-80ee82fc.entry.js +0 -4
  555. package/dist/ionic/p-84af7dbc.entry.js +0 -4
  556. package/dist/ionic/p-89ca830a.entry.js +0 -4
  557. package/dist/ionic/p-93b8ec8f.entry.js +0 -4
  558. package/dist/ionic/p-946f65c2.entry.js +0 -4
  559. package/dist/ionic/p-9c4b39fb.entry.js +0 -4
  560. package/dist/ionic/p-B1NEZUzQ.js +0 -4
  561. package/dist/ionic/p-B1ck5iy-.js +0 -4
  562. package/dist/ionic/p-B4FrqdW0.js +0 -4
  563. package/dist/ionic/p-C-94tAim.js +0 -4
  564. package/dist/ionic/p-C-eHZMYE.js +0 -4
  565. package/dist/ionic/p-CaRuIadB.js +0 -4
  566. package/dist/ionic/p-ChhhtsGZ.js +0 -5
  567. package/dist/ionic/p-CzS1qWve.js +0 -4
  568. package/dist/ionic/p-DjjfauRM.js +0 -4
  569. package/dist/ionic/p-DkUB-ROc.js +0 -4
  570. package/dist/ionic/p-DplOqGUv.js +0 -4
  571. package/dist/ionic/p-Dst_XmZh.js +0 -4
  572. package/dist/ionic/p-TXPDHL13.js +0 -4
  573. package/dist/ionic/p-a438b193.entry.js +0 -4
  574. package/dist/ionic/p-babaaaa7.entry.js +0 -4
  575. package/dist/ionic/p-be08d500.entry.js +0 -4
  576. package/dist/ionic/p-be9a4f51.entry.js +0 -4
  577. package/dist/ionic/p-c00d3092.entry.js +0 -4
  578. package/dist/ionic/p-c36dc8f5.entry.js +0 -4
  579. package/dist/ionic/p-c72a7e17.entry.js +0 -4
  580. package/dist/ionic/p-c8edd88c.entry.js +0 -4
  581. package/dist/ionic/p-ce0e380b.entry.js +0 -4
  582. package/dist/ionic/p-ce32912b.entry.js +0 -4
  583. package/dist/ionic/p-d07cf130.entry.js +0 -4
  584. package/dist/ionic/p-d27edeb3.entry.js +0 -4
  585. package/dist/ionic/p-d5d2c506.entry.js +0 -4
  586. package/dist/ionic/p-d5e31ca9.entry.js +0 -4
  587. package/dist/ionic/p-de91444f.entry.js +0 -4
  588. package/dist/ionic/p-df72866d.entry.js +0 -4
  589. package/dist/ionic/p-e47e3151.entry.js +0 -4
  590. package/dist/ionic/p-e621e5e8.entry.js +0 -4
  591. package/dist/ionic/p-eea9cf93.entry.js +0 -4
  592. package/dist/ionic/p-f402f5a4.entry.js +0 -4
  593. package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
  594. package/dist/ionic/p-ffb90460.entry.js +0 -4
@@ -14,118 +14,69 @@ import { getIonMode } from "../../global/ionic-global";
14
14
  * @part close-icon - The close icon that is displayed when a fab list opens (uses ion-icon).
15
15
  */
16
16
  export class FabButton {
17
- fab = null;
18
- formButtonEl = null;
19
- formEl = null;
20
- inheritedAttributes = {};
21
- el;
22
- /**
23
- * The color to use from your application's color palette.
24
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
25
- * For more information on colors, see [theming](/docs/theming/basics).
26
- */
27
- color;
28
- /**
29
- * If `true`, the fab button will be show a close icon.
30
- */
31
- activated = false;
32
- /**
33
- * If `true`, the user cannot interact with the fab button.
34
- */
35
- disabled = false;
17
+ constructor() {
18
+ this.fab = null;
19
+ this.formButtonEl = null;
20
+ this.formEl = null;
21
+ this.inheritedAttributes = {};
22
+ /**
23
+ * If `true`, the fab button will be show a close icon.
24
+ */
25
+ this.activated = false;
26
+ /**
27
+ * If `true`, the user cannot interact with the fab button.
28
+ */
29
+ this.disabled = false;
30
+ /**
31
+ * When using a router, it specifies the transition direction when navigating to
32
+ * another page using `href`.
33
+ */
34
+ this.routerDirection = 'forward';
35
+ /**
36
+ * If `true`, the fab button will show when in a fab-list.
37
+ */
38
+ this.show = false;
39
+ /**
40
+ * If `true`, the fab button will be translucent.
41
+ * Only applies when the mode is `"ios"` and the device supports
42
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
43
+ */
44
+ this.translucent = false;
45
+ /**
46
+ * The type of the button.
47
+ */
48
+ this.type = 'button';
49
+ /**
50
+ * The icon name to use for the close icon. This will appear when the fab button
51
+ * is pressed. Only applies if it is the main button inside of a fab containing a
52
+ * fab list.
53
+ */
54
+ this.closeIcon = close;
55
+ this.onFocus = () => {
56
+ this.ionFocus.emit();
57
+ };
58
+ this.onBlur = () => {
59
+ this.ionBlur.emit();
60
+ };
61
+ this.onClick = (ev) => {
62
+ const { el, fab } = this;
63
+ if (this.type !== 'button' && hasShadowDom(el)) {
64
+ this.submitForm(ev);
65
+ }
66
+ if (fab) {
67
+ fab.toggle();
68
+ }
69
+ };
70
+ }
36
71
  disabledChanged() {
37
72
  const { disabled } = this;
38
73
  if (this.formButtonEl) {
39
74
  this.formButtonEl.disabled = disabled;
40
75
  }
41
76
  }
42
- /**
43
- * This attribute instructs browsers to download a URL instead of navigating to
44
- * it, so the user will be prompted to save it as a local file. If the attribute
45
- * has a value, it is used as the pre-filled file name in the Save prompt
46
- * (the user can still change the file name if they want).
47
- */
48
- download;
49
- /**
50
- * Contains a URL or a URL fragment that the hyperlink points to.
51
- * If this property is set, an anchor tag will be rendered.
52
- */
53
- href;
54
- /**
55
- * Specifies the relationship of the target object to the link object.
56
- * The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
57
- */
58
- rel;
59
- /**
60
- * When using a router, it specifies the transition direction when navigating to
61
- * another page using `href`.
62
- */
63
- routerDirection = 'forward';
64
- /**
65
- * When using a router, it specifies the transition animation when navigating to
66
- * another page using `href`.
67
- */
68
- routerAnimation;
69
- /**
70
- * Specifies where to display the linked URL.
71
- * Only applies when an `href` is provided.
72
- * Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
73
- */
74
- target;
75
- /**
76
- * If `true`, the fab button will show when in a fab-list.
77
- */
78
- show = false;
79
- /**
80
- * If `true`, the fab button will be translucent.
81
- * Only applies when the mode is `"ios"` and the device supports
82
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
83
- */
84
- translucent = false;
85
- /**
86
- * The type of the button.
87
- */
88
- type = 'button';
89
- /**
90
- * The HTML form element or form element id. Used to submit a form when the button is not a child of the form.
91
- */
92
- form;
93
- /**
94
- * The size of the button. Set this to `small` in order to have a mini fab button.
95
- */
96
- size;
97
- /**
98
- * The icon name to use for the close icon. This will appear when the fab button
99
- * is pressed. Only applies if it is the main button inside of a fab containing a
100
- * fab list.
101
- */
102
- closeIcon = close;
103
- /**
104
- * Emitted when the button has focus.
105
- */
106
- ionFocus;
107
- /**
108
- * Emitted when the button loses focus.
109
- */
110
- ionBlur;
111
77
  connectedCallback() {
112
78
  this.fab = this.el.closest('ion-fab');
113
79
  }
114
- onFocus = () => {
115
- this.ionFocus.emit();
116
- };
117
- onBlur = () => {
118
- this.ionBlur.emit();
119
- };
120
- onClick = (ev) => {
121
- const { el, fab } = this;
122
- if (this.type !== 'button' && hasShadowDom(el)) {
123
- this.submitForm(ev);
124
- }
125
- if (fab) {
126
- fab.toggle();
127
- }
128
- };
129
80
  /**
130
81
  * The native button rendered inside `ion-fab-button` is in the Shadow DOM and
131
82
  * does not participate in form submission, so a hidden native button is added
@@ -4,12 +4,17 @@
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { getIonMode } from "../../global/ionic-global";
6
6
  export class FabList {
7
- el;
8
- activateTimeouts = [];
9
- /**
10
- * If `true`, the fab list will show all fab buttons in the list.
11
- */
12
- activated = false;
7
+ constructor() {
8
+ this.activateTimeouts = [];
9
+ /**
10
+ * If `true`, the fab list will show all fab buttons in the list.
11
+ */
12
+ this.activated = false;
13
+ /**
14
+ * The side the fab list will show on relative to the main fab button.
15
+ */
16
+ this.side = 'bottom';
17
+ }
13
18
  activatedChanged(activated) {
14
19
  this.activateTimeouts.forEach(clearTimeout);
15
20
  this.activateTimeouts = [];
@@ -20,10 +25,6 @@ export class FabList {
20
25
  this.activateTimeouts.push(setTimeout(() => (fab.show = activated), i * timeout));
21
26
  });
22
27
  }
23
- /**
24
- * The side the fab list will show on relative to the main fab button.
25
- */
26
- side = 'bottom';
27
28
  disconnectedCallback() {
28
29
  this.activateTimeouts.forEach(clearTimeout);
29
30
  this.activateTimeouts = [];
@@ -10,26 +10,49 @@ import { handleFooterFade } from "./footer.utils";
10
10
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
11
11
  */
12
12
  export class Footer {
13
- scrollEl;
14
- contentScrollCallback;
15
- keyboardCtrl = null;
16
- keyboardCtrlPromise = null;
17
- keyboardVisible = false;
18
- el;
19
- /**
20
- * Describes the scroll effect that will be applied to the footer.
21
- * Only applies in iOS mode.
22
- */
23
- collapse;
24
- /**
25
- * If `true`, the footer will be translucent.
26
- * Only applies when the mode is `"ios"` and the device supports
27
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
28
- *
29
- * Note: In order to scroll content behind the footer, the `fullscreen`
30
- * attribute needs to be set on the content.
31
- */
32
- translucent = false;
13
+ constructor() {
14
+ this.keyboardCtrl = null;
15
+ this.keyboardCtrlPromise = null;
16
+ this.keyboardVisible = false;
17
+ /**
18
+ * If `true`, the footer will be translucent.
19
+ * Only applies when the mode is `"ios"` and the device supports
20
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
21
+ *
22
+ * Note: In order to scroll content behind the footer, the `fullscreen`
23
+ * attribute needs to be set on the content.
24
+ */
25
+ this.translucent = false;
26
+ this.checkCollapsibleFooter = () => {
27
+ const mode = getIonMode(this);
28
+ if (mode !== 'ios') {
29
+ return;
30
+ }
31
+ const { collapse } = this;
32
+ const hasFade = collapse === 'fade';
33
+ this.destroyCollapsibleFooter();
34
+ if (hasFade) {
35
+ const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
36
+ const contentEl = pageEl ? findIonContent(pageEl) : null;
37
+ if (!contentEl) {
38
+ printIonContentErrorMsg(this.el);
39
+ return;
40
+ }
41
+ this.setupFadeFooter(contentEl);
42
+ }
43
+ };
44
+ this.setupFadeFooter = async (contentEl) => {
45
+ const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
46
+ /**
47
+ * Handle fading of toolbars on scroll
48
+ */
49
+ this.contentScrollCallback = () => {
50
+ handleFooterFade(scrollEl, this.el);
51
+ };
52
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
53
+ handleFooterFade(scrollEl, this.el);
54
+ };
55
+ }
33
56
  componentDidLoad() {
34
57
  this.checkCollapsibleFooter();
35
58
  }
@@ -73,35 +96,6 @@ export class Footer {
73
96
  this.keyboardCtrl = null;
74
97
  }
75
98
  }
76
- checkCollapsibleFooter = () => {
77
- const mode = getIonMode(this);
78
- if (mode !== 'ios') {
79
- return;
80
- }
81
- const { collapse } = this;
82
- const hasFade = collapse === 'fade';
83
- this.destroyCollapsibleFooter();
84
- if (hasFade) {
85
- const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
86
- const contentEl = pageEl ? findIonContent(pageEl) : null;
87
- if (!contentEl) {
88
- printIonContentErrorMsg(this.el);
89
- return;
90
- }
91
- this.setupFadeFooter(contentEl);
92
- }
93
- };
94
- setupFadeFooter = async (contentEl) => {
95
- const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
96
- /**
97
- * Handle fading of toolbars on scroll
98
- */
99
- this.contentScrollCallback = () => {
100
- handleFooterFade(scrollEl, this.el);
101
- };
102
- scrollEl.addEventListener('scroll', this.contentScrollCallback);
103
- handleFooterFade(scrollEl, this.el);
104
- };
105
99
  destroyCollapsibleFooter() {
106
100
  if (this.scrollEl && this.contentScrollCallback) {
107
101
  this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);
@@ -4,10 +4,12 @@
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { getIonMode } from "../../global/ionic-global";
6
6
  export class Grid {
7
- /**
8
- * If `true`, the grid will have a fixed width based on the screen size.
9
- */
10
- fixed = false;
7
+ constructor() {
8
+ /**
9
+ * If `true`, the grid will have a fixed width based on the screen size.
10
+ */
11
+ this.fixed = false;
12
+ }
11
13
  render() {
12
14
  const mode = getIonMode(this);
13
15
  return (h(Host, { key: '617127ecfabf9bf615bef1dda1be3fed5a065949', class: {
@@ -11,28 +11,29 @@ import { cloneElement, createHeaderIndex, handleContentScroll, handleHeaderFade,
11
11
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
12
12
  */
13
13
  export class Header {
14
- scrollEl;
15
- contentScrollCallback;
16
- intersectionObserver;
17
- collapsibleMainHeader;
18
- inheritedAttributes = {};
19
- el;
20
- /**
21
- * Describes the scroll effect that will be applied to the header.
22
- * Only applies in iOS mode.
23
- *
24
- * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
25
- */
26
- collapse;
27
- /**
28
- * If `true`, the header will be translucent.
29
- * Only applies when the mode is `"ios"` and the device supports
30
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
31
- *
32
- * Note: In order to scroll content behind the header, the `fullscreen`
33
- * attribute needs to be set on the content.
34
- */
35
- translucent = false;
14
+ constructor() {
15
+ this.inheritedAttributes = {};
16
+ /**
17
+ * If `true`, the header will be translucent.
18
+ * Only applies when the mode is `"ios"` and the device supports
19
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
20
+ *
21
+ * Note: In order to scroll content behind the header, the `fullscreen`
22
+ * attribute needs to be set on the content.
23
+ */
24
+ this.translucent = false;
25
+ this.setupFadeHeader = async (contentEl, condenseHeader) => {
26
+ const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
27
+ /**
28
+ * Handle fading of toolbars on scroll
29
+ */
30
+ this.contentScrollCallback = () => {
31
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
32
+ };
33
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
34
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
35
+ };
36
+ }
36
37
  componentWillLoad() {
37
38
  this.inheritedAttributes = inheritAriaAttributes(this.el);
38
39
  }
@@ -76,17 +77,6 @@ export class Header {
76
77
  await this.setupFadeHeader(contentEl, condenseHeader);
77
78
  }
78
79
  }
79
- setupFadeHeader = async (contentEl, condenseHeader) => {
80
- const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
81
- /**
82
- * Handle fading of toolbars on scroll
83
- */
84
- this.contentScrollCallback = () => {
85
- handleHeaderFade(this.scrollEl, this.el, condenseHeader);
86
- };
87
- scrollEl.addEventListener('scroll', this.contentScrollCallback);
88
- handleHeaderFade(this.scrollEl, this.el, condenseHeader);
89
- };
90
80
  destroyCollapsibleHeader() {
91
81
  if (this.intersectionObserver) {
92
82
  this.intersectionObserver.disconnect();
@@ -11,31 +11,18 @@ import { getIonMode } from "../../global/ionic-global";
11
11
  * @part image - The inner `img` element.
12
12
  */
13
13
  export class Img {
14
- io;
15
- inheritedAttributes = {};
16
- loadTimeout;
17
- el;
18
- loadSrc;
19
- loadError;
20
- /**
21
- * This attribute defines the alternative text describing the image.
22
- * Users will see this text displayed if the image URL is wrong,
23
- * the image is not in one of the supported formats, or if the image is not yet downloaded.
24
- */
25
- alt;
26
- /**
27
- * The image URL. This attribute is mandatory for the `<img>` element.
28
- */
29
- src;
14
+ constructor() {
15
+ this.inheritedAttributes = {};
16
+ this.onLoad = () => {
17
+ this.ionImgDidLoad.emit();
18
+ };
19
+ this.onError = () => {
20
+ this.ionError.emit();
21
+ };
22
+ }
30
23
  srcChanged() {
31
24
  this.addIO();
32
25
  }
33
- /** Emitted when the img src has been set */
34
- ionImgWillLoad;
35
- /** Emitted when the image has finished loading */
36
- ionImgDidLoad;
37
- /** Emitted when the img fails to load */
38
- ionError;
39
26
  componentWillLoad() {
40
27
  this.inheritedAttributes = inheritAttributes(this.el, ['draggable']);
41
28
  }
@@ -85,12 +72,6 @@ export class Img {
85
72
  this.loadSrc = this.src;
86
73
  this.ionImgWillLoad.emit();
87
74
  }
88
- onLoad = () => {
89
- this.ionImgDidLoad.emit();
90
- };
91
- onError = () => {
92
- this.ionError.emit();
93
- };
94
75
  removeIO() {
95
76
  if (this.io) {
96
77
  this.io.disconnect();
@@ -5,30 +5,72 @@ import { Host, h, readTask, writeTask } from "@stencil/core";
5
5
  import { findClosestIonContent, getScrollElement, printIonContentErrorMsg } from "../../utils/content/index";
6
6
  import { getIonMode } from "../../global/ionic-global";
7
7
  export class InfiniteScroll {
8
- thrPx = 0;
9
- thrPc = 0;
10
- scrollEl;
11
- /**
12
- * didFire exists so that ionInfinite
13
- * does not fire multiple times if
14
- * users continue to scroll after
15
- * scrolling into the infinite
16
- * scroll threshold.
17
- */
18
- didFire = false;
19
- isBusy = false;
20
- el;
21
- isLoading = false;
22
- /**
23
- * The threshold distance from the bottom
24
- * of the content to call the `infinite` output event when scrolled.
25
- * The threshold value can be either a percent, or
26
- * in pixels. For example, use the value of `10%` for the `infinite`
27
- * output event to get called when the user has scrolled 10%
28
- * from the bottom of the page. Use the value `100px` when the
29
- * scroll is within 100 pixels from the bottom of the page.
30
- */
31
- threshold = '15%';
8
+ constructor() {
9
+ this.thrPx = 0;
10
+ this.thrPc = 0;
11
+ /**
12
+ * didFire exists so that ionInfinite
13
+ * does not fire multiple times if
14
+ * users continue to scroll after
15
+ * scrolling into the infinite
16
+ * scroll threshold.
17
+ */
18
+ this.didFire = false;
19
+ this.isBusy = false;
20
+ this.isLoading = false;
21
+ /**
22
+ * The threshold distance from the bottom
23
+ * of the content to call the `infinite` output event when scrolled.
24
+ * The threshold value can be either a percent, or
25
+ * in pixels. For example, use the value of `10%` for the `infinite`
26
+ * output event to get called when the user has scrolled 10%
27
+ * from the bottom of the page. Use the value `100px` when the
28
+ * scroll is within 100 pixels from the bottom of the page.
29
+ */
30
+ this.threshold = '15%';
31
+ /**
32
+ * If `true`, the infinite scroll will be hidden and scroll event listeners
33
+ * will be removed.
34
+ *
35
+ * Set this to true to disable the infinite scroll from actively
36
+ * trying to receive new data while scrolling. This is useful
37
+ * when it is known that there is no more data that can be added, and
38
+ * the infinite scroll is no longer needed.
39
+ */
40
+ this.disabled = false;
41
+ /**
42
+ * The position of the infinite scroll element.
43
+ * The value can be either `top` or `bottom`.
44
+ */
45
+ this.position = 'bottom';
46
+ this.onScroll = () => {
47
+ const scrollEl = this.scrollEl;
48
+ if (!scrollEl || !this.canStart()) {
49
+ return 1;
50
+ }
51
+ const infiniteHeight = this.el.offsetHeight;
52
+ if (infiniteHeight === 0) {
53
+ // if there is no height of this element then do nothing
54
+ return 2;
55
+ }
56
+ const scrollTop = scrollEl.scrollTop;
57
+ const scrollHeight = scrollEl.scrollHeight;
58
+ const height = scrollEl.offsetHeight;
59
+ const threshold = this.thrPc !== 0 ? height * this.thrPc : this.thrPx;
60
+ const distanceFromInfinite = this.position === 'bottom'
61
+ ? scrollHeight - infiniteHeight - scrollTop - threshold - height
62
+ : scrollTop - infiniteHeight - threshold;
63
+ if (distanceFromInfinite < 0) {
64
+ if (!this.didFire) {
65
+ this.isLoading = true;
66
+ this.didFire = true;
67
+ this.ionInfinite.emit();
68
+ return 3;
69
+ }
70
+ }
71
+ return 4;
72
+ };
73
+ }
32
74
  thresholdChanged() {
33
75
  const val = this.threshold;
34
76
  if (val.lastIndexOf('%') > -1) {
@@ -40,16 +82,6 @@ export class InfiniteScroll {
40
82
  this.thrPc = 0;
41
83
  }
42
84
  }
43
- /**
44
- * If `true`, the infinite scroll will be hidden and scroll event listeners
45
- * will be removed.
46
- *
47
- * Set this to true to disable the infinite scroll from actively
48
- * trying to receive new data while scrolling. This is useful
49
- * when it is known that there is no more data that can be added, and
50
- * the infinite scroll is no longer needed.
51
- */
52
- disabled = false;
53
85
  disabledChanged() {
54
86
  const disabled = this.disabled;
55
87
  if (disabled) {
@@ -58,18 +90,6 @@ export class InfiniteScroll {
58
90
  }
59
91
  this.enableScrollEvents(!disabled);
60
92
  }
61
- /**
62
- * The position of the infinite scroll element.
63
- * The value can be either `top` or `bottom`.
64
- */
65
- position = 'bottom';
66
- /**
67
- * Emitted when the scroll reaches
68
- * the threshold distance. From within your infinite handler,
69
- * you must call the infinite scroll's `complete()` method when
70
- * your async operation has completed.
71
- */
72
- ionInfinite;
73
93
  async connectedCallback() {
74
94
  const contentEl = findClosestIonContent(this.el);
75
95
  if (!contentEl) {
@@ -91,33 +111,6 @@ export class InfiniteScroll {
91
111
  this.enableScrollEvents(false);
92
112
  this.scrollEl = undefined;
93
113
  }
94
- onScroll = () => {
95
- const scrollEl = this.scrollEl;
96
- if (!scrollEl || !this.canStart()) {
97
- return 1;
98
- }
99
- const infiniteHeight = this.el.offsetHeight;
100
- if (infiniteHeight === 0) {
101
- // if there is no height of this element then do nothing
102
- return 2;
103
- }
104
- const scrollTop = scrollEl.scrollTop;
105
- const scrollHeight = scrollEl.scrollHeight;
106
- const height = scrollEl.offsetHeight;
107
- const threshold = this.thrPc !== 0 ? height * this.thrPc : this.thrPx;
108
- const distanceFromInfinite = this.position === 'bottom'
109
- ? scrollHeight - infiniteHeight - scrollTop - threshold - height
110
- : scrollTop - infiniteHeight - threshold;
111
- if (distanceFromInfinite < 0) {
112
- if (!this.didFire) {
113
- this.isLoading = true;
114
- this.didFire = true;
115
- this.ionInfinite.emit();
116
- return 3;
117
- }
118
- }
119
- return 4;
120
- };
121
114
  /**
122
115
  * Call `complete()` within the `ionInfinite` output event handler when
123
116
  * your async operation has completed. For example, the `loading`
@@ -7,26 +7,9 @@ import { sanitizeDOMString } from "../../utils/sanitization/index";
7
7
  import { config } from "../../global/config";
8
8
  import { getIonMode } from "../../global/ionic-global";
9
9
  export class InfiniteScrollContent {
10
- customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
11
- /**
12
- * An animated SVG spinner that shows while loading.
13
- */
14
- loadingSpinner;
15
- /**
16
- * Optional text to display while loading.
17
- * `loadingText` can accept either plaintext or HTML as a string.
18
- * To display characters normally reserved for HTML, they
19
- * must be escaped. For example `<Ionic>` would become
20
- * `&lt;Ionic&gt;`
21
- *
22
- * For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
23
- *
24
- * This property accepts custom HTML as a string.
25
- * Content is parsed as plaintext by default.
26
- * `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config
27
- * before custom HTML can be used.
28
- */
29
- loadingText;
10
+ constructor() {
11
+ this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
12
+ }
30
13
  componentDidLoad() {
31
14
  if (this.loadingSpinner === undefined) {
32
15
  const mode = getIonMode(this);