@ionic/core 7.5.8-dev.11701461830.1be851fd → 7.5.8-dev.11701788142.11dcb825
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/ion-input.js +21 -2
- package/components/ion-searchbar.js +2 -0
- package/components/ion-textarea.js +25 -2
- package/dist/cjs/{app-globals-28656db1.js → app-globals-0af482c7.js} +1 -1
- package/dist/cjs/{button-active-75b38d77.js → button-active-417ccdcb.js} +1 -1
- package/dist/cjs/{index-097270a3.js → index-5cbb20f9.js} +1 -1
- package/dist/cjs/{index-b0102f48.js → index-bbb4336c.js} +39 -1
- package/dist/cjs/{index-cb3e0ab7.js → index-d4c2e02c.js} +3 -3
- package/dist/cjs/index.cjs.js +7 -7
- 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 +4 -4
- 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 +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
- 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 +23 -4
- 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 +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 +4 -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 +27 -4
- package/dist/cjs/ion-toast.cjs.entry.js +3 -3
- package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
- package/dist/cjs/{ionic-global-62510d64.js → ionic-global-f4a2093b.js} +1 -1
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-d9c0e4fb.js → ios.transition-a4ffb5a2.js} +2 -2
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{md.transition-4fac8a87.js → md.transition-292abe1c.js} +2 -2
- package/dist/cjs/{overlays-b1471172.js → overlays-5c379703.js} +1 -1
- package/dist/cjs/{status-tap-0aa8e1f2.js → status-tap-415acac6.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/input/input.js +23 -4
- package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +21 -9
- package/dist/collection/components/searchbar/searchbar.js +3 -1
- package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +28 -0
- package/dist/collection/components/textarea/textarea.js +27 -4
- package/dist/docs.json +7 -7
- package/dist/esm/{app-globals-c23144fc.js → app-globals-722340c4.js} +1 -1
- package/dist/esm/{button-active-7013b5a1.js → button-active-3fdf3e4f.js} +1 -1
- package/dist/esm/{index-39329c6f.js → index-08d686eb.js} +39 -1
- package/dist/esm/{index-7a818ed3.js → index-80492ed3.js} +1 -1
- package/dist/esm/{index-bebaae5d.js → index-d8817fb0.js} +3 -3
- package/dist/esm/index.js +7 -7
- 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 +4 -4
- 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 +2 -2
- package/dist/esm/ion-datetime_3.entry.js +3 -3
- 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 +23 -4
- 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 +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 +4 -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 +27 -4
- package/dist/esm/ion-toast.entry.js +3 -3
- package/dist/esm/ion-toggle.entry.js +2 -2
- package/dist/esm/{ionic-global-6c78e871.js → ionic-global-c0cda98e.js} +1 -1
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-daa373e9.js → ios.transition-fd16bec1.js} +2 -2
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{md.transition-91c3d3cc.js → md.transition-94ac93e1.js} +2 -2
- package/dist/esm/{overlays-64e67e2c.js → overlays-abf58489.js} +1 -1
- package/dist/esm/{status-tap-9dd45200.js → status-tap-2b93b1b5.js} +1 -1
- package/dist/esm-es5/app-globals-722340c4.js +4 -0
- package/dist/esm-es5/{button-active-7013b5a1.js → button-active-3fdf3e4f.js} +1 -1
- package/dist/esm-es5/{index-39329c6f.js → index-08d686eb.js} +1 -1
- package/dist/esm-es5/{index-7a818ed3.js → index-80492ed3.js} +1 -1
- package/dist/esm-es5/{index-bebaae5d.js → index-d8817fb0.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-6c78e871.js → ionic-global-c0cda98e.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-daa373e9.js → ios.transition-fd16bec1.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-91c3d3cc.js → md.transition-94ac93e1.js} +1 -1
- package/dist/esm-es5/{overlays-64e67e2c.js → overlays-abf58489.js} +1 -1
- package/dist/esm-es5/{status-tap-9dd45200.js → status-tap-2b93b1b5.js} +1 -1
- package/dist/html.html-data.json +2 -2
- 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-46dbd723.entry.js → p-0519cd21.entry.js} +1 -1
- package/dist/ionic/{p-ad4d66ba.system.entry.js → p-08f196ce.system.entry.js} +1 -1
- package/dist/ionic/p-093033ee.entry.js +4 -0
- package/dist/ionic/{p-f34d6a49.entry.js → p-0add7211.entry.js} +1 -1
- package/dist/ionic/{p-e8e530fc.entry.js → p-0b1bc636.entry.js} +1 -1
- package/dist/ionic/{p-a0945c3a.system.entry.js → p-0e53f8ea.system.entry.js} +1 -1
- package/dist/ionic/{p-161d0916.entry.js → p-1161a793.entry.js} +1 -1
- package/dist/ionic/{p-89026d53.entry.js → p-1208f939.entry.js} +1 -1
- package/dist/ionic/p-1786bc72.js +4 -0
- package/dist/ionic/{p-312221db.entry.js → p-17da5ed1.entry.js} +1 -1
- package/dist/ionic/p-17f893be.js +4 -0
- package/dist/ionic/{p-83fada9e.system.entry.js → p-18b6bd23.system.entry.js} +1 -1
- package/dist/ionic/{p-5fb707e0.entry.js → p-18ba8221.entry.js} +1 -1
- package/dist/ionic/{p-d1530ea9.entry.js → p-1d17219f.entry.js} +1 -1
- package/dist/ionic/{p-1ff22253.entry.js → p-2092f39f.entry.js} +1 -1
- package/dist/ionic/{p-2507b0c0.entry.js → p-25b32c3d.entry.js} +1 -1
- package/dist/ionic/{p-b81a8111.system.entry.js → p-2938823a.system.entry.js} +1 -1
- package/dist/ionic/{p-df361680.system.entry.js → p-2ab4e925.system.entry.js} +1 -1
- package/dist/ionic/{p-45db7949.system.entry.js → p-2ba0657d.system.entry.js} +1 -1
- package/dist/ionic/{p-0263eb49.system.js → p-30029cc2.system.js} +1 -1
- package/dist/ionic/{p-ac4a7fc0.js → p-31158892.js} +1 -1
- package/dist/ionic/{p-18032a93.entry.js → p-34c39c48.entry.js} +1 -1
- package/dist/ionic/p-350f7292.system.entry.js +4 -0
- package/dist/ionic/{p-86c2bbc8.entry.js → p-353b349d.entry.js} +1 -1
- package/dist/ionic/{p-bc97b5cd.system.entry.js → p-3b686a65.system.entry.js} +1 -1
- package/dist/ionic/{p-33f3cd49.entry.js → p-3de71759.entry.js} +1 -1
- package/dist/ionic/{p-f0384573.system.entry.js → p-3e960213.system.entry.js} +1 -1
- package/dist/ionic/{p-a3a145d3.entry.js → p-3f6270b3.entry.js} +1 -1
- package/dist/ionic/{p-23a27e78.system.entry.js → p-3fd37993.system.entry.js} +1 -1
- package/dist/ionic/{p-426bdba9.system.js → p-3fe96156.system.js} +1 -1
- package/dist/ionic/{p-e26030f8.system.js → p-4155f352.system.js} +1 -1
- package/dist/ionic/p-4890093d.js +4 -0
- package/dist/ionic/{p-5f46d93e.entry.js → p-4a31c99f.entry.js} +1 -1
- package/dist/ionic/{p-2cd9cb80.system.entry.js → p-4fb51e61.system.entry.js} +1 -1
- package/dist/ionic/{p-71d986ae.entry.js → p-50880712.entry.js} +1 -1
- package/dist/ionic/{p-d3e123c0.entry.js → p-51a087d6.entry.js} +1 -1
- package/dist/ionic/{p-aac289d2.system.entry.js → p-564af202.system.entry.js} +1 -1
- package/dist/ionic/{p-abab375b.system.js → p-57477107.system.js} +1 -1
- package/dist/ionic/p-588fdf40.entry.js +4 -0
- package/dist/ionic/{p-a5c81b99.entry.js → p-5a68960f.entry.js} +1 -1
- package/dist/ionic/{p-34d6f520.system.js → p-5b365ca7.system.js} +1 -1
- package/dist/ionic/{p-eef8d7e8.system.entry.js → p-5bebc7b3.system.entry.js} +1 -1
- package/dist/ionic/{p-21f015cf.js → p-5ecae037.js} +1 -1
- package/dist/ionic/{p-06600f70.js → p-61d7d7fb.js} +1 -1
- package/dist/ionic/{p-2657f213.entry.js → p-6470b136.entry.js} +1 -1
- package/dist/ionic/{p-5f127075.system.entry.js → p-6577aea9.system.entry.js} +1 -1
- package/dist/ionic/{p-d0251fc4.entry.js → p-67da080d.entry.js} +1 -1
- package/dist/ionic/{p-2a7e6572.system.entry.js → p-6ad34705.system.entry.js} +1 -1
- package/dist/ionic/{p-1cbc21e2.system.entry.js → p-6e70dd1a.system.entry.js} +1 -1
- package/dist/ionic/{p-64af4468.entry.js → p-6fbecbda.entry.js} +1 -1
- package/dist/ionic/{p-0827d00e.system.entry.js → p-73637557.system.entry.js} +1 -1
- package/dist/ionic/{p-fcf49977.system.entry.js → p-73ea8f82.system.entry.js} +1 -1
- package/dist/ionic/{p-57c0d5bf.system.entry.js → p-7b8d0af2.system.entry.js} +1 -1
- package/dist/ionic/{p-315ad733.system.entry.js → p-7faba551.system.entry.js} +1 -1
- package/dist/ionic/{p-bbe3feee.entry.js → p-80fa068e.entry.js} +1 -1
- package/dist/ionic/{p-b11ceee2.entry.js → p-82045bc1.entry.js} +1 -1
- package/dist/ionic/{p-8c202d6e.system.entry.js → p-868d0165.system.entry.js} +1 -1
- package/dist/ionic/{p-ee4a54e3.entry.js → p-88fde0e0.entry.js} +1 -1
- package/dist/ionic/{p-67598744.entry.js → p-8f5d30f5.entry.js} +1 -1
- package/dist/ionic/{p-edc5c693.system.entry.js → p-908475e7.system.entry.js} +1 -1
- package/dist/ionic/{p-3acad8ff.system.entry.js → p-93000a81.system.entry.js} +1 -1
- package/dist/ionic/{p-2ac9d078.system.entry.js → p-94389114.system.entry.js} +1 -1
- package/dist/ionic/{p-a0db3de9.system.entry.js → p-9709ebd8.system.entry.js} +1 -1
- package/dist/ionic/{p-12cdcb59.js → p-9738fd82.js} +1 -1
- package/dist/ionic/{p-6cf08720.entry.js → p-98b14ece.entry.js} +1 -1
- package/dist/ionic/{p-a70b5d24.entry.js → p-98f3d827.entry.js} +1 -1
- package/dist/ionic/{p-58dd7c15.entry.js → p-9c3b6849.entry.js} +1 -1
- package/dist/ionic/{p-93dac17a.system.entry.js → p-9eec42cc.system.entry.js} +1 -1
- package/dist/ionic/{p-89cfbc88.system.entry.js → p-a0126dd5.system.entry.js} +1 -1
- package/dist/ionic/{p-70ecb18b.entry.js → p-a1987850.entry.js} +1 -1
- package/dist/ionic/{p-53a3283e.entry.js → p-a4afcc88.entry.js} +1 -1
- package/dist/ionic/{p-27e6473f.entry.js → p-a6f9dd7b.entry.js} +1 -1
- package/dist/ionic/{p-99fe0543.entry.js → p-a98dc0c1.entry.js} +1 -1
- package/dist/ionic/{p-90db28f8.system.entry.js → p-a9e3b5be.system.entry.js} +1 -1
- package/dist/ionic/{p-a843a90e.system.entry.js → p-ab9456e9.system.entry.js} +1 -1
- package/dist/ionic/{p-22c6adfa.entry.js → p-ad019ef0.entry.js} +1 -1
- package/dist/ionic/{p-ad78c421.system.js → p-af5cfad2.system.js} +1 -1
- package/dist/ionic/{p-a1b4dba7.entry.js → p-b04e4d62.entry.js} +1 -1
- package/dist/ionic/{p-1631b52f.system.js → p-b0dc1cf9.system.js} +1 -1
- package/dist/ionic/{p-98ac0e27.system.entry.js → p-b3b3efba.system.entry.js} +2 -2
- package/dist/ionic/{p-58ff9e5b.system.js → p-b4a51c42.system.js} +1 -1
- package/dist/ionic/{p-b5e33ebc.system.entry.js → p-b4bad293.system.entry.js} +1 -1
- package/dist/ionic/{p-3cb5466e.entry.js → p-b5f9f14c.entry.js} +1 -1
- package/dist/ionic/{p-b0fcf130.system.entry.js → p-b6f5e4f2.system.entry.js} +1 -1
- package/dist/ionic/{p-7ae5ca1f.system.entry.js → p-b7010c69.system.entry.js} +1 -1
- package/dist/ionic/{p-a99f14a7.system.entry.js → p-b752714f.system.entry.js} +1 -1
- package/dist/ionic/{p-f444fea5.entry.js → p-c3289ef2.entry.js} +1 -1
- package/dist/ionic/{p-acdd8148.js → p-c3c3333a.js} +1 -1
- package/dist/ionic/{p-5a7d5905.system.entry.js → p-c3d09cf2.system.entry.js} +1 -1
- package/dist/ionic/{p-8261be6c.system.entry.js → p-c847fb35.system.entry.js} +1 -1
- package/dist/ionic/{p-e3c44332.system.entry.js → p-c91ccbfa.system.entry.js} +1 -1
- package/dist/ionic/{p-9f376964.system.entry.js → p-c9a21dfd.system.entry.js} +1 -1
- package/dist/ionic/{p-ad953217.system.entry.js → p-caf21b46.system.entry.js} +1 -1
- package/dist/ionic/{p-19545a49.system.entry.js → p-cce9f61a.system.entry.js} +1 -1
- package/dist/ionic/{p-1c6c6098.entry.js → p-cfe57b1b.entry.js} +1 -1
- package/dist/ionic/p-cff478d8.entry.js +4 -0
- package/dist/ionic/{p-742e11cf.system.entry.js → p-d1cb29a8.system.entry.js} +1 -1
- package/dist/ionic/{p-c04accad.entry.js → p-d37b441e.entry.js} +1 -1
- package/dist/ionic/{p-f8c5a0dd.system.js → p-d3b030b8.system.js} +1 -1
- package/dist/ionic/{p-3f5ae764.entry.js → p-d40a974a.entry.js} +1 -1
- package/dist/ionic/{p-91f9e81b.js → p-d662d908.js} +1 -1
- package/dist/ionic/{p-41f7af3f.system.entry.js → p-d7be6b7e.system.entry.js} +1 -1
- package/dist/ionic/{p-3535a36c.entry.js → p-ddb30596.entry.js} +1 -1
- package/dist/ionic/{p-c5ae50be.system.js → p-e3584231.system.js} +1 -1
- package/dist/ionic/p-e4d90573.js +4 -0
- package/dist/ionic/{p-ca32685b.system.entry.js → p-e553006f.system.entry.js} +1 -1
- package/dist/ionic/{p-27a5f2c7.system.entry.js → p-e6d68e02.system.entry.js} +1 -1
- package/dist/ionic/{p-8a75f7bf.system.entry.js → p-e7ea9815.system.entry.js} +1 -1
- package/dist/ionic/{p-8a10752d.entry.js → p-e94c392d.entry.js} +1 -1
- package/dist/ionic/p-ea69616e.entry.js +4 -0
- package/dist/ionic/{p-4f71a9cf.system.entry.js → p-ef126ae8.system.entry.js} +1 -1
- package/dist/ionic/{p-f10de9d5.system.js → p-f2c21dae.system.js} +1 -1
- package/dist/ionic/{p-7484b1d6.system.js → p-f7a36cd0.system.js} +1 -1
- package/dist/ionic/{p-e4045e04.entry.js → p-f8a5bb89.entry.js} +1 -1
- package/dist/types/components/input/input.d.ts +5 -1
- package/dist/types/components/searchbar/searchbar.d.ts +2 -0
- package/dist/types/components/textarea/textarea.d.ts +5 -1
- package/dist/types/components.d.ts +7 -7
- package/hydrate/index.d.ts +1 -1
- package/hydrate/index.js +49 -5
- package/package.json +2 -2
- package/dist/esm-es5/app-globals-c23144fc.js +0 -4
- package/dist/ionic/p-405f1a72.entry.js +0 -4
- package/dist/ionic/p-5c7f13cd.system.entry.js +0 -4
- package/dist/ionic/p-6744eca5.entry.js +0 -4
- package/dist/ionic/p-af959b5d.entry.js +0 -4
- package/dist/ionic/p-b8f2134e.js +0 -4
- package/dist/ionic/p-cde72008.js +0 -4
- package/dist/ionic/p-ddccf1f4.js +0 -4
- package/dist/ionic/p-e145b9f9.entry.js +0 -4
- package/dist/ionic/p-eab6401e.js +0 -4
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-bbb4336c.js');
|
|
9
9
|
const formController = require('./form-controller-7d42a722.js');
|
|
10
10
|
const notchController = require('./notch-controller-1dce508a.js');
|
|
11
11
|
const helpers = require('./helpers-76bb7efb.js');
|
|
12
12
|
const index$1 = require('./index-5915f9b3.js');
|
|
13
13
|
const input_utils = require('./input.utils-2a11c1fe.js');
|
|
14
14
|
const theme = require('./theme-d1c573d2.js');
|
|
15
|
-
const ionicGlobal = require('./ionic-global-
|
|
15
|
+
const ionicGlobal = require('./ionic-global-f4a2093b.js');
|
|
16
16
|
require('./index-306a7476.js');
|
|
17
17
|
|
|
18
18
|
const textareaIosCss = ".sc-ion-textarea-ios-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:0.6;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}.sc-ion-textarea-ios-h:not(.legacy-textarea){min-height:44px}.textarea-label-placement-floating.sc-ion-textarea-ios-h,.textarea-label-placement-stacked.sc-ion-textarea-ios-h{--padding-top:0px;min-height:56px}[cols].sc-ion-textarea-ios-h:not([auto-grow]){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.legacy-textarea.sc-ion-textarea-ios-h{-ms-flex:1;flex:1;background:var(--background);white-space:pre-wrap}.legacy-textarea.ion-color.sc-ion-textarea-ios-h{color:var(--ion-color-base)}.sc-ion-textarea-ios-h:not(.legacy-textarea){--padding-bottom:8px}.ion-color.sc-ion-textarea-ios-h{--highlight-color-focused:var(--ion-color-base);background:initial}ion-item.sc-ion-textarea-ios-h,ion-item .sc-ion-textarea-ios-h{-ms-flex-item-align:baseline;align-self:baseline}ion-item.sc-ion-textarea-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-textarea-ios-h{--padding-start:0}ion-item[slot=start].sc-ion-textarea-ios-h,ion-item [slot=start].sc-ion-textarea-ios-h,ion-item[slot=end].sc-ion-textarea-ios-h,ion-item [slot=end].sc-ion-textarea-ios-h{width:auto}.native-textarea.sc-ion-textarea-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea.sc-ion-textarea-ios::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios{white-space:inherit}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios,.legacy-textarea.sc-ion-textarea-ios-h .textarea-legacy-wrapper.sc-ion-textarea-ios::after{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius)}.native-textarea.sc-ion-textarea-ios{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.legacy-textarea.sc-ion-textarea-ios-h .textarea-legacy-wrapper.sc-ion-textarea-ios::after{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input.sc-ion-textarea-ios{top:0;bottom:0;position:absolute;pointer-events:none}@supports (inset-inline-start: 0){.cloned-input.sc-ion-textarea-ios{inset-inline-start:0}}@supports not (inset-inline-start: 0){.cloned-input.sc-ion-textarea-ios{left:0}[dir=rtl].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{left:unset;right:unset;right:0}[dir=rtl].sc-ion-textarea-ios .cloned-input.sc-ion-textarea-ios{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.cloned-input.sc-ion-textarea-ios:dir(rtl){left:unset;right:unset;right:0}}}.cloned-input.sc-ion-textarea-ios:disabled{opacity:1}.legacy-textarea[auto-grow].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}[auto-grow].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{height:100%}[auto-grow].sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios{overflow:hidden}.item-label-floating.item-has-placeholder.sc-ion-textarea-ios-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-textarea-ios-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-textarea-ios-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-textarea-ios-h{-webkit-transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.textarea-wrapper.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0px;padding-bottom:0px;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper.sc-ion-textarea-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;width:100%;height:100%}.has-focus.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{caret-color:var(--highlight-color)}.native-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}.native-wrapper.sc-ion-textarea-ios,.textarea-legacy-wrapper.sc-ion-textarea-ios{display:grid;min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit;grid-auto-rows:100%}.native-wrapper.sc-ion-textarea-ios::after,.textarea-legacy-wrapper.sc-ion-textarea-ios::after{white-space:pre-wrap;content:attr(data-replicated-value) \" \";visibility:hidden}.native-wrapper.sc-ion-textarea-ios::after{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-valid)}.textarea-bottom.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem}.has-focus.ion-valid.sc-ion-textarea-ios-h,.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--border-color:var(--highlight-color)}.textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:none;color:var(--highlight-color-invalid)}.textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:block;color:var(--ion-color-step-550, #737373)}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:block}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:none}.textarea-bottom.sc-ion-textarea-ios .counter.sc-ion-textarea-ios{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--ion-color-step-550, #737373);white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}.label-text-wrapper.sc-ion-textarea-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text.sc-ion-textarea-ios,.sc-ion-textarea-ios-s>[slot=label]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden.sc-ion-textarea-ios,.textarea-outline-notch-hidden.sc-ion-textarea-ios{display:none}.textarea-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-label-placement-start.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:row;flex-direction:row}.textarea-label-placement-start.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-end.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.textarea-label-placement-end.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text.sc-ion-textarea-ios{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:left top;transform-origin:left top;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;max-width:100%;z-index:2}[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.textarea-label-placement-stacked.sc-ion-textarea-ios-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}}.textarea-label-placement-stacked.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-stacked[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after,.textarea-label-placement-floating[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:0}.has-focus.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.has-value.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:1}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.has-focus.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.has-value.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.sc-ion-textarea-ios-h{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--padding-top:10px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;font-size:inherit}.legacy-textarea.sc-ion-textarea-ios-h{--padding-top:10px;--padding-end:8px;--padding-bottom:10px;--padding-start:0}.item-label-stacked.sc-ion-textarea-ios-h,.item-label-stacked .sc-ion-textarea-ios-h,.item-label-floating.sc-ion-textarea-ios-h,.item-label-floating .sc-ion-textarea-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea[disabled].sc-ion-textarea-ios,.textarea-disabled.sc-ion-textarea-ios-h{opacity:0.3}";
|
|
@@ -171,6 +171,8 @@ const Textarea = class {
|
|
|
171
171
|
/**
|
|
172
172
|
* Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global
|
|
173
173
|
* `textarea.focus()`.
|
|
174
|
+
*
|
|
175
|
+
* See [managing focus](/docs/developing/managing-focus) for more information.
|
|
174
176
|
*/
|
|
175
177
|
async setFocus() {
|
|
176
178
|
if (this.nativeInput) {
|
|
@@ -243,15 +245,36 @@ const Textarea = class {
|
|
|
243
245
|
if (!this.clearOnEdit) {
|
|
244
246
|
return;
|
|
245
247
|
}
|
|
248
|
+
/**
|
|
249
|
+
* The following keys do not modify the
|
|
250
|
+
* contents of the input. As a result, pressing
|
|
251
|
+
* them should not edit the textarea.
|
|
252
|
+
*
|
|
253
|
+
* We can't check to see if the value of the textarea
|
|
254
|
+
* was changed because we call checkClearOnEdit
|
|
255
|
+
* in a keydown listener, and the key has not yet
|
|
256
|
+
* been added to the textarea.
|
|
257
|
+
*
|
|
258
|
+
* Unlike ion-input, the "Enter" key does modify the
|
|
259
|
+
* textarea by adding a new line, so "Enter" is not
|
|
260
|
+
* included in the IGNORED_KEYS array.
|
|
261
|
+
*/
|
|
262
|
+
const IGNORED_KEYS = ['Tab', 'Shift', 'Meta', 'Alt', 'Control'];
|
|
246
263
|
/**
|
|
247
264
|
* Clear the textarea if the control has not been previously cleared
|
|
248
265
|
* during focus.
|
|
249
266
|
*/
|
|
250
|
-
if (!this.didTextareaClearOnEdit && this.hasValue() && ev.key
|
|
267
|
+
if (!this.didTextareaClearOnEdit && this.hasValue() && !IGNORED_KEYS.includes(ev.key)) {
|
|
251
268
|
this.value = '';
|
|
252
269
|
this.emitInputChange(ev);
|
|
270
|
+
/**
|
|
271
|
+
* Only set this flag if we cleared the input.
|
|
272
|
+
* Otherwise pressing an IGNORED_KEYS first and
|
|
273
|
+
* then an allowed key will cause the input to not
|
|
274
|
+
* be cleared.
|
|
275
|
+
*/
|
|
276
|
+
this.didTextareaClearOnEdit = true;
|
|
253
277
|
}
|
|
254
|
-
this.didTextareaClearOnEdit = true;
|
|
255
278
|
}
|
|
256
279
|
focusChange() {
|
|
257
280
|
this.emitStyle();
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index$2 = require('./index-
|
|
8
|
+
const index$2 = require('./index-bbb4336c.js');
|
|
9
9
|
const config = require('./config-4f60b98a.js');
|
|
10
10
|
const helpers = require('./helpers-76bb7efb.js');
|
|
11
11
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
12
12
|
const index$1 = require('./index-5915f9b3.js');
|
|
13
|
-
const overlays = require('./overlays-
|
|
13
|
+
const overlays = require('./overlays-5c379703.js');
|
|
14
14
|
const theme = require('./theme-d1c573d2.js');
|
|
15
|
-
const ionicGlobal = require('./ionic-global-
|
|
15
|
+
const ionicGlobal = require('./ionic-global-f4a2093b.js');
|
|
16
16
|
const animation = require('./animation-cc40e39c.js');
|
|
17
17
|
const index = require('./index-306a7476.js');
|
|
18
18
|
require('./framework-delegate-1c29b14a.js');
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-bbb4336c.js');
|
|
9
9
|
const formController = require('./form-controller-7d42a722.js');
|
|
10
10
|
const helpers = require('./helpers-76bb7efb.js');
|
|
11
11
|
const index$2 = require('./index-5915f9b3.js');
|
|
@@ -13,7 +13,7 @@ const haptic = require('./haptic-216df36c.js');
|
|
|
13
13
|
const dir = require('./dir-94c21456.js');
|
|
14
14
|
const theme = require('./theme-d1c573d2.js');
|
|
15
15
|
const index$1 = require('./index-09471526.js');
|
|
16
|
-
const ionicGlobal = require('./ionic-global-
|
|
16
|
+
const ionicGlobal = require('./ionic-global-f4a2093b.js');
|
|
17
17
|
require('./capacitor-46980811.js');
|
|
18
18
|
require('./index-306a7476.js');
|
|
19
19
|
|
package/dist/cjs/ionic.cjs.js
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const appGlobals = require('./app-globals-
|
|
10
|
-
require('./ionic-global-
|
|
8
|
+
const index = require('./index-bbb4336c.js');
|
|
9
|
+
const appGlobals = require('./app-globals-0af482c7.js');
|
|
10
|
+
require('./ionic-global-f4a2093b.js');
|
|
11
11
|
|
|
12
12
|
/*
|
|
13
|
-
Stencil Client Patch Browser v4.8.
|
|
13
|
+
Stencil Client Patch Browser v4.8.1 | MIT Licensed | https://stenciljs.com
|
|
14
14
|
*/
|
|
15
15
|
const patchBrowser = () => {
|
|
16
16
|
const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('ionic.cjs.js', document.baseURI).href));
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
const animation = require('./animation-cc40e39c.js');
|
|
7
|
-
const index = require('./index-
|
|
7
|
+
const index = require('./index-d4c2e02c.js');
|
|
8
8
|
require('./index-306a7476.js');
|
|
9
9
|
require('./helpers-76bb7efb.js');
|
|
10
|
-
require('./index-
|
|
10
|
+
require('./index-bbb4336c.js');
|
|
11
11
|
|
|
12
12
|
const DURATION = 540;
|
|
13
13
|
// TODO(FW-2832): types
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const appGlobals = require('./app-globals-
|
|
10
|
-
require('./ionic-global-
|
|
8
|
+
const index = require('./index-bbb4336c.js');
|
|
9
|
+
const appGlobals = require('./app-globals-0af482c7.js');
|
|
10
|
+
require('./ionic-global-f4a2093b.js');
|
|
11
11
|
|
|
12
12
|
const defineCustomElements = (win, options) => {
|
|
13
13
|
if (typeof window === 'undefined') return undefined;
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
const animation = require('./animation-cc40e39c.js');
|
|
7
|
-
const index = require('./index-
|
|
7
|
+
const index = require('./index-d4c2e02c.js');
|
|
8
8
|
require('./index-306a7476.js');
|
|
9
9
|
require('./helpers-76bb7efb.js');
|
|
10
|
-
require('./index-
|
|
10
|
+
require('./index-bbb4336c.js');
|
|
11
11
|
|
|
12
12
|
const mdTransitionAnimation = (_, opts) => {
|
|
13
13
|
var _a, _b, _c;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
const index = require('./index-306a7476.js');
|
|
7
|
-
const ionicGlobal = require('./ionic-global-
|
|
7
|
+
const ionicGlobal = require('./ionic-global-f4a2093b.js');
|
|
8
8
|
const frameworkDelegate = require('./framework-delegate-1c29b14a.js');
|
|
9
9
|
const hardwareBackButton = require('./hardware-back-button-76833cac.js');
|
|
10
10
|
const helpers = require('./helpers-76bb7efb.js');
|
|
@@ -198,6 +198,8 @@ export class Input {
|
|
|
198
198
|
*
|
|
199
199
|
* Developers who wish to focus an input when an overlay is presented
|
|
200
200
|
* should call `setFocus` after `didPresent` has resolved.
|
|
201
|
+
*
|
|
202
|
+
* See [managing focus](/docs/developing/managing-focus) for more information.
|
|
201
203
|
*/
|
|
202
204
|
async setFocus() {
|
|
203
205
|
if (this.nativeInput) {
|
|
@@ -263,15 +265,32 @@ export class Input {
|
|
|
263
265
|
if (!this.shouldClearOnEdit()) {
|
|
264
266
|
return;
|
|
265
267
|
}
|
|
268
|
+
/**
|
|
269
|
+
* The following keys do not modify the
|
|
270
|
+
* contents of the input. As a result, pressing
|
|
271
|
+
* them should not edit the input.
|
|
272
|
+
*
|
|
273
|
+
* We can't check to see if the value of the input
|
|
274
|
+
* was changed because we call checkClearOnEdit
|
|
275
|
+
* in a keydown listener, and the key has not yet
|
|
276
|
+
* been added to the input.
|
|
277
|
+
*/
|
|
278
|
+
const IGNORED_KEYS = ['Enter', 'Tab', 'Shift', 'Meta', 'Alt', 'Control'];
|
|
266
279
|
/**
|
|
267
280
|
* Clear the input if the control has not been previously cleared during focus.
|
|
268
281
|
* Do not clear if the user hitting enter to submit a form.
|
|
269
282
|
*/
|
|
270
|
-
if (!this.didInputClearOnEdit && this.hasValue() &&
|
|
283
|
+
if (!this.didInputClearOnEdit && this.hasValue() && !IGNORED_KEYS.includes(ev.key)) {
|
|
271
284
|
this.value = '';
|
|
272
285
|
this.emitInputChange(ev);
|
|
286
|
+
/**
|
|
287
|
+
* Only set this flag if we cleared the input.
|
|
288
|
+
* Otherwise pressing an IGNORED_KEYS first and
|
|
289
|
+
* then an allowed key will cause the input to not
|
|
290
|
+
* be cleared.
|
|
291
|
+
*/
|
|
292
|
+
this.didInputClearOnEdit = true;
|
|
273
293
|
}
|
|
274
|
-
this.didInputClearOnEdit = true;
|
|
275
294
|
}
|
|
276
295
|
hasValue() {
|
|
277
296
|
return this.getValue().length > 0;
|
|
@@ -560,7 +579,7 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
|
|
|
560
579
|
"optional": false,
|
|
561
580
|
"docs": {
|
|
562
581
|
"tags": [],
|
|
563
|
-
"text": "
|
|
582
|
+
"text": "Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.\n\nThis may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information."
|
|
564
583
|
},
|
|
565
584
|
"attribute": "autofocus",
|
|
566
585
|
"reflect": false,
|
|
@@ -1221,7 +1240,7 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
|
|
|
1221
1240
|
"return": "Promise<void>"
|
|
1222
1241
|
},
|
|
1223
1242
|
"docs": {
|
|
1224
|
-
"text": "Sets focus on the native `input` in `ion-input`. Use this method instead of the global\n`input.focus()`.\n\nDevelopers who wish to focus an input when a page enters\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n\nDevelopers who wish to focus an input when an overlay is presented\nshould call `setFocus` after `didPresent` has resolved.",
|
|
1243
|
+
"text": "Sets focus on the native `input` in `ion-input`. Use this method instead of the global\n`input.focus()`.\n\nDevelopers who wish to focus an input when a page enters\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n\nDevelopers who wish to focus an input when an overlay is presented\nshould call `setFocus` after `didPresent` has resolved.\n\nSee [managing focus](/docs/developing/managing-focus) for more information.",
|
|
1225
1244
|
"tags": []
|
|
1226
1245
|
}
|
|
1227
1246
|
},
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { expect } from "@playwright/test";
|
|
5
5
|
import { test, configs } from "../../../../utils/test/playwright/index";
|
|
6
|
+
const IGNORED_KEYS = ['Enter', 'Tab', 'Shift', 'Meta', 'Alt', 'Control'];
|
|
6
7
|
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
7
8
|
test.describe(title('input: clearOnEdit'), () => {
|
|
8
9
|
test('should clear when typed into', async ({ page }) => {
|
|
@@ -13,21 +14,32 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
13
14
|
await ionInput.next();
|
|
14
15
|
await expect(input).toHaveJSProperty('value', 'h');
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
IGNORED_KEYS.forEach((ignoredKey) => {
|
|
18
|
+
test(`should not clear when ${ignoredKey} is pressed`, async ({ page }) => {
|
|
19
|
+
await page.setContent(`<ion-input value="abc" clear-on-edit="true" aria-label="input"></ion-input>`, config);
|
|
20
|
+
const input = page.locator('ion-input');
|
|
21
|
+
await input.locator('input').focus();
|
|
22
|
+
await page.keyboard.press(ignoredKey);
|
|
23
|
+
await page.waitForChanges();
|
|
24
|
+
await expect(input).toHaveJSProperty('value', 'abc');
|
|
25
|
+
});
|
|
23
26
|
});
|
|
24
|
-
test('should
|
|
27
|
+
test('should clear after when pressing valid key after pressing ignored key', async ({ page }) => {
|
|
28
|
+
test.info().annotations.push({
|
|
29
|
+
type: 'issue',
|
|
30
|
+
description: 'https://github.com/ionic-team/ionic-framework/issues/28633',
|
|
31
|
+
});
|
|
25
32
|
await page.setContent(`<ion-input value="abc" clear-on-edit="true" aria-label="input"></ion-input>`, config);
|
|
26
33
|
const input = page.locator('ion-input');
|
|
27
34
|
await input.locator('input').focus();
|
|
28
|
-
|
|
35
|
+
// ignored
|
|
36
|
+
await page.keyboard.press('Shift');
|
|
29
37
|
await page.waitForChanges();
|
|
30
38
|
await expect(input).toHaveJSProperty('value', 'abc');
|
|
39
|
+
// allowed
|
|
40
|
+
await page.keyboard.press('a');
|
|
41
|
+
await page.waitForChanges();
|
|
42
|
+
await expect(input).toHaveJSProperty('value', 'a');
|
|
31
43
|
});
|
|
32
44
|
});
|
|
33
45
|
});
|
|
@@ -180,6 +180,8 @@ export class Searchbar {
|
|
|
180
180
|
*
|
|
181
181
|
* Developers who wish to focus an input when an overlay is presented
|
|
182
182
|
* should call `setFocus` after `didPresent` has resolved.
|
|
183
|
+
*
|
|
184
|
+
* See [managing focus](/docs/developing/managing-focus) for more information.
|
|
183
185
|
*/
|
|
184
186
|
async setFocus() {
|
|
185
187
|
if (this.nativeInput) {
|
|
@@ -890,7 +892,7 @@ export class Searchbar {
|
|
|
890
892
|
"return": "Promise<void>"
|
|
891
893
|
},
|
|
892
894
|
"docs": {
|
|
893
|
-
"text": "Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global\n`input.focus()`.\n\nDevelopers who wish to focus an input when a page enters\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n\nDevelopers who wish to focus an input when an overlay is presented\nshould call `setFocus` after `didPresent` has resolved.",
|
|
895
|
+
"text": "Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global\n`input.focus()`.\n\nDevelopers who wish to focus an input when a page enters\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n\nDevelopers who wish to focus an input when an overlay is presented\nshould call `setFocus` after `didPresent` has resolved.\n\nSee [managing focus](/docs/developing/managing-focus) for more information.",
|
|
894
896
|
"tags": []
|
|
895
897
|
}
|
|
896
898
|
},
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { expect } from "@playwright/test";
|
|
5
5
|
import { test, configs } from "../../../../utils/test/playwright/index";
|
|
6
|
+
const IGNORED_KEYS = ['Tab', 'Shift', 'Meta', 'Alt', 'Control'];
|
|
6
7
|
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
7
8
|
test.describe(title('textarea: clearOnEdit'), () => {
|
|
8
9
|
test('should clear when typed into', async ({ page }) => {
|
|
@@ -21,5 +22,32 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
21
22
|
await page.waitForChanges();
|
|
22
23
|
await expect(textarea).toHaveJSProperty('value', 'abc');
|
|
23
24
|
});
|
|
25
|
+
IGNORED_KEYS.forEach((ignoredKey) => {
|
|
26
|
+
test(`should not clear when ${ignoredKey} is pressed`, async ({ page }) => {
|
|
27
|
+
await page.setContent(`<ion-textarea value="abc" clear-on-edit="true" aria-label="textarea"></ion-textarea>`, config);
|
|
28
|
+
const textarea = page.locator('ion-textarea');
|
|
29
|
+
await textarea.locator('textarea').focus();
|
|
30
|
+
await page.keyboard.press(ignoredKey);
|
|
31
|
+
await page.waitForChanges();
|
|
32
|
+
await expect(textarea).toHaveJSProperty('value', 'abc');
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
test('should clear after when pressing valid key after pressing ignored key', async ({ page }) => {
|
|
36
|
+
test.info().annotations.push({
|
|
37
|
+
type: 'issue',
|
|
38
|
+
description: 'https://github.com/ionic-team/ionic-framework/issues/28633',
|
|
39
|
+
});
|
|
40
|
+
await page.setContent(`<ion-textarea value="abc" clear-on-edit="true" aria-label="textarea"></ion-textarea>`, config);
|
|
41
|
+
const textarea = page.locator('ion-textarea');
|
|
42
|
+
await textarea.locator('textarea').focus();
|
|
43
|
+
// ignored
|
|
44
|
+
await page.keyboard.press('Shift');
|
|
45
|
+
await page.waitForChanges();
|
|
46
|
+
await expect(textarea).toHaveJSProperty('value', 'abc');
|
|
47
|
+
// allowed
|
|
48
|
+
await page.keyboard.press('a');
|
|
49
|
+
await page.waitForChanges();
|
|
50
|
+
await expect(textarea).toHaveJSProperty('value', 'a');
|
|
51
|
+
});
|
|
24
52
|
});
|
|
25
53
|
});
|
|
@@ -160,6 +160,8 @@ export class Textarea {
|
|
|
160
160
|
/**
|
|
161
161
|
* Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global
|
|
162
162
|
* `textarea.focus()`.
|
|
163
|
+
*
|
|
164
|
+
* See [managing focus](/docs/developing/managing-focus) for more information.
|
|
163
165
|
*/
|
|
164
166
|
async setFocus() {
|
|
165
167
|
if (this.nativeInput) {
|
|
@@ -232,15 +234,36 @@ export class Textarea {
|
|
|
232
234
|
if (!this.clearOnEdit) {
|
|
233
235
|
return;
|
|
234
236
|
}
|
|
237
|
+
/**
|
|
238
|
+
* The following keys do not modify the
|
|
239
|
+
* contents of the input. As a result, pressing
|
|
240
|
+
* them should not edit the textarea.
|
|
241
|
+
*
|
|
242
|
+
* We can't check to see if the value of the textarea
|
|
243
|
+
* was changed because we call checkClearOnEdit
|
|
244
|
+
* in a keydown listener, and the key has not yet
|
|
245
|
+
* been added to the textarea.
|
|
246
|
+
*
|
|
247
|
+
* Unlike ion-input, the "Enter" key does modify the
|
|
248
|
+
* textarea by adding a new line, so "Enter" is not
|
|
249
|
+
* included in the IGNORED_KEYS array.
|
|
250
|
+
*/
|
|
251
|
+
const IGNORED_KEYS = ['Tab', 'Shift', 'Meta', 'Alt', 'Control'];
|
|
235
252
|
/**
|
|
236
253
|
* Clear the textarea if the control has not been previously cleared
|
|
237
254
|
* during focus.
|
|
238
255
|
*/
|
|
239
|
-
if (!this.didTextareaClearOnEdit && this.hasValue() && ev.key
|
|
256
|
+
if (!this.didTextareaClearOnEdit && this.hasValue() && !IGNORED_KEYS.includes(ev.key)) {
|
|
240
257
|
this.value = '';
|
|
241
258
|
this.emitInputChange(ev);
|
|
259
|
+
/**
|
|
260
|
+
* Only set this flag if we cleared the input.
|
|
261
|
+
* Otherwise pressing an IGNORED_KEYS first and
|
|
262
|
+
* then an allowed key will cause the input to not
|
|
263
|
+
* be cleared.
|
|
264
|
+
*/
|
|
265
|
+
this.didTextareaClearOnEdit = true;
|
|
242
266
|
}
|
|
243
|
-
this.didTextareaClearOnEdit = true;
|
|
244
267
|
}
|
|
245
268
|
focusChange() {
|
|
246
269
|
this.emitStyle();
|
|
@@ -448,7 +471,7 @@ Developers can use the "legacy" property to continue using the legacy form marku
|
|
|
448
471
|
"optional": false,
|
|
449
472
|
"docs": {
|
|
450
473
|
"tags": [],
|
|
451
|
-
"text": "
|
|
474
|
+
"text": "Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.\n\nThis may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information."
|
|
452
475
|
},
|
|
453
476
|
"attribute": "autofocus",
|
|
454
477
|
"reflect": false,
|
|
@@ -1035,7 +1058,7 @@ Developers can use the "legacy" property to continue using the legacy form marku
|
|
|
1035
1058
|
"return": "Promise<void>"
|
|
1036
1059
|
},
|
|
1037
1060
|
"docs": {
|
|
1038
|
-
"text": "Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global\n`textarea.focus()
|
|
1061
|
+
"text": "Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global\n`textarea.focus()`.\n\nSee [managing focus](/docs/developing/managing-focus) for more information.",
|
|
1039
1062
|
"tags": []
|
|
1040
1063
|
}
|
|
1041
1064
|
},
|
package/dist/docs.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2023-12-
|
|
2
|
+
"timestamp": "2023-12-05T14:57:32",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
|
-
"version": "4.8.
|
|
5
|
+
"version": "4.8.1",
|
|
6
6
|
"typescriptVersion": "5.2.2"
|
|
7
7
|
},
|
|
8
8
|
"components": [
|
|
@@ -9991,7 +9991,7 @@
|
|
|
9991
9991
|
"mutable": false,
|
|
9992
9992
|
"attr": "autofocus",
|
|
9993
9993
|
"reflectToAttr": false,
|
|
9994
|
-
"docs": "
|
|
9994
|
+
"docs": "Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.\n\nThis may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.",
|
|
9995
9995
|
"docsTags": [],
|
|
9996
9996
|
"default": "false",
|
|
9997
9997
|
"values": [
|
|
@@ -10978,7 +10978,7 @@
|
|
|
10978
10978
|
},
|
|
10979
10979
|
"signature": "setFocus() => Promise<void>",
|
|
10980
10980
|
"parameters": [],
|
|
10981
|
-
"docs": "Sets focus on the native `input` in `ion-input`. Use this method instead of the global\n`input.focus()`.\n\nDevelopers who wish to focus an input when a page enters\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n\nDevelopers who wish to focus an input when an overlay is presented\nshould call `setFocus` after `didPresent` has resolved.",
|
|
10981
|
+
"docs": "Sets focus on the native `input` in `ion-input`. Use this method instead of the global\n`input.focus()`.\n\nDevelopers who wish to focus an input when a page enters\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n\nDevelopers who wish to focus an input when an overlay is presented\nshould call `setFocus` after `didPresent` has resolved.\n\nSee [managing focus](/docs/developing/managing-focus) for more information.",
|
|
10982
10982
|
"docsTags": []
|
|
10983
10983
|
}
|
|
10984
10984
|
],
|
|
@@ -22977,7 +22977,7 @@
|
|
|
22977
22977
|
},
|
|
22978
22978
|
"signature": "setFocus() => Promise<void>",
|
|
22979
22979
|
"parameters": [],
|
|
22980
|
-
"docs": "Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global\n`input.focus()`.\n\nDevelopers who wish to focus an input when a page enters\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n\nDevelopers who wish to focus an input when an overlay is presented\nshould call `setFocus` after `didPresent` has resolved.",
|
|
22980
|
+
"docs": "Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global\n`input.focus()`.\n\nDevelopers who wish to focus an input when a page enters\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n\nDevelopers who wish to focus an input when an overlay is presented\nshould call `setFocus` after `didPresent` has resolved.\n\nSee [managing focus](/docs/developing/managing-focus) for more information.",
|
|
22981
22981
|
"docsTags": []
|
|
22982
22982
|
}
|
|
22983
22983
|
],
|
|
@@ -26100,7 +26100,7 @@
|
|
|
26100
26100
|
"mutable": false,
|
|
26101
26101
|
"attr": "autofocus",
|
|
26102
26102
|
"reflectToAttr": false,
|
|
26103
|
-
"docs": "
|
|
26103
|
+
"docs": "Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.\n\nThis may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.",
|
|
26104
26104
|
"docsTags": [],
|
|
26105
26105
|
"default": "false",
|
|
26106
26106
|
"values": [
|
|
@@ -26918,7 +26918,7 @@
|
|
|
26918
26918
|
},
|
|
26919
26919
|
"signature": "setFocus() => Promise<void>",
|
|
26920
26920
|
"parameters": [],
|
|
26921
|
-
"docs": "Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global\n`textarea.focus()
|
|
26921
|
+
"docs": "Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global\n`textarea.focus()`.\n\nSee [managing focus](/docs/developing/managing-focus) for more information.",
|
|
26922
26922
|
"docsTags": []
|
|
26923
26923
|
}
|
|
26924
26924
|
],
|
|
@@ -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-08d686eb.js';
|
|
5
5
|
import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-152c4172.js';
|
|
6
6
|
import { createGesture } from './index-2cf77112.js';
|
|
7
7
|
|
|
@@ -263,6 +263,17 @@ const convertToPrivate = (node) => {
|
|
|
263
263
|
vnode.$name$ = node.vname;
|
|
264
264
|
return vnode;
|
|
265
265
|
};
|
|
266
|
+
/**
|
|
267
|
+
* Entrypoint of the client-side hydration process. Facilitates calls to hydrate the
|
|
268
|
+
* document and all its nodes.
|
|
269
|
+
*
|
|
270
|
+
* This process will also reconstruct the shadow root and slot DOM nodes for components using shadow DOM.
|
|
271
|
+
*
|
|
272
|
+
* @param hostElm The element to hydrate.
|
|
273
|
+
* @param tagName The element's tag name.
|
|
274
|
+
* @param hostId The host ID assigned to the element by the server.
|
|
275
|
+
* @param hostRef The host reference for the element.
|
|
276
|
+
*/
|
|
266
277
|
const initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
|
|
267
278
|
const endHydrate = createTime('hydrateClient', tagName);
|
|
268
279
|
const shadowRoot = hostElm.shadowRoot;
|
|
@@ -280,6 +291,8 @@ const initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
|
|
|
280
291
|
const orgLocationId = c.$hostId$ + '.' + c.$nodeId$;
|
|
281
292
|
const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
|
|
282
293
|
const node = c.$elm$;
|
|
294
|
+
// Put the node back in its original location since the native Shadow DOM
|
|
295
|
+
// can handle rendering it its correct location now
|
|
283
296
|
if (orgLocationNode && supportsShadow && orgLocationNode['s-en'] === '') {
|
|
284
297
|
orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
|
|
285
298
|
}
|
|
@@ -301,6 +314,22 @@ const initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
|
|
|
301
314
|
}
|
|
302
315
|
endHydrate();
|
|
303
316
|
};
|
|
317
|
+
/**
|
|
318
|
+
* Recursively constructs the virtual node tree for a host element and its children.
|
|
319
|
+
* The tree is constructed by parsing the annotations set on the nodes by the server.
|
|
320
|
+
*
|
|
321
|
+
* In addition to constructing the vNode tree, we also track information about the node's
|
|
322
|
+
* descendants like which are slots, which should exist in the shadow root, and which
|
|
323
|
+
* are nodes that should be rendered as children of the parent node.
|
|
324
|
+
*
|
|
325
|
+
* @param parentVNode The vNode representing the parent node.
|
|
326
|
+
* @param childRenderNodes An array of all child nodes in the parent's node tree.
|
|
327
|
+
* @param slotNodes An array of all slot nodes in the parent's node tree.
|
|
328
|
+
* @param shadowRootNodes An array all nodes that should be rendered in the shadow root in the parent's node tree.
|
|
329
|
+
* @param hostElm The parent element.
|
|
330
|
+
* @param node The node to construct the vNode tree for.
|
|
331
|
+
* @param hostId The host ID assigned to the element by the server.
|
|
332
|
+
*/
|
|
304
333
|
const clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => {
|
|
305
334
|
let childNodeType;
|
|
306
335
|
let childIdSplt;
|
|
@@ -445,6 +474,13 @@ const clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes
|
|
|
445
474
|
parentVNode.$children$ = [vnode];
|
|
446
475
|
}
|
|
447
476
|
};
|
|
477
|
+
/**
|
|
478
|
+
* Recursively locate any comments representing an original location for a node in a node's
|
|
479
|
+
* children or shadowRoot children.
|
|
480
|
+
*
|
|
481
|
+
* @param node The node to search.
|
|
482
|
+
* @param orgLocNodes A map of the original location annotation and the current node being searched.
|
|
483
|
+
*/
|
|
448
484
|
const initializeDocumentHydrate = (node, orgLocNodes) => {
|
|
449
485
|
if (node.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
450
486
|
let i = 0;
|
|
@@ -2527,12 +2563,14 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2527
2563
|
// If we have styles, add them to the DOM
|
|
2528
2564
|
if (dataStyles.innerHTML.length) {
|
|
2529
2565
|
dataStyles.setAttribute('data-styles', '');
|
|
2530
|
-
head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
|
2531
2566
|
// Apply CSP nonce to the style tag if it exists
|
|
2532
2567
|
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
|
2533
2568
|
if (nonce != null) {
|
|
2534
2569
|
dataStyles.setAttribute('nonce', nonce);
|
|
2535
2570
|
}
|
|
2571
|
+
// Insert the styles into the document head
|
|
2572
|
+
// NOTE: this _needs_ to happen last so we can ensure the nonce (and other attributes) are applied
|
|
2573
|
+
head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
|
2536
2574
|
}
|
|
2537
2575
|
// Process deferred connectedCallbacks now all components have been registered
|
|
2538
2576
|
isBootstrapping = false;
|