@ionic/core 7.3.4-dev.11694608913.1bc64f72 → 7.3.4-dev.11694698515.1504c90b
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/button-active.js +1 -1
- package/components/checkbox.js +3 -6
- package/components/data.js +7 -31
- package/components/index.js +2 -2
- package/components/index2.js +429 -203
- package/components/index3.js +203 -429
- package/components/input-shims.js +88 -7
- package/components/ion-datetime-button.js +0 -3
- package/components/ion-datetime.js +92 -132
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +2 -2
- package/components/ion-nav.js +1 -1
- package/components/ion-range.js +3 -3
- package/components/ion-refresher.js +3 -3
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-toggle.js +4 -7
- package/components/ios.transition.js +1 -1
- package/components/md.transition.js +1 -1
- package/components/picker-column.js +1 -1
- package/components/popover.js +1 -1
- package/components/radio.js +3 -6
- package/components/swipe-back.js +1 -1
- package/dist/cjs/{app-globals-a579aafd.js → app-globals-a63c2a19.js} +1 -1
- package/dist/cjs/{button-active-dfd2756e.js → button-active-0ff8e82c.js} +1 -1
- package/dist/cjs/{data-db832785.js → data-967b9c15.js} +7 -31
- package/dist/cjs/{index-484b1104.js → index-184fdd62.js} +6 -6
- package/dist/cjs/{index-8568bedb.js → index-be8a2ab9.js} +3 -3
- package/dist/cjs/{index-653be4df.js → index-e6416850.js} +1 -1
- package/dist/cjs/index.cjs.js +14 -15
- package/dist/cjs/{input-shims-f8569707.js → input-shims-5d7b09e8.js} +92 -12
- package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
- package/dist/cjs/ion-alert.cjs.entry.js +4 -4
- package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +5 -7
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -6
- package/dist/cjs/ion-datetime_3.cjs.entry.js +96 -135
- package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +3 -3
- package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-modal.cjs.entry.js +4 -4
- package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +4 -4
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +5 -7
- package/dist/cjs/ion-range.cjs.entry.js +4 -4
- package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
- 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 +3 -3
- package/dist/cjs/ion-toggle.cjs.entry.js +5 -7
- package/dist/cjs/{ionic-global-f81d8b73.js → ionic-global-6d5d27b5.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-f7c78d7c.js → ios.transition-80582b44.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-65dc7dce.js → md.transition-eeca9fb5.js} +2 -2
- package/dist/cjs/{overlays-5c1706ed.js → overlays-c78a0148.js} +1 -1
- package/dist/cjs/{status-tap-4564b66c.js → status-tap-cc4c6539.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/checkbox/checkbox.ios.css +0 -35
- package/dist/collection/components/checkbox/checkbox.js +4 -24
- package/dist/collection/components/checkbox/checkbox.md.css +0 -35
- package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +0 -13
- package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +0 -16
- package/dist/collection/components/datetime/datetime.ios.css +29 -32
- package/dist/collection/components/datetime/datetime.js +93 -137
- package/dist/collection/components/datetime/datetime.md.css +28 -20
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -25
- package/dist/collection/components/datetime/test/color/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/custom/datetime.e2e.js +1 -27
- package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +0 -15
- package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +12 -9
- package/dist/collection/components/datetime/utils/data.js +6 -14
- package/dist/collection/components/datetime/utils/parse.js +1 -18
- package/dist/collection/components/datetime-button/datetime-button.js +0 -3
- package/dist/collection/components/radio/radio.ios.css +0 -35
- package/dist/collection/components/radio/radio.js +4 -24
- package/dist/collection/components/radio/radio.md.css +0 -35
- package/dist/collection/components/radio/test/item/radio.e2e.js +0 -15
- package/dist/collection/components/radio/test/label-placement/radio.e2e.js +0 -20
- package/dist/collection/components/range/range.ios.css +1 -41
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/range/range.md.css +1 -41
- package/dist/collection/components/range/test/label/range.e2e.js +0 -48
- package/dist/collection/components/toggle/test/item/toggle.e2e.js +0 -15
- package/dist/collection/components/toggle/test/label/toggle.e2e.js +0 -16
- package/dist/collection/components/toggle/toggle.ios.css +1 -35
- package/dist/collection/components/toggle/toggle.js +4 -24
- package/dist/collection/components/toggle/toggle.md.css +1 -35
- package/dist/collection/index.js +0 -1
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +86 -4
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -3
- package/dist/docs.json +19 -148
- package/dist/esm/{app-globals-e8ddf830.js → app-globals-c7886b40.js} +1 -1
- package/dist/esm/{button-active-2da0f611.js → button-active-b76ae4ec.js} +1 -1
- package/dist/esm/{data-009dbf15.js → data-4b448e3a.js} +7 -31
- package/dist/esm/{index-6391de89.js → index-01839411.js} +3 -3
- package/dist/esm/{index-b3e05099.js → index-48f5e259.js} +1 -1
- package/dist/esm/{index-847f2fde.js → index-adfb2000.js} +6 -6
- package/dist/esm/index.js +7 -7
- package/dist/esm/{input-shims-af993f05.js → input-shims-451757bd.js} +88 -8
- package/dist/esm/ion-accordion_2.entry.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +4 -4
- package/dist/esm/ion-alert.entry.js +4 -4
- package/dist/esm/ion-app_8.entry.js +5 -5
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +5 -7
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +3 -6
- package/dist/esm/ion-datetime_3.entry.js +96 -135
- package/dist/esm/ion-fab_3.entry.js +2 -2
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +2 -2
- package/dist/esm/ion-item-option_3.entry.js +2 -2
- package/dist/esm/ion-item_8.entry.js +2 -2
- package/dist/esm/ion-loading.entry.js +3 -3
- package/dist/esm/ion-menu_3.entry.js +4 -4
- package/dist/esm/ion-modal.entry.js +4 -4
- package/dist/esm/ion-nav_2.entry.js +3 -3
- package/dist/esm/ion-picker-column-internal.entry.js +2 -2
- package/dist/esm/ion-picker-internal.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +4 -4
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +5 -7
- package/dist/esm/ion-range.entry.js +4 -4
- package/dist/esm/ion-refresher_2.entry.js +2 -2
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +3 -3
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +2 -2
- package/dist/esm/ion-tab_2.entry.js +1 -1
- 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 +3 -3
- package/dist/esm/ion-toggle.entry.js +5 -7
- package/dist/esm/{ionic-global-1ef19007.js → ionic-global-9080266a.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-3137d23e.js → ios.transition-f43871cd.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-48b3b77c.js → md.transition-12d21ad0.js} +2 -2
- package/dist/esm/{overlays-e1dadfe6.js → overlays-4565894b.js} +1 -1
- package/dist/esm/{status-tap-823a0df3.js → status-tap-121c711d.js} +1 -1
- package/dist/esm-es5/app-globals-c7886b40.js +4 -0
- package/dist/esm-es5/{button-active-2da0f611.js → button-active-b76ae4ec.js} +1 -1
- package/dist/esm-es5/data-4b448e3a.js +4 -0
- package/dist/esm-es5/{index-6391de89.js → index-01839411.js} +1 -1
- package/dist/esm-es5/{index-b3e05099.js → index-48f5e259.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-451757bd.js +4 -0
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
- package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-spinner.entry.js +1 -1
- package/dist/esm-es5/ion-split-pane.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-text.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/{ionic-global-1ef19007.js → ionic-global-9080266a.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-3137d23e.js → ios.transition-f43871cd.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-12d21ad0.js +4 -0
- package/dist/esm-es5/{overlays-e1dadfe6.js → overlays-4565894b.js} +1 -1
- package/dist/esm-es5/{status-tap-823a0df3.js → status-tap-121c711d.js} +1 -1
- package/dist/html.html-data.json +4 -52
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/ionic.js +1 -1
- package/dist/ionic/{p-fac1660b.entry.js → p-041ac2c3.entry.js} +1 -1
- package/dist/ionic/{p-fabb7294.entry.js → p-072f99fd.entry.js} +1 -1
- package/dist/ionic/{p-99028088.entry.js → p-07656a8a.entry.js} +1 -1
- package/dist/ionic/{p-e9c112ba.entry.js → p-07f5e286.entry.js} +1 -1
- package/dist/ionic/{p-4a153fbc.system.entry.js → p-0ce43a8f.system.entry.js} +1 -1
- package/dist/ionic/{p-98ebc376.entry.js → p-0dbfa45f.entry.js} +1 -1
- package/dist/ionic/{p-38dd9aec.entry.js → p-11d0977d.entry.js} +1 -1
- package/dist/ionic/p-17e961cf.entry.js +4 -0
- package/dist/ionic/{p-fe83e3e2.entry.js → p-1916030e.entry.js} +1 -1
- package/dist/ionic/p-1b533a76.system.entry.js +4 -0
- package/dist/ionic/{p-bbae0ac3.system.entry.js → p-1c236453.system.entry.js} +1 -1
- package/dist/ionic/{p-b2514862.system.entry.js → p-204fb8f0.system.entry.js} +1 -1
- package/dist/ionic/{p-82f5c07e.system.entry.js → p-23ddd787.system.entry.js} +1 -1
- package/dist/ionic/{p-f5b7b710.system.entry.js → p-26276eb7.system.entry.js} +1 -1
- package/dist/ionic/{p-208f640c.entry.js → p-28d8b87b.entry.js} +1 -1
- package/dist/ionic/{p-e805ff9f.system.entry.js → p-2ac2278e.system.entry.js} +1 -1
- package/dist/ionic/p-2b0ecc04.entry.js +4 -0
- package/dist/ionic/{p-69303bb5.system.js → p-2e5930dd.system.js} +1 -1
- package/dist/ionic/{p-bf4b8d8a.system.entry.js → p-32983529.system.entry.js} +1 -1
- package/dist/ionic/{p-b9654781.system.entry.js → p-3bf120f8.system.entry.js} +1 -1
- package/dist/ionic/{p-e3cba96d.js → p-3c325277.js} +1 -1
- package/dist/ionic/{p-82632e15.system.js → p-3d5a6d14.system.js} +1 -1
- package/dist/ionic/{p-77f91ca9.entry.js → p-3f15f60b.entry.js} +1 -1
- package/dist/ionic/{p-6b3afb0f.entry.js → p-42e0558f.entry.js} +1 -1
- package/dist/ionic/{p-06d6e9c0.system.entry.js → p-4446e19f.system.entry.js} +1 -1
- package/dist/ionic/p-44a6f15d.system.entry.js +4 -0
- package/dist/ionic/{p-9c32000a.entry.js → p-47a11fc4.entry.js} +1 -1
- package/dist/ionic/{p-1ec4dc01.entry.js → p-48d378cf.entry.js} +1 -1
- package/dist/ionic/{p-93e47822.entry.js → p-49f2eaa6.entry.js} +1 -1
- package/dist/ionic/{p-1fb9aab8.entry.js → p-4d2807fa.entry.js} +1 -1
- package/dist/ionic/{p-32d11ce2.system.entry.js → p-4e1a58c6.system.entry.js} +1 -1
- package/dist/ionic/p-4f7109fa.entry.js +4 -0
- package/dist/ionic/{p-11a42c03.system.entry.js → p-5080e623.system.entry.js} +1 -1
- package/dist/ionic/{p-c4afbed8.system.entry.js → p-5163baf4.system.entry.js} +1 -1
- package/dist/ionic/{p-0219ac12.system.entry.js → p-516421e2.system.entry.js} +1 -1
- package/dist/ionic/{p-d1d3b740.system.entry.js → p-5260588f.system.entry.js} +1 -1
- package/dist/ionic/{p-b22ee0dc.js → p-563068af.js} +1 -1
- package/dist/ionic/p-56495958.js +4 -0
- package/dist/ionic/{p-dc49c681.system.entry.js → p-574411f2.system.entry.js} +1 -1
- package/dist/ionic/{p-8a676776.entry.js → p-57847936.entry.js} +1 -1
- package/dist/ionic/{p-d3378c35.entry.js → p-59b40b60.entry.js} +1 -1
- package/dist/ionic/{p-af0bc751.system.entry.js → p-5a9dc764.system.entry.js} +1 -1
- package/dist/ionic/{p-0ff17c93.entry.js → p-5df94bf8.entry.js} +1 -1
- package/dist/ionic/{p-81597423.system.js → p-5e549223.system.js} +1 -1
- package/dist/ionic/p-5e5c1e58.js +4 -0
- package/dist/ionic/{p-8ba724fa.system.js → p-5fc777e6.system.js} +1 -1
- package/dist/ionic/p-601fd53c.js +4 -0
- package/dist/ionic/{p-e112994b.system.entry.js → p-6276ba2f.system.entry.js} +1 -1
- package/dist/ionic/{p-7c938ad6.js → p-629b0629.js} +1 -1
- package/dist/ionic/{p-5c17f888.entry.js → p-68deb933.entry.js} +1 -1
- package/dist/ionic/{p-b0e9e0b8.system.entry.js → p-6ccffb74.system.entry.js} +1 -1
- package/dist/ionic/{p-98a189f3.entry.js → p-6dff4431.entry.js} +1 -1
- package/dist/ionic/{p-fa3327e8.system.entry.js → p-6eb7b33c.system.entry.js} +1 -1
- package/dist/ionic/p-7106c152.system.js +4 -0
- package/dist/ionic/{p-839bd69f.system.entry.js → p-7474a472.system.entry.js} +1 -1
- package/dist/ionic/{p-0b68c41d.system.entry.js → p-74834696.system.entry.js} +1 -1
- package/dist/ionic/p-75d4ceab.js +4 -0
- package/dist/ionic/{p-430e902d.entry.js → p-765e6339.entry.js} +1 -1
- package/dist/ionic/{p-f95f798a.system.entry.js → p-810f1bc9.system.entry.js} +1 -1
- package/dist/ionic/{p-57f0efcc.entry.js → p-83459b99.entry.js} +1 -1
- package/dist/ionic/{p-99140340.entry.js → p-84084b75.entry.js} +1 -1
- package/dist/ionic/{p-68e0ea3c.entry.js → p-8bcd482b.entry.js} +1 -1
- package/dist/ionic/{p-48144921.entry.js → p-8db97b90.entry.js} +1 -1
- package/dist/ionic/p-8f7edf3e.js +4 -0
- package/dist/ionic/{p-87383d00.system.entry.js → p-95188051.system.entry.js} +1 -1
- package/dist/ionic/{p-57dc87eb.system.entry.js → p-98bfaff3.system.entry.js} +1 -1
- package/dist/ionic/p-99a3df5c.entry.js +4 -0
- package/dist/ionic/{p-0142ba6d.entry.js → p-9b53c813.entry.js} +1 -1
- package/dist/ionic/{p-83bcaec9.system.entry.js → p-9be96bf3.system.entry.js} +1 -1
- package/dist/ionic/p-9dc4d33e.system.js +4 -0
- package/dist/ionic/{p-f7faa32d.entry.js → p-9e8727d6.entry.js} +1 -1
- package/dist/ionic/p-9eaaa910.entry.js +4 -0
- package/dist/ionic/{p-653f2fc6.entry.js → p-9eced28c.entry.js} +1 -1
- package/dist/ionic/{p-2061c86f.system.entry.js → p-9f3ad626.system.entry.js} +1 -1
- package/dist/ionic/{p-d1bab5e7.system.entry.js → p-a033a91d.system.entry.js} +1 -1
- package/dist/ionic/{p-62324608.system.entry.js → p-a037b6d5.system.entry.js} +1 -1
- package/dist/ionic/{p-df6743df.system.js → p-a122ecd0.system.js} +1 -1
- package/dist/ionic/{p-83008f7c.system.js → p-a314559e.system.js} +2 -2
- package/dist/ionic/p-a533868d.system.js +4 -0
- package/dist/ionic/{p-1d82df31.system.entry.js → p-a8270ae8.system.entry.js} +1 -1
- package/dist/ionic/p-af6125d1.system.entry.js +4 -0
- package/dist/ionic/{p-785b0913.entry.js → p-b052b578.entry.js} +1 -1
- package/dist/ionic/{p-91459620.js → p-b3f6f321.js} +1 -1
- package/dist/ionic/{p-82f8ee51.entry.js → p-b453b38d.entry.js} +1 -1
- package/dist/ionic/{p-fea46870.system.entry.js → p-b703ebeb.system.entry.js} +1 -1
- package/dist/ionic/p-b8d7f0eb.system.entry.js +4 -0
- package/dist/ionic/{p-67b891af.entry.js → p-b9179eab.entry.js} +1 -1
- package/dist/ionic/{p-a3f9d271.entry.js → p-bacf09d3.entry.js} +1 -1
- package/dist/ionic/{p-f9567c67.entry.js → p-bcabbf15.entry.js} +1 -1
- package/dist/ionic/{p-341d5877.entry.js → p-be187db3.entry.js} +1 -1
- package/dist/ionic/{p-b32742f3.system.js → p-bfee11b2.system.js} +1 -1
- package/dist/ionic/{p-0660215f.entry.js → p-c2d6088f.entry.js} +1 -1
- package/dist/ionic/p-c68a8814.system.js +4 -0
- package/dist/ionic/p-c7ce7e18.entry.js +4 -0
- package/dist/ionic/{p-336420f9.system.entry.js → p-c8c0d58a.system.entry.js} +1 -1
- package/dist/ionic/p-cc8910e7.system.js +4 -0
- package/dist/ionic/{p-a34669bf.system.entry.js → p-ccc90dcb.system.entry.js} +1 -1
- package/dist/ionic/{p-728ac2b3.entry.js → p-cd002251.entry.js} +1 -1
- package/dist/ionic/{p-11248f01.js → p-d57e8b06.js} +1 -1
- package/dist/ionic/{p-2539e967.system.entry.js → p-d8d30fd1.system.entry.js} +1 -1
- package/dist/ionic/p-dacb0258.js +4 -0
- package/dist/ionic/{p-d693e765.system.entry.js → p-dc4c9086.system.entry.js} +1 -1
- package/dist/ionic/p-dc7d392d.entry.js +4 -0
- package/dist/ionic/{p-0cc2bf5a.system.entry.js → p-e239ab05.system.entry.js} +1 -1
- package/dist/ionic/p-e65aed58.system.entry.js +4 -0
- package/dist/ionic/{p-d5e3bff3.entry.js → p-eb91aee6.entry.js} +1 -1
- package/dist/ionic/{p-6bf632d0.system.entry.js → p-ec344ed1.system.entry.js} +1 -1
- package/dist/ionic/{p-ed7b205b.entry.js → p-ec7ff98b.entry.js} +1 -1
- package/dist/ionic/{p-5ba27716.system.entry.js → p-ee55302a.system.entry.js} +1 -1
- package/dist/ionic/{p-dbb48066.system.entry.js → p-ef8a8827.system.entry.js} +1 -1
- package/dist/ionic/p-f3ec1f2b.entry.js +4 -0
- package/dist/ionic/{p-639d7b25.entry.js → p-f62bed60.entry.js} +1 -1
- package/dist/ionic/{p-96c2a273.system.entry.js → p-fa8fc77b.system.entry.js} +1 -1
- package/dist/ionic/p-fb26fa56.system.entry.js +4 -0
- package/dist/ionic/{p-3ef88fc2.system.entry.js → p-fde174d6.system.entry.js} +1 -1
- package/dist/ionic/{p-7b16490a.system.js → p-ff3d728d.system.js} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +1 -8
- package/dist/types/components/datetime/datetime.d.ts +10 -23
- package/dist/types/components/datetime/utils/data.d.ts +1 -1
- package/dist/types/components/datetime/utils/parse.d.ts +3 -3
- package/dist/types/components/radio/radio.d.ts +1 -8
- package/dist/types/components/range/range.d.ts +1 -2
- package/dist/types/components/toast/toast-interface.d.ts +0 -3
- package/dist/types/components/toggle/toggle.d.ts +1 -8
- package/dist/types/components.d.ts +16 -40
- package/dist/types/index.d.ts +0 -1
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/stencil-public-runtime.d.ts +3 -3
- package/dist/types/utils/browser/index.d.ts +16 -1
- package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +1 -1
- package/hydrate/index.d.ts +5 -5
- package/hydrate/index.js +150 -234
- package/package.json +3 -3
- package/dist/esm-es5/app-globals-e8ddf830.js +0 -4
- package/dist/esm-es5/data-009dbf15.js +0 -4
- package/dist/esm-es5/input-shims-af993f05.js +0 -4
- package/dist/esm-es5/md.transition-48b3b77c.js +0 -4
- package/dist/ionic/p-06902103.system.js +0 -4
- package/dist/ionic/p-1f4adf06.system.entry.js +0 -4
- package/dist/ionic/p-218b6f33.entry.js +0 -4
- package/dist/ionic/p-273e78ae.entry.js +0 -4
- package/dist/ionic/p-2da6ba37.system.entry.js +0 -4
- package/dist/ionic/p-40138199.entry.js +0 -4
- package/dist/ionic/p-44ef7224.system.js +0 -4
- package/dist/ionic/p-4531b920.system.js +0 -4
- package/dist/ionic/p-4ca1ce6b.system.entry.js +0 -4
- package/dist/ionic/p-51b165af.system.js +0 -4
- package/dist/ionic/p-582dc7c1.js +0 -4
- package/dist/ionic/p-64ad5765.entry.js +0 -4
- package/dist/ionic/p-778460f7.js +0 -4
- package/dist/ionic/p-7cfd253c.js +0 -4
- package/dist/ionic/p-86c5c320.entry.js +0 -4
- package/dist/ionic/p-90ec5785.system.entry.js +0 -4
- package/dist/ionic/p-a2b25750.js +0 -4
- package/dist/ionic/p-a62c0ff4.js +0 -4
- package/dist/ionic/p-af986299.system.entry.js +0 -4
- package/dist/ionic/p-b321c999.entry.js +0 -4
- package/dist/ionic/p-c53dd7a2.entry.js +0 -4
- package/dist/ionic/p-d898dd46.js +0 -4
- package/dist/ionic/p-d8a0267b.system.entry.js +0 -4
- package/dist/ionic/p-e3d5608d.system.js +0 -4
- package/dist/ionic/p-f5c19164.entry.js +0 -4
- /package/dist/esm-es5/{index-847f2fde.js → index-adfb2000.js} +0 -0
- /package/dist/ionic/{p-5b553dc0.system.js → p-2441ba84.system.js} +0 -0
- /package/dist/ionic/{p-156967ec.js → p-a18eb556.js} +0 -0
|
@@ -71,7 +71,6 @@ export class Toggle {
|
|
|
71
71
|
this.labelPlacement = 'start';
|
|
72
72
|
this.legacy = undefined;
|
|
73
73
|
this.justify = 'space-between';
|
|
74
|
-
this.alignment = 'center';
|
|
75
74
|
}
|
|
76
75
|
disabledChanged() {
|
|
77
76
|
this.emitStyle();
|
|
@@ -169,7 +168,7 @@ export class Toggle {
|
|
|
169
168
|
return legacyFormController.hasLegacyControl() ? this.renderLegacyToggle() : this.renderToggle();
|
|
170
169
|
}
|
|
171
170
|
renderToggle() {
|
|
172
|
-
const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name
|
|
171
|
+
const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name } = this;
|
|
173
172
|
const mode = getIonMode(this);
|
|
174
173
|
const value = this.getValue();
|
|
175
174
|
const rtl = isRTL(el) ? 'rtl' : 'ltr';
|
|
@@ -181,7 +180,6 @@ export class Toggle {
|
|
|
181
180
|
'toggle-checked': checked,
|
|
182
181
|
'toggle-disabled': disabled,
|
|
183
182
|
[`toggle-justify-${justify}`]: true,
|
|
184
|
-
[`toggle-alignment-${alignment}`]: true,
|
|
185
183
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
186
184
|
[`toggle-${rtl}`]: true,
|
|
187
185
|
}) }, h("label", { class: "toggle-wrapper" }, h("input", Object.assign({ type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), h("div", { class: {
|
|
@@ -354,15 +352,15 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
|
|
|
354
352
|
"type": "string",
|
|
355
353
|
"mutable": false,
|
|
356
354
|
"complexType": {
|
|
357
|
-
"original": "'start' | 'end' | 'fixed'
|
|
358
|
-
"resolved": "\"end\" | \"fixed\" | \"
|
|
355
|
+
"original": "'start' | 'end' | 'fixed'",
|
|
356
|
+
"resolved": "\"end\" | \"fixed\" | \"start\"",
|
|
359
357
|
"references": {}
|
|
360
358
|
},
|
|
361
359
|
"required": false,
|
|
362
360
|
"optional": false,
|
|
363
361
|
"docs": {
|
|
364
362
|
"tags": [],
|
|
365
|
-
"text": "Where to place the label relative to the input.\n`\"start\"`: The label will appear to the left of the toggle in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the toggle in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")
|
|
363
|
+
"text": "Where to place the label relative to the input.\n`\"start\"`: The label will appear to the left of the toggle in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the toggle in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")."
|
|
366
364
|
},
|
|
367
365
|
"attribute": "label-placement",
|
|
368
366
|
"reflect": false,
|
|
@@ -402,24 +400,6 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
|
|
|
402
400
|
"attribute": "justify",
|
|
403
401
|
"reflect": false,
|
|
404
402
|
"defaultValue": "'space-between'"
|
|
405
|
-
},
|
|
406
|
-
"alignment": {
|
|
407
|
-
"type": "string",
|
|
408
|
-
"mutable": false,
|
|
409
|
-
"complexType": {
|
|
410
|
-
"original": "'start' | 'center'",
|
|
411
|
-
"resolved": "\"center\" | \"start\"",
|
|
412
|
-
"references": {}
|
|
413
|
-
},
|
|
414
|
-
"required": false,
|
|
415
|
-
"optional": false,
|
|
416
|
-
"docs": {
|
|
417
|
-
"tags": [],
|
|
418
|
-
"text": "How to control the alignment of the toggle and label on the cross axis.\n``\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL."
|
|
419
|
-
},
|
|
420
|
-
"attribute": "alignment",
|
|
421
|
-
"reflect": false,
|
|
422
|
-
"defaultValue": "'center'"
|
|
423
403
|
}
|
|
424
404
|
};
|
|
425
405
|
}
|
|
@@ -123,6 +123,7 @@ input {
|
|
|
123
123
|
display: flex;
|
|
124
124
|
position: relative;
|
|
125
125
|
flex-grow: 1;
|
|
126
|
+
align-items: center;
|
|
126
127
|
height: inherit;
|
|
127
128
|
transition: background-color 15ms linear;
|
|
128
129
|
cursor: inherit;
|
|
@@ -145,15 +146,6 @@ input {
|
|
|
145
146
|
margin-bottom: 10px;
|
|
146
147
|
}
|
|
147
148
|
|
|
148
|
-
:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper {
|
|
149
|
-
margin-top: 10px;
|
|
150
|
-
margin-bottom: 16px;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
:host(.in-item.toggle-label-placement-stacked) .native-wrapper {
|
|
154
|
-
margin-bottom: 10px;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
149
|
/**
|
|
158
150
|
* If no label text is placed into the slot
|
|
159
151
|
* then the element should be hidden otherwise
|
|
@@ -180,14 +172,6 @@ input {
|
|
|
180
172
|
justify-content: end;
|
|
181
173
|
}
|
|
182
174
|
|
|
183
|
-
:host(.toggle-alignment-start) .toggle-wrapper {
|
|
184
|
-
align-items: start;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
:host(.toggle-alignment-center) .toggle-wrapper {
|
|
188
|
-
align-items: center;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
175
|
/**
|
|
192
176
|
* Label is on the left of the input in LTR and
|
|
193
177
|
* on the right in RTL.
|
|
@@ -251,24 +235,6 @@ input {
|
|
|
251
235
|
max-width: 200px;
|
|
252
236
|
}
|
|
253
237
|
|
|
254
|
-
/**
|
|
255
|
-
* Label is on top of the toggle.
|
|
256
|
-
*/
|
|
257
|
-
:host(.toggle-label-placement-stacked) .toggle-wrapper {
|
|
258
|
-
flex-direction: column;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
:host(.toggle-label-placement-stacked) .label-text-wrapper {
|
|
262
|
-
/**
|
|
263
|
-
* The margin between the label and
|
|
264
|
-
* the toggle should be on the bottom
|
|
265
|
-
* when the label sits on top.
|
|
266
|
-
*/
|
|
267
|
-
margin-left: 0;
|
|
268
|
-
margin-right: 0;
|
|
269
|
-
margin-bottom: 16px;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
238
|
.toggle-icon-wrapper {
|
|
273
239
|
display: flex;
|
|
274
240
|
position: relative;
|
package/dist/collection/index.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import "ionicons";
|
|
5
5
|
export { createAnimation } from './utils/animation/animation';
|
|
6
|
-
export { getIonPageElement } from './utils/transition';
|
|
7
6
|
export { iosTransitionAnimation } from './utils/transition/ios.transition';
|
|
8
7
|
export { mdTransitionAnimation } from './utils/transition/md.transition';
|
|
9
8
|
export { getTimeGivenProgression } from './utils/animation/cubic-bezier';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import { win } from "../../browser/index";
|
|
4
5
|
import { getScrollElement, scrollByPoint } from "../../content";
|
|
5
6
|
import { raf } from "../../helpers";
|
|
6
7
|
import { KeyboardResize } from "../../native/keyboard";
|
|
@@ -20,6 +21,83 @@ export const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, ke
|
|
|
20
21
|
* Resize info is available on Capacitor 4+
|
|
21
22
|
*/
|
|
22
23
|
const addScrollPadding = enableScrollPadding && (keyboardResize === undefined || keyboardResize.mode === KeyboardResize.None);
|
|
24
|
+
/**
|
|
25
|
+
* This tracks whether or not the keyboard has been
|
|
26
|
+
* presented for a single focused text field. Note
|
|
27
|
+
* that it does not track if the keyboard is open
|
|
28
|
+
* in general such as if the keyboard is open for
|
|
29
|
+
* a different focused text field.
|
|
30
|
+
*/
|
|
31
|
+
let hasKeyboardBeenPresentedForTextField = false;
|
|
32
|
+
/**
|
|
33
|
+
* When adding scroll padding we need to know
|
|
34
|
+
* how much of the viewport the keyboard obscures.
|
|
35
|
+
* We do this by subtracting the keyboard height
|
|
36
|
+
* from the platform height.
|
|
37
|
+
*
|
|
38
|
+
* If we compute this value when switching between
|
|
39
|
+
* inputs then the webview may already be resized.
|
|
40
|
+
* At this point, `win.innerHeight` has already accounted
|
|
41
|
+
* for the keyboard meaning we would then subtract
|
|
42
|
+
* the keyboard height again. This will result in the input
|
|
43
|
+
* being scrolled more than it needs to.
|
|
44
|
+
*/
|
|
45
|
+
const platformHeight = win !== undefined ? win.innerHeight : 0;
|
|
46
|
+
/**
|
|
47
|
+
* Scroll assist is run when a text field
|
|
48
|
+
* is focused. However, it may need to
|
|
49
|
+
* re-run when the keyboard size changes
|
|
50
|
+
* such that the text field is now hidden
|
|
51
|
+
* underneath the keyboard.
|
|
52
|
+
* This function re-runs scroll assist
|
|
53
|
+
* when that happens.
|
|
54
|
+
*
|
|
55
|
+
* One limitation of this is on a web browser
|
|
56
|
+
* where native keyboard APIs do not have cross-browser
|
|
57
|
+
* support. `ionKeyboardDidShow` relies on the Visual Viewport API.
|
|
58
|
+
* This means that if the keyboard changes but does not change
|
|
59
|
+
* geometry, then scroll assist will not re-run even if
|
|
60
|
+
* the user has scrolled the text field under the keyboard.
|
|
61
|
+
* This should not be a problem when running in Cordova/Capacitor
|
|
62
|
+
* because `ionKeyboardDidShow` uses the native events
|
|
63
|
+
* which fire every time the keyboard changes.
|
|
64
|
+
*/
|
|
65
|
+
const keyboardShow = (ev) => {
|
|
66
|
+
/**
|
|
67
|
+
* If the keyboard has not yet been presented
|
|
68
|
+
* for this text field then the text field has just
|
|
69
|
+
* received focus. In that case, the focusin listener
|
|
70
|
+
* will run scroll assist.
|
|
71
|
+
*/
|
|
72
|
+
if (hasKeyboardBeenPresentedForTextField === false) {
|
|
73
|
+
hasKeyboardBeenPresentedForTextField = true;
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Otherwise, the keyboard has already been presented
|
|
78
|
+
* for the focused text field.
|
|
79
|
+
* This means that the keyboard likely changed
|
|
80
|
+
* geometry, and we need to re-run scroll assist.
|
|
81
|
+
* This can happen when the user rotates their device
|
|
82
|
+
* or when they switch keyboards.
|
|
83
|
+
*
|
|
84
|
+
* Make sure we pass in the computed keyboard height
|
|
85
|
+
* rather than the estimated keyboard height.
|
|
86
|
+
*
|
|
87
|
+
* Since the keyboard is already open then we do not
|
|
88
|
+
* need to wait for the webview to resize, so we pass
|
|
89
|
+
* "waitForResize: false".
|
|
90
|
+
*/
|
|
91
|
+
jsSetFocus(componentEl, inputEl, contentEl, footerEl, ev.detail.keyboardHeight, addScrollPadding, disableClonedInput, platformHeight, false);
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Reset the internal state when the text field loses focus.
|
|
95
|
+
*/
|
|
96
|
+
const focusOut = () => {
|
|
97
|
+
hasKeyboardBeenPresentedForTextField = false;
|
|
98
|
+
win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
|
|
99
|
+
componentEl.removeEventListener('focusout', focusOut, true);
|
|
100
|
+
};
|
|
23
101
|
/**
|
|
24
102
|
* When the input is about to receive
|
|
25
103
|
* focus, we need to move it to prevent
|
|
@@ -36,11 +114,15 @@ export const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, ke
|
|
|
36
114
|
inputEl.removeAttribute(SKIP_SCROLL_ASSIST);
|
|
37
115
|
return;
|
|
38
116
|
}
|
|
39
|
-
jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput);
|
|
117
|
+
jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight);
|
|
118
|
+
win === null || win === void 0 ? void 0 : win.addEventListener('ionKeyboardDidShow', keyboardShow);
|
|
119
|
+
componentEl.addEventListener('focusout', focusOut, true);
|
|
40
120
|
};
|
|
41
121
|
componentEl.addEventListener('focusin', focusIn, true);
|
|
42
122
|
return () => {
|
|
43
123
|
componentEl.removeEventListener('focusin', focusIn, true);
|
|
124
|
+
win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
|
|
125
|
+
componentEl.removeEventListener('focusout', focusOut, true);
|
|
44
126
|
};
|
|
45
127
|
};
|
|
46
128
|
/**
|
|
@@ -59,11 +141,11 @@ const setManualFocus = (el) => {
|
|
|
59
141
|
el.setAttribute(SKIP_SCROLL_ASSIST, 'true');
|
|
60
142
|
el.focus();
|
|
61
143
|
};
|
|
62
|
-
const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false) => {
|
|
144
|
+
const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false, platformHeight = 0, waitForResize = true) => {
|
|
63
145
|
if (!contentEl && !footerEl) {
|
|
64
146
|
return;
|
|
65
147
|
}
|
|
66
|
-
const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight);
|
|
148
|
+
const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight, platformHeight);
|
|
67
149
|
if (contentEl && Math.abs(scrollData.scrollAmount) < 4) {
|
|
68
150
|
// the text input is in a safe position that doesn't
|
|
69
151
|
// require it to be scrolled into view, just set focus now
|
|
@@ -150,7 +232,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
|
|
|
150
232
|
* bandwidth to become available.
|
|
151
233
|
*/
|
|
152
234
|
const totalScrollAmount = scrollEl.scrollHeight - scrollEl.clientHeight;
|
|
153
|
-
if (scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
|
|
235
|
+
if (waitForResize && scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
|
|
154
236
|
/**
|
|
155
237
|
* On iOS devices, the system will show a "Passwords" bar above the keyboard
|
|
156
238
|
* after the initial keyboard is shown. This prevents the webview from resizing
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { SCROLL_AMOUNT_PADDING } from "./common";
|
|
5
5
|
const SCROLL_ASSIST_SPEED = 0.3;
|
|
6
|
-
export const getScrollData = (componentEl, contentEl, keyboardHeight) => {
|
|
6
|
+
export const getScrollData = (componentEl, contentEl, keyboardHeight, platformHeight) => {
|
|
7
7
|
var _a;
|
|
8
8
|
const itemEl = (_a = componentEl.closest('ion-item,[ion-item]')) !== null && _a !== void 0 ? _a : componentEl;
|
|
9
|
-
return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight,
|
|
10
|
-
);
|
|
9
|
+
return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, platformHeight);
|
|
11
10
|
};
|
|
12
11
|
const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight) => {
|
|
13
12
|
// compute input's Y values relative to the body
|
package/dist/docs.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2023-09-
|
|
2
|
+
"timestamp": "2023-09-14T13:37:31",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
|
-
"version": "4.2.
|
|
5
|
+
"version": "4.2.1",
|
|
6
6
|
"typescriptVersion": "5.1.6"
|
|
7
7
|
},
|
|
8
8
|
"components": [
|
|
@@ -4959,33 +4959,6 @@
|
|
|
4959
4959
|
],
|
|
4960
4960
|
"usage": {},
|
|
4961
4961
|
"props": [
|
|
4962
|
-
{
|
|
4963
|
-
"name": "alignment",
|
|
4964
|
-
"type": "\"center\" | \"start\"",
|
|
4965
|
-
"complexType": {
|
|
4966
|
-
"original": "'start' | 'center'",
|
|
4967
|
-
"resolved": "\"center\" | \"start\"",
|
|
4968
|
-
"references": {}
|
|
4969
|
-
},
|
|
4970
|
-
"mutable": false,
|
|
4971
|
-
"attr": "alignment",
|
|
4972
|
-
"reflectToAttr": false,
|
|
4973
|
-
"docs": "How to control the alignment of the checkbox and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL.",
|
|
4974
|
-
"docsTags": [],
|
|
4975
|
-
"default": "'center'",
|
|
4976
|
-
"values": [
|
|
4977
|
-
{
|
|
4978
|
-
"value": "center",
|
|
4979
|
-
"type": "string"
|
|
4980
|
-
},
|
|
4981
|
-
{
|
|
4982
|
-
"value": "start",
|
|
4983
|
-
"type": "string"
|
|
4984
|
-
}
|
|
4985
|
-
],
|
|
4986
|
-
"optional": false,
|
|
4987
|
-
"required": false
|
|
4988
|
-
},
|
|
4989
4962
|
{
|
|
4990
4963
|
"name": "checked",
|
|
4991
4964
|
"type": "boolean",
|
|
@@ -5151,16 +5124,16 @@
|
|
|
5151
5124
|
},
|
|
5152
5125
|
{
|
|
5153
5126
|
"name": "labelPlacement",
|
|
5154
|
-
"type": "\"end\" | \"fixed\" | \"
|
|
5127
|
+
"type": "\"end\" | \"fixed\" | \"start\"",
|
|
5155
5128
|
"complexType": {
|
|
5156
|
-
"original": "'start' | 'end' | 'fixed'
|
|
5157
|
-
"resolved": "\"end\" | \"fixed\" | \"
|
|
5129
|
+
"original": "'start' | 'end' | 'fixed'",
|
|
5130
|
+
"resolved": "\"end\" | \"fixed\" | \"start\"",
|
|
5158
5131
|
"references": {}
|
|
5159
5132
|
},
|
|
5160
5133
|
"mutable": false,
|
|
5161
5134
|
"attr": "label-placement",
|
|
5162
5135
|
"reflectToAttr": false,
|
|
5163
|
-
"docs": "Where to place the label relative to the checkbox.\n`\"start\"`: The label will appear to the left of the checkbox in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the checkbox in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")
|
|
5136
|
+
"docs": "Where to place the label relative to the checkbox.\n`\"start\"`: The label will appear to the left of the checkbox in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the checkbox in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").",
|
|
5164
5137
|
"docsTags": [],
|
|
5165
5138
|
"default": "'start'",
|
|
5166
5139
|
"values": [
|
|
@@ -5172,10 +5145,6 @@
|
|
|
5172
5145
|
"value": "fixed",
|
|
5173
5146
|
"type": "string"
|
|
5174
5147
|
},
|
|
5175
|
-
{
|
|
5176
|
-
"value": "stacked",
|
|
5177
|
-
"type": "string"
|
|
5178
|
-
},
|
|
5179
5148
|
{
|
|
5180
5149
|
"value": "start",
|
|
5181
5150
|
"type": "string"
|
|
@@ -6839,22 +6808,6 @@
|
|
|
6839
6808
|
{
|
|
6840
6809
|
"name": "part",
|
|
6841
6810
|
"text": "month-year-button - The button that opens the month/year picker when\nusing a grid style layout."
|
|
6842
|
-
},
|
|
6843
|
-
{
|
|
6844
|
-
"name": "part",
|
|
6845
|
-
"text": "calendar-day - The individual buttons that display a day inside of the datetime\ncalendar."
|
|
6846
|
-
},
|
|
6847
|
-
{
|
|
6848
|
-
"name": "part",
|
|
6849
|
-
"text": "calendar-day active - The currently selected calendar day."
|
|
6850
|
-
},
|
|
6851
|
-
{
|
|
6852
|
-
"name": "part",
|
|
6853
|
-
"text": "calendar-day today - The calendar day that contains the current day."
|
|
6854
|
-
},
|
|
6855
|
-
{
|
|
6856
|
-
"name": "part",
|
|
6857
|
-
"text": "calendar-day disabled - The calendar day that is disabled."
|
|
6858
6811
|
}
|
|
6859
6812
|
],
|
|
6860
6813
|
"usage": {},
|
|
@@ -7875,22 +7828,6 @@
|
|
|
7875
7828
|
}
|
|
7876
7829
|
],
|
|
7877
7830
|
"parts": [
|
|
7878
|
-
{
|
|
7879
|
-
"name": "calendar-day",
|
|
7880
|
-
"docs": "The individual buttons that display a day inside of the datetime\ncalendar."
|
|
7881
|
-
},
|
|
7882
|
-
{
|
|
7883
|
-
"name": "calendar-day active",
|
|
7884
|
-
"docs": "The currently selected calendar day."
|
|
7885
|
-
},
|
|
7886
|
-
{
|
|
7887
|
-
"name": "calendar-day disabled",
|
|
7888
|
-
"docs": "The calendar day that is disabled."
|
|
7889
|
-
},
|
|
7890
|
-
{
|
|
7891
|
-
"name": "calendar-day today",
|
|
7892
|
-
"docs": "The calendar day that contains the current day."
|
|
7893
|
-
},
|
|
7894
7831
|
{
|
|
7895
7832
|
"name": "month-year-button",
|
|
7896
7833
|
"docs": "The button that opens the month/year picker when\nusing a grid style layout."
|
|
@@ -19317,33 +19254,6 @@
|
|
|
19317
19254
|
],
|
|
19318
19255
|
"usage": {},
|
|
19319
19256
|
"props": [
|
|
19320
|
-
{
|
|
19321
|
-
"name": "alignment",
|
|
19322
|
-
"type": "\"center\" | \"start\"",
|
|
19323
|
-
"complexType": {
|
|
19324
|
-
"original": "'start' | 'center'",
|
|
19325
|
-
"resolved": "\"center\" | \"start\"",
|
|
19326
|
-
"references": {}
|
|
19327
|
-
},
|
|
19328
|
-
"mutable": false,
|
|
19329
|
-
"attr": "alignment",
|
|
19330
|
-
"reflectToAttr": false,
|
|
19331
|
-
"docs": "How to control the alignment of the radio and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL.",
|
|
19332
|
-
"docsTags": [],
|
|
19333
|
-
"default": "'center'",
|
|
19334
|
-
"values": [
|
|
19335
|
-
{
|
|
19336
|
-
"value": "center",
|
|
19337
|
-
"type": "string"
|
|
19338
|
-
},
|
|
19339
|
-
{
|
|
19340
|
-
"value": "start",
|
|
19341
|
-
"type": "string"
|
|
19342
|
-
}
|
|
19343
|
-
],
|
|
19344
|
-
"optional": false,
|
|
19345
|
-
"required": false
|
|
19346
|
-
},
|
|
19347
19257
|
{
|
|
19348
19258
|
"name": "color",
|
|
19349
19259
|
"type": "\"danger\" | \"dark\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | string & Record<never, never> | undefined",
|
|
@@ -19465,16 +19375,16 @@
|
|
|
19465
19375
|
},
|
|
19466
19376
|
{
|
|
19467
19377
|
"name": "labelPlacement",
|
|
19468
|
-
"type": "\"end\" | \"fixed\" | \"
|
|
19378
|
+
"type": "\"end\" | \"fixed\" | \"start\"",
|
|
19469
19379
|
"complexType": {
|
|
19470
|
-
"original": "'start' | 'end' | 'fixed'
|
|
19471
|
-
"resolved": "\"end\" | \"fixed\" | \"
|
|
19380
|
+
"original": "'start' | 'end' | 'fixed'",
|
|
19381
|
+
"resolved": "\"end\" | \"fixed\" | \"start\"",
|
|
19472
19382
|
"references": {}
|
|
19473
19383
|
},
|
|
19474
19384
|
"mutable": false,
|
|
19475
19385
|
"attr": "label-placement",
|
|
19476
19386
|
"reflectToAttr": false,
|
|
19477
|
-
"docs": "Where to place the label relative to the radio.\n`\"start\"`: The label will appear to the left of the radio in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the radio in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")
|
|
19387
|
+
"docs": "Where to place the label relative to the radio.\n`\"start\"`: The label will appear to the left of the radio in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the radio in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").",
|
|
19478
19388
|
"docsTags": [],
|
|
19479
19389
|
"default": "'start'",
|
|
19480
19390
|
"values": [
|
|
@@ -19486,10 +19396,6 @@
|
|
|
19486
19396
|
"value": "fixed",
|
|
19487
19397
|
"type": "string"
|
|
19488
19398
|
},
|
|
19489
|
-
{
|
|
19490
|
-
"value": "stacked",
|
|
19491
|
-
"type": "string"
|
|
19492
|
-
},
|
|
19493
19399
|
{
|
|
19494
19400
|
"value": "start",
|
|
19495
19401
|
"type": "string"
|
|
@@ -20018,16 +19924,16 @@
|
|
|
20018
19924
|
},
|
|
20019
19925
|
{
|
|
20020
19926
|
"name": "labelPlacement",
|
|
20021
|
-
"type": "\"end\" | \"fixed\" | \"
|
|
19927
|
+
"type": "\"end\" | \"fixed\" | \"start\"",
|
|
20022
19928
|
"complexType": {
|
|
20023
|
-
"original": "'start' | 'end' | 'fixed'
|
|
20024
|
-
"resolved": "\"end\" | \"fixed\" | \"
|
|
19929
|
+
"original": "'start' | 'end' | 'fixed'",
|
|
19930
|
+
"resolved": "\"end\" | \"fixed\" | \"start\"",
|
|
20025
19931
|
"references": {}
|
|
20026
19932
|
},
|
|
20027
19933
|
"mutable": false,
|
|
20028
19934
|
"attr": "label-placement",
|
|
20029
19935
|
"reflectToAttr": false,
|
|
20030
|
-
"docs": "Where to place the label relative to the range.\n`\"start\"`: The label will appear to the left of the range in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the range in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")
|
|
19936
|
+
"docs": "Where to place the label relative to the range.\n`\"start\"`: The label will appear to the left of the range in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the range in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").",
|
|
20031
19937
|
"docsTags": [],
|
|
20032
19938
|
"default": "'start'",
|
|
20033
19939
|
"values": [
|
|
@@ -20039,10 +19945,6 @@
|
|
|
20039
19945
|
"value": "fixed",
|
|
20040
19946
|
"type": "string"
|
|
20041
19947
|
},
|
|
20042
|
-
{
|
|
20043
|
-
"value": "stacked",
|
|
20044
|
-
"type": "string"
|
|
20045
|
-
},
|
|
20046
19948
|
{
|
|
20047
19949
|
"value": "start",
|
|
20048
19950
|
"type": "string"
|
|
@@ -28220,33 +28122,6 @@
|
|
|
28220
28122
|
],
|
|
28221
28123
|
"usage": {},
|
|
28222
28124
|
"props": [
|
|
28223
|
-
{
|
|
28224
|
-
"name": "alignment",
|
|
28225
|
-
"type": "\"center\" | \"start\"",
|
|
28226
|
-
"complexType": {
|
|
28227
|
-
"original": "'start' | 'center'",
|
|
28228
|
-
"resolved": "\"center\" | \"start\"",
|
|
28229
|
-
"references": {}
|
|
28230
|
-
},
|
|
28231
|
-
"mutable": false,
|
|
28232
|
-
"attr": "alignment",
|
|
28233
|
-
"reflectToAttr": false,
|
|
28234
|
-
"docs": "How to control the alignment of the toggle and label on the cross axis.\n``\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL.",
|
|
28235
|
-
"docsTags": [],
|
|
28236
|
-
"default": "'center'",
|
|
28237
|
-
"values": [
|
|
28238
|
-
{
|
|
28239
|
-
"value": "center",
|
|
28240
|
-
"type": "string"
|
|
28241
|
-
},
|
|
28242
|
-
{
|
|
28243
|
-
"value": "start",
|
|
28244
|
-
"type": "string"
|
|
28245
|
-
}
|
|
28246
|
-
],
|
|
28247
|
-
"optional": false,
|
|
28248
|
-
"required": false
|
|
28249
|
-
},
|
|
28250
28125
|
{
|
|
28251
28126
|
"name": "checked",
|
|
28252
28127
|
"type": "boolean",
|
|
@@ -28415,16 +28290,16 @@
|
|
|
28415
28290
|
},
|
|
28416
28291
|
{
|
|
28417
28292
|
"name": "labelPlacement",
|
|
28418
|
-
"type": "\"end\" | \"fixed\" | \"
|
|
28293
|
+
"type": "\"end\" | \"fixed\" | \"start\"",
|
|
28419
28294
|
"complexType": {
|
|
28420
|
-
"original": "'start' | 'end' | 'fixed'
|
|
28421
|
-
"resolved": "\"end\" | \"fixed\" | \"
|
|
28295
|
+
"original": "'start' | 'end' | 'fixed'",
|
|
28296
|
+
"resolved": "\"end\" | \"fixed\" | \"start\"",
|
|
28422
28297
|
"references": {}
|
|
28423
28298
|
},
|
|
28424
28299
|
"mutable": false,
|
|
28425
28300
|
"attr": "label-placement",
|
|
28426
28301
|
"reflectToAttr": false,
|
|
28427
|
-
"docs": "Where to place the label relative to the input.\n`\"start\"`: The label will appear to the left of the toggle in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the toggle in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")
|
|
28302
|
+
"docs": "Where to place the label relative to the input.\n`\"start\"`: The label will appear to the left of the toggle in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the toggle in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").",
|
|
28428
28303
|
"docsTags": [],
|
|
28429
28304
|
"default": "'start'",
|
|
28430
28305
|
"values": [
|
|
@@ -28436,10 +28311,6 @@
|
|
|
28436
28311
|
"value": "fixed",
|
|
28437
28312
|
"type": "string"
|
|
28438
28313
|
},
|
|
28439
|
-
{
|
|
28440
|
-
"value": "stacked",
|
|
28441
|
-
"type": "string"
|
|
28442
|
-
},
|
|
28443
28314
|
{
|
|
28444
28315
|
"value": "start",
|
|
28445
28316
|
"type": "string"
|
|
@@ -29286,7 +29157,7 @@
|
|
|
29286
29157
|
"path": "src/components/toast/toast-interface.ts"
|
|
29287
29158
|
},
|
|
29288
29159
|
"src/components/toast/toast-interface.ts::ToastButton": {
|
|
29289
|
-
"declaration": "export interface ToastButton {\n text?: string;\n icon?: string;\n side?: 'start' | 'end';\n role?: 'cancel' | string;\n
|
|
29160
|
+
"declaration": "export interface ToastButton {\n text?: string;\n icon?: string;\n side?: 'start' | 'end';\n role?: 'cancel' | string;\n cssClass?: string | string[];\n htmlAttributes?: { [key: string]: any };\n handler?: () => boolean | void | Promise<boolean | void>;\n}",
|
|
29290
29161
|
"docstring": "",
|
|
29291
29162
|
"path": "src/components/toast/toast-interface.ts"
|
|
29292
29163
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { w as writeTask } from './index-
|
|
4
|
+
import { w as writeTask } from './index-adfb2000.js';
|
|
5
5
|
import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-6447af60.js';
|
|
6
6
|
import { createGesture } from './index-ff313b19.js';
|
|
7
7
|
|
|
@@ -185,22 +185,7 @@ const getPartsFromCalendarDay = (el) => {
|
|
|
185
185
|
};
|
|
186
186
|
function parseDate(val) {
|
|
187
187
|
if (Array.isArray(val)) {
|
|
188
|
-
|
|
189
|
-
for (const valStr of val) {
|
|
190
|
-
const parsedVal = parseDate(valStr);
|
|
191
|
-
/**
|
|
192
|
-
* If any of the values weren't parsed correctly, consider
|
|
193
|
-
* the entire batch incorrect. This simplifies the type
|
|
194
|
-
* signatures by having "undefined" be a general error case
|
|
195
|
-
* instead of returning (Datetime | undefined)[], which is
|
|
196
|
-
* harder for TS to perform type narrowing on.
|
|
197
|
-
*/
|
|
198
|
-
if (!parsedVal) {
|
|
199
|
-
return undefined;
|
|
200
|
-
}
|
|
201
|
-
parsedArray.push(parsedVal);
|
|
202
|
-
}
|
|
203
|
-
return parsedArray;
|
|
188
|
+
return val.map((valStr) => parseDate(valStr));
|
|
204
189
|
}
|
|
205
190
|
// manually parse IS0 cuz Date.parse cannot be trusted
|
|
206
191
|
// ISO 8601 format: 1994-12-15T13:47:20Z
|
|
@@ -220,7 +205,6 @@ function parseDate(val) {
|
|
|
220
205
|
}
|
|
221
206
|
if (parse === null) {
|
|
222
207
|
// wasn't able to parse the ISO datetime
|
|
223
|
-
printIonWarning(`Unable to parse date string: ${val}. Please provide a valid ISO 8601 datetime string.`);
|
|
224
208
|
return undefined;
|
|
225
209
|
}
|
|
226
210
|
// ensure all the parse values exist with at least 0
|
|
@@ -1241,20 +1225,12 @@ const generateTime = (refParts, hourCycle = 'h12', minParts, maxParts, hourValue
|
|
|
1241
1225
|
* Given DatetimeParts, generate the previous,
|
|
1242
1226
|
* current, and and next months.
|
|
1243
1227
|
*/
|
|
1244
|
-
const generateMonths = (refParts
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
if (forcedDate !== undefined && (refParts.month !== forcedDate.month || refParts.year !== forcedDate.year)) {
|
|
1251
|
-
const forced = { month: forcedDate.month, year: forcedDate.year, day: forcedDate.day };
|
|
1252
|
-
const forcedMonthIsBefore = isBefore(forced, current);
|
|
1253
|
-
return forcedMonthIsBefore
|
|
1254
|
-
? [forced, current, getNextMonth(refParts)]
|
|
1255
|
-
: [getPreviousMonth(refParts), current, forced];
|
|
1256
|
-
}
|
|
1257
|
-
return [getPreviousMonth(refParts), current, getNextMonth(refParts)];
|
|
1228
|
+
const generateMonths = (refParts) => {
|
|
1229
|
+
return [
|
|
1230
|
+
getPreviousMonth(refParts),
|
|
1231
|
+
{ month: refParts.month, year: refParts.year, day: refParts.day },
|
|
1232
|
+
getNextMonth(refParts),
|
|
1233
|
+
];
|
|
1258
1234
|
};
|
|
1259
1235
|
const getMonthColumnData = (locale, refParts, minParts, maxParts, monthValues, formatOptions = {
|
|
1260
1236
|
month: 'long',
|