@ionic/core 8.5.7-dev.11747180955.1e468923 → 8.5.7-dev.11747676931.1d53b808
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/input-shims.js +0 -18
- package/components/ion-input-otp.d.ts +11 -0
- package/components/ion-input-otp.js +611 -0
- package/components/ion-input-password-toggle.js +3 -3
- package/components/ion-input.js +10 -2
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +2 -2
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-loading.js +2 -2
- package/components/ion-menu-button.js +2 -2
- package/components/ion-menu-toggle.js +2 -2
- package/components/ion-menu.js +2 -2
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +2 -2
- package/components/ion-picker-legacy.js +2 -2
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-range.js +3 -3
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-router-link.js +2 -2
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +4 -4
- package/components/ion-segment-button.js +2 -2
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +2 -2
- package/components/ion-segment.js +2 -2
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +2 -2
- package/components/ion-skeleton-text.js +2 -2
- package/components/ion-split-pane.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +2 -2
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +2 -2
- package/components/ion-textarea.js +2 -2
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +3 -3
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/list.js +1 -1
- package/components/modal.js +4 -4
- package/components/picker-column-option.js +2 -2
- package/components/picker-column2.js +2 -2
- package/components/popover.js +2 -2
- package/components/radio-group.js +1 -1
- package/components/radio.js +3 -3
- package/components/ripple-effect.js +1 -1
- package/components/select-modal.js +1 -1
- package/components/select-popover.js +1 -1
- package/components/spinner.js +1 -1
- package/components/title.js +2 -2
- package/components/toolbar.js +2 -2
- package/dist/cjs/{app-globals-CWtQHdcK.js → app-globals-DvwumQAI.js} +1 -1
- package/dist/cjs/{button-active-BzpKQ5zN.js → button-active-Du_YCFSd.js} +1 -1
- package/dist/cjs/{index-qOuhvt-6.js → index-B6-BlKCh.js} +4 -0
- package/dist/cjs/{index-CrE5792q.js → index-DCB2XSaQ.js} +1 -1
- package/dist/cjs/{index-C6GLB0dQ.js → index-QuFS9UpQ.js} +3 -3
- package/dist/cjs/index.cjs.js +7 -7
- package/dist/cjs/{input-shims-BIfSj_O3.js → input-shims-DGvxKeWy.js} +0 -18
- 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 +10 -10
- package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
- 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 +3 -3
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
- 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-otp.cjs.entry.js +574 -0
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +5 -5
- package/dist/cjs/ion-input.cjs.entry.js +12 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-item_8.cjs.entry.js +14 -14
- package/dist/cjs/ion-loading.cjs.entry.js +5 -5
- package/dist/cjs/ion-menu_3.cjs.entry.js +10 -10
- package/dist/cjs/ion-modal.cjs.entry.js +8 -8
- package/dist/cjs/ion-nav_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker-column.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +6 -6
- package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/ion-radio_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-range.cjs.entry.js +5 -5
- package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
- package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-select-modal.cjs.entry.js +4 -4
- package/dist/cjs/ion-select_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
- package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
- package/dist/cjs/ion-toast.cjs.entry.js +5 -5
- package/dist/cjs/ion-toggle.cjs.entry.js +5 -5
- package/dist/cjs/{ionic-global-BC3ee-Wa.js → ionic-global-C3I6b0Is.js} +1 -1
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-C9J4bBGV.js → ios.transition-CL8Q2_Bi.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-DT8PB4eS.js → md.transition-D1Ast6la.js} +2 -2
- package/dist/cjs/{overlays-B4rlyxhY.js → overlays-Ci3nLg5M.js} +1 -1
- package/dist/cjs/{status-tap-B8fjNFjq.js → status-tap-Bx_wzOTo.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/input/input.js +10 -2
- package/dist/collection/components/input-otp/input-otp-interface.js +1 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +377 -0
- package/dist/collection/components/input-otp/input-otp.js +999 -0
- package/dist/collection/components/input-otp/input-otp.md.css +377 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/modal.js +4 -4
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
- package/dist/collection/components/picker-legacy/picker.js +2 -2
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
- package/dist/collection/components/popover/popover.js +2 -2
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +3 -3
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +4 -4
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.js +2 -2
- package/dist/collection/components/select-modal/select-modal.js +1 -1
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +0 -18
- package/dist/docs.json +907 -1
- package/dist/esm/{app-globals-Ts_E1ch0.js → app-globals-C74-VMUb.js} +1 -1
- package/dist/esm/{button-active-BQqkZ_sm.js → button-active-DRCPpzqj.js} +1 -1
- package/dist/esm/{index-EP3pwcdb.js → index-3GtB1kQI.js} +4 -1
- package/dist/esm/{index-B83thFnh.js → index-lgeUQ6qY.js} +3 -3
- package/dist/esm/{index-RyWq7qIc.js → index-lp0kQfoC.js} +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/{input-shims-BbXgvAcA.js → input-shims-qlIPzMSm.js} +0 -18
- 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 +10 -10
- package/dist/esm/ion-avatar_3.entry.js +3 -3
- 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 +3 -3
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +7 -7
- 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-otp.entry.js +572 -0
- package/dist/esm/ion-input-password-toggle.entry.js +5 -5
- package/dist/esm/ion-input.entry.js +12 -4
- package/dist/esm/ion-item-option_3.entry.js +6 -6
- package/dist/esm/ion-item_8.entry.js +14 -14
- package/dist/esm/ion-loading.entry.js +5 -5
- package/dist/esm/ion-menu_3.entry.js +10 -10
- package/dist/esm/ion-modal.entry.js +8 -8
- package/dist/esm/ion-nav_2.entry.js +5 -5
- package/dist/esm/ion-picker-column-option.entry.js +4 -4
- package/dist/esm/ion-picker-column.entry.js +2 -2
- package/dist/esm/ion-picker.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +6 -6
- package/dist/esm/ion-progress-bar.entry.js +3 -3
- package/dist/esm/ion-radio_2.entry.js +6 -6
- package/dist/esm/ion-range.entry.js +5 -5
- package/dist/esm/ion-refresher_2.entry.js +4 -4
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +3 -3
- package/dist/esm/ion-route_4.entry.js +4 -4
- package/dist/esm/ion-searchbar.entry.js +6 -6
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +3 -3
- package/dist/esm/ion-segment_2.entry.js +6 -6
- package/dist/esm/ion-select-modal.entry.js +4 -4
- package/dist/esm/ion-select_3.entry.js +7 -7
- package/dist/esm/ion-spinner.entry.js +3 -3
- package/dist/esm/ion-split-pane.entry.js +4 -4
- package/dist/esm/ion-tab-bar_2.entry.js +6 -6
- package/dist/esm/ion-tab_2.entry.js +4 -4
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +4 -4
- package/dist/esm/ion-toast.entry.js +5 -5
- package/dist/esm/ion-toggle.entry.js +5 -5
- package/dist/esm/{ionic-global-DapnXdYs.js → ionic-global-Dw-MNnQB.js} +1 -1
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-DN6Dy4K4.js → ios.transition-Doo_7Vid.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-DR8zuFnL.js → md.transition-BbcCfRk9.js} +2 -2
- package/dist/esm/{overlays-Blhb_0oI.js → overlays-Pn0MyOv4.js} +1 -1
- package/dist/esm/{status-tap-CZEjiztV.js → status-tap-Cn5uETrs.js} +1 -1
- package/dist/html.html-data.json +160 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-d9c08f93.entry.js → p-05427be9.entry.js} +1 -1
- package/dist/ionic/{p-9a0bde6e.entry.js → p-0bc3d6d0.entry.js} +1 -1
- package/dist/ionic/{p-38921e2f.entry.js → p-0bcd3299.entry.js} +1 -1
- package/dist/ionic/{p-030daf32.entry.js → p-14d26301.entry.js} +1 -1
- package/dist/ionic/p-178084cb.entry.js +4 -0
- package/dist/ionic/{p-3edb2346.entry.js → p-1da92348.entry.js} +1 -1
- package/dist/ionic/{p-12b44c66.entry.js → p-1e9ea564.entry.js} +1 -1
- package/dist/ionic/p-1fe35f29.entry.js +4 -0
- package/dist/ionic/{p-f0c5ea4c.entry.js → p-2438054c.entry.js} +1 -1
- package/dist/ionic/{p-b2b0f539.entry.js → p-250c972f.entry.js} +1 -1
- package/dist/ionic/{p-306eab7a.entry.js → p-2517fcdf.entry.js} +1 -1
- package/dist/ionic/{p-61f52724.entry.js → p-29186993.entry.js} +1 -1
- package/dist/ionic/{p-89e3b3c6.entry.js → p-2c6931ed.entry.js} +1 -1
- package/dist/ionic/{p-112af08b.entry.js → p-2e42fa68.entry.js} +1 -1
- package/dist/ionic/{p-EP3pwcdb.js → p-3GtB1kQI.js} +2 -2
- package/dist/ionic/{p-e2e4b1f1.entry.js → p-3ca63859.entry.js} +1 -1
- package/dist/ionic/{p-bc9feb4b.entry.js → p-3fa87259.entry.js} +1 -1
- package/dist/ionic/{p-08232f2d.entry.js → p-43f012a4.entry.js} +1 -1
- package/dist/ionic/{p-ff362ebc.entry.js → p-5756b724.entry.js} +1 -1
- package/dist/ionic/{p-4a5cf7ac.entry.js → p-592db4a8.entry.js} +1 -1
- package/dist/ionic/{p-a9997b1b.entry.js → p-691fa8c7.entry.js} +1 -1
- package/dist/ionic/{p-38598652.entry.js → p-6bd192d8.entry.js} +1 -1
- package/dist/ionic/{p-d887000e.entry.js → p-7a6c96ca.entry.js} +1 -1
- package/dist/ionic/{p-df87cf2d.entry.js → p-832b6c90.entry.js} +1 -1
- package/dist/ionic/p-8c496d65.entry.js +4 -0
- package/dist/ionic/{p-46c15fe2.entry.js → p-8d7afec5.entry.js} +1 -1
- package/dist/ionic/{p-93996b12.entry.js → p-920540c6.entry.js} +1 -1
- package/dist/ionic/{p-e471e1e5.entry.js → p-9262223a.entry.js} +1 -1
- package/dist/ionic/{p-5fb997f8.entry.js → p-96d912f5.entry.js} +1 -1
- package/dist/ionic/{p-49122d48.entry.js → p-98f759e4.entry.js} +1 -1
- package/dist/ionic/{p-c19bc276.entry.js → p-99cc16fb.entry.js} +1 -1
- package/dist/ionic/{p-46a1ce99.entry.js → p-9c7d7711.entry.js} +1 -1
- package/dist/ionic/p-B7Khsp7D.js +4 -0
- package/dist/ionic/{p-DCstKNei.js → p-BBMlbfDQ.js} +1 -1
- package/dist/ionic/{p-LpklIrOy.js → p-BC2IYr2c.js} +1 -1
- package/dist/ionic/{p-Uz6zKimy.js → p-CGyDG2ar.js} +1 -1
- package/dist/ionic/p-CO_y91jJ.js +4 -0
- package/dist/ionic/{p-DPhSdjFK.js → p-CjUUcfjC.js} +1 -1
- package/dist/ionic/{p-Dnc554yu.js → p-CuVupNFU.js} +1 -1
- package/dist/ionic/{p-BSMFLyVh.js → p-DYqTiW2v.js} +1 -1
- package/dist/ionic/p-DjV8cNim.js +4 -0
- package/dist/ionic/{p-484073b5.entry.js → p-a20a15cc.entry.js} +1 -1
- package/dist/ionic/{p-5b8abc2f.entry.js → p-a22fe54d.entry.js} +1 -1
- package/dist/ionic/p-a6db87e1.entry.js +4 -0
- package/dist/ionic/{p-38dcbd40.entry.js → p-b18a4590.entry.js} +1 -1
- package/dist/ionic/{p-aeb7297a.entry.js → p-bc84650a.entry.js} +1 -1
- package/dist/ionic/p-bf6b00ab.entry.js +4 -0
- package/dist/ionic/{p-a26637b1.entry.js → p-c1b0e3b6.entry.js} +1 -1
- package/dist/ionic/{p-4119d144.entry.js → p-cde545fa.entry.js} +1 -1
- package/dist/ionic/{p-ce26cd7d.entry.js → p-d4742f5c.entry.js} +1 -1
- package/dist/ionic/{p-e426331f.entry.js → p-da105dce.entry.js} +1 -1
- package/dist/ionic/{p-a4bcf305.entry.js → p-e2d9c488.entry.js} +1 -1
- package/dist/ionic/{p-8dda7cd4.entry.js → p-e5495b3b.entry.js} +1 -1
- package/dist/ionic/{p-1a19090e.entry.js → p-e83ead65.entry.js} +1 -1
- package/dist/ionic/{p-a178af33.entry.js → p-ed36aee8.entry.js} +1 -1
- package/dist/ionic/{p-e5e82fa5.entry.js → p-ee504ce4.entry.js} +1 -1
- package/dist/ionic/{p-ade7bda6.entry.js → p-eec040ff.entry.js} +1 -1
- package/dist/ionic/{p-0434efbb.entry.js → p-f331dda5.entry.js} +1 -1
- package/dist/ionic/{p-d77d0b41.entry.js → p-f35cb090.entry.js} +1 -1
- package/dist/ionic/{p-99c93730.entry.js → p-fb714eec.entry.js} +1 -1
- package/dist/ionic/{p-c3abde95.entry.js → p-fd156864.entry.js} +1 -1
- package/dist/ionic/{p-0c2a069d.entry.js → p-ff88b250.entry.js} +1 -1
- package/dist/ionic/{p-CgRZM5_E.js → p-wsLGfiE0.js} +1 -1
- package/dist/types/components/input-otp/input-otp-interface.d.ts +21 -0
- package/dist/types/components/input-otp/input-otp.d.ts +270 -0
- package/dist/types/components.d.ts +167 -0
- package/dist/types/interface.d.ts +1 -0
- package/hydrate/index.js +701 -101
- package/hydrate/index.mjs +701 -101
- package/package.json +1 -1
- package/dist/ionic/p-07a47eb6.entry.js +0 -4
- package/dist/ionic/p-46f82b82.entry.js +0 -4
- package/dist/ionic/p-5459e444.entry.js +0 -4
- package/dist/ionic/p-83fdd9f6.entry.js +0 -4
- package/dist/ionic/p-CqNf-A5G.js +0 -4
- package/dist/ionic/p-DWFxQD6t.js +0 -4
- package/dist/ionic/p-EglNvYQn.js +0 -4
package/hydrate/index.js
CHANGED
|
@@ -2874,6 +2874,9 @@ var setContentReference = (elm) => {
|
|
|
2874
2874
|
contentRefElm["s-cn"] = true;
|
|
2875
2875
|
insertBefore(elm, contentRefElm, elm.firstChild);
|
|
2876
2876
|
};
|
|
2877
|
+
|
|
2878
|
+
// src/runtime/fragment.ts
|
|
2879
|
+
var Fragment = (_, children) => children;
|
|
2877
2880
|
var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
|
|
2878
2881
|
if (listeners && win$2.document) {
|
|
2879
2882
|
listeners.map(([flags, name, method]) => {
|
|
@@ -16411,7 +16414,7 @@ class Input {
|
|
|
16411
16414
|
this.ionChange = createEvent(this, "ionChange", 7);
|
|
16412
16415
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
16413
16416
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
16414
|
-
this.inputId = `ion-input-${inputIds++}`;
|
|
16417
|
+
this.inputId = `ion-input-${inputIds$1++}`;
|
|
16415
16418
|
this.helperTextId = `${this.inputId}-helper-text`;
|
|
16416
16419
|
this.errorTextId = `${this.inputId}-error-text`;
|
|
16417
16420
|
this.inheritedAttributes = {};
|
|
@@ -16867,14 +16870,22 @@ class Input {
|
|
|
16867
16870
|
'in-item': inItem,
|
|
16868
16871
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
16869
16872
|
'input-disabled': disabled,
|
|
16870
|
-
}) }, hAsync("label", { key: '697c6decb1fb8403777db7a37f54853863421ad9', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: 'd35f44c3afcf8e075f7f845416cb8500606d3546', class: "native-wrapper" }, hAsync("slot", { key: '41ef868873ffd8262d53fd1a5e506c62030dc3f1', name: "start" }), hAsync("input", Object.assign({ key: 'd98e0aaa285b5424e9589ce36ed4f9910a6859cd', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '
|
|
16873
|
+
}) }, hAsync("label", { key: '697c6decb1fb8403777db7a37f54853863421ad9', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: 'd35f44c3afcf8e075f7f845416cb8500606d3546', class: "native-wrapper" }, hAsync("slot", { key: '41ef868873ffd8262d53fd1a5e506c62030dc3f1', name: "start" }), hAsync("input", Object.assign({ key: 'd98e0aaa285b5424e9589ce36ed4f9910a6859cd', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '367d1a1c2eb69d4887fe29ab96ead3230d7dd513', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
16871
16874
|
/**
|
|
16872
16875
|
* This prevents mobile browsers from
|
|
16873
16876
|
* blurring the input when the clear
|
|
16874
16877
|
* button is activated.
|
|
16875
16878
|
*/
|
|
16876
16879
|
ev.preventDefault();
|
|
16877
|
-
},
|
|
16880
|
+
}, onFocusin: (ev) => {
|
|
16881
|
+
/**
|
|
16882
|
+
* Prevent the focusin event from bubbling otherwise it will cause the focusin
|
|
16883
|
+
* event listener in scroll assist to fire. When this fires, focus will be moved
|
|
16884
|
+
* back to the input even if the clear button was never tapped. This poses issues
|
|
16885
|
+
* for screen readers as it means users would be unable to swipe past the clear button.
|
|
16886
|
+
*/
|
|
16887
|
+
ev.stopPropagation();
|
|
16888
|
+
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '69afc5c7ea6bfa1bff301635281b536e84277965', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '6f770a0ab703b4d19e936a0e1955274bc9f3e941', name: "end" })), shouldRenderHighlight && hAsync("div", { key: 'a048e240432c4d5e11b2c92fa99a0cff07f9a778', class: "input-highlight" })), this.renderBottomContent()));
|
|
16878
16889
|
}
|
|
16879
16890
|
get el() { return getElement(this); }
|
|
16880
16891
|
static get watchers() { return {
|
|
@@ -16934,6 +16945,594 @@ class Input {
|
|
|
16934
16945
|
"$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
|
|
16935
16946
|
}; }
|
|
16936
16947
|
}
|
|
16948
|
+
let inputIds$1 = 0;
|
|
16949
|
+
|
|
16950
|
+
const inputOtpIosCss = ".sc-ion-input-otp-ios-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-ios{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-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);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-ios{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-ios{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-separator.sc-ion-input-otp-ios{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-ios-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:8px}.input-otp-size-medium.sc-ion-input-otp-ios-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-ios-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios,.input-otp-size-large.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:12px}.input-otp-shape-round.sc-ion-input-otp-ios-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-ios-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-ios-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-ios-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-disabled.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-ios-h,.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-ios-h{--border-width:0.55px}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-width:1px}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}";
|
|
16951
|
+
|
|
16952
|
+
const inputOtpMdCss = ".sc-ion-input-otp-md-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-md{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-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);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-md{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-md{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-separator.sc-ion-input-otp-md{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-md-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:8px}.input-otp-size-medium.sc-ion-input-otp-md-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-md-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md,.input-otp-size-large.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:12px}.input-otp-shape-round.sc-ion-input-otp-md-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-md-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-md-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-md-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-md-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-disabled.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-md-h,.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-md-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-md-h{--border-width:1px}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-width:2px}.input-otp-fill-outline.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3))}";
|
|
16953
|
+
|
|
16954
|
+
class InputOTP {
|
|
16955
|
+
constructor(hostRef) {
|
|
16956
|
+
registerInstance(this, hostRef);
|
|
16957
|
+
this.ionInput = createEvent(this, "ionInput", 7);
|
|
16958
|
+
this.ionChange = createEvent(this, "ionChange", 7);
|
|
16959
|
+
this.ionComplete = createEvent(this, "ionComplete", 7);
|
|
16960
|
+
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
16961
|
+
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
16962
|
+
this.inputRefs = [];
|
|
16963
|
+
this.inputId = `ion-input-otp-${inputIds++}`;
|
|
16964
|
+
this.parsedSeparators = [];
|
|
16965
|
+
/**
|
|
16966
|
+
* Tracks whether the user is navigating through input boxes using keyboard navigation
|
|
16967
|
+
* (arrow keys, tab) versus mouse clicks. This is used to determine the appropriate
|
|
16968
|
+
* focus behavior when an input box is focused.
|
|
16969
|
+
*/
|
|
16970
|
+
this.isKeyboardNavigation = false;
|
|
16971
|
+
this.inputValues = [];
|
|
16972
|
+
this.hasFocus = false;
|
|
16973
|
+
/**
|
|
16974
|
+
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
16975
|
+
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
16976
|
+
*/
|
|
16977
|
+
this.autocapitalize = 'off';
|
|
16978
|
+
/**
|
|
16979
|
+
* If `true`, the user cannot interact with the input.
|
|
16980
|
+
*/
|
|
16981
|
+
this.disabled = false;
|
|
16982
|
+
/**
|
|
16983
|
+
* The fill for the input boxes. If `"solid"` the input boxes will have a background. If
|
|
16984
|
+
* `"outline"` the input boxes will be transparent with a border.
|
|
16985
|
+
*/
|
|
16986
|
+
this.fill = 'outline';
|
|
16987
|
+
/**
|
|
16988
|
+
* The number of input boxes to display.
|
|
16989
|
+
*/
|
|
16990
|
+
this.length = 4;
|
|
16991
|
+
/**
|
|
16992
|
+
* If `true`, the user cannot modify the value.
|
|
16993
|
+
*/
|
|
16994
|
+
this.readonly = false;
|
|
16995
|
+
/**
|
|
16996
|
+
* The size of the input boxes.
|
|
16997
|
+
*/
|
|
16998
|
+
this.size = 'medium';
|
|
16999
|
+
/**
|
|
17000
|
+
* The shape of the input boxes.
|
|
17001
|
+
* If "round" they will have an increased border radius.
|
|
17002
|
+
* If "rectangular" they will have no border radius.
|
|
17003
|
+
* If "soft" they will have a soft border radius.
|
|
17004
|
+
*/
|
|
17005
|
+
this.shape = 'round';
|
|
17006
|
+
/**
|
|
17007
|
+
* The type of input allowed in the input boxes.
|
|
17008
|
+
*/
|
|
17009
|
+
this.type = 'number';
|
|
17010
|
+
/**
|
|
17011
|
+
* The value of the input group.
|
|
17012
|
+
*/
|
|
17013
|
+
this.value = '';
|
|
17014
|
+
this.onInput = (index) => (event) => {
|
|
17015
|
+
const { validKeys } = this;
|
|
17016
|
+
const value = event.target.value;
|
|
17017
|
+
// Only allow input if it's a single character and matches the pattern
|
|
17018
|
+
if (value.length > 1 || (value.length > 0 && !validKeys.test(value))) {
|
|
17019
|
+
// Reset the input value if not valid
|
|
17020
|
+
this.inputRefs[index].value = '';
|
|
17021
|
+
this.inputValues[index] = '';
|
|
17022
|
+
return;
|
|
17023
|
+
}
|
|
17024
|
+
// Find the first empty box before or at the current index
|
|
17025
|
+
let targetIndex = index;
|
|
17026
|
+
for (let i = 0; i < index; i++) {
|
|
17027
|
+
if (!this.inputValues[i] || this.inputValues[i] === '') {
|
|
17028
|
+
targetIndex = i;
|
|
17029
|
+
break;
|
|
17030
|
+
}
|
|
17031
|
+
}
|
|
17032
|
+
// Set the value at the target index
|
|
17033
|
+
this.inputValues[targetIndex] = value;
|
|
17034
|
+
// If the value was entered in a later box, clear the current box
|
|
17035
|
+
if (targetIndex !== index) {
|
|
17036
|
+
this.inputRefs[index].value = '';
|
|
17037
|
+
}
|
|
17038
|
+
if (value.length > 0) {
|
|
17039
|
+
this.focusNext(targetIndex);
|
|
17040
|
+
}
|
|
17041
|
+
this.updateValue(event);
|
|
17042
|
+
};
|
|
17043
|
+
/**
|
|
17044
|
+
* Handles keyboard navigation and input for the OTP component.
|
|
17045
|
+
*
|
|
17046
|
+
* Navigation:
|
|
17047
|
+
* - Backspace: Clears current input and moves to previous box if empty
|
|
17048
|
+
* - Arrow Left/Right: Moves focus between input boxes
|
|
17049
|
+
* - Tab: Allows normal tab navigation between components
|
|
17050
|
+
*
|
|
17051
|
+
* Input Behavior:
|
|
17052
|
+
* - Validates input against the allowed pattern
|
|
17053
|
+
* - When entering a key in a filled box:
|
|
17054
|
+
* - Shifts existing values right if there is room
|
|
17055
|
+
* - Updates the value of the input group
|
|
17056
|
+
* - Prevents default behavior to avoid automatic focus shift
|
|
17057
|
+
*/
|
|
17058
|
+
this.onKeyDown = (index) => (event) => {
|
|
17059
|
+
const { length } = this;
|
|
17060
|
+
const rtl = isRTL$1(this.el);
|
|
17061
|
+
const input = event.target;
|
|
17062
|
+
const isPasteShortcut = (event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'v';
|
|
17063
|
+
const isTextSelection = input.selectionStart !== input.selectionEnd;
|
|
17064
|
+
// Return if the key is the paste shortcut or the input value
|
|
17065
|
+
// text is selected and let the onPaste / onInput handler manage it
|
|
17066
|
+
if (isPasteShortcut || isTextSelection) {
|
|
17067
|
+
return;
|
|
17068
|
+
}
|
|
17069
|
+
if (event.key === 'Backspace') {
|
|
17070
|
+
if (this.inputValues[index]) {
|
|
17071
|
+
// Remove the value at the current index
|
|
17072
|
+
this.inputValues[index] = '';
|
|
17073
|
+
// Shift all values to the right of the current index left by one
|
|
17074
|
+
for (let i = index; i < length - 1; i++) {
|
|
17075
|
+
this.inputValues[i] = this.inputValues[i + 1];
|
|
17076
|
+
}
|
|
17077
|
+
// Clear the last box
|
|
17078
|
+
this.inputValues[length - 1] = '';
|
|
17079
|
+
// Update all inputRefs to match inputValues
|
|
17080
|
+
for (let i = 0; i < length; i++) {
|
|
17081
|
+
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
17082
|
+
}
|
|
17083
|
+
this.updateValue(event);
|
|
17084
|
+
event.preventDefault();
|
|
17085
|
+
}
|
|
17086
|
+
else if (!this.inputValues[index] && index > 0) {
|
|
17087
|
+
// If current input is empty, move to previous input
|
|
17088
|
+
this.focusPrevious(index);
|
|
17089
|
+
}
|
|
17090
|
+
}
|
|
17091
|
+
else if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
|
|
17092
|
+
this.isKeyboardNavigation = true;
|
|
17093
|
+
event.preventDefault();
|
|
17094
|
+
const isLeft = event.key === 'ArrowLeft';
|
|
17095
|
+
const shouldMoveNext = (isLeft && rtl) || (!isLeft && !rtl);
|
|
17096
|
+
// Only allow moving to the next input if the current has a value
|
|
17097
|
+
if (shouldMoveNext) {
|
|
17098
|
+
if (this.inputValues[index] && index < length - 1) {
|
|
17099
|
+
this.focusNext(index);
|
|
17100
|
+
}
|
|
17101
|
+
}
|
|
17102
|
+
else {
|
|
17103
|
+
this.focusPrevious(index);
|
|
17104
|
+
}
|
|
17105
|
+
}
|
|
17106
|
+
else if (event.key === 'Tab') {
|
|
17107
|
+
this.isKeyboardNavigation = true;
|
|
17108
|
+
// Let all tab events proceed normally
|
|
17109
|
+
return;
|
|
17110
|
+
}
|
|
17111
|
+
// If the input box contains a value and the key being
|
|
17112
|
+
// entered is a valid key for the input box update the value
|
|
17113
|
+
// and shift the values to the right if there is room.
|
|
17114
|
+
if (this.inputValues[index] && this.validKeys.test(event.key)) {
|
|
17115
|
+
if (!this.inputValues[length - 1]) {
|
|
17116
|
+
for (let i = length - 1; i > index; i--) {
|
|
17117
|
+
this.inputValues[i] = this.inputValues[i - 1];
|
|
17118
|
+
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
17119
|
+
}
|
|
17120
|
+
}
|
|
17121
|
+
this.inputValues[index] = event.key;
|
|
17122
|
+
this.inputRefs[index].value = event.key;
|
|
17123
|
+
this.updateValue(event);
|
|
17124
|
+
// Prevent default to avoid the browser from
|
|
17125
|
+
// automatically moving the focus to the next input
|
|
17126
|
+
event.preventDefault();
|
|
17127
|
+
}
|
|
17128
|
+
};
|
|
17129
|
+
/**
|
|
17130
|
+
* Handles pasting text into the input OTP component.
|
|
17131
|
+
* This function prevents the default paste behavior and
|
|
17132
|
+
* validates the pasted text against the allowed pattern.
|
|
17133
|
+
* It then updates the value of the input group and focuses
|
|
17134
|
+
* the next empty input after pasting.
|
|
17135
|
+
*/
|
|
17136
|
+
this.onPaste = (event) => {
|
|
17137
|
+
var _a, _b, _c;
|
|
17138
|
+
const { inputRefs, length, validKeys } = this;
|
|
17139
|
+
event.preventDefault();
|
|
17140
|
+
const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
|
|
17141
|
+
// If there is no pasted text, still emit the input change event
|
|
17142
|
+
// because this is how the native input element behaves
|
|
17143
|
+
// but return early because there is nothing to paste.
|
|
17144
|
+
if (!pastedText) {
|
|
17145
|
+
this.emitIonInput(event);
|
|
17146
|
+
return;
|
|
17147
|
+
}
|
|
17148
|
+
const validChars = pastedText
|
|
17149
|
+
.split('')
|
|
17150
|
+
.filter((char) => validKeys.test(char))
|
|
17151
|
+
.slice(0, length);
|
|
17152
|
+
// Find the first empty input
|
|
17153
|
+
const startIndex = this.getFirstEmptyIndex();
|
|
17154
|
+
// If all boxes are filled, start at 0
|
|
17155
|
+
const pasteStart = startIndex === -1 ? 0 : startIndex;
|
|
17156
|
+
validChars.forEach((char, index) => {
|
|
17157
|
+
const targetIndex = pasteStart + index;
|
|
17158
|
+
if (targetIndex < length) {
|
|
17159
|
+
this.inputRefs[targetIndex].value = char;
|
|
17160
|
+
this.inputValues[targetIndex] = char;
|
|
17161
|
+
}
|
|
17162
|
+
});
|
|
17163
|
+
this.updateValue(event);
|
|
17164
|
+
// Focus the next empty input after pasting
|
|
17165
|
+
// If all boxes are filled, focus the last input
|
|
17166
|
+
const nextEmptyIndex = pasteStart + validChars.length;
|
|
17167
|
+
if (nextEmptyIndex < length) {
|
|
17168
|
+
(_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
17169
|
+
}
|
|
17170
|
+
else {
|
|
17171
|
+
(_c = inputRefs[length - 1]) === null || _c === void 0 ? void 0 : _c.focus();
|
|
17172
|
+
}
|
|
17173
|
+
};
|
|
17174
|
+
/**
|
|
17175
|
+
* Handles the focus behavior for the input OTP component.
|
|
17176
|
+
*
|
|
17177
|
+
* Focus behavior:
|
|
17178
|
+
* 1. Keyboard navigation: Allow normal focus movement
|
|
17179
|
+
* 2. Mouse click:
|
|
17180
|
+
* - If clicked box has value: Focus that box
|
|
17181
|
+
* - If clicked box is empty: Focus first empty box
|
|
17182
|
+
*
|
|
17183
|
+
* Emits the `ionFocus` event when the input group gains focus.
|
|
17184
|
+
*/
|
|
17185
|
+
this.onFocus = (index) => (event) => {
|
|
17186
|
+
var _a;
|
|
17187
|
+
const { inputRefs } = this;
|
|
17188
|
+
// Only emit ionFocus and set the focusedValue when the
|
|
17189
|
+
// component first gains focus
|
|
17190
|
+
if (!this.hasFocus) {
|
|
17191
|
+
this.ionFocus.emit(event);
|
|
17192
|
+
this.focusedValue = this.value;
|
|
17193
|
+
}
|
|
17194
|
+
this.hasFocus = true;
|
|
17195
|
+
let finalIndex = index;
|
|
17196
|
+
if (!this.isKeyboardNavigation) {
|
|
17197
|
+
// If the clicked box has a value, focus it
|
|
17198
|
+
// Otherwise focus the first empty box
|
|
17199
|
+
const targetIndex = this.inputValues[index] ? index : this.getFirstEmptyIndex();
|
|
17200
|
+
finalIndex = targetIndex === -1 ? this.length - 1 : targetIndex;
|
|
17201
|
+
// Focus the target box
|
|
17202
|
+
(_a = this.inputRefs[finalIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17203
|
+
}
|
|
17204
|
+
// Update tabIndexes to match the focused box
|
|
17205
|
+
inputRefs.forEach((input, i) => {
|
|
17206
|
+
input.tabIndex = i === finalIndex ? 0 : -1;
|
|
17207
|
+
});
|
|
17208
|
+
// Reset the keyboard navigation flag
|
|
17209
|
+
this.isKeyboardNavigation = false;
|
|
17210
|
+
};
|
|
17211
|
+
/**
|
|
17212
|
+
* Handles the blur behavior for the input OTP component.
|
|
17213
|
+
* Emits the `ionBlur` event when the input group loses focus.
|
|
17214
|
+
*/
|
|
17215
|
+
this.onBlur = (event) => {
|
|
17216
|
+
const { inputRefs } = this;
|
|
17217
|
+
const relatedTarget = event.relatedTarget;
|
|
17218
|
+
// Do not emit blur if we're moving to another input box in the same component
|
|
17219
|
+
const isInternalFocus = relatedTarget != null && inputRefs.includes(relatedTarget);
|
|
17220
|
+
if (!isInternalFocus) {
|
|
17221
|
+
this.hasFocus = false;
|
|
17222
|
+
// Reset tabIndexes when focus leaves the component
|
|
17223
|
+
this.updateTabIndexes();
|
|
17224
|
+
// Always emit ionBlur when focus leaves the component
|
|
17225
|
+
this.ionBlur.emit(event);
|
|
17226
|
+
// Only emit ionChange if the value has actually changed
|
|
17227
|
+
if (this.focusedValue !== this.value) {
|
|
17228
|
+
this.emitIonChange(event);
|
|
17229
|
+
}
|
|
17230
|
+
}
|
|
17231
|
+
};
|
|
17232
|
+
}
|
|
17233
|
+
valueChanged() {
|
|
17234
|
+
this.initializeValues();
|
|
17235
|
+
}
|
|
17236
|
+
/**
|
|
17237
|
+
* Processes the separators prop into an array of numbers.
|
|
17238
|
+
*
|
|
17239
|
+
* If the separators prop is not provided, returns an empty array.
|
|
17240
|
+
* If the separators prop is 'all', returns an array of all valid positions (1 to length-1).
|
|
17241
|
+
* If the separators prop is an array, returns it as is.
|
|
17242
|
+
* If the separators prop is a string, splits it by commas and parses each part as a number.
|
|
17243
|
+
*
|
|
17244
|
+
* If the separators are greater than the input length, it will warn and ignore the separators.
|
|
17245
|
+
*/
|
|
17246
|
+
processSeparators() {
|
|
17247
|
+
const { separators, length } = this;
|
|
17248
|
+
if (separators === undefined) {
|
|
17249
|
+
this.parsedSeparators = [];
|
|
17250
|
+
return;
|
|
17251
|
+
}
|
|
17252
|
+
if (typeof separators === 'string' && separators !== 'all') {
|
|
17253
|
+
const isValidFormat = /^(\d+)(,\d+)*$/.test(separators);
|
|
17254
|
+
if (!isValidFormat) {
|
|
17255
|
+
printIonWarning(`[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: ${separators}`, this.el);
|
|
17256
|
+
this.parsedSeparators = [];
|
|
17257
|
+
return;
|
|
17258
|
+
}
|
|
17259
|
+
}
|
|
17260
|
+
let separatorValues;
|
|
17261
|
+
if (separators === 'all') {
|
|
17262
|
+
separatorValues = Array.from({ length: length - 1 }, (_, i) => i + 1);
|
|
17263
|
+
}
|
|
17264
|
+
else if (Array.isArray(separators)) {
|
|
17265
|
+
separatorValues = separators;
|
|
17266
|
+
}
|
|
17267
|
+
else {
|
|
17268
|
+
separatorValues = separators
|
|
17269
|
+
.split(',')
|
|
17270
|
+
.map((pos) => parseInt(pos, 10))
|
|
17271
|
+
.filter((pos) => !isNaN(pos));
|
|
17272
|
+
}
|
|
17273
|
+
// Check for duplicate separator positions
|
|
17274
|
+
const duplicates = separatorValues.filter((pos, index) => separatorValues.indexOf(pos) !== index);
|
|
17275
|
+
if (duplicates.length > 0) {
|
|
17276
|
+
printIonWarning(`[ion-input-otp] - Duplicate separator positions are not allowed. Received: ${separators}`, this.el);
|
|
17277
|
+
}
|
|
17278
|
+
const invalidSeparators = separatorValues.filter((pos) => pos > length);
|
|
17279
|
+
if (invalidSeparators.length > 0) {
|
|
17280
|
+
printIonWarning(`[ion-input-otp] - The following separator positions are greater than the input length (${length}): ${invalidSeparators.join(', ')}. These separators will be ignored.`, this.el);
|
|
17281
|
+
}
|
|
17282
|
+
this.parsedSeparators = separatorValues.filter((pos) => pos <= length);
|
|
17283
|
+
}
|
|
17284
|
+
componentWillLoad() {
|
|
17285
|
+
this.processSeparators();
|
|
17286
|
+
this.initializeValues();
|
|
17287
|
+
}
|
|
17288
|
+
/**
|
|
17289
|
+
* Initializes the input values array based on the current value prop.
|
|
17290
|
+
* This splits the value into individual characters and validates them against
|
|
17291
|
+
* the allowed pattern. The values are then used as the values in the native
|
|
17292
|
+
* input boxes and the value of the input group is updated.
|
|
17293
|
+
*/
|
|
17294
|
+
initializeValues() {
|
|
17295
|
+
if (this.value != null && String(this.value).length > 0) {
|
|
17296
|
+
const chars = String(this.value).split('').slice(0, this.length);
|
|
17297
|
+
chars.forEach((char, index) => {
|
|
17298
|
+
if (this.validKeys.test(char)) {
|
|
17299
|
+
this.inputValues[index] = char;
|
|
17300
|
+
}
|
|
17301
|
+
});
|
|
17302
|
+
// Update the value without emitting events
|
|
17303
|
+
this.value = this.inputValues.join('');
|
|
17304
|
+
}
|
|
17305
|
+
}
|
|
17306
|
+
/**
|
|
17307
|
+
* Resets the input values and focus state.
|
|
17308
|
+
*/
|
|
17309
|
+
async reset() {
|
|
17310
|
+
this.inputValues = Array(this.length).fill('');
|
|
17311
|
+
this.value = '';
|
|
17312
|
+
this.focusedValue = null;
|
|
17313
|
+
this.hasFocus = false;
|
|
17314
|
+
this.inputRefs.forEach((input) => {
|
|
17315
|
+
input.blur();
|
|
17316
|
+
});
|
|
17317
|
+
this.updateTabIndexes();
|
|
17318
|
+
}
|
|
17319
|
+
/**
|
|
17320
|
+
* Sets focus to an input box.
|
|
17321
|
+
* @param index - The index of the input box to focus (0-based).
|
|
17322
|
+
* If provided and the input box has a value, the input box at that index will be focused.
|
|
17323
|
+
* Otherwise, the first empty input box or the last input if all are filled will be focused.
|
|
17324
|
+
*/
|
|
17325
|
+
async setFocus(index) {
|
|
17326
|
+
var _a, _b;
|
|
17327
|
+
if (typeof index === 'number') {
|
|
17328
|
+
const validIndex = Math.max(0, Math.min(index, this.length - 1));
|
|
17329
|
+
(_a = this.inputRefs[validIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17330
|
+
}
|
|
17331
|
+
else {
|
|
17332
|
+
const tabbableIndex = this.getTabbableIndex();
|
|
17333
|
+
(_b = this.inputRefs[tabbableIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
17334
|
+
}
|
|
17335
|
+
}
|
|
17336
|
+
/**
|
|
17337
|
+
* Get the regex pattern for allowed characters.
|
|
17338
|
+
* If a pattern is provided, use it to create a regex pattern
|
|
17339
|
+
* Otherwise, use the default regex pattern based on type
|
|
17340
|
+
*/
|
|
17341
|
+
get validKeys() {
|
|
17342
|
+
return new RegExp(`^${this.getPattern()}$`);
|
|
17343
|
+
}
|
|
17344
|
+
/**
|
|
17345
|
+
* Gets the string pattern to pass to the input element
|
|
17346
|
+
* and use in the regex for allowed characters.
|
|
17347
|
+
*/
|
|
17348
|
+
getPattern() {
|
|
17349
|
+
const { pattern, type } = this;
|
|
17350
|
+
if (pattern) {
|
|
17351
|
+
return pattern;
|
|
17352
|
+
}
|
|
17353
|
+
return type === 'number' ? '[0-9]' : '[a-zA-Z0-9]';
|
|
17354
|
+
}
|
|
17355
|
+
/**
|
|
17356
|
+
* Get the default value for inputmode.
|
|
17357
|
+
* If inputmode is provided, use it.
|
|
17358
|
+
* Otherwise, use the default inputmode based on type
|
|
17359
|
+
*/
|
|
17360
|
+
getInputmode() {
|
|
17361
|
+
const { inputmode } = this;
|
|
17362
|
+
if (inputmode) {
|
|
17363
|
+
return inputmode;
|
|
17364
|
+
}
|
|
17365
|
+
if (this.type == 'number') {
|
|
17366
|
+
return 'numeric';
|
|
17367
|
+
}
|
|
17368
|
+
else {
|
|
17369
|
+
return 'text';
|
|
17370
|
+
}
|
|
17371
|
+
}
|
|
17372
|
+
/**
|
|
17373
|
+
* Updates the value of the input group.
|
|
17374
|
+
* This updates the value of the input group and emits an `ionChange` event.
|
|
17375
|
+
* If all of the input boxes are filled, it emits an `ionComplete` event.
|
|
17376
|
+
*/
|
|
17377
|
+
updateValue(event) {
|
|
17378
|
+
const { inputValues, length } = this;
|
|
17379
|
+
const newValue = inputValues.join('');
|
|
17380
|
+
this.value = newValue;
|
|
17381
|
+
this.emitIonInput(event);
|
|
17382
|
+
if (newValue.length === length) {
|
|
17383
|
+
this.ionComplete.emit({ value: newValue });
|
|
17384
|
+
}
|
|
17385
|
+
}
|
|
17386
|
+
/**
|
|
17387
|
+
* Emits an `ionChange` event.
|
|
17388
|
+
* This API should be called for user committed changes.
|
|
17389
|
+
* This API should not be used for external value changes.
|
|
17390
|
+
*/
|
|
17391
|
+
emitIonChange(event) {
|
|
17392
|
+
const { value } = this;
|
|
17393
|
+
// Checks for both null and undefined values
|
|
17394
|
+
const newValue = value == null ? value : value.toString();
|
|
17395
|
+
this.ionChange.emit({ value: newValue, event });
|
|
17396
|
+
}
|
|
17397
|
+
/**
|
|
17398
|
+
* Emits an `ionInput` event.
|
|
17399
|
+
* This is used to emit the input value when the user types,
|
|
17400
|
+
* backspaces, or pastes.
|
|
17401
|
+
*/
|
|
17402
|
+
emitIonInput(event) {
|
|
17403
|
+
const { value } = this;
|
|
17404
|
+
// Checks for both null and undefined values
|
|
17405
|
+
const newValue = value == null ? value : value.toString();
|
|
17406
|
+
this.ionInput.emit({ value: newValue, event });
|
|
17407
|
+
}
|
|
17408
|
+
/**
|
|
17409
|
+
* Focuses the next input box.
|
|
17410
|
+
*/
|
|
17411
|
+
focusNext(currentIndex) {
|
|
17412
|
+
var _a;
|
|
17413
|
+
const { inputRefs, length } = this;
|
|
17414
|
+
if (currentIndex < length - 1) {
|
|
17415
|
+
(_a = inputRefs[currentIndex + 1]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17416
|
+
}
|
|
17417
|
+
}
|
|
17418
|
+
/**
|
|
17419
|
+
* Focuses the previous input box.
|
|
17420
|
+
*/
|
|
17421
|
+
focusPrevious(currentIndex) {
|
|
17422
|
+
var _a;
|
|
17423
|
+
const { inputRefs } = this;
|
|
17424
|
+
if (currentIndex > 0) {
|
|
17425
|
+
(_a = inputRefs[currentIndex - 1]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17426
|
+
}
|
|
17427
|
+
}
|
|
17428
|
+
/**
|
|
17429
|
+
* Determines if a separator should be shown for a given index by
|
|
17430
|
+
* checking if the index is included in the parsed separators array.
|
|
17431
|
+
*/
|
|
17432
|
+
showSeparator(index) {
|
|
17433
|
+
const { length } = this;
|
|
17434
|
+
return this.parsedSeparators.includes(index + 1) && index < length - 1;
|
|
17435
|
+
}
|
|
17436
|
+
/**
|
|
17437
|
+
* Updates the tabIndexes for the input boxes.
|
|
17438
|
+
* This is used to ensure that the correct input is
|
|
17439
|
+
* focused when the user navigates using the tab key.
|
|
17440
|
+
*/
|
|
17441
|
+
updateTabIndexes() {
|
|
17442
|
+
const { inputRefs, inputValues, length } = this;
|
|
17443
|
+
// Find first empty index after any filled boxes
|
|
17444
|
+
let firstEmptyIndex = -1;
|
|
17445
|
+
for (let i = 0; i < length; i++) {
|
|
17446
|
+
if (!inputValues[i] || inputValues[i] === '') {
|
|
17447
|
+
firstEmptyIndex = i;
|
|
17448
|
+
break;
|
|
17449
|
+
}
|
|
17450
|
+
}
|
|
17451
|
+
// Update tabIndex for all inputs
|
|
17452
|
+
inputRefs.forEach((input, index) => {
|
|
17453
|
+
// If all boxes are filled, make the last box tabbable
|
|
17454
|
+
// Otherwise, make the first empty box tabbable
|
|
17455
|
+
const shouldBeTabbable = firstEmptyIndex === -1 ? index === length - 1 : firstEmptyIndex === index;
|
|
17456
|
+
input.tabIndex = shouldBeTabbable ? 0 : -1;
|
|
17457
|
+
});
|
|
17458
|
+
}
|
|
17459
|
+
/**
|
|
17460
|
+
* Loops through the input values and returns the index
|
|
17461
|
+
* of the first empty input.
|
|
17462
|
+
* Returns -1 if all inputs are filled.
|
|
17463
|
+
*/
|
|
17464
|
+
getFirstEmptyIndex() {
|
|
17465
|
+
const { inputValues, length } = this;
|
|
17466
|
+
for (let i = 0; i < length; i++) {
|
|
17467
|
+
if (!inputValues[i] || inputValues[i] === '') {
|
|
17468
|
+
return i;
|
|
17469
|
+
}
|
|
17470
|
+
}
|
|
17471
|
+
return -1;
|
|
17472
|
+
}
|
|
17473
|
+
/**
|
|
17474
|
+
* Returns the index of the input that should be tabbed to.
|
|
17475
|
+
* If all inputs are filled, returns the last input's index.
|
|
17476
|
+
* Otherwise, returns the index of the first empty input.
|
|
17477
|
+
*/
|
|
17478
|
+
getTabbableIndex() {
|
|
17479
|
+
const { length } = this;
|
|
17480
|
+
const firstEmptyIndex = this.getFirstEmptyIndex();
|
|
17481
|
+
return firstEmptyIndex === -1 ? length - 1 : firstEmptyIndex;
|
|
17482
|
+
}
|
|
17483
|
+
render() {
|
|
17484
|
+
const { autocapitalize, color, disabled, fill, hasFocus, inputId, inputRefs, inputValues, length, readonly, shape, size, } = this;
|
|
17485
|
+
const mode = getIonMode$1(this);
|
|
17486
|
+
const inputmode = this.getInputmode();
|
|
17487
|
+
const tabbableIndex = this.getTabbableIndex();
|
|
17488
|
+
const pattern = this.getPattern();
|
|
17489
|
+
return (hAsync(Host, { key: '74de5578f268fe055f85dd2edae519e744555a2c', class: createColorClasses$1(color, {
|
|
17490
|
+
[mode]: true,
|
|
17491
|
+
'has-focus': hasFocus,
|
|
17492
|
+
[`input-otp-size-${size}`]: true,
|
|
17493
|
+
[`input-otp-shape-${shape}`]: true,
|
|
17494
|
+
[`input-otp-fill-${fill}`]: true,
|
|
17495
|
+
'input-otp-disabled': disabled,
|
|
17496
|
+
'input-otp-readonly': readonly,
|
|
17497
|
+
}) }, hAsync("div", { key: '0990a8817aac2d540228aeee4c6a42239f4aedaa', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper" }, hAsync("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: 'e2c0fcfc7630d58360304d6e7b21b2e9a01971f6', class: "input-otp-description" }, hAsync("slot", { key: '9ba61fd056e67d5e1933f0b16f43e8a55de5319d' }))));
|
|
17498
|
+
}
|
|
17499
|
+
get el() { return getElement(this); }
|
|
17500
|
+
static get watchers() { return {
|
|
17501
|
+
"value": ["valueChanged"],
|
|
17502
|
+
"separators": ["processSeparators"],
|
|
17503
|
+
"length": ["processSeparators"]
|
|
17504
|
+
}; }
|
|
17505
|
+
static get style() { return {
|
|
17506
|
+
ios: inputOtpIosCss,
|
|
17507
|
+
md: inputOtpMdCss
|
|
17508
|
+
}; }
|
|
17509
|
+
static get cmpMeta() { return {
|
|
17510
|
+
"$flags$": 38,
|
|
17511
|
+
"$tagName$": "ion-input-otp",
|
|
17512
|
+
"$members$": {
|
|
17513
|
+
"autocapitalize": [1],
|
|
17514
|
+
"color": [513],
|
|
17515
|
+
"disabled": [516],
|
|
17516
|
+
"fill": [1],
|
|
17517
|
+
"inputmode": [1],
|
|
17518
|
+
"length": [2],
|
|
17519
|
+
"pattern": [1],
|
|
17520
|
+
"readonly": [516],
|
|
17521
|
+
"size": [1],
|
|
17522
|
+
"separators": [1],
|
|
17523
|
+
"shape": [1],
|
|
17524
|
+
"type": [1],
|
|
17525
|
+
"value": [1032],
|
|
17526
|
+
"inputValues": [32],
|
|
17527
|
+
"hasFocus": [32],
|
|
17528
|
+
"reset": [64],
|
|
17529
|
+
"setFocus": [64]
|
|
17530
|
+
},
|
|
17531
|
+
"$listeners$": undefined,
|
|
17532
|
+
"$lazyBundleId$": "-",
|
|
17533
|
+
"$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
|
|
17534
|
+
}; }
|
|
17535
|
+
}
|
|
16937
17536
|
let inputIds = 0;
|
|
16938
17537
|
|
|
16939
17538
|
const iosInputPasswordToggleCss = "";
|
|
@@ -16995,16 +17594,16 @@ class InputPasswordToggle {
|
|
|
16995
17594
|
const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
|
|
16996
17595
|
const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
|
|
16997
17596
|
const isPasswordVisible = type === 'text';
|
|
16998
|
-
return (hAsync(Host, { key: '
|
|
17597
|
+
return (hAsync(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses$1(color, {
|
|
16999
17598
|
[mode]: true,
|
|
17000
|
-
}) }, hAsync("ion-button", { key: '
|
|
17599
|
+
}) }, hAsync("ion-button", { key: '99f86e2ee97ffa6dbc74a433df4e22a867889dd7', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
|
|
17001
17600
|
/**
|
|
17002
17601
|
* This prevents mobile browsers from
|
|
17003
17602
|
* blurring the input when the password toggle
|
|
17004
17603
|
* button is activated.
|
|
17005
17604
|
*/
|
|
17006
17605
|
ev.preventDefault();
|
|
17007
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
17606
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'e7656040b08c6a394d56f1fc41d6ca34225287d2', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
|
|
17008
17607
|
}
|
|
17009
17608
|
get el() { return getElement(this); }
|
|
17010
17609
|
static get watchers() { return {
|
|
@@ -17314,11 +17913,11 @@ class ItemDivider {
|
|
|
17314
17913
|
}
|
|
17315
17914
|
render() {
|
|
17316
17915
|
const mode = getIonMode$1(this);
|
|
17317
|
-
return (hAsync(Host, { key: '
|
|
17916
|
+
return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
|
|
17318
17917
|
[mode]: true,
|
|
17319
17918
|
'item-divider-sticky': this.sticky,
|
|
17320
17919
|
item: true,
|
|
17321
|
-
}) }, hAsync("slot", { key: '
|
|
17920
|
+
}) }, hAsync("slot", { key: '39105d888e115416c3a3fe588da44b4c61f4e5fe', name: "start" }), hAsync("div", { key: '67e16f1056bd39187f3629c1bb383b7abbda829b', class: "item-divider-inner" }, hAsync("div", { key: 'b3a218fdcc7b9aeab6e0155340152d39fa0b6329', class: "item-divider-wrapper" }, hAsync("slot", { key: '69d8587533b387869d34b075d02f61396858fc90' })), hAsync("slot", { key: 'b91c654699b3b26d0012ea0c719c4a07d1fcfbaa', name: "end" }))));
|
|
17322
17921
|
}
|
|
17323
17922
|
get el() { return getElement(this); }
|
|
17324
17923
|
static get style() { return {
|
|
@@ -17348,7 +17947,7 @@ class ItemGroup {
|
|
|
17348
17947
|
}
|
|
17349
17948
|
render() {
|
|
17350
17949
|
const mode = getIonMode$1(this);
|
|
17351
|
-
return (hAsync(Host, { key: '
|
|
17950
|
+
return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
|
|
17352
17951
|
[mode]: true,
|
|
17353
17952
|
// Used internally for styling
|
|
17354
17953
|
[`item-group-${mode}`]: true,
|
|
@@ -17418,12 +18017,12 @@ class ItemOption {
|
|
|
17418
18017
|
href: this.href,
|
|
17419
18018
|
target: this.target,
|
|
17420
18019
|
};
|
|
17421
|
-
return (hAsync(Host, { key: '
|
|
18020
|
+
return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
17422
18021
|
[mode]: true,
|
|
17423
18022
|
'item-option-disabled': disabled,
|
|
17424
18023
|
'item-option-expandable': expandable,
|
|
17425
18024
|
'ion-activatable': true,
|
|
17426
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
18025
|
+
}) }, hAsync(TagType, Object.assign({ key: '5a7140eb99da5ec82fe2ea3ea134513130763399' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: '9b8577e612706b43e575c9a20f2f9d35c0d1bcb1', class: "button-inner" }, hAsync("slot", { key: '9acb82f04e4822bfaa363cc2c4d29d5c0fec0ad6', name: "top" }), hAsync("div", { key: '66f5fb4fdd0c39f205574c602c793dcf109c7a17', class: "horizontal-wrapper" }, hAsync("slot", { key: '3761a32bca7c6c41b7eb394045497cfde181a62a', name: "start" }), hAsync("slot", { key: 'a96a568955cf6962883dc6771726d3d07462da00', name: "icon-only" }), hAsync("slot", { key: 'af5dfe5eb41456b9359bafe3615b576617ed7b57' }), hAsync("slot", { key: '00426958066ab7b949ff966fabad5cf8a0b54079', name: "end" })), hAsync("slot", { key: 'ae66c8bd536a9f27865f49240980d7b4b831b229', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '30df6c935ef8a3f28a6bc1f3bb162ca4f80aaf26' }))));
|
|
17427
18026
|
}
|
|
17428
18027
|
get el() { return getElement(this); }
|
|
17429
18028
|
static get style() { return {
|
|
@@ -17472,7 +18071,7 @@ class ItemOptions {
|
|
|
17472
18071
|
render() {
|
|
17473
18072
|
const mode = getIonMode$1(this);
|
|
17474
18073
|
const isEnd = isEndSide(this.side);
|
|
17475
|
-
return (hAsync(Host, { key: '
|
|
18074
|
+
return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
|
|
17476
18075
|
[mode]: true,
|
|
17477
18076
|
// Used internally for styling
|
|
17478
18077
|
[`item-options-${mode}`]: true,
|
|
@@ -17936,7 +18535,7 @@ class ItemSliding {
|
|
|
17936
18535
|
}
|
|
17937
18536
|
render() {
|
|
17938
18537
|
const mode = getIonMode$1(this);
|
|
17939
|
-
return (hAsync(Host, { key: '
|
|
18538
|
+
return (hAsync(Host, { key: '9880396ad79e06117d572a27f92c4b753d1e26db', class: {
|
|
17940
18539
|
[mode]: true,
|
|
17941
18540
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
17942
18541
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -18041,13 +18640,13 @@ class Label {
|
|
|
18041
18640
|
render() {
|
|
18042
18641
|
const position = this.position;
|
|
18043
18642
|
const mode = getIonMode$1(this);
|
|
18044
|
-
return (hAsync(Host, { key: '
|
|
18643
|
+
return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
|
|
18045
18644
|
[mode]: true,
|
|
18046
18645
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
18047
18646
|
[`label-${position}`]: position !== undefined,
|
|
18048
18647
|
[`label-no-animate`]: this.noAnimate,
|
|
18049
18648
|
'label-rtl': document.dir === 'rtl',
|
|
18050
|
-
}) }, hAsync("slot", { key: '
|
|
18649
|
+
}) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
|
|
18051
18650
|
}
|
|
18052
18651
|
get el() { return getElement(this); }
|
|
18053
18652
|
static get watchers() { return {
|
|
@@ -18103,7 +18702,7 @@ class List {
|
|
|
18103
18702
|
render() {
|
|
18104
18703
|
const mode = getIonMode$1(this);
|
|
18105
18704
|
const { lines, inset } = this;
|
|
18106
|
-
return (hAsync(Host, { key: '
|
|
18705
|
+
return (hAsync(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
|
|
18107
18706
|
[mode]: true,
|
|
18108
18707
|
// Used internally for styling
|
|
18109
18708
|
[`list-${mode}`]: true,
|
|
@@ -18145,10 +18744,10 @@ class ListHeader {
|
|
|
18145
18744
|
render() {
|
|
18146
18745
|
const { lines } = this;
|
|
18147
18746
|
const mode = getIonMode$1(this);
|
|
18148
|
-
return (hAsync(Host, { key: '
|
|
18747
|
+
return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
|
|
18149
18748
|
[mode]: true,
|
|
18150
18749
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
18151
|
-
}) }, hAsync("div", { key: '
|
|
18750
|
+
}) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
|
|
18152
18751
|
}
|
|
18153
18752
|
static get style() { return {
|
|
18154
18753
|
ios: listHeaderIosCss,
|
|
@@ -18434,9 +19033,9 @@ class Loading {
|
|
|
18434
19033
|
* Otherwise, don't set aria-labelledby.
|
|
18435
19034
|
*/
|
|
18436
19035
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
18437
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
19036
|
+
return (hAsync(Host, Object.assign({ key: '6369ed244c06c39aa338141bffacf7a861d7da1a', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
18438
19037
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
18439
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
19038
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '1fd5fd8581d59eec321e534f9116f3ec0501010a', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'b4028045b0c8fbb9946136d85d939d55120b867c', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'b045fb0e61cc28e8163d45be18b431918dc27c80', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '2cf9df796f987d1251b3599d10a48ed87a1d0eb9', class: "loading-spinner" }, hAsync("ion-spinner", { key: '371cd41655402326adcb1e2fe1481009a83243b2', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '2a5e5e66d22ee4c1cef0c93815ef023d47e7a8eb', tabindex: "0", "aria-hidden": "true" })));
|
|
18440
19039
|
}
|
|
18441
19040
|
get el() { return getElement(this); }
|
|
18442
19041
|
static get watchers() { return {
|
|
@@ -19460,14 +20059,14 @@ class Menu {
|
|
|
19460
20059
|
* the ionBackButton listener in the menu controller
|
|
19461
20060
|
* will handle closing the menu when Escape is pressed.
|
|
19462
20061
|
*/
|
|
19463
|
-
return (hAsync(Host, { key: '
|
|
20062
|
+
return (hAsync(Host, { key: '9e4ae9476a76781f1d228395c9af9e1c39ec82bb', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
19464
20063
|
[mode]: true,
|
|
19465
20064
|
[`menu-type-${type}`]: true,
|
|
19466
20065
|
'menu-enabled': !disabled,
|
|
19467
20066
|
[`menu-side-${side}`]: true,
|
|
19468
20067
|
'menu-pane-visible': isPaneVisible,
|
|
19469
20068
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
19470
|
-
} }, hAsync("div", { key: '
|
|
20069
|
+
} }, hAsync("div", { key: 'c6153589d872ac7e3fdf5eedfdb858eb64ccd713', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '9994aac4b22f17db34c9b8b2aa56b8710b9df645' })), hAsync("ion-backdrop", { key: 'f09ac30cc4dd2dcb10628965e659dae5a23baf98', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
19471
20070
|
}
|
|
19472
20071
|
get el() { return getElement(this); }
|
|
19473
20072
|
static get watchers() { return {
|
|
@@ -19575,7 +20174,7 @@ class MenuButton {
|
|
|
19575
20174
|
type: this.type,
|
|
19576
20175
|
};
|
|
19577
20176
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
19578
|
-
return (hAsync(Host, { key: '
|
|
20177
|
+
return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
19579
20178
|
[mode]: true,
|
|
19580
20179
|
button: true, // ion-buttons target .button
|
|
19581
20180
|
'menu-button-hidden': hidden,
|
|
@@ -19584,7 +20183,7 @@ class MenuButton {
|
|
|
19584
20183
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
19585
20184
|
'ion-activatable': true,
|
|
19586
20185
|
'ion-focusable': true,
|
|
19587
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
20186
|
+
}) }, hAsync("button", Object.assign({ key: 'ffebf7083d23501839970059ef8e411b571de197' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: 'cab0c1c763b3ce33ef11dba1d230f66126e59424', class: "button-inner" }, hAsync("slot", { key: 'ccfd2be8479b75b5c63e97e1ca7dfe203e9b36ee' }, hAsync("ion-icon", { key: 'ac254fe7f327b08f1ae3fcea89d5cf0e83c9a96c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: 'f0f17c4ca96e3eed3c1727ee00578d40af8f0115', type: "unbounded" }))));
|
|
19588
20187
|
}
|
|
19589
20188
|
get el() { return getElement(this); }
|
|
19590
20189
|
static get style() { return {
|
|
@@ -19637,10 +20236,10 @@ class MenuToggle {
|
|
|
19637
20236
|
render() {
|
|
19638
20237
|
const mode = getIonMode$1(this);
|
|
19639
20238
|
const hidden = this.autoHide && !this.visible;
|
|
19640
|
-
return (hAsync(Host, { key: '
|
|
20239
|
+
return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
19641
20240
|
[mode]: true,
|
|
19642
20241
|
'menu-toggle-hidden': hidden,
|
|
19643
|
-
} }, hAsync("slot", { key: '
|
|
20242
|
+
} }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
|
|
19644
20243
|
}
|
|
19645
20244
|
static get style() { return menuToggleCss; }
|
|
19646
20245
|
static get cmpMeta() { return {
|
|
@@ -21972,18 +22571,18 @@ class Modal {
|
|
|
21972
22571
|
const mode = getIonMode$1(this);
|
|
21973
22572
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
21974
22573
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
21975
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
22574
|
+
return (hAsync(Host, Object.assign({ key: '0bcbdcfcd7d890eb599da3f97f21c317d34f8e0e', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
21976
22575
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
21977
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: '
|
|
22576
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: 'd72159e73daa5af7349aa9e8f695aa435eb43069', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'fd2d9b13676ae72473881649a397b6eacde03a03', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '908eccb1ad982dcde2dbcff0cbb18b6e60f8ba74',
|
|
21978
22577
|
/*
|
|
21979
22578
|
role and aria-modal must be used on the
|
|
21980
22579
|
same element. They must also be set inside the
|
|
21981
22580
|
shadow DOM otherwise ion-button will not be highlighted
|
|
21982
22581
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
21983
22582
|
*/
|
|
21984
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
22583
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '332dc0b40363a77c7be62331d9f26def91c790e9', class: "modal-handle",
|
|
21985
22584
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
21986
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '
|
|
22585
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: 'c32698350193c450327e97049daf8b8d1fda0d0e' }))));
|
|
21987
22586
|
}
|
|
21988
22587
|
get el() { return getElement(this); }
|
|
21989
22588
|
static get watchers() { return {
|
|
@@ -22930,7 +23529,7 @@ class Nav {
|
|
|
22930
23529
|
}
|
|
22931
23530
|
}
|
|
22932
23531
|
render() {
|
|
22933
|
-
return hAsync("slot", { key: '
|
|
23532
|
+
return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
|
|
22934
23533
|
}
|
|
22935
23534
|
get el() { return getElement(this); }
|
|
22936
23535
|
static get watchers() { return {
|
|
@@ -23003,7 +23602,7 @@ class NavLink {
|
|
|
23003
23602
|
};
|
|
23004
23603
|
}
|
|
23005
23604
|
render() {
|
|
23006
|
-
return hAsync(Host, { key: '
|
|
23605
|
+
return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
|
|
23007
23606
|
}
|
|
23008
23607
|
get el() { return getElement(this); }
|
|
23009
23608
|
static get cmpMeta() { return {
|
|
@@ -23034,9 +23633,9 @@ class Note {
|
|
|
23034
23633
|
}
|
|
23035
23634
|
render() {
|
|
23036
23635
|
const mode = getIonMode$1(this);
|
|
23037
|
-
return (hAsync(Host, { key: '
|
|
23636
|
+
return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
|
|
23038
23637
|
[mode]: true,
|
|
23039
|
-
}) }, hAsync("slot", { key: '
|
|
23638
|
+
}) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
|
|
23040
23639
|
}
|
|
23041
23640
|
static get style() { return {
|
|
23042
23641
|
ios: noteIosCss,
|
|
@@ -23796,11 +24395,11 @@ class Picker {
|
|
|
23796
24395
|
render() {
|
|
23797
24396
|
const { htmlAttributes } = this;
|
|
23798
24397
|
const mode = getIonMode$1(this);
|
|
23799
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24398
|
+
return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
23800
24399
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
23801
24400
|
}, class: Object.assign({ [mode]: true,
|
|
23802
24401
|
// Used internally for styling
|
|
23803
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
24402
|
+
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '169d1c83ef40e7fcb134219a585298b403a70b0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '98518e5f5cea2dfb8dfa63d9545e9ae3a5765023', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '151755ab8eb23f9adafbfe201349398f5a69dee7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '5dcf93b2f4fe8f4fce7c7aec8f85ef45a03ef470', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: 'fd5d66708edd38adc5a4d2fad7298969398a05e3', class: "picker-columns" }, hAsync("div", { key: '1b5830fd6cef1016af7736792c514965d6cb38a8', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'c6edeca7afd69e13c9c66ba36f261974fd0f8f78', class: "picker-below-highlight" }))), hAsync("div", { key: 'e2a4b24710e30579b14b82dbfd3761b2187797b5', tabindex: "0", "aria-hidden": "true" })));
|
|
23804
24403
|
}
|
|
23805
24404
|
get el() { return getElement(this); }
|
|
23806
24405
|
static get watchers() { return {
|
|
@@ -24787,9 +25386,9 @@ class PickerColumnCmp {
|
|
|
24787
25386
|
render() {
|
|
24788
25387
|
const col = this.col;
|
|
24789
25388
|
const mode = getIonMode$1(this);
|
|
24790
|
-
return (hAsync(Host, { key: '
|
|
25389
|
+
return (hAsync(Host, { key: '5f3701279923f2b67b1e9e8f948b110857fc2e7b', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
24791
25390
|
'max-width': this.col.columnWidth,
|
|
24792
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
25391
|
+
} }, col.prefix && (hAsync("div", { key: '691ce6f6670e40128319ca7437a3bef8d7c8946c', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: 'bab1c4bcd7560b7e3d7fff5b000fffd79708b5b5', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: '66b5fe2b40499c8311763e51761a02a8ea01a853', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
24793
25392
|
}
|
|
24794
25393
|
get el() { return getElement(this); }
|
|
24795
25394
|
static get watchers() { return {
|
|
@@ -24906,10 +25505,10 @@ class PickerColumnOption {
|
|
|
24906
25505
|
render() {
|
|
24907
25506
|
const { color, disabled, ariaLabel } = this;
|
|
24908
25507
|
const mode = getIonMode$1(this);
|
|
24909
|
-
return (hAsync(Host, { key: '
|
|
25508
|
+
return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
|
|
24910
25509
|
[mode]: true,
|
|
24911
25510
|
['option-disabled']: disabled,
|
|
24912
|
-
}) }, hAsync("button", { key: '
|
|
25511
|
+
}) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
|
|
24913
25512
|
}
|
|
24914
25513
|
get el() { return getElement(this); }
|
|
24915
25514
|
static get watchers() { return {
|
|
@@ -26315,9 +26914,9 @@ class Popover {
|
|
|
26315
26914
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
26316
26915
|
const desktop = isPlatform('desktop');
|
|
26317
26916
|
const enableArrow = arrow && !parentPopover;
|
|
26318
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
26917
|
+
return (hAsync(Host, Object.assign({ key: '1de4862099cfcb5035e78008e6dc7c1371846f9a', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
26319
26918
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
26320
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '
|
|
26919
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '981aa4e0102cb93312ffbd8243cdf2a0cdc60469', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '1a28ed55e9d34ef78cf0eb0178643301fd2dd75d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '1c206ea5eb3c0b5883a3d45c34cd22dd5ffe4b65', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '5ba561486a328c0c7ab825995fdbfb7a196429a4', class: "popover-content", part: "content" }, hAsync("slot", { key: '00fc244ce9dcc2dfc677e6c34b7c8e7a330b2b03' })))));
|
|
26321
26920
|
}
|
|
26322
26921
|
get el() { return getElement(this); }
|
|
26323
26922
|
static get watchers() { return {
|
|
@@ -26422,7 +27021,7 @@ class ProgressBar {
|
|
|
26422
27021
|
const mode = getIonMode$1(this);
|
|
26423
27022
|
// If the progress is displayed as a solid bar.
|
|
26424
27023
|
const progressSolid = buffer === 1;
|
|
26425
|
-
return (hAsync(Host, { key: '
|
|
27024
|
+
return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
26426
27025
|
[mode]: true,
|
|
26427
27026
|
[`progress-bar-${type}`]: true,
|
|
26428
27027
|
'progress-paused': paused,
|
|
@@ -26606,7 +27205,7 @@ class Radio {
|
|
|
26606
27205
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
26607
27206
|
const mode = getIonMode$1(this);
|
|
26608
27207
|
const inItem = hostContext('ion-item', el);
|
|
26609
|
-
return (hAsync(Host, { key: '
|
|
27208
|
+
return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
26610
27209
|
[mode]: true,
|
|
26611
27210
|
'in-item': inItem,
|
|
26612
27211
|
'radio-checked': checked,
|
|
@@ -26617,10 +27216,10 @@ class Radio {
|
|
|
26617
27216
|
// Focus and active styling should not apply when the radio is in an item
|
|
26618
27217
|
'ion-activatable': !inItem,
|
|
26619
27218
|
'ion-focusable': !inItem,
|
|
26620
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
27219
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '418a0a48366ff900e97da123abf665bbbda87fb7', class: "radio-wrapper" }, hAsync("div", { key: '6e5acdd8c8f5d0ad26632a65396afef8094153d1', class: {
|
|
26621
27220
|
'label-text-wrapper': true,
|
|
26622
27221
|
'label-text-wrapper-hidden': !hasLabel,
|
|
26623
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
27222
|
+
}, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
26624
27223
|
}
|
|
26625
27224
|
get el() { return getElement(this); }
|
|
26626
27225
|
static get watchers() { return {
|
|
@@ -26843,7 +27442,7 @@ class RadioGroup {
|
|
|
26843
27442
|
const { label, labelId, el, name, value } = this;
|
|
26844
27443
|
const mode = getIonMode$1(this);
|
|
26845
27444
|
renderHiddenInput(true, el, name, value, false);
|
|
26846
|
-
return (hAsync(Host, { key: '
|
|
27445
|
+
return (hAsync(Host, { key: '81b8ebc96b2f383c36717f290d2959cc921ad6e8', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: mode }, this.renderHintText(), hAsync("div", { key: '45b09efc10776b889a8f372cba80d25a3fc849da', class: "radio-group-wrapper" }, hAsync("slot", { key: '58714934542c2fdd7396de160364f3f06b32e8f8' }))));
|
|
26847
27446
|
}
|
|
26848
27447
|
get el() { return getElement(this); }
|
|
26849
27448
|
static get watchers() { return {
|
|
@@ -27558,7 +28157,7 @@ class Range {
|
|
|
27558
28157
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
27559
28158
|
const mode = getIonMode$1(this);
|
|
27560
28159
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
27561
|
-
return (hAsync(Host, { key: '
|
|
28160
|
+
return (hAsync(Host, { key: '124909954930d95f353e8593fd967de1486b0315', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
27562
28161
|
[mode]: true,
|
|
27563
28162
|
'in-item': inItem,
|
|
27564
28163
|
'range-disabled': disabled,
|
|
@@ -27567,10 +28166,10 @@ class Range {
|
|
|
27567
28166
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
27568
28167
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
27569
28168
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
27570
|
-
}) }, hAsync("label", { key: '
|
|
28169
|
+
}) }, hAsync("label", { key: '0af177a2ba5869d3441c4b3f393835218807a418', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '4d834224b9c834e88497f58af4339348cec9ca1c', class: {
|
|
27571
28170
|
'label-text-wrapper': true,
|
|
27572
28171
|
'label-text-wrapper-hidden': !hasLabel,
|
|
27573
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
28172
|
+
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '797d39ac73610f6d81d0b99d71982f98f2a66c88', class: "native-wrapper" }, hAsync("slot", { key: '88824589cac5bb2134c30bed067ed11f6e81d887', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '7207a1164b272f56634435f7bff9114fb5d9f085', name: "end" })))));
|
|
27574
28173
|
}
|
|
27575
28174
|
get el() { return getElement(this); }
|
|
27576
28175
|
static get watchers() { return {
|
|
@@ -28520,7 +29119,7 @@ class Refresher {
|
|
|
28520
29119
|
}
|
|
28521
29120
|
render() {
|
|
28522
29121
|
const mode = getIonMode$1(this);
|
|
28523
|
-
return (hAsync(Host, { key: '
|
|
29122
|
+
return (hAsync(Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
|
|
28524
29123
|
[mode]: true,
|
|
28525
29124
|
// Used internally for styling
|
|
28526
29125
|
[`refresher-${mode}`]: true,
|
|
@@ -28744,7 +29343,7 @@ class RefresherContent {
|
|
|
28744
29343
|
const pullingIcon = this.pullingIcon;
|
|
28745
29344
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
28746
29345
|
const mode = getIonMode$1(this);
|
|
28747
|
-
return (hAsync(Host, { key: '
|
|
29346
|
+
return (hAsync(Host, { key: 'e235f8a9a84070ece2e2066ced234a64663bfa1d', class: mode }, hAsync("div", { key: '9121691818ddaa35801a5f442e144ac27686cf19', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: 'c8d65d740f1575041bd3b752c789077927397fe4', class: "refresher-pulling-icon" }, hAsync("div", { key: '309dd904977eaa788b09ea95b7fa4996a73bec5b', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: 'a2a1480f67775d56ca7822e76be1e9f983bca2f9', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: '811d7e06d324bf4b6a18a31427a43e5177f3ae3a', class: "arrow-container" }, hAsync("ion-icon", { key: '86cc48e2e8dc054ff6ff1299094da35b524be63d', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '464ae097dbc95c18a2dd7dfd03f8489153dab719', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'ed6875978b9035add562caa743a68353743d978f', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'aff891924e44354543fec484e5cde1ca92e69904', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '842d7ac4ff10a1058775493d62f31cbdcd34f7a0', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '8c3e6195501e7e78d5cde1e3ad1fef90fd4a953f', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
28748
29347
|
}
|
|
28749
29348
|
get el() { return getElement(this); }
|
|
28750
29349
|
static get cmpMeta() { return {
|
|
@@ -28785,7 +29384,7 @@ class Reorder {
|
|
|
28785
29384
|
render() {
|
|
28786
29385
|
const mode = getIonMode$1(this);
|
|
28787
29386
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
28788
|
-
return (hAsync(Host, { key: '
|
|
29387
|
+
return (hAsync(Host, { key: 'e6807bb349725682e99e791ac65e729a360d64e8', class: mode }, hAsync("slot", { key: '1c691cdbffa6427ba08dc12184c69559ed5d5506' }, hAsync("ion-icon", { key: '8b4150302cdca475379582b2251737b5e74079b1', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
28789
29388
|
}
|
|
28790
29389
|
get el() { return getElement(this); }
|
|
28791
29390
|
static get style() { return {
|
|
@@ -29041,7 +29640,7 @@ class ReorderGroup {
|
|
|
29041
29640
|
}
|
|
29042
29641
|
render() {
|
|
29043
29642
|
const mode = getIonMode$1(this);
|
|
29044
|
-
return (hAsync(Host, { key: '
|
|
29643
|
+
return (hAsync(Host, { key: 'f30613b361c5c3095b7928a92fb4b1e8d6eff600', class: {
|
|
29045
29644
|
[mode]: true,
|
|
29046
29645
|
'reorder-enabled': !this.disabled,
|
|
29047
29646
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -29157,7 +29756,7 @@ class RippleEffect {
|
|
|
29157
29756
|
}
|
|
29158
29757
|
render() {
|
|
29159
29758
|
const mode = getIonMode$1(this);
|
|
29160
|
-
return (hAsync(Host, { key: '
|
|
29759
|
+
return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
|
|
29161
29760
|
[mode]: true,
|
|
29162
29761
|
unbounded: this.unbounded,
|
|
29163
29762
|
} }));
|
|
@@ -30115,10 +30714,10 @@ class RouterLink {
|
|
|
30115
30714
|
rel: this.rel,
|
|
30116
30715
|
target: this.target,
|
|
30117
30716
|
};
|
|
30118
|
-
return (hAsync(Host, { key: '
|
|
30717
|
+
return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
30119
30718
|
[mode]: true,
|
|
30120
30719
|
'ion-activatable': true,
|
|
30121
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
30720
|
+
}) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
|
|
30122
30721
|
}
|
|
30123
30722
|
static get style() { return routerLinkCss; }
|
|
30124
30723
|
static get cmpMeta() { return {
|
|
@@ -30315,7 +30914,7 @@ class RouterOutlet {
|
|
|
30315
30914
|
return true;
|
|
30316
30915
|
}
|
|
30317
30916
|
render() {
|
|
30318
|
-
return hAsync("slot", { key: '
|
|
30917
|
+
return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
|
|
30319
30918
|
}
|
|
30320
30919
|
get el() { return getElement(this); }
|
|
30321
30920
|
static get watchers() { return {
|
|
@@ -30348,7 +30947,7 @@ class Row {
|
|
|
30348
30947
|
registerInstance(this, hostRef);
|
|
30349
30948
|
}
|
|
30350
30949
|
render() {
|
|
30351
|
-
return (hAsync(Host, { key: '
|
|
30950
|
+
return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
|
|
30352
30951
|
}
|
|
30353
30952
|
static get style() { return rowCss; }
|
|
30354
30953
|
static get cmpMeta() { return {
|
|
@@ -30791,8 +31390,8 @@ class Searchbar {
|
|
|
30791
31390
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
30792
31391
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
30793
31392
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
30794
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
30795
|
-
return (hAsync(Host, { key: '
|
|
31393
|
+
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '1a4a7b9efeffbff98f3e400f52367192a692d876', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '5ac9bb7d7d4da3dcb6ad85c2eeddca5ebdf32d72', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
31394
|
+
return (hAsync(Host, { key: '4432996807ffe9372c7d6955c94366d5b920f6dd', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
30796
31395
|
[mode]: true,
|
|
30797
31396
|
'searchbar-animated': animated,
|
|
30798
31397
|
'searchbar-disabled': this.disabled,
|
|
@@ -30802,14 +31401,14 @@ class Searchbar {
|
|
|
30802
31401
|
'searchbar-has-focus': this.focused,
|
|
30803
31402
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
30804
31403
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
30805
|
-
}) }, hAsync("div", { key: '
|
|
31404
|
+
}) }, hAsync("div", { key: 'ba70d82a6c005b28940c2bf4f03ecedb441ba7aa', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '91dd264e043cf06e29bc452f1e940e50377f1df8', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: 'f32927f3ab0045cf34b8331ee3cae02a8438da89', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '0f71fe7e3a7c40e3ab8af510f7a84643c22e43b8', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
30806
31405
|
/**
|
|
30807
31406
|
* This prevents mobile browsers from
|
|
30808
31407
|
* blurring the input when the clear
|
|
30809
31408
|
* button is activated.
|
|
30810
31409
|
*/
|
|
30811
31410
|
ev.preventDefault();
|
|
30812
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
31411
|
+
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: 'd34f027ae676128aff9a9ed74805e195b7ee9fa2', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
30813
31412
|
}
|
|
30814
31413
|
get el() { return getElement(this); }
|
|
30815
31414
|
static get watchers() { return {
|
|
@@ -31404,14 +32003,14 @@ class Segment {
|
|
|
31404
32003
|
}
|
|
31405
32004
|
render() {
|
|
31406
32005
|
const mode = getIonMode$1(this);
|
|
31407
|
-
return (hAsync(Host, { key: '
|
|
32006
|
+
return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
31408
32007
|
[mode]: true,
|
|
31409
32008
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
31410
32009
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
31411
32010
|
'segment-activated': this.activated,
|
|
31412
32011
|
'segment-disabled': this.disabled,
|
|
31413
32012
|
'segment-scrollable': this.scrollable,
|
|
31414
|
-
}) }, hAsync("slot", { key: '
|
|
32013
|
+
}) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
|
|
31415
32014
|
}
|
|
31416
32015
|
get el() { return getElement(this); }
|
|
31417
32016
|
static get watchers() { return {
|
|
@@ -31551,7 +32150,7 @@ class SegmentButton {
|
|
|
31551
32150
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
31552
32151
|
const mode = getIonMode$1(this);
|
|
31553
32152
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
31554
|
-
return (hAsync(Host, { key: '
|
|
32153
|
+
return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
|
|
31555
32154
|
[mode]: true,
|
|
31556
32155
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
31557
32156
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -31567,7 +32166,7 @@ class SegmentButton {
|
|
|
31567
32166
|
'ion-activatable': true,
|
|
31568
32167
|
'ion-activatable-instant': true,
|
|
31569
32168
|
'ion-focusable': true,
|
|
31570
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
32169
|
+
} }, hAsync("button", Object.assign({ key: '75add37f11c107d1e2cfdb154e08004e9579e863', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '8e720d2a3e304903685bf09d226a64e944d78a22', class: "button-inner" }, hAsync("slot", { key: 'c8e7b3ebf8f03042a1001155643b585283c73c65' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '3586ac317b8d82c92b0ccfbfae42f8778612321b' })), hAsync("div", { key: '9cf93957da9e8dc333c8b05327bb903385b1c5f4', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'd3b6f0b3860ec6896b46703f64ed1cc8c75612e3', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
31571
32170
|
}
|
|
31572
32171
|
get el() { return getElement(this); }
|
|
31573
32172
|
static get watchers() { return {
|
|
@@ -31602,7 +32201,7 @@ class SegmentContent {
|
|
|
31602
32201
|
registerInstance(this, hostRef);
|
|
31603
32202
|
}
|
|
31604
32203
|
render() {
|
|
31605
|
-
return (hAsync(Host, { key: '
|
|
32204
|
+
return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
|
|
31606
32205
|
}
|
|
31607
32206
|
static get style() { return segmentContentCss; }
|
|
31608
32207
|
static get cmpMeta() { return {
|
|
@@ -31715,10 +32314,10 @@ class SegmentView {
|
|
|
31715
32314
|
}
|
|
31716
32315
|
render() {
|
|
31717
32316
|
const { disabled, isManualScroll } = this;
|
|
31718
|
-
return (hAsync(Host, { key: '
|
|
32317
|
+
return (hAsync(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
|
|
31719
32318
|
'segment-view-disabled': disabled,
|
|
31720
32319
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
31721
|
-
} }, hAsync("slot", { key: '
|
|
32320
|
+
} }, hAsync("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
|
|
31722
32321
|
}
|
|
31723
32322
|
get el() { return getElement(this); }
|
|
31724
32323
|
static get style() { return {
|
|
@@ -32457,7 +33056,7 @@ class Select {
|
|
|
32457
33056
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
32458
33057
|
*/
|
|
32459
33058
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
32460
|
-
return (hAsync(Host, { key: '
|
|
33059
|
+
return (hAsync(Host, { key: 'd42f9434cdf0f22f8710f1f363096e12967695dd', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
32461
33060
|
[mode]: true,
|
|
32462
33061
|
'in-item': inItem,
|
|
32463
33062
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -32475,7 +33074,7 @@ class Select {
|
|
|
32475
33074
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
32476
33075
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
32477
33076
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
32478
|
-
}) }, hAsync("label", { key: '
|
|
33077
|
+
}) }, hAsync("label", { key: '51174c91a816a6fe63f498996861ab27dab4d416', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '3d92a33e0482b0ef79ce6ed3dea9771dc3078abe', class: "select-wrapper-inner" }, hAsync("slot", { key: 'b19220872f1931c021bd6e111bfd7772904f0a72', name: "start" }), hAsync("div", { key: 'c8540be3898978738dd59d4de98da37b44e54c58', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '440a7f166528c4a3ccedffed1ea4e8f012f435c1', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'a6371e5eaec388b8a40e8e16cc81266578d6d070', class: "select-highlight" })), this.renderBottomContent()));
|
|
32479
33078
|
}
|
|
32480
33079
|
get el() { return getElement(this); }
|
|
32481
33080
|
static get watchers() { return {
|
|
@@ -32634,7 +33233,7 @@ class SelectModal {
|
|
|
32634
33233
|
} }, option.text))));
|
|
32635
33234
|
}
|
|
32636
33235
|
render() {
|
|
32637
|
-
return (hAsync(Host, { key: '
|
|
33236
|
+
return (hAsync(Host, { key: 'b6c0dec240b2e41985b15fdf4e5a6d3a145c1567', class: getIonMode$1(this) }, hAsync("ion-header", { key: 'cd177e85ee0f62a60a3a708342d6ab6eb19a44dc' }, hAsync("ion-toolbar", { key: 'aee8222a5a4daa540ad202b2e4cac1ef93d9558c' }, this.header !== undefined && hAsync("ion-title", { key: '5f8fecc764d97bf840d3d4cfddeeccd118ab4436' }, this.header), hAsync("ion-buttons", { key: '919033950d7c2b0101f96a9c9698219de9f568ea', slot: "end" }, hAsync("ion-button", { key: '34b571cab6dced4bde555a077a21e91800829931', onClick: () => this.closeModal() }, "Close")))), hAsync("ion-content", { key: '3c9153d26ba7a5a03d3b20fcd628d0c3031661a7' }, hAsync("ion-list", { key: 'e00b222c071bc97c82ad1bba4db95a8a5c43ed6d' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
32638
33237
|
}
|
|
32639
33238
|
get el() { return getElement(this); }
|
|
32640
33239
|
static get style() { return {
|
|
@@ -32668,7 +33267,7 @@ class SelectOption {
|
|
|
32668
33267
|
this.disabled = false;
|
|
32669
33268
|
}
|
|
32670
33269
|
render() {
|
|
32671
|
-
return hAsync(Host, { key: '
|
|
33270
|
+
return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
32672
33271
|
}
|
|
32673
33272
|
get el() { return getElement(this); }
|
|
32674
33273
|
static get style() { return selectOptionCss; }
|
|
@@ -32785,7 +33384,7 @@ class SelectPopover {
|
|
|
32785
33384
|
render() {
|
|
32786
33385
|
const { header, message, options, subHeader } = this;
|
|
32787
33386
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
32788
|
-
return (hAsync(Host, { key: '
|
|
33387
|
+
return (hAsync(Host, { key: 'ab931b49b59283825bd2afa3f7f995b0e6e05bef', class: getIonMode$1(this) }, hAsync("ion-list", { key: '3bd12b67832607596b912a73d5b3ae9b954b244d' }, header !== undefined && hAsync("ion-list-header", { key: '97da930246edf7423a039c030d40e3ff7a5148a3' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'c579df6ea8fac07bb0c59d34c69b149656863224' }, hAsync("ion-label", { key: 'af699c5f465710ccb13b8cf8e7be66f0e8acfad1', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'df9a936d42064b134e843c7229f314a2a3ec7e80' }, subHeader), message !== undefined && hAsync("p", { key: '9c3ddad378df00f106afa94e9928cf68c17124dd' }, message)))), this.renderOptions(options))));
|
|
32789
33388
|
}
|
|
32790
33389
|
get el() { return getElement(this); }
|
|
32791
33390
|
static get style() { return {
|
|
@@ -32835,11 +33434,11 @@ class SkeletonText {
|
|
|
32835
33434
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
32836
33435
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
32837
33436
|
const mode = getIonMode$1(this);
|
|
32838
|
-
return (hAsync(Host, { key: '
|
|
33437
|
+
return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
|
|
32839
33438
|
[mode]: true,
|
|
32840
33439
|
'skeleton-text-animated': animated,
|
|
32841
33440
|
'in-media': inMedia,
|
|
32842
|
-
} }, hAsync("span", { key: '
|
|
33441
|
+
} }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
|
|
32843
33442
|
}
|
|
32844
33443
|
get el() { return getElement(this); }
|
|
32845
33444
|
static get style() { return skeletonTextCss; }
|
|
@@ -32891,7 +33490,7 @@ class Spinner {
|
|
|
32891
33490
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
32892
33491
|
}
|
|
32893
33492
|
}
|
|
32894
|
-
return (hAsync(Host, { key: '
|
|
33493
|
+
return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
|
|
32895
33494
|
[mode]: true,
|
|
32896
33495
|
[`spinner-${spinnerName}`]: true,
|
|
32897
33496
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -32990,12 +33589,12 @@ class SplitPane {
|
|
|
32990
33589
|
}
|
|
32991
33590
|
render() {
|
|
32992
33591
|
const mode = getIonMode$1(this);
|
|
32993
|
-
return (hAsync(Host, { key: '
|
|
33592
|
+
return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
|
|
32994
33593
|
[mode]: true,
|
|
32995
33594
|
// Used internally for styling
|
|
32996
33595
|
[`split-pane-${mode}`]: true,
|
|
32997
33596
|
'split-pane-visible': this.visible,
|
|
32998
|
-
} }, hAsync("slot", { key: '
|
|
33597
|
+
} }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
|
|
32999
33598
|
}
|
|
33000
33599
|
get el() { return getElement(this); }
|
|
33001
33600
|
static get watchers() { return {
|
|
@@ -33061,10 +33660,10 @@ class Tab {
|
|
|
33061
33660
|
}
|
|
33062
33661
|
render() {
|
|
33063
33662
|
const { tab, active, component } = this;
|
|
33064
|
-
return (hAsync(Host, { key: '
|
|
33663
|
+
return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
33065
33664
|
'ion-page': component === undefined,
|
|
33066
33665
|
'tab-hidden': !active,
|
|
33067
|
-
} }, hAsync("slot", { key: '
|
|
33666
|
+
} }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
|
|
33068
33667
|
}
|
|
33069
33668
|
get el() { return getElement(this); }
|
|
33070
33669
|
static get watchers() { return {
|
|
@@ -33143,11 +33742,11 @@ class TabBar {
|
|
|
33143
33742
|
const { color, translucent, keyboardVisible } = this;
|
|
33144
33743
|
const mode = getIonMode$1(this);
|
|
33145
33744
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
33146
|
-
return (hAsync(Host, { key: '
|
|
33745
|
+
return (hAsync(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
33147
33746
|
[mode]: true,
|
|
33148
33747
|
'tab-bar-translucent': translucent,
|
|
33149
33748
|
'tab-bar-hidden': shouldHide,
|
|
33150
|
-
}) }, hAsync("slot", { key: '
|
|
33749
|
+
}) }, hAsync("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
|
|
33151
33750
|
}
|
|
33152
33751
|
get el() { return getElement(this); }
|
|
33153
33752
|
static get watchers() { return {
|
|
@@ -33243,7 +33842,7 @@ class TabButton {
|
|
|
33243
33842
|
rel,
|
|
33244
33843
|
target,
|
|
33245
33844
|
};
|
|
33246
|
-
return (hAsync(Host, { key: '
|
|
33845
|
+
return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
33247
33846
|
[mode]: true,
|
|
33248
33847
|
'tab-selected': selected,
|
|
33249
33848
|
'tab-disabled': disabled,
|
|
@@ -33255,7 +33854,7 @@ class TabButton {
|
|
|
33255
33854
|
'ion-activatable': true,
|
|
33256
33855
|
'ion-selectable': true,
|
|
33257
33856
|
'ion-focusable': true,
|
|
33258
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
33857
|
+
} }, hAsync("a", Object.assign({ key: '01cb0ed2e77c5c1a8abd48da1bb07ac1b305d0b6' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: 'd0240c05f42217cfb186b86ff8a0c9cd70b9c8df', class: "button-inner" }, hAsync("slot", { key: '0a20b84925037dbaa8bb4a495b813d3f7c2e58ac' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '4c92c27178cdac89d69cffef8d2c39c3644914e8', type: "unbounded" }))));
|
|
33259
33858
|
}
|
|
33260
33859
|
get el() { return getElement(this); }
|
|
33261
33860
|
static get style() { return {
|
|
@@ -33430,7 +34029,7 @@ class Tabs {
|
|
|
33430
34029
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
33431
34030
|
}
|
|
33432
34031
|
render() {
|
|
33433
|
-
return (hAsync(Host, { key: '
|
|
34032
|
+
return (hAsync(Host, { key: '73ecd3294ca6c78ce6d8b6a7e5b6ccb11d84ada4', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '09661b26f07a3069a58e76ea4dceb9a6acbf365d', name: "top" }), hAsync("div", { key: 'db50d59fad8f9b11873b695fc548f3cfe4aceb6a', class: "tabs-inner" }, hAsync("slot", { key: '02694dde2d8381f48fc06dd9e79798c4bd540ccd' })), hAsync("slot", { key: '92c4661a5f3fa1c08c964fab7c422c1a2a03d3d8', name: "bottom" })));
|
|
33434
34033
|
}
|
|
33435
34034
|
get el() { return getElement(this); }
|
|
33436
34035
|
static get style() { return tabsCss; }
|
|
@@ -33470,9 +34069,9 @@ class Text {
|
|
|
33470
34069
|
}
|
|
33471
34070
|
render() {
|
|
33472
34071
|
const mode = getIonMode$1(this);
|
|
33473
|
-
return (hAsync(Host, { key: '
|
|
34072
|
+
return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
|
|
33474
34073
|
[mode]: true,
|
|
33475
|
-
}) }, hAsync("slot", { key: '
|
|
34074
|
+
}) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
|
|
33476
34075
|
}
|
|
33477
34076
|
static get style() { return textCss; }
|
|
33478
34077
|
static get cmpMeta() { return {
|
|
@@ -33911,7 +34510,7 @@ class Textarea {
|
|
|
33911
34510
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
33912
34511
|
*/
|
|
33913
34512
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
33914
|
-
return (hAsync(Host, { key: '
|
|
34513
|
+
return (hAsync(Host, { key: '550ae8e37d94a3f9950c191626beb2ba49ca25f7', class: createColorClasses$1(this.color, {
|
|
33915
34514
|
[mode]: true,
|
|
33916
34515
|
'has-value': hasValue,
|
|
33917
34516
|
'has-focus': hasFocus,
|
|
@@ -33920,7 +34519,7 @@ class Textarea {
|
|
|
33920
34519
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
33921
34520
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
33922
34521
|
'textarea-disabled': disabled,
|
|
33923
|
-
}) }, hAsync("label", { key: '
|
|
34522
|
+
}) }, hAsync("label", { key: 'd7567588fed56352f0d202d8d2a3a572abc072e4', class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: 'e778956ae240ccdae855e3f5a0dc380e373f46e7', class: "textarea-wrapper-inner" }, hAsync("div", { key: 'fd02ecd700bae01d330f4767e206a12a5c9531fc', class: "start-slot-wrapper" }, hAsync("slot", { key: 'ef19a5aee8fc0d9a84d8c1a7e9862bcc116a8440', name: "start" })), hAsync("div", { key: '45ba34274b2a8f1e1fad3ea81f7ba90a11322019', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: 'bedfe94f99c5cff815673896c4df245abede6288', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), hAsync("div", { key: '3dc9d27e0cb922c33090c1091b7977af8543daef', class: "end-slot-wrapper" }, hAsync("slot", { key: '02424963e69d9c085f622fcc8ac70c78271b9f12', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: '1513528f3841b26d9725d14a2fb6b21af8a8a3c1', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
33924
34523
|
}
|
|
33925
34524
|
get el() { return getElement(this); }
|
|
33926
34525
|
static get watchers() { return {
|
|
@@ -33982,7 +34581,7 @@ class Thumbnail {
|
|
|
33982
34581
|
registerInstance(this, hostRef);
|
|
33983
34582
|
}
|
|
33984
34583
|
render() {
|
|
33985
|
-
return (hAsync(Host, { key: '
|
|
34584
|
+
return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
|
|
33986
34585
|
}
|
|
33987
34586
|
static get style() { return thumbnailCss; }
|
|
33988
34587
|
static get cmpMeta() { return {
|
|
@@ -34841,9 +35440,9 @@ class Toast {
|
|
|
34841
35440
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
34842
35441
|
printIonWarning('[ion-toast] - 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);
|
|
34843
35442
|
}
|
|
34844
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
35443
|
+
return (hAsync(Host, Object.assign({ key: '425be734aee0eeef281ab1609a9f982ce8b5e852', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
34845
35444
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
34846
|
-
}, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '
|
|
35445
|
+
}, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '7c3ad1a8df9e21fc30fc179c7edebeabcf3c6874', class: wrapperClass }, hAsync("div", { key: 'f950c21e8d7bf92653e0bd52e820ed6b84fa8cf5', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '0266241927dbe16799adb57f9fc11bd5372877b2', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '9ef4b87bad672af6a5b693af61375564daf1eeeb', 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')))));
|
|
34847
35446
|
}
|
|
34848
35447
|
get el() { return getElement(this); }
|
|
34849
35448
|
static get watchers() { return {
|
|
@@ -35138,7 +35737,7 @@ class Toggle {
|
|
|
35138
35737
|
const value = this.getValue();
|
|
35139
35738
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
35140
35739
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
35141
|
-
return (hAsync(Host, { key: '
|
|
35740
|
+
return (hAsync(Host, { key: 'eef77257b1ef53c93b5a5ac8450b252ab2c450e0', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: createColorClasses$1(color, {
|
|
35142
35741
|
[mode]: true,
|
|
35143
35742
|
'in-item': hostContext('ion-item', el),
|
|
35144
35743
|
'toggle-activated': activated,
|
|
@@ -35148,10 +35747,10 @@ class Toggle {
|
|
|
35148
35747
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
35149
35748
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
35150
35749
|
[`toggle-${rtl}`]: true,
|
|
35151
|
-
}) }, hAsync("label", { key: '
|
|
35750
|
+
}) }, hAsync("label", { key: '7af46191ed2c51de8a69839bf760048f1cff5710', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '1d235ff33bcd70a4e6859370bcc4be0dacfee69f', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: '1c83d272234206c7d8b7138fb2b466d099b7a422', class: {
|
|
35152
35751
|
'label-text-wrapper': true,
|
|
35153
35752
|
'label-text-wrapper-hidden': !hasLabel,
|
|
35154
|
-
}, part: "label", id: inputLabelId }, hAsync("slot", { key: '
|
|
35753
|
+
}, part: "label", id: inputLabelId }, hAsync("slot", { key: 'e6afe1ed4d6f478411cc7030c44492ba59509b22' }), this.renderHintText()), hAsync("div", { key: '6271c04a5954352d93cec8dbca753084d4bac9fd', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
35155
35754
|
}
|
|
35156
35755
|
get el() { return getElement(this); }
|
|
35157
35756
|
static get watchers() { return {
|
|
@@ -35259,10 +35858,10 @@ class Toolbar {
|
|
|
35259
35858
|
this.childrenStyles.forEach((value) => {
|
|
35260
35859
|
Object.assign(childStyles, value);
|
|
35261
35860
|
});
|
|
35262
|
-
return (hAsync(Host, { key: '
|
|
35861
|
+
return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
35263
35862
|
[mode]: true,
|
|
35264
35863
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
35265
|
-
})) }, hAsync("div", { key: '
|
|
35864
|
+
})) }, hAsync("div", { key: '9c81742ffa02de9ba7417025b077d05e67305074', class: "toolbar-background", part: "background" }), hAsync("div", { key: '5fc96d166fa47894a062e41541a9beee38078a36', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'b62c0d9d59a70176bdbf769aec6090d7a166853b', name: "start" }), hAsync("slot", { key: 'd01d3cc2c50e5aaa49c345b209fe8dbdf3d48131', name: "secondary" }), hAsync("div", { key: '3aaa3a2810aedd38c37eb616158ec7b9638528fc', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '357246690f8d5e1cc3ca369611d4845a79edf610' })), hAsync("slot", { key: '06ed3cca4f7ebff4a54cd877dad3cc925ccf9f75', name: "primary" }), hAsync("slot", { key: 'e453d43d14a26b0d72f41e1b81a554bab8ece811', name: "end" }))));
|
|
35266
35865
|
}
|
|
35267
35866
|
get el() { return getElement(this); }
|
|
35268
35867
|
static get style() { return {
|
|
@@ -35308,11 +35907,11 @@ class ToolbarTitle {
|
|
|
35308
35907
|
render() {
|
|
35309
35908
|
const mode = getIonMode$1(this);
|
|
35310
35909
|
const size = this.getSize();
|
|
35311
|
-
return (hAsync(Host, { key: '
|
|
35910
|
+
return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
|
|
35312
35911
|
[mode]: true,
|
|
35313
35912
|
[`title-${size}`]: true,
|
|
35314
35913
|
'title-rtl': document.dir === 'rtl',
|
|
35315
|
-
}) }, hAsync("div", { key: '
|
|
35914
|
+
}) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
|
|
35316
35915
|
}
|
|
35317
35916
|
get el() { return getElement(this); }
|
|
35318
35917
|
static get watchers() { return {
|
|
@@ -35371,6 +35970,7 @@ registerComponents([
|
|
|
35371
35970
|
InfiniteScroll,
|
|
35372
35971
|
InfiniteScrollContent,
|
|
35373
35972
|
Input,
|
|
35973
|
+
InputOTP,
|
|
35374
35974
|
InputPasswordToggle,
|
|
35375
35975
|
Item,
|
|
35376
35976
|
ItemDivider,
|