@ionic/core 8.8.14-dev.11783706459.1d5a7aae → 8.8.14-dev.11783969828.1f28d893
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-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-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker-legacy-column.d.ts +11 -0
- package/components/ion-picker-legacy-column.js +4 -0
- package/components/ion-picker-legacy.d.ts +11 -0
- package/components/ion-picker-legacy.js +4 -0
- 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-DpV-p5Xs.js → p-5bE_Wz4Y.js} +1 -1
- package/components/{p-r0aq7dpt.js → p-B60hm8Qv.js} +1 -1
- package/components/{p-Buf_7zcy.js → p-BHrrc-3d.js} +1 -1
- package/components/{p-XJWMAP8m.js → p-BLmJ0zRm.js} +1 -1
- package/components/{p-DhkITZ-y.js → p-BSEgsdFI.js} +1 -1
- package/components/p-BUcrNuxp.js +4 -0
- package/components/p-BjfgFSSR.js +4 -0
- package/components/p-BsPelv04.js +4 -0
- package/components/p-BylFVz1e.js +4 -0
- package/components/p-CMVYv6xu.js +4 -0
- package/components/p-CSRA1aW0.js +4 -0
- package/components/p-CU5rbWAW.js +4 -0
- package/components/{p-Dz74mwlk.js → p-Cfx4M1Bn.js} +1 -1
- package/components/p-Ch5WJNJF.js +4 -0
- package/components/p-DoL_wAtc.js +4 -0
- package/components/p-k_E4tX5Z.js +4 -0
- package/components/p-qiecYdXI.js +4 -0
- package/components/{p-wk2QqrAo.js → p-rCa2eL0j.js} +1 -1
- package/dist/cjs/config-xninhj0J.js +201 -0
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -27
- package/dist/cjs/ion-alert.cjs.entry.js +25 -64
- package/dist/cjs/ion-app_8.cjs.entry.js +9 -23
- 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-button.cjs.entry.js +10 -4
- package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +656 -12
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -3
- 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 +5 -10
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +31 -23
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -3
- package/dist/cjs/ion-picker-column.cjs.entry.js +10 -4
- package/dist/cjs/ion-popover.cjs.entry.js +5 -9
- 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 +5 -6
- 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 +30 -84
- package/dist/cjs/ion-select_3.cjs.entry.js +49 -407
- 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 +5 -6
- 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/{overlays-DSmSrd_4.js → overlays-BeMrOwMt.js} +16 -27
- package/dist/collection/collection-manifest.json +10 -6
- package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -229
- package/dist/collection/components/action-sheet/action-sheet.js +5 -24
- package/dist/collection/components/action-sheet/action-sheet.md.css +2 -175
- package/dist/collection/components/alert/alert.ios.css +10 -280
- package/dist/collection/components/alert/alert.js +21 -59
- package/dist/collection/components/alert/alert.md.css +20 -269
- package/dist/collection/components/datetime/datetime.ios.css +2 -42
- package/dist/collection/components/datetime/datetime.js +17 -10
- package/dist/collection/components/datetime/datetime.md.css +1 -42
- package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -5
- package/dist/collection/components/datetime-button/datetime-button.js +10 -3
- package/dist/collection/components/datetime-button/datetime-button.md.css +0 -5
- package/dist/collection/components/input/input.js +8 -8
- package/dist/collection/components/loading/loading.js +3 -7
- package/dist/collection/components/modal/gestures/sheet.js +8 -0
- package/dist/collection/components/modal/gestures/swipe-to-close.js +8 -0
- package/dist/collection/components/modal/modal.ios.css +8 -0
- package/dist/collection/components/modal/modal.js +15 -23
- package/dist/collection/components/modal/modal.md.css +8 -0
- package/dist/collection/components/picker-column/picker-column.css +0 -3
- package/dist/collection/components/picker-column/picker-column.js +11 -4
- package/dist/collection/components/picker-column-option/picker-column-option.js +10 -3
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +1 -6
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
- package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
- package/dist/collection/components/picker-legacy/picker.js +890 -0
- package/dist/collection/components/picker-legacy/picker.md.css +287 -0
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
- package/dist/collection/components/popover/popover.ios.css +0 -15
- package/dist/collection/components/popover/popover.js +3 -7
- package/dist/collection/components/popover/popover.md.css +0 -15
- 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 +5 -38
- 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 +0 -33
- package/dist/collection/components/select/select.js +16 -323
- package/dist/collection/components/select/select.md.css +0 -33
- package/dist/collection/components/select-modal/select-modal.ios.css +0 -219
- package/dist/collection/components/select-modal/select-modal.js +26 -79
- package/dist/collection/components/select-modal/select-modal.md.css +0 -165
- package/dist/collection/components/select-option/select-option.js +3 -67
- package/dist/collection/components/select-popover/select-popover.ios.css +0 -219
- package/dist/collection/components/select-popover/select-popover.js +26 -78
- package/dist/collection/components/select-popover/select-popover.md.css +0 -165
- 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/overlays.js +15 -26
- package/dist/collection/utils/sanitization/index.js +18 -274
- package/dist/docs.json +1160 -440
- package/dist/esm/config-DQCONYYp.js +195 -0
- package/dist/esm/{index-AlrZKoWR.js → index-DV3sJJW8.js} +1 -1
- package/dist/esm/index.js +2 -3
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +7 -27
- package/dist/esm/ion-alert.entry.js +24 -63
- package/dist/esm/ion-app_8.entry.js +9 -23
- 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-button.entry.js +10 -4
- package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +658 -16
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-infinite-scroll_2.entry.js +1 -2
- 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 +4 -9
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +31 -23
- package/dist/esm/ion-picker-column-option.entry.js +9 -3
- package/dist/esm/ion-picker-column.entry.js +10 -4
- package/dist/esm/ion-popover.entry.js +5 -9
- 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 +4 -5
- 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 +30 -84
- package/dist/esm/ion-select_3.entry.js +52 -410
- 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 +4 -5
- 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/{overlays-DLNOHWNc.js → overlays-DBQMGaJ9.js} +17 -28
- package/dist/html.html-data.json +79 -51
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-0124647d.entry.js +4 -0
- package/dist/ionic/p-01f81ea5.entry.js +4 -0
- package/dist/ionic/p-06c232a4.entry.js +4 -0
- package/dist/ionic/{p-fe4aa1db.entry.js → p-0fa9c382.entry.js} +1 -1
- package/dist/ionic/p-20b1a044.entry.js +4 -0
- package/dist/ionic/p-21eb76d5.entry.js +4 -0
- package/dist/ionic/p-27d30585.entry.js +4 -0
- package/dist/ionic/p-2bb2cb18.entry.js +4 -0
- package/dist/ionic/p-305a059a.entry.js +4 -0
- package/dist/ionic/{p-80b44b3c.entry.js → p-3353c229.entry.js} +1 -1
- package/dist/ionic/{p-a7628bc7.entry.js → p-37e720da.entry.js} +1 -1
- package/dist/ionic/{p-9177f4ac.entry.js → p-390ca786.entry.js} +1 -1
- package/dist/ionic/{p-259d0d98.entry.js → p-3a126bca.entry.js} +1 -1
- package/dist/ionic/{p-4502a274.entry.js → p-3a7d1e91.entry.js} +1 -1
- package/dist/ionic/{p-627fabd9.entry.js → p-3ae5f277.entry.js} +1 -1
- package/dist/ionic/{p-a5213260.entry.js → p-4858af1f.entry.js} +1 -1
- package/dist/ionic/p-485fda23.entry.js +4 -0
- package/dist/ionic/{p-c93553d2.entry.js → p-4abbd79c.entry.js} +1 -1
- package/dist/ionic/p-4baa5b82.entry.js +4 -0
- package/dist/ionic/p-5076b325.entry.js +4 -0
- package/dist/ionic/{p-76e92a84.entry.js → p-5d1da0a2.entry.js} +1 -1
- package/dist/ionic/p-6209ed93.entry.js +4 -0
- package/dist/ionic/p-6e3d2097.entry.js +4 -0
- package/dist/ionic/{p-d2c7f046.entry.js → p-75dc25ba.entry.js} +1 -1
- package/dist/ionic/{p-b9ac1fe0.entry.js → p-84d5ce05.entry.js} +1 -1
- package/dist/ionic/{p-51cd1643.entry.js → p-874b4bd8.entry.js} +1 -1
- package/dist/ionic/{p-ef93ca92.entry.js → p-8eb8ee76.entry.js} +1 -1
- package/dist/ionic/{p-14095ba5.entry.js → p-8fce95d5.entry.js} +1 -1
- package/dist/ionic/{p-db1b6738.entry.js → p-9a65ac7f.entry.js} +1 -1
- package/dist/ionic/{p-7a37b3ce.entry.js → p-9f1103ce.entry.js} +1 -1
- package/dist/ionic/p-9f8cb0f3.entry.js +4 -0
- package/dist/ionic/p-BnzgTfDG.js +4 -0
- package/dist/ionic/{p-AlrZKoWR.js → p-DV3sJJW8.js} +1 -1
- package/dist/ionic/p-DzWaWHGc.js +4 -0
- package/dist/ionic/p-a1b57bd4.entry.js +4 -0
- package/dist/ionic/p-a21add2f.entry.js +4 -0
- package/dist/ionic/p-c0fb8edd.entry.js +4 -0
- package/dist/ionic/p-c38b648e.entry.js +4 -0
- package/dist/ionic/{p-d8387b99.entry.js → p-c4d8641b.entry.js} +1 -1
- package/dist/ionic/p-ddb2d591.entry.js +4 -0
- package/dist/ionic/{p-629e4703.entry.js → p-e0be05c5.entry.js} +1 -1
- package/dist/ionic/p-e13c6c40.entry.js +4 -0
- package/dist/ionic/p-ec090e0a.entry.js +4 -0
- package/dist/ionic/{p-b1599fca.entry.js → p-ef4c3bee.entry.js} +1 -1
- package/dist/ionic/{p-341032b3.entry.js → p-fabcce6c.entry.js} +1 -1
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +4 -11
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
- package/dist/types/components/picker-legacy/picker.d.ts +158 -0
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
- package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +0 -31
- package/dist/types/components/select/select.d.ts +0 -18
- package/dist/types/components/select-option/select-option.d.ts +1 -42
- package/dist/types/components.d.ts +296 -60
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +1 -0
- package/dist/types/utils/config.d.ts +8 -0
- package/dist/types/utils/overlays.d.ts +9 -11
- package/dist/types/utils/sanitization/index.d.ts +2 -58
- package/hydrate/index.js +1214 -1421
- package/hydrate/index.mjs +1214 -1421
- package/package.json +5 -37
- package/components/p-279dFMvg.js +0 -4
- package/components/p-B7KXos3u.js +0 -4
- package/components/p-BSQPZ79H.js +0 -4
- package/components/p-BimUi1zU.js +0 -4
- package/components/p-BwKpO3Is.js +0 -4
- package/components/p-C-Rx1zny.js +0 -4
- package/components/p-CHzfYZbv.js +0 -4
- package/components/p-D4h1H_hh.js +0 -4
- package/components/p-LMGfIvTf.js +0 -4
- package/components/p-_lHSumhG.js +0 -4
- package/components/p-j9Da6cYO.js +0 -4
- package/components/p-jOtMJMv8.js +0 -4
- package/components/p-uTR_dEqg.js +0 -4
- package/dist/cjs/config-DWdFbSNK.js +0 -35
- package/dist/cjs/index-Cueg3U4w.js +0 -429
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
- package/dist/cjs/select-option-render-DTF50t5r.js +0 -124
- package/dist/collection/utils/overlay-control-label.js +0 -45
- package/dist/collection/utils/select-option-render.js +0 -119
- package/dist/esm/config-BwKpO3Is.js +0 -31
- package/dist/esm/index-DQSkZyOJ.js +0 -424
- package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
- package/dist/esm/select-option-render-B8nWZRnd.js +0 -122
- package/dist/ionic/p-038eb991.entry.js +0 -4
- package/dist/ionic/p-17827b13.entry.js +0 -4
- package/dist/ionic/p-1ebe2739.entry.js +0 -4
- package/dist/ionic/p-4621c387.entry.js +0 -4
- package/dist/ionic/p-4ace7762.entry.js +0 -4
- package/dist/ionic/p-4bb3eb60.entry.js +0 -4
- package/dist/ionic/p-4e9ec5c5.entry.js +0 -4
- package/dist/ionic/p-5c3ec490.entry.js +0 -4
- package/dist/ionic/p-5d1ac2c7.entry.js +0 -4
- package/dist/ionic/p-79a36078.entry.js +0 -4
- package/dist/ionic/p-8b3a64a5.entry.js +0 -4
- package/dist/ionic/p-913b218a.entry.js +0 -4
- package/dist/ionic/p-93a7e5a1.entry.js +0 -4
- package/dist/ionic/p-BDtODLZ4.js +0 -4
- package/dist/ionic/p-BSQPZ79H.js +0 -4
- package/dist/ionic/p-BwKpO3Is.js +0 -4
- package/dist/ionic/p-Cg5-OQYy.js +0 -4
- package/dist/ionic/p-DCOvXkOm.js +0 -4
- package/dist/ionic/p-a9a33367.entry.js +0 -4
- package/dist/ionic/p-ad728198.entry.js +0 -4
- package/dist/ionic/p-bfc8c629.entry.js +0 -4
- package/dist/ionic/p-c08e666a.entry.js +0 -4
- package/dist/ionic/p-ce7992c4.entry.js +0 -4
- package/dist/ionic/p-ed797c72.entry.js +0 -4
- package/dist/ionic/p-f09f9642.entry.js +0 -4
- package/dist/ionic/p-f1c06f82.entry.js +0 -4
- package/dist/types/utils/overlay-control-label.d.ts +0 -32
- package/dist/types/utils/select-option-render.d.ts +0 -53
|
@@ -75,6 +75,12 @@ export class Datetime {
|
|
|
75
75
|
isAdjacentDay: false,
|
|
76
76
|
};
|
|
77
77
|
this.isTimePopoverOpen = false;
|
|
78
|
+
/**
|
|
79
|
+
* The color to use from your application's color palette.
|
|
80
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
81
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
82
|
+
*/
|
|
83
|
+
this.color = 'primary';
|
|
78
84
|
/**
|
|
79
85
|
* The name of the control, which is submitted with the form data.
|
|
80
86
|
*/
|
|
@@ -1250,7 +1256,7 @@ export class Datetime {
|
|
|
1250
1256
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
|
|
1251
1257
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
|
|
1252
1258
|
ev.stopPropagation();
|
|
1253
|
-
} }, items.map((item) => (h("ion-picker-column-option", {
|
|
1259
|
+
} }, items.map((item) => (h("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
|
|
1254
1260
|
}
|
|
1255
1261
|
renderIndividualDatePickerColumns(forcePresentation) {
|
|
1256
1262
|
const { workingParts, isDateEnabled } = this;
|
|
@@ -1323,7 +1329,7 @@ export class Datetime {
|
|
|
1323
1329
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
|
|
1324
1330
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
|
|
1325
1331
|
ev.stopPropagation();
|
|
1326
|
-
} }, days.map((day) => (h("ion-picker-column-option", {
|
|
1332
|
+
} }, days.map((day) => (h("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
|
|
1327
1333
|
}
|
|
1328
1334
|
renderMonthPickerColumn(months) {
|
|
1329
1335
|
if (months.length === 0) {
|
|
@@ -1338,7 +1344,7 @@ export class Datetime {
|
|
|
1338
1344
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
|
|
1339
1345
|
}
|
|
1340
1346
|
ev.stopPropagation();
|
|
1341
|
-
} }, months.map((month) => (h("ion-picker-column-option", {
|
|
1347
|
+
} }, months.map((month) => (h("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
|
|
1342
1348
|
}
|
|
1343
1349
|
renderYearPickerColumn(years) {
|
|
1344
1350
|
if (years.length === 0) {
|
|
@@ -1353,7 +1359,7 @@ export class Datetime {
|
|
|
1353
1359
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
|
|
1354
1360
|
}
|
|
1355
1361
|
ev.stopPropagation();
|
|
1356
|
-
} }, years.map((year) => (h("ion-picker-column-option", {
|
|
1362
|
+
} }, years.map((year) => (h("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
|
|
1357
1363
|
}
|
|
1358
1364
|
renderTimePickerColumns(forcePresentation) {
|
|
1359
1365
|
if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
|
|
@@ -1386,7 +1392,7 @@ export class Datetime {
|
|
|
1386
1392
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
1387
1393
|
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
|
|
1388
1394
|
ev.stopPropagation();
|
|
1389
|
-
} }, hoursData.map((hour) => (h("ion-picker-column-option", {
|
|
1395
|
+
} }, hoursData.map((hour) => (h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
|
|
1390
1396
|
}
|
|
1391
1397
|
renderMinutePickerColumn(minutesData) {
|
|
1392
1398
|
const { disabled, workingParts } = this;
|
|
@@ -1397,7 +1403,7 @@ export class Datetime {
|
|
|
1397
1403
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
1398
1404
|
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
|
|
1399
1405
|
ev.stopPropagation();
|
|
1400
|
-
} }, minutesData.map((minute) => (h("ion-picker-column-option", {
|
|
1406
|
+
} }, minutesData.map((minute) => (h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
|
|
1401
1407
|
}
|
|
1402
1408
|
renderDayPeriodPickerColumn(dayPeriodData) {
|
|
1403
1409
|
const { disabled, workingParts } = this;
|
|
@@ -1411,7 +1417,7 @@ export class Datetime {
|
|
|
1411
1417
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
1412
1418
|
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
|
|
1413
1419
|
ev.stopPropagation();
|
|
1414
|
-
} }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", {
|
|
1420
|
+
} }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
|
|
1415
1421
|
}
|
|
1416
1422
|
renderWheelView(forcePresentation) {
|
|
1417
1423
|
const { locale } = this;
|
|
@@ -1748,7 +1754,7 @@ export class Datetime {
|
|
|
1748
1754
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1749
1755
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1750
1756
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1751
|
-
return (h(Host, { key: '
|
|
1757
|
+
return (h(Host, { key: '5e0b83cb88a87945eaae2f9402751819b75452ee', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1752
1758
|
[mode]: true,
|
|
1753
1759
|
['datetime-readonly']: readonly,
|
|
1754
1760
|
['datetime-disabled']: disabled,
|
|
@@ -1758,7 +1764,7 @@ export class Datetime {
|
|
|
1758
1764
|
[`datetime-size-${size}`]: true,
|
|
1759
1765
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1760
1766
|
[`datetime-grid`]: isGridStyle,
|
|
1761
|
-
})) }, h("div", { key: '
|
|
1767
|
+
})) }, h("div", { key: '9f9ba72e9879525961b00abe342a7891492ca0ff', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
1762
1768
|
}
|
|
1763
1769
|
static get is() { return "ion-datetime"; }
|
|
1764
1770
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1800,7 +1806,8 @@ export class Datetime {
|
|
|
1800
1806
|
"getter": false,
|
|
1801
1807
|
"setter": false,
|
|
1802
1808
|
"reflect": false,
|
|
1803
|
-
"attribute": "color"
|
|
1809
|
+
"attribute": "color",
|
|
1810
|
+
"defaultValue": "'primary'"
|
|
1804
1811
|
},
|
|
1805
1812
|
"name": {
|
|
1806
1813
|
"type": "string",
|
|
@@ -218,10 +218,6 @@
|
|
|
218
218
|
justify-content: space-between;
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
-
:host .datetime-action-buttons ion-button {
|
|
222
|
-
--color: var(--ion-color-primary, #0054e9);
|
|
223
|
-
}
|
|
224
|
-
|
|
225
221
|
/**
|
|
226
222
|
* The confirm and clear buttons are grouped in a
|
|
227
223
|
* container so that they appear on the end opposite
|
|
@@ -376,11 +372,6 @@
|
|
|
376
372
|
}
|
|
377
373
|
|
|
378
374
|
.calendar-day:not(.calendar-day-adjacent-day):focus {
|
|
379
|
-
background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
|
|
380
|
-
box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
:host(.ion-color) .calendar-day:not(.calendar-day-adjacent-day):focus {
|
|
384
375
|
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
385
376
|
box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
|
|
386
377
|
}
|
|
@@ -425,10 +416,6 @@
|
|
|
425
416
|
}
|
|
426
417
|
|
|
427
418
|
:host .time-body-active {
|
|
428
|
-
color: var(--ion-color-primary, #0054e9);
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
:host(.ion-color) .time-body-active {
|
|
432
419
|
color: var(--ion-color-base);
|
|
433
420
|
}
|
|
434
421
|
|
|
@@ -437,10 +424,6 @@
|
|
|
437
424
|
}
|
|
438
425
|
|
|
439
426
|
:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
|
|
440
|
-
color: var(--ion-color-primary, #0054e9);
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
:host(.ion-color.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
|
|
444
427
|
color: var(--ion-color-base);
|
|
445
428
|
}
|
|
446
429
|
|
|
@@ -565,10 +548,6 @@ ion-picker {
|
|
|
565
548
|
*/
|
|
566
549
|
:host {
|
|
567
550
|
--background: var(--ion-color-step-100, var(--ion-background-color-step-100, #ffffff));
|
|
568
|
-
--title-color: var(--ion-color-primary-contrast, #fff);
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
:host(.ion-color) {
|
|
572
551
|
--title-color: var(--ion-color-contrast);
|
|
573
552
|
}
|
|
574
553
|
|
|
@@ -579,12 +558,8 @@ ion-picker {
|
|
|
579
558
|
padding-inline-end: 20px;
|
|
580
559
|
padding-top: 20px;
|
|
581
560
|
padding-bottom: 20px;
|
|
582
|
-
background: var(--ion-color-primary, #0054e9);
|
|
583
|
-
color: var(--title-color);
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
:host(.ion-color) .datetime-header {
|
|
587
561
|
background: var(--ion-color-base);
|
|
562
|
+
color: var(--title-color);
|
|
588
563
|
}
|
|
589
564
|
|
|
590
565
|
:host .datetime-header .datetime-title {
|
|
@@ -668,11 +643,6 @@ ion-picker {
|
|
|
668
643
|
* should have ion-color for text color.
|
|
669
644
|
*/
|
|
670
645
|
:host .calendar-day.calendar-day-today {
|
|
671
|
-
border: 1px solid var(--ion-color-primary, #0054e9);
|
|
672
|
-
color: var(--ion-color-primary, #0054e9);
|
|
673
|
-
}
|
|
674
|
-
|
|
675
|
-
:host(.ion-color) .calendar-day.calendar-day-today {
|
|
676
646
|
border: 1px solid var(--ion-color-base);
|
|
677
647
|
color: var(--ion-color-base);
|
|
678
648
|
}
|
|
@@ -684,22 +654,11 @@ ion-picker {
|
|
|
684
654
|
*/
|
|
685
655
|
:host .calendar-day.calendar-day-active,
|
|
686
656
|
:host .calendar-day.calendar-day-adjacent-day.calendar-day-active {
|
|
687
|
-
color: var(--ion-color-primary-contrast, #fff);
|
|
688
|
-
}
|
|
689
|
-
|
|
690
|
-
:host(.ion-color) .calendar-day.calendar-day-active,
|
|
691
|
-
:host(.ion-color) .calendar-day.calendar-day-adjacent-day.calendar-day-active {
|
|
692
657
|
color: var(--ion-color-contrast);
|
|
693
658
|
}
|
|
694
659
|
|
|
695
660
|
.calendar-day.calendar-day-active,
|
|
696
661
|
.calendar-day.calendar-day-active:focus {
|
|
697
|
-
border: 1px solid var(--ion-color-primary, #0054e9);
|
|
698
|
-
background: var(--ion-color-primary, #0054e9);
|
|
699
|
-
}
|
|
700
|
-
|
|
701
|
-
:host(.ion-color) .calendar-day.calendar-day-active,
|
|
702
|
-
:host(.ion-color) .calendar-day.calendar-day-active:focus {
|
|
703
662
|
border: 1px solid var(--ion-color-base);
|
|
704
663
|
background: var(--ion-color-base);
|
|
705
664
|
}
|
|
@@ -82,11 +82,6 @@
|
|
|
82
82
|
|
|
83
83
|
:host(.time-active) #time-button,
|
|
84
84
|
:host(.date-active) #date-button {
|
|
85
|
-
color: var(--ion-color-primary, #0054e9);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
:host(.ion-color.time-active) #time-button,
|
|
89
|
-
:host(.ion-color.date-active) #date-button {
|
|
90
85
|
color: var(--ion-color-base);
|
|
91
86
|
}
|
|
92
87
|
|
|
@@ -23,6 +23,12 @@ export class DatetimeButton {
|
|
|
23
23
|
this.overlayEl = null;
|
|
24
24
|
this.datetimePresentation = 'date-time';
|
|
25
25
|
this.datetimeActive = false;
|
|
26
|
+
/**
|
|
27
|
+
* The color to use from your application's color palette.
|
|
28
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
29
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
30
|
+
*/
|
|
31
|
+
this.color = 'primary';
|
|
26
32
|
/**
|
|
27
33
|
* If `true`, the user cannot interact with the button.
|
|
28
34
|
*/
|
|
@@ -336,11 +342,11 @@ export class DatetimeButton {
|
|
|
336
342
|
render() {
|
|
337
343
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
338
344
|
const mode = getIonMode(this);
|
|
339
|
-
return (h(Host, { key: '
|
|
345
|
+
return (h(Host, { key: 'c28e5e428111f18eaceb030dca8aba5579867eaa', class: createColorClasses(color, {
|
|
340
346
|
[mode]: true,
|
|
341
347
|
[`${selectedButton}-active`]: datetimeActive,
|
|
342
348
|
['datetime-button-disabled']: disabled,
|
|
343
|
-
}) }, dateText && (h("button", { key: '
|
|
349
|
+
}) }, dateText && (h("button", { key: 'a08f41b3150ef7171d0f1d9b3d69b51be67b7b84', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: '35ee68ca1cea59f03e1b59b72606e618141c8e1f', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '4be53227aaf0acd20e8ebbff9f645140e8a96f33' }))), timeText && (h("button", { key: 'ab500f9b78f8c194180073eaf7325041adbd02f7', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: '5822486dfdedba6c071a0f5233cc06f8321a1f5d', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '054a4acb811a98cc6d9bb6a3cf51232a1f09b0ea' })))));
|
|
344
350
|
}
|
|
345
351
|
static get is() { return "ion-datetime-button"; }
|
|
346
352
|
static get encapsulation() { return "shadow"; }
|
|
@@ -382,7 +388,8 @@ export class DatetimeButton {
|
|
|
382
388
|
"getter": false,
|
|
383
389
|
"setter": false,
|
|
384
390
|
"reflect": true,
|
|
385
|
-
"attribute": "color"
|
|
391
|
+
"attribute": "color",
|
|
392
|
+
"defaultValue": "'primary'"
|
|
386
393
|
},
|
|
387
394
|
"disabled": {
|
|
388
395
|
"type": "boolean",
|
|
@@ -82,11 +82,6 @@
|
|
|
82
82
|
|
|
83
83
|
:host(.time-active) #time-button,
|
|
84
84
|
:host(.date-active) #date-button {
|
|
85
|
-
color: var(--ion-color-primary, #0054e9);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
:host(.ion-color.time-active) #time-button,
|
|
89
|
-
:host(.ion-color.date-active) #date-button {
|
|
90
85
|
color: var(--ion-color-base);
|
|
91
86
|
}
|
|
92
87
|
|
|
@@ -56,7 +56,7 @@ export class Input {
|
|
|
56
56
|
/**
|
|
57
57
|
* Whether auto correction should be enabled when the user is entering/editing the text value.
|
|
58
58
|
*/
|
|
59
|
-
this.autocorrect =
|
|
59
|
+
this.autocorrect = 'off';
|
|
60
60
|
/**
|
|
61
61
|
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
62
62
|
*
|
|
@@ -540,7 +540,7 @@ export class Input {
|
|
|
540
540
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
541
541
|
*/
|
|
542
542
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
543
|
-
return (h(Host, { key: '
|
|
543
|
+
return (h(Host, { key: '9ba9cf425b573d2ca9ac34455a0e6b8474c4de6d', class: createColorClasses(this.color, {
|
|
544
544
|
[mode]: true,
|
|
545
545
|
'has-value': hasValue,
|
|
546
546
|
'has-focus': hasFocus,
|
|
@@ -551,14 +551,14 @@ export class Input {
|
|
|
551
551
|
'in-item': inItem,
|
|
552
552
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
553
553
|
'input-disabled': disabled,
|
|
554
|
-
}) }, h("label", { key: '
|
|
554
|
+
}) }, h("label", { key: '74b989d0aa5ab38f29f952519868f05119df6005', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '47f2b42e2f74ea866b4f871026e08ab375d7a726', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'eaabe5a4a329a356cac3294d15c087d0d131fff2', name: "start" }), h("input", Object.assign({ key: 'c821a984a8a9b7f96f30892c06d8deda093ff24b', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '62069c11016ee190dc46ab941372e1c4ad8a36ed', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
555
555
|
/**
|
|
556
556
|
* This prevents mobile browsers from
|
|
557
557
|
* blurring the input when the clear
|
|
558
558
|
* button is activated.
|
|
559
559
|
*/
|
|
560
560
|
ev.preventDefault();
|
|
561
|
-
}, onClick: this.clearTextInput }, h("ion-icon", { key: '
|
|
561
|
+
}, onClick: this.clearTextInput }, h("ion-icon", { key: 'dd75a516d32110d85382b664c663bd41f177ce12', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '330d4b9389f2c62223a5ee24003e96ef3e6b2473', name: "end" })), shouldRenderHighlight && h("div", { key: '8e442bed130ddc84976ab70fd3f8578d6bcc6316', class: "input-highlight" })), this.renderBottomContent()));
|
|
562
562
|
}
|
|
563
563
|
static get is() { return "ion-input"; }
|
|
564
564
|
static get encapsulation() { return "scoped"; }
|
|
@@ -650,11 +650,11 @@ export class Input {
|
|
|
650
650
|
"defaultValue": "'off'"
|
|
651
651
|
},
|
|
652
652
|
"autocorrect": {
|
|
653
|
-
"type": "
|
|
653
|
+
"type": "string",
|
|
654
654
|
"mutable": false,
|
|
655
655
|
"complexType": {
|
|
656
|
-
"original": "
|
|
657
|
-
"resolved": "
|
|
656
|
+
"original": "'on' | 'off'",
|
|
657
|
+
"resolved": "\"off\" | \"on\"",
|
|
658
658
|
"references": {}
|
|
659
659
|
},
|
|
660
660
|
"required": false,
|
|
@@ -667,7 +667,7 @@ export class Input {
|
|
|
667
667
|
"setter": false,
|
|
668
668
|
"reflect": false,
|
|
669
669
|
"attribute": "autocorrect",
|
|
670
|
-
"defaultValue": "
|
|
670
|
+
"defaultValue": "'off'"
|
|
671
671
|
},
|
|
672
672
|
"autofocus": {
|
|
673
673
|
"type": "boolean",
|
|
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
|
|
6
6
|
import { raf } from "../../utils/helpers";
|
|
7
7
|
import { createLockController } from "../../utils/lock-controller";
|
|
8
|
-
import { BACKDROP,
|
|
8
|
+
import { BACKDROP, dismiss, eventMethod, prepareOverlay, present, createDelegateController, createTriggerController, setOverlayId, } from "../../utils/overlays";
|
|
9
9
|
import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
10
10
|
import { getClassMap } from "../../utils/theme";
|
|
11
11
|
import { config } from "../../global/config";
|
|
@@ -114,10 +114,6 @@ export class Loading {
|
|
|
114
114
|
}
|
|
115
115
|
disconnectedCallback() {
|
|
116
116
|
this.triggerController.removeClickListener();
|
|
117
|
-
// Clean up aria-hidden if removed without dismiss() being called
|
|
118
|
-
if (this.presented) {
|
|
119
|
-
cleanupRootFocusTrapAccessibility();
|
|
120
|
-
}
|
|
121
117
|
}
|
|
122
118
|
/**
|
|
123
119
|
* Present the loading overlay after it has been created.
|
|
@@ -183,9 +179,9 @@ export class Loading {
|
|
|
183
179
|
* Otherwise, don't set aria-labelledby.
|
|
184
180
|
*/
|
|
185
181
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
186
|
-
return (h(Host, Object.assign({ key: '
|
|
182
|
+
return (h(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
187
183
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
188
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '
|
|
184
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
|
|
189
185
|
}
|
|
190
186
|
static get is() { return "ion-loading"; }
|
|
191
187
|
static get encapsulation() { return "scoped"; }
|
|
@@ -223,7 +223,14 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
223
223
|
}
|
|
224
224
|
return true;
|
|
225
225
|
};
|
|
226
|
+
/**
|
|
227
|
+
* In Firefox, pressing over a text caret in the focusable wrapper can
|
|
228
|
+
* start a native drag that swallows the gesture's pointer events.
|
|
229
|
+
* Cancel native drag while the gesture is active.
|
|
230
|
+
*/
|
|
231
|
+
const preventNativeDragStart = (ev) => ev.preventDefault();
|
|
226
232
|
const onStart = (detail) => {
|
|
233
|
+
baseEl.addEventListener('dragstart', preventNativeDragStart);
|
|
227
234
|
/**
|
|
228
235
|
* If canDismiss is anything other than `true`
|
|
229
236
|
* then users should be able to swipe down
|
|
@@ -350,6 +357,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
350
357
|
onDragMove(eventDetail);
|
|
351
358
|
};
|
|
352
359
|
const onEnd = (detail) => {
|
|
360
|
+
baseEl.removeEventListener('dragstart', preventNativeDragStart);
|
|
353
361
|
const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
|
|
354
362
|
const eventDetail = {
|
|
355
363
|
currentY: detail.currentY,
|
|
@@ -95,8 +95,15 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
|
|
|
95
95
|
}
|
|
96
96
|
return false;
|
|
97
97
|
};
|
|
98
|
+
/**
|
|
99
|
+
* In Firefox, pressing over a text caret in the focusable wrapper can
|
|
100
|
+
* start a native drag that swallows the gesture's pointer events.
|
|
101
|
+
* Cancel native drag while the gesture is active.
|
|
102
|
+
*/
|
|
103
|
+
const preventNativeDragStart = (ev) => ev.preventDefault();
|
|
98
104
|
const onStart = (detail) => {
|
|
99
105
|
const { deltaY } = detail;
|
|
106
|
+
el.addEventListener('dragstart', preventNativeDragStart);
|
|
100
107
|
/**
|
|
101
108
|
* Get the initial scrollY value so
|
|
102
109
|
* that we can correctly reset the scrollY
|
|
@@ -199,6 +206,7 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
|
|
|
199
206
|
onDragMove(eventDetail);
|
|
200
207
|
};
|
|
201
208
|
const onEnd = (detail) => {
|
|
209
|
+
el.removeEventListener('dragstart', preventNativeDragStart);
|
|
202
210
|
const velocity = detail.velocityY;
|
|
203
211
|
const step = detail.deltaY / height;
|
|
204
212
|
const isAttemptingDismissWithCanDismiss = step >= 0 && canDismissBlocksGesture;
|
|
@@ -126,6 +126,14 @@ ion-backdrop {
|
|
|
126
126
|
z-index: 10;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
+
/**
|
|
130
|
+
* The wrapper is focused on present (see modal.tsx); suppress its focus
|
|
131
|
+
* ring, matching the host above.
|
|
132
|
+
*/
|
|
133
|
+
.modal-wrapper {
|
|
134
|
+
outline: none;
|
|
135
|
+
}
|
|
136
|
+
|
|
129
137
|
.modal-shadow {
|
|
130
138
|
position: absolute;
|
|
131
139
|
background: transparent;
|
|
@@ -8,7 +8,7 @@ import { raf, inheritAttributes, hasLazyBuild, getElementRoot } from "../../util
|
|
|
8
8
|
import { createLockController } from "../../utils/lock-controller";
|
|
9
9
|
import { printIonWarning } from "../../utils/logging/index";
|
|
10
10
|
import { Style as StatusBarStyle, StatusBar } from "../../utils/native/status-bar";
|
|
11
|
-
import {
|
|
11
|
+
import { GESTURE, BACKDROP, dismiss, eventMethod, prepareOverlay, present, createTriggerController, setOverlayId, FOCUS_TRAP_DISABLE_CLASS, } from "../../utils/overlays";
|
|
12
12
|
import { getClassMap } from "../../utils/theme";
|
|
13
13
|
import { deepReady, waitForMount } from "../../utils/transition/index";
|
|
14
14
|
import { config } from "../../global/config";
|
|
@@ -77,20 +77,13 @@ export class Modal {
|
|
|
77
77
|
/**
|
|
78
78
|
* The interaction behavior for the sheet modal when the handle is pressed.
|
|
79
79
|
*
|
|
80
|
-
*
|
|
81
|
-
* `
|
|
82
|
-
* fullscreen or card modal).
|
|
80
|
+
* Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
|
|
81
|
+
* Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
|
|
83
82
|
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* operable with assistive technology.
|
|
87
|
-
*
|
|
88
|
-
* Set to `"none"` to make the handle purely decorative when pressed and
|
|
89
|
-
* removed from the tab order.
|
|
90
|
-
*
|
|
91
|
-
* Defaults to `"cycle"`.
|
|
83
|
+
* Handle behavior is unavailable when the `handle` property is set to `false` or
|
|
84
|
+
* when the `breakpoints` property is not set (using a fullscreen or card modal).
|
|
92
85
|
*/
|
|
93
|
-
this.handleBehavior = '
|
|
86
|
+
this.handleBehavior = 'none';
|
|
94
87
|
/**
|
|
95
88
|
* If `true`, the modal will be dismissed when the backdrop is clicked.
|
|
96
89
|
*/
|
|
@@ -282,10 +275,6 @@ export class Modal {
|
|
|
282
275
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
283
276
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
284
277
|
this.cleanupSafeAreaOverrides();
|
|
285
|
-
// Clean up aria-hidden if removed without dismiss() being called
|
|
286
|
-
if (this.presented) {
|
|
287
|
-
cleanupRootFocusTrapAccessibility();
|
|
288
|
-
}
|
|
289
278
|
}
|
|
290
279
|
componentWillLoad() {
|
|
291
280
|
var _a;
|
|
@@ -1173,20 +1162,23 @@ export class Modal {
|
|
|
1173
1162
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1174
1163
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1175
1164
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
1176
|
-
return (h(Host, Object.assign({ key: '
|
|
1165
|
+
return (h(Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
|
|
1177
1166
|
// Allow the modal to be navigable when the handle is focusable
|
|
1178
1167
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
1179
1168
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1180
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '
|
|
1169
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), h("div", Object.assign({ key: '4d84bd3a6b7dd0e349aba843f92129000ce90170',
|
|
1181
1170
|
/*
|
|
1182
1171
|
role and aria-modal must be used on the
|
|
1183
1172
|
same element. They must also be set inside the
|
|
1184
1173
|
shadow DOM otherwise ion-button will not be highlighted
|
|
1185
1174
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
1175
|
+
|
|
1176
|
+
tabIndex={-1} lets present() focus this element (which carries
|
|
1177
|
+
the dialog role) instead of the role-less host.
|
|
1186
1178
|
*/
|
|
1187
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
1179
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '498f9fa839c460f9a586904aa0809a8130e1a05d', class: "modal-handle",
|
|
1188
1180
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1189
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '
|
|
1181
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '668e769738476faa4f7adfbb03b0e72dad57c22b', onSlotchange: this.onSlotChange }))));
|
|
1190
1182
|
}
|
|
1191
1183
|
static get is() { return "ion-modal"; }
|
|
1192
1184
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1458,13 +1450,13 @@ export class Modal {
|
|
|
1458
1450
|
"optional": true,
|
|
1459
1451
|
"docs": {
|
|
1460
1452
|
"tags": [],
|
|
1461
|
-
"text": "The interaction behavior for the sheet modal when the handle is pressed.\n\
|
|
1453
|
+
"text": "The interaction behavior for the sheet modal when the handle is pressed.\n\nDefaults to `\"none\"`, which means the modal will not change size or position when the handle is pressed.\nSet to `\"cycle\"` to let the modal cycle between available breakpoints when pressed.\n\nHandle behavior is unavailable when the `handle` property is set to `false` or\nwhen the `breakpoints` property is not set (using a fullscreen or card modal)."
|
|
1462
1454
|
},
|
|
1463
1455
|
"getter": false,
|
|
1464
1456
|
"setter": false,
|
|
1465
1457
|
"reflect": false,
|
|
1466
1458
|
"attribute": "handle-behavior",
|
|
1467
|
-
"defaultValue": "'
|
|
1459
|
+
"defaultValue": "'none'"
|
|
1468
1460
|
},
|
|
1469
1461
|
"component": {
|
|
1470
1462
|
"type": "string",
|
|
@@ -126,6 +126,14 @@ ion-backdrop {
|
|
|
126
126
|
z-index: 10;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
+
/**
|
|
130
|
+
* The wrapper is focused on present (see modal.tsx); suppress its focus
|
|
131
|
+
* ring, matching the host above.
|
|
132
|
+
*/
|
|
133
|
+
.modal-wrapper {
|
|
134
|
+
outline: none;
|
|
135
|
+
}
|
|
136
|
+
|
|
129
137
|
.modal-shadow {
|
|
130
138
|
position: absolute;
|
|
131
139
|
background: transparent;
|
|
@@ -223,9 +223,6 @@
|
|
|
223
223
|
@media (any-hover: hover) {
|
|
224
224
|
:host(:focus) .picker-opts {
|
|
225
225
|
outline: none;
|
|
226
|
-
background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
|
|
227
|
-
}
|
|
228
|
-
:host(.ion-color:focus) .picker-opts {
|
|
229
226
|
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
230
227
|
}
|
|
231
228
|
}
|
|
@@ -26,6 +26,12 @@ export class PickerColumn {
|
|
|
26
26
|
* If `true`, the user cannot interact with the picker.
|
|
27
27
|
*/
|
|
28
28
|
this.disabled = false;
|
|
29
|
+
/**
|
|
30
|
+
* The color to use from your application's color palette.
|
|
31
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
32
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
33
|
+
*/
|
|
34
|
+
this.color = 'primary';
|
|
29
35
|
/**
|
|
30
36
|
* If `true`, tapping the picker will
|
|
31
37
|
* reveal a number input keyboard that lets
|
|
@@ -545,14 +551,14 @@ export class PickerColumn {
|
|
|
545
551
|
render() {
|
|
546
552
|
const { color, disabled, isActive, numericInput } = this;
|
|
547
553
|
const mode = getIonMode(this);
|
|
548
|
-
return (h(Host, { key: '
|
|
554
|
+
return (h(Host, { key: '234c96a501d7ac413b9b0ea56b33017681e25b40', class: createColorClasses(color, {
|
|
549
555
|
[mode]: true,
|
|
550
556
|
['picker-column-active']: isActive,
|
|
551
557
|
['picker-column-numeric-input']: numericInput,
|
|
552
558
|
['picker-column-disabled']: disabled,
|
|
553
|
-
}) }, h("slot", { key: '
|
|
559
|
+
}) }, h("slot", { key: '9dc15ea0601ddd2cb2e0a745e91e036a8bd96f8b', name: "prefix" }), h("div", { key: 'de4fe28ee4bc46b7c0420d6ab0df0e7809443da9', class: "picker-opts", ref: (el) => {
|
|
554
560
|
this.scrollEl = el;
|
|
555
|
-
}, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, h("div", { key: '
|
|
561
|
+
}, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, h("div", { key: '5297617462cc30e9444039ae032d8bdf718349af', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '55ea39ef867bcb1a11a912d52ecd20cb886c5fb3', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '3496730ce6182ebfd33e0ee4bafc130feb575a31', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '44c3628aa957d60f799dc7019f72fe8b676c7843' }), h("div", { key: '5a1809f6c949678a67e0d4b5bfe93ea335c0161d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '98fd57f1c66dbaebc2db2dd5da142671b3159fd1', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '85590708abddfa885994e549deac64866fec938f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: 'bb7e674f543696a80fcbfb1f68f2e975826898a6', name: "suffix" })));
|
|
556
562
|
}
|
|
557
563
|
static get is() { return "ion-picker-column"; }
|
|
558
564
|
static get encapsulation() { return "shadow"; }
|
|
@@ -631,7 +637,8 @@ export class PickerColumn {
|
|
|
631
637
|
"getter": false,
|
|
632
638
|
"setter": false,
|
|
633
639
|
"reflect": true,
|
|
634
|
-
"attribute": "color"
|
|
640
|
+
"attribute": "color",
|
|
641
|
+
"defaultValue": "'primary'"
|
|
635
642
|
},
|
|
636
643
|
"numericInput": {
|
|
637
644
|
"type": "boolean",
|