@ionic/core 8.5.7-dev.11747180955.1e468923 → 8.5.7-dev.11747765516.1b0fea61
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 +608 -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 +571 -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 +996 -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 +569 -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-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-dde28e75.entry.js +4 -0
- 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 +698 -101
- package/hydrate/index.mjs +698 -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,591 @@ 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 { validKeyPattern } = 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 && !validKeyPattern.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
|
+
// Shift all values to the right of the current index left by one
|
|
17072
|
+
for (let i = index; i < length - 1; i++) {
|
|
17073
|
+
this.inputValues[i] = this.inputValues[i + 1];
|
|
17074
|
+
}
|
|
17075
|
+
// Clear the last box
|
|
17076
|
+
this.inputValues[length - 1] = '';
|
|
17077
|
+
// Update all inputRefs to match inputValues
|
|
17078
|
+
for (let i = 0; i < length; i++) {
|
|
17079
|
+
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
17080
|
+
}
|
|
17081
|
+
this.updateValue(event);
|
|
17082
|
+
event.preventDefault();
|
|
17083
|
+
}
|
|
17084
|
+
else if (!this.inputValues[index] && index > 0) {
|
|
17085
|
+
// If current input is empty, move to previous input
|
|
17086
|
+
this.focusPrevious(index);
|
|
17087
|
+
}
|
|
17088
|
+
}
|
|
17089
|
+
else if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
|
|
17090
|
+
this.isKeyboardNavigation = true;
|
|
17091
|
+
event.preventDefault();
|
|
17092
|
+
const isLeft = event.key === 'ArrowLeft';
|
|
17093
|
+
const shouldMoveNext = (isLeft && rtl) || (!isLeft && !rtl);
|
|
17094
|
+
// Only allow moving to the next input if the current has a value
|
|
17095
|
+
if (shouldMoveNext) {
|
|
17096
|
+
if (this.inputValues[index] && index < length - 1) {
|
|
17097
|
+
this.focusNext(index);
|
|
17098
|
+
}
|
|
17099
|
+
}
|
|
17100
|
+
else {
|
|
17101
|
+
this.focusPrevious(index);
|
|
17102
|
+
}
|
|
17103
|
+
}
|
|
17104
|
+
else if (event.key === 'Tab') {
|
|
17105
|
+
this.isKeyboardNavigation = true;
|
|
17106
|
+
// Let all tab events proceed normally
|
|
17107
|
+
return;
|
|
17108
|
+
}
|
|
17109
|
+
// If the input box contains a value and the key being
|
|
17110
|
+
// entered is a valid key for the input box update the value
|
|
17111
|
+
// and shift the values to the right if there is room.
|
|
17112
|
+
if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
|
|
17113
|
+
if (!this.inputValues[length - 1]) {
|
|
17114
|
+
for (let i = length - 1; i > index; i--) {
|
|
17115
|
+
this.inputValues[i] = this.inputValues[i - 1];
|
|
17116
|
+
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
17117
|
+
}
|
|
17118
|
+
}
|
|
17119
|
+
this.inputValues[index] = event.key;
|
|
17120
|
+
this.inputRefs[index].value = event.key;
|
|
17121
|
+
this.updateValue(event);
|
|
17122
|
+
// Prevent default to avoid the browser from
|
|
17123
|
+
// automatically moving the focus to the next input
|
|
17124
|
+
event.preventDefault();
|
|
17125
|
+
}
|
|
17126
|
+
};
|
|
17127
|
+
/**
|
|
17128
|
+
* Handles pasting text into the input OTP component.
|
|
17129
|
+
* This function prevents the default paste behavior and
|
|
17130
|
+
* validates the pasted text against the allowed pattern.
|
|
17131
|
+
* It then updates the value of the input group and focuses
|
|
17132
|
+
* the next empty input after pasting.
|
|
17133
|
+
*/
|
|
17134
|
+
this.onPaste = (event) => {
|
|
17135
|
+
var _a, _b, _c;
|
|
17136
|
+
const { inputRefs, length, validKeyPattern } = this;
|
|
17137
|
+
event.preventDefault();
|
|
17138
|
+
const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
|
|
17139
|
+
// If there is no pasted text, still emit the input change event
|
|
17140
|
+
// because this is how the native input element behaves
|
|
17141
|
+
// but return early because there is nothing to paste.
|
|
17142
|
+
if (!pastedText) {
|
|
17143
|
+
this.emitIonInput(event);
|
|
17144
|
+
return;
|
|
17145
|
+
}
|
|
17146
|
+
const validChars = pastedText
|
|
17147
|
+
.split('')
|
|
17148
|
+
.filter((char) => validKeyPattern.test(char))
|
|
17149
|
+
.slice(0, length);
|
|
17150
|
+
// Find the first empty input
|
|
17151
|
+
const startIndex = this.getFirstEmptyIndex();
|
|
17152
|
+
// If all boxes are filled, start at 0
|
|
17153
|
+
const pasteStart = startIndex === -1 ? 0 : startIndex;
|
|
17154
|
+
validChars.forEach((char, index) => {
|
|
17155
|
+
const targetIndex = pasteStart + index;
|
|
17156
|
+
if (targetIndex < length) {
|
|
17157
|
+
this.inputRefs[targetIndex].value = char;
|
|
17158
|
+
this.inputValues[targetIndex] = char;
|
|
17159
|
+
}
|
|
17160
|
+
});
|
|
17161
|
+
this.updateValue(event);
|
|
17162
|
+
// Focus the next empty input after pasting
|
|
17163
|
+
// If all boxes are filled, focus the last input
|
|
17164
|
+
const nextEmptyIndex = pasteStart + validChars.length;
|
|
17165
|
+
if (nextEmptyIndex < length) {
|
|
17166
|
+
(_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
17167
|
+
}
|
|
17168
|
+
else {
|
|
17169
|
+
(_c = inputRefs[length - 1]) === null || _c === void 0 ? void 0 : _c.focus();
|
|
17170
|
+
}
|
|
17171
|
+
};
|
|
17172
|
+
/**
|
|
17173
|
+
* Handles the focus behavior for the input OTP component.
|
|
17174
|
+
*
|
|
17175
|
+
* Focus behavior:
|
|
17176
|
+
* 1. Keyboard navigation: Allow normal focus movement
|
|
17177
|
+
* 2. Mouse click:
|
|
17178
|
+
* - If clicked box has value: Focus that box
|
|
17179
|
+
* - If clicked box is empty: Focus first empty box
|
|
17180
|
+
*
|
|
17181
|
+
* Emits the `ionFocus` event when the input group gains focus.
|
|
17182
|
+
*/
|
|
17183
|
+
this.onFocus = (index) => (event) => {
|
|
17184
|
+
var _a;
|
|
17185
|
+
const { inputRefs } = this;
|
|
17186
|
+
// Only emit ionFocus and set the focusedValue when the
|
|
17187
|
+
// component first gains focus
|
|
17188
|
+
if (!this.hasFocus) {
|
|
17189
|
+
this.ionFocus.emit(event);
|
|
17190
|
+
this.focusedValue = this.value;
|
|
17191
|
+
}
|
|
17192
|
+
this.hasFocus = true;
|
|
17193
|
+
let finalIndex = index;
|
|
17194
|
+
if (!this.isKeyboardNavigation) {
|
|
17195
|
+
// If the clicked box has a value, focus it
|
|
17196
|
+
// Otherwise focus the first empty box
|
|
17197
|
+
const targetIndex = this.inputValues[index] ? index : this.getFirstEmptyIndex();
|
|
17198
|
+
finalIndex = targetIndex === -1 ? this.length - 1 : targetIndex;
|
|
17199
|
+
// Focus the target box
|
|
17200
|
+
(_a = this.inputRefs[finalIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17201
|
+
}
|
|
17202
|
+
// Update tabIndexes to match the focused box
|
|
17203
|
+
inputRefs.forEach((input, i) => {
|
|
17204
|
+
input.tabIndex = i === finalIndex ? 0 : -1;
|
|
17205
|
+
});
|
|
17206
|
+
// Reset the keyboard navigation flag
|
|
17207
|
+
this.isKeyboardNavigation = false;
|
|
17208
|
+
};
|
|
17209
|
+
/**
|
|
17210
|
+
* Handles the blur behavior for the input OTP component.
|
|
17211
|
+
* Emits the `ionBlur` event when the input group loses focus.
|
|
17212
|
+
*/
|
|
17213
|
+
this.onBlur = (event) => {
|
|
17214
|
+
const { inputRefs } = this;
|
|
17215
|
+
const relatedTarget = event.relatedTarget;
|
|
17216
|
+
// Do not emit blur if we're moving to another input box in the same component
|
|
17217
|
+
const isInternalFocus = relatedTarget != null && inputRefs.includes(relatedTarget);
|
|
17218
|
+
if (!isInternalFocus) {
|
|
17219
|
+
this.hasFocus = false;
|
|
17220
|
+
// Reset tabIndexes when focus leaves the component
|
|
17221
|
+
this.updateTabIndexes();
|
|
17222
|
+
// Always emit ionBlur when focus leaves the component
|
|
17223
|
+
this.ionBlur.emit(event);
|
|
17224
|
+
// Only emit ionChange if the value has actually changed
|
|
17225
|
+
if (this.focusedValue !== this.value) {
|
|
17226
|
+
this.emitIonChange(event);
|
|
17227
|
+
}
|
|
17228
|
+
}
|
|
17229
|
+
};
|
|
17230
|
+
}
|
|
17231
|
+
valueChanged() {
|
|
17232
|
+
this.initializeValues();
|
|
17233
|
+
}
|
|
17234
|
+
/**
|
|
17235
|
+
* Processes the separators prop into an array of numbers.
|
|
17236
|
+
*
|
|
17237
|
+
* If the separators prop is not provided, returns an empty array.
|
|
17238
|
+
* If the separators prop is 'all', returns an array of all valid positions (1 to length-1).
|
|
17239
|
+
* If the separators prop is an array, returns it as is.
|
|
17240
|
+
* If the separators prop is a string, splits it by commas and parses each part as a number.
|
|
17241
|
+
*
|
|
17242
|
+
* If the separators are greater than the input length, it will warn and ignore the separators.
|
|
17243
|
+
*/
|
|
17244
|
+
processSeparators() {
|
|
17245
|
+
const { separators, length } = this;
|
|
17246
|
+
if (separators === undefined) {
|
|
17247
|
+
this.parsedSeparators = [];
|
|
17248
|
+
return;
|
|
17249
|
+
}
|
|
17250
|
+
if (typeof separators === 'string' && separators !== 'all') {
|
|
17251
|
+
const isValidFormat = /^(\d+)(,\d+)*$/.test(separators);
|
|
17252
|
+
if (!isValidFormat) {
|
|
17253
|
+
printIonWarning(`[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: ${separators}`, this.el);
|
|
17254
|
+
this.parsedSeparators = [];
|
|
17255
|
+
return;
|
|
17256
|
+
}
|
|
17257
|
+
}
|
|
17258
|
+
let separatorValues;
|
|
17259
|
+
if (separators === 'all') {
|
|
17260
|
+
separatorValues = Array.from({ length: length - 1 }, (_, i) => i + 1);
|
|
17261
|
+
}
|
|
17262
|
+
else if (Array.isArray(separators)) {
|
|
17263
|
+
separatorValues = separators;
|
|
17264
|
+
}
|
|
17265
|
+
else {
|
|
17266
|
+
separatorValues = separators
|
|
17267
|
+
.split(',')
|
|
17268
|
+
.map((pos) => parseInt(pos, 10))
|
|
17269
|
+
.filter((pos) => !isNaN(pos));
|
|
17270
|
+
}
|
|
17271
|
+
// Check for duplicate separator positions
|
|
17272
|
+
const duplicates = separatorValues.filter((pos, index) => separatorValues.indexOf(pos) !== index);
|
|
17273
|
+
if (duplicates.length > 0) {
|
|
17274
|
+
printIonWarning(`[ion-input-otp] - Duplicate separator positions are not allowed. Received: ${separators}`, this.el);
|
|
17275
|
+
}
|
|
17276
|
+
const invalidSeparators = separatorValues.filter((pos) => pos > length);
|
|
17277
|
+
if (invalidSeparators.length > 0) {
|
|
17278
|
+
printIonWarning(`[ion-input-otp] - The following separator positions are greater than the input length (${length}): ${invalidSeparators.join(', ')}. These separators will be ignored.`, this.el);
|
|
17279
|
+
}
|
|
17280
|
+
this.parsedSeparators = separatorValues.filter((pos) => pos <= length);
|
|
17281
|
+
}
|
|
17282
|
+
componentWillLoad() {
|
|
17283
|
+
this.processSeparators();
|
|
17284
|
+
this.initializeValues();
|
|
17285
|
+
}
|
|
17286
|
+
/**
|
|
17287
|
+
* Initializes the input values array based on the current value prop.
|
|
17288
|
+
* This splits the value into individual characters and validates them against
|
|
17289
|
+
* the allowed pattern. The values are then used as the values in the native
|
|
17290
|
+
* input boxes and the value of the input group is updated.
|
|
17291
|
+
*/
|
|
17292
|
+
initializeValues() {
|
|
17293
|
+
if (this.value != null && String(this.value).length > 0) {
|
|
17294
|
+
const chars = String(this.value).split('').slice(0, this.length);
|
|
17295
|
+
chars.forEach((char, index) => {
|
|
17296
|
+
if (this.validKeyPattern.test(char)) {
|
|
17297
|
+
this.inputValues[index] = char;
|
|
17298
|
+
}
|
|
17299
|
+
});
|
|
17300
|
+
// Update the value without emitting events
|
|
17301
|
+
this.value = this.inputValues.join('');
|
|
17302
|
+
}
|
|
17303
|
+
}
|
|
17304
|
+
/**
|
|
17305
|
+
* Resets the input values and focus state.
|
|
17306
|
+
*/
|
|
17307
|
+
async reset() {
|
|
17308
|
+
this.inputValues = Array(this.length).fill('');
|
|
17309
|
+
this.value = '';
|
|
17310
|
+
this.focusedValue = null;
|
|
17311
|
+
this.hasFocus = false;
|
|
17312
|
+
this.inputRefs.forEach((input) => {
|
|
17313
|
+
input.blur();
|
|
17314
|
+
});
|
|
17315
|
+
this.updateTabIndexes();
|
|
17316
|
+
}
|
|
17317
|
+
/**
|
|
17318
|
+
* Sets focus to an input box.
|
|
17319
|
+
* @param index - The index of the input box to focus (0-based).
|
|
17320
|
+
* If provided and the input box has a value, the input box at that index will be focused.
|
|
17321
|
+
* Otherwise, the first empty input box or the last input if all are filled will be focused.
|
|
17322
|
+
*/
|
|
17323
|
+
async setFocus(index) {
|
|
17324
|
+
var _a, _b;
|
|
17325
|
+
if (typeof index === 'number') {
|
|
17326
|
+
const validIndex = Math.max(0, Math.min(index, this.length - 1));
|
|
17327
|
+
(_a = this.inputRefs[validIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17328
|
+
}
|
|
17329
|
+
else {
|
|
17330
|
+
const tabbableIndex = this.getTabbableIndex();
|
|
17331
|
+
(_b = this.inputRefs[tabbableIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
17332
|
+
}
|
|
17333
|
+
}
|
|
17334
|
+
/**
|
|
17335
|
+
* Get the regex pattern for allowed characters.
|
|
17336
|
+
* If a pattern is provided, use it to create a regex pattern
|
|
17337
|
+
* Otherwise, use the default regex pattern based on type
|
|
17338
|
+
*/
|
|
17339
|
+
get validKeyPattern() {
|
|
17340
|
+
return new RegExp(`^${this.getPattern()}$`, 'u');
|
|
17341
|
+
}
|
|
17342
|
+
/**
|
|
17343
|
+
* Gets the string pattern to pass to the input element
|
|
17344
|
+
* and use in the regex for allowed characters.
|
|
17345
|
+
*/
|
|
17346
|
+
getPattern() {
|
|
17347
|
+
const { pattern, type } = this;
|
|
17348
|
+
if (pattern) {
|
|
17349
|
+
return pattern;
|
|
17350
|
+
}
|
|
17351
|
+
return type === 'number' ? '[0-9]' : '[\\p{L}\\p{N}]';
|
|
17352
|
+
}
|
|
17353
|
+
/**
|
|
17354
|
+
* Get the default value for inputmode.
|
|
17355
|
+
* If inputmode is provided, use it.
|
|
17356
|
+
* Otherwise, use the default inputmode based on type
|
|
17357
|
+
*/
|
|
17358
|
+
getInputmode() {
|
|
17359
|
+
const { inputmode } = this;
|
|
17360
|
+
if (inputmode) {
|
|
17361
|
+
return inputmode;
|
|
17362
|
+
}
|
|
17363
|
+
if (this.type == 'number') {
|
|
17364
|
+
return 'numeric';
|
|
17365
|
+
}
|
|
17366
|
+
else {
|
|
17367
|
+
return 'text';
|
|
17368
|
+
}
|
|
17369
|
+
}
|
|
17370
|
+
/**
|
|
17371
|
+
* Updates the value of the input group.
|
|
17372
|
+
* This updates the value of the input group and emits an `ionChange` event.
|
|
17373
|
+
* If all of the input boxes are filled, it emits an `ionComplete` event.
|
|
17374
|
+
*/
|
|
17375
|
+
updateValue(event) {
|
|
17376
|
+
const { inputValues, length } = this;
|
|
17377
|
+
const newValue = inputValues.join('');
|
|
17378
|
+
this.value = newValue;
|
|
17379
|
+
this.emitIonInput(event);
|
|
17380
|
+
if (newValue.length === length) {
|
|
17381
|
+
this.ionComplete.emit({ value: newValue });
|
|
17382
|
+
}
|
|
17383
|
+
}
|
|
17384
|
+
/**
|
|
17385
|
+
* Emits an `ionChange` event.
|
|
17386
|
+
* This API should be called for user committed changes.
|
|
17387
|
+
* This API should not be used for external value changes.
|
|
17388
|
+
*/
|
|
17389
|
+
emitIonChange(event) {
|
|
17390
|
+
const { value } = this;
|
|
17391
|
+
// Checks for both null and undefined values
|
|
17392
|
+
const newValue = value == null ? value : value.toString();
|
|
17393
|
+
this.ionChange.emit({ value: newValue, event });
|
|
17394
|
+
}
|
|
17395
|
+
/**
|
|
17396
|
+
* Emits an `ionInput` event.
|
|
17397
|
+
* This is used to emit the input value when the user types,
|
|
17398
|
+
* backspaces, or pastes.
|
|
17399
|
+
*/
|
|
17400
|
+
emitIonInput(event) {
|
|
17401
|
+
const { value } = this;
|
|
17402
|
+
// Checks for both null and undefined values
|
|
17403
|
+
const newValue = value == null ? value : value.toString();
|
|
17404
|
+
this.ionInput.emit({ value: newValue, event });
|
|
17405
|
+
}
|
|
17406
|
+
/**
|
|
17407
|
+
* Focuses the next input box.
|
|
17408
|
+
*/
|
|
17409
|
+
focusNext(currentIndex) {
|
|
17410
|
+
var _a;
|
|
17411
|
+
const { inputRefs, length } = this;
|
|
17412
|
+
if (currentIndex < length - 1) {
|
|
17413
|
+
(_a = inputRefs[currentIndex + 1]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17414
|
+
}
|
|
17415
|
+
}
|
|
17416
|
+
/**
|
|
17417
|
+
* Focuses the previous input box.
|
|
17418
|
+
*/
|
|
17419
|
+
focusPrevious(currentIndex) {
|
|
17420
|
+
var _a;
|
|
17421
|
+
const { inputRefs } = this;
|
|
17422
|
+
if (currentIndex > 0) {
|
|
17423
|
+
(_a = inputRefs[currentIndex - 1]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17424
|
+
}
|
|
17425
|
+
}
|
|
17426
|
+
/**
|
|
17427
|
+
* Determines if a separator should be shown for a given index by
|
|
17428
|
+
* checking if the index is included in the parsed separators array.
|
|
17429
|
+
*/
|
|
17430
|
+
showSeparator(index) {
|
|
17431
|
+
const { length } = this;
|
|
17432
|
+
return this.parsedSeparators.includes(index + 1) && index < length - 1;
|
|
17433
|
+
}
|
|
17434
|
+
/**
|
|
17435
|
+
* Updates the tabIndexes for the input boxes.
|
|
17436
|
+
* This is used to ensure that the correct input is
|
|
17437
|
+
* focused when the user navigates using the tab key.
|
|
17438
|
+
*/
|
|
17439
|
+
updateTabIndexes() {
|
|
17440
|
+
const { inputRefs, inputValues, length } = this;
|
|
17441
|
+
// Find first empty index after any filled boxes
|
|
17442
|
+
let firstEmptyIndex = -1;
|
|
17443
|
+
for (let i = 0; i < length; i++) {
|
|
17444
|
+
if (!inputValues[i] || inputValues[i] === '') {
|
|
17445
|
+
firstEmptyIndex = i;
|
|
17446
|
+
break;
|
|
17447
|
+
}
|
|
17448
|
+
}
|
|
17449
|
+
// Update tabIndex for all inputs
|
|
17450
|
+
inputRefs.forEach((input, index) => {
|
|
17451
|
+
// If all boxes are filled, make the last box tabbable
|
|
17452
|
+
// Otherwise, make the first empty box tabbable
|
|
17453
|
+
const shouldBeTabbable = firstEmptyIndex === -1 ? index === length - 1 : firstEmptyIndex === index;
|
|
17454
|
+
input.tabIndex = shouldBeTabbable ? 0 : -1;
|
|
17455
|
+
});
|
|
17456
|
+
}
|
|
17457
|
+
/**
|
|
17458
|
+
* Searches through the input values and returns the index
|
|
17459
|
+
* of the first empty input.
|
|
17460
|
+
* Returns -1 if all inputs are filled.
|
|
17461
|
+
*/
|
|
17462
|
+
getFirstEmptyIndex() {
|
|
17463
|
+
var _a;
|
|
17464
|
+
const { inputValues, length } = this;
|
|
17465
|
+
// Create an array of the same length as the input OTP
|
|
17466
|
+
// and fill it with the input values
|
|
17467
|
+
const values = Array.from({ length }, (_, i) => inputValues[i] || '');
|
|
17468
|
+
return (_a = values.findIndex((value) => !value || value === '')) !== null && _a !== void 0 ? _a : -1;
|
|
17469
|
+
}
|
|
17470
|
+
/**
|
|
17471
|
+
* Returns the index of the input that should be tabbed to.
|
|
17472
|
+
* If all inputs are filled, returns the last input's index.
|
|
17473
|
+
* Otherwise, returns the index of the first empty input.
|
|
17474
|
+
*/
|
|
17475
|
+
getTabbableIndex() {
|
|
17476
|
+
const { length } = this;
|
|
17477
|
+
const firstEmptyIndex = this.getFirstEmptyIndex();
|
|
17478
|
+
return firstEmptyIndex === -1 ? length - 1 : firstEmptyIndex;
|
|
17479
|
+
}
|
|
17480
|
+
render() {
|
|
17481
|
+
const { autocapitalize, color, disabled, fill, hasFocus, inputId, inputRefs, inputValues, length, readonly, shape, size, } = this;
|
|
17482
|
+
const mode = getIonMode$1(this);
|
|
17483
|
+
const inputmode = this.getInputmode();
|
|
17484
|
+
const tabbableIndex = this.getTabbableIndex();
|
|
17485
|
+
const pattern = this.getPattern();
|
|
17486
|
+
return (hAsync(Host, { key: 'd299153bec43019436d8f0e0bbb3fa01a712e81c', class: createColorClasses$1(color, {
|
|
17487
|
+
[mode]: true,
|
|
17488
|
+
'has-focus': hasFocus,
|
|
17489
|
+
[`input-otp-size-${size}`]: true,
|
|
17490
|
+
[`input-otp-shape-${shape}`]: true,
|
|
17491
|
+
[`input-otp-fill-${fill}`]: true,
|
|
17492
|
+
'input-otp-disabled': disabled,
|
|
17493
|
+
'input-otp-readonly': readonly,
|
|
17494
|
+
}) }, hAsync("div", { key: 'f3eb5c21c9fa5275ab9521e98fea44a400aadd61', 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: '2ad53ec2c35ed1c7a4e3a65c92a1f3c83b995322', class: "input-otp-description" }, hAsync("slot", { key: '619c86c5b8568ef6577a5565537b5a30ef7451e6' }))));
|
|
17495
|
+
}
|
|
17496
|
+
get el() { return getElement(this); }
|
|
17497
|
+
static get watchers() { return {
|
|
17498
|
+
"value": ["valueChanged"],
|
|
17499
|
+
"separators": ["processSeparators"],
|
|
17500
|
+
"length": ["processSeparators"]
|
|
17501
|
+
}; }
|
|
17502
|
+
static get style() { return {
|
|
17503
|
+
ios: inputOtpIosCss,
|
|
17504
|
+
md: inputOtpMdCss
|
|
17505
|
+
}; }
|
|
17506
|
+
static get cmpMeta() { return {
|
|
17507
|
+
"$flags$": 38,
|
|
17508
|
+
"$tagName$": "ion-input-otp",
|
|
17509
|
+
"$members$": {
|
|
17510
|
+
"autocapitalize": [1],
|
|
17511
|
+
"color": [513],
|
|
17512
|
+
"disabled": [516],
|
|
17513
|
+
"fill": [1],
|
|
17514
|
+
"inputmode": [1],
|
|
17515
|
+
"length": [2],
|
|
17516
|
+
"pattern": [1],
|
|
17517
|
+
"readonly": [516],
|
|
17518
|
+
"size": [1],
|
|
17519
|
+
"separators": [1],
|
|
17520
|
+
"shape": [1],
|
|
17521
|
+
"type": [1],
|
|
17522
|
+
"value": [1032],
|
|
17523
|
+
"inputValues": [32],
|
|
17524
|
+
"hasFocus": [32],
|
|
17525
|
+
"reset": [64],
|
|
17526
|
+
"setFocus": [64]
|
|
17527
|
+
},
|
|
17528
|
+
"$listeners$": undefined,
|
|
17529
|
+
"$lazyBundleId$": "-",
|
|
17530
|
+
"$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
|
|
17531
|
+
}; }
|
|
17532
|
+
}
|
|
16937
17533
|
let inputIds = 0;
|
|
16938
17534
|
|
|
16939
17535
|
const iosInputPasswordToggleCss = "";
|
|
@@ -16995,16 +17591,16 @@ class InputPasswordToggle {
|
|
|
16995
17591
|
const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
|
|
16996
17592
|
const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
|
|
16997
17593
|
const isPasswordVisible = type === 'text';
|
|
16998
|
-
return (hAsync(Host, { key: '
|
|
17594
|
+
return (hAsync(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses$1(color, {
|
|
16999
17595
|
[mode]: true,
|
|
17000
|
-
}) }, hAsync("ion-button", { key: '
|
|
17596
|
+
}) }, 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
17597
|
/**
|
|
17002
17598
|
* This prevents mobile browsers from
|
|
17003
17599
|
* blurring the input when the password toggle
|
|
17004
17600
|
* button is activated.
|
|
17005
17601
|
*/
|
|
17006
17602
|
ev.preventDefault();
|
|
17007
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
17603
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'e7656040b08c6a394d56f1fc41d6ca34225287d2', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
|
|
17008
17604
|
}
|
|
17009
17605
|
get el() { return getElement(this); }
|
|
17010
17606
|
static get watchers() { return {
|
|
@@ -17314,11 +17910,11 @@ class ItemDivider {
|
|
|
17314
17910
|
}
|
|
17315
17911
|
render() {
|
|
17316
17912
|
const mode = getIonMode$1(this);
|
|
17317
|
-
return (hAsync(Host, { key: '
|
|
17913
|
+
return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
|
|
17318
17914
|
[mode]: true,
|
|
17319
17915
|
'item-divider-sticky': this.sticky,
|
|
17320
17916
|
item: true,
|
|
17321
|
-
}) }, hAsync("slot", { key: '
|
|
17917
|
+
}) }, 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
17918
|
}
|
|
17323
17919
|
get el() { return getElement(this); }
|
|
17324
17920
|
static get style() { return {
|
|
@@ -17348,7 +17944,7 @@ class ItemGroup {
|
|
|
17348
17944
|
}
|
|
17349
17945
|
render() {
|
|
17350
17946
|
const mode = getIonMode$1(this);
|
|
17351
|
-
return (hAsync(Host, { key: '
|
|
17947
|
+
return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
|
|
17352
17948
|
[mode]: true,
|
|
17353
17949
|
// Used internally for styling
|
|
17354
17950
|
[`item-group-${mode}`]: true,
|
|
@@ -17418,12 +18014,12 @@ class ItemOption {
|
|
|
17418
18014
|
href: this.href,
|
|
17419
18015
|
target: this.target,
|
|
17420
18016
|
};
|
|
17421
|
-
return (hAsync(Host, { key: '
|
|
18017
|
+
return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
17422
18018
|
[mode]: true,
|
|
17423
18019
|
'item-option-disabled': disabled,
|
|
17424
18020
|
'item-option-expandable': expandable,
|
|
17425
18021
|
'ion-activatable': true,
|
|
17426
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
18022
|
+
}) }, 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
18023
|
}
|
|
17428
18024
|
get el() { return getElement(this); }
|
|
17429
18025
|
static get style() { return {
|
|
@@ -17472,7 +18068,7 @@ class ItemOptions {
|
|
|
17472
18068
|
render() {
|
|
17473
18069
|
const mode = getIonMode$1(this);
|
|
17474
18070
|
const isEnd = isEndSide(this.side);
|
|
17475
|
-
return (hAsync(Host, { key: '
|
|
18071
|
+
return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
|
|
17476
18072
|
[mode]: true,
|
|
17477
18073
|
// Used internally for styling
|
|
17478
18074
|
[`item-options-${mode}`]: true,
|
|
@@ -17936,7 +18532,7 @@ class ItemSliding {
|
|
|
17936
18532
|
}
|
|
17937
18533
|
render() {
|
|
17938
18534
|
const mode = getIonMode$1(this);
|
|
17939
|
-
return (hAsync(Host, { key: '
|
|
18535
|
+
return (hAsync(Host, { key: '9880396ad79e06117d572a27f92c4b753d1e26db', class: {
|
|
17940
18536
|
[mode]: true,
|
|
17941
18537
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
17942
18538
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -18041,13 +18637,13 @@ class Label {
|
|
|
18041
18637
|
render() {
|
|
18042
18638
|
const position = this.position;
|
|
18043
18639
|
const mode = getIonMode$1(this);
|
|
18044
|
-
return (hAsync(Host, { key: '
|
|
18640
|
+
return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
|
|
18045
18641
|
[mode]: true,
|
|
18046
18642
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
18047
18643
|
[`label-${position}`]: position !== undefined,
|
|
18048
18644
|
[`label-no-animate`]: this.noAnimate,
|
|
18049
18645
|
'label-rtl': document.dir === 'rtl',
|
|
18050
|
-
}) }, hAsync("slot", { key: '
|
|
18646
|
+
}) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
|
|
18051
18647
|
}
|
|
18052
18648
|
get el() { return getElement(this); }
|
|
18053
18649
|
static get watchers() { return {
|
|
@@ -18103,7 +18699,7 @@ class List {
|
|
|
18103
18699
|
render() {
|
|
18104
18700
|
const mode = getIonMode$1(this);
|
|
18105
18701
|
const { lines, inset } = this;
|
|
18106
|
-
return (hAsync(Host, { key: '
|
|
18702
|
+
return (hAsync(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
|
|
18107
18703
|
[mode]: true,
|
|
18108
18704
|
// Used internally for styling
|
|
18109
18705
|
[`list-${mode}`]: true,
|
|
@@ -18145,10 +18741,10 @@ class ListHeader {
|
|
|
18145
18741
|
render() {
|
|
18146
18742
|
const { lines } = this;
|
|
18147
18743
|
const mode = getIonMode$1(this);
|
|
18148
|
-
return (hAsync(Host, { key: '
|
|
18744
|
+
return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
|
|
18149
18745
|
[mode]: true,
|
|
18150
18746
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
18151
|
-
}) }, hAsync("div", { key: '
|
|
18747
|
+
}) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
|
|
18152
18748
|
}
|
|
18153
18749
|
static get style() { return {
|
|
18154
18750
|
ios: listHeaderIosCss,
|
|
@@ -18434,9 +19030,9 @@ class Loading {
|
|
|
18434
19030
|
* Otherwise, don't set aria-labelledby.
|
|
18435
19031
|
*/
|
|
18436
19032
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
18437
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
19033
|
+
return (hAsync(Host, Object.assign({ key: '6369ed244c06c39aa338141bffacf7a861d7da1a', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
18438
19034
|
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: '
|
|
19035
|
+
}, 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
19036
|
}
|
|
18441
19037
|
get el() { return getElement(this); }
|
|
18442
19038
|
static get watchers() { return {
|
|
@@ -19460,14 +20056,14 @@ class Menu {
|
|
|
19460
20056
|
* the ionBackButton listener in the menu controller
|
|
19461
20057
|
* will handle closing the menu when Escape is pressed.
|
|
19462
20058
|
*/
|
|
19463
|
-
return (hAsync(Host, { key: '
|
|
20059
|
+
return (hAsync(Host, { key: '9e4ae9476a76781f1d228395c9af9e1c39ec82bb', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
19464
20060
|
[mode]: true,
|
|
19465
20061
|
[`menu-type-${type}`]: true,
|
|
19466
20062
|
'menu-enabled': !disabled,
|
|
19467
20063
|
[`menu-side-${side}`]: true,
|
|
19468
20064
|
'menu-pane-visible': isPaneVisible,
|
|
19469
20065
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
19470
|
-
} }, hAsync("div", { key: '
|
|
20066
|
+
} }, 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
20067
|
}
|
|
19472
20068
|
get el() { return getElement(this); }
|
|
19473
20069
|
static get watchers() { return {
|
|
@@ -19575,7 +20171,7 @@ class MenuButton {
|
|
|
19575
20171
|
type: this.type,
|
|
19576
20172
|
};
|
|
19577
20173
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
19578
|
-
return (hAsync(Host, { key: '
|
|
20174
|
+
return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
19579
20175
|
[mode]: true,
|
|
19580
20176
|
button: true, // ion-buttons target .button
|
|
19581
20177
|
'menu-button-hidden': hidden,
|
|
@@ -19584,7 +20180,7 @@ class MenuButton {
|
|
|
19584
20180
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
19585
20181
|
'ion-activatable': true,
|
|
19586
20182
|
'ion-focusable': true,
|
|
19587
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
20183
|
+
}) }, 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
20184
|
}
|
|
19589
20185
|
get el() { return getElement(this); }
|
|
19590
20186
|
static get style() { return {
|
|
@@ -19637,10 +20233,10 @@ class MenuToggle {
|
|
|
19637
20233
|
render() {
|
|
19638
20234
|
const mode = getIonMode$1(this);
|
|
19639
20235
|
const hidden = this.autoHide && !this.visible;
|
|
19640
|
-
return (hAsync(Host, { key: '
|
|
20236
|
+
return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
19641
20237
|
[mode]: true,
|
|
19642
20238
|
'menu-toggle-hidden': hidden,
|
|
19643
|
-
} }, hAsync("slot", { key: '
|
|
20239
|
+
} }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
|
|
19644
20240
|
}
|
|
19645
20241
|
static get style() { return menuToggleCss; }
|
|
19646
20242
|
static get cmpMeta() { return {
|
|
@@ -21972,18 +22568,18 @@ class Modal {
|
|
|
21972
22568
|
const mode = getIonMode$1(this);
|
|
21973
22569
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
21974
22570
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
21975
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
22571
|
+
return (hAsync(Host, Object.assign({ key: '0bcbdcfcd7d890eb599da3f97f21c317d34f8e0e', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
21976
22572
|
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: '
|
|
22573
|
+
}, 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
22574
|
/*
|
|
21979
22575
|
role and aria-modal must be used on the
|
|
21980
22576
|
same element. They must also be set inside the
|
|
21981
22577
|
shadow DOM otherwise ion-button will not be highlighted
|
|
21982
22578
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
21983
22579
|
*/
|
|
21984
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
22580
|
+
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
22581
|
// 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: '
|
|
22582
|
+
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
22583
|
}
|
|
21988
22584
|
get el() { return getElement(this); }
|
|
21989
22585
|
static get watchers() { return {
|
|
@@ -22930,7 +23526,7 @@ class Nav {
|
|
|
22930
23526
|
}
|
|
22931
23527
|
}
|
|
22932
23528
|
render() {
|
|
22933
|
-
return hAsync("slot", { key: '
|
|
23529
|
+
return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
|
|
22934
23530
|
}
|
|
22935
23531
|
get el() { return getElement(this); }
|
|
22936
23532
|
static get watchers() { return {
|
|
@@ -23003,7 +23599,7 @@ class NavLink {
|
|
|
23003
23599
|
};
|
|
23004
23600
|
}
|
|
23005
23601
|
render() {
|
|
23006
|
-
return hAsync(Host, { key: '
|
|
23602
|
+
return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
|
|
23007
23603
|
}
|
|
23008
23604
|
get el() { return getElement(this); }
|
|
23009
23605
|
static get cmpMeta() { return {
|
|
@@ -23034,9 +23630,9 @@ class Note {
|
|
|
23034
23630
|
}
|
|
23035
23631
|
render() {
|
|
23036
23632
|
const mode = getIonMode$1(this);
|
|
23037
|
-
return (hAsync(Host, { key: '
|
|
23633
|
+
return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
|
|
23038
23634
|
[mode]: true,
|
|
23039
|
-
}) }, hAsync("slot", { key: '
|
|
23635
|
+
}) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
|
|
23040
23636
|
}
|
|
23041
23637
|
static get style() { return {
|
|
23042
23638
|
ios: noteIosCss,
|
|
@@ -23796,11 +24392,11 @@ class Picker {
|
|
|
23796
24392
|
render() {
|
|
23797
24393
|
const { htmlAttributes } = this;
|
|
23798
24394
|
const mode = getIonMode$1(this);
|
|
23799
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24395
|
+
return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
23800
24396
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
23801
24397
|
}, class: Object.assign({ [mode]: true,
|
|
23802
24398
|
// Used internally for styling
|
|
23803
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
24399
|
+
[`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
24400
|
}
|
|
23805
24401
|
get el() { return getElement(this); }
|
|
23806
24402
|
static get watchers() { return {
|
|
@@ -24787,9 +25383,9 @@ class PickerColumnCmp {
|
|
|
24787
25383
|
render() {
|
|
24788
25384
|
const col = this.col;
|
|
24789
25385
|
const mode = getIonMode$1(this);
|
|
24790
|
-
return (hAsync(Host, { key: '
|
|
25386
|
+
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
25387
|
'max-width': this.col.columnWidth,
|
|
24792
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
25388
|
+
} }, 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
25389
|
}
|
|
24794
25390
|
get el() { return getElement(this); }
|
|
24795
25391
|
static get watchers() { return {
|
|
@@ -24906,10 +25502,10 @@ class PickerColumnOption {
|
|
|
24906
25502
|
render() {
|
|
24907
25503
|
const { color, disabled, ariaLabel } = this;
|
|
24908
25504
|
const mode = getIonMode$1(this);
|
|
24909
|
-
return (hAsync(Host, { key: '
|
|
25505
|
+
return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
|
|
24910
25506
|
[mode]: true,
|
|
24911
25507
|
['option-disabled']: disabled,
|
|
24912
|
-
}) }, hAsync("button", { key: '
|
|
25508
|
+
}) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
|
|
24913
25509
|
}
|
|
24914
25510
|
get el() { return getElement(this); }
|
|
24915
25511
|
static get watchers() { return {
|
|
@@ -26315,9 +26911,9 @@ class Popover {
|
|
|
26315
26911
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
26316
26912
|
const desktop = isPlatform('desktop');
|
|
26317
26913
|
const enableArrow = arrow && !parentPopover;
|
|
26318
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
26914
|
+
return (hAsync(Host, Object.assign({ key: '1de4862099cfcb5035e78008e6dc7c1371846f9a', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
26319
26915
|
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: '
|
|
26916
|
+
}, 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
26917
|
}
|
|
26322
26918
|
get el() { return getElement(this); }
|
|
26323
26919
|
static get watchers() { return {
|
|
@@ -26422,7 +27018,7 @@ class ProgressBar {
|
|
|
26422
27018
|
const mode = getIonMode$1(this);
|
|
26423
27019
|
// If the progress is displayed as a solid bar.
|
|
26424
27020
|
const progressSolid = buffer === 1;
|
|
26425
|
-
return (hAsync(Host, { key: '
|
|
27021
|
+
return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
26426
27022
|
[mode]: true,
|
|
26427
27023
|
[`progress-bar-${type}`]: true,
|
|
26428
27024
|
'progress-paused': paused,
|
|
@@ -26606,7 +27202,7 @@ class Radio {
|
|
|
26606
27202
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
26607
27203
|
const mode = getIonMode$1(this);
|
|
26608
27204
|
const inItem = hostContext('ion-item', el);
|
|
26609
|
-
return (hAsync(Host, { key: '
|
|
27205
|
+
return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
26610
27206
|
[mode]: true,
|
|
26611
27207
|
'in-item': inItem,
|
|
26612
27208
|
'radio-checked': checked,
|
|
@@ -26617,10 +27213,10 @@ class Radio {
|
|
|
26617
27213
|
// Focus and active styling should not apply when the radio is in an item
|
|
26618
27214
|
'ion-activatable': !inItem,
|
|
26619
27215
|
'ion-focusable': !inItem,
|
|
26620
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
27216
|
+
}), 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
27217
|
'label-text-wrapper': true,
|
|
26622
27218
|
'label-text-wrapper-hidden': !hasLabel,
|
|
26623
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
27219
|
+
}, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
26624
27220
|
}
|
|
26625
27221
|
get el() { return getElement(this); }
|
|
26626
27222
|
static get watchers() { return {
|
|
@@ -26843,7 +27439,7 @@ class RadioGroup {
|
|
|
26843
27439
|
const { label, labelId, el, name, value } = this;
|
|
26844
27440
|
const mode = getIonMode$1(this);
|
|
26845
27441
|
renderHiddenInput(true, el, name, value, false);
|
|
26846
|
-
return (hAsync(Host, { key: '
|
|
27442
|
+
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
27443
|
}
|
|
26848
27444
|
get el() { return getElement(this); }
|
|
26849
27445
|
static get watchers() { return {
|
|
@@ -27558,7 +28154,7 @@ class Range {
|
|
|
27558
28154
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
27559
28155
|
const mode = getIonMode$1(this);
|
|
27560
28156
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
27561
|
-
return (hAsync(Host, { key: '
|
|
28157
|
+
return (hAsync(Host, { key: '124909954930d95f353e8593fd967de1486b0315', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
27562
28158
|
[mode]: true,
|
|
27563
28159
|
'in-item': inItem,
|
|
27564
28160
|
'range-disabled': disabled,
|
|
@@ -27567,10 +28163,10 @@ class Range {
|
|
|
27567
28163
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
27568
28164
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
27569
28165
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
27570
|
-
}) }, hAsync("label", { key: '
|
|
28166
|
+
}) }, hAsync("label", { key: '0af177a2ba5869d3441c4b3f393835218807a418', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '4d834224b9c834e88497f58af4339348cec9ca1c', class: {
|
|
27571
28167
|
'label-text-wrapper': true,
|
|
27572
28168
|
'label-text-wrapper-hidden': !hasLabel,
|
|
27573
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
28169
|
+
}, 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
28170
|
}
|
|
27575
28171
|
get el() { return getElement(this); }
|
|
27576
28172
|
static get watchers() { return {
|
|
@@ -28520,7 +29116,7 @@ class Refresher {
|
|
|
28520
29116
|
}
|
|
28521
29117
|
render() {
|
|
28522
29118
|
const mode = getIonMode$1(this);
|
|
28523
|
-
return (hAsync(Host, { key: '
|
|
29119
|
+
return (hAsync(Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
|
|
28524
29120
|
[mode]: true,
|
|
28525
29121
|
// Used internally for styling
|
|
28526
29122
|
[`refresher-${mode}`]: true,
|
|
@@ -28744,7 +29340,7 @@ class RefresherContent {
|
|
|
28744
29340
|
const pullingIcon = this.pullingIcon;
|
|
28745
29341
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
28746
29342
|
const mode = getIonMode$1(this);
|
|
28747
|
-
return (hAsync(Host, { key: '
|
|
29343
|
+
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
29344
|
}
|
|
28749
29345
|
get el() { return getElement(this); }
|
|
28750
29346
|
static get cmpMeta() { return {
|
|
@@ -28785,7 +29381,7 @@ class Reorder {
|
|
|
28785
29381
|
render() {
|
|
28786
29382
|
const mode = getIonMode$1(this);
|
|
28787
29383
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
28788
|
-
return (hAsync(Host, { key: '
|
|
29384
|
+
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
29385
|
}
|
|
28790
29386
|
get el() { return getElement(this); }
|
|
28791
29387
|
static get style() { return {
|
|
@@ -29041,7 +29637,7 @@ class ReorderGroup {
|
|
|
29041
29637
|
}
|
|
29042
29638
|
render() {
|
|
29043
29639
|
const mode = getIonMode$1(this);
|
|
29044
|
-
return (hAsync(Host, { key: '
|
|
29640
|
+
return (hAsync(Host, { key: 'f30613b361c5c3095b7928a92fb4b1e8d6eff600', class: {
|
|
29045
29641
|
[mode]: true,
|
|
29046
29642
|
'reorder-enabled': !this.disabled,
|
|
29047
29643
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -29157,7 +29753,7 @@ class RippleEffect {
|
|
|
29157
29753
|
}
|
|
29158
29754
|
render() {
|
|
29159
29755
|
const mode = getIonMode$1(this);
|
|
29160
|
-
return (hAsync(Host, { key: '
|
|
29756
|
+
return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
|
|
29161
29757
|
[mode]: true,
|
|
29162
29758
|
unbounded: this.unbounded,
|
|
29163
29759
|
} }));
|
|
@@ -30115,10 +30711,10 @@ class RouterLink {
|
|
|
30115
30711
|
rel: this.rel,
|
|
30116
30712
|
target: this.target,
|
|
30117
30713
|
};
|
|
30118
|
-
return (hAsync(Host, { key: '
|
|
30714
|
+
return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
30119
30715
|
[mode]: true,
|
|
30120
30716
|
'ion-activatable': true,
|
|
30121
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
30717
|
+
}) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
|
|
30122
30718
|
}
|
|
30123
30719
|
static get style() { return routerLinkCss; }
|
|
30124
30720
|
static get cmpMeta() { return {
|
|
@@ -30315,7 +30911,7 @@ class RouterOutlet {
|
|
|
30315
30911
|
return true;
|
|
30316
30912
|
}
|
|
30317
30913
|
render() {
|
|
30318
|
-
return hAsync("slot", { key: '
|
|
30914
|
+
return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
|
|
30319
30915
|
}
|
|
30320
30916
|
get el() { return getElement(this); }
|
|
30321
30917
|
static get watchers() { return {
|
|
@@ -30348,7 +30944,7 @@ class Row {
|
|
|
30348
30944
|
registerInstance(this, hostRef);
|
|
30349
30945
|
}
|
|
30350
30946
|
render() {
|
|
30351
|
-
return (hAsync(Host, { key: '
|
|
30947
|
+
return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
|
|
30352
30948
|
}
|
|
30353
30949
|
static get style() { return rowCss; }
|
|
30354
30950
|
static get cmpMeta() { return {
|
|
@@ -30791,8 +31387,8 @@ class Searchbar {
|
|
|
30791
31387
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
30792
31388
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
30793
31389
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
30794
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
30795
|
-
return (hAsync(Host, { key: '
|
|
31390
|
+
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))));
|
|
31391
|
+
return (hAsync(Host, { key: '4432996807ffe9372c7d6955c94366d5b920f6dd', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
30796
31392
|
[mode]: true,
|
|
30797
31393
|
'searchbar-animated': animated,
|
|
30798
31394
|
'searchbar-disabled': this.disabled,
|
|
@@ -30802,14 +31398,14 @@ class Searchbar {
|
|
|
30802
31398
|
'searchbar-has-focus': this.focused,
|
|
30803
31399
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
30804
31400
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
30805
|
-
}) }, hAsync("div", { key: '
|
|
31401
|
+
}) }, 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
31402
|
/**
|
|
30807
31403
|
* This prevents mobile browsers from
|
|
30808
31404
|
* blurring the input when the clear
|
|
30809
31405
|
* button is activated.
|
|
30810
31406
|
*/
|
|
30811
31407
|
ev.preventDefault();
|
|
30812
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
31408
|
+
}, 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
31409
|
}
|
|
30814
31410
|
get el() { return getElement(this); }
|
|
30815
31411
|
static get watchers() { return {
|
|
@@ -31404,14 +32000,14 @@ class Segment {
|
|
|
31404
32000
|
}
|
|
31405
32001
|
render() {
|
|
31406
32002
|
const mode = getIonMode$1(this);
|
|
31407
|
-
return (hAsync(Host, { key: '
|
|
32003
|
+
return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
31408
32004
|
[mode]: true,
|
|
31409
32005
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
31410
32006
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
31411
32007
|
'segment-activated': this.activated,
|
|
31412
32008
|
'segment-disabled': this.disabled,
|
|
31413
32009
|
'segment-scrollable': this.scrollable,
|
|
31414
|
-
}) }, hAsync("slot", { key: '
|
|
32010
|
+
}) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
|
|
31415
32011
|
}
|
|
31416
32012
|
get el() { return getElement(this); }
|
|
31417
32013
|
static get watchers() { return {
|
|
@@ -31551,7 +32147,7 @@ class SegmentButton {
|
|
|
31551
32147
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
31552
32148
|
const mode = getIonMode$1(this);
|
|
31553
32149
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
31554
|
-
return (hAsync(Host, { key: '
|
|
32150
|
+
return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
|
|
31555
32151
|
[mode]: true,
|
|
31556
32152
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
31557
32153
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -31567,7 +32163,7 @@ class SegmentButton {
|
|
|
31567
32163
|
'ion-activatable': true,
|
|
31568
32164
|
'ion-activatable-instant': true,
|
|
31569
32165
|
'ion-focusable': true,
|
|
31570
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
32166
|
+
} }, 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
32167
|
}
|
|
31572
32168
|
get el() { return getElement(this); }
|
|
31573
32169
|
static get watchers() { return {
|
|
@@ -31602,7 +32198,7 @@ class SegmentContent {
|
|
|
31602
32198
|
registerInstance(this, hostRef);
|
|
31603
32199
|
}
|
|
31604
32200
|
render() {
|
|
31605
|
-
return (hAsync(Host, { key: '
|
|
32201
|
+
return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
|
|
31606
32202
|
}
|
|
31607
32203
|
static get style() { return segmentContentCss; }
|
|
31608
32204
|
static get cmpMeta() { return {
|
|
@@ -31715,10 +32311,10 @@ class SegmentView {
|
|
|
31715
32311
|
}
|
|
31716
32312
|
render() {
|
|
31717
32313
|
const { disabled, isManualScroll } = this;
|
|
31718
|
-
return (hAsync(Host, { key: '
|
|
32314
|
+
return (hAsync(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
|
|
31719
32315
|
'segment-view-disabled': disabled,
|
|
31720
32316
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
31721
|
-
} }, hAsync("slot", { key: '
|
|
32317
|
+
} }, hAsync("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
|
|
31722
32318
|
}
|
|
31723
32319
|
get el() { return getElement(this); }
|
|
31724
32320
|
static get style() { return {
|
|
@@ -32457,7 +33053,7 @@ class Select {
|
|
|
32457
33053
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
32458
33054
|
*/
|
|
32459
33055
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
32460
|
-
return (hAsync(Host, { key: '
|
|
33056
|
+
return (hAsync(Host, { key: 'd42f9434cdf0f22f8710f1f363096e12967695dd', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
32461
33057
|
[mode]: true,
|
|
32462
33058
|
'in-item': inItem,
|
|
32463
33059
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -32475,7 +33071,7 @@ class Select {
|
|
|
32475
33071
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
32476
33072
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
32477
33073
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
32478
|
-
}) }, hAsync("label", { key: '
|
|
33074
|
+
}) }, 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
33075
|
}
|
|
32480
33076
|
get el() { return getElement(this); }
|
|
32481
33077
|
static get watchers() { return {
|
|
@@ -32634,7 +33230,7 @@ class SelectModal {
|
|
|
32634
33230
|
} }, option.text))));
|
|
32635
33231
|
}
|
|
32636
33232
|
render() {
|
|
32637
|
-
return (hAsync(Host, { key: '
|
|
33233
|
+
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
33234
|
}
|
|
32639
33235
|
get el() { return getElement(this); }
|
|
32640
33236
|
static get style() { return {
|
|
@@ -32668,7 +33264,7 @@ class SelectOption {
|
|
|
32668
33264
|
this.disabled = false;
|
|
32669
33265
|
}
|
|
32670
33266
|
render() {
|
|
32671
|
-
return hAsync(Host, { key: '
|
|
33267
|
+
return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
32672
33268
|
}
|
|
32673
33269
|
get el() { return getElement(this); }
|
|
32674
33270
|
static get style() { return selectOptionCss; }
|
|
@@ -32785,7 +33381,7 @@ class SelectPopover {
|
|
|
32785
33381
|
render() {
|
|
32786
33382
|
const { header, message, options, subHeader } = this;
|
|
32787
33383
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
32788
|
-
return (hAsync(Host, { key: '
|
|
33384
|
+
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
33385
|
}
|
|
32790
33386
|
get el() { return getElement(this); }
|
|
32791
33387
|
static get style() { return {
|
|
@@ -32835,11 +33431,11 @@ class SkeletonText {
|
|
|
32835
33431
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
32836
33432
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
32837
33433
|
const mode = getIonMode$1(this);
|
|
32838
|
-
return (hAsync(Host, { key: '
|
|
33434
|
+
return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
|
|
32839
33435
|
[mode]: true,
|
|
32840
33436
|
'skeleton-text-animated': animated,
|
|
32841
33437
|
'in-media': inMedia,
|
|
32842
|
-
} }, hAsync("span", { key: '
|
|
33438
|
+
} }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
|
|
32843
33439
|
}
|
|
32844
33440
|
get el() { return getElement(this); }
|
|
32845
33441
|
static get style() { return skeletonTextCss; }
|
|
@@ -32891,7 +33487,7 @@ class Spinner {
|
|
|
32891
33487
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
32892
33488
|
}
|
|
32893
33489
|
}
|
|
32894
|
-
return (hAsync(Host, { key: '
|
|
33490
|
+
return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
|
|
32895
33491
|
[mode]: true,
|
|
32896
33492
|
[`spinner-${spinnerName}`]: true,
|
|
32897
33493
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -32990,12 +33586,12 @@ class SplitPane {
|
|
|
32990
33586
|
}
|
|
32991
33587
|
render() {
|
|
32992
33588
|
const mode = getIonMode$1(this);
|
|
32993
|
-
return (hAsync(Host, { key: '
|
|
33589
|
+
return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
|
|
32994
33590
|
[mode]: true,
|
|
32995
33591
|
// Used internally for styling
|
|
32996
33592
|
[`split-pane-${mode}`]: true,
|
|
32997
33593
|
'split-pane-visible': this.visible,
|
|
32998
|
-
} }, hAsync("slot", { key: '
|
|
33594
|
+
} }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
|
|
32999
33595
|
}
|
|
33000
33596
|
get el() { return getElement(this); }
|
|
33001
33597
|
static get watchers() { return {
|
|
@@ -33061,10 +33657,10 @@ class Tab {
|
|
|
33061
33657
|
}
|
|
33062
33658
|
render() {
|
|
33063
33659
|
const { tab, active, component } = this;
|
|
33064
|
-
return (hAsync(Host, { key: '
|
|
33660
|
+
return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
33065
33661
|
'ion-page': component === undefined,
|
|
33066
33662
|
'tab-hidden': !active,
|
|
33067
|
-
} }, hAsync("slot", { key: '
|
|
33663
|
+
} }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
|
|
33068
33664
|
}
|
|
33069
33665
|
get el() { return getElement(this); }
|
|
33070
33666
|
static get watchers() { return {
|
|
@@ -33143,11 +33739,11 @@ class TabBar {
|
|
|
33143
33739
|
const { color, translucent, keyboardVisible } = this;
|
|
33144
33740
|
const mode = getIonMode$1(this);
|
|
33145
33741
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
33146
|
-
return (hAsync(Host, { key: '
|
|
33742
|
+
return (hAsync(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
33147
33743
|
[mode]: true,
|
|
33148
33744
|
'tab-bar-translucent': translucent,
|
|
33149
33745
|
'tab-bar-hidden': shouldHide,
|
|
33150
|
-
}) }, hAsync("slot", { key: '
|
|
33746
|
+
}) }, hAsync("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
|
|
33151
33747
|
}
|
|
33152
33748
|
get el() { return getElement(this); }
|
|
33153
33749
|
static get watchers() { return {
|
|
@@ -33243,7 +33839,7 @@ class TabButton {
|
|
|
33243
33839
|
rel,
|
|
33244
33840
|
target,
|
|
33245
33841
|
};
|
|
33246
|
-
return (hAsync(Host, { key: '
|
|
33842
|
+
return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
33247
33843
|
[mode]: true,
|
|
33248
33844
|
'tab-selected': selected,
|
|
33249
33845
|
'tab-disabled': disabled,
|
|
@@ -33255,7 +33851,7 @@ class TabButton {
|
|
|
33255
33851
|
'ion-activatable': true,
|
|
33256
33852
|
'ion-selectable': true,
|
|
33257
33853
|
'ion-focusable': true,
|
|
33258
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
33854
|
+
} }, 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
33855
|
}
|
|
33260
33856
|
get el() { return getElement(this); }
|
|
33261
33857
|
static get style() { return {
|
|
@@ -33430,7 +34026,7 @@ class Tabs {
|
|
|
33430
34026
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
33431
34027
|
}
|
|
33432
34028
|
render() {
|
|
33433
|
-
return (hAsync(Host, { key: '
|
|
34029
|
+
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
34030
|
}
|
|
33435
34031
|
get el() { return getElement(this); }
|
|
33436
34032
|
static get style() { return tabsCss; }
|
|
@@ -33470,9 +34066,9 @@ class Text {
|
|
|
33470
34066
|
}
|
|
33471
34067
|
render() {
|
|
33472
34068
|
const mode = getIonMode$1(this);
|
|
33473
|
-
return (hAsync(Host, { key: '
|
|
34069
|
+
return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
|
|
33474
34070
|
[mode]: true,
|
|
33475
|
-
}) }, hAsync("slot", { key: '
|
|
34071
|
+
}) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
|
|
33476
34072
|
}
|
|
33477
34073
|
static get style() { return textCss; }
|
|
33478
34074
|
static get cmpMeta() { return {
|
|
@@ -33911,7 +34507,7 @@ class Textarea {
|
|
|
33911
34507
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
33912
34508
|
*/
|
|
33913
34509
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
33914
|
-
return (hAsync(Host, { key: '
|
|
34510
|
+
return (hAsync(Host, { key: '550ae8e37d94a3f9950c191626beb2ba49ca25f7', class: createColorClasses$1(this.color, {
|
|
33915
34511
|
[mode]: true,
|
|
33916
34512
|
'has-value': hasValue,
|
|
33917
34513
|
'has-focus': hasFocus,
|
|
@@ -33920,7 +34516,7 @@ class Textarea {
|
|
|
33920
34516
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
33921
34517
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
33922
34518
|
'textarea-disabled': disabled,
|
|
33923
|
-
}) }, hAsync("label", { key: '
|
|
34519
|
+
}) }, 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
34520
|
}
|
|
33925
34521
|
get el() { return getElement(this); }
|
|
33926
34522
|
static get watchers() { return {
|
|
@@ -33982,7 +34578,7 @@ class Thumbnail {
|
|
|
33982
34578
|
registerInstance(this, hostRef);
|
|
33983
34579
|
}
|
|
33984
34580
|
render() {
|
|
33985
|
-
return (hAsync(Host, { key: '
|
|
34581
|
+
return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
|
|
33986
34582
|
}
|
|
33987
34583
|
static get style() { return thumbnailCss; }
|
|
33988
34584
|
static get cmpMeta() { return {
|
|
@@ -34841,9 +35437,9 @@ class Toast {
|
|
|
34841
35437
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
34842
35438
|
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
35439
|
}
|
|
34844
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
35440
|
+
return (hAsync(Host, Object.assign({ key: '425be734aee0eeef281ab1609a9f982ce8b5e852', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
34845
35441
|
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: '
|
|
35442
|
+
}, 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
35443
|
}
|
|
34848
35444
|
get el() { return getElement(this); }
|
|
34849
35445
|
static get watchers() { return {
|
|
@@ -35138,7 +35734,7 @@ class Toggle {
|
|
|
35138
35734
|
const value = this.getValue();
|
|
35139
35735
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
35140
35736
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
35141
|
-
return (hAsync(Host, { key: '
|
|
35737
|
+
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
35738
|
[mode]: true,
|
|
35143
35739
|
'in-item': hostContext('ion-item', el),
|
|
35144
35740
|
'toggle-activated': activated,
|
|
@@ -35148,10 +35744,10 @@ class Toggle {
|
|
|
35148
35744
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
35149
35745
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
35150
35746
|
[`toggle-${rtl}`]: true,
|
|
35151
|
-
}) }, hAsync("label", { key: '
|
|
35747
|
+
}) }, 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
35748
|
'label-text-wrapper': true,
|
|
35153
35749
|
'label-text-wrapper-hidden': !hasLabel,
|
|
35154
|
-
}, part: "label", id: inputLabelId }, hAsync("slot", { key: '
|
|
35750
|
+
}, part: "label", id: inputLabelId }, hAsync("slot", { key: 'e6afe1ed4d6f478411cc7030c44492ba59509b22' }), this.renderHintText()), hAsync("div", { key: '6271c04a5954352d93cec8dbca753084d4bac9fd', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
35155
35751
|
}
|
|
35156
35752
|
get el() { return getElement(this); }
|
|
35157
35753
|
static get watchers() { return {
|
|
@@ -35259,10 +35855,10 @@ class Toolbar {
|
|
|
35259
35855
|
this.childrenStyles.forEach((value) => {
|
|
35260
35856
|
Object.assign(childStyles, value);
|
|
35261
35857
|
});
|
|
35262
|
-
return (hAsync(Host, { key: '
|
|
35858
|
+
return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
35263
35859
|
[mode]: true,
|
|
35264
35860
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
35265
|
-
})) }, hAsync("div", { key: '
|
|
35861
|
+
})) }, 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
35862
|
}
|
|
35267
35863
|
get el() { return getElement(this); }
|
|
35268
35864
|
static get style() { return {
|
|
@@ -35308,11 +35904,11 @@ class ToolbarTitle {
|
|
|
35308
35904
|
render() {
|
|
35309
35905
|
const mode = getIonMode$1(this);
|
|
35310
35906
|
const size = this.getSize();
|
|
35311
|
-
return (hAsync(Host, { key: '
|
|
35907
|
+
return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
|
|
35312
35908
|
[mode]: true,
|
|
35313
35909
|
[`title-${size}`]: true,
|
|
35314
35910
|
'title-rtl': document.dir === 'rtl',
|
|
35315
|
-
}) }, hAsync("div", { key: '
|
|
35911
|
+
}) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
|
|
35316
35912
|
}
|
|
35317
35913
|
get el() { return getElement(this); }
|
|
35318
35914
|
static get watchers() { return {
|
|
@@ -35371,6 +35967,7 @@ registerComponents([
|
|
|
35371
35967
|
InfiniteScroll,
|
|
35372
35968
|
InfiniteScrollContent,
|
|
35373
35969
|
Input,
|
|
35970
|
+
InputOTP,
|
|
35374
35971
|
InputPasswordToggle,
|
|
35375
35972
|
Item,
|
|
35376
35973
|
ItemDivider,
|