@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,25 +1,25 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, e as config,
|
|
4
|
+
import { r as registerInstance, c as createEvent, e as config, f as printIonWarning, h, d as Host, g as getElement, i as forceUpdate } from './index-CKYcsw8f.js';
|
|
5
5
|
import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-DWCzVL3Y.js';
|
|
6
|
-
import { c as createSlotMutationController, a as createNotchController, b as createStartContainerController } from './slot-mutation-controller-
|
|
6
|
+
import { c as createSlotMutationController, a as createNotchController, b as createStartContainerController } from './slot-mutation-controller-rS_T3FDR.js';
|
|
7
7
|
import { c as compareOptions, i as isOptionSelected } from './compare-with-utils-sObYyvOy.js';
|
|
8
8
|
import { c as checkInvalidState } from './validity-DJztqcrH.js';
|
|
9
|
-
import { b as inheritAttributes, a as renderHiddenInput, n as focusVisibleElement } from './helpers-
|
|
10
|
-
import { p as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-
|
|
9
|
+
import { b as inheritAttributes, a as renderHiddenInput, n as focusVisibleElement } from './helpers-BIgoInJU.js';
|
|
10
|
+
import { p as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-BpnIFlXI.js';
|
|
11
11
|
import { i as isRTL } from './dir-Dojwmvde.js';
|
|
12
|
-
import { r as reflectPropertiesToAttributes, a as sanitizeDOMTree } from './index-
|
|
12
|
+
import { r as reflectPropertiesToAttributes, a as sanitizeDOMTree } from './index-elneMH8y.js';
|
|
13
13
|
import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-byZM6qHV.js';
|
|
14
14
|
import { w as watchForOptions } from './watch-options-Dtdm8lKC.js';
|
|
15
15
|
import { w as chevronExpand, f as caretDownSharp } from './index-BvabGprD.js';
|
|
16
|
-
import { b as getIonMode } from './ionic-global-
|
|
16
|
+
import { b as getIonMode } from './ionic-global-lrowsHfi.js';
|
|
17
17
|
import { a as getOverlayLabelPlacement, g as getOverlayLabelJustify } from './overlay-control-label-BSQPZ79H.js';
|
|
18
|
-
import { r as renderOptionLabel } from './select-option-render-
|
|
18
|
+
import { r as renderOptionLabel } from './select-option-render-lIuu64EV.js';
|
|
19
19
|
import './index-ZjP4CjeZ.js';
|
|
20
|
-
import './hardware-back-button-
|
|
21
|
-
import './framework-delegate-
|
|
22
|
-
import './gesture-controller-
|
|
20
|
+
import './hardware-back-button-D8W4L0JP.js';
|
|
21
|
+
import './framework-delegate-DaLWnISz.js';
|
|
22
|
+
import './gesture-controller-B_gJaBk0.js';
|
|
23
23
|
|
|
24
24
|
const selectIosCss = () => `:host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--select-text-media-height:1.5em;--select-text-media-width:1.5em;--select-text-gap:12px;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.has-focus) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-text>*+*{-webkit-margin-start:var(--select-text-gap);margin-inline-start:var(--select-text-gap)}.select-text img,.select-text ion-img,.select-text ion-icon,.select-text ion-thumbnail,.select-text ion-avatar{border-radius:var(--select-text-media-border-radius);width:var(--select-text-media-width);height:var(--select-text-media-height);border-width:var(--select-text-media-border-width);border-style:var(--select-text-media-border-style);border-color:var(--select-text-media-border-color)}.select-wrapper{-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);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-control{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:inherit;justify-content:inherit;min-width:0}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.select-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:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}:host(.has-focus.ion-valid),:host(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.select-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.select-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .select-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .select-bottom .helper-text{display:none}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:0;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}:host(.skip-label-transition) .label-text-wrapper{-webkit-transition:none;transition:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-negative:100000;flex-shrink:100000;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-control,:host(.select-label-placement-floating) .select-control{-ms-flex-direction:column;flex-direction:column;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:0}:host(.label-floating.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:var(--placeholder-opacity)}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.select-start,.select-end{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--highlight-height:0px}.select-icon{width:1.125rem;height:1.125rem;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.select-disabled){opacity:0.3}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}`;
|
|
25
25
|
|
|
@@ -34,191 +34,132 @@ const Select = class {
|
|
|
34
34
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
35
35
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
36
36
|
this.ionStyle = createEvent(this, "ionStyle", 7);
|
|
37
|
+
this.inputId = `ion-sel-${selectIds++}`;
|
|
38
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
39
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
40
|
+
this.inheritedAttributes = {};
|
|
41
|
+
this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
42
|
+
this.isExpanded = false;
|
|
43
|
+
/**
|
|
44
|
+
* The `hasFocus` state ensures the focus class is
|
|
45
|
+
* added regardless of how the element is focused.
|
|
46
|
+
* The `ion-focused` class only applies when focused
|
|
47
|
+
* via tabbing, not by clicking.
|
|
48
|
+
* The `has-focus` logic was added to ensure the class
|
|
49
|
+
* is applied in both cases.
|
|
50
|
+
*/
|
|
51
|
+
this.hasFocus = false;
|
|
52
|
+
/**
|
|
53
|
+
* Track validation state for proper aria-live announcements.
|
|
54
|
+
*/
|
|
55
|
+
this.isInvalid = false;
|
|
56
|
+
/**
|
|
57
|
+
* The text to display on the cancel button.
|
|
58
|
+
*/
|
|
59
|
+
this.cancelText = 'Cancel';
|
|
60
|
+
/**
|
|
61
|
+
* If `true`, the user cannot interact with the select.
|
|
62
|
+
*/
|
|
63
|
+
this.disabled = false;
|
|
64
|
+
/**
|
|
65
|
+
* The interface the select should use: `action-sheet`, `popover`, `alert`, or `modal`.
|
|
66
|
+
*/
|
|
67
|
+
this.interface = 'alert';
|
|
68
|
+
/**
|
|
69
|
+
* Any additional options that the `alert`, `action-sheet` or `popover` interface
|
|
70
|
+
* can take. See the [ion-alert docs](./alert), the
|
|
71
|
+
* [ion-action-sheet docs](./action-sheet), the
|
|
72
|
+
* [ion-popover docs](./popover), and the [ion-modal docs](./modal) for the
|
|
73
|
+
* create options for each interface.
|
|
74
|
+
*
|
|
75
|
+
* Note: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface.
|
|
76
|
+
*/
|
|
77
|
+
this.interfaceOptions = {};
|
|
78
|
+
/**
|
|
79
|
+
* Where to place the label relative to the select.
|
|
80
|
+
* `"start"`: The label will appear to the left of the select in LTR and to the right in RTL.
|
|
81
|
+
* `"end"`: The label will appear to the right of the select in LTR and to the left in RTL.
|
|
82
|
+
* `"floating"`: The label will appear smaller and above the select when the select is focused or it has a value. Otherwise it will appear on top of the select.
|
|
83
|
+
* `"stacked"`: The label will appear smaller and above the select regardless even when the select is blurred or has no value.
|
|
84
|
+
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
85
|
+
* When using `"floating"` or `"stacked"` we recommend initializing the select with either a `value` or a `placeholder`.
|
|
86
|
+
*/
|
|
87
|
+
this.labelPlacement = 'start';
|
|
88
|
+
/**
|
|
89
|
+
* If `true`, the select can accept multiple values.
|
|
90
|
+
*/
|
|
91
|
+
this.multiple = false;
|
|
92
|
+
/**
|
|
93
|
+
* The name of the control, which is submitted with the form data.
|
|
94
|
+
*/
|
|
95
|
+
this.name = this.inputId;
|
|
96
|
+
/**
|
|
97
|
+
* The text to display on the ok button.
|
|
98
|
+
*/
|
|
99
|
+
this.okText = 'OK';
|
|
100
|
+
/**
|
|
101
|
+
* If true, screen readers will announce it as a required field. This property
|
|
102
|
+
* works only for accessibility purposes, it will not prevent the form from
|
|
103
|
+
* submitting if the value is invalid.
|
|
104
|
+
*/
|
|
105
|
+
this.required = false;
|
|
106
|
+
this.onClick = (ev) => {
|
|
107
|
+
const target = ev.target;
|
|
108
|
+
const closestSlot = target.closest('[slot="start"], [slot="end"]');
|
|
109
|
+
if (target === this.el || closestSlot === null) {
|
|
110
|
+
this.setFocus();
|
|
111
|
+
this.open(ev);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
/**
|
|
115
|
+
* Prevent clicks to the start/end slots from opening the select.
|
|
116
|
+
* We ensure the target isn't this element in case the select is slotted
|
|
117
|
+
* in, for example, an item. This would prevent the select from ever
|
|
118
|
+
* being opened since the element itself has slot="start"/"end".
|
|
119
|
+
*
|
|
120
|
+
* Clicking a slotted element also causes a click
|
|
121
|
+
* on the <label> element (since it wraps the slots).
|
|
122
|
+
* Clicking <label> dispatches another click event on
|
|
123
|
+
* the native form control that then bubbles up to this
|
|
124
|
+
* listener. This additional event targets the host
|
|
125
|
+
* element, so the select overlay is opened.
|
|
126
|
+
*
|
|
127
|
+
* When the slotted elements are clicked (and therefore
|
|
128
|
+
* the ancestor <label> element) we want to prevent the label
|
|
129
|
+
* from dispatching another click event.
|
|
130
|
+
*
|
|
131
|
+
* Do not call stopPropagation() because this will cause
|
|
132
|
+
* click handlers on the slotted elements to never fire in React.
|
|
133
|
+
* When developers do onClick in React a native "click" listener
|
|
134
|
+
* is added on the root element, not the slotted element. When that
|
|
135
|
+
* native click listener fires, React then dispatches the synthetic
|
|
136
|
+
* click event on the slotted element. However, if stopPropagation
|
|
137
|
+
* is called then the native click event will never bubble up
|
|
138
|
+
* to the root element.
|
|
139
|
+
*/
|
|
140
|
+
ev.preventDefault();
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
this.onFocus = () => {
|
|
144
|
+
this.hasFocus = true;
|
|
145
|
+
this.ionFocus.emit();
|
|
146
|
+
};
|
|
147
|
+
this.onBlur = () => {
|
|
148
|
+
this.hasFocus = false;
|
|
149
|
+
this.ionBlur.emit();
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Stops propagation for re-dispatched clicks (when already expanded) to
|
|
153
|
+
* prevent double-click events. Allows initial button clicks (from keyboard
|
|
154
|
+
* or mouse) and slotted content clicks to propagate so event delegation
|
|
155
|
+
* works for parent handlers.
|
|
156
|
+
*/
|
|
157
|
+
this.onLabelClick = (ev) => {
|
|
158
|
+
if (ev.target === this.focusEl && this.isExpanded) {
|
|
159
|
+
ev.stopPropagation();
|
|
160
|
+
}
|
|
161
|
+
};
|
|
37
162
|
}
|
|
38
|
-
inputId = `ion-sel-${selectIds++}`;
|
|
39
|
-
helperTextId = `${this.inputId}-helper-text`;
|
|
40
|
-
errorTextId = `${this.inputId}-error-text`;
|
|
41
|
-
overlay;
|
|
42
|
-
focusEl;
|
|
43
|
-
mutationO;
|
|
44
|
-
inheritedAttributes = {};
|
|
45
|
-
slotMutationController;
|
|
46
|
-
nativeWrapperEl;
|
|
47
|
-
notchSpacerEl;
|
|
48
|
-
validationObserver;
|
|
49
|
-
notchController;
|
|
50
|
-
startContainerController;
|
|
51
|
-
startContainerEl;
|
|
52
|
-
customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
53
|
-
get el() { return getElement(this); }
|
|
54
|
-
isExpanded = false;
|
|
55
|
-
/**
|
|
56
|
-
* The `hasFocus` state ensures the focus class is
|
|
57
|
-
* added regardless of how the element is focused.
|
|
58
|
-
* The `ion-focused` class only applies when focused
|
|
59
|
-
* via tabbing, not by clicking.
|
|
60
|
-
* The `has-focus` logic was added to ensure the class
|
|
61
|
-
* is applied in both cases.
|
|
62
|
-
*/
|
|
63
|
-
hasFocus = false;
|
|
64
|
-
/**
|
|
65
|
-
* Track validation state for proper aria-live announcements.
|
|
66
|
-
*/
|
|
67
|
-
isInvalid = false;
|
|
68
|
-
hintTextId;
|
|
69
|
-
/**
|
|
70
|
-
* The text to display on the cancel button.
|
|
71
|
-
*/
|
|
72
|
-
cancelText = 'Cancel';
|
|
73
|
-
/**
|
|
74
|
-
* The color to use from your application's color palette.
|
|
75
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
76
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
77
|
-
*
|
|
78
|
-
* This property is only available when using the modern select syntax.
|
|
79
|
-
*/
|
|
80
|
-
color;
|
|
81
|
-
/**
|
|
82
|
-
* This property allows developers to specify a custom function or property
|
|
83
|
-
* name for comparing objects when determining the selected option in the
|
|
84
|
-
* ion-select. When not specified, the default behavior will use strict
|
|
85
|
-
* equality (===) for comparison.
|
|
86
|
-
*/
|
|
87
|
-
compareWith;
|
|
88
|
-
/**
|
|
89
|
-
* If `true`, the user cannot interact with the select.
|
|
90
|
-
*/
|
|
91
|
-
disabled = false;
|
|
92
|
-
/**
|
|
93
|
-
* The fill for the item. If `"solid"` the item will have a background. If
|
|
94
|
-
* `"outline"` the item will be transparent with a border. Only available in `md` mode.
|
|
95
|
-
*/
|
|
96
|
-
fill;
|
|
97
|
-
/**
|
|
98
|
-
* Text that is placed under the select and displayed when an error is detected.
|
|
99
|
-
*/
|
|
100
|
-
errorText;
|
|
101
|
-
/**
|
|
102
|
-
* Text that is placed under the select and displayed when no error is detected.
|
|
103
|
-
*/
|
|
104
|
-
helperText;
|
|
105
|
-
/**
|
|
106
|
-
* The interface the select should use: `action-sheet`, `popover`, `alert`, or `modal`.
|
|
107
|
-
*/
|
|
108
|
-
interface = 'alert';
|
|
109
|
-
/**
|
|
110
|
-
* Any additional options that the `alert`, `action-sheet` or `popover` interface
|
|
111
|
-
* can take. See the [ion-alert docs](./alert), the
|
|
112
|
-
* [ion-action-sheet docs](./action-sheet), the
|
|
113
|
-
* [ion-popover docs](./popover), and the [ion-modal docs](./modal) for the
|
|
114
|
-
* create options for each interface.
|
|
115
|
-
*
|
|
116
|
-
* Note: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface.
|
|
117
|
-
*/
|
|
118
|
-
interfaceOptions = {};
|
|
119
|
-
/**
|
|
120
|
-
* How to pack the label and select within a line.
|
|
121
|
-
* `justify` does not apply when the label and select
|
|
122
|
-
* are on different lines when `labelPlacement` is set to
|
|
123
|
-
* `"floating"` or `"stacked"`.
|
|
124
|
-
* `"start"`: The label and select will appear on the left in LTR and
|
|
125
|
-
* on the right in RTL.
|
|
126
|
-
* `"end"`: The label and select will appear on the right in LTR and
|
|
127
|
-
* on the left in RTL.
|
|
128
|
-
* `"space-between"`: The label and select will appear on opposite
|
|
129
|
-
* ends of the line with space between the two elements.
|
|
130
|
-
*/
|
|
131
|
-
justify;
|
|
132
|
-
/**
|
|
133
|
-
* The visible label associated with the select.
|
|
134
|
-
*
|
|
135
|
-
* Use this if you need to render a plaintext label.
|
|
136
|
-
*
|
|
137
|
-
* The `label` property will take priority over the `label` slot if both are used.
|
|
138
|
-
*/
|
|
139
|
-
label;
|
|
140
|
-
/**
|
|
141
|
-
* Where to place the label relative to the select.
|
|
142
|
-
* `"start"`: The label will appear to the left of the select in LTR and to the right in RTL.
|
|
143
|
-
* `"end"`: The label will appear to the right of the select in LTR and to the left in RTL.
|
|
144
|
-
* `"floating"`: The label will appear smaller and above the select when the select is focused or it has a value. Otherwise it will appear on top of the select.
|
|
145
|
-
* `"stacked"`: The label will appear smaller and above the select regardless even when the select is blurred or has no value.
|
|
146
|
-
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
147
|
-
* When using `"floating"` or `"stacked"` we recommend initializing the select with either a `value` or a `placeholder`.
|
|
148
|
-
*/
|
|
149
|
-
labelPlacement = 'start';
|
|
150
|
-
/**
|
|
151
|
-
* If `true`, the select can accept multiple values.
|
|
152
|
-
*/
|
|
153
|
-
multiple = false;
|
|
154
|
-
/**
|
|
155
|
-
* The name of the control, which is submitted with the form data.
|
|
156
|
-
*/
|
|
157
|
-
name = this.inputId;
|
|
158
|
-
/**
|
|
159
|
-
* The text to display on the ok button.
|
|
160
|
-
*/
|
|
161
|
-
okText = 'OK';
|
|
162
|
-
/**
|
|
163
|
-
* The text to display when the select is empty.
|
|
164
|
-
*/
|
|
165
|
-
placeholder;
|
|
166
|
-
/**
|
|
167
|
-
* The text to display instead of the selected option's value.
|
|
168
|
-
*/
|
|
169
|
-
selectedText;
|
|
170
|
-
/**
|
|
171
|
-
* The toggle icon to use. Defaults to `chevronExpand` for `ios` mode,
|
|
172
|
-
* or `caretDownSharp` for `md` mode.
|
|
173
|
-
*/
|
|
174
|
-
toggleIcon;
|
|
175
|
-
/**
|
|
176
|
-
* The toggle icon to show when the select is open. If defined, the icon
|
|
177
|
-
* rotation behavior in `md` mode will be disabled. If undefined, `toggleIcon`
|
|
178
|
-
* will be used for when the select is both open and closed.
|
|
179
|
-
*/
|
|
180
|
-
expandedIcon;
|
|
181
|
-
/**
|
|
182
|
-
* The shape of the select. If "round" it will have an increased border radius.
|
|
183
|
-
*/
|
|
184
|
-
shape;
|
|
185
|
-
/**
|
|
186
|
-
* The value of the select.
|
|
187
|
-
*/
|
|
188
|
-
value;
|
|
189
|
-
/**
|
|
190
|
-
* If true, screen readers will announce it as a required field. This property
|
|
191
|
-
* works only for accessibility purposes, it will not prevent the form from
|
|
192
|
-
* submitting if the value is invalid.
|
|
193
|
-
*/
|
|
194
|
-
required = false;
|
|
195
|
-
/**
|
|
196
|
-
* Emitted when the value has changed.
|
|
197
|
-
*
|
|
198
|
-
* This event will not emit when programmatically setting the `value` property.
|
|
199
|
-
*/
|
|
200
|
-
ionChange;
|
|
201
|
-
/**
|
|
202
|
-
* Emitted when the selection is cancelled.
|
|
203
|
-
*/
|
|
204
|
-
ionCancel;
|
|
205
|
-
/**
|
|
206
|
-
* Emitted when the overlay is dismissed.
|
|
207
|
-
*/
|
|
208
|
-
ionDismiss;
|
|
209
|
-
/**
|
|
210
|
-
* Emitted when the select has focus.
|
|
211
|
-
*/
|
|
212
|
-
ionFocus;
|
|
213
|
-
/**
|
|
214
|
-
* Emitted when the select loses focus.
|
|
215
|
-
*/
|
|
216
|
-
ionBlur;
|
|
217
|
-
/**
|
|
218
|
-
* Emitted when the styles change.
|
|
219
|
-
* @internal
|
|
220
|
-
*/
|
|
221
|
-
ionStyle;
|
|
222
163
|
styleChanged() {
|
|
223
164
|
this.emitStyle();
|
|
224
165
|
}
|
|
@@ -766,51 +707,6 @@ const Select = class {
|
|
|
766
707
|
};
|
|
767
708
|
this.ionStyle.emit(style);
|
|
768
709
|
}
|
|
769
|
-
onClick = (ev) => {
|
|
770
|
-
const target = ev.target;
|
|
771
|
-
const closestSlot = target.closest('[slot="start"], [slot="end"]');
|
|
772
|
-
if (target === this.el || closestSlot === null) {
|
|
773
|
-
this.setFocus();
|
|
774
|
-
this.open(ev);
|
|
775
|
-
}
|
|
776
|
-
else {
|
|
777
|
-
/**
|
|
778
|
-
* Prevent clicks to the start/end slots from opening the select.
|
|
779
|
-
* We ensure the target isn't this element in case the select is slotted
|
|
780
|
-
* in, for example, an item. This would prevent the select from ever
|
|
781
|
-
* being opened since the element itself has slot="start"/"end".
|
|
782
|
-
*
|
|
783
|
-
* Clicking a slotted element also causes a click
|
|
784
|
-
* on the <label> element (since it wraps the slots).
|
|
785
|
-
* Clicking <label> dispatches another click event on
|
|
786
|
-
* the native form control that then bubbles up to this
|
|
787
|
-
* listener. This additional event targets the host
|
|
788
|
-
* element, so the select overlay is opened.
|
|
789
|
-
*
|
|
790
|
-
* When the slotted elements are clicked (and therefore
|
|
791
|
-
* the ancestor <label> element) we want to prevent the label
|
|
792
|
-
* from dispatching another click event.
|
|
793
|
-
*
|
|
794
|
-
* Do not call stopPropagation() because this will cause
|
|
795
|
-
* click handlers on the slotted elements to never fire in React.
|
|
796
|
-
* When developers do onClick in React a native "click" listener
|
|
797
|
-
* is added on the root element, not the slotted element. When that
|
|
798
|
-
* native click listener fires, React then dispatches the synthetic
|
|
799
|
-
* click event on the slotted element. However, if stopPropagation
|
|
800
|
-
* is called then the native click event will never bubble up
|
|
801
|
-
* to the root element.
|
|
802
|
-
*/
|
|
803
|
-
ev.preventDefault();
|
|
804
|
-
}
|
|
805
|
-
};
|
|
806
|
-
onFocus = () => {
|
|
807
|
-
this.hasFocus = true;
|
|
808
|
-
this.ionFocus.emit();
|
|
809
|
-
};
|
|
810
|
-
onBlur = () => {
|
|
811
|
-
this.hasFocus = false;
|
|
812
|
-
this.ionBlur.emit();
|
|
813
|
-
};
|
|
814
710
|
renderLabel() {
|
|
815
711
|
const { label } = this;
|
|
816
712
|
return (h("div", { class: {
|
|
@@ -838,17 +734,6 @@ const Select = class {
|
|
|
838
734
|
get hasLabel() {
|
|
839
735
|
return this.label !== undefined || this.labelSlot !== null;
|
|
840
736
|
}
|
|
841
|
-
/**
|
|
842
|
-
* Stops propagation for re-dispatched clicks (when already expanded) to
|
|
843
|
-
* prevent double-click events. Allows initial button clicks (from keyboard
|
|
844
|
-
* or mouse) and slotted content clicks to propagate so event delegation
|
|
845
|
-
* works for parent handlers.
|
|
846
|
-
*/
|
|
847
|
-
onLabelClick = (ev) => {
|
|
848
|
-
if (ev.target === this.focusEl && this.isExpanded) {
|
|
849
|
-
ev.stopPropagation();
|
|
850
|
-
}
|
|
851
|
-
};
|
|
852
737
|
/**
|
|
853
738
|
* Renders the outline border with a notch for the label.
|
|
854
739
|
*/
|
|
@@ -1039,6 +924,7 @@ const Select = class {
|
|
|
1039
924
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
1040
925
|
}) }, h("label", { key: '15fd1f8e06510ae8472c621cf8cf90e51172e0be', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, hasOutlineFill && this.renderOutlineContainer(), h("div", { key: '7964e3d9351671899793b117896acdda25ec24c4', class: "select-start", part: "start", ref: (el) => (this.startContainerEl = el) }, h("slot", { key: 'aa309ef155c4025acfd7ed5739b5221c85097b36', name: "start" })), h("div", { key: '23d5a9dfea64a9d81b0b36d9426b15bed98901b9', class: "select-control", part: "control" }, this.renderLabel(), h("div", { key: '810da9fbfa8771e09b5fb768d64e5f04858b5833', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox(), !hasFloatingOrStackedLabel && this.renderSelectIcon())), h("div", { key: 'bf1c04704326ecfa14cf2e49bb76d3fb45beb08d', class: "select-end", part: "end" }, hasFloatingOrStackedLabel && this.renderSelectIcon(), h("slot", { key: '76a8bcaeefdcaa908aebd820d93171b08165cee3', name: "end" })), shouldRenderHighlight && h("div", { key: '55a9c417a82323a44e16328fd62a634d9d7c558b', class: "select-highlight" })), this.renderBottomContent()));
|
|
1041
926
|
}
|
|
927
|
+
get el() { return getElement(this); }
|
|
1042
928
|
static get watchers() { return {
|
|
1043
929
|
"disabled": [{
|
|
1044
930
|
"styleChanged": 0
|
|
@@ -1293,54 +1179,16 @@ const selectOptionCss = () => `:host{display:none}`;
|
|
|
1293
1179
|
const SelectOption = class {
|
|
1294
1180
|
constructor(hostRef) {
|
|
1295
1181
|
registerInstance(this, hostRef);
|
|
1182
|
+
this.inputId = `ion-selopt-${selectOptionIds++}`;
|
|
1183
|
+
/**
|
|
1184
|
+
* If `true`, the user cannot interact with the select option.
|
|
1185
|
+
*/
|
|
1186
|
+
this.disabled = false;
|
|
1296
1187
|
}
|
|
1297
|
-
inputId = `ion-selopt-${selectOptionIds++}`;
|
|
1298
|
-
get el() { return getElement(this); }
|
|
1299
|
-
/**
|
|
1300
|
-
* If `true`, the user cannot interact with the select option.
|
|
1301
|
-
*/
|
|
1302
|
-
disabled = false;
|
|
1303
|
-
/**
|
|
1304
|
-
* The text value of the option.
|
|
1305
|
-
*/
|
|
1306
|
-
value;
|
|
1307
|
-
/**
|
|
1308
|
-
* Text that is placed underneath the option text to provide additional details about the option.
|
|
1309
|
-
*/
|
|
1310
|
-
description;
|
|
1311
|
-
/**
|
|
1312
|
-
* Where the label is placed relative to the option's selection control
|
|
1313
|
-
* (radio circle or checkbox box) when the option is rendered in an
|
|
1314
|
-
* `alert`, `popover`, or `modal` interface.
|
|
1315
|
-
* `"start"`: The label will appear to the left of the radio in LTR and to the right in RTL.
|
|
1316
|
-
* `"end"`: The label will appear to the right of the radio in LTR and to the left in RTL.
|
|
1317
|
-
*
|
|
1318
|
-
* Applies to the `alert`, `popover`, and `modal` interfaces, but has no
|
|
1319
|
-
* visible effect on radio options in `popover` or `modal` on `md` (the radio control is hidden there).
|
|
1320
|
-
*
|
|
1321
|
-
* When unset, the interface picks a default based on mode and control
|
|
1322
|
-
* type.
|
|
1323
|
-
*/
|
|
1324
|
-
labelPlacement;
|
|
1325
|
-
/**
|
|
1326
|
-
* How to pack the label and the option's selection control within a line.
|
|
1327
|
-
* `"start"`: The label and radio will appear on the left in LTR and
|
|
1328
|
-
* on the right in RTL.
|
|
1329
|
-
* `"end"`: The label and radio will appear on the right in LTR and
|
|
1330
|
-
* on the left in RTL.
|
|
1331
|
-
* `"space-between"`: The label and radio will appear on opposite
|
|
1332
|
-
* ends of the line with space between the two elements.
|
|
1333
|
-
*
|
|
1334
|
-
* Applies to the `alert`, `popover`, and `modal` interfaces, but has no
|
|
1335
|
-
* visible effect on radio options in `popover` or `modal` on `md` (the radio control is hidden there).
|
|
1336
|
-
*
|
|
1337
|
-
* When unset, the interface picks a default based on mode and control
|
|
1338
|
-
* type.
|
|
1339
|
-
*/
|
|
1340
|
-
justify;
|
|
1341
1188
|
render() {
|
|
1342
1189
|
return h(Host, { key: '01275b5a613c4b065b24e0d939f611f6ed1fc9ee', role: "option", id: this.inputId, class: getIonMode(this) });
|
|
1343
1190
|
}
|
|
1191
|
+
get el() { return getElement(this); }
|
|
1344
1192
|
};
|
|
1345
1193
|
let selectOptionIds = 0;
|
|
1346
1194
|
SelectOption.style = selectOptionCss();
|
|
@@ -1352,32 +1200,15 @@ const selectPopoverMdCss = () => `.action-sheet-button-label-has-rich-content.sc
|
|
|
1352
1200
|
const SelectPopover = class {
|
|
1353
1201
|
constructor(hostRef) {
|
|
1354
1202
|
registerInstance(this, hostRef);
|
|
1203
|
+
// Tracks the option that received Enter-keydown so keyup only
|
|
1204
|
+
// dismisses when the press started on the same option. Prevents
|
|
1205
|
+
// Enter on the triggering ion-select from auto-dismissing.
|
|
1206
|
+
this.pendingEnterTarget = null;
|
|
1207
|
+
/**
|
|
1208
|
+
* An array of options for the popover
|
|
1209
|
+
*/
|
|
1210
|
+
this.options = [];
|
|
1355
1211
|
}
|
|
1356
|
-
get el() { return getElement(this); }
|
|
1357
|
-
// Tracks the option that received Enter-keydown so keyup only
|
|
1358
|
-
// dismisses when the press started on the same option. Prevents
|
|
1359
|
-
// Enter on the triggering ion-select from auto-dismissing.
|
|
1360
|
-
pendingEnterTarget = null;
|
|
1361
|
-
/**
|
|
1362
|
-
* The header text of the popover
|
|
1363
|
-
*/
|
|
1364
|
-
header;
|
|
1365
|
-
/**
|
|
1366
|
-
* The subheader text of the popover
|
|
1367
|
-
*/
|
|
1368
|
-
subHeader;
|
|
1369
|
-
/**
|
|
1370
|
-
* The text content of the popover body
|
|
1371
|
-
*/
|
|
1372
|
-
message;
|
|
1373
|
-
/**
|
|
1374
|
-
* If true, the select accepts multiple values
|
|
1375
|
-
*/
|
|
1376
|
-
multiple;
|
|
1377
|
-
/**
|
|
1378
|
-
* An array of options for the popover
|
|
1379
|
-
*/
|
|
1380
|
-
options = [];
|
|
1381
1212
|
findOptionFromEvent(ev) {
|
|
1382
1213
|
const { options } = this;
|
|
1383
1214
|
return options.find((o) => o.value === ev.target.value);
|
|
@@ -1523,6 +1354,7 @@ const SelectPopover = class {
|
|
|
1523
1354
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
1524
1355
|
return (h(Host, { key: '4b4ac4a4b6523147e7c1f5e29dd8043867f2baea', class: getIonMode(this) }, h("ion-list", { key: 'f700d3dc3ce68c20a4d981164b29262564097fb4' }, header !== undefined && h("ion-list-header", { key: '196bcd7963f13ef8bc46231545eee4cb8d526f5e' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: 'bb108e0aa2409997df35f52cb67e58e55e0fd630' }, h("ion-label", { key: '59e8d9196ff976f3835766662654c0f085e58ec3', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: '532f75d7c129ffadca4e6cbb619a4427aaede65c' }, subHeader), message !== undefined && h("p", { key: 'fc42c91594b9001e983cb5e4176fc4c9bff0f708' }, message)))), this.renderOptions(options))));
|
|
1525
1356
|
}
|
|
1357
|
+
get el() { return getElement(this); }
|
|
1526
1358
|
};
|
|
1527
1359
|
SelectPopover.style = {
|
|
1528
1360
|
ios: selectPopoverIosCss(),
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, e as config, h, d as Host } from './index-
|
|
4
|
+
import { r as registerInstance, e as config, h, d as Host } from './index-CKYcsw8f.js';
|
|
5
5
|
import { c as createColorClasses } from './theme-byZM6qHV.js';
|
|
6
|
-
import { b as getIonMode } from './ionic-global-
|
|
6
|
+
import { b as getIonMode } from './ionic-global-lrowsHfi.js';
|
|
7
7
|
import { S as SPINNERS } from './spinner-configs-D4RIp70E.js';
|
|
8
8
|
|
|
9
9
|
const spinnerCss = () => `:host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{-webkit-transform-origin:center;transform-origin:center;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}:host-context([dir=rtl]) svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){svg:dir(rtl){-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:7px}:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-width:4px}:host(.spinner-lines) line,:host(.spinner-lines-small) line,:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg,:host(.spinner-lines-sharp) svg,:host(.spinner-lines-sharp-small) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}:host(.spinner-circular) svg{-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}`;
|
|
@@ -11,26 +11,11 @@ const spinnerCss = () => `:host{display:inline-block;position:relative;width:28p
|
|
|
11
11
|
const Spinner = class {
|
|
12
12
|
constructor(hostRef) {
|
|
13
13
|
registerInstance(this, hostRef);
|
|
14
|
+
/**
|
|
15
|
+
* If `true`, the spinner's animation will be paused.
|
|
16
|
+
*/
|
|
17
|
+
this.paused = false;
|
|
14
18
|
}
|
|
15
|
-
/**
|
|
16
|
-
* The color to use from your application's color palette.
|
|
17
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
18
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
19
|
-
*/
|
|
20
|
-
color;
|
|
21
|
-
/**
|
|
22
|
-
* Duration of the spinner animation in milliseconds. The default varies based on the spinner.
|
|
23
|
-
*/
|
|
24
|
-
duration;
|
|
25
|
-
/**
|
|
26
|
-
* The name of the SVG spinner to use. If a name is not provided, the platform's default
|
|
27
|
-
* spinner will be used.
|
|
28
|
-
*/
|
|
29
|
-
name;
|
|
30
|
-
/**
|
|
31
|
-
* If `true`, the spinner's animation will be paused.
|
|
32
|
-
*/
|
|
33
|
-
paused = false;
|
|
34
19
|
getName() {
|
|
35
20
|
const spinnerName = this.name || config.get('spinner');
|
|
36
21
|
const mode = getIonMode(this);
|
|
@@ -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,
|
|
5
|
-
import { b as getIonMode } from './ionic-global-
|
|
4
|
+
import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-CKYcsw8f.js';
|
|
5
|
+
import { b as getIonMode } from './ionic-global-lrowsHfi.js';
|
|
6
6
|
|
|
7
7
|
const splitPaneIosCss = () => `:host{--side-width:100%;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-ms-flex:1;flex:1;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;z-index:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host{--border:0.55px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--side-min-width:270px;--side-max-width:28%}`;
|
|
8
8
|
|
|
@@ -23,32 +23,18 @@ const SplitPane = class {
|
|
|
23
23
|
constructor(hostRef) {
|
|
24
24
|
registerInstance(this, hostRef);
|
|
25
25
|
this.ionSplitPaneVisible = createEvent(this, "ionSplitPaneVisible", 7);
|
|
26
|
+
this.visible = false;
|
|
27
|
+
/**
|
|
28
|
+
* If `true`, the split pane will be hidden.
|
|
29
|
+
*/
|
|
30
|
+
this.disabled = false;
|
|
31
|
+
/**
|
|
32
|
+
* When the split-pane should be shown.
|
|
33
|
+
* Can be a CSS media query expression, or a shortcut expression.
|
|
34
|
+
* Can also be a boolean expression.
|
|
35
|
+
*/
|
|
36
|
+
this.when = QUERY['lg'];
|
|
26
37
|
}
|
|
27
|
-
rmL;
|
|
28
|
-
get el() { return getElement(this); }
|
|
29
|
-
visible = false;
|
|
30
|
-
/**
|
|
31
|
-
* The `id` of the main content. When using
|
|
32
|
-
* a router this is typically `ion-router-outlet`.
|
|
33
|
-
* When not using a router, this is typically
|
|
34
|
-
* your main view's `ion-content`. This is not the
|
|
35
|
-
* id of the `ion-content` inside of your `ion-menu`.
|
|
36
|
-
*/
|
|
37
|
-
contentId;
|
|
38
|
-
/**
|
|
39
|
-
* If `true`, the split pane will be hidden.
|
|
40
|
-
*/
|
|
41
|
-
disabled = false;
|
|
42
|
-
/**
|
|
43
|
-
* When the split-pane should be shown.
|
|
44
|
-
* Can be a CSS media query expression, or a shortcut expression.
|
|
45
|
-
* Can also be a boolean expression.
|
|
46
|
-
*/
|
|
47
|
-
when = QUERY['lg'];
|
|
48
|
-
/**
|
|
49
|
-
* Expression to be called when the split-pane visibility has changed
|
|
50
|
-
*/
|
|
51
|
-
ionSplitPaneVisible;
|
|
52
38
|
visibleChanged(visible) {
|
|
53
39
|
this.ionSplitPaneVisible.emit({ visible });
|
|
54
40
|
}
|
|
@@ -147,6 +133,7 @@ const SplitPane = class {
|
|
|
147
133
|
'split-pane-visible': this.visible,
|
|
148
134
|
} }, h("slot", { key: '9eac85f4c4e33ec00e8e16e2679f5975d7652452' })));
|
|
149
135
|
}
|
|
136
|
+
get el() { return getElement(this); }
|
|
150
137
|
static get watchers() { return {
|
|
151
138
|
"visible": [{
|
|
152
139
|
"visibleChanged": 0
|