@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
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance,
|
|
5
|
-
import { i as inheritAriaAttributes } from './helpers-
|
|
4
|
+
import { r as registerInstance, e as config, h, d as Host, g as getElement } from './index-CKYcsw8f.js';
|
|
5
|
+
import { i as inheritAriaAttributes } from './helpers-BIgoInJU.js';
|
|
6
6
|
import { o as openURL, c as createColorClasses, h as hostContext } from './theme-byZM6qHV.js';
|
|
7
7
|
import { c as chevronBack, a as arrowBackSharp } from './index-BvabGprD.js';
|
|
8
|
-
import { b as getIonMode } from './ionic-global-
|
|
8
|
+
import { b as getIonMode } from './ionic-global-lrowsHfi.js';
|
|
9
9
|
import './dir-Dojwmvde.js';
|
|
10
10
|
|
|
11
11
|
const backButtonIosCss = () => `:host{--background:transparent;--color-focused:currentColor;--color-hover:currentColor;--icon-margin-top:0;--icon-margin-bottom:0;--icon-padding-top:0;--icon-padding-end:0;--icon-padding-bottom:0;--icon-padding-start:0;--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--min-width:auto;--min-height:auto;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--opacity:1;--ripple-color:currentColor;--transition:background-color, opacity 100ms linear;display:none;min-width:var(--min-width);min-height:var(--min-height);color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-kerning:none;font-kerning:none}ion-ripple-effect{color:var(--ripple-color)}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.show-back-button){display:block}:host(.back-button-disabled){cursor:default;opacity:0.5;pointer-events:none}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;opacity:var(--opacity);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{-webkit-padding-start:var(--icon-padding-start);padding-inline-start:var(--icon-padding-start);-webkit-padding-end:var(--icon-padding-end);padding-inline-end:var(--icon-padding-end);padding-top:var(--icon-padding-top);padding-bottom:var(--icon-padding-bottom);-webkit-margin-start:var(--icon-margin-start);margin-inline-start:var(--icon-margin-start);-webkit-margin-end:var(--icon-margin-end);margin-inline-end:var(--icon-margin-end);margin-top:var(--icon-margin-top);margin-bottom:var(--icon-margin-bottom);display:inherit;font-size:var(--icon-font-size);font-weight:var(--icon-font-weight);pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-hover:transparent;--background-hover-opacity:1;--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #0054e9);--icon-margin-end:1px;--icon-margin-start:-4px;--icon-font-size:1.6em;--min-height:32px;font-size:clamp(17px, 1.0625rem, 21.998px)}.button-native{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:visible;z-index:99}:host(.ion-activated) .button-native{opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}`;
|
|
@@ -15,41 +15,24 @@ const backButtonMdCss = () => `:host{--background:transparent;--color-focused:cu
|
|
|
15
15
|
const BackButton = class {
|
|
16
16
|
constructor(hostRef) {
|
|
17
17
|
registerInstance(this, hostRef);
|
|
18
|
+
this.inheritedAttributes = {};
|
|
19
|
+
/**
|
|
20
|
+
* If `true`, the user cannot interact with the button.
|
|
21
|
+
*/
|
|
22
|
+
this.disabled = false;
|
|
23
|
+
/**
|
|
24
|
+
* The type of the button.
|
|
25
|
+
*/
|
|
26
|
+
this.type = 'button';
|
|
27
|
+
this.onClick = async (ev) => {
|
|
28
|
+
const nav = this.el.closest('ion-nav');
|
|
29
|
+
ev.preventDefault();
|
|
30
|
+
if (nav && (await nav.canGoBack())) {
|
|
31
|
+
return nav.pop({ animationBuilder: this.routerAnimation, skipIfBusy: true });
|
|
32
|
+
}
|
|
33
|
+
return openURL(this.defaultHref, ev, 'back', this.routerAnimation);
|
|
34
|
+
};
|
|
18
35
|
}
|
|
19
|
-
inheritedAttributes = {};
|
|
20
|
-
get el() { return getElement(this); }
|
|
21
|
-
/**
|
|
22
|
-
* The color to use from your application's color palette.
|
|
23
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
24
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
25
|
-
*/
|
|
26
|
-
color;
|
|
27
|
-
/**
|
|
28
|
-
* The url to navigate back to by default when there is no history.
|
|
29
|
-
*/
|
|
30
|
-
defaultHref;
|
|
31
|
-
/**
|
|
32
|
-
* If `true`, the user cannot interact with the button.
|
|
33
|
-
*/
|
|
34
|
-
disabled = false;
|
|
35
|
-
/**
|
|
36
|
-
* The built-in named SVG icon name or the exact `src` of an SVG file
|
|
37
|
-
* to use for the back button.
|
|
38
|
-
*/
|
|
39
|
-
icon;
|
|
40
|
-
/**
|
|
41
|
-
* The text to display in the back button.
|
|
42
|
-
*/
|
|
43
|
-
text;
|
|
44
|
-
/**
|
|
45
|
-
* The type of the button.
|
|
46
|
-
*/
|
|
47
|
-
type = 'button';
|
|
48
|
-
/**
|
|
49
|
-
* When using a router, it specifies the transition animation when navigating to
|
|
50
|
-
* another page.
|
|
51
|
-
*/
|
|
52
|
-
routerAnimation;
|
|
53
36
|
componentWillLoad() {
|
|
54
37
|
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
|
55
38
|
if (this.defaultHref === undefined) {
|
|
@@ -84,14 +67,6 @@ const BackButton = class {
|
|
|
84
67
|
}
|
|
85
68
|
return 'bounded';
|
|
86
69
|
}
|
|
87
|
-
onClick = async (ev) => {
|
|
88
|
-
const nav = this.el.closest('ion-nav');
|
|
89
|
-
ev.preventDefault();
|
|
90
|
-
if (nav && (await nav.canGoBack())) {
|
|
91
|
-
return nav.pop({ animationBuilder: this.routerAnimation, skipIfBusy: true });
|
|
92
|
-
}
|
|
93
|
-
return openURL(this.defaultHref, ev, 'back', this.routerAnimation);
|
|
94
|
-
};
|
|
95
70
|
render() {
|
|
96
71
|
const { color, defaultHref, disabled, type, hasIconOnly, backButtonIcon, backButtonText, icon, inheritedAttributes, } = this;
|
|
97
72
|
const showBackButton = defaultHref !== undefined;
|
|
@@ -109,6 +84,7 @@ const BackButton = class {
|
|
|
109
84
|
'show-back-button': showBackButton,
|
|
110
85
|
}) }, h("button", { key: '63bc75ef0ad7cc9fb79e58217a3314b20acd73e3', type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, h("span", { key: '5d3eacbd11af2245c6e1151cab446a0d96559ad8', class: "button-inner" }, backButtonIcon && (h("ion-icon", { key: '6439af0ae463764174e7d3207f02267811df666d', part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false, "flip-rtl": icon === undefined })), backButtonText && (h("span", { key: '8ee89fb18dfdb5b75948a8b197ff4cdbc008742f', part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText))), mode === 'md' && h("ion-ripple-effect", { key: '63803a884998bc73bea5afe0b2a0a14e3fa4d6bf', type: this.rippleType }))));
|
|
111
86
|
}
|
|
87
|
+
get el() { return getElement(this); }
|
|
112
88
|
};
|
|
113
89
|
BackButton.style = {
|
|
114
90
|
ios: backButtonIosCss(),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, h, d as Host } from './index-
|
|
5
|
-
import { b as getIonMode } from './ionic-global-
|
|
4
|
+
import { r as registerInstance, c as createEvent, h, d as Host } from './index-CKYcsw8f.js';
|
|
5
|
+
import { b as getIonMode } from './ionic-global-lrowsHfi.js';
|
|
6
6
|
|
|
7
7
|
const backdropIosCss = () => `:host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);contain:strict;cursor:pointer;opacity:0.01;-ms-touch-action:none;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color, #000)}`;
|
|
8
8
|
|
|
@@ -12,23 +12,19 @@ const Backdrop = class {
|
|
|
12
12
|
constructor(hostRef) {
|
|
13
13
|
registerInstance(this, hostRef);
|
|
14
14
|
this.ionBackdropTap = createEvent(this, "ionBackdropTap", 7);
|
|
15
|
+
/**
|
|
16
|
+
* If `true`, the backdrop will be visible.
|
|
17
|
+
*/
|
|
18
|
+
this.visible = true;
|
|
19
|
+
/**
|
|
20
|
+
* If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
|
|
21
|
+
*/
|
|
22
|
+
this.tappable = true;
|
|
23
|
+
/**
|
|
24
|
+
* If `true`, the backdrop will stop propagation on tap.
|
|
25
|
+
*/
|
|
26
|
+
this.stopPropagation = true;
|
|
15
27
|
}
|
|
16
|
-
/**
|
|
17
|
-
* If `true`, the backdrop will be visible.
|
|
18
|
-
*/
|
|
19
|
-
visible = true;
|
|
20
|
-
/**
|
|
21
|
-
* If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
|
|
22
|
-
*/
|
|
23
|
-
tappable = true;
|
|
24
|
-
/**
|
|
25
|
-
* If `true`, the backdrop will stop propagation on tap.
|
|
26
|
-
*/
|
|
27
|
-
stopPropagation = true;
|
|
28
|
-
/**
|
|
29
|
-
* Emitted when the backdrop is tapped.
|
|
30
|
-
*/
|
|
31
|
-
ionBackdropTap;
|
|
32
28
|
onMouseDown(ev) {
|
|
33
29
|
this.emitTap(ev);
|
|
34
30
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent,
|
|
5
|
-
import { i as inheritAriaAttributes } from './helpers-
|
|
4
|
+
import { r as registerInstance, c as createEvent, h, d as Host, g as getElement } from './index-CKYcsw8f.js';
|
|
5
|
+
import { i as inheritAriaAttributes } from './helpers-BIgoInJU.js';
|
|
6
6
|
import { c as createColorClasses, o as openURL, h as hostContext } from './theme-byZM6qHV.js';
|
|
7
7
|
import { p as chevronForwardOutline, q as ellipsisHorizontal } from './index-BvabGprD.js';
|
|
8
|
-
import { b as getIonMode } from './ionic-global-
|
|
8
|
+
import { b as getIonMode } from './ionic-global-lrowsHfi.js';
|
|
9
9
|
import './dir-Dojwmvde.js';
|
|
10
10
|
|
|
11
11
|
const breadcrumbIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-align:center;align-items:center;color:var(--color);font-size:1rem;font-weight:400;line-height:1.5}.breadcrumb-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;outline:none;background:inherit}:host(.breadcrumb-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.breadcrumb-active){color:var(--color-active)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .breadcrumb-native{background:var(--background-focused)}@media (any-hover: hover){:host(.ion-activatable:hover){color:var(--color-hover)}:host(.ion-activatable.in-breadcrumbs-color:hover),:host(.ion-activatable.ion-color:hover){color:var(--ion-color-shade)}}.breadcrumb-separator{display:-ms-inline-flexbox;display:inline-flex}:host(.breadcrumb-collapsed) .breadcrumb-native{display:none}:host(.in-breadcrumbs-color),:host(.in-breadcrumbs-color.breadcrumb-active){color:var(--ion-color-base)}:host(.in-breadcrumbs-color) .breadcrumb-separator{color:var(--ion-color-base)}:host(.ion-color){color:var(--ion-color-base)}:host(.in-toolbar-color),:host(.in-toolbar-color) .breadcrumb-separator{color:rgba(var(--ion-color-contrast-rgb), 0.8)}:host(.in-toolbar-color.breadcrumb-active){color:var(--ion-color-contrast)}.breadcrumbs-collapsed-indicator{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex:1 1 100%;flex:1 1 100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:32px;height:18px;border:0;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.breadcrumbs-collapsed-indicator ion-icon{margin-top:1px;font-size:1.375rem}:host{--color:var(--ion-color-step-850, var(--ion-text-color-step-150, #2d4665));--color-active:var(--ion-text-color, #03060b);--color-hover:var(--ion-text-color, #03060b);--color-focused:var(--color-active);--background-focused:var(--ion-color-step-50, var(--ion-background-color-step-50, rgba(233, 237, 243, 0.7)));font-size:clamp(16px, 1rem, 22px)}:host(.breadcrumb-active){font-weight:600}.breadcrumb-native{border-radius:4px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:5px;padding-bottom:5px;border:1px solid transparent}:host(.ion-focused) .breadcrumb-native{border-radius:8px}:host(.in-breadcrumbs-color.ion-focused) .breadcrumb-native,:host(.ion-color.ion-focused) .breadcrumb-native{background:rgba(var(--ion-color-base-rgb), 0.1);color:var(--ion-color-base)}:host(.ion-focused) ::slotted(ion-icon),:host(.in-breadcrumbs-color.ion-focused) ::slotted(ion-icon),:host(.ion-color.ion-focused) ::slotted(ion-icon){color:var(--ion-color-step-750, var(--ion-text-color-step-250, #445b78))}.breadcrumb-separator{color:var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a))}::slotted(ion-icon){color:var(--ion-color-step-400, var(--ion-text-color-step-600, #92a0b3));font-size:min(1.125rem, 21.6px)}::slotted(ion-icon[slot=start]){-webkit-margin-end:8px;margin-inline-end:8px}::slotted(ion-icon[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px}:host(.breadcrumb-active) ::slotted(ion-icon){color:var(--ion-color-step-850, var(--ion-text-color-step-150, #242d39))}.breadcrumbs-collapsed-indicator{border-radius:4px;background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e9edf3));color:var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a))}.breadcrumbs-collapsed-indicator:hover{opacity:0.45}.breadcrumbs-collapsed-indicator:focus{background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9e0ea))}.breadcrumbs-collapsed-indicator ion-icon{font-size:min(1.375rem, 22px)}`;
|
|
@@ -18,103 +18,40 @@ const Breadcrumb = class {
|
|
|
18
18
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
19
19
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
20
20
|
this.collapsedClick = createEvent(this, "collapsedClick", 7);
|
|
21
|
+
this.inheritedAttributes = {};
|
|
22
|
+
/** @internal */
|
|
23
|
+
this.collapsed = false;
|
|
24
|
+
/**
|
|
25
|
+
* If `true`, the breadcrumb will take on a different look to show that
|
|
26
|
+
* it is the currently active breadcrumb. Defaults to `true` for the
|
|
27
|
+
* last breadcrumb if it is not set on any.
|
|
28
|
+
*/
|
|
29
|
+
this.active = false;
|
|
30
|
+
/**
|
|
31
|
+
* If `true`, the user cannot interact with the breadcrumb.
|
|
32
|
+
*/
|
|
33
|
+
this.disabled = false;
|
|
34
|
+
/**
|
|
35
|
+
* When using a router, it specifies the transition direction when navigating to
|
|
36
|
+
* another page using `href`.
|
|
37
|
+
*/
|
|
38
|
+
this.routerDirection = 'forward';
|
|
39
|
+
this.onFocus = () => {
|
|
40
|
+
this.ionFocus.emit();
|
|
41
|
+
};
|
|
42
|
+
this.onBlur = () => {
|
|
43
|
+
this.ionBlur.emit();
|
|
44
|
+
};
|
|
45
|
+
this.collapsedIndicatorClick = () => {
|
|
46
|
+
this.collapsedClick.emit({ ionShadowTarget: this.collapsedRef });
|
|
47
|
+
};
|
|
21
48
|
}
|
|
22
|
-
inheritedAttributes = {};
|
|
23
|
-
collapsedRef;
|
|
24
|
-
/** @internal */
|
|
25
|
-
collapsed = false;
|
|
26
|
-
/** @internal */
|
|
27
|
-
last;
|
|
28
|
-
/** @internal */
|
|
29
|
-
showCollapsedIndicator;
|
|
30
|
-
get el() { return getElement(this); }
|
|
31
|
-
/**
|
|
32
|
-
* The color to use from your application's color palette.
|
|
33
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
34
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
35
|
-
*/
|
|
36
|
-
color;
|
|
37
|
-
/**
|
|
38
|
-
* If `true`, the breadcrumb will take on a different look to show that
|
|
39
|
-
* it is the currently active breadcrumb. Defaults to `true` for the
|
|
40
|
-
* last breadcrumb if it is not set on any.
|
|
41
|
-
*/
|
|
42
|
-
active = false;
|
|
43
|
-
/**
|
|
44
|
-
* If `true`, the user cannot interact with the breadcrumb.
|
|
45
|
-
*/
|
|
46
|
-
disabled = false;
|
|
47
|
-
/**
|
|
48
|
-
* This attribute instructs browsers to download a URL instead of navigating to
|
|
49
|
-
* it, so the user will be prompted to save it as a local file. If the attribute
|
|
50
|
-
* has a value, it is used as the pre-filled file name in the Save prompt
|
|
51
|
-
* (the user can still change the file name if they want).
|
|
52
|
-
*/
|
|
53
|
-
download;
|
|
54
|
-
/**
|
|
55
|
-
* Contains a URL or a URL fragment that the hyperlink points to.
|
|
56
|
-
* If this property is set, an anchor tag will be rendered.
|
|
57
|
-
*/
|
|
58
|
-
href;
|
|
59
|
-
/**
|
|
60
|
-
* Specifies the relationship of the target object to the link object.
|
|
61
|
-
* The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
|
|
62
|
-
*/
|
|
63
|
-
rel;
|
|
64
|
-
/**
|
|
65
|
-
* If true, show a separator between this breadcrumb and the next.
|
|
66
|
-
* Defaults to `true` for all breadcrumbs except the last.
|
|
67
|
-
*/
|
|
68
|
-
separator;
|
|
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
|
-
* When using a router, it specifies the transition direction when navigating to
|
|
77
|
-
* another page using `href`.
|
|
78
|
-
*/
|
|
79
|
-
routerDirection = 'forward';
|
|
80
|
-
/**
|
|
81
|
-
* When using a router, it specifies the transition animation when navigating to
|
|
82
|
-
* another page using `href`.
|
|
83
|
-
*/
|
|
84
|
-
routerAnimation;
|
|
85
|
-
/**
|
|
86
|
-
* Emitted when the breadcrumb has focus.
|
|
87
|
-
*/
|
|
88
|
-
ionFocus;
|
|
89
|
-
/**
|
|
90
|
-
* Emitted when the breadcrumb loses focus.
|
|
91
|
-
*/
|
|
92
|
-
ionBlur;
|
|
93
|
-
/**
|
|
94
|
-
* Emitted when the collapsed indicator is clicked on.
|
|
95
|
-
* `ion-breadcrumbs` will listen for this and emit ionCollapsedClick.
|
|
96
|
-
* Normally we could just emit this as `ionCollapsedClick`
|
|
97
|
-
* and let the event bubble to `ion-breadcrumbs`,
|
|
98
|
-
* but if the event custom event is not set on `ion-breadcrumbs`,
|
|
99
|
-
* TypeScript will throw an error in user applications.
|
|
100
|
-
* @internal
|
|
101
|
-
*/
|
|
102
|
-
collapsedClick;
|
|
103
49
|
componentWillLoad() {
|
|
104
50
|
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
|
105
51
|
}
|
|
106
52
|
isClickable() {
|
|
107
53
|
return this.href !== undefined;
|
|
108
54
|
}
|
|
109
|
-
onFocus = () => {
|
|
110
|
-
this.ionFocus.emit();
|
|
111
|
-
};
|
|
112
|
-
onBlur = () => {
|
|
113
|
-
this.ionBlur.emit();
|
|
114
|
-
};
|
|
115
|
-
collapsedIndicatorClick = () => {
|
|
116
|
-
this.collapsedClick.emit({ ionShadowTarget: this.collapsedRef });
|
|
117
|
-
};
|
|
118
55
|
render() {
|
|
119
56
|
const { color, active, collapsed, disabled, download, el, inheritedAttributes, last, routerAnimation, routerDirection, separator, showCollapsedIndicator, target, } = this;
|
|
120
57
|
const clickable = this.isClickable();
|
|
@@ -154,6 +91,7 @@ const Breadcrumb = class {
|
|
|
154
91
|
*/
|
|
155
92
|
h("span", { key: 'fc3c741cb01fafef8b26046c7ee5b190efc69a7c', class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, h("slot", { key: '4871932ae1dae520767e0713e7cee2d11b0bba6d', name: "separator" }, mode === 'ios' ? (h("ion-icon", { icon: chevronForwardOutline, lazy: false, "flip-rtl": true })) : (h("span", null, "/")))))));
|
|
156
93
|
}
|
|
94
|
+
get el() { return getElement(this); }
|
|
157
95
|
};
|
|
158
96
|
Breadcrumb.style = {
|
|
159
97
|
ios: breadcrumbIosCss(),
|
|
@@ -168,36 +106,92 @@ const Breadcrumbs = class {
|
|
|
168
106
|
constructor(hostRef) {
|
|
169
107
|
registerInstance(this, hostRef);
|
|
170
108
|
this.ionCollapsedClick = createEvent(this, "ionCollapsedClick", 7);
|
|
109
|
+
/**
|
|
110
|
+
* The number of breadcrumbs to show before the collapsed indicator.
|
|
111
|
+
* If `itemsBeforeCollapse` + `itemsAfterCollapse` is greater than `maxItems`,
|
|
112
|
+
* the breadcrumbs will not be collapsed.
|
|
113
|
+
*/
|
|
114
|
+
this.itemsBeforeCollapse = 1;
|
|
115
|
+
/**
|
|
116
|
+
* The number of breadcrumbs to show after the collapsed indicator.
|
|
117
|
+
* If `itemsBeforeCollapse` + `itemsAfterCollapse` is greater than `maxItems`,
|
|
118
|
+
* the breadcrumbs will not be collapsed.
|
|
119
|
+
*/
|
|
120
|
+
this.itemsAfterCollapse = 1;
|
|
121
|
+
this.breadcrumbsInit = () => {
|
|
122
|
+
this.setBreadcrumbSeparator();
|
|
123
|
+
this.setMaxItems();
|
|
124
|
+
};
|
|
125
|
+
this.resetActiveBreadcrumb = () => {
|
|
126
|
+
const breadcrumbs = this.getBreadcrumbs();
|
|
127
|
+
// Only reset the active breadcrumb if we were the ones to change it
|
|
128
|
+
// otherwise use the one set on the component
|
|
129
|
+
const activeBreadcrumb = breadcrumbs.find((breadcrumb) => breadcrumb.active);
|
|
130
|
+
if (activeBreadcrumb && this.activeChanged) {
|
|
131
|
+
activeBreadcrumb.active = false;
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
this.setMaxItems = () => {
|
|
135
|
+
const { itemsAfterCollapse, itemsBeforeCollapse, maxItems } = this;
|
|
136
|
+
const breadcrumbs = this.getBreadcrumbs();
|
|
137
|
+
for (const breadcrumb of breadcrumbs) {
|
|
138
|
+
breadcrumb.showCollapsedIndicator = false;
|
|
139
|
+
breadcrumb.collapsed = false;
|
|
140
|
+
}
|
|
141
|
+
// If the number of breadcrumbs exceeds the maximum number of items
|
|
142
|
+
// that should show and the items before / after collapse do not
|
|
143
|
+
// exceed the maximum items then we need to collapse the breadcrumbs
|
|
144
|
+
const shouldCollapse = maxItems !== undefined && breadcrumbs.length > maxItems && itemsBeforeCollapse + itemsAfterCollapse <= maxItems;
|
|
145
|
+
if (shouldCollapse) {
|
|
146
|
+
// Show the collapsed indicator in the first breadcrumb that collapses
|
|
147
|
+
breadcrumbs.forEach((breadcrumb, index) => {
|
|
148
|
+
if (index === itemsBeforeCollapse) {
|
|
149
|
+
breadcrumb.showCollapsedIndicator = true;
|
|
150
|
+
}
|
|
151
|
+
// Collapse all breadcrumbs that have an index greater than or equal to
|
|
152
|
+
// the number before collapse and an index less than the total number
|
|
153
|
+
// of breadcrumbs minus the items that should show after the collapse
|
|
154
|
+
if (index >= itemsBeforeCollapse && index < breadcrumbs.length - itemsAfterCollapse) {
|
|
155
|
+
breadcrumb.collapsed = true;
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
this.setBreadcrumbSeparator = () => {
|
|
161
|
+
const { itemsAfterCollapse, itemsBeforeCollapse, maxItems } = this;
|
|
162
|
+
const breadcrumbs = this.getBreadcrumbs();
|
|
163
|
+
// Check if an active breadcrumb exists already
|
|
164
|
+
const active = breadcrumbs.find((breadcrumb) => breadcrumb.active);
|
|
165
|
+
// Set the separator on all but the last breadcrumb
|
|
166
|
+
for (const breadcrumb of breadcrumbs) {
|
|
167
|
+
// The only time the last breadcrumb changes is when
|
|
168
|
+
// itemsAfterCollapse is set to 0, in this case the
|
|
169
|
+
// last breadcrumb will be the collapsed indicator
|
|
170
|
+
const last = maxItems !== undefined && itemsAfterCollapse === 0
|
|
171
|
+
? breadcrumb === breadcrumbs[itemsBeforeCollapse]
|
|
172
|
+
: breadcrumb === breadcrumbs[breadcrumbs.length - 1];
|
|
173
|
+
breadcrumb.last = last;
|
|
174
|
+
// If the breadcrumb has defined whether or not to show the
|
|
175
|
+
// separator then use that value, otherwise check if it's the
|
|
176
|
+
// last breadcrumb
|
|
177
|
+
const separator = breadcrumb.separator !== undefined ? breadcrumb.separator : last ? undefined : true;
|
|
178
|
+
breadcrumb.separator = separator;
|
|
179
|
+
// If there is not an active breadcrumb already
|
|
180
|
+
// set the last one to active
|
|
181
|
+
if (!active && last) {
|
|
182
|
+
breadcrumb.active = true;
|
|
183
|
+
this.activeChanged = true;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
this.getBreadcrumbs = () => {
|
|
188
|
+
return Array.from(this.el.querySelectorAll('ion-breadcrumb'));
|
|
189
|
+
};
|
|
190
|
+
this.slotChanged = () => {
|
|
191
|
+
this.resetActiveBreadcrumb();
|
|
192
|
+
this.breadcrumbsInit();
|
|
193
|
+
};
|
|
171
194
|
}
|
|
172
|
-
collapsed;
|
|
173
|
-
activeChanged;
|
|
174
|
-
get el() { return getElement(this); }
|
|
175
|
-
/**
|
|
176
|
-
* The color to use from your application's color palette.
|
|
177
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
178
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
179
|
-
*/
|
|
180
|
-
color;
|
|
181
|
-
/**
|
|
182
|
-
* The maximum number of breadcrumbs to show before collapsing.
|
|
183
|
-
*/
|
|
184
|
-
maxItems;
|
|
185
|
-
/**
|
|
186
|
-
* The number of breadcrumbs to show before the collapsed indicator.
|
|
187
|
-
* If `itemsBeforeCollapse` + `itemsAfterCollapse` is greater than `maxItems`,
|
|
188
|
-
* the breadcrumbs will not be collapsed.
|
|
189
|
-
*/
|
|
190
|
-
itemsBeforeCollapse = 1;
|
|
191
|
-
/**
|
|
192
|
-
* The number of breadcrumbs to show after the collapsed indicator.
|
|
193
|
-
* If `itemsBeforeCollapse` + `itemsAfterCollapse` is greater than `maxItems`,
|
|
194
|
-
* the breadcrumbs will not be collapsed.
|
|
195
|
-
*/
|
|
196
|
-
itemsAfterCollapse = 1;
|
|
197
|
-
/**
|
|
198
|
-
* Emitted when the collapsed indicator is clicked on.
|
|
199
|
-
*/
|
|
200
|
-
ionCollapsedClick;
|
|
201
195
|
onCollapsedClick(ev) {
|
|
202
196
|
const breadcrumbs = this.getBreadcrumbs();
|
|
203
197
|
const collapsedBreadcrumbs = breadcrumbs.filter((breadcrumb) => breadcrumb.collapsed);
|
|
@@ -210,79 +204,6 @@ const Breadcrumbs = class {
|
|
|
210
204
|
componentWillLoad() {
|
|
211
205
|
this.breadcrumbsInit();
|
|
212
206
|
}
|
|
213
|
-
breadcrumbsInit = () => {
|
|
214
|
-
this.setBreadcrumbSeparator();
|
|
215
|
-
this.setMaxItems();
|
|
216
|
-
};
|
|
217
|
-
resetActiveBreadcrumb = () => {
|
|
218
|
-
const breadcrumbs = this.getBreadcrumbs();
|
|
219
|
-
// Only reset the active breadcrumb if we were the ones to change it
|
|
220
|
-
// otherwise use the one set on the component
|
|
221
|
-
const activeBreadcrumb = breadcrumbs.find((breadcrumb) => breadcrumb.active);
|
|
222
|
-
if (activeBreadcrumb && this.activeChanged) {
|
|
223
|
-
activeBreadcrumb.active = false;
|
|
224
|
-
}
|
|
225
|
-
};
|
|
226
|
-
setMaxItems = () => {
|
|
227
|
-
const { itemsAfterCollapse, itemsBeforeCollapse, maxItems } = this;
|
|
228
|
-
const breadcrumbs = this.getBreadcrumbs();
|
|
229
|
-
for (const breadcrumb of breadcrumbs) {
|
|
230
|
-
breadcrumb.showCollapsedIndicator = false;
|
|
231
|
-
breadcrumb.collapsed = false;
|
|
232
|
-
}
|
|
233
|
-
// If the number of breadcrumbs exceeds the maximum number of items
|
|
234
|
-
// that should show and the items before / after collapse do not
|
|
235
|
-
// exceed the maximum items then we need to collapse the breadcrumbs
|
|
236
|
-
const shouldCollapse = maxItems !== undefined && breadcrumbs.length > maxItems && itemsBeforeCollapse + itemsAfterCollapse <= maxItems;
|
|
237
|
-
if (shouldCollapse) {
|
|
238
|
-
// Show the collapsed indicator in the first breadcrumb that collapses
|
|
239
|
-
breadcrumbs.forEach((breadcrumb, index) => {
|
|
240
|
-
if (index === itemsBeforeCollapse) {
|
|
241
|
-
breadcrumb.showCollapsedIndicator = true;
|
|
242
|
-
}
|
|
243
|
-
// Collapse all breadcrumbs that have an index greater than or equal to
|
|
244
|
-
// the number before collapse and an index less than the total number
|
|
245
|
-
// of breadcrumbs minus the items that should show after the collapse
|
|
246
|
-
if (index >= itemsBeforeCollapse && index < breadcrumbs.length - itemsAfterCollapse) {
|
|
247
|
-
breadcrumb.collapsed = true;
|
|
248
|
-
}
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
};
|
|
252
|
-
setBreadcrumbSeparator = () => {
|
|
253
|
-
const { itemsAfterCollapse, itemsBeforeCollapse, maxItems } = this;
|
|
254
|
-
const breadcrumbs = this.getBreadcrumbs();
|
|
255
|
-
// Check if an active breadcrumb exists already
|
|
256
|
-
const active = breadcrumbs.find((breadcrumb) => breadcrumb.active);
|
|
257
|
-
// Set the separator on all but the last breadcrumb
|
|
258
|
-
for (const breadcrumb of breadcrumbs) {
|
|
259
|
-
// The only time the last breadcrumb changes is when
|
|
260
|
-
// itemsAfterCollapse is set to 0, in this case the
|
|
261
|
-
// last breadcrumb will be the collapsed indicator
|
|
262
|
-
const last = maxItems !== undefined && itemsAfterCollapse === 0
|
|
263
|
-
? breadcrumb === breadcrumbs[itemsBeforeCollapse]
|
|
264
|
-
: breadcrumb === breadcrumbs[breadcrumbs.length - 1];
|
|
265
|
-
breadcrumb.last = last;
|
|
266
|
-
// If the breadcrumb has defined whether or not to show the
|
|
267
|
-
// separator then use that value, otherwise check if it's the
|
|
268
|
-
// last breadcrumb
|
|
269
|
-
const separator = breadcrumb.separator !== undefined ? breadcrumb.separator : last ? undefined : true;
|
|
270
|
-
breadcrumb.separator = separator;
|
|
271
|
-
// If there is not an active breadcrumb already
|
|
272
|
-
// set the last one to active
|
|
273
|
-
if (!active && last) {
|
|
274
|
-
breadcrumb.active = true;
|
|
275
|
-
this.activeChanged = true;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
};
|
|
279
|
-
getBreadcrumbs = () => {
|
|
280
|
-
return Array.from(this.el.querySelectorAll('ion-breadcrumb'));
|
|
281
|
-
};
|
|
282
|
-
slotChanged = () => {
|
|
283
|
-
this.resetActiveBreadcrumb();
|
|
284
|
-
this.breadcrumbsInit();
|
|
285
|
-
};
|
|
286
207
|
render() {
|
|
287
208
|
const { color, collapsed } = this;
|
|
288
209
|
const mode = getIonMode(this);
|
|
@@ -293,6 +214,7 @@ const Breadcrumbs = class {
|
|
|
293
214
|
'breadcrumbs-collapsed': collapsed,
|
|
294
215
|
}) }, h("slot", { key: 'a2c99b579e339055c50a613d5c6b61032f5ddffe', onSlotchange: this.slotChanged })));
|
|
295
216
|
}
|
|
217
|
+
get el() { return getElement(this); }
|
|
296
218
|
static get watchers() { return {
|
|
297
219
|
"maxItems": [{
|
|
298
220
|
"maxItemsChanged": 0
|