@ionic/core 9.0.0 → 9.0.1-dev.11787248963.10a00c73
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.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/{p-63OhffQv.js → p-66ogmUZU.js} +1 -1
- package/components/p-6Vp915Y7.js +4 -0
- package/components/p-7PNwKFZi.js +4 -0
- package/components/{p-G0TxqHfe.js → p-A8MJRBIY.js} +1 -1
- package/components/p-AQcCdH2_.js +4 -0
- package/{dist/ionic/p-Dn0mqQ_R.js → components/p-B6x5_b9w.js} +1 -1
- package/components/p-B8MQjdvk.js +4 -0
- package/components/p-BA_4ZIEg.js +4 -0
- package/components/p-BFtL8t1r.js +4 -0
- package/components/{p-DaA_8eqt.js → p-BMfgF-Tv.js} +1 -1
- package/components/p-BPDxVIRr.js +4 -0
- package/components/p-BSARlp49.js +4 -0
- package/components/p-B_gJaBk0.js +4 -0
- package/components/p-BdwCtX8Y.js +4 -0
- package/components/p-Bg4OwDwb.js +4 -0
- package/components/{p-DV85C0e0.js → p-BgUIV8NQ.js} +1 -1
- package/components/p-Bnc0m4SW.js +4 -0
- package/components/p-BpLt_Ptn.js +4 -0
- package/components/p-BqBDq1Ma.js +4 -0
- package/components/{p-C_phlPMC.js → p-BrFaQbGY.js} +1 -1
- package/{dist/ionic/p-Cdjxf_yg.js → components/p-BuPAFTWI.js} +1 -1
- package/components/p-Bx2saTHs.js +4 -0
- package/components/p-BxhE2W85.js +4 -0
- package/components/p-CHswSpKy.js +4 -0
- package/components/{p-fruGqVHh.js → p-CQAjyETU.js} +1 -1
- package/components/{p-1jI5oW-W.js → p-CR9OgE6N.js} +1 -1
- package/components/p-CWETxTjE.js +4 -0
- package/components/p-CaZeZIL2.js +4 -0
- package/components/p-CaiZOhfC.js +4 -0
- package/components/p-CgvDC7hC.js +4 -0
- package/components/{p-BqPNzJf6.js → p-CqyGR9Aq.js} +1 -1
- package/components/{p-UIBJkZf8.js → p-D0YpjgON.js} +1 -1
- package/components/p-D7ysFE2B.js +4 -0
- package/{dist/ionic/p-4eOQC00Z.js → components/p-DCWfzDM8.js} +1 -1
- package/components/{p-DwpKZ6rl.js → p-DDdkefwf.js} +1 -1
- package/components/{p-DzRT60Tw.js → p-DEW7CnUc.js} +1 -1
- package/components/p-DQ1IPvZO.js +4 -0
- package/components/p-DcOH6-o5.js +4 -0
- package/components/{p-DD5fQ4EQ.js → p-DfdYCsov.js} +1 -1
- package/components/{p-DSzSbVP2.js → p-DhOoEIAs.js} +1 -1
- package/components/{p-DM-PrAoh.js → p-Dl_7b_UJ.js} +1 -1
- package/components/p-DqAI6tg7.js +4 -0
- package/components/p-DrehWDfv.js +4 -0
- package/components/{p-ryyf_ItD.js → p-DysqCsJu.js} +1 -1
- package/components/p-H1f2qsk4.js +4 -0
- package/components/p-HVYBAhFx.js +4 -0
- package/components/{p-CbhUdtjf.js → p-Kmrg3Fed.js} +1 -1
- package/components/{p-Bjig0DJK.js → p-RFfE9hF6.js} +1 -1
- package/{dist/ionic/p-CBWAXjA5.js → components/p-SR-LLqp_.js} +1 -1
- package/components/p-eFI3mtEX.js +4 -0
- package/components/p-gFwXiYC_.js +4 -0
- package/components/p-tX3UxCnU.js +4 -0
- package/components/p-v2NpoOHp.js +4 -0
- package/dist/cjs/{animation-C0mOHzej.js → animation-D-OqR4a4.js} +1 -1
- package/dist/cjs/{app-globals-BREG4twP.js → app-globals-BzgwARwJ.js} +1 -1
- package/dist/cjs/{button-active-CVMevT9a.js → button-active-BlWSD7uK.js} +2 -2
- package/dist/cjs/{format-pp0Du3K-.js → format-D7ig6Vm0.js} +1 -1
- package/dist/cjs/{framework-delegate-Dfo5XsGv.js → framework-delegate-BZUx4TnE.js} +1 -1
- package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-CeJslptU.js} +6 -14
- package/dist/cjs/{hardware-back-button-fqpYh-kd.js → hardware-back-button-JOAEFSzc.js} +1 -1
- package/dist/cjs/{helpers-YPQybDph.js → helpers-Dj5o76mq.js} +1 -1
- package/dist/cjs/{index-BLdJCcJY.js → index-2sO-zkZ2.js} +4 -4
- package/dist/cjs/{index-uvry__L4.js → index-BrVMoqUk.js} +3 -1
- package/dist/cjs/{index-zVCah4Uz.js → index-C8zH6b3d.js} +2 -2
- package/dist/cjs/{index-DXsPSne6.js → index-CZ6vzt_q.js} +5 -5
- package/dist/cjs/{index-DDg31ZF5.js → index-Csue6G3m.js} +2 -2
- package/dist/cjs/{index-DwlRtFZe.js → index-DRPqwSvU.js} +1 -1
- package/dist/cjs/{index-B7zJsYWS.js → index-EJLjthTK.js} +1 -2
- package/dist/cjs/index.cjs.js +14 -14
- package/dist/cjs/{input-shims-Cbu1fcye.js → input-shims-Bh7bnt2v.js} +3 -3
- package/dist/cjs/{input.utils-BZdMWVrt.js → input.utils-Cq3g9uHy.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +335 -364
- package/dist/cjs/ion-action-sheet.cjs.entry.js +60 -140
- package/dist/cjs/ion-alert.cjs.entry.js +67 -159
- package/dist/cjs/ion-app_8.cjs.entry.js +163 -258
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -8
- package/dist/cjs/ion-back-button.cjs.entry.js +21 -45
- package/dist/cjs/ion-backdrop.cjs.entry.js +14 -18
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +117 -195
- package/dist/cjs/ion-button_2.cjs.entry.js +61 -130
- package/dist/cjs/ion-card_5.cjs.entry.js +28 -80
- package/dist/cjs/ion-checkbox.cjs.entry.js +98 -147
- package/dist/cjs/ion-chip.cjs.entry.js +10 -16
- package/dist/cjs/ion-col_3.cjs.entry.js +6 -126
- package/dist/cjs/ion-datetime-button.cjs.entry.js +232 -248
- package/dist/cjs/ion-datetime.cjs.entry.js +775 -953
- package/dist/cjs/ion-fab_3.cjs.entry.js +78 -136
- package/dist/cjs/ion-img.cjs.entry.js +11 -31
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +71 -98
- package/dist/cjs/ion-input-otp.cjs.entry.js +352 -424
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +14 -29
- package/dist/cjs/ion-input.cjs.entry.js +158 -302
- package/dist/cjs/ion-item-option_3.cjs.entry.js +54 -98
- package/dist/cjs/ion-item_8.cjs.entry.js +61 -157
- package/dist/cjs/ion-loading.cjs.entry.js +54 -131
- package/dist/cjs/ion-menu_3.cjs.entry.js +94 -158
- package/dist/cjs/ion-modal.cjs.entry.js +206 -362
- package/dist/cjs/ion-nav_2.cjs.entry.js +26 -78
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +23 -33
- package/dist/cjs/ion-picker-column.cjs.entry.js +389 -410
- package/dist/cjs/ion-picker.cjs.entry.js +390 -400
- package/dist/cjs/ion-popover.cjs.entry.js +184 -292
- package/dist/cjs/ion-progress-bar.cjs.entry.js +23 -29
- package/dist/cjs/ion-radio_2.cjs.entry.js +128 -201
- package/dist/cjs/ion-range.cjs.entry.js +223 -293
- package/dist/cjs/ion-refresher_2.cjs.entry.js +89 -154
- package/dist/cjs/ion-reorder_2.cjs.entry.js +19 -49
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +13 -13
- package/dist/cjs/ion-route_4.cjs.entry.js +45 -144
- package/dist/cjs/ion-searchbar.cjs.entry.js +182 -268
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +12 -24
- package/dist/cjs/ion-segment_2.cjs.entry.js +122 -161
- package/dist/cjs/ion-select-modal.cjs.entry.js +19 -21
- package/dist/cjs/ion-select_3.cjs.entry.js +151 -319
- package/dist/cjs/ion-spinner.cjs.entry.js +6 -21
- package/dist/cjs/ion-split-pane.cjs.entry.js +14 -27
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +32 -89
- package/dist/cjs/ion-tab_2.cjs.entry.js +22 -49
- package/dist/cjs/ion-text.cjs.entry.js +2 -8
- package/dist/cjs/ion-textarea.cjs.entry.js +139 -256
- package/dist/cjs/ion-toast.cjs.entry.js +106 -221
- package/dist/cjs/ion-toggle.cjs.entry.js +114 -165
- package/dist/cjs/{ionic-global-k6hOWWpn.js → ionic-global-DvgIzM2F.js} +1 -1
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-zTmJz8T-.js → ios.transition-zIgdoSYe.js} +4 -4
- package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-DG-ZGm6j.js} +1 -1
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-nb_4pUXu.js → md.transition-CXeJ9rfh.js} +4 -4
- package/dist/cjs/{overlays-KaNVDNqC.js → overlays-Bg0auTQa.js} +6 -6
- package/dist/cjs/{select-option-render-pULCGldr.js → select-option-render-7m1WdFzF.js} +2 -2
- package/dist/cjs/{slot-mutation-controller-DPHmqXdV.js → slot-mutation-controller-BJEJzx_e.js} +1 -1
- package/dist/cjs/{status-tap-o9IIymsP.js → status-tap-DxbUM5XX.js} +3 -3
- package/dist/cjs/{swipe-back-B7X9VOlH.js → swipe-back-F_DBt-Aw.js} +4 -4
- package/dist/collection/components/accordion/accordion.js +310 -314
- package/dist/collection/components/accordion-group/accordion-group.js +23 -46
- package/dist/collection/components/action-sheet/action-sheet.js +49 -128
- package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
- package/dist/collection/components/alert/alert.js +56 -147
- package/dist/collection/components/app/app.js +0 -3
- package/dist/collection/components/back-button/back-button.js +19 -42
- package/dist/collection/components/backdrop/backdrop.js +14 -16
- package/dist/collection/components/badge/badge.js +0 -6
- package/dist/collection/components/breadcrumb/breadcrumb.js +29 -90
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +87 -102
- package/dist/collection/components/button/button.js +59 -127
- package/dist/collection/components/buttons/buttons.js +15 -13
- package/dist/collection/components/card/card.js +20 -53
- package/dist/collection/components/card-header/card-header.js +8 -12
- package/dist/collection/components/card-subtitle/card-subtitle.js +0 -6
- package/dist/collection/components/card-title/card-title.js +0 -6
- package/dist/collection/components/checkbox/checkbox.js +95 -143
- package/dist/collection/components/chip/chip.js +10 -14
- package/dist/collection/components/col/col.js +0 -120
- package/dist/collection/components/content/content.js +60 -90
- package/dist/collection/components/datetime/datetime.js +762 -939
- package/dist/collection/components/datetime-button/datetime-button.js +229 -244
- package/dist/collection/components/fab/fab.js +13 -20
- package/dist/collection/components/fab-button/fab-button.js +54 -103
- package/dist/collection/components/fab-list/fab-list.js +11 -10
- package/dist/collection/components/footer/footer.js +43 -49
- package/dist/collection/components/grid/grid.js +6 -4
- package/dist/collection/components/header/header.js +23 -33
- package/dist/collection/components/img/img.js +9 -28
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +66 -73
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +3 -20
- package/dist/collection/components/input/input.js +154 -297
- package/dist/collection/components/input-otp/input-otp.js +350 -421
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +13 -27
- package/dist/collection/components/item/item.js +37 -80
- package/dist/collection/components/item-divider/item-divider.js +10 -15
- package/dist/collection/components/item-option/item-option.js +20 -48
- package/dist/collection/components/item-options/item-options.js +7 -10
- package/dist/collection/components/item-sliding/item-sliding.js +26 -36
- package/dist/collection/components/label/label.js +4 -24
- package/dist/collection/components/list/list.js +6 -9
- package/dist/collection/components/list-header/list-header.js +0 -10
- package/dist/collection/components/loading/loading.js +46 -122
- package/dist/collection/components/menu/menu.js +55 -99
- package/dist/collection/components/menu-button/menu-button.js +19 -28
- package/dist/collection/components/menu-toggle/menu-toggle.js +13 -20
- package/dist/collection/components/modal/modal.js +196 -351
- package/dist/collection/components/modal/test/fixtures.js +0 -3
- package/dist/collection/components/nav/nav.js +12 -45
- package/dist/collection/components/nav/view-controller.js +1 -7
- package/dist/collection/components/nav-link/nav-link.js +9 -20
- package/dist/collection/components/note/note.js +0 -6
- package/dist/collection/components/picker/picker.js +388 -397
- package/dist/collection/components/picker-column/picker-column.js +389 -409
- package/dist/collection/components/picker-column-option/picker-column-option.js +21 -30
- package/dist/collection/components/popover/popover.js +176 -283
- package/dist/collection/components/popover/test/fixture.js +0 -1
- package/dist/collection/components/progress-bar/progress-bar.js +22 -26
- package/dist/collection/components/radio/radio.js +62 -98
- package/dist/collection/components/radio-group/radio-group.js +64 -99
- package/dist/collection/components/radio-group/test/fixtures.js +0 -2
- package/dist/collection/components/range/range.js +220 -289
- package/dist/collection/components/refresher/refresher.js +79 -105
- package/dist/collection/components/refresher-content/refresher-content.js +3 -40
- package/dist/collection/components/reorder/reorder.js +0 -1
- package/dist/collection/components/reorder-group/reorder-group.js +14 -43
- package/dist/collection/components/ripple-effect/ripple-effect.js +12 -11
- package/dist/collection/components/route/route.js +9 -38
- package/dist/collection/components/route-redirect/route-redirect.js +0 -31
- package/dist/collection/components/router/router.js +27 -35
- package/dist/collection/components/router/utils/matching.js +0 -1
- package/dist/collection/components/router-link/router-link.js +10 -35
- package/dist/collection/components/router-outlet/router-outlet.js +12 -34
- package/dist/collection/components/searchbar/searchbar.js +180 -265
- package/dist/collection/components/segment/segment.js +76 -113
- package/dist/collection/components/segment-button/segment-button.js +44 -44
- package/dist/collection/components/segment-view/segment-view.js +12 -23
- package/dist/collection/components/select/select.js +127 -240
- package/dist/collection/components/select-modal/select-modal.js +11 -12
- package/dist/collection/components/select-modal/test/fixtures.js +1 -8
- package/dist/collection/components/select-option/select-option.js +7 -44
- package/dist/collection/components/select-popover/select-popover.js +10 -25
- package/dist/collection/components/select-popover/test/fixtures.js +1 -8
- package/dist/collection/components/skeleton-text/skeleton-text.js +6 -10
- package/dist/collection/components/spinner/spinner.js +6 -19
- package/dist/collection/components/split-pane/split-pane.js +13 -25
- package/dist/collection/components/tab/tab.js +4 -15
- package/dist/collection/components/tab-bar/tab-bar.js +12 -30
- package/dist/collection/components/tab-button/tab-button.js +19 -56
- package/dist/collection/components/tabs/tabs.js +17 -31
- package/dist/collection/components/text/text.js +0 -6
- package/dist/collection/components/textarea/textarea.js +135 -251
- package/dist/collection/components/title/title.js +0 -16
- package/dist/collection/components/toast/toast.js +97 -211
- package/dist/collection/components/toggle/toggle.js +111 -161
- package/dist/collection/components/toolbar/toolbar.js +3 -8
- package/dist/collection/global/config.js +3 -1
- package/dist/collection/utils/gesture/gesture-controller.js +6 -14
- package/dist/collection/utils/sanitization/index.js +0 -1
- package/dist/collection/utils/test/late-props/late-props.js +69 -0
- package/dist/collection/utils/test/playwright/page/event-spy.js +8 -9
- package/dist/collection/utils/test/press-keys.js +1 -4
- package/dist/docs.json +1 -1
- package/dist/esm/{animation-CGFdmGk9.js → animation-TxGPYeDn.js} +1 -1
- package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-Do8rJest.js} +1 -1
- package/dist/esm/{button-active-BDOsVAiZ.js → button-active-ChA4D-ml.js} +2 -2
- package/dist/esm/{format-Dcwga61t.js → format-CVk5e_GP.js} +2 -2
- package/dist/esm/{framework-delegate-BHTU2Ip9.js → framework-delegate-DaLWnISz.js} +1 -1
- package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-B_gJaBk0.js} +6 -14
- package/dist/esm/{hardware-back-button-gLJHMX_F.js → hardware-back-button-D8W4L0JP.js} +1 -1
- package/dist/esm/{helpers-CAGf8Wgp.js → helpers-BIgoInJU.js} +1 -1
- package/dist/esm/{index-DcPaH5uL.js → index-BmLuEdV7.js} +1 -1
- package/dist/esm/{index-T0JxBI8V.js → index-BmOR8tCv.js} +2 -2
- package/dist/esm/{index-CqneaaGd.js → index-C5ZdL0qp.js} +5 -5
- package/dist/esm/{index-WlteAIqz.js → index-C8Dsa6li.js} +4 -4
- package/dist/esm/{index-ChhhtsGZ.js → index-CKYcsw8f.js} +3 -1
- package/dist/esm/{index-Clc-28O1.js → index-DHw2lZxe.js} +2 -2
- package/dist/esm/{index-CKM1DdGm.js → index-elneMH8y.js} +1 -2
- package/dist/esm/index.js +14 -14
- package/dist/esm/{input-shims-B8sfni1e.js → input-shims-09NN97kF.js} +3 -3
- package/dist/esm/{input.utils-B1ValN_N.js → input.utils-BxyH9l1w.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +335 -364
- package/dist/esm/ion-action-sheet.entry.js +60 -140
- package/dist/esm/ion-alert.entry.js +67 -159
- package/dist/esm/ion-app_8.entry.js +163 -258
- package/dist/esm/ion-avatar_3.entry.js +2 -8
- package/dist/esm/ion-back-button.entry.js +21 -45
- package/dist/esm/ion-backdrop.entry.js +14 -18
- package/dist/esm/ion-breadcrumb_2.entry.js +117 -195
- package/dist/esm/ion-button_2.entry.js +61 -130
- package/dist/esm/ion-card_5.entry.js +28 -80
- package/dist/esm/ion-checkbox.entry.js +98 -147
- package/dist/esm/ion-chip.entry.js +10 -16
- package/dist/esm/ion-col_3.entry.js +6 -126
- package/dist/esm/ion-datetime-button.entry.js +232 -248
- package/dist/esm/ion-datetime.entry.js +775 -953
- package/dist/esm/ion-fab_3.entry.js +78 -136
- package/dist/esm/ion-img.entry.js +11 -31
- package/dist/esm/ion-infinite-scroll_2.entry.js +71 -98
- package/dist/esm/ion-input-otp.entry.js +352 -424
- package/dist/esm/ion-input-password-toggle.entry.js +14 -29
- package/dist/esm/ion-input.entry.js +158 -302
- package/dist/esm/ion-item-option_3.entry.js +54 -98
- package/dist/esm/ion-item_8.entry.js +61 -157
- package/dist/esm/ion-loading.entry.js +54 -131
- package/dist/esm/ion-menu_3.entry.js +94 -158
- package/dist/esm/ion-modal.entry.js +206 -362
- package/dist/esm/ion-nav_2.entry.js +26 -78
- package/dist/esm/ion-picker-column-option.entry.js +23 -33
- package/dist/esm/ion-picker-column.entry.js +389 -410
- package/dist/esm/ion-picker.entry.js +390 -400
- package/dist/esm/ion-popover.entry.js +184 -292
- package/dist/esm/ion-progress-bar.entry.js +23 -29
- package/dist/esm/ion-radio_2.entry.js +128 -201
- package/dist/esm/ion-range.entry.js +223 -293
- package/dist/esm/ion-refresher_2.entry.js +89 -154
- package/dist/esm/ion-reorder_2.entry.js +19 -49
- package/dist/esm/ion-ripple-effect.entry.js +13 -13
- package/dist/esm/ion-route_4.entry.js +45 -144
- package/dist/esm/ion-searchbar.entry.js +182 -268
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +12 -24
- package/dist/esm/ion-segment_2.entry.js +122 -161
- package/dist/esm/ion-select-modal.entry.js +19 -21
- package/dist/esm/ion-select_3.entry.js +151 -319
- package/dist/esm/ion-spinner.entry.js +6 -21
- package/dist/esm/ion-split-pane.entry.js +14 -27
- package/dist/esm/ion-tab-bar_2.entry.js +32 -89
- package/dist/esm/ion-tab_2.entry.js +22 -49
- package/dist/esm/ion-text.entry.js +2 -8
- package/dist/esm/ion-textarea.entry.js +139 -256
- package/dist/esm/ion-toast.entry.js +106 -221
- package/dist/esm/ion-toggle.entry.js +114 -165
- package/dist/esm/{ionic-global-BVB7BrLT.js → ionic-global-lrowsHfi.js} +1 -1
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-DXRCmcbC.js → ios.transition-BQhADrk1.js} +4 -4
- package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-D_N3fDkD.js} +1 -1
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-BMngO4i_.js → md.transition-D58NpmRa.js} +4 -4
- package/dist/esm/{overlays-CPmIs9Ls.js → overlays-BpnIFlXI.js} +6 -6
- package/dist/esm/{select-option-render-C4m76VGH.js → select-option-render-lIuu64EV.js} +2 -2
- package/dist/esm/{slot-mutation-controller-DiE_C9un.js → slot-mutation-controller-rS_T3FDR.js} +1 -1
- package/dist/esm/{status-tap-CHB7KwIb.js → status-tap-CpFQMLl6.js} +3 -3
- package/dist/esm/{swipe-back-C9HW1bug.js → swipe-back-rmc7zeNW.js} +4 -4
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-05800a02.entry.js +4 -0
- package/dist/ionic/p-0eb50dca.entry.js +4 -0
- package/dist/ionic/p-16e9f542.entry.js +4 -0
- package/dist/ionic/p-18d532a3.entry.js +4 -0
- package/dist/ionic/p-1db2afb4.entry.js +4 -0
- package/dist/ionic/p-1df75f9e.entry.js +4 -0
- package/dist/ionic/p-295ff427.entry.js +4 -0
- package/dist/ionic/p-34b9379b.entry.js +4 -0
- package/dist/ionic/p-39a8d4e0.entry.js +4 -0
- package/dist/ionic/p-4437015c.entry.js +4 -0
- package/dist/ionic/p-478035a7.entry.js +4 -0
- package/dist/ionic/p-485fb218.entry.js +4 -0
- package/dist/ionic/p-48c859fe.entry.js +4 -0
- package/dist/ionic/p-49b9d405.entry.js +4 -0
- package/dist/ionic/p-56307aea.entry.js +4 -0
- package/dist/ionic/p-5b906fd6.entry.js +4 -0
- package/dist/ionic/p-5ee2d7b1.entry.js +4 -0
- package/dist/ionic/p-5f216b79.entry.js +4 -0
- package/dist/ionic/p-61c799d1.entry.js +4 -0
- package/dist/ionic/p-63bbba8d.entry.js +4 -0
- package/dist/ionic/p-68507e70.entry.js +4 -0
- package/dist/ionic/{p-ded69ceb.entry.js → p-6f048604.entry.js} +1 -1
- package/dist/ionic/p-70ee8888.entry.js +4 -0
- package/dist/ionic/p-72ad7c64.entry.js +4 -0
- package/dist/ionic/p-75887ee0.entry.js +4 -0
- package/dist/ionic/p-873a315a.entry.js +4 -0
- package/dist/ionic/p-881b6954.entry.js +4 -0
- package/dist/ionic/p-886d9e66.entry.js +4 -0
- package/dist/ionic/p-8dd4c026.entry.js +4 -0
- package/dist/ionic/p-8e007f11.entry.js +4 -0
- package/dist/ionic/p-8f51110d.entry.js +4 -0
- package/dist/ionic/p-90ba736e.entry.js +4 -0
- package/dist/ionic/p-959df5f8.entry.js +4 -0
- package/dist/ionic/p-9e455875.entry.js +4 -0
- package/dist/ionic/{p-CBR_W98Z.js → p-9wczfs_v.js} +1 -1
- package/dist/ionic/p-B1Y7LZhV.js +4 -0
- package/dist/ionic/p-B5RyLYvl.js +4 -0
- package/dist/ionic/{p-CPcPmkGv.js → p-BQv5i5Kf.js} +1 -1
- package/{components/p-8FN7p701.js → dist/ionic/p-BZVE25Gu.js} +1 -1
- package/{components/p-DFvZn99E.js → dist/ionic/p-BZxjcGRP.js} +1 -1
- package/dist/ionic/p-B_gJaBk0.js +4 -0
- package/dist/ionic/p-BnGA34Pd.js +4 -0
- package/dist/ionic/p-ByLaqOPm.js +4 -0
- package/dist/ionic/p-C06QNN45.js +4 -0
- package/dist/ionic/p-C4IBDDj6.js +4 -0
- package/dist/ionic/p-CCVlNZ__.js +4 -0
- package/dist/ionic/{p-CMRtMbJc.js → p-CDBop-kz.js} +1 -1
- package/dist/ionic/p-CKYcsw8f.js +5 -0
- package/dist/ionic/p-CazSodad.js +4 -0
- package/{components/p-ia3IDdJS.js → dist/ionic/p-ClrlQU2y.js} +1 -1
- package/dist/ionic/{p-UIBJkZf8.js → p-D0YpjgON.js} +1 -1
- package/dist/ionic/p-D0dfUysx.js +4 -0
- package/dist/ionic/{p-BB0LlG4y.js → p-D9yvytgv.js} +1 -1
- package/{components/p-C5KYjZWD.js → dist/ionic/p-DF_Uqql8.js} +1 -1
- package/dist/ionic/{p-BYEAtHr-.js → p-DXJgZWgi.js} +1 -1
- package/dist/ionic/{p-D94_RztK.js → p-DdhHqKj-.js} +1 -1
- package/dist/ionic/p-De0eY881.js +4 -0
- package/dist/ionic/p-DgUL3JbO.js +4 -0
- package/dist/ionic/{p-7CBuOvEo.js → p-RzUn7cKs.js} +1 -1
- package/dist/ionic/p-VquyMbjp.js +4 -0
- package/dist/ionic/p-a0fee899.entry.js +4 -0
- package/dist/ionic/p-a54bcd16.entry.js +4 -0
- package/dist/ionic/p-aebc4d69.entry.js +4 -0
- package/dist/ionic/p-b5f37106.entry.js +4 -0
- package/dist/ionic/{p-40424a88.entry.js → p-b62bfce8.entry.js} +1 -1
- package/dist/ionic/p-b7a11b58.entry.js +4 -0
- package/dist/ionic/p-bbf6878c.entry.js +4 -0
- package/dist/ionic/p-c49165af.entry.js +4 -0
- package/dist/ionic/p-cad4eccf.entry.js +4 -0
- package/dist/ionic/p-cdc5115e.entry.js +4 -0
- package/dist/ionic/p-d3384a40.entry.js +4 -0
- package/dist/ionic/p-d8bae128.entry.js +4 -0
- package/dist/ionic/p-d8deff43.entry.js +4 -0
- package/dist/ionic/p-ddfb7e5f.entry.js +4 -0
- package/dist/ionic/p-e538f18d.entry.js +4 -0
- package/dist/ionic/p-f376876b.entry.js +4 -0
- package/dist/ionic/p-f7dd1ed9.entry.js +4 -0
- package/dist/ionic/p-fbd83d4c.entry.js +4 -0
- package/dist/types/components/refresher/refresher.d.ts +7 -0
- package/hydrate/index.js +5450 -8380
- package/hydrate/index.mjs +5450 -8380
- package/package.json +1 -1
- package/components/p--m5cCjbK.js +0 -4
- package/components/p-B4uHHhPK.js +0 -4
- package/components/p-BNJOu1Q2.js +0 -4
- package/components/p-BOvLNVKq.js +0 -4
- package/components/p-BeamQXHF.js +0 -4
- package/components/p-BjluhQMI.js +0 -4
- package/components/p-BlsIikdZ.js +0 -4
- package/components/p-BrD9Xv62.js +0 -4
- package/components/p-BvJqoZ5R.js +0 -4
- package/components/p-Bz6z3Asd.js +0 -4
- package/components/p-C6HnVvHO.js +0 -4
- package/components/p-C7jvh5Wy.js +0 -4
- package/components/p-C9BGR5fy.js +0 -4
- package/components/p-CB-y1CdP.js +0 -4
- package/components/p-CHH3loEE.js +0 -4
- package/components/p-CJKUWjmg.js +0 -4
- package/components/p-CMLAwl_N.js +0 -4
- package/components/p-CejmQs3h.js +0 -4
- package/components/p-CtZqa4HM.js +0 -4
- package/components/p-D9qIVSWm.js +0 -4
- package/components/p-DE-3iMNW.js +0 -4
- package/components/p-DHFt2rdc.js +0 -4
- package/components/p-D_RCyzwu.js +0 -4
- package/components/p-D_tD8r3L.js +0 -4
- package/components/p-DjCtLZbF.js +0 -4
- package/components/p-Dmd2xqCe.js +0 -4
- package/components/p-G6JR-cr_.js +0 -4
- package/components/p-GG5GhznE.js +0 -4
- package/components/p-TXPDHL13.js +0 -4
- package/components/p-_IKFD3ID.js +0 -4
- package/components/p-dKq2jIum.js +0 -4
- package/components/p-iYhH60Tc.js +0 -4
- package/dist/ionic/p-06ec7136.entry.js +0 -4
- package/dist/ionic/p-09fe4fa3.entry.js +0 -4
- package/dist/ionic/p-10d45a07.entry.js +0 -4
- package/dist/ionic/p-208c8a07.entry.js +0 -4
- package/dist/ionic/p-212474fa.entry.js +0 -4
- package/dist/ionic/p-2eef1396.entry.js +0 -4
- package/dist/ionic/p-347e005d.entry.js +0 -4
- package/dist/ionic/p-3a0b3f1d.entry.js +0 -4
- package/dist/ionic/p-3b071259.entry.js +0 -4
- package/dist/ionic/p-4204184c.entry.js +0 -4
- package/dist/ionic/p-47464391.entry.js +0 -4
- package/dist/ionic/p-4f9c9126.entry.js +0 -4
- package/dist/ionic/p-5JsKPLJD.js +0 -4
- package/dist/ionic/p-5bc485c6.entry.js +0 -4
- package/dist/ionic/p-603a61e6.entry.js +0 -4
- package/dist/ionic/p-60576951.entry.js +0 -4
- package/dist/ionic/p-67a81d33.entry.js +0 -4
- package/dist/ionic/p-6affb775.entry.js +0 -4
- package/dist/ionic/p-6f120c25.entry.js +0 -4
- package/dist/ionic/p-71c82b60.entry.js +0 -4
- package/dist/ionic/p-79325ffe.entry.js +0 -4
- package/dist/ionic/p-7e4d51fa.entry.js +0 -4
- package/dist/ionic/p-7f5d4664.entry.js +0 -4
- package/dist/ionic/p-80ee82fc.entry.js +0 -4
- package/dist/ionic/p-84af7dbc.entry.js +0 -4
- package/dist/ionic/p-89ca830a.entry.js +0 -4
- package/dist/ionic/p-93b8ec8f.entry.js +0 -4
- package/dist/ionic/p-946f65c2.entry.js +0 -4
- package/dist/ionic/p-9c4b39fb.entry.js +0 -4
- package/dist/ionic/p-B1NEZUzQ.js +0 -4
- package/dist/ionic/p-B1ck5iy-.js +0 -4
- package/dist/ionic/p-B4FrqdW0.js +0 -4
- package/dist/ionic/p-C-94tAim.js +0 -4
- package/dist/ionic/p-C-eHZMYE.js +0 -4
- package/dist/ionic/p-CaRuIadB.js +0 -4
- package/dist/ionic/p-ChhhtsGZ.js +0 -5
- package/dist/ionic/p-CzS1qWve.js +0 -4
- package/dist/ionic/p-DjjfauRM.js +0 -4
- package/dist/ionic/p-DkUB-ROc.js +0 -4
- package/dist/ionic/p-DplOqGUv.js +0 -4
- package/dist/ionic/p-Dst_XmZh.js +0 -4
- package/dist/ionic/p-TXPDHL13.js +0 -4
- package/dist/ionic/p-a438b193.entry.js +0 -4
- package/dist/ionic/p-babaaaa7.entry.js +0 -4
- package/dist/ionic/p-be08d500.entry.js +0 -4
- package/dist/ionic/p-be9a4f51.entry.js +0 -4
- package/dist/ionic/p-c00d3092.entry.js +0 -4
- package/dist/ionic/p-c36dc8f5.entry.js +0 -4
- package/dist/ionic/p-c72a7e17.entry.js +0 -4
- package/dist/ionic/p-c8edd88c.entry.js +0 -4
- package/dist/ionic/p-ce0e380b.entry.js +0 -4
- package/dist/ionic/p-ce32912b.entry.js +0 -4
- package/dist/ionic/p-d07cf130.entry.js +0 -4
- package/dist/ionic/p-d27edeb3.entry.js +0 -4
- package/dist/ionic/p-d5d2c506.entry.js +0 -4
- package/dist/ionic/p-d5e31ca9.entry.js +0 -4
- package/dist/ionic/p-de91444f.entry.js +0 -4
- package/dist/ionic/p-df72866d.entry.js +0 -4
- package/dist/ionic/p-e47e3151.entry.js +0 -4
- package/dist/ionic/p-e621e5e8.entry.js +0 -4
- package/dist/ionic/p-eea9cf93.entry.js +0 -4
- package/dist/ionic/p-f402f5a4.entry.js +0 -4
- package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
- 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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
* `<Ionic>`
|
|
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);
|