voyager-ionic-core 8.8.17 → 9.0.1
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-1sJ0ZDPe.js +4 -0
- package/components/p-5ldEpNdG.js +4 -0
- package/components/p-6ZLn6K5e.js +4 -0
- package/components/p-B4lxwJ8N.js +4 -0
- package/components/{p-rCa2eL0j.js → p-BF48Oc0v.js} +1 -1
- package/components/p-BJr2B5hZ.js +4 -0
- package/components/p-BMPN55of.js +4 -0
- package/components/p-BNBnVi_1.js +4 -0
- package/components/{p-ChIZKXUu.js → p-BQyuFxYc.js} +1 -1
- package/components/p-BSQPZ79H.js +4 -0
- package/components/p-BT9-hMMz.js +4 -0
- package/components/p-BWoa-cki.js +4 -0
- package/components/p-BYJRZKHa.js +4 -0
- package/components/p-B_gJaBk0.js +4 -0
- package/components/p-BgkOsq-d.js +4 -0
- package/components/p-BhamHSw3.js +4 -0
- package/components/p-Bi-it1EH.js +4 -0
- package/components/p-C-NbvXu4.js +4 -0
- package/components/p-C0493tbX.js +4 -0
- package/components/p-C09TXohi.js +4 -0
- package/components/p-C4VpVfrJ.js +4 -0
- package/components/p-CEW4RXZO.js +4 -0
- package/components/p-CG_zZq_I.js +4 -0
- package/components/{p-B9jFTlwE.js → p-CJgnoKcN.js} +1 -1
- package/components/p-CMRYD_yR.js +4 -0
- package/components/{p-BMI53wYL.js → p-CNLioZ3B.js} +1 -1
- package/components/{p--JUspHvy.js → p-COO0eJOA.js} +1 -1
- package/components/p-CWAks_S_.js +4 -0
- package/{dist/ionic/p-KjNvRoEp.js → components/p-Cd1WaN-0.js} +1 -1
- package/components/p-CqbGBmqb.js +4 -0
- package/components/p-CrAKlX71.js +4 -0
- package/components/p-Cw6WocLJ.js +4 -0
- package/components/p-D0YpjgON.js +4 -0
- package/components/{p-DJZp0KTQ.js → p-D5w_FlVa.js} +1 -1
- package/components/p-D7-vHX0A.js +4 -0
- package/components/p-D7wDJdFn.js +4 -0
- package/components/p-DFLJvuRK.js +4 -0
- package/components/p-DGPjJNOU.js +4 -0
- package/components/p-DJR0R0e1.js +4 -0
- package/components/p-DL13ieTa.js +4 -0
- package/components/{p-DqLB8yFQ.js → p-DM1gJSMP.js} +1 -1
- package/components/p-DMBiAyOR.js +4 -0
- package/components/p-DWCzVL3Y.js +4 -0
- package/components/p-DZRZic9C.js +4 -0
- package/components/{p-C_hpsif8.js → p-DhNuxvJH.js} +1 -1
- package/components/p-DiuOa1vw.js +4 -0
- package/components/p-Dj40C8gm.js +4 -0
- package/components/p-Djmz-ssp.js +4 -0
- package/components/p-DnBNYc7u.js +4 -0
- package/components/p-DngGb-NV.js +4 -0
- package/components/p-Dojwmvde.js +4 -0
- package/components/p-DwSXbQSz.js +4 -0
- package/components/p-DxhHlJln.js +4 -0
- package/components/{p-DqZAXv2t.js → p-GGbIHyEF.js} +1 -1
- package/components/{p-j5IxBIan.js → p-Hp8t4RMX.js} +1 -1
- package/components/p-M34T2gyX.js +4 -0
- package/components/p-TWw4e4sO.js +4 -0
- package/components/{p-Cfx4M1Bn.js → p-YjMkHuvH.js} +1 -1
- package/components/p-byZM6qHV.js +4 -0
- package/components/p-cEN43Ahr.js +4 -0
- package/components/p-qAXsfUff.js +4 -0
- package/dist/cjs/{animation-BJq0kcy2.js → animation-Kd1N7WTN.js} +4 -4
- package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-b1G4t26O.js} +1 -1
- package/dist/cjs/{button-active-0mPOKmV2.js → button-active-CQCFubJJ.js} +3 -3
- package/dist/cjs/config-CjUbvdPW.js +36 -0
- package/dist/cjs/dir-zwDPRE5K.js +30 -0
- package/dist/cjs/{format-PxvGiOik.js → format-bHU8N1g5.js} +40 -30
- package/dist/cjs/{framework-delegate-BtICZDHr.js → framework-delegate-d-fWfeI6.js} +5 -7
- package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-CeJslptU.js} +1 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-Ch-X4gRx.js} +2 -3
- package/dist/cjs/{hardware-back-button-iUuF_76h.js → hardware-back-button-Bu4Dzw8l.js} +4 -4
- package/dist/cjs/{helpers-Cv23MFHM.js → helpers-7wzdhdeg.js} +15 -11
- package/dist/cjs/index-BbqUBe2T.js +429 -0
- package/dist/cjs/{index-D81eLYUM.js → index-C74Q3t6a.js} +3 -2
- package/dist/cjs/{index-BERfRao3.js → index-CQfEIyLK.js} +5 -5
- package/dist/cjs/{index-aC4x3Fk3.js → index-DFNrCX7M.js} +6 -7
- package/dist/cjs/{index-CAvQ7Tka.js → index-DRPqwSvU.js} +13 -30
- package/dist/cjs/{index-Ct7gcRif.js → index-DXoo08JC.js} +321 -26
- package/dist/cjs/{index-CIrkNXqJ.js → index-DtvKGwdh.js} +34 -2
- package/dist/cjs/{index-DqmRDbxg.js → index-wOmugbdg.js} +1 -1
- package/dist/cjs/index.cjs.js +19 -18
- package/dist/cjs/{input-shims-CFLg7uzj.js → input-shims-VJIiKBKv.js} +10 -11
- package/dist/cjs/input.utils-EHVE2RK_.js +35 -0
- package/dist/cjs/ion-accordion_2.cjs.entry.js +12 -12
- package/dist/cjs/ion-action-sheet.cjs.entry.js +92 -44
- package/dist/cjs/ion-alert.cjs.entry.js +144 -65
- package/dist/cjs/ion-app_8.cjs.entry.js +112 -40
- package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-back-button.cjs.entry.js +6 -5
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +8 -7
- package/dist/cjs/ion-button_2.cjs.entry.js +12 -8
- package/dist/cjs/ion-card_5.cjs.entry.js +6 -5
- package/dist/cjs/ion-checkbox.cjs.entry.js +10 -7
- package/dist/cjs/ion-chip.cjs.entry.js +3 -3
- package/dist/cjs/ion-col_3.cjs.entry.js +10 -6
- package/dist/cjs/ion-datetime-button.cjs.entry.js +22 -25
- package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +182 -746
- package/dist/cjs/ion-fab_3.cjs.entry.js +7 -6
- package/dist/cjs/ion-img.cjs.entry.js +7 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +8 -6
- package/dist/cjs/ion-input-otp.cjs.entry.js +20 -29
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -10
- package/dist/cjs/ion-input.cjs.entry.js +58 -70
- package/dist/cjs/ion-item-option_3.cjs.entry.js +21 -24
- package/dist/cjs/ion-item_8.cjs.entry.js +38 -34
- package/dist/cjs/ion-loading.cjs.entry.js +29 -15
- package/dist/cjs/ion-menu_3.cjs.entry.js +23 -24
- package/dist/cjs/ion-modal.cjs.entry.js +283 -161
- package/dist/cjs/ion-nav_2.cjs.entry.js +30 -138
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -13
- package/dist/cjs/ion-picker-column.cjs.entry.js +218 -62
- package/dist/cjs/ion-picker.cjs.entry.js +4 -4
- package/dist/cjs/ion-popover.cjs.entry.js +50 -30
- package/dist/cjs/ion-progress-bar.cjs.entry.js +6 -5
- package/dist/cjs/ion-radio_2.cjs.entry.js +12 -11
- package/dist/cjs/ion-range.cjs.entry.js +30 -25
- package/dist/cjs/ion-refresher_2.cjs.entry.js +34 -26
- package/dist/cjs/ion-reorder_2.cjs.entry.js +10 -9
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +36 -30
- package/dist/cjs/ion-searchbar.cjs.entry.js +27 -22
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +5 -6
- package/dist/cjs/ion-segment_2.cjs.entry.js +30 -26
- package/dist/cjs/ion-select-modal.cjs.entry.js +93 -38
- package/dist/cjs/ion-select_3.cjs.entry.js +495 -126
- package/dist/cjs/ion-spinner.cjs.entry.js +5 -6
- package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +15 -12
- package/dist/cjs/ion-tab_2.cjs.entry.js +8 -8
- package/dist/cjs/ion-text.cjs.entry.js +5 -5
- package/dist/cjs/ion-textarea.cjs.entry.js +56 -65
- package/dist/cjs/ion-toast.cjs.entry.js +26 -21
- package/dist/cjs/ion-toggle.cjs.entry.js +15 -13
- package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CYJNT-2P.js} +13 -8
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-BOSWOaiK.js → ios.transition-DYGiD6gM.js} +14 -17
- package/dist/cjs/{item-multiple-inputs-D-gyg57c.js → item-multiple-inputs-Dv6qrMhm.js} +1 -1
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Cix5TVkD.js} +2 -2
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-cHxZlTyz.js} +2 -2
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-PtZoN2GS.js} +6 -6
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-B8-wBZqt.js → md.transition-CrSkaoz6.js} +8 -8
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-DdtIYQUH.js → overlays-BR21NUIG.js} +98 -58
- package/dist/cjs/select-option-render-CrbLc-1j.js +123 -0
- package/dist/cjs/slot-mutation-controller-D6IjSEIh.js +397 -0
- package/dist/cjs/{status-tap-BXX8H8_Y.js → status-tap-CNP5eD1R.js} +4 -3
- package/dist/cjs/{swipe-back-CCMaNiP2.js → swipe-back-CSIJQfu5.js} +5 -5
- package/dist/cjs/{theme-CeDs6Hcv.js → theme-Bw0rpaNN.js} +6 -1
- package/dist/collection/collection-manifest.json +7 -11
- package/dist/collection/components/accordion/accordion.js +5 -6
- package/dist/collection/components/accordion-group/accordion-group.js +2 -2
- package/dist/collection/components/action-sheet/action-sheet.ios.css +228 -2
- package/dist/collection/components/action-sheet/action-sheet.js +77 -31
- package/dist/collection/components/action-sheet/action-sheet.md.css +174 -2
- package/dist/collection/components/alert/alert.ios.css +279 -10
- package/dist/collection/components/alert/alert.js +127 -50
- package/dist/collection/components/alert/alert.md.css +268 -20
- package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
- package/dist/collection/components/button/button.js +5 -2
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/checkbox/checkbox.js +4 -2
- package/dist/collection/components/col/col.js +7 -3
- package/dist/collection/components/content/content.js +56 -6
- package/dist/collection/components/datetime/datetime.ios.css +42 -2
- package/dist/collection/components/datetime/datetime.js +146 -77
- package/dist/collection/components/datetime/datetime.md.css +42 -1
- package/dist/collection/components/datetime/utils/data.js +13 -14
- package/dist/collection/components/datetime/utils/format.js +21 -11
- package/dist/collection/components/datetime/utils/manipulation.js +8 -8
- package/dist/collection/components/datetime/utils/parse.js +10 -10
- package/dist/collection/components/datetime/utils/state.js +8 -2
- package/dist/collection/components/datetime/utils/validate.js +4 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
- package/dist/collection/components/datetime-button/datetime-button.js +15 -20
- package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
- package/dist/collection/components/fab-button/fab-button.js +1 -1
- package/dist/collection/components/footer/footer.js +1 -1
- package/dist/collection/components/header/header.js +2 -2
- package/dist/collection/components/img/img.js +6 -1
- package/dist/collection/components/input/input.ios.css +57 -26
- package/dist/collection/components/input/input.js +51 -64
- package/dist/collection/components/input/input.md.css +79 -43
- package/dist/collection/components/input-otp/input-otp.js +15 -24
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +5 -6
- package/dist/collection/components/item/item.js +19 -16
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +12 -16
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/list/list.js +2 -2
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +17 -5
- package/dist/collection/components/menu/menu.js +6 -8
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/animations/ios.enter.js +1 -1
- package/dist/collection/components/modal/animations/md.enter.js +1 -1
- package/dist/collection/components/modal/gestures/sheet.js +42 -34
- package/dist/collection/components/modal/gestures/swipe-to-close.js +18 -35
- package/dist/collection/components/modal/gestures/utils.js +17 -0
- package/dist/collection/components/modal/modal.js +146 -65
- package/dist/collection/components/modal/safe-area-utils.js +39 -5
- package/dist/collection/components/nav/nav.js +24 -235
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker/picker.js +1 -2
- package/dist/collection/components/picker-column/picker-column.css +3 -0
- package/dist/collection/components/picker-column/picker-column.js +212 -58
- package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
- package/dist/collection/components/popover/animations/ios.enter.js +1 -2
- package/dist/collection/components/popover/animations/md.enter.js +1 -2
- package/dist/collection/components/popover/popover.ios.css +15 -0
- package/dist/collection/components/popover/popover.js +32 -9
- package/dist/collection/components/popover/popover.md.css +15 -0
- package/dist/collection/components/popover/utils.js +4 -6
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +5 -5
- package/dist/collection/components/radio-group/radio-group.js +2 -2
- package/dist/collection/components/range/range.js +24 -19
- package/dist/collection/components/refresher/refresher.js +19 -13
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/route/route.js +1 -1
- package/dist/collection/components/router/router.js +2 -6
- package/dist/collection/components/router/utils/dom.js +25 -7
- package/dist/collection/components/router/utils/matching.js +6 -9
- package/dist/collection/components/router/utils/parser.js +1 -1
- package/dist/collection/components/router/utils/path.js +0 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +49 -10
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +25 -20
- package/dist/collection/components/segment/segment.js +9 -11
- package/dist/collection/components/segment-button/segment-button.js +15 -9
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +3 -4
- package/dist/collection/components/select/select.ios.css +96 -69
- package/dist/collection/components/select/select.js +405 -92
- package/dist/collection/components/select/select.md.css +118 -85
- package/dist/collection/components/select-modal/select-modal.ios.css +218 -0
- package/dist/collection/components/select-modal/select-modal.js +80 -27
- package/dist/collection/components/select-modal/select-modal.md.css +164 -0
- package/dist/collection/components/select-option/select-option.js +67 -3
- package/dist/collection/components/select-popover/select-popover.ios.css +218 -0
- package/dist/collection/components/select-popover/select-popover.js +78 -26
- package/dist/collection/components/select-popover/select-popover.md.css +164 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +2 -3
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +6 -4
- package/dist/collection/components/tabs/tabs.js +2 -3
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.ios.css +94 -62
- package/dist/collection/components/textarea/textarea.js +47 -57
- package/dist/collection/components/textarea/textarea.md.css +103 -77
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +12 -9
- package/dist/collection/components/toggle/toggle.js +6 -4
- package/dist/collection/components/toolbar/toolbar.js +7 -4
- package/dist/collection/global/config.js +3 -3
- package/dist/collection/global/ionic-global.js +8 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/animation/animation.js +3 -3
- package/dist/collection/utils/config.js +5 -4
- package/dist/collection/utils/content/index.js +30 -0
- package/dist/collection/utils/focus-controller/index.js +1 -1
- package/dist/collection/utils/focus-trap.js +3 -3
- package/dist/collection/utils/forms/index.js +1 -0
- package/dist/collection/utils/forms/start-container-controller.js +132 -0
- package/dist/collection/utils/framework-delegate.js +4 -6
- package/dist/collection/utils/gesture/gesture-controller.js +1 -2
- package/dist/collection/utils/gesture/index.js +10 -2
- package/dist/collection/utils/gesture/listener.js +4 -27
- package/dist/collection/utils/hardware-back-button.js +3 -3
- package/dist/collection/utils/helpers.js +14 -10
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +4 -5
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
- package/dist/collection/utils/keyboard/keyboard-controller.js +5 -5
- package/dist/collection/utils/keyboard/keyboard.js +1 -1
- package/dist/collection/utils/logging/index.js +23 -4
- package/dist/collection/utils/menu-controller/index.js +1 -2
- package/dist/collection/utils/native/haptic.js +2 -3
- package/dist/collection/utils/native/keyboard.js +2 -2
- package/dist/collection/utils/native/status-bar.js +1 -1
- package/dist/collection/utils/overlay-control-label.js +45 -0
- package/dist/collection/utils/overlays.js +87 -48
- package/dist/collection/utils/platform.js +4 -5
- package/dist/collection/utils/rtl/dir.js +17 -7
- package/dist/collection/utils/sanitization/index.js +275 -20
- package/dist/collection/utils/select-option-render.js +118 -0
- package/dist/collection/utils/slot-mutation-controller.js +1 -2
- package/dist/collection/utils/test/late-props/late-props.js +69 -0
- package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
- package/dist/collection/utils/test/playwright/detach-reattach.js +23 -0
- package/dist/collection/utils/test/playwright/drag-element.js +2 -3
- package/dist/collection/utils/test/playwright/generator.js +3 -4
- package/dist/collection/utils/test/playwright/index.js +1 -0
- package/dist/collection/utils/test/playwright/page/event-spy.js +2 -4
- package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -5
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
- package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
- package/dist/collection/utils/test/press-keys.js +6 -16
- package/dist/collection/utils/theme.js +6 -1
- package/dist/collection/utils/transition/ios.transition.js +9 -13
- package/dist/collection/utils/transition/md.transition.js +3 -4
- package/dist/docs.json +933 -1402
- package/dist/esm/{animation-DLJpuoEz.js → animation-BFNVlYum.js} +4 -4
- package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-BgX0BGL1.js} +1 -1
- package/dist/esm/{button-active-BSpTQmS9.js → button-active-BfOvDr3b.js} +3 -3
- package/dist/esm/config-DWCzVL3Y.js +32 -0
- package/dist/esm/dir-Dojwmvde.js +28 -0
- package/dist/esm/{format-CAmvpAez.js → format-DDFE9jM5.js} +41 -31
- package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-BwNhx9NR.js} +5 -7
- package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-B_gJaBk0.js} +1 -2
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-Cq4UAeka.js} +2 -3
- package/dist/esm/{hardware-back-button-B93Gru0Y.js → hardware-back-button-DmkiRgOT.js} +4 -4
- package/dist/esm/{helpers-HEqiOzXb.js → helpers-BSmc0nst.js} +15 -11
- package/dist/esm/{index-CfgBF1SE.js → index-BmLuEdV7.js} +13 -30
- package/dist/esm/{index-Q6UPU0Ay.js → index-BuPaALjU.js} +6 -7
- package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
- package/dist/esm/{index-MEDq2S8l.js → index-C1b9CLFg.js} +33 -3
- package/dist/esm/{index-tcQvqkiX.js → index-C23AVPx9.js} +303 -26
- package/dist/esm/{index-BRHzoo00.js → index-CJln0gS3.js} +3 -2
- package/dist/esm/index-CqoUoxgG.js +423 -0
- package/dist/esm/{index-B_dQk_WE.js → index-DnA_7Bnx.js} +5 -5
- package/dist/esm/index.js +17 -15
- package/dist/esm/{input-shims-D10mwcw1.js → input-shims-Dqk-Ou25.js} +10 -11
- package/dist/esm/input.utils-rqoH22pW.js +33 -0
- package/dist/esm/ion-accordion_2.entry.js +12 -12
- package/dist/esm/ion-action-sheet.entry.js +92 -44
- package/dist/esm/ion-alert.entry.js +143 -64
- package/dist/esm/ion-app_8.entry.js +112 -40
- package/dist/esm/ion-avatar_3.entry.js +4 -4
- package/dist/esm/ion-back-button.entry.js +6 -5
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +8 -7
- package/dist/esm/ion-button_2.entry.js +12 -8
- package/dist/esm/ion-card_5.entry.js +6 -5
- package/dist/esm/ion-checkbox.entry.js +10 -7
- package/dist/esm/ion-chip.entry.js +3 -3
- package/dist/esm/ion-col_3.entry.js +10 -6
- package/dist/esm/ion-datetime-button.entry.js +22 -25
- package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +183 -745
- package/dist/esm/ion-fab_3.entry.js +7 -6
- package/dist/esm/ion-img.entry.js +7 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +7 -5
- package/dist/esm/ion-input-otp.entry.js +20 -29
- package/dist/esm/ion-input-password-toggle.entry.js +9 -10
- package/dist/esm/ion-input.entry.js +56 -68
- package/dist/esm/ion-item-option_3.entry.js +21 -24
- package/dist/esm/ion-item_8.entry.js +38 -34
- package/dist/esm/ion-loading.entry.js +28 -14
- package/dist/esm/ion-menu_3.entry.js +23 -24
- package/dist/esm/ion-modal.entry.js +271 -149
- package/dist/esm/ion-nav_2.entry.js +30 -138
- package/dist/esm/ion-picker-column-option.entry.js +8 -13
- package/dist/esm/ion-picker-column.entry.js +218 -62
- package/dist/esm/ion-picker.entry.js +4 -4
- package/dist/esm/ion-popover.entry.js +50 -30
- package/dist/esm/ion-progress-bar.entry.js +6 -5
- package/dist/esm/ion-radio_2.entry.js +12 -11
- package/dist/esm/ion-range.entry.js +30 -25
- package/dist/esm/ion-refresher_2.entry.js +32 -24
- package/dist/esm/ion-reorder_2.entry.js +10 -9
- package/dist/esm/ion-ripple-effect.entry.js +3 -3
- package/dist/esm/ion-route_4.entry.js +36 -30
- package/dist/esm/ion-searchbar.entry.js +27 -22
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +5 -6
- package/dist/esm/ion-segment_2.entry.js +30 -26
- package/dist/esm/ion-select-modal.entry.js +93 -38
- package/dist/esm/ion-select_3.entry.js +495 -126
- package/dist/esm/ion-spinner.entry.js +5 -6
- package/dist/esm/ion-split-pane.entry.js +4 -4
- package/dist/esm/ion-tab-bar_2.entry.js +15 -12
- package/dist/esm/ion-tab_2.entry.js +8 -8
- package/dist/esm/ion-text.entry.js +5 -5
- package/dist/esm/ion-textarea.entry.js +55 -64
- package/dist/esm/ion-toast.entry.js +25 -20
- package/dist/esm/ion-toggle.entry.js +15 -13
- package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-ZXjCXKH0.js} +13 -8
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-CWAgfQ1r.js} +14 -17
- package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-DZnIiOO_.js} +1 -1
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-Cj8mLJeq.js} +2 -2
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DAF8GNJ9.js} +2 -2
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-DEwoa1ev.js} +6 -6
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-D0msQmzI.js → md.transition-ZuqDDdDW.js} +8 -8
- package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DKE0DgvE.js} +97 -58
- package/dist/esm/select-option-render-1W6W9pbC.js +121 -0
- package/dist/esm/slot-mutation-controller-B5NpUZ-N.js +393 -0
- package/dist/esm/{status-tap-Kan2W7sh.js → status-tap-Cv9gb3ja.js} +4 -3
- package/dist/esm/{swipe-back-ZUWwA-KF.js → swipe-back-De5HlmeM.js} +5 -5
- package/dist/esm/{theme-DiVJyqlX.js → theme-byZM6qHV.js} +6 -1
- package/dist/html.html-data.json +54 -82
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-06c6b540.entry.js +4 -0
- package/dist/ionic/p-099b7f9f.entry.js +4 -0
- package/dist/ionic/p-0dcb7bb6.entry.js +4 -0
- package/dist/ionic/p-1347880c.entry.js +4 -0
- package/dist/ionic/p-191a651e.entry.js +4 -0
- package/dist/ionic/p-1f24cb24.entry.js +4 -0
- package/dist/ionic/p-271c3640.entry.js +4 -0
- package/dist/ionic/p-2c52fe3e.entry.js +4 -0
- package/dist/ionic/p-2ea4bb36.entry.js +4 -0
- package/dist/ionic/p-338a02e0.entry.js +4 -0
- package/dist/ionic/p-38b9375b.entry.js +4 -0
- package/dist/ionic/p-3bba83ee.entry.js +4 -0
- package/dist/ionic/p-4712a8a9.entry.js +4 -0
- package/dist/ionic/p-4c3e50f8.entry.js +4 -0
- package/dist/ionic/p-4e2fef42.entry.js +4 -0
- package/dist/ionic/p-54cbb0a7.entry.js +4 -0
- package/dist/ionic/{p-2bb2cb18.entry.js → p-561af487.entry.js} +1 -1
- package/dist/ionic/p-5906ea6f.entry.js +4 -0
- package/dist/ionic/p-5cc09b40.entry.js +4 -0
- package/dist/ionic/p-5d9094ac.entry.js +4 -0
- package/dist/ionic/p-612ea3b1.entry.js +4 -0
- package/dist/ionic/p-66f150ec.entry.js +4 -0
- package/dist/ionic/p-68cc89a6.entry.js +4 -0
- package/dist/ionic/{p-dfa8d673.entry.js → p-6e386853.entry.js} +1 -1
- package/dist/ionic/p-77c96e08.entry.js +4 -0
- package/dist/ionic/p-7bfeccb3.entry.js +4 -0
- package/dist/ionic/p-7e394cc3.entry.js +4 -0
- package/dist/ionic/{p-0fa9c382.entry.js → p-7fbb3319.entry.js} +1 -1
- package/dist/ionic/p-837db1b9.entry.js +4 -0
- package/dist/ionic/p-85599fe3.entry.js +4 -0
- package/dist/ionic/p-8b80d9f9.entry.js +4 -0
- package/dist/ionic/p-90f50a65.entry.js +4 -0
- package/dist/ionic/p-9595e305.entry.js +4 -0
- package/dist/ionic/p-9c5f2691.entry.js +4 -0
- package/dist/ionic/p-BMPN55of.js +4 -0
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BY6BzzPF.js +4 -0
- package/dist/ionic/p-B_gJaBk0.js +4 -0
- package/dist/ionic/p-BaeKWZ-a.js +4 -0
- package/dist/ionic/p-Bd72UYI2.js +4 -0
- package/dist/ionic/p-BgOvhHy_.js +4 -0
- package/dist/ionic/p-BhamHSw3.js +4 -0
- package/dist/ionic/p-BijjLYjT.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
- package/dist/ionic/p-C23AVPx9.js +6 -0
- package/dist/ionic/p-C8XilMh0.js +4 -0
- package/dist/ionic/p-CER8qW8Y.js +4 -0
- package/dist/ionic/p-CFuOr1Tu.js +4 -0
- package/dist/ionic/p-CM5OBjTW.js +4 -0
- package/dist/ionic/p-CMZYmFb4.js +4 -0
- package/dist/ionic/p-CkxVYPtX.js +4 -0
- package/dist/ionic/p-CmXuiRT6.js +4 -0
- package/dist/ionic/p-D0YpjgON.js +4 -0
- package/dist/ionic/p-D4OrdtJf.js +4 -0
- package/dist/ionic/p-D5t_-oMk.js +4 -0
- package/dist/ionic/p-D6rHcCvc.js +4 -0
- package/dist/ionic/p-DLM95R4x.js +4 -0
- package/dist/ionic/p-DTxBioUO.js +4 -0
- package/dist/ionic/p-DWCzVL3Y.js +4 -0
- package/dist/ionic/p-DYUjHcuH.js +4 -0
- package/{components/p-BkKAANMJ.js → dist/ionic/p-DZ6Hmc-8.js} +1 -1
- package/dist/ionic/p-D_gb-kdd.js +4 -0
- package/dist/ionic/p-DajLgJ4d.js +4 -0
- package/dist/ionic/p-Do3zTvCA.js +4 -0
- package/dist/ionic/p-Dojwmvde.js +4 -0
- package/dist/ionic/p-T71k3C35.js +4 -0
- package/dist/ionic/p-a1cc2861.entry.js +4 -0
- package/dist/ionic/p-a20a2ebe.entry.js +4 -0
- package/dist/ionic/p-a8ff2489.entry.js +4 -0
- package/dist/ionic/p-b3532b8d.entry.js +4 -0
- package/dist/ionic/p-b80c86c4.entry.js +4 -0
- package/dist/ionic/p-b9b4e85d.entry.js +4 -0
- package/dist/ionic/p-byZM6qHV.js +4 -0
- package/dist/ionic/p-c57fc396.entry.js +4 -0
- package/dist/ionic/{p-c6e49f3f.entry.js → p-ca1b8865.entry.js} +1 -1
- package/dist/ionic/p-cc4320d3.entry.js +4 -0
- package/dist/ionic/p-d6755739.entry.js +4 -0
- package/dist/ionic/p-d8c138d9.entry.js +4 -0
- package/dist/ionic/p-db449915.entry.js +4 -0
- package/dist/ionic/p-dd01be0a.entry.js +4 -0
- package/dist/ionic/p-ec00fd0d.entry.js +4 -0
- package/dist/ionic/p-ee09ac9d.entry.js +4 -0
- package/dist/ionic/{p-37e720da.entry.js → p-efc0cf82.entry.js} +1 -1
- package/dist/ionic/p-f0fb23c1.entry.js +4 -0
- package/dist/ionic/p-f83b3e0c.entry.js +4 -0
- package/dist/ionic/p-fU3rOYad.js +4 -0
- package/dist/ionic/p-zWf7R2xV.js +4 -0
- package/dist/types/components/action-sheet/action-sheet.d.ts +10 -0
- package/dist/types/components/alert/alert.d.ts +7 -0
- package/dist/types/components/content/content.d.ts +12 -0
- package/dist/types/components/datetime/datetime.d.ts +5 -1
- package/dist/types/components/img/img.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +12 -6
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -0
- package/dist/types/components/modal/gestures/utils.d.ts +11 -0
- package/dist/types/components/modal/modal-interface.d.ts +9 -0
- package/dist/types/components/modal/modal.d.ts +25 -7
- package/dist/types/components/modal/safe-area-utils.d.ts +6 -0
- package/dist/types/components/nav/nav-interface.d.ts +0 -1
- package/dist/types/components/nav/nav.d.ts +2 -22
- package/dist/types/components/picker-column/picker-column.d.ts +42 -0
- package/dist/types/components/range/range.d.ts +4 -1
- package/dist/types/components/refresher/refresher.d.ts +7 -0
- package/dist/types/components/route/route.d.ts +1 -1
- package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +31 -0
- package/dist/types/components/select/select.d.ts +30 -6
- package/dist/types/components/select-option/select-option.d.ts +42 -1
- package/dist/types/components/textarea/textarea.d.ts +12 -5
- package/dist/types/components.d.ts +79 -316
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/stencil-public-runtime.d.ts +12 -0
- package/dist/types/utils/config.d.ts +1 -8
- package/dist/types/utils/content/index.d.ts +12 -0
- package/dist/types/utils/forms/index.d.ts +1 -0
- package/dist/types/utils/forms/start-container-controller.d.ts +34 -0
- package/dist/types/utils/helpers.d.ts +8 -5
- package/dist/types/utils/logging/index.d.ts +2 -1
- package/dist/types/utils/overlay-control-label.d.ts +32 -0
- package/dist/types/utils/overlays.d.ts +20 -9
- package/dist/types/utils/rtl/dir.d.ts +10 -4
- package/dist/types/utils/sanitization/index.d.ts +58 -2
- package/dist/types/utils/select-option-render.d.ts +53 -0
- package/dist/types/utils/test/playwright/detach-reattach.d.ts +13 -0
- package/dist/types/utils/test/playwright/index.d.ts +1 -0
- package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
- package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
- package/hydrate/index.js +2996 -2155
- package/hydrate/index.mjs +2996 -2155
- package/loader/index.d.ts +1 -1
- package/package.json +57 -13
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -4
- package/components/ion-picker-legacy.d.ts +0 -11
- package/components/ion-picker-legacy.js +0 -4
- package/components/p-A3O24YmY.js +0 -4
- package/components/p-ABkNVeU9.js +0 -4
- package/components/p-B-JJgYSG.js +0 -4
- package/components/p-BB42Mlnr.js +0 -4
- package/components/p-BLmJ0zRm.js +0 -4
- package/components/p-BSEgsdFI.js +0 -4
- package/components/p-BTEOs1at.js +0 -4
- package/components/p-BlIAuGv2.js +0 -4
- package/components/p-Bnsn6KaP.js +0 -4
- package/components/p-BsBCoGa-.js +0 -4
- package/components/p-Bz0dSlXZ.js +0 -4
- package/components/p-C53feagD.js +0 -4
- package/components/p-CHqRYvYm.js +0 -4
- package/components/p-CQGnMY3n.js +0 -4
- package/components/p-CSZf8_j0.js +0 -4
- package/components/p-C_xFdyXe.js +0 -4
- package/components/p-Cf2jSDS8.js +0 -4
- package/components/p-CkMSOsFF.js +0 -4
- package/components/p-Cl0B-RWe.js +0 -4
- package/components/p-CmR5uXej.js +0 -4
- package/components/p-CsNJ1ULL.js +0 -4
- package/components/p-CtWGkNnJ.js +0 -4
- package/components/p-CzCbeKys.js +0 -4
- package/components/p-D-aHdMxW.js +0 -4
- package/components/p-D0d8qTwj.js +0 -4
- package/components/p-D13Eaw-8.js +0 -4
- package/components/p-D3xo7hqU.js +0 -4
- package/components/p-D6Ynv7Xh.js +0 -4
- package/components/p-DCnGU1fF.js +0 -4
- package/components/p-DGZpx6KJ.js +0 -4
- package/components/p-DGvrK8dD.js +0 -4
- package/components/p-DHTSTb52.js +0 -4
- package/components/p-DOFCbuQR.js +0 -4
- package/components/p-DRugphUN.js +0 -4
- package/components/p-DV5mPYQS.js +0 -4
- package/components/p-DWkAgceV.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-KEFO0w3i.js +0 -4
- package/components/p-Osve4qkc.js +0 -4
- package/components/p-SLS1rDZM.js +0 -4
- package/components/p-VWbRkLT7.js +0 -4
- package/components/p-aJ6PBUvj.js +0 -4
- package/components/p-cyNmxje6.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-oD4kcBRX.js +0 -4
- package/components/p-scxfI1Dd.js +0 -4
- package/components/p-yzCsOZE2.js +0 -4
- package/dist/cjs/config-xninhj0J.js +0 -201
- package/dist/cjs/dir-Cn0z1rJH.js +0 -20
- package/dist/cjs/input.utils-DetjmtH2.js +0 -150
- package/dist/cjs/notch-controller-18PzRGXd.js +0 -155
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
- package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
- package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
- package/dist/collection/components/picker-legacy/picker.js +0 -890
- package/dist/collection/components/picker-legacy/picker.md.css +0 -287
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
- package/dist/esm/config-DQCONYYp.js +0 -195
- package/dist/esm/dir-C53feagD.js +0 -18
- package/dist/esm/input.utils-Y6NgW8bw.js +0 -147
- package/dist/esm/notch-controller-DKDjU_O7.js +0 -153
- package/dist/ionic/p-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-06c232a4.entry.js +0 -4
- package/dist/ionic/p-0dc33652.entry.js +0 -4
- package/dist/ionic/p-10e833ef.entry.js +0 -4
- package/dist/ionic/p-20b1a044.entry.js +0 -4
- package/dist/ionic/p-21eb76d5.entry.js +0 -4
- package/dist/ionic/p-2394a9a6.entry.js +0 -4
- package/dist/ionic/p-27d30585.entry.js +0 -4
- package/dist/ionic/p-2a05aa64.entry.js +0 -4
- package/dist/ionic/p-2b204c59.entry.js +0 -4
- package/dist/ionic/p-2fa58e80.entry.js +0 -4
- package/dist/ionic/p-3353c229.entry.js +0 -4
- package/dist/ionic/p-33704f20.entry.js +0 -4
- package/dist/ionic/p-34586ead.entry.js +0 -4
- package/dist/ionic/p-390ca786.entry.js +0 -4
- package/dist/ionic/p-3ae5f277.entry.js +0 -4
- package/dist/ionic/p-4654ae1c.entry.js +0 -4
- package/dist/ionic/p-4745f534.entry.js +0 -4
- package/dist/ionic/p-4858af1f.entry.js +0 -4
- package/dist/ionic/p-4ac4f3d6.entry.js +0 -4
- package/dist/ionic/p-4baa5b82.entry.js +0 -4
- package/dist/ionic/p-4e92a11f.entry.js +0 -4
- package/dist/ionic/p-5018dfc8.entry.js +0 -4
- package/dist/ionic/p-50e1194a.entry.js +0 -4
- package/dist/ionic/p-5d1da0a2.entry.js +0 -4
- package/dist/ionic/p-5eb8e86d.entry.js +0 -4
- package/dist/ionic/p-65ebdf1b.entry.js +0 -4
- package/dist/ionic/p-75dc25ba.entry.js +0 -4
- package/dist/ionic/p-7c319341.entry.js +0 -4
- package/dist/ionic/p-829367ed.entry.js +0 -4
- package/dist/ionic/p-84d5ce05.entry.js +0 -4
- package/dist/ionic/p-874b4bd8.entry.js +0 -4
- package/dist/ionic/p-8eb8ee76.entry.js +0 -4
- package/dist/ionic/p-8fce95d5.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-9f1103ce.entry.js +0 -4
- package/dist/ionic/p-9f9db3a2.entry.js +0 -4
- package/dist/ionic/p-BGqMS-oh.js +0 -4
- package/dist/ionic/p-BTEOs1at.js +0 -4
- package/dist/ionic/p-BUFIpxKM.js +0 -4
- package/dist/ionic/p-C0eMdTCW.js +0 -4
- package/dist/ionic/p-C53feagD.js +0 -4
- package/dist/ionic/p-CFlfIb2g.js +0 -4
- package/dist/ionic/p-CKvCXMs9.js +0 -4
- package/dist/ionic/p-Cl0B-RWe.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-CwdymDLH.js +0 -4
- package/dist/ionic/p-Cx3IXROA.js +0 -4
- package/dist/ionic/p-D-3ycHmd.js +0 -4
- package/dist/ionic/p-D13Eaw-8.js +0 -4
- package/dist/ionic/p-DC3RagnA.js +0 -4
- package/dist/ionic/p-DIuEbVLu.js +0 -4
- package/dist/ionic/p-DSG2s2Eb.js +0 -4
- package/dist/ionic/p-Dfbt-q2k.js +0 -4
- package/dist/ionic/p-DiVJyqlX.js +0 -4
- package/dist/ionic/p-DoJvtrbw.js +0 -4
- package/dist/ionic/p-DqN5EA2O.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-Nqf6uvGh.js +0 -4
- package/dist/ionic/p-SNAkTDfm.js +0 -4
- package/dist/ionic/p-VAemlbDS.js +0 -4
- package/dist/ionic/p-Wk5HzclC.js +0 -4
- package/dist/ionic/p-a3bdcae6.entry.js +0 -4
- package/dist/ionic/p-aaeedb6b.entry.js +0 -4
- package/dist/ionic/p-bfc9bb0f.entry.js +0 -4
- package/dist/ionic/p-c0fb8edd.entry.js +0 -4
- package/dist/ionic/p-c38b648e.entry.js +0 -4
- package/dist/ionic/p-c4d8641b.entry.js +0 -4
- package/dist/ionic/p-ca2ab74d.entry.js +0 -4
- package/dist/ionic/p-d889ff6d.entry.js +0 -4
- package/dist/ionic/p-e0be05c5.entry.js +0 -4
- package/dist/ionic/p-ef4c3bee.entry.js +0 -4
- package/dist/ionic/p-fd7eebc4.entry.js +0 -4
- package/dist/ionic/p-mjKAFv89.js +0 -4
- package/dist/ionic/p-tcQvqkiX.js +0 -5
- package/dist/ionic/p-viFHDgRs.js +0 -4
- package/dist/ionic/p-xWb6fgfq.js +0 -4
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
- package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
- package/dist/types/components/picker-legacy/picker.d.ts +0 -158
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
- /package/components/{p-CO7fmmxt.js → p-LpMHEu3v.js} +0 -0
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { j as printIonError } from './index-tcQvqkiX.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Does a simple sanitization of all elements
|
|
8
|
-
* in an untrusted string
|
|
9
|
-
*/
|
|
10
|
-
const sanitizeDOMString = (untrustedString) => {
|
|
11
|
-
try {
|
|
12
|
-
if (untrustedString instanceof IonicSafeString) {
|
|
13
|
-
return untrustedString.value;
|
|
14
|
-
}
|
|
15
|
-
if (!isSanitizerEnabled() || typeof untrustedString !== 'string' || untrustedString === '') {
|
|
16
|
-
return untrustedString;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* onload is fired when appending to a document
|
|
20
|
-
* fragment in Chrome. If a string
|
|
21
|
-
* contains onload then we should not
|
|
22
|
-
* attempt to add this to the fragment.
|
|
23
|
-
*/
|
|
24
|
-
if (untrustedString.includes('onload=')) {
|
|
25
|
-
return '';
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Create a document fragment
|
|
29
|
-
* separate from the main DOM,
|
|
30
|
-
* create a div to do our work in
|
|
31
|
-
*/
|
|
32
|
-
const documentFragment = document.createDocumentFragment();
|
|
33
|
-
const workingDiv = document.createElement('div');
|
|
34
|
-
documentFragment.appendChild(workingDiv);
|
|
35
|
-
workingDiv.innerHTML = untrustedString;
|
|
36
|
-
/**
|
|
37
|
-
* Remove any elements
|
|
38
|
-
* that are blocked
|
|
39
|
-
*/
|
|
40
|
-
blockedTags.forEach((blockedTag) => {
|
|
41
|
-
const getElementsToRemove = documentFragment.querySelectorAll(blockedTag);
|
|
42
|
-
for (let elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {
|
|
43
|
-
const element = getElementsToRemove[elementIndex];
|
|
44
|
-
if (element.parentNode) {
|
|
45
|
-
element.parentNode.removeChild(element);
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
documentFragment.removeChild(element);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* We still need to sanitize
|
|
52
|
-
* the children of this element
|
|
53
|
-
* as they are left behind
|
|
54
|
-
*/
|
|
55
|
-
const childElements = getElementChildren(element);
|
|
56
|
-
/* eslint-disable-next-line */
|
|
57
|
-
for (let childIndex = 0; childIndex < childElements.length; childIndex++) {
|
|
58
|
-
sanitizeElement(childElements[childIndex]);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
/**
|
|
63
|
-
* Go through remaining elements and remove
|
|
64
|
-
* non-allowed attribs
|
|
65
|
-
*/
|
|
66
|
-
// IE does not support .children on document fragments, only .childNodes
|
|
67
|
-
const dfChildren = getElementChildren(documentFragment);
|
|
68
|
-
/* eslint-disable-next-line */
|
|
69
|
-
for (let childIndex = 0; childIndex < dfChildren.length; childIndex++) {
|
|
70
|
-
sanitizeElement(dfChildren[childIndex]);
|
|
71
|
-
}
|
|
72
|
-
// Append document fragment to div
|
|
73
|
-
const fragmentDiv = document.createElement('div');
|
|
74
|
-
fragmentDiv.appendChild(documentFragment);
|
|
75
|
-
// First child is always the div we did our work in
|
|
76
|
-
const getInnerDiv = fragmentDiv.querySelector('div');
|
|
77
|
-
return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
|
|
78
|
-
}
|
|
79
|
-
catch (err) {
|
|
80
|
-
printIonError('sanitizeDOMString', err);
|
|
81
|
-
return '';
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* Clean up current element based on allowed attributes
|
|
86
|
-
* and then recursively dig down into any child elements to
|
|
87
|
-
* clean those up as well
|
|
88
|
-
*/
|
|
89
|
-
// TODO(FW-2832): type (using Element triggers other type errors as well)
|
|
90
|
-
const sanitizeElement = (element) => {
|
|
91
|
-
// IE uses childNodes, so ignore nodes that are not elements
|
|
92
|
-
if (element.nodeType && element.nodeType !== 1) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* If attributes is not a NamedNodeMap
|
|
97
|
-
* then we should remove the element entirely.
|
|
98
|
-
* This helps avoid DOM Clobbering attacks where
|
|
99
|
-
* attributes is overridden.
|
|
100
|
-
*/
|
|
101
|
-
if (typeof NamedNodeMap !== 'undefined' && !(element.attributes instanceof NamedNodeMap)) {
|
|
102
|
-
element.remove();
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
for (let i = element.attributes.length - 1; i >= 0; i--) {
|
|
106
|
-
const attribute = element.attributes.item(i);
|
|
107
|
-
const attributeName = attribute.name;
|
|
108
|
-
// remove non-allowed attribs
|
|
109
|
-
if (!allowedAttributes.includes(attributeName.toLowerCase())) {
|
|
110
|
-
element.removeAttribute(attributeName);
|
|
111
|
-
continue;
|
|
112
|
-
}
|
|
113
|
-
// clean up any allowed attribs
|
|
114
|
-
// that attempt to do any JS funny-business
|
|
115
|
-
const attributeValue = attribute.value;
|
|
116
|
-
/**
|
|
117
|
-
* We also need to check the property value
|
|
118
|
-
* as javascript: can allow special characters
|
|
119
|
-
* such as 	 and still be valid (i.e. java	script)
|
|
120
|
-
*/
|
|
121
|
-
const propertyValue = element[attributeName];
|
|
122
|
-
/* eslint-disable */
|
|
123
|
-
if ((attributeValue != null && attributeValue.toLowerCase().includes('javascript:')) ||
|
|
124
|
-
(propertyValue != null && propertyValue.toLowerCase().includes('javascript:'))) {
|
|
125
|
-
element.removeAttribute(attributeName);
|
|
126
|
-
}
|
|
127
|
-
/* eslint-enable */
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Sanitize any nested children
|
|
131
|
-
*/
|
|
132
|
-
const childElements = getElementChildren(element);
|
|
133
|
-
/* eslint-disable-next-line */
|
|
134
|
-
for (let i = 0; i < childElements.length; i++) {
|
|
135
|
-
sanitizeElement(childElements[i]);
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* IE doesn't always support .children
|
|
140
|
-
* so we revert to .childNodes instead
|
|
141
|
-
*/
|
|
142
|
-
// TODO(FW-2832): type
|
|
143
|
-
const getElementChildren = (el) => {
|
|
144
|
-
return el.children != null ? el.children : el.childNodes;
|
|
145
|
-
};
|
|
146
|
-
const isSanitizerEnabled = () => {
|
|
147
|
-
var _a;
|
|
148
|
-
const win = window;
|
|
149
|
-
const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
|
|
150
|
-
if (config) {
|
|
151
|
-
if (config.get) {
|
|
152
|
-
return config.get('sanitizerEnabled', true);
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
return config.sanitizerEnabled === true || config.sanitizerEnabled === undefined;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
return true;
|
|
159
|
-
};
|
|
160
|
-
const allowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];
|
|
161
|
-
const blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed'];
|
|
162
|
-
class IonicSafeString {
|
|
163
|
-
constructor(value) {
|
|
164
|
-
this.value = value;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
const setupConfig = (config) => {
|
|
169
|
-
const win = window;
|
|
170
|
-
const Ionic = win.Ionic;
|
|
171
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
172
|
-
if (Ionic && Ionic.config && Ionic.config.constructor.name !== 'Object') {
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
win.Ionic = win.Ionic || {};
|
|
176
|
-
win.Ionic.config = Object.assign(Object.assign({}, win.Ionic.config), config);
|
|
177
|
-
return win.Ionic.config;
|
|
178
|
-
};
|
|
179
|
-
const getMode = () => {
|
|
180
|
-
var _a;
|
|
181
|
-
const win = window;
|
|
182
|
-
const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
|
|
183
|
-
if (config) {
|
|
184
|
-
if (config.mode) {
|
|
185
|
-
return config.mode;
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
return config.get('mode');
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
return 'md';
|
|
192
|
-
};
|
|
193
|
-
const ENABLE_HTML_CONTENT_DEFAULT = false;
|
|
194
|
-
|
|
195
|
-
export { ENABLE_HTML_CONTENT_DEFAULT as E, IonicSafeString as I, sanitizeDOMString as a, getMode as g, setupConfig as s };
|
package/dist/esm/dir-C53feagD.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Returns `true` if the document or host element
|
|
6
|
-
* has a `dir` set to `rtl`. The host value will always
|
|
7
|
-
* take priority over the root document value.
|
|
8
|
-
*/
|
|
9
|
-
const isRTL = (hostEl) => {
|
|
10
|
-
if (hostEl) {
|
|
11
|
-
if (hostEl.dir !== '') {
|
|
12
|
-
return hostEl.dir.toLowerCase() === 'rtl';
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export { isRTL as i };
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { w as win } from './index-ZjP4CjeZ.js';
|
|
5
|
-
import { r as raf } from './helpers-HEqiOzXb.js';
|
|
6
|
-
import { j as printIonError } from './index-tcQvqkiX.js';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Used to update a scoped component that uses emulated slots. This fires when
|
|
10
|
-
* content is passed into the slot or when the content inside of a slot changes.
|
|
11
|
-
* This is not needed for components using native slots in the Shadow DOM.
|
|
12
|
-
* @internal
|
|
13
|
-
* @param el The host element to observe
|
|
14
|
-
* @param slotName mutationCallback will fire when nodes on these slot(s) change
|
|
15
|
-
* @param mutationCallback The callback to fire whenever the slotted content changes
|
|
16
|
-
*/
|
|
17
|
-
const createSlotMutationController = (el, slotName, mutationCallback) => {
|
|
18
|
-
let hostMutationObserver;
|
|
19
|
-
let slottedContentMutationObserver;
|
|
20
|
-
if (win !== undefined && 'MutationObserver' in win) {
|
|
21
|
-
const slots = Array.isArray(slotName) ? slotName : [slotName];
|
|
22
|
-
hostMutationObserver = new MutationObserver((entries) => {
|
|
23
|
-
for (const entry of entries) {
|
|
24
|
-
for (const node of entry.addedNodes) {
|
|
25
|
-
/**
|
|
26
|
-
* Check to see if the added node
|
|
27
|
-
* is our slotted content.
|
|
28
|
-
*/
|
|
29
|
-
if (node.nodeType === Node.ELEMENT_NODE && slots.includes(node.slot)) {
|
|
30
|
-
/**
|
|
31
|
-
* If so, we want to watch the slotted
|
|
32
|
-
* content itself for changes. This lets us
|
|
33
|
-
* detect when content inside of the slot changes.
|
|
34
|
-
*/
|
|
35
|
-
mutationCallback();
|
|
36
|
-
/**
|
|
37
|
-
* Adding the listener in an raf
|
|
38
|
-
* waits until Stencil moves the slotted element
|
|
39
|
-
* into the correct place in the event that
|
|
40
|
-
* slotted content is being added.
|
|
41
|
-
*/
|
|
42
|
-
raf(() => watchForSlotChange(node));
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
hostMutationObserver.observe(el, {
|
|
49
|
-
childList: true,
|
|
50
|
-
/**
|
|
51
|
-
* This fixes an issue with the `ion-input` and
|
|
52
|
-
* `ion-textarea` not re-rendering in some cases
|
|
53
|
-
* when using the label slot functionality.
|
|
54
|
-
*
|
|
55
|
-
* HTML element patches in Stencil that are enabled
|
|
56
|
-
* by the `experimentalSlotFixes` flag in Stencil v4
|
|
57
|
-
* result in DOM manipulations that won't trigger
|
|
58
|
-
* the current mutation observer configuration and
|
|
59
|
-
* callback.
|
|
60
|
-
*/
|
|
61
|
-
subtree: true,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Listen for changes inside of the slotted content.
|
|
66
|
-
* We can listen for subtree changes here to be
|
|
67
|
-
* informed of text within the slotted content
|
|
68
|
-
* changing. Doing this on the host is possible
|
|
69
|
-
* but it is much more expensive to do because
|
|
70
|
-
* it also listens for changes to the internals
|
|
71
|
-
* of the component.
|
|
72
|
-
*/
|
|
73
|
-
const watchForSlotChange = (slottedEl) => {
|
|
74
|
-
var _a;
|
|
75
|
-
if (slottedContentMutationObserver) {
|
|
76
|
-
slottedContentMutationObserver.disconnect();
|
|
77
|
-
slottedContentMutationObserver = undefined;
|
|
78
|
-
}
|
|
79
|
-
slottedContentMutationObserver = new MutationObserver((entries) => {
|
|
80
|
-
mutationCallback();
|
|
81
|
-
for (const entry of entries) {
|
|
82
|
-
for (const node of entry.removedNodes) {
|
|
83
|
-
/**
|
|
84
|
-
* If the element was removed then we
|
|
85
|
-
* need to destroy the MutationObserver
|
|
86
|
-
* so the element can be garbage collected.
|
|
87
|
-
*/
|
|
88
|
-
if (node.nodeType === Node.ELEMENT_NODE && node.slot === slotName) {
|
|
89
|
-
destroySlottedContentObserver();
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
/**
|
|
95
|
-
* Listen for changes inside of the element
|
|
96
|
-
* as well as anything deep in the tree.
|
|
97
|
-
* We listen on the parentElement so that we can
|
|
98
|
-
* detect when slotted element itself is removed.
|
|
99
|
-
*/
|
|
100
|
-
slottedContentMutationObserver.observe((_a = slottedEl.parentElement) !== null && _a !== void 0 ? _a : slottedEl, { subtree: true, childList: true });
|
|
101
|
-
};
|
|
102
|
-
const destroy = () => {
|
|
103
|
-
if (hostMutationObserver) {
|
|
104
|
-
hostMutationObserver.disconnect();
|
|
105
|
-
hostMutationObserver = undefined;
|
|
106
|
-
}
|
|
107
|
-
destroySlottedContentObserver();
|
|
108
|
-
};
|
|
109
|
-
const destroySlottedContentObserver = () => {
|
|
110
|
-
if (slottedContentMutationObserver) {
|
|
111
|
-
slottedContentMutationObserver.disconnect();
|
|
112
|
-
slottedContentMutationObserver = undefined;
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
return {
|
|
116
|
-
destroy,
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
const getCounterText = (value, maxLength, counterFormatter) => {
|
|
121
|
-
const valueLength = value == null ? 0 : value.toString().length;
|
|
122
|
-
const defaultCounterText = defaultCounterFormatter(valueLength, maxLength);
|
|
123
|
-
/**
|
|
124
|
-
* If developers did not pass a custom formatter,
|
|
125
|
-
* use the default one.
|
|
126
|
-
*/
|
|
127
|
-
if (counterFormatter === undefined) {
|
|
128
|
-
return defaultCounterText;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Otherwise, try to use the custom formatter
|
|
132
|
-
* and fallback to the default formatter if
|
|
133
|
-
* there was an error.
|
|
134
|
-
*/
|
|
135
|
-
try {
|
|
136
|
-
return counterFormatter(valueLength, maxLength);
|
|
137
|
-
}
|
|
138
|
-
catch (e) {
|
|
139
|
-
printIonError('[ion-input] - Exception in provided `counterFormatter`:', e);
|
|
140
|
-
return defaultCounterText;
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
const defaultCounterFormatter = (length, maxlength) => {
|
|
144
|
-
return `${length} / ${maxlength}`;
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
export { createSlotMutationController as c, getCounterText as g };
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { w as win } from './index-ZjP4CjeZ.js';
|
|
5
|
-
import { r as raf } from './helpers-HEqiOzXb.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* A utility to calculate the size of an outline notch
|
|
9
|
-
* width relative to the content passed. This is used in
|
|
10
|
-
* components such as `ion-select` with `fill="outline"`
|
|
11
|
-
* where we need to pass slotted HTML content. This is not
|
|
12
|
-
* needed when rendering plaintext content because we can
|
|
13
|
-
* render the plaintext again hidden with `opacity: 0` inside
|
|
14
|
-
* of the notch. As a result we can rely on the intrinsic size
|
|
15
|
-
* of the element to correctly compute the notch width. We
|
|
16
|
-
* cannot do this with slotted content because we cannot project
|
|
17
|
-
* it into 2 places at once.
|
|
18
|
-
*
|
|
19
|
-
* @internal
|
|
20
|
-
* @param el: The host element
|
|
21
|
-
* @param getNotchSpacerEl: A function that returns a reference to the notch spacer element inside of the component template.
|
|
22
|
-
* @param getLabelSlot: A function that returns a reference to the slotted content.
|
|
23
|
-
*/
|
|
24
|
-
const createNotchController = (el, getNotchSpacerEl, getLabelSlot) => {
|
|
25
|
-
let notchVisibilityIO;
|
|
26
|
-
const needsExplicitNotchWidth = () => {
|
|
27
|
-
const notchSpacerEl = getNotchSpacerEl();
|
|
28
|
-
if (
|
|
29
|
-
/**
|
|
30
|
-
* If the notch is not being used
|
|
31
|
-
* then we do not need to set the notch width.
|
|
32
|
-
*/
|
|
33
|
-
notchSpacerEl === undefined ||
|
|
34
|
-
/**
|
|
35
|
-
* If either the label property is being
|
|
36
|
-
* used or the label slot is not defined,
|
|
37
|
-
* then we do not need to estimate the notch width.
|
|
38
|
-
*/
|
|
39
|
-
el.label !== undefined ||
|
|
40
|
-
getLabelSlot() === null) {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
return true;
|
|
44
|
-
};
|
|
45
|
-
const calculateNotchWidth = () => {
|
|
46
|
-
if (needsExplicitNotchWidth()) {
|
|
47
|
-
/**
|
|
48
|
-
* Run this the frame after
|
|
49
|
-
* the browser has re-painted the host element.
|
|
50
|
-
* Otherwise, the label element may have a width
|
|
51
|
-
* of 0 and the IntersectionObserver will be used.
|
|
52
|
-
*/
|
|
53
|
-
raf(() => {
|
|
54
|
-
setNotchWidth();
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* When using a label prop we can render
|
|
60
|
-
* the label value inside of the notch and
|
|
61
|
-
* let the browser calculate the size of the notch.
|
|
62
|
-
* However, we cannot render the label slot in multiple
|
|
63
|
-
* places so we need to manually calculate the notch dimension
|
|
64
|
-
* based on the size of the slotted content.
|
|
65
|
-
*
|
|
66
|
-
* This function should only be used to set the notch width
|
|
67
|
-
* on slotted label content. The notch width for label prop
|
|
68
|
-
* content is automatically calculated based on the
|
|
69
|
-
* intrinsic size of the label text.
|
|
70
|
-
*/
|
|
71
|
-
const setNotchWidth = () => {
|
|
72
|
-
const notchSpacerEl = getNotchSpacerEl();
|
|
73
|
-
if (notchSpacerEl === undefined) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
if (!needsExplicitNotchWidth()) {
|
|
77
|
-
notchSpacerEl.style.removeProperty('width');
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
const width = getLabelSlot().scrollWidth;
|
|
81
|
-
if (
|
|
82
|
-
/**
|
|
83
|
-
* If the computed width of the label is 0
|
|
84
|
-
* and notchSpacerEl's offsetParent is null
|
|
85
|
-
* then that means the element is hidden.
|
|
86
|
-
* As a result, we need to wait for the element
|
|
87
|
-
* to become visible before setting the notch width.
|
|
88
|
-
*
|
|
89
|
-
* We do not check el.offsetParent because
|
|
90
|
-
* that can be null if the host element has
|
|
91
|
-
* position: fixed applied to it.
|
|
92
|
-
* notchSpacerEl does not have position: fixed.
|
|
93
|
-
*/
|
|
94
|
-
width === 0 &&
|
|
95
|
-
notchSpacerEl.offsetParent === null &&
|
|
96
|
-
win !== undefined &&
|
|
97
|
-
'IntersectionObserver' in win) {
|
|
98
|
-
/**
|
|
99
|
-
* If there is an IO already attached
|
|
100
|
-
* then that will update the notch
|
|
101
|
-
* once the element becomes visible.
|
|
102
|
-
* As a result, there is no need to create
|
|
103
|
-
* another one.
|
|
104
|
-
*/
|
|
105
|
-
if (notchVisibilityIO !== undefined) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
const io = (notchVisibilityIO = new IntersectionObserver((ev) => {
|
|
109
|
-
/**
|
|
110
|
-
* If the element is visible then we
|
|
111
|
-
* can try setting the notch width again.
|
|
112
|
-
*/
|
|
113
|
-
if (ev[0].intersectionRatio === 1) {
|
|
114
|
-
setNotchWidth();
|
|
115
|
-
io.disconnect();
|
|
116
|
-
notchVisibilityIO = undefined;
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
/**
|
|
120
|
-
* Set the root to be the host element
|
|
121
|
-
* This causes the IO callback
|
|
122
|
-
* to be fired in WebKit as soon as the element
|
|
123
|
-
* is visible. If we used the default root value
|
|
124
|
-
* then WebKit would only fire the IO callback
|
|
125
|
-
* after any animations (such as a modal transition)
|
|
126
|
-
* finished, and there would potentially be a flicker.
|
|
127
|
-
*/
|
|
128
|
-
{ threshold: 0.01, root: el }));
|
|
129
|
-
io.observe(notchSpacerEl);
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* If the element is visible then we can set the notch width.
|
|
134
|
-
* The notch is only visible when the label is scaled,
|
|
135
|
-
* which is why we multiply the width by 0.75 as this is
|
|
136
|
-
* the same amount the label element is scaled by in the host CSS.
|
|
137
|
-
* (See $form-control-label-stacked-scale in ionic.globals.scss).
|
|
138
|
-
*/
|
|
139
|
-
notchSpacerEl.style.setProperty('width', `${width * 0.75}px`);
|
|
140
|
-
};
|
|
141
|
-
const destroy = () => {
|
|
142
|
-
if (notchVisibilityIO) {
|
|
143
|
-
notchVisibilityIO.disconnect();
|
|
144
|
-
notchVisibilityIO = undefined;
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
return {
|
|
148
|
-
calculateNotchWidth,
|
|
149
|
-
destroy,
|
|
150
|
-
};
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
export { createNotchController as c };
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{r as e,h as s,d as o}from"./p-tcQvqkiX.js";const t=class{constructor(s){e(this,s)}render(){return s(o,{key:"665f41a854621f898eaf7ba9a49e77cc9326501e"},s("slot",{key:"635aa57fbf6167dcd36fe8dc5dfc1c313637ac04"}))}};t.style=":host{scroll-snap-align:center;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%;min-height:1px;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none;}:host::-webkit-scrollbar{display:none}";export{t as ion_segment_content}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{r as i,c as t,h as e,d as s,g as n}from"./p-tcQvqkiX.js";import{d as o}from"./p-ZjP4CjeZ.js";import{r as a}from"./p-DIuEbVLu.js";import{b as r,a as l,h as c}from"./p-CKvCXMs9.js";import{a as d,b as h}from"./p-Nqf6uvGh.js";import{c as p}from"./p-DiVJyqlX.js";import"./p-CIGNaXM1.js";const u=class{constructor(e){i(this,e),this.ionChange=t(this,"ionChange",7),this.isScrolling=!1,this.isColumnVisible=!1,this.canExitInputMode=!0,this.updateValueTextOnScroll=!1,this.ariaLabel=null,this.isActive=!1,this.disabled=!1,this.color="primary",this.numericInput=!1,this.centerPickerItemInView=(i,t=!0,e=!0)=>{const{isColumnVisible:s,scrollEl:n}=this;if(s&&n){const s=i.offsetTop-3*i.clientHeight+i.clientHeight/2;n.scrollTop!==s&&(this.canExitInputMode=e,this.updateValueTextOnScroll=!1,n.scroll({top:s,left:0,behavior:t?"smooth":void 0}))}},this.setPickerItemActiveState=(i,t)=>{t?i.classList.add(m):i.classList.remove(m)},this.inputModeChange=i=>{if(!this.numericInput)return;const{useInputMode:t,inputModeColumn:e}=i.detail;this.setInputModeActive(!(!t||void 0!==e&&e!==this.el))},this.setInputModeActive=i=>{this.isScrolling?this.scrollEndCallback=()=>{this.isActive=i}:this.isActive=i},this.initializeScrollListener=()=>{const i=d("ios"),{el:t,scrollEl:e}=this;let s,n=this.activeItem;const h=()=>{a((()=>{var a;if(!e)return;s&&(clearTimeout(s),s=void 0),this.isScrolling||(i&&r(),this.isScrolling=!0);const d=e.getBoundingClientRect(),h=d.x+d.width/2,p=d.y+d.height/2,u=t.getRootNode(),m=u instanceof ShadowRoot?u:o;if(void 0===m)return;let f=m.elementsFromPoint(h,p).find((i=>"ION-PICKER-COLUMN-OPTION"===i.tagName));if(void 0===f){const i=m.elementFromPoint(h,p);"ION-PICKER-COLUMN-OPTION"===(null==i?void 0:i.tagName)&&(f=i)}void 0!==n&&this.setPickerItemActiveState(n,!1),void 0===f||f.disabled||(f!==n&&(i&&l(),this.canExitInputMode&&this.exitInputMode()),n=f,this.setPickerItemActiveState(f,!0),this.updateValueTextOnScroll&&(null===(a=this.assistiveFocusable)||void 0===a||a.setAttribute("aria-valuetext",this.getOptionValueText(f))),s=setTimeout((()=>{this.isScrolling=!1,this.updateValueTextOnScroll=!0,i&&c();const{scrollEndCallback:t}=this;t&&(t(),this.scrollEndCallback=void 0),this.canExitInputMode=!0,this.setValue(f.value)}),250))}))};a((()=>{e&&(e.addEventListener("scroll",h),this.destroyScrollListener=()=>{e.removeEventListener("scroll",h)})}))},this.exitInputMode=()=>{const{parentEl:i}=this;null!=i&&(i.exitInputMode(),this.el.classList.remove("picker-column-active"))},this.findNextOption=(i=1)=>{const{activeItem:t}=this;if(!t)return null;let e=t,s=t.nextElementSibling;for(;null!=s;){if(i>0&&i--,"ION-PICKER-COLUMN-OPTION"===s.tagName&&!s.disabled&&0===i)return s;e=s,s=s.nextElementSibling}return e},this.findPreviousOption=(i=1)=>{const{activeItem:t}=this;if(!t)return null;let e=t,s=t.previousElementSibling;for(;null!=s;){if(i>0&&i--,"ION-PICKER-COLUMN-OPTION"===s.tagName&&!s.disabled&&0===i)return s;e=s,s=s.previousElementSibling}return e},this.onKeyDown=i=>{const t=d("mobile");let e=null;switch(i.key){case"ArrowDown":e=t?this.findPreviousOption():this.findNextOption();break;case"ArrowUp":e=t?this.findNextOption():this.findPreviousOption();break;case"PageUp":e=t?this.findNextOption(5):this.findPreviousOption(5);break;case"PageDown":e=t?this.findPreviousOption(5):this.findNextOption(5);break;case"Home":e=this.el.querySelector("ion-picker-column-option:first-of-type");break;case"End":e=this.el.querySelector("ion-picker-column-option:last-of-type")}null!==e&&(this.setValue(e.value),i.preventDefault())},this.getOptionValueText=i=>{var t;return i?null!==(t=i.getAttribute("aria-label"))&&void 0!==t?t:i.innerText:""}}ariaLabelChanged(i){this.ariaLabel=i}valueChange(){this.isColumnVisible&&this.scrollActiveItemIntoView(!0)}componentWillLoad(){const i=this.parentEl=this.el.closest("ion-picker");new IntersectionObserver((i=>{if(i[i.length-1].isIntersecting){const{activeItem:i,el:t}=this;this.isColumnVisible=!0;const e=t.querySelector(`.${m}`);e&&this.setPickerItemActiveState(e,!1),this.scrollActiveItemIntoView(),i&&this.setPickerItemActiveState(i,!0),this.initializeScrollListener()}else this.isColumnVisible=!1,this.destroyScrollListener&&(this.destroyScrollListener(),this.destroyScrollListener=void 0)}),{threshold:.001,root:this.parentEl}).observe(this.el),null!==i&&i.addEventListener("ionInputModeChange",(i=>this.inputModeChange(i)))}componentDidRender(){const{el:i,activeItem:t,isColumnVisible:e,value:s}=this;if(e&&!t){const t=i.querySelector("ion-picker-column-option");null!==t&&t.value!==s&&this.setValue(t.value)}}async scrollActiveItemIntoView(i=!1){const t=this.activeItem;t&&this.centerPickerItemInView(t,i,!1)}async setValue(i){!0!==this.disabled&&this.value!==i&&(this.value=i,this.ionChange.emit({value:i}))}async setFocus(){this.assistiveFocusable&&this.assistiveFocusable.focus()}connectedCallback(){var i;this.ariaLabel=null!==(i=this.el.getAttribute("aria-label"))&&void 0!==i?i:"Select a value"}get activeItem(){const{value:i}=this;return Array.from(this.el.querySelectorAll("ion-picker-column-option")).find((t=>!(!this.disabled&&t.disabled)&&t.value===i))}render(){const{color:i,disabled:t,isActive:n,numericInput:o}=this,a=h(this);return e(s,{key:"234c96a501d7ac413b9b0ea56b33017681e25b40",class:p(i,{[a]:!0,"picker-column-active":n,"picker-column-numeric-input":o,"picker-column-disabled":t})},e("slot",{key:"9dc15ea0601ddd2cb2e0a745e91e036a8bd96f8b",name:"prefix"}),e("div",{key:"de4fe28ee4bc46b7c0420d6ab0df0e7809443da9",class:"picker-opts",ref:i=>{this.scrollEl=i},role:"slider",tabindex:this.disabled?void 0:0,"aria-label":this.ariaLabel,"aria-valuemin":0,"aria-valuemax":0,"aria-valuenow":0,"aria-valuetext":this.getOptionValueText(this.activeItem),"aria-orientation":"vertical",onKeyDown:i=>this.onKeyDown(i)},e("div",{key:"5297617462cc30e9444039ae032d8bdf718349af",class:"picker-item-empty","aria-hidden":"true"}," "),e("div",{key:"55ea39ef867bcb1a11a912d52ecd20cb886c5fb3",class:"picker-item-empty","aria-hidden":"true"}," "),e("div",{key:"3496730ce6182ebfd33e0ee4bafc130feb575a31",class:"picker-item-empty","aria-hidden":"true"}," "),e("slot",{key:"44c3628aa957d60f799dc7019f72fe8b676c7843"}),e("div",{key:"5a1809f6c949678a67e0d4b5bfe93ea335c0161d",class:"picker-item-empty","aria-hidden":"true"}," "),e("div",{key:"98fd57f1c66dbaebc2db2dd5da142671b3159fd1",class:"picker-item-empty","aria-hidden":"true"}," "),e("div",{key:"85590708abddfa885994e549deac64866fec938f",class:"picker-item-empty","aria-hidden":"true"}," ")),e("slot",{key:"bb7e674f543696a80fcbfb1f68f2e975826898a6",name:"suffix"}))}get el(){return n(this)}static get watchers(){return{"aria-label":[{ariaLabelChanged:0}],value:[{valueChange:0}]}}},m="option-active";u.style=":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";export{u as ion_picker_column}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{r as t,c as o,f as e,h as r,d as i,g as s}from"./p-tcQvqkiX.js";import{B as a,j as n,k as p,f as c,n as d,g as l,h,F as v}from"./p-D-3ycHmd.js";import{C as f,a as g,d as m}from"./p-CFlfIb2g.js";import{g as x,r as b,f as u,h as w}from"./p-DIuEbVLu.js";import{c as k}from"./p-B-hirT0v.js";import{b as y,a as P}from"./p-Nqf6uvGh.js";import{g as D}from"./p-DiVJyqlX.js";import{e as T,w as $}from"./p-VAemlbDS.js";import{c as A}from"./p-mjKAFv89.js";import"./p-ZjP4CjeZ.js";import"./p-BUFIpxKM.js";import"./p-BTEOs1at.js";let I=null,j=!1;const L=t=>{if(null!==I)return I;if(null===t.body)return{top:0,bottom:0,left:0,right:0};const o=t.createElement("div");o.style.cssText="position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;padding-top:var(--ion-safe-area-top,0px);padding-bottom:var(--ion-safe-area-bottom,0px);padding-left:var(--ion-safe-area-left,0px);padding-right:var(--ion-safe-area-right,0px);",t.body.appendChild(o);const e=getComputedStyle(o),r={top:parseFloat(e.paddingTop)||0,bottom:parseFloat(e.paddingBottom)||0,left:parseFloat(e.paddingLeft)||0,right:parseFloat(e.paddingRight)||0};return o.remove(),I=r,j||(j=!0,b((()=>{I=null,j=!1}))),r},C=(t,o,e)=>{const r=o.getBoundingClientRect(),i=r.height;let s=r.width;return"cover"===t&&e&&(s=e.getBoundingClientRect().width),{contentWidth:s,contentHeight:i}},N=(t,o)=>o&&"ION-ITEM"===o.tagName?t.findIndex((t=>t===o)):-1,O=t=>{const o=x(t).querySelector("button");o&&b((()=>o.focus()))},W=(t,o,e,r,i,s,a,n,p,c,d)=>{var l;let h={top:0,left:0,width:0,height:0};if("event"===s){if(!d)return p;h={top:d.clientY,left:d.clientX,width:1,height:1}}else{const t=c||(null===(l=null==d?void 0:d.detail)||void 0===l?void 0:l.ionShadowTarget)||(null==d?void 0:d.target);if(!t)return p;const o=t.getBoundingClientRect();h={top:o.top,left:o.left,width:o.width,height:o.height}}const v=Y(a,h,o,e,r,i,t),f=B(n,a,h,o,e),g=v.top+f.top,m=v.left+f.left,{arrowTop:x,arrowLeft:b}=E(a,r,i,g,m,o,e,t),{originX:u,originY:w}=S(a,n,t);return{top:g,left:m,referenceCoordinates:h,arrowTop:x,arrowLeft:b,originX:u,originY:w}},S=(t,o,e)=>{switch(t){case"top":return{originX:X(o),originY:"bottom"};case"bottom":return{originX:X(o),originY:"top"};case"left":return{originX:"right",originY:z(o)};case"right":return{originX:"left",originY:z(o)};case"start":return{originX:e?"left":"right",originY:z(o)};case"end":return{originX:e?"right":"left",originY:z(o)}}},X=t=>{switch(t){case"start":return"left";case"center":return"center";case"end":return"right"}},z=t=>{switch(t){case"start":return"top";case"center":return"center";case"end":return"bottom"}},E=(t,o,e,r,i,s,a,n)=>{const p={arrowTop:r+a/2-o/2,arrowLeft:i+s-o/2},c={arrowTop:r+a/2-o/2,arrowLeft:i-1.5*o};switch(t){case"top":return{arrowTop:r+a,arrowLeft:i+s/2-o/2};case"bottom":return{arrowTop:r-e,arrowLeft:i+s/2-o/2};case"left":return p;case"right":return c;case"start":return n?c:p;case"end":return n?p:c;default:return{arrowTop:0,arrowLeft:0}}},Y=(t,o,e,r,i,s,a)=>{const n={top:o.top,left:o.left-e-i},p={top:o.top,left:o.left+o.width+i};switch(t){case"top":return{top:o.top-r-s,left:o.left};case"right":return p;case"bottom":return{top:o.top+o.height+s,left:o.left};case"left":return n;case"start":return a?p:n;case"end":return a?n:p}},B=(t,o,e,r,i)=>{switch(t){case"center":return F(o,e,r,i);case"end":return M(o,e,r,i);default:return{top:0,left:0}}},M=(t,o,e,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r-o.height),left:0};default:return{top:0,left:-(e-o.width)}}},F=(t,o,e,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r/2-o.height/2),left:0};default:return{top:0,left:-(e/2-o.width/2)}}},H=(t,o,e,r,i,s,a,n,p,c,d,l,h=0,v=0,f=0)=>{let g,m=h,x=e,b=o,u=c,w=d,k=!1,y=!1,P=!1,D=!1;const T=l?l.top+l.height:s/2-n/2,$=l?l.height:0;let A=!1;if(x<r+p.left?(x=r,k=!0,u="left"):a+r+x+p.right>i&&(y=!0,x=i-a-r,u="right"),T+$+n>s-p.bottom&&("top"===t||"bottom"===t)){const t=T-n-$-(f-1);t>=p.top+r?(b=t,m=b+n,w="bottom",A=!0):(g=r,D=!0,b>=s-p.bottom-r&&(b=p.top+r,P=!0))}return{top:b,left:x,bottom:g,originX:u,originY:w,checkSafeAreaLeft:k,checkSafeAreaRight:y,checkSafeAreaTop:P,checkSafeAreaBottom:D,arrowTop:m,arrowLeft:v,addPopoverBottomClass:A,hideArrow:!1}},V=(t,o)=>{var e;const{event:r,size:i,trigger:s,reference:a,side:n,align:p}=o,c=t.ownerDocument,d="rtl"===c.dir,l=c.defaultView.innerWidth,h=c.defaultView.innerHeight,v=x(t),f=v.querySelector(".popover-content"),g=v.querySelector(".popover-arrow"),m=s||(null===(e=null==r?void 0:r.detail)||void 0===e?void 0:e.ionShadowTarget)||(null==r?void 0:r.target),{contentWidth:b,contentHeight:u}=C(i,f,m),{arrowWidth:w,arrowHeight:k}=(t=>{if(!t)return{arrowWidth:0,arrowHeight:0};const{width:o,height:e}=t.getBoundingClientRect();return{arrowWidth:o,arrowHeight:e}})(g),y=W(d,b,u,w,k,a,n,p,{top:h/2-u/2,left:l/2-b/2,originX:d?"right":"left",originY:"top"},s,r),P="cover"===i?0:5,D=L(c),T="cover"===i?{top:0,bottom:0,left:0,right:0}:{top:Math.max(D.top,25),bottom:Math.max(D.bottom,25),left:Math.max(D.left,25),right:Math.max(D.right,25)},{originX:$,originY:I,top:j,left:N,bottom:O,checkSafeAreaLeft:S,checkSafeAreaRight:X,checkSafeAreaTop:z,checkSafeAreaBottom:E,arrowTop:Y,arrowLeft:B,addPopoverBottomClass:M}=H(n,y.top,y.left,P,l,h,b,u,T,y.originX,y.originY,y.referenceCoordinates,y.arrowTop,y.arrowLeft,k),F=A(),V=A(),R=A();return V.addElement(v.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),R.addElement(v.querySelector(".popover-arrow")).addElement(v.querySelector(".popover-content")).fromTo("opacity",.01,1),F.easing("ease").duration(100).beforeAddWrite((()=>{if("cover"===i&&t.style.setProperty("--width",`${b}px`),M&&t.classList.add("popover-bottom"),void 0!==O){let t=`${O}px`;E&&(t=`${O}px + var(--ion-safe-area-bottom, 0px)`),f.style.setProperty("bottom",`calc(${t})`)}let o=`${N}px`;S&&(o=`${N}px + var(--ion-safe-area-left, 0px)`),X&&(o=`${N}px - var(--ion-safe-area-right, 0px)`);let e=`${j}px`;if(z&&(e=`${j}px + var(--ion-safe-area-top, 0px)`),f.style.setProperty("top",`calc(${e} + var(--offset-y, 0))`),f.style.setProperty("left",`calc(${o} + var(--offset-x, 0))`),f.style.setProperty("transform-origin",`${I} ${$}`),null!==g){const t=((t,o=!1,e,r)=>!(!e&&!r||"top"!==t&&"bottom"!==t&&o))(n,y.top!==j||y.left!==N,r,s);t?(g.style.setProperty("top",`calc(${Y}px + var(--offset-y, 0))`),g.style.setProperty("left",`calc(${B}px + var(--offset-x, 0))`)):g.style.setProperty("display","none")}})).addAnimation([V,R])},R=t=>{const o=x(t),e=o.querySelector(".popover-content"),r=o.querySelector(".popover-arrow"),i=A(),s=A(),a=A();return s.addElement(o.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),a.addElement(o.querySelector(".popover-arrow")).addElement(o.querySelector(".popover-content")).fromTo("opacity",.99,0),i.easing("ease").afterAddWrite((()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),e.style.removeProperty("top"),e.style.removeProperty("left"),e.style.removeProperty("bottom"),e.style.removeProperty("transform-origin"),r&&(r.style.removeProperty("top"),r.style.removeProperty("left"),r.style.removeProperty("display"))})).duration(300).addAnimation([s,a])},K=(t,o)=>{var e;const{event:r,size:i,trigger:s,reference:a,side:n,align:p}=o,c=t.ownerDocument,d="rtl"===c.dir,l=c.defaultView.innerWidth,h=c.defaultView.innerHeight,v=x(t),f=v.querySelector(".popover-content"),g=s||(null===(e=null==r?void 0:r.detail)||void 0===e?void 0:e.ionShadowTarget)||(null==r?void 0:r.target),{contentWidth:m,contentHeight:b}=C(i,f,g),u=W(d,m,b,0,0,a,n,p,{top:h/2-b/2,left:l/2-m/2,originX:d?"right":"left",originY:"top"},s,r),w="cover"===i?0:12,k="cover"===i?{top:0,bottom:0,left:0,right:0}:L(c),{originX:y,originY:P,top:D,left:T,bottom:$,checkSafeAreaLeft:I,checkSafeAreaRight:j,checkSafeAreaTop:N,checkSafeAreaBottom:O,addPopoverBottomClass:S}=H(n,u.top,u.left,w,l,h,m,b,k,u.originX,u.originY,u.referenceCoordinates);let X=`${T}px`;I&&(X=`${T}px + var(--ion-safe-area-left, 0px)`),j&&(X=`${T}px - var(--ion-safe-area-right, 0px)`);let z=`${D}px`;N&&(z=`${D}px + var(--ion-safe-area-top, 0px)`);const E=A(),Y=A(),B=A(),M=A(),F=A();return Y.addElement(v.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),B.addElement(v.querySelector(".popover-wrapper")).duration(150).fromTo("opacity",.01,1),M.addElement(f).beforeStyles({top:`calc(${z} + var(--offset-y, 0px))`,left:`calc(${X} + var(--offset-x, 0px))`,"transform-origin":`${P} ${y}`}).beforeAddWrite((()=>{if(void 0!==$){let t=`${$}px`;O&&(t=`${$}px + var(--ion-safe-area-bottom, 0px)`),f.style.setProperty("bottom",`calc(${t})`)}})).fromTo("transform","scale(0.8)","scale(1)"),F.addElement(v.querySelector(".popover-viewport")).fromTo("opacity",.01,1),E.easing("cubic-bezier(0.36,0.66,0.04,1)").duration(300).beforeAddWrite((()=>{"cover"===i&&t.style.setProperty("--width",`${m}px`),S&&t.classList.add("popover-bottom")})).addAnimation([Y,B,M,F])},q=t=>{const o=x(t),e=o.querySelector(".popover-content"),r=A(),i=A(),s=A();return i.addElement(o.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),s.addElement(o.querySelector(".popover-wrapper")).fromTo("opacity",.99,0),r.easing("ease").afterAddWrite((()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),e.style.removeProperty("top"),e.style.removeProperty("left"),e.style.removeProperty("bottom"),e.style.removeProperty("transform-origin")})).duration(150).addAnimation([i,s])},U=class{constructor(r){t(this,r),this.didPresent=o(this,"ionPopoverDidPresent",7),this.willPresent=o(this,"ionPopoverWillPresent",7),this.willDismiss=o(this,"ionPopoverWillDismiss",7),this.didDismiss=o(this,"ionPopoverDidDismiss",7),this.didPresentShorthand=o(this,"didPresent",7),this.willPresentShorthand=o(this,"willPresent",7),this.willDismissShorthand=o(this,"willDismiss",7),this.didDismissShorthand=o(this,"didDismiss",7),this.ionMount=o(this,"ionMount",7),this.parentPopover=null,this.coreDelegate=f(),this.lockController=k(),this.inline=!1,this.focusDescendantOnPresent=!1,this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.backdropDismiss=!0,this.showBackdrop=!0,this.translucent=!1,this.animated=!0,this.triggerAction="click",this.size="auto",this.dismissOnSelect=!1,this.reference="trigger",this.side="bottom",this.arrow=!0,this.isOpen=!1,this.keyboardEvents=!1,this.focusTrap=!0,this.keepContentsMounted=!1,this.onBackdropTap=()=>{this.dismiss(void 0,a)},this.onLifecycle=t=>{const o=this.usersElement,e=Z[t.type];if(o&&e){const r=new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t.detail});o.dispatchEvent(r)}},this.configureTriggerInteraction=()=>{const{trigger:t,triggerAction:o,el:r,destroyTriggerInteraction:i}=this;if(i&&i(),void 0===t)return;const s=this.triggerEl=void 0!==t?document.getElementById(t):null;s?this.destroyTriggerInteraction=((t,o,e)=>{let r=[];switch(o){case"hover":let t;r=[{eventName:"mouseenter",callback:async o=>{o.stopPropagation(),t&&clearTimeout(t),t=setTimeout((()=>{b((()=>{e.presentFromTrigger(o),t=void 0}))}),100)}},{eventName:"mouseleave",callback:o=>{t&&clearTimeout(t);const r=o.relatedTarget;r&&r.closest("ion-popover")!==e&&e.dismiss(void 0,void 0,!1)}},{eventName:"click",callback:t=>t.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:t=>e.presentFromTrigger(t,!0)}];break;case"context-menu":r=[{eventName:"contextmenu",callback:t=>{t.preventDefault(),e.presentFromTrigger(t)}},{eventName:"click",callback:t=>t.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:t=>e.presentFromTrigger(t,!0)}];break;default:r=[{eventName:"click",callback:t=>e.presentFromTrigger(t)},{eventName:"ionPopoverActivateTrigger",callback:t=>e.presentFromTrigger(t,!0)}]}return r.forEach((({eventName:o,callback:e})=>t.addEventListener(o,e))),t.setAttribute("data-ion-popover-trigger","true"),()=>{r.forEach((({eventName:o,callback:e})=>t.removeEventListener(o,e))),t.removeAttribute("data-ion-popover-trigger")}})(s,o,r):e(`[ion-popover] - A trigger element with the ID "${t}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on ion-popover.`,this.el)},this.configureKeyboardInteraction=()=>{const{destroyKeyboardInteraction:t,el:o}=this;t&&t(),this.destroyKeyboardInteraction=(t=>{const o=async o=>{var e;const r=document.activeElement;let i=[];const s=null===(e=o.target)||void 0===e?void 0:e.tagName;if("ION-POPOVER"===s||"ION-ITEM"===s){try{i=Array.from(t.querySelectorAll("ion-item:not(ion-popover ion-popover *):not([disabled])"))}catch(t){}switch(o.key){case"ArrowLeft":await t.getParentPopover()&&t.dismiss(void 0,void 0,!1);break;case"ArrowDown":o.preventDefault();const e=((t,o)=>t[N(t,o)+1])(i,r);void 0!==e&&O(e);break;case"ArrowUp":o.preventDefault();const s=((t,o)=>t[N(t,o)-1])(i,r);void 0!==s&&O(s);break;case"Home":o.preventDefault();const a=i[0];void 0!==a&&O(a);break;case"End":o.preventDefault();const n=i[i.length-1];void 0!==n&&O(n);break;case"ArrowRight":case" ":case"Enter":if(r&&r.hasAttribute("data-ion-popover-trigger")){const t=new CustomEvent("ionPopoverActivateTrigger");r.dispatchEvent(t)}}}};return t.addEventListener("keydown",o),()=>t.removeEventListener("keydown",o)})(o)},this.configureDismissInteraction=()=>{const{destroyDismissInteraction:t,parentPopover:o,triggerAction:e,triggerEl:r,el:i}=this;o&&r&&(t&&t(),this.destroyDismissInteraction=((t,o,e,r)=>{let i=[];const s=x(r).querySelector(".popover-content");return i="hover"===o?[{eventName:"mouseenter",callback:o=>{document.elementFromPoint(o.clientX,o.clientY)!==t&&e.dismiss(void 0,void 0,!1)}}]:[{eventName:"click",callback:o=>{o.target.closest("[data-ion-popover-trigger]")!==t?e.dismiss(void 0,void 0,!1):o.stopPropagation()}}],i.forEach((({eventName:t,callback:o})=>s.addEventListener(t,o))),()=>{i.forEach((({eventName:t,callback:o})=>s.removeEventListener(t,o)))}})(r,e,i,o))}}onTriggerChange(){this.configureTriggerInteraction()}onIsOpenChange(t,o){!0===t&&!1===o?this.present():!1===t&&!0===o&&this.dismiss()}connectedCallback(){const{configureTriggerInteraction:t,el:o}=this;n(o),t()}disconnectedCallback(){const{destroyTriggerInteraction:t}=this;t&&t(),this.headerResizeObserver&&(this.headerResizeObserver.disconnect(),this.headerResizeObserver=void 0)}componentWillLoad(){var t,o;const{el:e}=this,r=null!==(o=null===(t=this.htmlAttributes)||void 0===t?void 0:t.id)&&void 0!==o?o:p(e);this.parentPopover=e.closest(`ion-popover:not(#${r})`),void 0===this.alignment&&(this.alignment="ios"===y(this)?"center":"start")}componentDidLoad(){const{parentPopover:t,isOpen:o}=this;!0===o&&b((()=>this.present())),t&&u(t,"ionPopoverWillDismiss",(()=>{this.dismiss(void 0,void 0,!1)})),this.configureTriggerInteraction()}async presentFromTrigger(t,o=!1){this.focusDescendantOnPresent=o,await this.present(t),this.focusDescendantOnPresent=!1}getDelegate(t=!1){if(this.workingDelegate&&!t)return{delegate:this.workingDelegate,inline:this.inline};const o=this.inline=null!==this.el.parentNode&&!this.hasController;return{inline:o,delegate:this.workingDelegate=o?this.delegate||this.coreDelegate:this.delegate}}async present(t){const o=await this.lockController.lock();if(this.presented)return void o();const{el:e}=this,{inline:r,delegate:i}=this.getDelegate(!0);this.ionMount.emit(),this.usersElement=await g(i,e,this.component,["popover-viewport"],this.componentProps,r),this.recalculateContentOnHeaderReady(),this.keyboardEvents||this.configureKeyboardInteraction(),this.configureDismissInteraction(),w(e)?await T(this.usersElement):this.keepContentsMounted||await $(),await c(this,"popoverEnter",V,K,{event:t||this.event,size:this.size,trigger:this.triggerEl,reference:this.reference,side:this.side,align:this.alignment}),this.focusDescendantOnPresent&&d(e),o()}recalculateContentOnHeaderReady(){var t;const o=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelector(".popover-content");if(!o)return;const e=this.usersElement||o,r=e.querySelector("ion-header"),i=e.querySelectorAll("ion-content");r&&0!==i.length&&(this.headerResizeObserver=new ResizeObserver((async()=>{var t;if(r.offsetHeight>0){null===(t=this.headerResizeObserver)||void 0===t||t.disconnect(),this.headerResizeObserver=void 0;for(const t of i)await t.recalculateDimensions()}})),this.headerResizeObserver.observe(r))}async dismiss(t,o,e=!0){const r=await this.lockController.lock(),{destroyKeyboardInteraction:i,destroyDismissInteraction:s}=this;e&&this.parentPopover&&this.parentPopover.dismiss(t,o,e);const a=await l(this,t,o,"popoverLeave",R,q,this.event);if(a){i&&(i(),this.destroyKeyboardInteraction=void 0),s&&(s(),this.destroyDismissInteraction=void 0);const{delegate:t}=this.getDelegate();await m(t,this.usersElement)}return r(),a}async getParentPopover(){return this.parentPopover}onDidDismiss(){return h(this.el,"ionPopoverDidDismiss")}onWillDismiss(){return h(this.el,"ionPopoverWillDismiss")}render(){const t=y(this),{onLifecycle:o,parentPopover:e,dismissOnSelect:s,side:a,arrow:n,htmlAttributes:p,focusTrap:c}=this,d=P("desktop"),l=n&&!e;return r(i,Object.assign({key:"2edd8333c630efbce59071f8a383e4326e928dbc","aria-modal":"true","no-router":!0,tabindex:"-1"},p,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign(Object.assign({},D(this.cssClass)),{[t]:!0,"popover-translucent":this.translucent,"overlay-hidden":!0,"popover-desktop":d,[`popover-side-${a}`]:!0,[v]:!1===c,"popover-nested":!!e}),onIonPopoverDidPresent:o,onIonPopoverWillPresent:o,onIonPopoverWillDismiss:o,onIonPopoverDidDismiss:o,onIonBackdropTap:this.onBackdropTap}),!e&&r("ion-backdrop",{key:"aac4e68b08197534375e8ea3f8c9ea0c10ab2af4",tappable:this.backdropDismiss,visible:this.showBackdrop,part:"backdrop"}),r("div",{key:"b7f4ebf57d4148b32856b0075d286f454be8de5d",class:"popover-wrapper ion-overlay-wrapper",onClick:s?()=>this.dismiss():void 0},l&&r("div",{key:"607d94c28d73e8e957175a7c0f6e8a99ec4dcd53",class:"popover-arrow",part:"arrow"}),r("div",{key:"4366a5a5de550c09895e923f345583508e1ec30c",class:"popover-content",part:"content"},r("slot",{key:"eb7886fbc99c15b667b7d825d24f1c12d9380f03"}))))}get el(){return s(this)}static get watchers(){return{trigger:[{onTriggerChange:0}],triggerAction:[{onTriggerChange:0}],isOpen:[{onIsOpenChange:0}]}}},Z={ionPopoverDidPresent:"ionViewDidEnter",ionPopoverWillPresent:"ionViewWillEnter",ionPopoverWillDismiss:"ionViewWillLeave",ionPopoverDidDismiss:"ionViewDidLeave"};U.style={ios:':host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}',md:":host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}"};export{U as ion_popover}
|