@ionic/core 8.8.14-dev.11783969828.1f28d893 → 8.8.14-dev.11783984044.10eaba06
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-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-chip.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-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.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-router-link.js +1 -1
- package/components/ion-router-outlet.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-279dFMvg.js +4 -0
- package/components/p-BSQPZ79H.js +4 -0
- package/components/{p-BHrrc-3d.js → p-Buf_7zcy.js} +1 -1
- package/components/p-BwKpO3Is.js +4 -0
- package/components/p-C-Rx1zny.js +4 -0
- package/components/p-CHzfYZbv.js +4 -0
- package/components/p-D4h1H_hh.js +4 -0
- package/components/{p-BSEgsdFI.js → p-DhkITZ-y.js} +1 -1
- package/components/{p-5bE_Wz4Y.js → p-DpV-p5Xs.js} +1 -1
- package/components/{p-Cfx4M1Bn.js → p-Dz74mwlk.js} +1 -1
- package/components/p-LMGfIvTf.js +4 -0
- package/components/{p-BLmJ0zRm.js → p-XJWMAP8m.js} +1 -1
- package/components/p-_lHSumhG.js +4 -0
- package/components/p-j9Da6cYO.js +4 -0
- package/components/p-jOtMJMv8.js +4 -0
- package/components/{p-B60hm8Qv.js → p-r0aq7dpt.js} +1 -1
- package/components/p-uTR_dEqg.js +4 -0
- package/components/{p-rCa2eL0j.js → p-wk2QqrAo.js} +1 -1
- package/dist/cjs/config-DWdFbSNK.js +35 -0
- package/dist/cjs/index-Cueg3U4w.js +429 -0
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/ion-action-sheet.cjs.entry.js +27 -7
- package/dist/cjs/ion-alert.cjs.entry.js +64 -25
- package/dist/cjs/ion-app_8.cjs.entry.js +23 -9
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +1 -639
- package/dist/cjs/ion-img.cjs.entry.js +3 -1
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -2
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +10 -5
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +23 -31
- package/dist/cjs/ion-popover.cjs.entry.js +9 -5
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -5
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +84 -30
- package/dist/cjs/ion-select_3.cjs.entry.js +407 -49
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +6 -5
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-BeMrOwMt.js → overlays-DSmSrd_4.js} +27 -16
- package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
- package/dist/collection/collection-manifest.json +6 -10
- package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
- package/dist/collection/components/action-sheet/action-sheet.js +24 -5
- package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
- package/dist/collection/components/alert/alert.ios.css +280 -10
- package/dist/collection/components/alert/alert.js +59 -21
- package/dist/collection/components/alert/alert.md.css +269 -20
- package/dist/collection/components/img/img.js +6 -1
- package/dist/collection/components/input/input.js +8 -8
- package/dist/collection/components/loading/loading.js +7 -3
- package/dist/collection/components/modal/gestures/sheet.js +0 -8
- package/dist/collection/components/modal/gestures/swipe-to-close.js +0 -8
- package/dist/collection/components/modal/modal.ios.css +0 -8
- package/dist/collection/components/modal/modal.js +23 -15
- package/dist/collection/components/modal/modal.md.css +0 -8
- package/dist/collection/components/popover/popover.ios.css +15 -0
- package/dist/collection/components/popover/popover.js +7 -3
- package/dist/collection/components/popover/popover.md.css +15 -0
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +4 -4
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- 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/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +38 -5
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +9 -9
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.ios.css +33 -0
- package/dist/collection/components/select/select.js +323 -16
- package/dist/collection/components/select/select.md.css +33 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
- package/dist/collection/components/select-modal/select-modal.js +79 -26
- package/dist/collection/components/select-modal/select-modal.md.css +165 -0
- package/dist/collection/components/select-option/select-option.js +67 -3
- package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
- package/dist/collection/components/select-popover/select-popover.js +78 -26
- package/dist/collection/components/select-popover/select-popover.md.css +165 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- 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 +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- 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 +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/overlay-control-label.js +45 -0
- package/dist/collection/utils/overlays.js +26 -15
- package/dist/collection/utils/sanitization/index.js +274 -18
- package/dist/collection/utils/select-option-render.js +119 -0
- package/dist/docs.json +485 -1177
- package/dist/esm/config-BwKpO3Is.js +31 -0
- package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
- package/dist/esm/index-DQSkZyOJ.js +424 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +27 -7
- package/dist/esm/ion-alert.entry.js +63 -24
- package/dist/esm/ion-app_8.entry.js +23 -9
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +5 -641
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-img.entry.js +4 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -1
- package/dist/esm/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm/ion-input.entry.js +5 -5
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +9 -4
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +23 -31
- package/dist/esm/ion-popover.entry.js +9 -5
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +3 -3
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +5 -4
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +6 -6
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select-modal.entry.js +84 -30
- package/dist/esm/ion-select_3.entry.js +410 -52
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +5 -4
- package/dist/esm/ion-toggle.entry.js +4 -4
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays-DBQMGaJ9.js → overlays-DLNOHWNc.js} +28 -17
- package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
- package/dist/html.html-data.json +51 -79
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-038eb991.entry.js +4 -0
- package/dist/ionic/{p-8fce95d5.entry.js → p-14095ba5.entry.js} +1 -1
- package/dist/ionic/{p-3a126bca.entry.js → p-259d0d98.entry.js} +1 -1
- package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
- package/dist/ionic/{p-3a7d1e91.entry.js → p-4502a274.entry.js} +1 -1
- package/dist/ionic/p-4621c387.entry.js +4 -0
- package/dist/ionic/p-4ace7762.entry.js +4 -0
- package/dist/ionic/p-4bb3eb60.entry.js +4 -0
- package/dist/ionic/p-4e9ec5c5.entry.js +4 -0
- package/dist/ionic/{p-874b4bd8.entry.js → p-51cd1643.entry.js} +1 -1
- package/dist/ionic/p-5c3ec490.entry.js +4 -0
- package/dist/ionic/p-5d1ac2c7.entry.js +4 -0
- package/dist/ionic/{p-3ae5f277.entry.js → p-627fabd9.entry.js} +1 -1
- package/dist/ionic/{p-e0be05c5.entry.js → p-629e4703.entry.js} +1 -1
- package/dist/ionic/p-700795f6.entry.js +4 -0
- package/dist/ionic/{p-5d1da0a2.entry.js → p-76e92a84.entry.js} +1 -1
- package/dist/ionic/p-79a36078.entry.js +4 -0
- package/dist/ionic/{p-9f1103ce.entry.js → p-7a37b3ce.entry.js} +1 -1
- package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
- package/dist/ionic/p-913b218a.entry.js +4 -0
- package/dist/ionic/{p-390ca786.entry.js → p-9177f4ac.entry.js} +1 -1
- package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
- package/dist/ionic/p-BDtODLZ4.js +4 -0
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BwKpO3Is.js +4 -0
- package/dist/ionic/p-Cg5-OQYy.js +4 -0
- package/dist/ionic/p-DCOvXkOm.js +4 -0
- package/dist/ionic/{p-4858af1f.entry.js → p-a5213260.entry.js} +1 -1
- package/dist/ionic/{p-37e720da.entry.js → p-a7628bc7.entry.js} +1 -1
- package/dist/ionic/p-a9a33367.entry.js +4 -0
- package/dist/ionic/p-ad728198.entry.js +4 -0
- package/dist/ionic/{p-ef4c3bee.entry.js → p-b1599fca.entry.js} +1 -1
- package/dist/ionic/{p-84d5ce05.entry.js → p-b9ac1fe0.entry.js} +1 -1
- package/dist/ionic/p-bfc8c629.entry.js +4 -0
- package/dist/ionic/p-c08e666a.entry.js +4 -0
- package/dist/ionic/{p-4abbd79c.entry.js → p-c93553d2.entry.js} +1 -1
- package/dist/ionic/p-ce7992c4.entry.js +4 -0
- package/dist/ionic/{p-75dc25ba.entry.js → p-d2c7f046.entry.js} +1 -1
- package/dist/ionic/{p-c4d8641b.entry.js → p-d8387b99.entry.js} +1 -1
- package/dist/ionic/{p-9a65ac7f.entry.js → p-db1b6738.entry.js} +1 -1
- package/dist/ionic/p-ed797c72.entry.js +4 -0
- package/dist/ionic/{p-8eb8ee76.entry.js → p-ef93ca92.entry.js} +1 -1
- package/dist/ionic/p-f09f9642.entry.js +4 -0
- package/dist/ionic/p-f1c06f82.entry.js +4 -0
- package/dist/ionic/p-f718fccb.entry.js +4 -0
- package/dist/ionic/{p-0fa9c382.entry.js → p-fe4aa1db.entry.js} +1 -1
- package/dist/types/components/img/img.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +11 -4
- 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 +18 -0
- package/dist/types/components/select-option/select-option.d.ts +42 -1
- package/dist/types/components.d.ts +72 -288
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/utils/config.d.ts +0 -8
- package/dist/types/utils/overlay-control-label.d.ts +32 -0
- package/dist/types/utils/overlays.d.ts +11 -9
- package/dist/types/utils/sanitization/index.d.ts +58 -2
- package/dist/types/utils/select-option-render.d.ts +53 -0
- package/hydrate/index.js +1408 -1173
- package/hydrate/index.mjs +1408 -1173
- package/package.json +37 -5
- 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-BUcrNuxp.js +0 -4
- package/components/p-BylFVz1e.js +0 -4
- package/components/p-CMVYv6xu.js +0 -4
- package/components/p-CSRA1aW0.js +0 -4
- package/components/p-CU5rbWAW.js +0 -4
- package/components/p-Ch5WJNJF.js +0 -4
- package/components/p-DoL_wAtc.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-qiecYdXI.js +0 -4
- package/dist/cjs/config-xninhj0J.js +0 -201
- 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/ionic/p-0124647d.entry.js +0 -4
- package/dist/ionic/p-01f81ea5.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-27d30585.entry.js +0 -4
- package/dist/ionic/p-2bb2cb18.entry.js +0 -4
- package/dist/ionic/p-305a059a.entry.js +0 -4
- package/dist/ionic/p-485fda23.entry.js +0 -4
- package/dist/ionic/p-4baa5b82.entry.js +0 -4
- package/dist/ionic/p-5076b325.entry.js +0 -4
- package/dist/ionic/p-50e1194a.entry.js +0 -4
- package/dist/ionic/p-6209ed93.entry.js +0 -4
- package/dist/ionic/p-6e3d2097.entry.js +0 -4
- package/dist/ionic/p-9f8cb0f3.entry.js +0 -4
- package/dist/ionic/p-BnzgTfDG.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-a1b57bd4.entry.js +0 -4
- package/dist/ionic/p-a21add2f.entry.js +0 -4
- package/dist/ionic/p-ddb2d591.entry.js +0 -4
- package/dist/ionic/p-e13c6c40.entry.js +0 -4
- package/dist/ionic/p-ec090e0a.entry.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-qiecYdXI.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{p as t,H as e,e as o,f as r,h as i,d as s,t as n}from"./p-CHqRYvYm.js";import{B as a,j as p,k as c,f as d,n as l,g as h,h as v,F as f}from"./p-BylFVz1e.js";import{C as g,a as m,d as x}from"./p-DnL1c9_X.js";import{g as b,r as u,a as w,k}from"./p-Baq1XyAy.js";import{c as y}from"./p-B-hirT0v.js";import{b as P,a as D}from"./p-DOFCbuQR.js";import{g as T}from"./p-DiVJyqlX.js";import{e as A,w as $}from"./p-CtukzcyX.js";import{c as C}from"./p-CmR5uXej.js";import{d as I}from"./p--JUspHvy.js";let O=null,L=!1;const W=t=>{if(null!==O)return O;if(null===t.body)return{top:0,bottom:0,left:0,right:0};const e=t.createElement("div");e.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(e);const o=getComputedStyle(e),r={top:parseFloat(o.paddingTop)||0,bottom:parseFloat(o.paddingBottom)||0,left:parseFloat(o.paddingLeft)||0,right:parseFloat(o.paddingRight)||0};return e.remove(),O=r,L||(L=!0,u((()=>{O=null,L=!1}))),r},N=(t,e,o)=>{const r=e.getBoundingClientRect(),i=r.height;let s=r.width;return"cover"===t&&o&&(s=o.getBoundingClientRect().width),{contentWidth:s,contentHeight:i}},X=(t,e)=>e&&"ION-ITEM"===e.tagName?t.findIndex((t=>t===e)):-1,j=t=>{const e=b(t).querySelector("button");e&&u((()=>e.focus()))},z=(t,e,o,r,i,s,n,a,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 e=t.getBoundingClientRect();h={top:e.top,left:e.left,width:e.width,height:e.height}}const v=H(n,h,e,o,r,i,t),f=M(a,n,h,e,o),g=v.top+f.top,m=v.left+f.left,{arrowTop:x,arrowLeft:b}=B(n,r,i,g,m,e,o,t),{originX:u,originY:w}=E(n,a,t);return{top:g,left:m,referenceCoordinates:h,arrowTop:x,arrowLeft:b,originX:u,originY:w}},E=(t,e,o)=>{switch(t){case"top":return{originX:S(e),originY:"bottom"};case"bottom":return{originX:S(e),originY:"top"};case"left":return{originX:"right",originY:Y(e)};case"right":return{originX:"left",originY:Y(e)};case"start":return{originX:o?"left":"right",originY:Y(e)};case"end":return{originX:o?"right":"left",originY:Y(e)}}},S=t=>{switch(t){case"start":return"left";case"center":return"center";case"end":return"right"}},Y=t=>{switch(t){case"start":return"top";case"center":return"center";case"end":return"bottom"}},B=(t,e,o,r,i,s,n,a)=>{const p={arrowTop:r+n/2-e/2,arrowLeft:i+s-e/2},c={arrowTop:r+n/2-e/2,arrowLeft:i-1.5*e};switch(t){case"top":return{arrowTop:r+n,arrowLeft:i+s/2-e/2};case"bottom":return{arrowTop:r-o,arrowLeft:i+s/2-e/2};case"left":return p;case"right":return c;case"start":return a?c:p;case"end":return a?p:c;default:return{arrowTop:0,arrowLeft:0}}},H=(t,e,o,r,i,s,n)=>{const a={top:e.top,left:e.left-o-i},p={top:e.top,left:e.left+e.width+i};switch(t){case"top":return{top:e.top-r-s,left:e.left};case"right":return p;case"bottom":return{top:e.top+e.height+s,left:e.left};case"left":return a;case"start":return n?p:a;case"end":return n?a:p}},M=(t,e,o,r,i)=>{switch(t){case"center":return F(e,o,r,i);case"end":return R(e,o,r,i);default:return{top:0,left:0}}},R=(t,e,o,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r-e.height),left:0};default:return{top:0,left:-(o-e.width)}}},F=(t,e,o,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r/2-e.height/2),left:0};default:return{top:0,left:-(o/2-e.width/2)}}},V=(t,e,o,r,i,s,n,a,p,c,d,l,h=0,v=0,f=0)=>{let g,m=h,x=o,b=e,u=c,w=d,k=!1,y=!1,P=!1,D=!1;const T=l?l.top+l.height:s/2-a/2,A=l?l.height:0;let $=!1;if(x<r+p.left?(x=r,k=!0,u="left"):n+r+x+p.right>i&&(y=!0,x=i-n-r,u="right"),T+A+a>s-p.bottom&&("top"===t||"bottom"===t)){const t=T-a-A-(f-1);t>=p.top+r?(b=t,m=b+a,w="bottom",$=!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:$,hideArrow:!1}},q=(t,e)=>{var o;const{event:r,size:i,trigger:s,reference:n,side:a,align:p}=e,c=t.ownerDocument,d="rtl"===c.dir,l=c.defaultView.innerWidth,h=c.defaultView.innerHeight,v=b(t),f=v.querySelector(".popover-content"),g=v.querySelector(".popover-arrow"),m=s||(null===(o=null==r?void 0:r.detail)||void 0===o?void 0:o.ionShadowTarget)||(null==r?void 0:r.target),{contentWidth:x,contentHeight:u}=N(i,f,m),{arrowWidth:w,arrowHeight:k}=(t=>{if(!t)return{arrowWidth:0,arrowHeight:0};const{width:e,height:o}=t.getBoundingClientRect();return{arrowWidth:e,arrowHeight:o}})(g),y=z(d,x,u,w,k,n,a,p,{top:h/2-u/2,left:l/2-x/2,originX:d?"right":"left",originY:"top"},s,r),P="cover"===i?0:5,D=W(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:A,originY:$,top:I,left:O,bottom:L,checkSafeAreaLeft:X,checkSafeAreaRight:j,checkSafeAreaTop:E,checkSafeAreaBottom:S,arrowTop:Y,arrowLeft:B,addPopoverBottomClass:H}=V(a,y.top,y.left,P,l,h,x,u,T,y.originX,y.originY,y.referenceCoordinates,y.arrowTop,y.arrowLeft,k),M=C(),R=C(),F=C();return R.addElement(v.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),F.addElement(v.querySelector(".popover-arrow")).addElement(v.querySelector(".popover-content")).fromTo("opacity",.01,1),M.easing("ease").duration(100).beforeAddWrite((()=>{if("cover"===i&&t.style.setProperty("--width",`${x}px`),H&&t.classList.add("popover-bottom"),void 0!==L){let t=`${L}px`;S&&(t=`${L}px + var(--ion-safe-area-bottom, 0px)`),f.style.setProperty("bottom",`calc(${t})`)}let e=`${O}px`;X&&(e=`${O}px + var(--ion-safe-area-left, 0px)`),j&&(e=`${O}px - var(--ion-safe-area-right, 0px)`);let o=`${I}px`;if(E&&(o=`${I}px + var(--ion-safe-area-top, 0px)`),f.style.setProperty("top",`calc(${o} + var(--offset-y, 0))`),f.style.setProperty("left",`calc(${e} + var(--offset-x, 0))`),f.style.setProperty("transform-origin",`${$} ${A}`),null!==g){const t=((t,e=!1,o,r)=>!(!o&&!r||"top"!==t&&"bottom"!==t&&e))(a,y.top!==I||y.left!==O,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([R,F])},J=t=>{const e=b(t),o=e.querySelector(".popover-content"),r=e.querySelector(".popover-arrow"),i=C(),s=C(),n=C();return s.addElement(e.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),n.addElement(e.querySelector(".popover-arrow")).addElement(e.querySelector(".popover-content")).fromTo("opacity",.99,0),i.easing("ease").afterAddWrite((()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),o.style.removeProperty("top"),o.style.removeProperty("left"),o.style.removeProperty("bottom"),o.style.removeProperty("transform-origin"),r&&(r.style.removeProperty("top"),r.style.removeProperty("left"),r.style.removeProperty("display"))})).duration(300).addAnimation([s,n])},K=(t,e)=>{var o;const{event:r,size:i,trigger:s,reference:n,side:a,align:p}=e,c=t.ownerDocument,d="rtl"===c.dir,l=c.defaultView.innerWidth,h=c.defaultView.innerHeight,v=b(t),f=v.querySelector(".popover-content"),g=s||(null===(o=null==r?void 0:r.detail)||void 0===o?void 0:o.ionShadowTarget)||(null==r?void 0:r.target),{contentWidth:m,contentHeight:x}=N(i,f,g),u=z(d,m,x,0,0,n,a,p,{top:h/2-x/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}:W(c),{originX:y,originY:P,top:D,left:T,bottom:A,checkSafeAreaLeft:$,checkSafeAreaRight:I,checkSafeAreaTop:O,checkSafeAreaBottom:L,addPopoverBottomClass:X}=V(a,u.top,u.left,w,l,h,m,x,k,u.originX,u.originY,u.referenceCoordinates);let j=`${T}px`;$&&(j=`${T}px + var(--ion-safe-area-left, 0px)`),I&&(j=`${T}px - var(--ion-safe-area-right, 0px)`);let E=`${D}px`;O&&(E=`${D}px + var(--ion-safe-area-top, 0px)`);const S=C(),Y=C(),B=C(),H=C(),M=C();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),H.addElement(f).beforeStyles({top:`calc(${E} + var(--offset-y, 0px))`,left:`calc(${j} + var(--offset-x, 0px))`,"transform-origin":`${P} ${y}`}).beforeAddWrite((()=>{if(void 0!==A){let t=`${A}px`;L&&(t=`${A}px + var(--ion-safe-area-bottom, 0px)`),f.style.setProperty("bottom",`calc(${t})`)}})).fromTo("transform","scale(0.8)","scale(1)"),M.addElement(v.querySelector(".popover-viewport")).fromTo("opacity",.01,1),S.easing("cubic-bezier(0.36,0.66,0.04,1)").duration(300).beforeAddWrite((()=>{"cover"===i&&t.style.setProperty("--width",`${m}px`),X&&t.classList.add("popover-bottom")})).addAnimation([Y,B,H,M])},U=t=>{const e=b(t),o=e.querySelector(".popover-content"),r=C(),i=C(),s=C();return i.addElement(e.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),s.addElement(e.querySelector(".popover-wrapper")).fromTo("opacity",.99,0),r.easing("ease").afterAddWrite((()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),o.style.removeProperty("top"),o.style.removeProperty("left"),o.style.removeProperty("bottom"),o.style.removeProperty("transform-origin")})).duration(150).addAnimation([i,s])},Q=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),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=g(),this.lockController=y(),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 e=this.usersElement,o=_[t.type];if(e&&o){const r=new CustomEvent(o,{bubbles:!1,cancelable:!1,detail:t.detail});e.dispatchEvent(r)}},this.configureTriggerInteraction=()=>{const{trigger:t,triggerAction:e,el:o,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,e,o)=>{let r=[];switch(e){case"hover":let t;r=[{eventName:"mouseenter",callback:async e=>{e.stopPropagation(),t&&clearTimeout(t),t=setTimeout((()=>{u((()=>{o.presentFromTrigger(e),t=void 0}))}),100)}},{eventName:"mouseleave",callback:e=>{t&&clearTimeout(t);const r=e.relatedTarget;r&&r.closest("ion-popover")!==o&&o.dismiss(void 0,void 0,!1)}},{eventName:"click",callback:t=>t.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:t=>o.presentFromTrigger(t,!0)}];break;case"context-menu":r=[{eventName:"contextmenu",callback:t=>{t.preventDefault(),o.presentFromTrigger(t)}},{eventName:"click",callback:t=>t.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:t=>o.presentFromTrigger(t,!0)}];break;default:r=[{eventName:"click",callback:t=>o.presentFromTrigger(t)},{eventName:"ionPopoverActivateTrigger",callback:t=>o.presentFromTrigger(t,!0)}]}return r.forEach((({eventName:e,callback:o})=>t.addEventListener(e,o))),t.setAttribute("data-ion-popover-trigger","true"),()=>{r.forEach((({eventName:e,callback:o})=>t.removeEventListener(e,o))),t.removeAttribute("data-ion-popover-trigger")}})(s,e,o):r(`[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:e}=this;t&&t(),this.destroyKeyboardInteraction=(t=>{const e=async e=>{var o;const r=document.activeElement;let i=[];const s=null===(o=e.target)||void 0===o?void 0:o.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(e.key){case"ArrowLeft":await t.getParentPopover()&&t.dismiss(void 0,void 0,!1);break;case"ArrowDown":e.preventDefault();const o=((t,e)=>t[X(t,e)+1])(i,r);void 0!==o&&j(o);break;case"ArrowUp":e.preventDefault();const s=((t,e)=>t[X(t,e)-1])(i,r);void 0!==s&&j(s);break;case"Home":e.preventDefault();const n=i[0];void 0!==n&&j(n);break;case"End":e.preventDefault();const a=i[i.length-1];void 0!==a&&j(a);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",e),()=>t.removeEventListener("keydown",e)})(e)},this.configureDismissInteraction=()=>{const{destroyDismissInteraction:t,parentPopover:e,triggerAction:o,triggerEl:r,el:i}=this;e&&r&&(t&&t(),this.destroyDismissInteraction=((t,e,o,r)=>{let i=[];const s=b(r).querySelector(".popover-content");return i="hover"===e?[{eventName:"mouseenter",callback:e=>{document.elementFromPoint(e.clientX,e.clientY)!==t&&o.dismiss(void 0,void 0,!1)}}]:[{eventName:"click",callback:e=>{e.target.closest("[data-ion-popover-trigger]")!==t?o.dismiss(void 0,void 0,!1):e.stopPropagation()}}],i.forEach((({eventName:t,callback:e})=>s.addEventListener(t,e))),()=>{i.forEach((({eventName:t,callback:e})=>s.removeEventListener(t,e)))}})(r,o,i,e))}}onTriggerChange(){this.configureTriggerInteraction()}onIsOpenChange(t,e){!0===t&&!1===e?this.present():!1===t&&!0===e&&this.dismiss()}connectedCallback(){const{configureTriggerInteraction:t,el:e}=this;p(e),t()}disconnectedCallback(){const{destroyTriggerInteraction:t}=this;t&&t(),this.headerResizeObserver&&(this.headerResizeObserver.disconnect(),this.headerResizeObserver=void 0)}componentWillLoad(){var t,e;const{el:o}=this,r=null!==(e=null===(t=this.htmlAttributes)||void 0===t?void 0:t.id)&&void 0!==e?e:c(o);this.parentPopover=o.closest(`ion-popover:not(#${r})`),void 0===this.alignment&&(this.alignment="ios"===P(this)?"center":"start")}componentDidLoad(){const{parentPopover:t,isOpen:e}=this;!0===e&&u((()=>this.present())),t&&w(t,"ionPopoverWillDismiss",(()=>{this.dismiss(void 0,void 0,!1)})),this.configureTriggerInteraction()}async presentFromTrigger(t,e=!1){this.focusDescendantOnPresent=e,await this.present(t),this.focusDescendantOnPresent=!1}getDelegate(t=!1){if(this.workingDelegate&&!t)return{delegate:this.workingDelegate,inline:this.inline};const e=this.inline=null!==this.el.parentNode&&!this.hasController;return{inline:e,delegate:this.workingDelegate=e?this.delegate||this.coreDelegate:this.delegate}}async present(t){const e=await this.lockController.lock();if(this.presented)return void e();const{el:o}=this,{inline:r,delegate:i}=this.getDelegate(!0);this.ionMount.emit(),this.usersElement=await m(i,o,this.component,["popover-viewport"],this.componentProps,r),this.recalculateContentOnHeaderReady(),this.keyboardEvents||this.configureKeyboardInteraction(),this.configureDismissInteraction(),k(o)?await A(this.usersElement):this.keepContentsMounted||await $(),await d(this,"popoverEnter",q,K,{event:t||this.event,size:this.size,trigger:this.triggerEl,reference:this.reference,side:this.side,align:this.alignment}),this.focusDescendantOnPresent&&l(o),e()}recalculateContentOnHeaderReady(){var t;const e=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelector(".popover-content");if(!e)return;const o=this.usersElement||e,r=o.querySelector("ion-header"),i=o.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,e,o=!0){const r=await this.lockController.lock(),{destroyKeyboardInteraction:i,destroyDismissInteraction:s}=this;o&&this.parentPopover&&this.parentPopover.dismiss(t,e,o);const n=await h(this,t,e,"popoverLeave",J,U,this.event);if(n){i&&(i(),this.destroyKeyboardInteraction=void 0),s&&(s(),this.destroyDismissInteraction=void 0);const{delegate:t}=this.getDelegate();await x(t,this.usersElement)}return r(),n}async getParentPopover(){return this.parentPopover}onDidDismiss(){return v(this.el,"ionPopoverDidDismiss")}onWillDismiss(){return v(this.el,"ionPopoverWillDismiss")}render(){const t=P(this),{onLifecycle:e,parentPopover:o,dismissOnSelect:r,side:n,arrow:a,htmlAttributes:p,focusTrap:c}=this,d=D("desktop"),l=a&&!o;return i(s,Object.assign({key:"2edd8333c630efbce59071f8a383e4326e928dbc","aria-modal":"true","no-router":!0,tabindex:"-1"},p,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign(Object.assign({},T(this.cssClass)),{[t]:!0,"popover-translucent":this.translucent,"overlay-hidden":!0,"popover-desktop":d,[`popover-side-${n}`]:!0,[f]:!1===c,"popover-nested":!!o}),onIonPopoverDidPresent:e,onIonPopoverWillPresent:e,onIonPopoverWillDismiss:e,onIonPopoverDidDismiss:e,onIonBackdropTap:this.onBackdropTap}),!o&&i("ion-backdrop",{key:"aac4e68b08197534375e8ea3f8c9ea0c10ab2af4",tappable:this.backdropDismiss,visible:this.showBackdrop,part:"backdrop"}),i("div",{key:"b7f4ebf57d4148b32856b0075d286f454be8de5d",class:"popover-wrapper ion-overlay-wrapper",onClick:r?()=>this.dismiss():void 0},l&&i("div",{key:"607d94c28d73e8e957175a7c0f6e8a99ec4dcd53",class:"popover-arrow",part:"arrow"}),i("div",{key:"4366a5a5de550c09895e923f345583508e1ec30c",class:"popover-content",part:"content"},i("slot",{key:"eb7886fbc99c15b667b7d825d24f1c12d9380f03"}))))}get el(){return this}static get watchers(){return{trigger:[{onTriggerChange:0}],triggerAction:[{onTriggerChange:0}],isOpen:[{onIsOpenChange:0}]}}static get style(){return{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}"}}},[289,"ion-popover",{hasController:[4,"has-controller"],delegate:[16],overlayIndex:[2,"overlay-index"],enterAnimation:[16],leaveAnimation:[16],component:[1],componentProps:[16],keyboardClose:[4,"keyboard-close"],cssClass:[1,"css-class"],backdropDismiss:[4,"backdrop-dismiss"],event:[8],showBackdrop:[4,"show-backdrop"],translucent:[4],animated:[4],htmlAttributes:[16],triggerAction:[1,"trigger-action"],trigger:[1],size:[1],dismissOnSelect:[4,"dismiss-on-select"],reference:[1],side:[1],alignment:[1025],arrow:[4],isOpen:[4,"is-open"],keyboardEvents:[4,"keyboard-events"],focusTrap:[4,"focus-trap"],keepContentsMounted:[4,"keep-contents-mounted"],presented:[32],presentFromTrigger:[64],present:[64],dismiss:[64],getParentPopover:[64],onDidDismiss:[64],onWillDismiss:[64]},void 0,{trigger:[{onTriggerChange:0}],triggerAction:[{onTriggerChange:0}],isOpen:[{onIsOpenChange:0}]}]),_={ionPopoverDidPresent:"ionViewDidEnter",ionPopoverWillPresent:"ionViewWillEnter",ionPopoverWillDismiss:"ionViewWillLeave",ionPopoverDidDismiss:"ionViewDidLeave"};function G(){"undefined"!=typeof customElements&&["ion-popover","ion-backdrop"].forEach((t=>{switch(t){case"ion-popover":customElements.get(n(t))||customElements.define(n(t),Q);break;case"ion-backdrop":customElements.get(n(t))||I()}}))}export{Q as P,G as d}
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
'use strict';
|
|
5
|
-
|
|
6
|
-
var index = require('./index-Ct7gcRif.js');
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Does a simple sanitization of all elements
|
|
10
|
-
* in an untrusted string
|
|
11
|
-
*/
|
|
12
|
-
const sanitizeDOMString = (untrustedString) => {
|
|
13
|
-
try {
|
|
14
|
-
if (untrustedString instanceof IonicSafeString) {
|
|
15
|
-
return untrustedString.value;
|
|
16
|
-
}
|
|
17
|
-
if (!isSanitizerEnabled() || typeof untrustedString !== 'string' || untrustedString === '') {
|
|
18
|
-
return untrustedString;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* onload is fired when appending to a document
|
|
22
|
-
* fragment in Chrome. If a string
|
|
23
|
-
* contains onload then we should not
|
|
24
|
-
* attempt to add this to the fragment.
|
|
25
|
-
*/
|
|
26
|
-
if (untrustedString.includes('onload=')) {
|
|
27
|
-
return '';
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Create a document fragment
|
|
31
|
-
* separate from the main DOM,
|
|
32
|
-
* create a div to do our work in
|
|
33
|
-
*/
|
|
34
|
-
const documentFragment = document.createDocumentFragment();
|
|
35
|
-
const workingDiv = document.createElement('div');
|
|
36
|
-
documentFragment.appendChild(workingDiv);
|
|
37
|
-
workingDiv.innerHTML = untrustedString;
|
|
38
|
-
/**
|
|
39
|
-
* Remove any elements
|
|
40
|
-
* that are blocked
|
|
41
|
-
*/
|
|
42
|
-
blockedTags.forEach((blockedTag) => {
|
|
43
|
-
const getElementsToRemove = documentFragment.querySelectorAll(blockedTag);
|
|
44
|
-
for (let elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {
|
|
45
|
-
const element = getElementsToRemove[elementIndex];
|
|
46
|
-
if (element.parentNode) {
|
|
47
|
-
element.parentNode.removeChild(element);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
documentFragment.removeChild(element);
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* We still need to sanitize
|
|
54
|
-
* the children of this element
|
|
55
|
-
* as they are left behind
|
|
56
|
-
*/
|
|
57
|
-
const childElements = getElementChildren(element);
|
|
58
|
-
/* eslint-disable-next-line */
|
|
59
|
-
for (let childIndex = 0; childIndex < childElements.length; childIndex++) {
|
|
60
|
-
sanitizeElement(childElements[childIndex]);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
/**
|
|
65
|
-
* Go through remaining elements and remove
|
|
66
|
-
* non-allowed attribs
|
|
67
|
-
*/
|
|
68
|
-
// IE does not support .children on document fragments, only .childNodes
|
|
69
|
-
const dfChildren = getElementChildren(documentFragment);
|
|
70
|
-
/* eslint-disable-next-line */
|
|
71
|
-
for (let childIndex = 0; childIndex < dfChildren.length; childIndex++) {
|
|
72
|
-
sanitizeElement(dfChildren[childIndex]);
|
|
73
|
-
}
|
|
74
|
-
// Append document fragment to div
|
|
75
|
-
const fragmentDiv = document.createElement('div');
|
|
76
|
-
fragmentDiv.appendChild(documentFragment);
|
|
77
|
-
// First child is always the div we did our work in
|
|
78
|
-
const getInnerDiv = fragmentDiv.querySelector('div');
|
|
79
|
-
return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
|
|
80
|
-
}
|
|
81
|
-
catch (err) {
|
|
82
|
-
index.printIonError('sanitizeDOMString', err);
|
|
83
|
-
return '';
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* Clean up current element based on allowed attributes
|
|
88
|
-
* and then recursively dig down into any child elements to
|
|
89
|
-
* clean those up as well
|
|
90
|
-
*/
|
|
91
|
-
// TODO(FW-2832): type (using Element triggers other type errors as well)
|
|
92
|
-
const sanitizeElement = (element) => {
|
|
93
|
-
// IE uses childNodes, so ignore nodes that are not elements
|
|
94
|
-
if (element.nodeType && element.nodeType !== 1) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* If attributes is not a NamedNodeMap
|
|
99
|
-
* then we should remove the element entirely.
|
|
100
|
-
* This helps avoid DOM Clobbering attacks where
|
|
101
|
-
* attributes is overridden.
|
|
102
|
-
*/
|
|
103
|
-
if (typeof NamedNodeMap !== 'undefined' && !(element.attributes instanceof NamedNodeMap)) {
|
|
104
|
-
element.remove();
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
for (let i = element.attributes.length - 1; i >= 0; i--) {
|
|
108
|
-
const attribute = element.attributes.item(i);
|
|
109
|
-
const attributeName = attribute.name;
|
|
110
|
-
// remove non-allowed attribs
|
|
111
|
-
if (!allowedAttributes.includes(attributeName.toLowerCase())) {
|
|
112
|
-
element.removeAttribute(attributeName);
|
|
113
|
-
continue;
|
|
114
|
-
}
|
|
115
|
-
// clean up any allowed attribs
|
|
116
|
-
// that attempt to do any JS funny-business
|
|
117
|
-
const attributeValue = attribute.value;
|
|
118
|
-
/**
|
|
119
|
-
* We also need to check the property value
|
|
120
|
-
* as javascript: can allow special characters
|
|
121
|
-
* such as 	 and still be valid (i.e. java	script)
|
|
122
|
-
*/
|
|
123
|
-
const propertyValue = element[attributeName];
|
|
124
|
-
/* eslint-disable */
|
|
125
|
-
if ((attributeValue != null && attributeValue.toLowerCase().includes('javascript:')) ||
|
|
126
|
-
(propertyValue != null && propertyValue.toLowerCase().includes('javascript:'))) {
|
|
127
|
-
element.removeAttribute(attributeName);
|
|
128
|
-
}
|
|
129
|
-
/* eslint-enable */
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Sanitize any nested children
|
|
133
|
-
*/
|
|
134
|
-
const childElements = getElementChildren(element);
|
|
135
|
-
/* eslint-disable-next-line */
|
|
136
|
-
for (let i = 0; i < childElements.length; i++) {
|
|
137
|
-
sanitizeElement(childElements[i]);
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
/**
|
|
141
|
-
* IE doesn't always support .children
|
|
142
|
-
* so we revert to .childNodes instead
|
|
143
|
-
*/
|
|
144
|
-
// TODO(FW-2832): type
|
|
145
|
-
const getElementChildren = (el) => {
|
|
146
|
-
return el.children != null ? el.children : el.childNodes;
|
|
147
|
-
};
|
|
148
|
-
const isSanitizerEnabled = () => {
|
|
149
|
-
var _a;
|
|
150
|
-
const win = window;
|
|
151
|
-
const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
|
|
152
|
-
if (config) {
|
|
153
|
-
if (config.get) {
|
|
154
|
-
return config.get('sanitizerEnabled', true);
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
return config.sanitizerEnabled === true || config.sanitizerEnabled === undefined;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
return true;
|
|
161
|
-
};
|
|
162
|
-
const allowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];
|
|
163
|
-
const blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed'];
|
|
164
|
-
class IonicSafeString {
|
|
165
|
-
constructor(value) {
|
|
166
|
-
this.value = value;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
const setupConfig = (config) => {
|
|
171
|
-
const win = window;
|
|
172
|
-
const Ionic = win.Ionic;
|
|
173
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
174
|
-
if (Ionic && Ionic.config && Ionic.config.constructor.name !== 'Object') {
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
win.Ionic = win.Ionic || {};
|
|
178
|
-
win.Ionic.config = Object.assign(Object.assign({}, win.Ionic.config), config);
|
|
179
|
-
return win.Ionic.config;
|
|
180
|
-
};
|
|
181
|
-
const getMode = () => {
|
|
182
|
-
var _a;
|
|
183
|
-
const win = window;
|
|
184
|
-
const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
|
|
185
|
-
if (config) {
|
|
186
|
-
if (config.mode) {
|
|
187
|
-
return config.mode;
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
return config.get('mode');
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
return 'md';
|
|
194
|
-
};
|
|
195
|
-
const ENABLE_HTML_CONTENT_DEFAULT = false;
|
|
196
|
-
|
|
197
|
-
exports.ENABLE_HTML_CONTENT_DEFAULT = ENABLE_HTML_CONTENT_DEFAULT;
|
|
198
|
-
exports.IonicSafeString = IonicSafeString;
|
|
199
|
-
exports.getMode = getMode;
|
|
200
|
-
exports.sanitizeDOMString = sanitizeDOMString;
|
|
201
|
-
exports.setupConfig = setupConfig;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { createAnimation } from "../../../utils/animation/animation";
|
|
5
|
-
/**
|
|
6
|
-
* iOS Picker Enter Animation
|
|
7
|
-
*/
|
|
8
|
-
export const iosEnterAnimation = (baseEl) => {
|
|
9
|
-
const baseAnimation = createAnimation();
|
|
10
|
-
const backdropAnimation = createAnimation();
|
|
11
|
-
const wrapperAnimation = createAnimation();
|
|
12
|
-
backdropAnimation
|
|
13
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
14
|
-
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
15
|
-
.beforeStyles({
|
|
16
|
-
'pointer-events': 'none',
|
|
17
|
-
})
|
|
18
|
-
.afterClearStyles(['pointer-events']);
|
|
19
|
-
wrapperAnimation
|
|
20
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
21
|
-
.fromTo('transform', 'translateY(100%)', 'translateY(0%)');
|
|
22
|
-
return baseAnimation
|
|
23
|
-
.addElement(baseEl)
|
|
24
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
25
|
-
.duration(400)
|
|
26
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
27
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { createAnimation } from "../../../utils/animation/animation";
|
|
5
|
-
/**
|
|
6
|
-
* iOS Picker Leave Animation
|
|
7
|
-
*/
|
|
8
|
-
export const iosLeaveAnimation = (baseEl) => {
|
|
9
|
-
const baseAnimation = createAnimation();
|
|
10
|
-
const backdropAnimation = createAnimation();
|
|
11
|
-
const wrapperAnimation = createAnimation();
|
|
12
|
-
backdropAnimation
|
|
13
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
14
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
|
|
15
|
-
wrapperAnimation
|
|
16
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
17
|
-
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
|
18
|
-
return baseAnimation
|
|
19
|
-
.addElement(baseEl)
|
|
20
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
21
|
-
.duration(400)
|
|
22
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
23
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,300 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Convert a font size to a dynamic font size.
|
|
3
|
-
* Fonts that participate in Dynamic Type should use
|
|
4
|
-
* dynamic font sizes.
|
|
5
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
6
|
-
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
7
|
-
* convert to a unit other than $baselineUnit.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Convert a font size to a dynamic font size but impose
|
|
11
|
-
* a maximum font size.
|
|
12
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
13
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
14
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
15
|
-
* convert to a unit other than $baselineUnit.
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Convert a font size to a dynamic font size but impose
|
|
19
|
-
* a minimum font size.
|
|
20
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
21
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
22
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
23
|
-
* convert to a unit other than $baselineUnit.
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* Convert a font size to a dynamic font size but impose
|
|
27
|
-
* maximum and minimum font sizes.
|
|
28
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
29
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
30
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
31
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
32
|
-
* convert to a unit other than $baselineUnit.
|
|
33
|
-
*/
|
|
34
|
-
/**
|
|
35
|
-
* A heuristic that applies CSS to tablet
|
|
36
|
-
* viewports.
|
|
37
|
-
*
|
|
38
|
-
* Usage:
|
|
39
|
-
* @include tablet-viewport() {
|
|
40
|
-
* :host {
|
|
41
|
-
* background-color: green;
|
|
42
|
-
* }
|
|
43
|
-
* }
|
|
44
|
-
*/
|
|
45
|
-
/**
|
|
46
|
-
* A heuristic that applies CSS to mobile
|
|
47
|
-
* viewports (i.e. phones, not tablets).
|
|
48
|
-
*
|
|
49
|
-
* Usage:
|
|
50
|
-
* @include mobile-viewport() {
|
|
51
|
-
* :host {
|
|
52
|
-
* background-color: blue;
|
|
53
|
-
* }
|
|
54
|
-
* }
|
|
55
|
-
*/
|
|
56
|
-
:host {
|
|
57
|
-
/**
|
|
58
|
-
* @prop --background: Background of the picker
|
|
59
|
-
* @prop --background-rgb: Background of the picker in rgb format
|
|
60
|
-
*
|
|
61
|
-
* @prop --border-radius: Border radius of the picker
|
|
62
|
-
* @prop --border-color: Border color of the picker
|
|
63
|
-
* @prop --border-width: Border width of the picker
|
|
64
|
-
* @prop --border-style: Border style of the picker
|
|
65
|
-
*
|
|
66
|
-
* @prop --min-width: Minimum width of the picker
|
|
67
|
-
* @prop --width: Width of the picker
|
|
68
|
-
* @prop --max-width: Maximum width of the picker
|
|
69
|
-
*
|
|
70
|
-
* @prop --min-height: Minimum height of the picker
|
|
71
|
-
* @prop --height: Height of the picker
|
|
72
|
-
* @prop --max-height: Maximum height of the picker
|
|
73
|
-
*
|
|
74
|
-
* @prop --backdrop-opacity: Opacity of the backdrop
|
|
75
|
-
*/
|
|
76
|
-
--border-radius: 0;
|
|
77
|
-
--border-style: solid;
|
|
78
|
-
--min-width: auto;
|
|
79
|
-
--width: 100%;
|
|
80
|
-
--max-width: 500px;
|
|
81
|
-
--min-height: auto;
|
|
82
|
-
--max-height: auto;
|
|
83
|
-
-moz-osx-font-smoothing: grayscale;
|
|
84
|
-
-webkit-font-smoothing: antialiased;
|
|
85
|
-
top: 0;
|
|
86
|
-
display: block;
|
|
87
|
-
position: absolute;
|
|
88
|
-
width: 100%;
|
|
89
|
-
height: 100%;
|
|
90
|
-
outline: none;
|
|
91
|
-
font-family: var(--ion-font-family, inherit);
|
|
92
|
-
contain: strict;
|
|
93
|
-
user-select: none;
|
|
94
|
-
z-index: 1001;
|
|
95
|
-
}
|
|
96
|
-
:host {
|
|
97
|
-
inset-inline-start: 0;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
:host(.overlay-hidden) {
|
|
101
|
-
display: none;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.picker-wrapper {
|
|
105
|
-
border-radius: var(--border-radius);
|
|
106
|
-
left: 0;
|
|
107
|
-
right: 0;
|
|
108
|
-
bottom: 0;
|
|
109
|
-
-webkit-margin-start: auto;
|
|
110
|
-
margin-inline-start: auto;
|
|
111
|
-
-webkit-margin-end: auto;
|
|
112
|
-
margin-inline-end: auto;
|
|
113
|
-
margin-top: auto;
|
|
114
|
-
margin-bottom: auto;
|
|
115
|
-
transform: translate3d(0, 100%, 0);
|
|
116
|
-
display: flex;
|
|
117
|
-
position: absolute;
|
|
118
|
-
flex-direction: column;
|
|
119
|
-
width: var(--width);
|
|
120
|
-
min-width: var(--min-width);
|
|
121
|
-
max-width: var(--max-width);
|
|
122
|
-
height: var(--height);
|
|
123
|
-
min-height: var(--min-height);
|
|
124
|
-
max-height: var(--max-height);
|
|
125
|
-
border-width: var(--border-width);
|
|
126
|
-
border-style: var(--border-style);
|
|
127
|
-
border-color: var(--border-color);
|
|
128
|
-
background: var(--background);
|
|
129
|
-
contain: strict;
|
|
130
|
-
overflow: hidden;
|
|
131
|
-
z-index: 10;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.picker-toolbar {
|
|
135
|
-
width: 100%;
|
|
136
|
-
background: transparent;
|
|
137
|
-
contain: strict;
|
|
138
|
-
z-index: 1;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.picker-button {
|
|
142
|
-
border: 0;
|
|
143
|
-
font-family: inherit;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
.picker-button:active, .picker-button:focus {
|
|
147
|
-
outline: none;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.picker-columns {
|
|
151
|
-
display: flex;
|
|
152
|
-
position: relative;
|
|
153
|
-
justify-content: center;
|
|
154
|
-
margin-bottom: var(--ion-safe-area-bottom, 0);
|
|
155
|
-
contain: strict;
|
|
156
|
-
overflow: hidden;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
.picker-above-highlight,
|
|
160
|
-
.picker-below-highlight {
|
|
161
|
-
display: none;
|
|
162
|
-
pointer-events: none;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* Convert a font size to a dynamic font size.
|
|
167
|
-
* Fonts that participate in Dynamic Type should use
|
|
168
|
-
* dynamic font sizes.
|
|
169
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
170
|
-
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
171
|
-
* convert to a unit other than $baselineUnit.
|
|
172
|
-
*/
|
|
173
|
-
/**
|
|
174
|
-
* Convert a font size to a dynamic font size but impose
|
|
175
|
-
* a maximum font size.
|
|
176
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
177
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
178
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
179
|
-
* convert to a unit other than $baselineUnit.
|
|
180
|
-
*/
|
|
181
|
-
/**
|
|
182
|
-
* Convert a font size to a dynamic font size but impose
|
|
183
|
-
* a minimum font size.
|
|
184
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
185
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
186
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
187
|
-
* convert to a unit other than $baselineUnit.
|
|
188
|
-
*/
|
|
189
|
-
/**
|
|
190
|
-
* Convert a font size to a dynamic font size but impose
|
|
191
|
-
* maximum and minimum font sizes.
|
|
192
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
193
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
194
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
195
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
196
|
-
* convert to a unit other than $baselineUnit.
|
|
197
|
-
*/
|
|
198
|
-
/**
|
|
199
|
-
* A heuristic that applies CSS to tablet
|
|
200
|
-
* viewports.
|
|
201
|
-
*
|
|
202
|
-
* Usage:
|
|
203
|
-
* @include tablet-viewport() {
|
|
204
|
-
* :host {
|
|
205
|
-
* background-color: green;
|
|
206
|
-
* }
|
|
207
|
-
* }
|
|
208
|
-
*/
|
|
209
|
-
/**
|
|
210
|
-
* A heuristic that applies CSS to mobile
|
|
211
|
-
* viewports (i.e. phones, not tablets).
|
|
212
|
-
*
|
|
213
|
-
* Usage:
|
|
214
|
-
* @include mobile-viewport() {
|
|
215
|
-
* :host {
|
|
216
|
-
* background-color: blue;
|
|
217
|
-
* }
|
|
218
|
-
* }
|
|
219
|
-
*/
|
|
220
|
-
:host {
|
|
221
|
-
--background: var(--ion-background-color, #fff);
|
|
222
|
-
--border-width: 1px 0 0;
|
|
223
|
-
--border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));
|
|
224
|
-
--height: 260px;
|
|
225
|
-
--backdrop-opacity: var(--ion-backdrop-opacity, 0.26);
|
|
226
|
-
color: var(--ion-item-color, var(--ion-text-color, #000));
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
.picker-toolbar {
|
|
230
|
-
display: flex;
|
|
231
|
-
height: 44px;
|
|
232
|
-
border-bottom: 0.55px solid var(--border-color);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
.picker-toolbar-button {
|
|
236
|
-
flex: 1;
|
|
237
|
-
text-align: end;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
.picker-toolbar-button:last-child .picker-button {
|
|
241
|
-
font-weight: 600;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
.picker-toolbar-button:first-child {
|
|
245
|
-
font-weight: normal;
|
|
246
|
-
text-align: start;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
.picker-button,
|
|
250
|
-
.picker-button.ion-activated {
|
|
251
|
-
margin-left: 0;
|
|
252
|
-
margin-right: 0;
|
|
253
|
-
margin-top: 0;
|
|
254
|
-
margin-bottom: 0;
|
|
255
|
-
-webkit-padding-start: 1em;
|
|
256
|
-
padding-inline-start: 1em;
|
|
257
|
-
-webkit-padding-end: 1em;
|
|
258
|
-
padding-inline-end: 1em;
|
|
259
|
-
padding-top: 0;
|
|
260
|
-
padding-bottom: 0;
|
|
261
|
-
height: 44px;
|
|
262
|
-
background: transparent;
|
|
263
|
-
color: var(--ion-color-primary, #0054e9);
|
|
264
|
-
font-size: 16px;
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
.picker-columns {
|
|
268
|
-
height: 215px;
|
|
269
|
-
perspective: 1000px;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
.picker-above-highlight {
|
|
273
|
-
top: 0;
|
|
274
|
-
transform: translate3d(0, 0, 90px);
|
|
275
|
-
display: block;
|
|
276
|
-
position: absolute;
|
|
277
|
-
width: 100%;
|
|
278
|
-
height: 81px;
|
|
279
|
-
border-bottom: 1px solid var(--border-color);
|
|
280
|
-
background: linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
|
|
281
|
-
z-index: 10;
|
|
282
|
-
}
|
|
283
|
-
.picker-above-highlight {
|
|
284
|
-
inset-inline-start: 0;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
.picker-below-highlight {
|
|
288
|
-
top: 115px;
|
|
289
|
-
transform: translate3d(0, 0, 90px);
|
|
290
|
-
display: block;
|
|
291
|
-
position: absolute;
|
|
292
|
-
width: 100%;
|
|
293
|
-
height: 119px;
|
|
294
|
-
border-top: 1px solid var(--border-color);
|
|
295
|
-
background: linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
|
|
296
|
-
z-index: 11;
|
|
297
|
-
}
|
|
298
|
-
.picker-below-highlight {
|
|
299
|
-
inset-inline-start: 0;
|
|
300
|
-
}
|