@ionic/core 7.7.2-dev.11707881769.185d2a14 → 7.7.2-dev.11707926434.1affaed4
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/action-sheet.js +3 -7
- package/components/alert.js +2 -6
- package/components/data.js +28 -38
- package/components/ion-datetime-button.js +11 -10
- package/components/ion-datetime.js +68 -7
- package/components/ion-loading.js +2 -6
- package/components/ion-modal.js +3 -7
- package/components/ion-picker.js +2 -6
- package/components/ion-toast.js +2 -6
- package/components/item.js +12 -3
- package/components/overlays.js +4 -54
- package/components/popover.js +2 -6
- package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-5a17c5e1.js} +1 -1
- package/dist/cjs/{button-active-2d6520ec.js → button-active-b8c3f603.js} +1 -1
- package/dist/cjs/{data-a5109f09.js → data-6246812e.js} +27 -39
- package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-d23873bb.js} +2 -2
- package/dist/cjs/{index-0ffe376d.js → index-5a471146.js} +22 -25
- package/dist/cjs/{index-c3580a90.js → index-84351d21.js} +3 -3
- package/dist/cjs/{index-a43f7a0f.js → index-8c679cbf.js} +2 -2
- package/dist/cjs/index.cjs.js +8 -8
- package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -12
- package/dist/cjs/ion-alert.cjs.entry.js +7 -11
- package/dist/cjs/ion-app_8.cjs.entry.js +6 -6
- 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 +2 -2
- 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 +13 -12
- package/dist/cjs/ion-datetime_3.cjs.entry.js +71 -17
- 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 +4 -4
- package/dist/cjs/ion-loading.cjs.entry.js +6 -10
- package/dist/cjs/ion-menu_3.cjs.entry.js +5 -5
- package/dist/cjs/ion-modal.cjs.entry.js +8 -12
- 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 +7 -11
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-range.cjs.entry.js +2 -2
- 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 +4 -4
- 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 +6 -10
- package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
- package/dist/cjs/{ionic-global-59a10130.js → ionic-global-7358c23e.js} +1 -1
- package/dist/cjs/ionic.cjs.js +7 -7
- package/dist/cjs/{ios.transition-c3b11cc3.js → ios.transition-8e40c54e.js} +2 -2
- package/dist/cjs/loader.cjs.js +6 -6
- package/dist/cjs/{md.transition-82a8c649.js → md.transition-597a2479.js} +2 -2
- package/dist/cjs/{overlays-fb7ca451.js → overlays-330df245.js} +6 -56
- package/dist/cjs/{status-tap-692f6d32.js → status-tap-b0bfea34.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/action-sheet/action-sheet.js +5 -9
- package/dist/collection/components/alert/alert.js +4 -8
- package/dist/collection/components/datetime/datetime.js +90 -7
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +79 -0
- package/dist/collection/components/datetime/test/format.spec.js +65 -1
- package/dist/collection/components/datetime/utils/format.js +28 -20
- package/dist/collection/components/datetime-button/datetime-button.js +11 -10
- package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +66 -0
- package/dist/collection/components/item/item.js +12 -3
- package/dist/collection/components/loading/loading.js +4 -8
- package/dist/collection/components/modal/modal.js +5 -9
- package/dist/collection/components/picker/picker.js +4 -8
- package/dist/collection/components/popover/popover.js +4 -8
- package/dist/collection/components/toast/test/toast.spec.js +0 -12
- package/dist/collection/components/toast/toast.js +4 -8
- package/dist/collection/utils/overlays.js +4 -54
- package/dist/collection/utils/test/overlays/overlays.e2e.js +0 -33
- package/dist/collection/utils/test/overlays/overlays.spec.js +0 -51
- package/dist/docs.json +66 -23
- package/dist/esm/{app-globals-5cf6195b.js → app-globals-47226a12.js} +1 -1
- package/dist/esm/{button-active-47ac8092.js → button-active-4bee452c.js} +1 -1
- package/dist/esm/{data-0f3ab200.js → data-25d50209.js} +28 -38
- package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-f42b9c80.js} +2 -2
- package/dist/esm/{index-47b2066d.js → index-48209844.js} +2 -2
- package/dist/esm/{index-0b4beb69.js → index-4b98143d.js} +3 -3
- package/dist/esm/{index-4c30cddd.js → index-73881b51.js} +22 -25
- package/dist/esm/index.js +8 -8
- package/dist/esm/ion-accordion_2.entry.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +8 -12
- package/dist/esm/ion-alert.entry.js +7 -11
- package/dist/esm/ion-app_8.entry.js +6 -6
- 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 +2 -2
- 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 +13 -12
- package/dist/esm/ion-datetime_3.entry.js +71 -17
- 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 +4 -4
- package/dist/esm/ion-loading.entry.js +6 -10
- package/dist/esm/ion-menu_3.entry.js +5 -5
- package/dist/esm/ion-modal.entry.js +8 -12
- 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 +7 -11
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +2 -2
- package/dist/esm/ion-range.entry.js +2 -2
- 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 +4 -4
- 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 +6 -10
- package/dist/esm/ion-toggle.entry.js +2 -2
- package/dist/esm/{ionic-global-ad9a1810.js → ionic-global-778b7863.js} +1 -1
- package/dist/esm/ionic.js +8 -8
- package/dist/esm/{ios.transition-b76c7020.js → ios.transition-7ff7381d.js} +2 -2
- package/dist/esm/loader.js +7 -7
- package/dist/esm/{md.transition-564937a7.js → md.transition-28a9a26b.js} +2 -2
- package/dist/esm/{overlays-04a9a43f.js → overlays-33ae3ea0.js} +6 -56
- package/dist/esm/{status-tap-5a95077d.js → status-tap-2b335fb7.js} +1 -1
- package/dist/esm-es5/app-globals-47226a12.js +4 -0
- package/dist/esm-es5/{button-active-47ac8092.js → button-active-4bee452c.js} +1 -1
- package/dist/esm-es5/data-25d50209.js +4 -0
- package/dist/esm-es5/{hardware-back-button-b410a047.js → hardware-back-button-f42b9c80.js} +1 -1
- package/dist/esm-es5/{index-47b2066d.js → index-48209844.js} +1 -1
- package/dist/esm-es5/{index-0b4beb69.js → index-4b98143d.js} +1 -1
- package/dist/esm-es5/{index-4c30cddd.js → index-73881b51.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- 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-ad9a1810.js → ionic-global-778b7863.js} +1 -1
- package/dist/esm-es5/ionic.js +2 -2
- package/dist/esm-es5/{ios.transition-b76c7020.js → ios.transition-7ff7381d.js} +1 -1
- package/dist/esm-es5/loader.js +2 -2
- package/dist/esm-es5/md.transition-28a9a26b.js +4 -0
- package/dist/esm-es5/{overlays-04a9a43f.js → overlays-33ae3ea0.js} +1 -1
- package/dist/esm-es5/{status-tap-5a95077d.js → status-tap-2b335fb7.js} +1 -1
- 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-df504a37.system.js → p-001010b6.system.js} +1 -1
- package/dist/ionic/{p-1924f2e0.system.entry.js → p-016976a7.system.entry.js} +2 -2
- package/dist/ionic/{p-a0b28c69.system.entry.js → p-078fd095.system.entry.js} +1 -1
- package/dist/ionic/{p-ae35294f.system.entry.js → p-0ae25399.system.entry.js} +1 -1
- package/dist/ionic/p-0b955124.system.js +4 -0
- package/dist/ionic/{p-3481d54e.system.entry.js → p-0e29919c.system.entry.js} +1 -1
- package/dist/ionic/{p-8794fa00.system.entry.js → p-0eef8b34.system.entry.js} +1 -1
- package/dist/ionic/{p-fb9f8495.system.entry.js → p-0fd295ef.system.entry.js} +1 -1
- package/dist/ionic/{p-508a4c87.entry.js → p-108f730a.entry.js} +1 -1
- package/dist/ionic/{p-5d7e32ce.js → p-1aa7c019.js} +1 -1
- package/dist/ionic/{p-601e17b4.entry.js → p-1c531ca2.entry.js} +1 -1
- package/dist/ionic/{p-91cb3f9a.entry.js → p-1f583f73.entry.js} +1 -1
- package/dist/ionic/{p-ea25b4c8.system.entry.js → p-1f6cdf2c.system.entry.js} +1 -1
- package/dist/ionic/{p-717e2526.system.entry.js → p-20a6513f.system.entry.js} +1 -1
- package/dist/ionic/{p-cde3ac34.system.entry.js → p-20f7a91e.system.entry.js} +1 -1
- package/dist/ionic/{p-74deb358.system.js → p-25b08bc4.system.js} +1 -1
- package/dist/ionic/p-26138fed.js +4 -0
- package/dist/ionic/{p-bf05cbc7.entry.js → p-2da0a76c.entry.js} +1 -1
- package/dist/ionic/{p-70e34286.system.entry.js → p-2f66e177.system.entry.js} +1 -1
- package/dist/ionic/{p-5cb5f63d.system.entry.js → p-30c9e049.system.entry.js} +1 -1
- package/dist/ionic/{p-16a61810.entry.js → p-333f06ed.entry.js} +1 -1
- package/dist/ionic/{p-de55ec45.js → p-341b4519.js} +1 -1
- package/dist/ionic/{p-bd314f1e.system.entry.js → p-389ff4d2.system.entry.js} +1 -1
- package/dist/ionic/{p-1f16d040.entry.js → p-396c1a55.entry.js} +1 -1
- package/dist/ionic/{p-5e23bea8.system.entry.js → p-3a54c070.system.entry.js} +1 -1
- package/dist/ionic/{p-275705e5.entry.js → p-3a98f8db.entry.js} +1 -1
- package/dist/ionic/{p-502780e4.entry.js → p-3cdbaa49.entry.js} +1 -1
- package/dist/ionic/{p-49aba878.js → p-3eb2da31.js} +1 -1
- package/dist/ionic/{p-6525a8cd.system.js → p-3f028207.system.js} +1 -1
- package/dist/ionic/{p-43a5edee.entry.js → p-400574bf.entry.js} +1 -1
- package/dist/ionic/{p-18beebdf.system.entry.js → p-48af4316.system.entry.js} +2 -2
- package/dist/ionic/{p-ceceac26.js → p-4b2d5b9c.js} +1 -1
- package/dist/ionic/{p-a022b684.system.entry.js → p-4c256bc2.system.entry.js} +1 -1
- package/dist/ionic/{p-b7efc743.system.entry.js → p-4dfc27eb.system.entry.js} +1 -1
- package/dist/ionic/{p-396083cc.entry.js → p-51f08a9f.entry.js} +1 -1
- package/dist/ionic/{p-86813176.system.entry.js → p-58e3ae88.system.entry.js} +1 -1
- package/dist/ionic/{p-31450f73.entry.js → p-5b6aa59a.entry.js} +1 -1
- package/dist/ionic/{p-4fda5c35.entry.js → p-5e60dbc8.entry.js} +1 -1
- package/dist/ionic/{p-1636923f.system.js → p-5eea8b4c.system.js} +1 -1
- package/dist/ionic/{p-cd9a7017.system.entry.js → p-5f456b3c.system.entry.js} +1 -1
- package/dist/ionic/{p-2e1f014a.system.entry.js → p-61c0f8bf.system.entry.js} +1 -1
- package/dist/ionic/{p-a5951821.system.js → p-62a3c609.system.js} +1 -1
- package/dist/ionic/{p-f53d074d.system.entry.js → p-680f96e8.system.entry.js} +1 -1
- package/dist/ionic/p-68ae6719.system.entry.js +4 -0
- package/dist/ionic/{p-5b40d967.entry.js → p-6a34980d.entry.js} +1 -1
- package/dist/ionic/p-6b02edd6.js +4 -0
- package/dist/ionic/{p-afd6d696.system.entry.js → p-6f38d0c5.system.entry.js} +1 -1
- package/dist/ionic/{p-42a9f663.system.entry.js → p-70026e8f.system.entry.js} +1 -1
- package/dist/ionic/{p-72fa96bf.system.js → p-76893257.system.js} +1 -1
- package/dist/ionic/{p-c1797ec5.system.entry.js → p-78edc0cd.system.entry.js} +1 -1
- package/dist/ionic/{p-f0194418.system.entry.js → p-7c32fb95.system.entry.js} +1 -1
- package/dist/ionic/p-7c5e8706.entry.js +4 -0
- package/dist/ionic/{p-05d560ec.entry.js → p-7dc7514a.entry.js} +1 -1
- package/dist/ionic/{p-bd4787eb.entry.js → p-84513dfb.entry.js} +1 -1
- package/dist/ionic/{p-e04b9647.system.entry.js → p-84879f61.system.entry.js} +1 -1
- package/dist/ionic/{p-1131946f.system.entry.js → p-8569d759.system.entry.js} +1 -1
- package/dist/ionic/p-87ae4f6c.system.entry.js +4 -0
- package/dist/ionic/{p-eb07b88f.entry.js → p-8a671f16.entry.js} +1 -1
- package/dist/ionic/{p-123b4809.js → p-8ddc00f7.js} +1 -1
- package/dist/ionic/p-8e16390d.system.js +4 -0
- package/dist/ionic/{p-a8a56449.entry.js → p-8ebd9951.entry.js} +1 -1
- package/dist/ionic/p-8f1ce253.js +4 -0
- package/dist/ionic/{p-c747f89b.system.entry.js → p-92c2178e.system.entry.js} +1 -1
- package/dist/ionic/{p-9cd7ba27.system.js → p-95c44e02.system.js} +1 -1
- package/dist/ionic/{p-95d5a097.entry.js → p-97eca294.entry.js} +1 -1
- package/dist/ionic/{p-a85d9047.system.entry.js → p-9a6ab80a.system.entry.js} +1 -1
- package/dist/ionic/{p-e9f9388e.system.js → p-9beb5039.system.js} +1 -1
- package/dist/ionic/{p-5928fac9.system.entry.js → p-9f5b40c0.system.entry.js} +1 -1
- package/dist/ionic/{p-3d961d93.entry.js → p-9f6397ce.entry.js} +1 -1
- package/dist/ionic/{p-5c6a04bd.entry.js → p-a02b2d75.entry.js} +1 -1
- package/dist/ionic/{p-88e9052d.entry.js → p-a051c371.entry.js} +1 -1
- package/dist/ionic/{p-cb9e71e0.entry.js → p-a19f5ae1.entry.js} +1 -1
- package/dist/ionic/{p-7b1ed642.system.entry.js → p-a1bfaa5c.system.entry.js} +1 -1
- package/dist/ionic/{p-5c580e89.entry.js → p-a2ad515b.entry.js} +1 -1
- package/dist/ionic/{p-3079950e.entry.js → p-aa7ae6aa.entry.js} +1 -1
- package/dist/ionic/{p-caeefe16.system.entry.js → p-aaa4ffb3.system.entry.js} +1 -1
- package/dist/ionic/{p-abcedc15.system.entry.js → p-ac20160b.system.entry.js} +1 -1
- package/dist/ionic/{p-ba97a133.system.entry.js → p-ac979ebf.system.entry.js} +1 -1
- package/dist/ionic/{p-dbd70d97.system.entry.js → p-b37e4ee5.system.entry.js} +1 -1
- package/dist/ionic/{p-c771a6ef.entry.js → p-b498de69.entry.js} +1 -1
- package/dist/ionic/{p-30cd5e7b.js → p-b4d8fe47.js} +1 -1
- package/dist/ionic/{p-337ac0f5.entry.js → p-b8c4df21.entry.js} +1 -1
- package/dist/ionic/{p-89ca4c4b.system.js → p-b94882a9.system.js} +1 -1
- package/dist/ionic/{p-edcada2b.system.entry.js → p-b96699d3.system.entry.js} +1 -1
- package/dist/ionic/{p-64856c3c.system.entry.js → p-bc2c03d7.system.entry.js} +1 -1
- package/dist/ionic/{p-8f872991.entry.js → p-c3790581.entry.js} +1 -1
- package/dist/ionic/p-c5c3710c.js +4 -0
- package/dist/ionic/{p-2e14c533.system.js → p-c6fef62b.system.js} +1 -1
- package/dist/ionic/{p-aaaa615c.system.entry.js → p-c851b204.system.entry.js} +1 -1
- package/dist/ionic/{p-d39ab63d.entry.js → p-ccd419ae.entry.js} +1 -1
- package/dist/ionic/{p-68ba8e77.system.entry.js → p-cd055d60.system.entry.js} +1 -1
- package/dist/ionic/{p-027f3674.entry.js → p-ce2eabd5.entry.js} +1 -1
- package/dist/ionic/{p-b0ff8075.entry.js → p-d7260b87.entry.js} +1 -1
- package/dist/ionic/{p-f840d817.entry.js → p-d74ca358.entry.js} +1 -1
- package/dist/ionic/{p-657ccdd6.entry.js → p-d8607ede.entry.js} +1 -1
- package/dist/ionic/{p-c308f773.entry.js → p-d95c8e90.entry.js} +1 -1
- package/dist/ionic/{p-c11bab7e.entry.js → p-dbb4c012.entry.js} +1 -1
- package/dist/ionic/{p-0457213c.entry.js → p-dce9bc53.entry.js} +1 -1
- package/dist/ionic/{p-7173ba59.system.entry.js → p-df281664.system.entry.js} +1 -1
- package/dist/ionic/{p-2327064c.entry.js → p-df468a8f.entry.js} +1 -1
- package/dist/ionic/p-e1271366.js +5 -0
- package/dist/ionic/{p-b2595011.system.entry.js → p-e68980ff.system.entry.js} +1 -1
- package/dist/ionic/{p-1f19958f.system.entry.js → p-e6aaff14.system.entry.js} +1 -1
- package/dist/ionic/{p-dcb5711d.entry.js → p-ea8fbf09.entry.js} +1 -1
- package/dist/ionic/{p-a3df16b9.system.entry.js → p-eda7a1db.system.entry.js} +1 -1
- package/dist/ionic/{p-64db1331.entry.js → p-efe9180b.entry.js} +1 -1
- package/dist/ionic/{p-64761c90.entry.js → p-f1ad3b3d.entry.js} +1 -1
- package/dist/ionic/{p-94ff532b.entry.js → p-f1cc690e.entry.js} +1 -1
- package/dist/ionic/{p-8e651c29.entry.js → p-f46775e4.entry.js} +1 -1
- package/dist/ionic/p-f74afe3b.entry.js +4 -0
- package/dist/ionic/{p-c39cc96d.system.entry.js → p-f7b43141.system.entry.js} +1 -1
- package/dist/ionic/{p-3a7de59c.entry.js → p-f88dd429.entry.js} +1 -1
- package/dist/ionic/p-f89ae259.js +4 -0
- package/dist/ionic/{p-9056778e.system.entry.js → p-f97b9cdd.system.entry.js} +1 -1
- package/dist/ionic/{p-9ec7208d.system.js → p-fd36799d.system.js} +1 -1
- package/dist/ionic/{p-7ce40e7b.entry.js → p-fd3f475f.entry.js} +1 -1
- package/dist/ionic/{p-d4cadd34.system.js → p-fd9a9db3.system.js} +1 -1
- package/dist/ionic/{p-b6279412.entry.js → p-fe92da17.entry.js} +1 -1
- package/dist/types/components/action-sheet/action-sheet.d.ts +0 -4
- package/dist/types/components/alert/alert.d.ts +0 -4
- package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
- package/dist/types/components/datetime/datetime.d.ts +16 -1
- package/dist/types/components/datetime/utils/format.d.ts +7 -1
- package/dist/types/components/loading/loading.d.ts +0 -4
- package/dist/types/components/modal/modal.d.ts +0 -4
- package/dist/types/components/picker/picker.d.ts +0 -4
- package/dist/types/components/popover/popover.d.ts +0 -4
- package/dist/types/components/toast/toast.d.ts +0 -4
- package/dist/types/components.d.ts +17 -9
- package/hydrate/index.d.ts +1 -1
- package/hydrate/index.js +136 -271
- package/package.json +4 -4
- package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
- package/dist/esm-es5/data-0f3ab200.js +0 -4
- package/dist/esm-es5/md.transition-564937a7.js +0 -4
- package/dist/ionic/p-0b34d3a7.system.js +0 -4
- package/dist/ionic/p-0e23c289.system.entry.js +0 -4
- package/dist/ionic/p-21ca1f1c.js +0 -4
- package/dist/ionic/p-23c73017.entry.js +0 -4
- package/dist/ionic/p-5c2ae448.js +0 -4
- package/dist/ionic/p-7330c044.system.js +0 -4
- package/dist/ionic/p-a6e465f5.entry.js +0 -4
- package/dist/ionic/p-bdca4784.js +0 -4
- package/dist/ionic/p-dbcba5a2.js +0 -4
- package/dist/ionic/p-e81bf09e.system.entry.js +0 -4
- package/dist/ionic/p-ed7a529f.js +0 -5
- package/dist/ionic/p-f7dce541.js +0 -4
|
@@ -177,10 +177,6 @@ const ActionSheet = /*@__PURE__*/ proxyCustomElement(class ActionSheet extends H
|
|
|
177
177
|
* This can be useful in a button handler for determining which button was
|
|
178
178
|
* clicked to dismiss the action sheet.
|
|
179
179
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
180
|
-
*
|
|
181
|
-
* This is a no-op if the overlay has not been presented yet. If you want
|
|
182
|
-
* to remove an overlay from the DOM that was never presented, use the
|
|
183
|
-
* [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
|
|
184
180
|
*/
|
|
185
181
|
async dismiss(data, role) {
|
|
186
182
|
const unlock = await this.lockController.lock();
|
|
@@ -289,12 +285,12 @@ const ActionSheet = /*@__PURE__*/ proxyCustomElement(class ActionSheet extends H
|
|
|
289
285
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
290
286
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
291
287
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
292
|
-
return (h(Host, Object.assign({ key: '
|
|
288
|
+
return (h(Host, Object.assign({ key: '98851ef73ef85bb1e364111f090480102929a197', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
293
289
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
294
|
-
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '
|
|
290
|
+
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: 'e2520342ca16aae4dac0bd7bff59b2150aeb2171', tappable: this.backdropDismiss }), h("div", { key: 'c95f2ec4edde1dc3a8860e68b4a86b82f6797aee', tabindex: "0" }), h("div", { key: '7af9edad368e308508801c8ef2225928ced63159', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: 'd1d92b4d1814d34eb7d8134ff77ee260ca521a6d', class: "action-sheet-container" }, h("div", { key: 'cc774b45a9992e95bfee788cb484d99364b76d22', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (h("div", { id: headerID, class: {
|
|
295
291
|
'action-sheet-title': true,
|
|
296
292
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
297
|
-
} }, header, this.subHeader && h("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b) }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({}, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", null)))))), h("div", { key: '
|
|
293
|
+
} }, header, this.subHeader && h("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b) }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({}, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", null)))))), h("div", { key: '9a013adda7dec101cf0c90feb02f5b7f5582a0b3', tabindex: "0" })));
|
|
298
294
|
}
|
|
299
295
|
get el() { return this; }
|
|
300
296
|
static get watchers() { return {
|
package/components/alert.js
CHANGED
|
@@ -315,10 +315,6 @@ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
|
|
|
315
315
|
* This can be useful in a button handler for determining which button was
|
|
316
316
|
* clicked to dismiss the alert.
|
|
317
317
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
318
|
-
*
|
|
319
|
-
* This is a no-op if the overlay has not been presented yet. If you want
|
|
320
|
-
* to remove an overlay from the DOM that was never presented, use the
|
|
321
|
-
* [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
|
|
322
318
|
*/
|
|
323
319
|
async dismiss(data, role) {
|
|
324
320
|
const unlock = await this.lockController.lock();
|
|
@@ -486,9 +482,9 @@ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
|
|
|
486
482
|
* If neither is defined, don't set aria-labelledby.
|
|
487
483
|
*/
|
|
488
484
|
const ariaLabelledBy = header ? hdrId : subHeader ? subHdrId : null;
|
|
489
|
-
return (h(Host, Object.assign({ key: '
|
|
485
|
+
return (h(Host, Object.assign({ key: '8327e1aef6c404c2021d43aaa542d86e839817f5', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
490
486
|
zIndex: `${20000 + overlayIndex}`,
|
|
491
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '
|
|
487
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '814a4e1b4f7560026b089b762c68401b6277355e', tappable: this.backdropDismiss }), h("div", { key: 'b31ce08019e7223a098d18cb857f72eddc245e98', tabindex: "0" }), h("div", { key: '77efa4b9f7062f55ba0998a09a24550ec0b9b4f5', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '648e0768610ee57f9e5c84b8955da497ec9b0b82', class: "alert-head" }, header && (h("h2", { id: hdrId, class: "alert-title" }, header)), subHeader && (h("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: 'f3d752cce77ca021dc959611ad5078b94b7f3cec', tabindex: "0" })));
|
|
492
488
|
}
|
|
493
489
|
get el() { return this; }
|
|
494
490
|
static get watchers() { return {
|
package/components/data.js
CHANGED
|
@@ -832,7 +832,25 @@ const getFormattedDayPeriod = (dayPeriod) => {
|
|
|
832
832
|
}
|
|
833
833
|
return dayPeriod.toUpperCase();
|
|
834
834
|
};
|
|
835
|
-
|
|
835
|
+
/**
|
|
836
|
+
* Including time zone options may lead to the rendered text showing a
|
|
837
|
+
* different time from what was selected in the Datetime, which could cause
|
|
838
|
+
* confusion.
|
|
839
|
+
*/
|
|
840
|
+
const stripTimeZone = (formatOptions) => {
|
|
841
|
+
/**
|
|
842
|
+
* We do not want to display the time zone name
|
|
843
|
+
*/
|
|
844
|
+
delete formatOptions.timeZoneName;
|
|
845
|
+
/**
|
|
846
|
+
* Setting the time zone to UTC ensures that the value shown is always the
|
|
847
|
+
* same as what was selected and safeguards against older Safari bugs with
|
|
848
|
+
* Intl.DateTimeFormat.
|
|
849
|
+
*/
|
|
850
|
+
formatOptions.timeZone = 'UTC';
|
|
851
|
+
return formatOptions;
|
|
852
|
+
};
|
|
853
|
+
const getLocalizedTime = (locale, refParts, hourCycle, formatOptions) => {
|
|
836
854
|
const timeParts = {
|
|
837
855
|
hour: refParts.hour,
|
|
838
856
|
minute: refParts.minute,
|
|
@@ -840,28 +858,17 @@ const getLocalizedTime = (locale, refParts, hourCycle) => {
|
|
|
840
858
|
if (timeParts.hour === undefined || timeParts.minute === undefined) {
|
|
841
859
|
return 'Invalid Time';
|
|
842
860
|
}
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
* the user's current timezone offset
|
|
850
|
-
* when formatting the time.
|
|
851
|
-
*/
|
|
852
|
-
timeZone: 'UTC',
|
|
861
|
+
const defaultFormatOptions = { hour: 'numeric', minute: 'numeric' };
|
|
862
|
+
/**
|
|
863
|
+
* If any options are provided, don't use any of the defaults.
|
|
864
|
+
*/
|
|
865
|
+
const options = stripTimeZone(formatOptions !== null && formatOptions !== void 0 ? formatOptions : defaultFormatOptions);
|
|
866
|
+
return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, options), {
|
|
853
867
|
/**
|
|
854
868
|
* We use hourCycle here instead of hour12 due to:
|
|
855
869
|
* https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
|
|
856
870
|
*/
|
|
857
|
-
hourCycle
|
|
858
|
-
/**
|
|
859
|
-
* Setting Z at the end indicates that this
|
|
860
|
-
* date string is in the UTC time zone. This
|
|
861
|
-
* prevents new Date from adding the time zone
|
|
862
|
-
* offset when getting the ISO string.
|
|
863
|
-
*/
|
|
864
|
-
}).format(new Date(convertDataToISO(Object.assign({
|
|
871
|
+
hourCycle })).format(new Date(convertDataToISO(Object.assign({
|
|
865
872
|
/**
|
|
866
873
|
* JS uses a simplified ISO 8601 format which allows for
|
|
867
874
|
* date-only formats and date-time formats, but not
|
|
@@ -947,14 +954,6 @@ const generateDayAriaLabel = (locale, today, refParts) => {
|
|
|
947
954
|
*/
|
|
948
955
|
return today ? `Today, ${labelString}` : labelString;
|
|
949
956
|
};
|
|
950
|
-
/**
|
|
951
|
-
* Gets the day of the week, month, and day
|
|
952
|
-
* Used for the header in MD mode.
|
|
953
|
-
*/
|
|
954
|
-
const getMonthAndDay = (locale, refParts) => {
|
|
955
|
-
const date = getNormalizedDate(refParts);
|
|
956
|
-
return new Intl.DateTimeFormat(locale, { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }).format(date);
|
|
957
|
-
};
|
|
958
957
|
/**
|
|
959
958
|
* Given a locale and a date object,
|
|
960
959
|
* return a formatted string that includes
|
|
@@ -965,15 +964,6 @@ const getMonthAndYear = (locale, refParts) => {
|
|
|
965
964
|
const date = getNormalizedDate(refParts);
|
|
966
965
|
return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(date);
|
|
967
966
|
};
|
|
968
|
-
/**
|
|
969
|
-
* Given a locale and a date object,
|
|
970
|
-
* return a formatted string that includes
|
|
971
|
-
* the short month, numeric day, and full year.
|
|
972
|
-
* Example: Apr 22, 2021
|
|
973
|
-
*/
|
|
974
|
-
const getMonthDayAndYear = (locale, refParts) => {
|
|
975
|
-
return getLocalizedDateTime(locale, refParts, { month: 'short', day: 'numeric', year: 'numeric' });
|
|
976
|
-
};
|
|
977
967
|
/**
|
|
978
968
|
* Given a locale and a date object,
|
|
979
969
|
* return a formatted string that includes
|
|
@@ -1023,7 +1013,7 @@ const getNormalizedDate = (refParts) => {
|
|
|
1023
1013
|
*/
|
|
1024
1014
|
const getLocalizedDateTime = (locale, refParts, options) => {
|
|
1025
1015
|
const date = getNormalizedDate(refParts);
|
|
1026
|
-
return getDateTimeFormat(locale, options).format(date);
|
|
1016
|
+
return getDateTimeFormat(locale, stripTimeZone(options)).format(date);
|
|
1027
1017
|
};
|
|
1028
1018
|
/**
|
|
1029
1019
|
* Given a locale, DatetimeParts, and options
|
|
@@ -1622,4 +1612,4 @@ const getTimeColumnsData = (locale, refParts, hourCycle, minParts, maxParts, all
|
|
|
1622
1612
|
};
|
|
1623
1613
|
};
|
|
1624
1614
|
|
|
1625
|
-
export { getNumDaysInMonth as A, getCombinedDateColumnData as B, getMonthColumnData as C, getDayColumnData as D, getYearColumnData as E, isMonthFirstLocale as F, getTimeColumnsData as G, isLocaleDayPeriodRTL as H, getMonthAndYear as I, getDaysOfWeek as J, getDaysOfMonth as K, getHourCycle as L, getLocalizedTime as M,
|
|
1615
|
+
export { getNumDaysInMonth as A, getCombinedDateColumnData as B, getMonthColumnData as C, getDayColumnData as D, getYearColumnData as E, isMonthFirstLocale as F, getTimeColumnsData as G, isLocaleDayPeriodRTL as H, getMonthAndYear as I, getDaysOfWeek as J, getDaysOfMonth as K, getHourCycle as L, getLocalizedTime as M, getLocalizedDateTime as N, formatValue as O, clampDate as P, parseAmPm as Q, calculateHourFromAMPM as R, getDay as a, isAfter as b, isSameDay as c, getPreviousMonth as d, getNextMonth as e, getPartsFromCalendarDay as f, generateDayAriaLabel as g, getNextYear as h, isBefore as i, getPreviousYear as j, getEndOfWeek as k, getStartOfWeek as l, getPreviousDay as m, getNextDay as n, getPreviousWeek as o, getNextWeek as p, parseMinParts as q, parseMaxParts as r, parseDate as s, convertToArrayOfNumbers as t, convertDataToISO as u, validateParts as v, warnIfValueOutOfBounds as w, getToday as x, getClosestValidDate as y, generateMonths as z };
|
|
@@ -6,7 +6,7 @@ import { a as addEventListener, c as componentOnReady } from './helpers.js';
|
|
|
6
6
|
import { a as printIonError } from './index6.js';
|
|
7
7
|
import { c as createColorClasses } from './theme.js';
|
|
8
8
|
import { b as getIonMode } from './ionic-global.js';
|
|
9
|
-
import { s as parseDate, x as getToday, L as getHourCycle,
|
|
9
|
+
import { s as parseDate, x as getToday, L as getHourCycle, N as getLocalizedDateTime, M as getLocalizedTime } from './data.js';
|
|
10
10
|
import { d as defineCustomElement$2 } from './ripple-effect.js';
|
|
11
11
|
|
|
12
12
|
const iosDatetimeButtonCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}";
|
|
@@ -43,11 +43,12 @@ const DatetimeButton = /*@__PURE__*/ proxyCustomElement(class DatetimeButton ext
|
|
|
43
43
|
* to the locale specified on ion-datetime.
|
|
44
44
|
*/
|
|
45
45
|
this.setDateTimeText = () => {
|
|
46
|
+
var _a, _b, _c, _d, _e;
|
|
46
47
|
const { datetimeEl, datetimePresentation } = this;
|
|
47
48
|
if (!datetimeEl) {
|
|
48
49
|
return;
|
|
49
50
|
}
|
|
50
|
-
const { value, locale, hourCycle, preferWheel, multiple, titleSelectedDatesFormatter } = datetimeEl;
|
|
51
|
+
const { value, locale, formatOptions, hourCycle, preferWheel, multiple, titleSelectedDatesFormatter } = datetimeEl;
|
|
51
52
|
const parsedValues = this.getParsedDateValues(value);
|
|
52
53
|
/**
|
|
53
54
|
* Both ion-datetime and ion-datetime-button default
|
|
@@ -70,8 +71,8 @@ const DatetimeButton = /*@__PURE__*/ proxyCustomElement(class DatetimeButton ext
|
|
|
70
71
|
switch (datetimePresentation) {
|
|
71
72
|
case 'date-time':
|
|
72
73
|
case 'time-date':
|
|
73
|
-
const dateText =
|
|
74
|
-
const timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle);
|
|
74
|
+
const dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _a !== void 0 ? _a : { month: 'short', day: 'numeric', year: 'numeric' });
|
|
75
|
+
const timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time);
|
|
75
76
|
if (preferWheel) {
|
|
76
77
|
this.dateText = `${dateText} ${timeText}`;
|
|
77
78
|
}
|
|
@@ -94,20 +95,20 @@ const DatetimeButton = /*@__PURE__*/ proxyCustomElement(class DatetimeButton ext
|
|
|
94
95
|
this.dateText = headerText;
|
|
95
96
|
}
|
|
96
97
|
else {
|
|
97
|
-
this.dateText =
|
|
98
|
+
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _b !== void 0 ? _b : { month: 'short', day: 'numeric', year: 'numeric' });
|
|
98
99
|
}
|
|
99
100
|
break;
|
|
100
101
|
case 'time':
|
|
101
|
-
this.timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle);
|
|
102
|
+
this.timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time);
|
|
102
103
|
break;
|
|
103
104
|
case 'month-year':
|
|
104
|
-
this.dateText =
|
|
105
|
+
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _c !== void 0 ? _c : { month: 'long', year: 'numeric' });
|
|
105
106
|
break;
|
|
106
107
|
case 'month':
|
|
107
|
-
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, { month: 'long' });
|
|
108
|
+
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) !== null && _d !== void 0 ? _d : { month: 'long' });
|
|
108
109
|
break;
|
|
109
110
|
case 'year':
|
|
110
|
-
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, { year: 'numeric' });
|
|
111
|
+
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_e = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) !== null && _e !== void 0 ? _e : { year: 'numeric' });
|
|
111
112
|
break;
|
|
112
113
|
}
|
|
113
114
|
};
|
|
@@ -336,7 +337,7 @@ const DatetimeButton = /*@__PURE__*/ proxyCustomElement(class DatetimeButton ext
|
|
|
336
337
|
render() {
|
|
337
338
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
338
339
|
const mode = getIonMode(this);
|
|
339
|
-
return (h(Host, { key: '
|
|
340
|
+
return (h(Host, { key: '861a08f4a239de771875aee9b505e06ac7064b32', class: createColorClasses(color, {
|
|
340
341
|
[mode]: true,
|
|
341
342
|
[`${selectedButton}-active`]: datetimeActive,
|
|
342
343
|
['datetime-button-disabled']: disabled,
|
|
@@ -9,7 +9,7 @@ import { i as isRTL } from './dir.js';
|
|
|
9
9
|
import { c as createColorClasses } from './theme.js';
|
|
10
10
|
import { a as chevronBack, f as chevronForward, c as chevronDown, g as caretUpSharp, h as caretDownSharp } from './index7.js';
|
|
11
11
|
import { b as getIonMode } from './ionic-global.js';
|
|
12
|
-
import { g as generateDayAriaLabel, a as getDay, i as isBefore, b as isAfter, c as isSameDay, d as getPreviousMonth, e as getNextMonth, v as validateParts, f as getPartsFromCalendarDay, h as getNextYear, j as getPreviousYear, k as getEndOfWeek, l as getStartOfWeek, m as getPreviousDay, n as getNextDay, o as getPreviousWeek, p as getNextWeek, q as parseMinParts, r as parseMaxParts, s as parseDate, w as warnIfValueOutOfBounds, t as convertToArrayOfNumbers, u as convertDataToISO, x as getToday, y as getClosestValidDate, z as generateMonths, A as getNumDaysInMonth, B as getCombinedDateColumnData, C as getMonthColumnData, D as getDayColumnData, E as getYearColumnData, F as isMonthFirstLocale, G as getTimeColumnsData, H as isLocaleDayPeriodRTL, I as getMonthAndYear, J as getDaysOfWeek, K as getDaysOfMonth, L as getHourCycle, M as getLocalizedTime, N as
|
|
12
|
+
import { g as generateDayAriaLabel, a as getDay, i as isBefore, b as isAfter, c as isSameDay, d as getPreviousMonth, e as getNextMonth, v as validateParts, f as getPartsFromCalendarDay, h as getNextYear, j as getPreviousYear, k as getEndOfWeek, l as getStartOfWeek, m as getPreviousDay, n as getNextDay, o as getPreviousWeek, p as getNextWeek, q as parseMinParts, r as parseMaxParts, s as parseDate, w as warnIfValueOutOfBounds, t as convertToArrayOfNumbers, u as convertDataToISO, x as getToday, y as getClosestValidDate, z as generateMonths, A as getNumDaysInMonth, B as getCombinedDateColumnData, C as getMonthColumnData, D as getDayColumnData, E as getYearColumnData, F as isMonthFirstLocale, G as getTimeColumnsData, H as isLocaleDayPeriodRTL, I as getMonthAndYear, J as getDaysOfWeek, K as getDaysOfMonth, L as getHourCycle, M as getLocalizedTime, N as getLocalizedDateTime, O as formatValue, P as clampDate, Q as parseAmPm, R as calculateHourFromAMPM } from './data.js';
|
|
13
13
|
import { d as defineCustomElement$c } from './backdrop.js';
|
|
14
14
|
import { d as defineCustomElement$b } from './button.js';
|
|
15
15
|
import { d as defineCustomElement$a } from './buttons.js';
|
|
@@ -757,6 +757,34 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
757
757
|
this.resolveForceDateScrolling = undefined;
|
|
758
758
|
this.forceRenderDate = undefined;
|
|
759
759
|
};
|
|
760
|
+
this.checkForPresentationFormatMismatch = () => {
|
|
761
|
+
const { formatOptions, presentation } = this;
|
|
762
|
+
// formatOptions is not required
|
|
763
|
+
if (!formatOptions)
|
|
764
|
+
return;
|
|
765
|
+
// If formatOptions is provided, the date and/or time objects are required, depending on the presentation
|
|
766
|
+
switch (presentation) {
|
|
767
|
+
case 'date':
|
|
768
|
+
case 'month-year':
|
|
769
|
+
case 'month':
|
|
770
|
+
case 'year':
|
|
771
|
+
if (formatOptions.date === undefined) {
|
|
772
|
+
printIonWarning(`Datetime: The '${presentation}' presentation requires a date object in formatOptions.`, this.el);
|
|
773
|
+
}
|
|
774
|
+
break;
|
|
775
|
+
case 'time':
|
|
776
|
+
if (formatOptions.time === undefined) {
|
|
777
|
+
printIonWarning(`Datetime: The 'time' presentation requires a time object in formatOptions.`, this.el);
|
|
778
|
+
}
|
|
779
|
+
break;
|
|
780
|
+
case 'date-time':
|
|
781
|
+
case 'time-date':
|
|
782
|
+
if (formatOptions.date === undefined || formatOptions.time === undefined) {
|
|
783
|
+
printIonWarning(`Datetime: The '${presentation}' presentation requires both a date and time object in formatOptions.`, this.el);
|
|
784
|
+
}
|
|
785
|
+
break;
|
|
786
|
+
}
|
|
787
|
+
};
|
|
760
788
|
this.onFocus = () => {
|
|
761
789
|
this.ionFocus.emit();
|
|
762
790
|
};
|
|
@@ -815,6 +843,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
815
843
|
this.color = 'primary';
|
|
816
844
|
this.name = this.inputId;
|
|
817
845
|
this.disabled = false;
|
|
846
|
+
this.formatOptions = undefined;
|
|
818
847
|
this.readonly = false;
|
|
819
848
|
this.isDateEnabled = undefined;
|
|
820
849
|
this.min = undefined;
|
|
@@ -842,6 +871,10 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
842
871
|
this.size = 'fixed';
|
|
843
872
|
this.preferWheel = false;
|
|
844
873
|
}
|
|
874
|
+
formatOptionsChanged() {
|
|
875
|
+
this.checkForPresentationFormatMismatch();
|
|
876
|
+
this.errorIfTimeZoneProvided();
|
|
877
|
+
}
|
|
845
878
|
disabledChanged() {
|
|
846
879
|
this.emitStyle();
|
|
847
880
|
}
|
|
@@ -851,6 +884,9 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
851
884
|
maxChanged() {
|
|
852
885
|
this.processMaxParts();
|
|
853
886
|
}
|
|
887
|
+
presentationChanged() {
|
|
888
|
+
this.checkForPresentationFormatMismatch();
|
|
889
|
+
}
|
|
854
890
|
get isGridStyle() {
|
|
855
891
|
const { presentation, preferWheel } = this;
|
|
856
892
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
@@ -1086,7 +1122,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1086
1122
|
});
|
|
1087
1123
|
}
|
|
1088
1124
|
componentWillLoad() {
|
|
1089
|
-
const { el, highlightedDates, multiple, presentation, preferWheel } = this;
|
|
1125
|
+
const { el, formatOptions, highlightedDates, multiple, presentation, preferWheel } = this;
|
|
1090
1126
|
if (multiple) {
|
|
1091
1127
|
if (presentation !== 'date') {
|
|
1092
1128
|
printIonWarning('Multiple date selection is only supported for presentation="date".', el);
|
|
@@ -1103,6 +1139,10 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1103
1139
|
printIonWarning('The highlightedDates property is not supported with preferWheel="true".', el);
|
|
1104
1140
|
}
|
|
1105
1141
|
}
|
|
1142
|
+
if (formatOptions) {
|
|
1143
|
+
this.checkForPresentationFormatMismatch();
|
|
1144
|
+
this.errorIfTimeZoneProvided();
|
|
1145
|
+
}
|
|
1106
1146
|
const hourValues = (this.parsedHourValues = convertToArrayOfNumbers(this.hourValues));
|
|
1107
1147
|
const minuteValues = (this.parsedMinuteValues = convertToArrayOfNumbers(this.minuteValues));
|
|
1108
1148
|
const monthValues = (this.parsedMonthValues = convertToArrayOfNumbers(this.monthValues));
|
|
@@ -1124,6 +1164,21 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1124
1164
|
this.processValue(this.value);
|
|
1125
1165
|
this.emitStyle();
|
|
1126
1166
|
}
|
|
1167
|
+
/**
|
|
1168
|
+
* If a time zone is provided in the format options, the rendered text could
|
|
1169
|
+
* differ from what was selected in the Datetime, which could cause
|
|
1170
|
+
* confusion.
|
|
1171
|
+
*/
|
|
1172
|
+
errorIfTimeZoneProvided() {
|
|
1173
|
+
var _a, _b, _c, _d;
|
|
1174
|
+
const { formatOptions } = this;
|
|
1175
|
+
if (((_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _a === void 0 ? void 0 : _a.timeZone) ||
|
|
1176
|
+
((_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _b === void 0 ? void 0 : _b.timeZoneName) ||
|
|
1177
|
+
((_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _c === void 0 ? void 0 : _c.timeZone) ||
|
|
1178
|
+
((_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _d === void 0 ? void 0 : _d.timeZoneName)) {
|
|
1179
|
+
printIonWarning('Datetime: "timeZone" and "timeZoneName" are not supported in "formatOptions".');
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1127
1182
|
emitStyle() {
|
|
1128
1183
|
this.ionStyle.emit({
|
|
1129
1184
|
interactive: true,
|
|
@@ -1610,7 +1665,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1610
1665
|
return h("slot", { name: "time-label" }, "Time");
|
|
1611
1666
|
}
|
|
1612
1667
|
renderTimeOverlay() {
|
|
1613
|
-
const { disabled, hourCycle, isTimePopoverOpen, locale } = this;
|
|
1668
|
+
const { disabled, hourCycle, isTimePopoverOpen, locale, formatOptions } = this;
|
|
1614
1669
|
const computedHourCycle = getHourCycle(locale, hourCycle);
|
|
1615
1670
|
const activePart = this.getActivePartsWithFallback();
|
|
1616
1671
|
return [
|
|
@@ -1630,7 +1685,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1630
1685
|
await popoverRef.onWillDismiss();
|
|
1631
1686
|
this.isTimePopoverOpen = false;
|
|
1632
1687
|
}
|
|
1633
|
-
} }, getLocalizedTime(locale, activePart, computedHourCycle)),
|
|
1688
|
+
} }, getLocalizedTime(locale, activePart, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time)),
|
|
1634
1689
|
h("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
|
|
1635
1690
|
/**
|
|
1636
1691
|
* Intersection Observers do not consistently fire between Blink and Webkit
|
|
@@ -1653,7 +1708,8 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1653
1708
|
];
|
|
1654
1709
|
}
|
|
1655
1710
|
getHeaderSelectedDateText() {
|
|
1656
|
-
|
|
1711
|
+
var _a;
|
|
1712
|
+
const { activeParts, formatOptions, multiple, titleSelectedDatesFormatter } = this;
|
|
1657
1713
|
const isArray = Array.isArray(activeParts);
|
|
1658
1714
|
let headerText;
|
|
1659
1715
|
if (multiple && isArray && activeParts.length !== 1) {
|
|
@@ -1669,7 +1725,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1669
1725
|
}
|
|
1670
1726
|
else {
|
|
1671
1727
|
// for exactly 1 day selected (multiple set or not), show a formatted version of that
|
|
1672
|
-
headerText =
|
|
1728
|
+
headerText = getLocalizedDateTime(this.locale, this.getActivePartsWithFallback(), (_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _a !== void 0 ? _a : { weekday: 'short', month: 'short', day: 'numeric' });
|
|
1673
1729
|
}
|
|
1674
1730
|
return headerText;
|
|
1675
1731
|
}
|
|
@@ -1758,7 +1814,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1758
1814
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1759
1815
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1760
1816
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1761
|
-
return (h(Host, { key: '
|
|
1817
|
+
return (h(Host, { key: 'ff50a7d344831b3af2e7f5cfe52b0a71c8c4b8d1', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1762
1818
|
[mode]: true,
|
|
1763
1819
|
['datetime-readonly']: readonly,
|
|
1764
1820
|
['datetime-disabled']: disabled,
|
|
@@ -1772,9 +1828,11 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1772
1828
|
}
|
|
1773
1829
|
get el() { return this; }
|
|
1774
1830
|
static get watchers() { return {
|
|
1831
|
+
"formatOptions": ["formatOptionsChanged"],
|
|
1775
1832
|
"disabled": ["disabledChanged"],
|
|
1776
1833
|
"min": ["minChanged"],
|
|
1777
1834
|
"max": ["maxChanged"],
|
|
1835
|
+
"presentation": ["presentationChanged"],
|
|
1778
1836
|
"yearValues": ["yearValuesChanged"],
|
|
1779
1837
|
"monthValues": ["monthValuesChanged"],
|
|
1780
1838
|
"dayValues": ["dayValuesChanged"],
|
|
@@ -1790,6 +1848,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1790
1848
|
"color": [1],
|
|
1791
1849
|
"name": [1],
|
|
1792
1850
|
"disabled": [4],
|
|
1851
|
+
"formatOptions": [16],
|
|
1793
1852
|
"readonly": [4],
|
|
1794
1853
|
"isDateEnabled": [16],
|
|
1795
1854
|
"min": [1025],
|
|
@@ -1825,9 +1884,11 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1825
1884
|
"reset": [64],
|
|
1826
1885
|
"cancel": [64]
|
|
1827
1886
|
}, undefined, {
|
|
1887
|
+
"formatOptions": ["formatOptionsChanged"],
|
|
1828
1888
|
"disabled": ["disabledChanged"],
|
|
1829
1889
|
"min": ["minChanged"],
|
|
1830
1890
|
"max": ["maxChanged"],
|
|
1891
|
+
"presentation": ["presentationChanged"],
|
|
1831
1892
|
"yearValues": ["yearValuesChanged"],
|
|
1832
1893
|
"monthValues": ["monthValuesChanged"],
|
|
1833
1894
|
"dayValues": ["dayValuesChanged"],
|
|
@@ -211,10 +211,6 @@ const Loading = /*@__PURE__*/ proxyCustomElement(class Loading extends HTMLEleme
|
|
|
211
211
|
* This can be useful in a button handler for determining which button was
|
|
212
212
|
* clicked to dismiss the loading.
|
|
213
213
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
214
|
-
*
|
|
215
|
-
* This is a no-op if the overlay has not been presented yet. If you want
|
|
216
|
-
* to remove an overlay from the DOM that was never presented, use the
|
|
217
|
-
* [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
|
|
218
214
|
*/
|
|
219
215
|
async dismiss(data, role) {
|
|
220
216
|
const unlock = await this.lockController.lock();
|
|
@@ -256,9 +252,9 @@ const Loading = /*@__PURE__*/ proxyCustomElement(class Loading extends HTMLEleme
|
|
|
256
252
|
* Otherwise, don't set aria-labelledby.
|
|
257
253
|
*/
|
|
258
254
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
259
|
-
return (h(Host, Object.assign({ key: '
|
|
255
|
+
return (h(Host, Object.assign({ key: '81295894ca6e047124918420f2483c092ebf91b9', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
260
256
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
261
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '
|
|
257
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'db9fbd946cf3eb03c3a70f2e71c49ab233df1879', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'd27b03de0b450c0668d4b4077d76bc5b283f03cf', tabindex: "0" }), h("div", { key: '7112719ddd487365c1e36fc4dec32aac888dbb52', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { class: "loading-spinner" }, h("ion-spinner", { name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '5715dd7dae209ae58e5557cb60f3ae514752b822', tabindex: "0" })));
|
|
262
258
|
}
|
|
263
259
|
get el() { return this; }
|
|
264
260
|
static get watchers() { return {
|
package/components/ion-modal.js
CHANGED
|
@@ -1479,10 +1479,6 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1479
1479
|
*
|
|
1480
1480
|
* @param data Any data to emit in the dismiss events.
|
|
1481
1481
|
* @param role The role of the element that is dismissing the modal. For example, 'cancel' or 'backdrop'.
|
|
1482
|
-
*
|
|
1483
|
-
* This is a no-op if the overlay has not been presented yet. If you want
|
|
1484
|
-
* to remove an overlay from the DOM that was never presented, use the
|
|
1485
|
-
* [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
|
|
1486
1482
|
*/
|
|
1487
1483
|
async dismiss(data, role) {
|
|
1488
1484
|
var _a;
|
|
@@ -1613,9 +1609,9 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1613
1609
|
const mode = getIonMode(this);
|
|
1614
1610
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1615
1611
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1616
|
-
return (h(Host, Object.assign({ key: '
|
|
1612
|
+
return (h(Host, Object.assign({ key: '9a305d82f123283b6200c42d67393b378bb309a8', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1617
1613
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1618
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '
|
|
1614
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '85e8dc6f19b30fd95db518445929fb0c1d5cdef0', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { class: "modal-shadow" }), h("div", Object.assign({ key: '893a0202d91828e60099311442c2677bee5464e2',
|
|
1619
1615
|
/*
|
|
1620
1616
|
role and aria-modal must be used on the
|
|
1621
1617
|
same element. They must also be set inside the
|
|
@@ -1624,7 +1620,7 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1624
1620
|
*/
|
|
1625
1621
|
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { class: "modal-handle",
|
|
1626
1622
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1627
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '
|
|
1623
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '25187bf4c69d9022930227b8b8748a294176be5f' }))));
|
|
1628
1624
|
}
|
|
1629
1625
|
get el() { return this; }
|
|
1630
1626
|
static get watchers() { return {
|
package/components/ion-picker.js
CHANGED
|
@@ -167,10 +167,6 @@ const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement
|
|
|
167
167
|
* This can be useful in a button handler for determining which button was
|
|
168
168
|
* clicked to dismiss the picker.
|
|
169
169
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
170
|
-
*
|
|
171
|
-
* This is a no-op if the overlay has not been presented yet. If you want
|
|
172
|
-
* to remove an overlay from the DOM that was never presented, use the
|
|
173
|
-
* [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
|
|
174
170
|
*/
|
|
175
171
|
async dismiss(data, role) {
|
|
176
172
|
const unlock = await this.lockController.lock();
|
|
@@ -242,11 +238,11 @@ const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement
|
|
|
242
238
|
render() {
|
|
243
239
|
const { htmlAttributes } = this;
|
|
244
240
|
const mode = getIonMode(this);
|
|
245
|
-
return (h(Host, Object.assign({ key: '
|
|
241
|
+
return (h(Host, Object.assign({ key: '8b9049c5315e701dff3f7457be646941bb3cc0df', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
246
242
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
247
243
|
}, class: Object.assign({ [mode]: true,
|
|
248
244
|
// Used internally for styling
|
|
249
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '
|
|
245
|
+
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '4f62ae6c088108189bfab18b680f0ae50b4cc395', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'c5fd2584ca4470c69bf61582cef2ac72289addba', tabindex: "0" }), h("div", { key: '2e68572dd5ddc4911c1e6bca57a2157b47477348', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '218526e531998a4d5a6377499acb42f99b347729', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '4dd711f1fa1f2a4bd24696ae1633da16bbf55879', class: "picker-columns" }, h("div", { key: '440ebd807ca3675b0055e67e0354ac4625ae375d', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-column", { col: c })), h("div", { key: '5cdceda410904470e3742ab416ed3d3a661b6859', class: "picker-below-highlight" }))), h("div", { key: '0c96e8a43a6d4cd4b8b7c9e81c54414eb1d989bf', tabindex: "0" })));
|
|
250
246
|
}
|
|
251
247
|
get el() { return this; }
|
|
252
248
|
static get watchers() { return {
|
package/components/ion-toast.js
CHANGED
|
@@ -657,10 +657,6 @@ const Toast = /*@__PURE__*/ proxyCustomElement(class Toast extends HTMLElement {
|
|
|
657
657
|
* This can be useful in a button handler for determining which button was
|
|
658
658
|
* clicked to dismiss the toast.
|
|
659
659
|
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
660
|
-
*
|
|
661
|
-
* This is a no-op if the overlay has not been presented yet. If you want
|
|
662
|
-
* to remove an overlay from the DOM that was never presented, use the
|
|
663
|
-
* [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
|
|
664
660
|
*/
|
|
665
661
|
async dismiss(data, role) {
|
|
666
662
|
var _a, _b;
|
|
@@ -828,9 +824,9 @@ const Toast = /*@__PURE__*/ proxyCustomElement(class Toast extends HTMLElement {
|
|
|
828
824
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
829
825
|
printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
|
|
830
826
|
}
|
|
831
|
-
return (h(Host, Object.assign({ key: '
|
|
827
|
+
return (h(Host, Object.assign({ key: '15a5c3e8d475435c838b70c55ef2e7cc12d6abfb', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
832
828
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
833
|
-
}, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '
|
|
829
|
+
}, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: 'a6ed7fb75ab098dc632d1a546b4d5298675c14c1', class: wrapperClass }, h("div", { key: '68ff7219e9abae0b7c2030369ebffd2fe0edf7de', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: '6b45ca5e283d3507c682cbe733e27a94460a7f69', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
|
|
834
830
|
}
|
|
835
831
|
get el() { return this; }
|
|
836
832
|
static get watchers() { return {
|
package/components/item.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { proxyCustomElement, HTMLElement, forceUpdate, h, Host } from '@stencil/core/internal/client';
|
|
4
|
+
import { proxyCustomElement, HTMLElement, forceUpdate, Build, h, Host } from '@stencil/core/internal/client';
|
|
5
5
|
import { d as inheritAttributes, r as raf } from './helpers.js';
|
|
6
6
|
import { p as printIonWarning, a as printIonError } from './index6.js';
|
|
7
7
|
import { h as hostContext, c as createColorClasses, o as openURL } from './theme.js';
|
|
@@ -200,6 +200,15 @@ const Item = /*@__PURE__*/ proxyCustomElement(class Item extends HTMLElement {
|
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
getFirstInteractive() {
|
|
203
|
+
if (Build.isTesting) {
|
|
204
|
+
/**
|
|
205
|
+
* Pseudo selectors can't be tested in unit tests.
|
|
206
|
+
* It will cause an error when running the tests.
|
|
207
|
+
*
|
|
208
|
+
* TODO: FW-5205 - Remove the build conditional when this is fixed in Stencil
|
|
209
|
+
*/
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
203
212
|
const controls = this.el.querySelectorAll('ion-toggle:not([disabled]), ion-checkbox:not([disabled]), ion-radio:not([disabled]), ion-select:not([disabled])');
|
|
204
213
|
return controls[0];
|
|
205
214
|
}
|
|
@@ -256,7 +265,7 @@ const Item = /*@__PURE__*/ proxyCustomElement(class Item extends HTMLElement {
|
|
|
256
265
|
const ariaDisabled = disabled || childStyles['item-interactive-disabled'] ? 'true' : null;
|
|
257
266
|
const fillValue = fill || 'none';
|
|
258
267
|
const inList = hostContext('ion-list', this.el) && !hostContext('ion-radio-group', this.el);
|
|
259
|
-
return (h(Host, { key: '
|
|
268
|
+
return (h(Host, { key: '941d21ee0c46e9fbc566469708579f8871d19c73', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {
|
|
260
269
|
item: true,
|
|
261
270
|
[mode]: true,
|
|
262
271
|
'item-lines-default': lines === undefined,
|
|
@@ -270,7 +279,7 @@ const Item = /*@__PURE__*/ proxyCustomElement(class Item extends HTMLElement {
|
|
|
270
279
|
'ion-activatable': canActivate,
|
|
271
280
|
'ion-focusable': this.focusable,
|
|
272
281
|
'item-rtl': document.dir === 'rtl',
|
|
273
|
-
})), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: '
|
|
282
|
+
})), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: 'f0be78f964215caea21b54ffac6c2b2988967f7d' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: '255e76ba8f6b5c2d75103dcd787908132f1a84a4', name: "start" }), h("div", { key: '1dee3e342b4fc1703500a545e90ad681582c1292', class: "item-inner" }, h("div", { key: '045c1cf4f03687f41147144c9c714ec426b81829', class: "input-wrapper" }, h("slot", { key: '4f1edcce6cc918e521bb98e70602dfee2b492428' })), h("slot", { key: '2dd468bc4bed5e5dab4372133bcbf4a472e417a3', name: "end" }), showDetail && (h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), h("div", { key: '116b9c332c6e28f0eb9cb513c36aa3ac5ada17d0', class: "item-inner-highlight" })), canActivate && mode === 'md' && h("ion-ripple-effect", null), h("div", { key: '0bd92b2e3039c34b5d01d9361941af360d68a335', class: "item-highlight" })), h("div", { key: '9287c851c10b8438c787b34a2bf6d76c87af3c15', class: "item-bottom" }, h("slot", { key: '7db1f90077bbc63f3adbf873e0b1721e131d8d8d', name: "error" }), h("slot", { key: '6e90f564af916893a6a9fe6fe30dee15655a554e', name: "helper" }), counterString && h("ion-note", { class: "item-counter" }, counterString))));
|
|
274
283
|
}
|
|
275
284
|
static get delegatesFocus() { return true; }
|
|
276
285
|
get el() { return this; }
|