@ionic/core 9.0.1-dev.11787177893.1979eb13 → 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 +84 -156
- 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 +74 -107
- 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 +84 -156
- 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 +4 -4
- package/hydrate/index.js +5445 -8382
- package/hydrate/index.mjs +5445 -8382
- 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-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-983b6c91.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
|
@@ -3,25 +3,25 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-BrVMoqUk.js');
|
|
7
7
|
var config = require('./config-CjUbvdPW.js');
|
|
8
|
-
var slotMutationController = require('./slot-mutation-controller-
|
|
8
|
+
var slotMutationController = require('./slot-mutation-controller-BJEJzx_e.js');
|
|
9
9
|
var compareWithUtils = require('./compare-with-utils-DSicavqM.js');
|
|
10
10
|
var validity = require('./validity-BpS37YFM.js');
|
|
11
|
-
var helpers = require('./helpers-
|
|
12
|
-
var overlays = require('./overlays-
|
|
11
|
+
var helpers = require('./helpers-Dj5o76mq.js');
|
|
12
|
+
var overlays = require('./overlays-Bg0auTQa.js');
|
|
13
13
|
var dir = require('./dir-zwDPRE5K.js');
|
|
14
|
-
var index$2 = require('./index-
|
|
14
|
+
var index$2 = require('./index-EJLjthTK.js');
|
|
15
15
|
var theme = require('./theme-Bw0rpaNN.js');
|
|
16
16
|
var watchOptions = require('./watch-options-CviOsrTS.js');
|
|
17
17
|
var index$1 = require('./index-wOmugbdg.js');
|
|
18
|
-
var ionicGlobal = require('./ionic-global-
|
|
18
|
+
var ionicGlobal = require('./ionic-global-DvgIzM2F.js');
|
|
19
19
|
var overlayControlLabel = require('./overlay-control-label-D2sdL2O8.js');
|
|
20
|
-
var selectOptionRender = require('./select-option-render-
|
|
20
|
+
var selectOptionRender = require('./select-option-render-7m1WdFzF.js');
|
|
21
21
|
require('./index-DkNv4J_i.js');
|
|
22
|
-
require('./hardware-back-button-
|
|
23
|
-
require('./framework-delegate-
|
|
24
|
-
require('./gesture-controller-
|
|
22
|
+
require('./hardware-back-button-JOAEFSzc.js');
|
|
23
|
+
require('./framework-delegate-BZUx4TnE.js');
|
|
24
|
+
require('./gesture-controller-CeJslptU.js');
|
|
25
25
|
|
|
26
26
|
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}`;
|
|
27
27
|
|
|
@@ -36,191 +36,132 @@ const Select = class {
|
|
|
36
36
|
this.ionFocus = index.createEvent(this, "ionFocus", 7);
|
|
37
37
|
this.ionBlur = index.createEvent(this, "ionBlur", 7);
|
|
38
38
|
this.ionStyle = index.createEvent(this, "ionStyle", 7);
|
|
39
|
+
this.inputId = `ion-sel-${selectIds++}`;
|
|
40
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
41
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
42
|
+
this.inheritedAttributes = {};
|
|
43
|
+
this.customHTMLEnabled = index.config.get('innerHTMLTemplatesEnabled', config.ENABLE_HTML_CONTENT_DEFAULT);
|
|
44
|
+
this.isExpanded = false;
|
|
45
|
+
/**
|
|
46
|
+
* The `hasFocus` state ensures the focus class is
|
|
47
|
+
* added regardless of how the element is focused.
|
|
48
|
+
* The `ion-focused` class only applies when focused
|
|
49
|
+
* via tabbing, not by clicking.
|
|
50
|
+
* The `has-focus` logic was added to ensure the class
|
|
51
|
+
* is applied in both cases.
|
|
52
|
+
*/
|
|
53
|
+
this.hasFocus = false;
|
|
54
|
+
/**
|
|
55
|
+
* Track validation state for proper aria-live announcements.
|
|
56
|
+
*/
|
|
57
|
+
this.isInvalid = false;
|
|
58
|
+
/**
|
|
59
|
+
* The text to display on the cancel button.
|
|
60
|
+
*/
|
|
61
|
+
this.cancelText = 'Cancel';
|
|
62
|
+
/**
|
|
63
|
+
* If `true`, the user cannot interact with the select.
|
|
64
|
+
*/
|
|
65
|
+
this.disabled = false;
|
|
66
|
+
/**
|
|
67
|
+
* The interface the select should use: `action-sheet`, `popover`, `alert`, or `modal`.
|
|
68
|
+
*/
|
|
69
|
+
this.interface = 'alert';
|
|
70
|
+
/**
|
|
71
|
+
* Any additional options that the `alert`, `action-sheet` or `popover` interface
|
|
72
|
+
* can take. See the [ion-alert docs](./alert), the
|
|
73
|
+
* [ion-action-sheet docs](./action-sheet), the
|
|
74
|
+
* [ion-popover docs](./popover), and the [ion-modal docs](./modal) for the
|
|
75
|
+
* create options for each interface.
|
|
76
|
+
*
|
|
77
|
+
* Note: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface.
|
|
78
|
+
*/
|
|
79
|
+
this.interfaceOptions = {};
|
|
80
|
+
/**
|
|
81
|
+
* Where to place the label relative to the select.
|
|
82
|
+
* `"start"`: The label will appear to the left of the select in LTR and to the right in RTL.
|
|
83
|
+
* `"end"`: The label will appear to the right of the select in LTR and to the left in RTL.
|
|
84
|
+
* `"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.
|
|
85
|
+
* `"stacked"`: The label will appear smaller and above the select regardless even when the select is blurred or has no value.
|
|
86
|
+
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
87
|
+
* When using `"floating"` or `"stacked"` we recommend initializing the select with either a `value` or a `placeholder`.
|
|
88
|
+
*/
|
|
89
|
+
this.labelPlacement = 'start';
|
|
90
|
+
/**
|
|
91
|
+
* If `true`, the select can accept multiple values.
|
|
92
|
+
*/
|
|
93
|
+
this.multiple = false;
|
|
94
|
+
/**
|
|
95
|
+
* The name of the control, which is submitted with the form data.
|
|
96
|
+
*/
|
|
97
|
+
this.name = this.inputId;
|
|
98
|
+
/**
|
|
99
|
+
* The text to display on the ok button.
|
|
100
|
+
*/
|
|
101
|
+
this.okText = 'OK';
|
|
102
|
+
/**
|
|
103
|
+
* If true, screen readers will announce it as a required field. This property
|
|
104
|
+
* works only for accessibility purposes, it will not prevent the form from
|
|
105
|
+
* submitting if the value is invalid.
|
|
106
|
+
*/
|
|
107
|
+
this.required = false;
|
|
108
|
+
this.onClick = (ev) => {
|
|
109
|
+
const target = ev.target;
|
|
110
|
+
const closestSlot = target.closest('[slot="start"], [slot="end"]');
|
|
111
|
+
if (target === this.el || closestSlot === null) {
|
|
112
|
+
this.setFocus();
|
|
113
|
+
this.open(ev);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
/**
|
|
117
|
+
* Prevent clicks to the start/end slots from opening the select.
|
|
118
|
+
* We ensure the target isn't this element in case the select is slotted
|
|
119
|
+
* in, for example, an item. This would prevent the select from ever
|
|
120
|
+
* being opened since the element itself has slot="start"/"end".
|
|
121
|
+
*
|
|
122
|
+
* Clicking a slotted element also causes a click
|
|
123
|
+
* on the <label> element (since it wraps the slots).
|
|
124
|
+
* Clicking <label> dispatches another click event on
|
|
125
|
+
* the native form control that then bubbles up to this
|
|
126
|
+
* listener. This additional event targets the host
|
|
127
|
+
* element, so the select overlay is opened.
|
|
128
|
+
*
|
|
129
|
+
* When the slotted elements are clicked (and therefore
|
|
130
|
+
* the ancestor <label> element) we want to prevent the label
|
|
131
|
+
* from dispatching another click event.
|
|
132
|
+
*
|
|
133
|
+
* Do not call stopPropagation() because this will cause
|
|
134
|
+
* click handlers on the slotted elements to never fire in React.
|
|
135
|
+
* When developers do onClick in React a native "click" listener
|
|
136
|
+
* is added on the root element, not the slotted element. When that
|
|
137
|
+
* native click listener fires, React then dispatches the synthetic
|
|
138
|
+
* click event on the slotted element. However, if stopPropagation
|
|
139
|
+
* is called then the native click event will never bubble up
|
|
140
|
+
* to the root element.
|
|
141
|
+
*/
|
|
142
|
+
ev.preventDefault();
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
this.onFocus = () => {
|
|
146
|
+
this.hasFocus = true;
|
|
147
|
+
this.ionFocus.emit();
|
|
148
|
+
};
|
|
149
|
+
this.onBlur = () => {
|
|
150
|
+
this.hasFocus = false;
|
|
151
|
+
this.ionBlur.emit();
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Stops propagation for re-dispatched clicks (when already expanded) to
|
|
155
|
+
* prevent double-click events. Allows initial button clicks (from keyboard
|
|
156
|
+
* or mouse) and slotted content clicks to propagate so event delegation
|
|
157
|
+
* works for parent handlers.
|
|
158
|
+
*/
|
|
159
|
+
this.onLabelClick = (ev) => {
|
|
160
|
+
if (ev.target === this.focusEl && this.isExpanded) {
|
|
161
|
+
ev.stopPropagation();
|
|
162
|
+
}
|
|
163
|
+
};
|
|
39
164
|
}
|
|
40
|
-
inputId = `ion-sel-${selectIds++}`;
|
|
41
|
-
helperTextId = `${this.inputId}-helper-text`;
|
|
42
|
-
errorTextId = `${this.inputId}-error-text`;
|
|
43
|
-
overlay;
|
|
44
|
-
focusEl;
|
|
45
|
-
mutationO;
|
|
46
|
-
inheritedAttributes = {};
|
|
47
|
-
slotMutationController;
|
|
48
|
-
nativeWrapperEl;
|
|
49
|
-
notchSpacerEl;
|
|
50
|
-
validationObserver;
|
|
51
|
-
notchController;
|
|
52
|
-
startContainerController;
|
|
53
|
-
startContainerEl;
|
|
54
|
-
customHTMLEnabled = index.config.get('innerHTMLTemplatesEnabled', config.ENABLE_HTML_CONTENT_DEFAULT);
|
|
55
|
-
get el() { return index.getElement(this); }
|
|
56
|
-
isExpanded = false;
|
|
57
|
-
/**
|
|
58
|
-
* The `hasFocus` state ensures the focus class is
|
|
59
|
-
* added regardless of how the element is focused.
|
|
60
|
-
* The `ion-focused` class only applies when focused
|
|
61
|
-
* via tabbing, not by clicking.
|
|
62
|
-
* The `has-focus` logic was added to ensure the class
|
|
63
|
-
* is applied in both cases.
|
|
64
|
-
*/
|
|
65
|
-
hasFocus = false;
|
|
66
|
-
/**
|
|
67
|
-
* Track validation state for proper aria-live announcements.
|
|
68
|
-
*/
|
|
69
|
-
isInvalid = false;
|
|
70
|
-
hintTextId;
|
|
71
|
-
/**
|
|
72
|
-
* The text to display on the cancel button.
|
|
73
|
-
*/
|
|
74
|
-
cancelText = 'Cancel';
|
|
75
|
-
/**
|
|
76
|
-
* The color to use from your application's color palette.
|
|
77
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
78
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
79
|
-
*
|
|
80
|
-
* This property is only available when using the modern select syntax.
|
|
81
|
-
*/
|
|
82
|
-
color;
|
|
83
|
-
/**
|
|
84
|
-
* This property allows developers to specify a custom function or property
|
|
85
|
-
* name for comparing objects when determining the selected option in the
|
|
86
|
-
* ion-select. When not specified, the default behavior will use strict
|
|
87
|
-
* equality (===) for comparison.
|
|
88
|
-
*/
|
|
89
|
-
compareWith;
|
|
90
|
-
/**
|
|
91
|
-
* If `true`, the user cannot interact with the select.
|
|
92
|
-
*/
|
|
93
|
-
disabled = false;
|
|
94
|
-
/**
|
|
95
|
-
* The fill for the item. If `"solid"` the item will have a background. If
|
|
96
|
-
* `"outline"` the item will be transparent with a border. Only available in `md` mode.
|
|
97
|
-
*/
|
|
98
|
-
fill;
|
|
99
|
-
/**
|
|
100
|
-
* Text that is placed under the select and displayed when an error is detected.
|
|
101
|
-
*/
|
|
102
|
-
errorText;
|
|
103
|
-
/**
|
|
104
|
-
* Text that is placed under the select and displayed when no error is detected.
|
|
105
|
-
*/
|
|
106
|
-
helperText;
|
|
107
|
-
/**
|
|
108
|
-
* The interface the select should use: `action-sheet`, `popover`, `alert`, or `modal`.
|
|
109
|
-
*/
|
|
110
|
-
interface = 'alert';
|
|
111
|
-
/**
|
|
112
|
-
* Any additional options that the `alert`, `action-sheet` or `popover` interface
|
|
113
|
-
* can take. See the [ion-alert docs](./alert), the
|
|
114
|
-
* [ion-action-sheet docs](./action-sheet), the
|
|
115
|
-
* [ion-popover docs](./popover), and the [ion-modal docs](./modal) for the
|
|
116
|
-
* create options for each interface.
|
|
117
|
-
*
|
|
118
|
-
* Note: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface.
|
|
119
|
-
*/
|
|
120
|
-
interfaceOptions = {};
|
|
121
|
-
/**
|
|
122
|
-
* How to pack the label and select within a line.
|
|
123
|
-
* `justify` does not apply when the label and select
|
|
124
|
-
* are on different lines when `labelPlacement` is set to
|
|
125
|
-
* `"floating"` or `"stacked"`.
|
|
126
|
-
* `"start"`: The label and select will appear on the left in LTR and
|
|
127
|
-
* on the right in RTL.
|
|
128
|
-
* `"end"`: The label and select will appear on the right in LTR and
|
|
129
|
-
* on the left in RTL.
|
|
130
|
-
* `"space-between"`: The label and select will appear on opposite
|
|
131
|
-
* ends of the line with space between the two elements.
|
|
132
|
-
*/
|
|
133
|
-
justify;
|
|
134
|
-
/**
|
|
135
|
-
* The visible label associated with the select.
|
|
136
|
-
*
|
|
137
|
-
* Use this if you need to render a plaintext label.
|
|
138
|
-
*
|
|
139
|
-
* The `label` property will take priority over the `label` slot if both are used.
|
|
140
|
-
*/
|
|
141
|
-
label;
|
|
142
|
-
/**
|
|
143
|
-
* Where to place the label relative to the select.
|
|
144
|
-
* `"start"`: The label will appear to the left of the select in LTR and to the right in RTL.
|
|
145
|
-
* `"end"`: The label will appear to the right of the select in LTR and to the left in RTL.
|
|
146
|
-
* `"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.
|
|
147
|
-
* `"stacked"`: The label will appear smaller and above the select regardless even when the select is blurred or has no value.
|
|
148
|
-
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
149
|
-
* When using `"floating"` or `"stacked"` we recommend initializing the select with either a `value` or a `placeholder`.
|
|
150
|
-
*/
|
|
151
|
-
labelPlacement = 'start';
|
|
152
|
-
/**
|
|
153
|
-
* If `true`, the select can accept multiple values.
|
|
154
|
-
*/
|
|
155
|
-
multiple = false;
|
|
156
|
-
/**
|
|
157
|
-
* The name of the control, which is submitted with the form data.
|
|
158
|
-
*/
|
|
159
|
-
name = this.inputId;
|
|
160
|
-
/**
|
|
161
|
-
* The text to display on the ok button.
|
|
162
|
-
*/
|
|
163
|
-
okText = 'OK';
|
|
164
|
-
/**
|
|
165
|
-
* The text to display when the select is empty.
|
|
166
|
-
*/
|
|
167
|
-
placeholder;
|
|
168
|
-
/**
|
|
169
|
-
* The text to display instead of the selected option's value.
|
|
170
|
-
*/
|
|
171
|
-
selectedText;
|
|
172
|
-
/**
|
|
173
|
-
* The toggle icon to use. Defaults to `chevronExpand` for `ios` mode,
|
|
174
|
-
* or `caretDownSharp` for `md` mode.
|
|
175
|
-
*/
|
|
176
|
-
toggleIcon;
|
|
177
|
-
/**
|
|
178
|
-
* The toggle icon to show when the select is open. If defined, the icon
|
|
179
|
-
* rotation behavior in `md` mode will be disabled. If undefined, `toggleIcon`
|
|
180
|
-
* will be used for when the select is both open and closed.
|
|
181
|
-
*/
|
|
182
|
-
expandedIcon;
|
|
183
|
-
/**
|
|
184
|
-
* The shape of the select. If "round" it will have an increased border radius.
|
|
185
|
-
*/
|
|
186
|
-
shape;
|
|
187
|
-
/**
|
|
188
|
-
* The value of the select.
|
|
189
|
-
*/
|
|
190
|
-
value;
|
|
191
|
-
/**
|
|
192
|
-
* If true, screen readers will announce it as a required field. This property
|
|
193
|
-
* works only for accessibility purposes, it will not prevent the form from
|
|
194
|
-
* submitting if the value is invalid.
|
|
195
|
-
*/
|
|
196
|
-
required = false;
|
|
197
|
-
/**
|
|
198
|
-
* Emitted when the value has changed.
|
|
199
|
-
*
|
|
200
|
-
* This event will not emit when programmatically setting the `value` property.
|
|
201
|
-
*/
|
|
202
|
-
ionChange;
|
|
203
|
-
/**
|
|
204
|
-
* Emitted when the selection is cancelled.
|
|
205
|
-
*/
|
|
206
|
-
ionCancel;
|
|
207
|
-
/**
|
|
208
|
-
* Emitted when the overlay is dismissed.
|
|
209
|
-
*/
|
|
210
|
-
ionDismiss;
|
|
211
|
-
/**
|
|
212
|
-
* Emitted when the select has focus.
|
|
213
|
-
*/
|
|
214
|
-
ionFocus;
|
|
215
|
-
/**
|
|
216
|
-
* Emitted when the select loses focus.
|
|
217
|
-
*/
|
|
218
|
-
ionBlur;
|
|
219
|
-
/**
|
|
220
|
-
* Emitted when the styles change.
|
|
221
|
-
* @internal
|
|
222
|
-
*/
|
|
223
|
-
ionStyle;
|
|
224
165
|
styleChanged() {
|
|
225
166
|
this.emitStyle();
|
|
226
167
|
}
|
|
@@ -768,51 +709,6 @@ const Select = class {
|
|
|
768
709
|
};
|
|
769
710
|
this.ionStyle.emit(style);
|
|
770
711
|
}
|
|
771
|
-
onClick = (ev) => {
|
|
772
|
-
const target = ev.target;
|
|
773
|
-
const closestSlot = target.closest('[slot="start"], [slot="end"]');
|
|
774
|
-
if (target === this.el || closestSlot === null) {
|
|
775
|
-
this.setFocus();
|
|
776
|
-
this.open(ev);
|
|
777
|
-
}
|
|
778
|
-
else {
|
|
779
|
-
/**
|
|
780
|
-
* Prevent clicks to the start/end slots from opening the select.
|
|
781
|
-
* We ensure the target isn't this element in case the select is slotted
|
|
782
|
-
* in, for example, an item. This would prevent the select from ever
|
|
783
|
-
* being opened since the element itself has slot="start"/"end".
|
|
784
|
-
*
|
|
785
|
-
* Clicking a slotted element also causes a click
|
|
786
|
-
* on the <label> element (since it wraps the slots).
|
|
787
|
-
* Clicking <label> dispatches another click event on
|
|
788
|
-
* the native form control that then bubbles up to this
|
|
789
|
-
* listener. This additional event targets the host
|
|
790
|
-
* element, so the select overlay is opened.
|
|
791
|
-
*
|
|
792
|
-
* When the slotted elements are clicked (and therefore
|
|
793
|
-
* the ancestor <label> element) we want to prevent the label
|
|
794
|
-
* from dispatching another click event.
|
|
795
|
-
*
|
|
796
|
-
* Do not call stopPropagation() because this will cause
|
|
797
|
-
* click handlers on the slotted elements to never fire in React.
|
|
798
|
-
* When developers do onClick in React a native "click" listener
|
|
799
|
-
* is added on the root element, not the slotted element. When that
|
|
800
|
-
* native click listener fires, React then dispatches the synthetic
|
|
801
|
-
* click event on the slotted element. However, if stopPropagation
|
|
802
|
-
* is called then the native click event will never bubble up
|
|
803
|
-
* to the root element.
|
|
804
|
-
*/
|
|
805
|
-
ev.preventDefault();
|
|
806
|
-
}
|
|
807
|
-
};
|
|
808
|
-
onFocus = () => {
|
|
809
|
-
this.hasFocus = true;
|
|
810
|
-
this.ionFocus.emit();
|
|
811
|
-
};
|
|
812
|
-
onBlur = () => {
|
|
813
|
-
this.hasFocus = false;
|
|
814
|
-
this.ionBlur.emit();
|
|
815
|
-
};
|
|
816
712
|
renderLabel() {
|
|
817
713
|
const { label } = this;
|
|
818
714
|
return (index.h("div", { class: {
|
|
@@ -840,17 +736,6 @@ const Select = class {
|
|
|
840
736
|
get hasLabel() {
|
|
841
737
|
return this.label !== undefined || this.labelSlot !== null;
|
|
842
738
|
}
|
|
843
|
-
/**
|
|
844
|
-
* Stops propagation for re-dispatched clicks (when already expanded) to
|
|
845
|
-
* prevent double-click events. Allows initial button clicks (from keyboard
|
|
846
|
-
* or mouse) and slotted content clicks to propagate so event delegation
|
|
847
|
-
* works for parent handlers.
|
|
848
|
-
*/
|
|
849
|
-
onLabelClick = (ev) => {
|
|
850
|
-
if (ev.target === this.focusEl && this.isExpanded) {
|
|
851
|
-
ev.stopPropagation();
|
|
852
|
-
}
|
|
853
|
-
};
|
|
854
739
|
/**
|
|
855
740
|
* Renders the outline border with a notch for the label.
|
|
856
741
|
*/
|
|
@@ -1041,6 +926,7 @@ const Select = class {
|
|
|
1041
926
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
1042
927
|
}) }, index.h("label", { key: '15fd1f8e06510ae8472c621cf8cf90e51172e0be', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, hasOutlineFill && this.renderOutlineContainer(), index.h("div", { key: '7964e3d9351671899793b117896acdda25ec24c4', class: "select-start", part: "start", ref: (el) => (this.startContainerEl = el) }, index.h("slot", { key: 'aa309ef155c4025acfd7ed5739b5221c85097b36', name: "start" })), index.h("div", { key: '23d5a9dfea64a9d81b0b36d9426b15bed98901b9', class: "select-control", part: "control" }, this.renderLabel(), index.h("div", { key: '810da9fbfa8771e09b5fb768d64e5f04858b5833', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox(), !hasFloatingOrStackedLabel && this.renderSelectIcon())), index.h("div", { key: 'bf1c04704326ecfa14cf2e49bb76d3fb45beb08d', class: "select-end", part: "end" }, hasFloatingOrStackedLabel && this.renderSelectIcon(), index.h("slot", { key: '76a8bcaeefdcaa908aebd820d93171b08165cee3', name: "end" })), shouldRenderHighlight && index.h("div", { key: '55a9c417a82323a44e16328fd62a634d9d7c558b', class: "select-highlight" })), this.renderBottomContent()));
|
|
1043
928
|
}
|
|
929
|
+
get el() { return index.getElement(this); }
|
|
1044
930
|
static get watchers() { return {
|
|
1045
931
|
"disabled": [{
|
|
1046
932
|
"styleChanged": 0
|
|
@@ -1295,54 +1181,16 @@ const selectOptionCss = () => `:host{display:none}`;
|
|
|
1295
1181
|
const SelectOption = class {
|
|
1296
1182
|
constructor(hostRef) {
|
|
1297
1183
|
index.registerInstance(this, hostRef);
|
|
1184
|
+
this.inputId = `ion-selopt-${selectOptionIds++}`;
|
|
1185
|
+
/**
|
|
1186
|
+
* If `true`, the user cannot interact with the select option.
|
|
1187
|
+
*/
|
|
1188
|
+
this.disabled = false;
|
|
1298
1189
|
}
|
|
1299
|
-
inputId = `ion-selopt-${selectOptionIds++}`;
|
|
1300
|
-
get el() { return index.getElement(this); }
|
|
1301
|
-
/**
|
|
1302
|
-
* If `true`, the user cannot interact with the select option.
|
|
1303
|
-
*/
|
|
1304
|
-
disabled = false;
|
|
1305
|
-
/**
|
|
1306
|
-
* The text value of the option.
|
|
1307
|
-
*/
|
|
1308
|
-
value;
|
|
1309
|
-
/**
|
|
1310
|
-
* Text that is placed underneath the option text to provide additional details about the option.
|
|
1311
|
-
*/
|
|
1312
|
-
description;
|
|
1313
|
-
/**
|
|
1314
|
-
* Where the label is placed relative to the option's selection control
|
|
1315
|
-
* (radio circle or checkbox box) when the option is rendered in an
|
|
1316
|
-
* `alert`, `popover`, or `modal` interface.
|
|
1317
|
-
* `"start"`: The label will appear to the left of the radio in LTR and to the right in RTL.
|
|
1318
|
-
* `"end"`: The label will appear to the right of the radio in LTR and to the left in RTL.
|
|
1319
|
-
*
|
|
1320
|
-
* Applies to the `alert`, `popover`, and `modal` interfaces, but has no
|
|
1321
|
-
* visible effect on radio options in `popover` or `modal` on `md` (the radio control is hidden there).
|
|
1322
|
-
*
|
|
1323
|
-
* When unset, the interface picks a default based on mode and control
|
|
1324
|
-
* type.
|
|
1325
|
-
*/
|
|
1326
|
-
labelPlacement;
|
|
1327
|
-
/**
|
|
1328
|
-
* How to pack the label and the option's selection control within a line.
|
|
1329
|
-
* `"start"`: The label and radio will appear on the left in LTR and
|
|
1330
|
-
* on the right in RTL.
|
|
1331
|
-
* `"end"`: The label and radio will appear on the right in LTR and
|
|
1332
|
-
* on the left in RTL.
|
|
1333
|
-
* `"space-between"`: The label and radio will appear on opposite
|
|
1334
|
-
* ends of the line with space between the two elements.
|
|
1335
|
-
*
|
|
1336
|
-
* Applies to the `alert`, `popover`, and `modal` interfaces, but has no
|
|
1337
|
-
* visible effect on radio options in `popover` or `modal` on `md` (the radio control is hidden there).
|
|
1338
|
-
*
|
|
1339
|
-
* When unset, the interface picks a default based on mode and control
|
|
1340
|
-
* type.
|
|
1341
|
-
*/
|
|
1342
|
-
justify;
|
|
1343
1190
|
render() {
|
|
1344
1191
|
return index.h(index.Host, { key: '01275b5a613c4b065b24e0d939f611f6ed1fc9ee', role: "option", id: this.inputId, class: ionicGlobal.getIonMode(this) });
|
|
1345
1192
|
}
|
|
1193
|
+
get el() { return index.getElement(this); }
|
|
1346
1194
|
};
|
|
1347
1195
|
let selectOptionIds = 0;
|
|
1348
1196
|
SelectOption.style = selectOptionCss();
|
|
@@ -1354,32 +1202,15 @@ const selectPopoverMdCss = () => `.action-sheet-button-label-has-rich-content.sc
|
|
|
1354
1202
|
const SelectPopover = class {
|
|
1355
1203
|
constructor(hostRef) {
|
|
1356
1204
|
index.registerInstance(this, hostRef);
|
|
1205
|
+
// Tracks the option that received Enter-keydown so keyup only
|
|
1206
|
+
// dismisses when the press started on the same option. Prevents
|
|
1207
|
+
// Enter on the triggering ion-select from auto-dismissing.
|
|
1208
|
+
this.pendingEnterTarget = null;
|
|
1209
|
+
/**
|
|
1210
|
+
* An array of options for the popover
|
|
1211
|
+
*/
|
|
1212
|
+
this.options = [];
|
|
1357
1213
|
}
|
|
1358
|
-
get el() { return index.getElement(this); }
|
|
1359
|
-
// Tracks the option that received Enter-keydown so keyup only
|
|
1360
|
-
// dismisses when the press started on the same option. Prevents
|
|
1361
|
-
// Enter on the triggering ion-select from auto-dismissing.
|
|
1362
|
-
pendingEnterTarget = null;
|
|
1363
|
-
/**
|
|
1364
|
-
* The header text of the popover
|
|
1365
|
-
*/
|
|
1366
|
-
header;
|
|
1367
|
-
/**
|
|
1368
|
-
* The subheader text of the popover
|
|
1369
|
-
*/
|
|
1370
|
-
subHeader;
|
|
1371
|
-
/**
|
|
1372
|
-
* The text content of the popover body
|
|
1373
|
-
*/
|
|
1374
|
-
message;
|
|
1375
|
-
/**
|
|
1376
|
-
* If true, the select accepts multiple values
|
|
1377
|
-
*/
|
|
1378
|
-
multiple;
|
|
1379
|
-
/**
|
|
1380
|
-
* An array of options for the popover
|
|
1381
|
-
*/
|
|
1382
|
-
options = [];
|
|
1383
1214
|
findOptionFromEvent(ev) {
|
|
1384
1215
|
const { options } = this;
|
|
1385
1216
|
return options.find((o) => o.value === ev.target.value);
|
|
@@ -1525,6 +1356,7 @@ const SelectPopover = class {
|
|
|
1525
1356
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
1526
1357
|
return (index.h(index.Host, { key: '4b4ac4a4b6523147e7c1f5e29dd8043867f2baea', class: ionicGlobal.getIonMode(this) }, index.h("ion-list", { key: 'f700d3dc3ce68c20a4d981164b29262564097fb4' }, header !== undefined && index.h("ion-list-header", { key: '196bcd7963f13ef8bc46231545eee4cb8d526f5e' }, header), hasSubHeaderOrMessage && (index.h("ion-item", { key: 'bb108e0aa2409997df35f52cb67e58e55e0fd630' }, index.h("ion-label", { key: '59e8d9196ff976f3835766662654c0f085e58ec3', class: "ion-text-wrap" }, subHeader !== undefined && index.h("h3", { key: '532f75d7c129ffadca4e6cbb619a4427aaede65c' }, subHeader), message !== undefined && index.h("p", { key: 'fc42c91594b9001e983cb5e4176fc4c9bff0f708' }, message)))), this.renderOptions(options))));
|
|
1527
1358
|
}
|
|
1359
|
+
get el() { return index.getElement(this); }
|
|
1528
1360
|
};
|
|
1529
1361
|
SelectPopover.style = {
|
|
1530
1362
|
ios: selectPopoverIosCss(),
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-BrVMoqUk.js');
|
|
7
7
|
var theme = require('./theme-Bw0rpaNN.js');
|
|
8
|
-
var ionicGlobal = require('./ionic-global-
|
|
8
|
+
var ionicGlobal = require('./ionic-global-DvgIzM2F.js');
|
|
9
9
|
var spinnerConfigs = require('./spinner-configs-DxHKnd3-.js');
|
|
10
10
|
|
|
11
11
|
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}}`;
|
|
@@ -13,26 +13,11 @@ const spinnerCss = () => `:host{display:inline-block;position:relative;width:28p
|
|
|
13
13
|
const Spinner = class {
|
|
14
14
|
constructor(hostRef) {
|
|
15
15
|
index.registerInstance(this, hostRef);
|
|
16
|
+
/**
|
|
17
|
+
* If `true`, the spinner's animation will be paused.
|
|
18
|
+
*/
|
|
19
|
+
this.paused = false;
|
|
16
20
|
}
|
|
17
|
-
/**
|
|
18
|
-
* The color to use from your application's color palette.
|
|
19
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
20
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
21
|
-
*/
|
|
22
|
-
color;
|
|
23
|
-
/**
|
|
24
|
-
* Duration of the spinner animation in milliseconds. The default varies based on the spinner.
|
|
25
|
-
*/
|
|
26
|
-
duration;
|
|
27
|
-
/**
|
|
28
|
-
* The name of the SVG spinner to use. If a name is not provided, the platform's default
|
|
29
|
-
* spinner will be used.
|
|
30
|
-
*/
|
|
31
|
-
name;
|
|
32
|
-
/**
|
|
33
|
-
* If `true`, the spinner's animation will be paused.
|
|
34
|
-
*/
|
|
35
|
-
paused = false;
|
|
36
21
|
getName() {
|
|
37
22
|
const spinnerName = this.name || index.config.get('spinner');
|
|
38
23
|
const mode = ionicGlobal.getIonMode(this);
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var ionicGlobal = require('./ionic-global-
|
|
6
|
+
var index = require('./index-BrVMoqUk.js');
|
|
7
|
+
var ionicGlobal = require('./ionic-global-DvgIzM2F.js');
|
|
8
8
|
|
|
9
9
|
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%}`;
|
|
10
10
|
|
|
@@ -25,32 +25,18 @@ const SplitPane = class {
|
|
|
25
25
|
constructor(hostRef) {
|
|
26
26
|
index.registerInstance(this, hostRef);
|
|
27
27
|
this.ionSplitPaneVisible = index.createEvent(this, "ionSplitPaneVisible", 7);
|
|
28
|
+
this.visible = false;
|
|
29
|
+
/**
|
|
30
|
+
* If `true`, the split pane will be hidden.
|
|
31
|
+
*/
|
|
32
|
+
this.disabled = false;
|
|
33
|
+
/**
|
|
34
|
+
* When the split-pane should be shown.
|
|
35
|
+
* Can be a CSS media query expression, or a shortcut expression.
|
|
36
|
+
* Can also be a boolean expression.
|
|
37
|
+
*/
|
|
38
|
+
this.when = QUERY['lg'];
|
|
28
39
|
}
|
|
29
|
-
rmL;
|
|
30
|
-
get el() { return index.getElement(this); }
|
|
31
|
-
visible = false;
|
|
32
|
-
/**
|
|
33
|
-
* The `id` of the main content. When using
|
|
34
|
-
* a router this is typically `ion-router-outlet`.
|
|
35
|
-
* When not using a router, this is typically
|
|
36
|
-
* your main view's `ion-content`. This is not the
|
|
37
|
-
* id of the `ion-content` inside of your `ion-menu`.
|
|
38
|
-
*/
|
|
39
|
-
contentId;
|
|
40
|
-
/**
|
|
41
|
-
* If `true`, the split pane will be hidden.
|
|
42
|
-
*/
|
|
43
|
-
disabled = false;
|
|
44
|
-
/**
|
|
45
|
-
* When the split-pane should be shown.
|
|
46
|
-
* Can be a CSS media query expression, or a shortcut expression.
|
|
47
|
-
* Can also be a boolean expression.
|
|
48
|
-
*/
|
|
49
|
-
when = QUERY['lg'];
|
|
50
|
-
/**
|
|
51
|
-
* Expression to be called when the split-pane visibility has changed
|
|
52
|
-
*/
|
|
53
|
-
ionSplitPaneVisible;
|
|
54
40
|
visibleChanged(visible) {
|
|
55
41
|
this.ionSplitPaneVisible.emit({ visible });
|
|
56
42
|
}
|
|
@@ -149,6 +135,7 @@ const SplitPane = class {
|
|
|
149
135
|
'split-pane-visible': this.visible,
|
|
150
136
|
} }, index.h("slot", { key: '9eac85f4c4e33ec00e8e16e2679f5975d7652452' })));
|
|
151
137
|
}
|
|
138
|
+
get el() { return index.getElement(this); }
|
|
152
139
|
static get watchers() { return {
|
|
153
140
|
"visible": [{
|
|
154
141
|
"visibleChanged": 0
|