@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.mjs
CHANGED
|
@@ -2872,6 +2872,9 @@ var setContentReference = (elm) => {
|
|
|
2872
2872
|
contentRefElm["s-cn"] = true;
|
|
2873
2873
|
insertBefore(elm, contentRefElm, elm.firstChild);
|
|
2874
2874
|
};
|
|
2875
|
+
|
|
2876
|
+
// src/runtime/fragment.ts
|
|
2877
|
+
var Fragment = (_, children) => children;
|
|
2875
2878
|
var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
|
|
2876
2879
|
if (listeners && win$2.document) {
|
|
2877
2880
|
listeners.map(([flags, name, method]) => {
|
|
@@ -16409,7 +16412,7 @@ class Input {
|
|
|
16409
16412
|
this.ionChange = createEvent(this, "ionChange", 7);
|
|
16410
16413
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
16411
16414
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
16412
|
-
this.inputId = `ion-input-${inputIds++}`;
|
|
16415
|
+
this.inputId = `ion-input-${inputIds$1++}`;
|
|
16413
16416
|
this.helperTextId = `${this.inputId}-helper-text`;
|
|
16414
16417
|
this.errorTextId = `${this.inputId}-error-text`;
|
|
16415
16418
|
this.inheritedAttributes = {};
|
|
@@ -16865,14 +16868,22 @@ class Input {
|
|
|
16865
16868
|
'in-item': inItem,
|
|
16866
16869
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
16867
16870
|
'input-disabled': disabled,
|
|
16868
|
-
}) }, 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: '
|
|
16871
|
+
}) }, 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) => {
|
|
16869
16872
|
/**
|
|
16870
16873
|
* This prevents mobile browsers from
|
|
16871
16874
|
* blurring the input when the clear
|
|
16872
16875
|
* button is activated.
|
|
16873
16876
|
*/
|
|
16874
16877
|
ev.preventDefault();
|
|
16875
|
-
},
|
|
16878
|
+
}, onFocusin: (ev) => {
|
|
16879
|
+
/**
|
|
16880
|
+
* Prevent the focusin event from bubbling otherwise it will cause the focusin
|
|
16881
|
+
* event listener in scroll assist to fire. When this fires, focus will be moved
|
|
16882
|
+
* back to the input even if the clear button was never tapped. This poses issues
|
|
16883
|
+
* for screen readers as it means users would be unable to swipe past the clear button.
|
|
16884
|
+
*/
|
|
16885
|
+
ev.stopPropagation();
|
|
16886
|
+
}, 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()));
|
|
16876
16887
|
}
|
|
16877
16888
|
get el() { return getElement(this); }
|
|
16878
16889
|
static get watchers() { return {
|
|
@@ -16932,6 +16943,591 @@ class Input {
|
|
|
16932
16943
|
"$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
|
|
16933
16944
|
}; }
|
|
16934
16945
|
}
|
|
16946
|
+
let inputIds$1 = 0;
|
|
16947
|
+
|
|
16948
|
+
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))))}";
|
|
16949
|
+
|
|
16950
|
+
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))}";
|
|
16951
|
+
|
|
16952
|
+
class InputOTP {
|
|
16953
|
+
constructor(hostRef) {
|
|
16954
|
+
registerInstance(this, hostRef);
|
|
16955
|
+
this.ionInput = createEvent(this, "ionInput", 7);
|
|
16956
|
+
this.ionChange = createEvent(this, "ionChange", 7);
|
|
16957
|
+
this.ionComplete = createEvent(this, "ionComplete", 7);
|
|
16958
|
+
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
16959
|
+
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
16960
|
+
this.inputRefs = [];
|
|
16961
|
+
this.inputId = `ion-input-otp-${inputIds++}`;
|
|
16962
|
+
this.parsedSeparators = [];
|
|
16963
|
+
/**
|
|
16964
|
+
* Tracks whether the user is navigating through input boxes using keyboard navigation
|
|
16965
|
+
* (arrow keys, tab) versus mouse clicks. This is used to determine the appropriate
|
|
16966
|
+
* focus behavior when an input box is focused.
|
|
16967
|
+
*/
|
|
16968
|
+
this.isKeyboardNavigation = false;
|
|
16969
|
+
this.inputValues = [];
|
|
16970
|
+
this.hasFocus = false;
|
|
16971
|
+
/**
|
|
16972
|
+
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
16973
|
+
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
16974
|
+
*/
|
|
16975
|
+
this.autocapitalize = 'off';
|
|
16976
|
+
/**
|
|
16977
|
+
* If `true`, the user cannot interact with the input.
|
|
16978
|
+
*/
|
|
16979
|
+
this.disabled = false;
|
|
16980
|
+
/**
|
|
16981
|
+
* The fill for the input boxes. If `"solid"` the input boxes will have a background. If
|
|
16982
|
+
* `"outline"` the input boxes will be transparent with a border.
|
|
16983
|
+
*/
|
|
16984
|
+
this.fill = 'outline';
|
|
16985
|
+
/**
|
|
16986
|
+
* The number of input boxes to display.
|
|
16987
|
+
*/
|
|
16988
|
+
this.length = 4;
|
|
16989
|
+
/**
|
|
16990
|
+
* If `true`, the user cannot modify the value.
|
|
16991
|
+
*/
|
|
16992
|
+
this.readonly = false;
|
|
16993
|
+
/**
|
|
16994
|
+
* The size of the input boxes.
|
|
16995
|
+
*/
|
|
16996
|
+
this.size = 'medium';
|
|
16997
|
+
/**
|
|
16998
|
+
* The shape of the input boxes.
|
|
16999
|
+
* If "round" they will have an increased border radius.
|
|
17000
|
+
* If "rectangular" they will have no border radius.
|
|
17001
|
+
* If "soft" they will have a soft border radius.
|
|
17002
|
+
*/
|
|
17003
|
+
this.shape = 'round';
|
|
17004
|
+
/**
|
|
17005
|
+
* The type of input allowed in the input boxes.
|
|
17006
|
+
*/
|
|
17007
|
+
this.type = 'number';
|
|
17008
|
+
/**
|
|
17009
|
+
* The value of the input group.
|
|
17010
|
+
*/
|
|
17011
|
+
this.value = '';
|
|
17012
|
+
this.onInput = (index) => (event) => {
|
|
17013
|
+
const { validKeyPattern } = this;
|
|
17014
|
+
const value = event.target.value;
|
|
17015
|
+
// Only allow input if it's a single character and matches the pattern
|
|
17016
|
+
if (value.length > 1 || (value.length > 0 && !validKeyPattern.test(value))) {
|
|
17017
|
+
// Reset the input value if not valid
|
|
17018
|
+
this.inputRefs[index].value = '';
|
|
17019
|
+
this.inputValues[index] = '';
|
|
17020
|
+
return;
|
|
17021
|
+
}
|
|
17022
|
+
// Find the first empty box before or at the current index
|
|
17023
|
+
let targetIndex = index;
|
|
17024
|
+
for (let i = 0; i < index; i++) {
|
|
17025
|
+
if (!this.inputValues[i] || this.inputValues[i] === '') {
|
|
17026
|
+
targetIndex = i;
|
|
17027
|
+
break;
|
|
17028
|
+
}
|
|
17029
|
+
}
|
|
17030
|
+
// Set the value at the target index
|
|
17031
|
+
this.inputValues[targetIndex] = value;
|
|
17032
|
+
// If the value was entered in a later box, clear the current box
|
|
17033
|
+
if (targetIndex !== index) {
|
|
17034
|
+
this.inputRefs[index].value = '';
|
|
17035
|
+
}
|
|
17036
|
+
if (value.length > 0) {
|
|
17037
|
+
this.focusNext(targetIndex);
|
|
17038
|
+
}
|
|
17039
|
+
this.updateValue(event);
|
|
17040
|
+
};
|
|
17041
|
+
/**
|
|
17042
|
+
* Handles keyboard navigation and input for the OTP component.
|
|
17043
|
+
*
|
|
17044
|
+
* Navigation:
|
|
17045
|
+
* - Backspace: Clears current input and moves to previous box if empty
|
|
17046
|
+
* - Arrow Left/Right: Moves focus between input boxes
|
|
17047
|
+
* - Tab: Allows normal tab navigation between components
|
|
17048
|
+
*
|
|
17049
|
+
* Input Behavior:
|
|
17050
|
+
* - Validates input against the allowed pattern
|
|
17051
|
+
* - When entering a key in a filled box:
|
|
17052
|
+
* - Shifts existing values right if there is room
|
|
17053
|
+
* - Updates the value of the input group
|
|
17054
|
+
* - Prevents default behavior to avoid automatic focus shift
|
|
17055
|
+
*/
|
|
17056
|
+
this.onKeyDown = (index) => (event) => {
|
|
17057
|
+
const { length } = this;
|
|
17058
|
+
const rtl = isRTL$1(this.el);
|
|
17059
|
+
const input = event.target;
|
|
17060
|
+
const isPasteShortcut = (event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'v';
|
|
17061
|
+
const isTextSelection = input.selectionStart !== input.selectionEnd;
|
|
17062
|
+
// Return if the key is the paste shortcut or the input value
|
|
17063
|
+
// text is selected and let the onPaste / onInput handler manage it
|
|
17064
|
+
if (isPasteShortcut || isTextSelection) {
|
|
17065
|
+
return;
|
|
17066
|
+
}
|
|
17067
|
+
if (event.key === 'Backspace') {
|
|
17068
|
+
if (this.inputValues[index]) {
|
|
17069
|
+
// Shift all values to the right of the current index left by one
|
|
17070
|
+
for (let i = index; i < length - 1; i++) {
|
|
17071
|
+
this.inputValues[i] = this.inputValues[i + 1];
|
|
17072
|
+
}
|
|
17073
|
+
// Clear the last box
|
|
17074
|
+
this.inputValues[length - 1] = '';
|
|
17075
|
+
// Update all inputRefs to match inputValues
|
|
17076
|
+
for (let i = 0; i < length; i++) {
|
|
17077
|
+
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
17078
|
+
}
|
|
17079
|
+
this.updateValue(event);
|
|
17080
|
+
event.preventDefault();
|
|
17081
|
+
}
|
|
17082
|
+
else if (!this.inputValues[index] && index > 0) {
|
|
17083
|
+
// If current input is empty, move to previous input
|
|
17084
|
+
this.focusPrevious(index);
|
|
17085
|
+
}
|
|
17086
|
+
}
|
|
17087
|
+
else if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
|
|
17088
|
+
this.isKeyboardNavigation = true;
|
|
17089
|
+
event.preventDefault();
|
|
17090
|
+
const isLeft = event.key === 'ArrowLeft';
|
|
17091
|
+
const shouldMoveNext = (isLeft && rtl) || (!isLeft && !rtl);
|
|
17092
|
+
// Only allow moving to the next input if the current has a value
|
|
17093
|
+
if (shouldMoveNext) {
|
|
17094
|
+
if (this.inputValues[index] && index < length - 1) {
|
|
17095
|
+
this.focusNext(index);
|
|
17096
|
+
}
|
|
17097
|
+
}
|
|
17098
|
+
else {
|
|
17099
|
+
this.focusPrevious(index);
|
|
17100
|
+
}
|
|
17101
|
+
}
|
|
17102
|
+
else if (event.key === 'Tab') {
|
|
17103
|
+
this.isKeyboardNavigation = true;
|
|
17104
|
+
// Let all tab events proceed normally
|
|
17105
|
+
return;
|
|
17106
|
+
}
|
|
17107
|
+
// If the input box contains a value and the key being
|
|
17108
|
+
// entered is a valid key for the input box update the value
|
|
17109
|
+
// and shift the values to the right if there is room.
|
|
17110
|
+
if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
|
|
17111
|
+
if (!this.inputValues[length - 1]) {
|
|
17112
|
+
for (let i = length - 1; i > index; i--) {
|
|
17113
|
+
this.inputValues[i] = this.inputValues[i - 1];
|
|
17114
|
+
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
17115
|
+
}
|
|
17116
|
+
}
|
|
17117
|
+
this.inputValues[index] = event.key;
|
|
17118
|
+
this.inputRefs[index].value = event.key;
|
|
17119
|
+
this.updateValue(event);
|
|
17120
|
+
// Prevent default to avoid the browser from
|
|
17121
|
+
// automatically moving the focus to the next input
|
|
17122
|
+
event.preventDefault();
|
|
17123
|
+
}
|
|
17124
|
+
};
|
|
17125
|
+
/**
|
|
17126
|
+
* Handles pasting text into the input OTP component.
|
|
17127
|
+
* This function prevents the default paste behavior and
|
|
17128
|
+
* validates the pasted text against the allowed pattern.
|
|
17129
|
+
* It then updates the value of the input group and focuses
|
|
17130
|
+
* the next empty input after pasting.
|
|
17131
|
+
*/
|
|
17132
|
+
this.onPaste = (event) => {
|
|
17133
|
+
var _a, _b, _c;
|
|
17134
|
+
const { inputRefs, length, validKeyPattern } = this;
|
|
17135
|
+
event.preventDefault();
|
|
17136
|
+
const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
|
|
17137
|
+
// If there is no pasted text, still emit the input change event
|
|
17138
|
+
// because this is how the native input element behaves
|
|
17139
|
+
// but return early because there is nothing to paste.
|
|
17140
|
+
if (!pastedText) {
|
|
17141
|
+
this.emitIonInput(event);
|
|
17142
|
+
return;
|
|
17143
|
+
}
|
|
17144
|
+
const validChars = pastedText
|
|
17145
|
+
.split('')
|
|
17146
|
+
.filter((char) => validKeyPattern.test(char))
|
|
17147
|
+
.slice(0, length);
|
|
17148
|
+
// Find the first empty input
|
|
17149
|
+
const startIndex = this.getFirstEmptyIndex();
|
|
17150
|
+
// If all boxes are filled, start at 0
|
|
17151
|
+
const pasteStart = startIndex === -1 ? 0 : startIndex;
|
|
17152
|
+
validChars.forEach((char, index) => {
|
|
17153
|
+
const targetIndex = pasteStart + index;
|
|
17154
|
+
if (targetIndex < length) {
|
|
17155
|
+
this.inputRefs[targetIndex].value = char;
|
|
17156
|
+
this.inputValues[targetIndex] = char;
|
|
17157
|
+
}
|
|
17158
|
+
});
|
|
17159
|
+
this.updateValue(event);
|
|
17160
|
+
// Focus the next empty input after pasting
|
|
17161
|
+
// If all boxes are filled, focus the last input
|
|
17162
|
+
const nextEmptyIndex = pasteStart + validChars.length;
|
|
17163
|
+
if (nextEmptyIndex < length) {
|
|
17164
|
+
(_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
17165
|
+
}
|
|
17166
|
+
else {
|
|
17167
|
+
(_c = inputRefs[length - 1]) === null || _c === void 0 ? void 0 : _c.focus();
|
|
17168
|
+
}
|
|
17169
|
+
};
|
|
17170
|
+
/**
|
|
17171
|
+
* Handles the focus behavior for the input OTP component.
|
|
17172
|
+
*
|
|
17173
|
+
* Focus behavior:
|
|
17174
|
+
* 1. Keyboard navigation: Allow normal focus movement
|
|
17175
|
+
* 2. Mouse click:
|
|
17176
|
+
* - If clicked box has value: Focus that box
|
|
17177
|
+
* - If clicked box is empty: Focus first empty box
|
|
17178
|
+
*
|
|
17179
|
+
* Emits the `ionFocus` event when the input group gains focus.
|
|
17180
|
+
*/
|
|
17181
|
+
this.onFocus = (index) => (event) => {
|
|
17182
|
+
var _a;
|
|
17183
|
+
const { inputRefs } = this;
|
|
17184
|
+
// Only emit ionFocus and set the focusedValue when the
|
|
17185
|
+
// component first gains focus
|
|
17186
|
+
if (!this.hasFocus) {
|
|
17187
|
+
this.ionFocus.emit(event);
|
|
17188
|
+
this.focusedValue = this.value;
|
|
17189
|
+
}
|
|
17190
|
+
this.hasFocus = true;
|
|
17191
|
+
let finalIndex = index;
|
|
17192
|
+
if (!this.isKeyboardNavigation) {
|
|
17193
|
+
// If the clicked box has a value, focus it
|
|
17194
|
+
// Otherwise focus the first empty box
|
|
17195
|
+
const targetIndex = this.inputValues[index] ? index : this.getFirstEmptyIndex();
|
|
17196
|
+
finalIndex = targetIndex === -1 ? this.length - 1 : targetIndex;
|
|
17197
|
+
// Focus the target box
|
|
17198
|
+
(_a = this.inputRefs[finalIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17199
|
+
}
|
|
17200
|
+
// Update tabIndexes to match the focused box
|
|
17201
|
+
inputRefs.forEach((input, i) => {
|
|
17202
|
+
input.tabIndex = i === finalIndex ? 0 : -1;
|
|
17203
|
+
});
|
|
17204
|
+
// Reset the keyboard navigation flag
|
|
17205
|
+
this.isKeyboardNavigation = false;
|
|
17206
|
+
};
|
|
17207
|
+
/**
|
|
17208
|
+
* Handles the blur behavior for the input OTP component.
|
|
17209
|
+
* Emits the `ionBlur` event when the input group loses focus.
|
|
17210
|
+
*/
|
|
17211
|
+
this.onBlur = (event) => {
|
|
17212
|
+
const { inputRefs } = this;
|
|
17213
|
+
const relatedTarget = event.relatedTarget;
|
|
17214
|
+
// Do not emit blur if we're moving to another input box in the same component
|
|
17215
|
+
const isInternalFocus = relatedTarget != null && inputRefs.includes(relatedTarget);
|
|
17216
|
+
if (!isInternalFocus) {
|
|
17217
|
+
this.hasFocus = false;
|
|
17218
|
+
// Reset tabIndexes when focus leaves the component
|
|
17219
|
+
this.updateTabIndexes();
|
|
17220
|
+
// Always emit ionBlur when focus leaves the component
|
|
17221
|
+
this.ionBlur.emit(event);
|
|
17222
|
+
// Only emit ionChange if the value has actually changed
|
|
17223
|
+
if (this.focusedValue !== this.value) {
|
|
17224
|
+
this.emitIonChange(event);
|
|
17225
|
+
}
|
|
17226
|
+
}
|
|
17227
|
+
};
|
|
17228
|
+
}
|
|
17229
|
+
valueChanged() {
|
|
17230
|
+
this.initializeValues();
|
|
17231
|
+
}
|
|
17232
|
+
/**
|
|
17233
|
+
* Processes the separators prop into an array of numbers.
|
|
17234
|
+
*
|
|
17235
|
+
* If the separators prop is not provided, returns an empty array.
|
|
17236
|
+
* If the separators prop is 'all', returns an array of all valid positions (1 to length-1).
|
|
17237
|
+
* If the separators prop is an array, returns it as is.
|
|
17238
|
+
* If the separators prop is a string, splits it by commas and parses each part as a number.
|
|
17239
|
+
*
|
|
17240
|
+
* If the separators are greater than the input length, it will warn and ignore the separators.
|
|
17241
|
+
*/
|
|
17242
|
+
processSeparators() {
|
|
17243
|
+
const { separators, length } = this;
|
|
17244
|
+
if (separators === undefined) {
|
|
17245
|
+
this.parsedSeparators = [];
|
|
17246
|
+
return;
|
|
17247
|
+
}
|
|
17248
|
+
if (typeof separators === 'string' && separators !== 'all') {
|
|
17249
|
+
const isValidFormat = /^(\d+)(,\d+)*$/.test(separators);
|
|
17250
|
+
if (!isValidFormat) {
|
|
17251
|
+
printIonWarning(`[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: ${separators}`, this.el);
|
|
17252
|
+
this.parsedSeparators = [];
|
|
17253
|
+
return;
|
|
17254
|
+
}
|
|
17255
|
+
}
|
|
17256
|
+
let separatorValues;
|
|
17257
|
+
if (separators === 'all') {
|
|
17258
|
+
separatorValues = Array.from({ length: length - 1 }, (_, i) => i + 1);
|
|
17259
|
+
}
|
|
17260
|
+
else if (Array.isArray(separators)) {
|
|
17261
|
+
separatorValues = separators;
|
|
17262
|
+
}
|
|
17263
|
+
else {
|
|
17264
|
+
separatorValues = separators
|
|
17265
|
+
.split(',')
|
|
17266
|
+
.map((pos) => parseInt(pos, 10))
|
|
17267
|
+
.filter((pos) => !isNaN(pos));
|
|
17268
|
+
}
|
|
17269
|
+
// Check for duplicate separator positions
|
|
17270
|
+
const duplicates = separatorValues.filter((pos, index) => separatorValues.indexOf(pos) !== index);
|
|
17271
|
+
if (duplicates.length > 0) {
|
|
17272
|
+
printIonWarning(`[ion-input-otp] - Duplicate separator positions are not allowed. Received: ${separators}`, this.el);
|
|
17273
|
+
}
|
|
17274
|
+
const invalidSeparators = separatorValues.filter((pos) => pos > length);
|
|
17275
|
+
if (invalidSeparators.length > 0) {
|
|
17276
|
+
printIonWarning(`[ion-input-otp] - The following separator positions are greater than the input length (${length}): ${invalidSeparators.join(', ')}. These separators will be ignored.`, this.el);
|
|
17277
|
+
}
|
|
17278
|
+
this.parsedSeparators = separatorValues.filter((pos) => pos <= length);
|
|
17279
|
+
}
|
|
17280
|
+
componentWillLoad() {
|
|
17281
|
+
this.processSeparators();
|
|
17282
|
+
this.initializeValues();
|
|
17283
|
+
}
|
|
17284
|
+
/**
|
|
17285
|
+
* Initializes the input values array based on the current value prop.
|
|
17286
|
+
* This splits the value into individual characters and validates them against
|
|
17287
|
+
* the allowed pattern. The values are then used as the values in the native
|
|
17288
|
+
* input boxes and the value of the input group is updated.
|
|
17289
|
+
*/
|
|
17290
|
+
initializeValues() {
|
|
17291
|
+
if (this.value != null && String(this.value).length > 0) {
|
|
17292
|
+
const chars = String(this.value).split('').slice(0, this.length);
|
|
17293
|
+
chars.forEach((char, index) => {
|
|
17294
|
+
if (this.validKeyPattern.test(char)) {
|
|
17295
|
+
this.inputValues[index] = char;
|
|
17296
|
+
}
|
|
17297
|
+
});
|
|
17298
|
+
// Update the value without emitting events
|
|
17299
|
+
this.value = this.inputValues.join('');
|
|
17300
|
+
}
|
|
17301
|
+
}
|
|
17302
|
+
/**
|
|
17303
|
+
* Resets the input values and focus state.
|
|
17304
|
+
*/
|
|
17305
|
+
async reset() {
|
|
17306
|
+
this.inputValues = Array(this.length).fill('');
|
|
17307
|
+
this.value = '';
|
|
17308
|
+
this.focusedValue = null;
|
|
17309
|
+
this.hasFocus = false;
|
|
17310
|
+
this.inputRefs.forEach((input) => {
|
|
17311
|
+
input.blur();
|
|
17312
|
+
});
|
|
17313
|
+
this.updateTabIndexes();
|
|
17314
|
+
}
|
|
17315
|
+
/**
|
|
17316
|
+
* Sets focus to an input box.
|
|
17317
|
+
* @param index - The index of the input box to focus (0-based).
|
|
17318
|
+
* If provided and the input box has a value, the input box at that index will be focused.
|
|
17319
|
+
* Otherwise, the first empty input box or the last input if all are filled will be focused.
|
|
17320
|
+
*/
|
|
17321
|
+
async setFocus(index) {
|
|
17322
|
+
var _a, _b;
|
|
17323
|
+
if (typeof index === 'number') {
|
|
17324
|
+
const validIndex = Math.max(0, Math.min(index, this.length - 1));
|
|
17325
|
+
(_a = this.inputRefs[validIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17326
|
+
}
|
|
17327
|
+
else {
|
|
17328
|
+
const tabbableIndex = this.getTabbableIndex();
|
|
17329
|
+
(_b = this.inputRefs[tabbableIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
17330
|
+
}
|
|
17331
|
+
}
|
|
17332
|
+
/**
|
|
17333
|
+
* Get the regex pattern for allowed characters.
|
|
17334
|
+
* If a pattern is provided, use it to create a regex pattern
|
|
17335
|
+
* Otherwise, use the default regex pattern based on type
|
|
17336
|
+
*/
|
|
17337
|
+
get validKeyPattern() {
|
|
17338
|
+
return new RegExp(`^${this.getPattern()}$`, 'u');
|
|
17339
|
+
}
|
|
17340
|
+
/**
|
|
17341
|
+
* Gets the string pattern to pass to the input element
|
|
17342
|
+
* and use in the regex for allowed characters.
|
|
17343
|
+
*/
|
|
17344
|
+
getPattern() {
|
|
17345
|
+
const { pattern, type } = this;
|
|
17346
|
+
if (pattern) {
|
|
17347
|
+
return pattern;
|
|
17348
|
+
}
|
|
17349
|
+
return type === 'number' ? '[0-9]' : '[\\p{L}\\p{N}]';
|
|
17350
|
+
}
|
|
17351
|
+
/**
|
|
17352
|
+
* Get the default value for inputmode.
|
|
17353
|
+
* If inputmode is provided, use it.
|
|
17354
|
+
* Otherwise, use the default inputmode based on type
|
|
17355
|
+
*/
|
|
17356
|
+
getInputmode() {
|
|
17357
|
+
const { inputmode } = this;
|
|
17358
|
+
if (inputmode) {
|
|
17359
|
+
return inputmode;
|
|
17360
|
+
}
|
|
17361
|
+
if (this.type == 'number') {
|
|
17362
|
+
return 'numeric';
|
|
17363
|
+
}
|
|
17364
|
+
else {
|
|
17365
|
+
return 'text';
|
|
17366
|
+
}
|
|
17367
|
+
}
|
|
17368
|
+
/**
|
|
17369
|
+
* Updates the value of the input group.
|
|
17370
|
+
* This updates the value of the input group and emits an `ionChange` event.
|
|
17371
|
+
* If all of the input boxes are filled, it emits an `ionComplete` event.
|
|
17372
|
+
*/
|
|
17373
|
+
updateValue(event) {
|
|
17374
|
+
const { inputValues, length } = this;
|
|
17375
|
+
const newValue = inputValues.join('');
|
|
17376
|
+
this.value = newValue;
|
|
17377
|
+
this.emitIonInput(event);
|
|
17378
|
+
if (newValue.length === length) {
|
|
17379
|
+
this.ionComplete.emit({ value: newValue });
|
|
17380
|
+
}
|
|
17381
|
+
}
|
|
17382
|
+
/**
|
|
17383
|
+
* Emits an `ionChange` event.
|
|
17384
|
+
* This API should be called for user committed changes.
|
|
17385
|
+
* This API should not be used for external value changes.
|
|
17386
|
+
*/
|
|
17387
|
+
emitIonChange(event) {
|
|
17388
|
+
const { value } = this;
|
|
17389
|
+
// Checks for both null and undefined values
|
|
17390
|
+
const newValue = value == null ? value : value.toString();
|
|
17391
|
+
this.ionChange.emit({ value: newValue, event });
|
|
17392
|
+
}
|
|
17393
|
+
/**
|
|
17394
|
+
* Emits an `ionInput` event.
|
|
17395
|
+
* This is used to emit the input value when the user types,
|
|
17396
|
+
* backspaces, or pastes.
|
|
17397
|
+
*/
|
|
17398
|
+
emitIonInput(event) {
|
|
17399
|
+
const { value } = this;
|
|
17400
|
+
// Checks for both null and undefined values
|
|
17401
|
+
const newValue = value == null ? value : value.toString();
|
|
17402
|
+
this.ionInput.emit({ value: newValue, event });
|
|
17403
|
+
}
|
|
17404
|
+
/**
|
|
17405
|
+
* Focuses the next input box.
|
|
17406
|
+
*/
|
|
17407
|
+
focusNext(currentIndex) {
|
|
17408
|
+
var _a;
|
|
17409
|
+
const { inputRefs, length } = this;
|
|
17410
|
+
if (currentIndex < length - 1) {
|
|
17411
|
+
(_a = inputRefs[currentIndex + 1]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17412
|
+
}
|
|
17413
|
+
}
|
|
17414
|
+
/**
|
|
17415
|
+
* Focuses the previous input box.
|
|
17416
|
+
*/
|
|
17417
|
+
focusPrevious(currentIndex) {
|
|
17418
|
+
var _a;
|
|
17419
|
+
const { inputRefs } = this;
|
|
17420
|
+
if (currentIndex > 0) {
|
|
17421
|
+
(_a = inputRefs[currentIndex - 1]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17422
|
+
}
|
|
17423
|
+
}
|
|
17424
|
+
/**
|
|
17425
|
+
* Determines if a separator should be shown for a given index by
|
|
17426
|
+
* checking if the index is included in the parsed separators array.
|
|
17427
|
+
*/
|
|
17428
|
+
showSeparator(index) {
|
|
17429
|
+
const { length } = this;
|
|
17430
|
+
return this.parsedSeparators.includes(index + 1) && index < length - 1;
|
|
17431
|
+
}
|
|
17432
|
+
/**
|
|
17433
|
+
* Updates the tabIndexes for the input boxes.
|
|
17434
|
+
* This is used to ensure that the correct input is
|
|
17435
|
+
* focused when the user navigates using the tab key.
|
|
17436
|
+
*/
|
|
17437
|
+
updateTabIndexes() {
|
|
17438
|
+
const { inputRefs, inputValues, length } = this;
|
|
17439
|
+
// Find first empty index after any filled boxes
|
|
17440
|
+
let firstEmptyIndex = -1;
|
|
17441
|
+
for (let i = 0; i < length; i++) {
|
|
17442
|
+
if (!inputValues[i] || inputValues[i] === '') {
|
|
17443
|
+
firstEmptyIndex = i;
|
|
17444
|
+
break;
|
|
17445
|
+
}
|
|
17446
|
+
}
|
|
17447
|
+
// Update tabIndex for all inputs
|
|
17448
|
+
inputRefs.forEach((input, index) => {
|
|
17449
|
+
// If all boxes are filled, make the last box tabbable
|
|
17450
|
+
// Otherwise, make the first empty box tabbable
|
|
17451
|
+
const shouldBeTabbable = firstEmptyIndex === -1 ? index === length - 1 : firstEmptyIndex === index;
|
|
17452
|
+
input.tabIndex = shouldBeTabbable ? 0 : -1;
|
|
17453
|
+
});
|
|
17454
|
+
}
|
|
17455
|
+
/**
|
|
17456
|
+
* Searches through the input values and returns the index
|
|
17457
|
+
* of the first empty input.
|
|
17458
|
+
* Returns -1 if all inputs are filled.
|
|
17459
|
+
*/
|
|
17460
|
+
getFirstEmptyIndex() {
|
|
17461
|
+
var _a;
|
|
17462
|
+
const { inputValues, length } = this;
|
|
17463
|
+
// Create an array of the same length as the input OTP
|
|
17464
|
+
// and fill it with the input values
|
|
17465
|
+
const values = Array.from({ length }, (_, i) => inputValues[i] || '');
|
|
17466
|
+
return (_a = values.findIndex((value) => !value || value === '')) !== null && _a !== void 0 ? _a : -1;
|
|
17467
|
+
}
|
|
17468
|
+
/**
|
|
17469
|
+
* Returns the index of the input that should be tabbed to.
|
|
17470
|
+
* If all inputs are filled, returns the last input's index.
|
|
17471
|
+
* Otherwise, returns the index of the first empty input.
|
|
17472
|
+
*/
|
|
17473
|
+
getTabbableIndex() {
|
|
17474
|
+
const { length } = this;
|
|
17475
|
+
const firstEmptyIndex = this.getFirstEmptyIndex();
|
|
17476
|
+
return firstEmptyIndex === -1 ? length - 1 : firstEmptyIndex;
|
|
17477
|
+
}
|
|
17478
|
+
render() {
|
|
17479
|
+
const { autocapitalize, color, disabled, fill, hasFocus, inputId, inputRefs, inputValues, length, readonly, shape, size, } = this;
|
|
17480
|
+
const mode = getIonMode$1(this);
|
|
17481
|
+
const inputmode = this.getInputmode();
|
|
17482
|
+
const tabbableIndex = this.getTabbableIndex();
|
|
17483
|
+
const pattern = this.getPattern();
|
|
17484
|
+
return (hAsync(Host, { key: 'd299153bec43019436d8f0e0bbb3fa01a712e81c', class: createColorClasses$1(color, {
|
|
17485
|
+
[mode]: true,
|
|
17486
|
+
'has-focus': hasFocus,
|
|
17487
|
+
[`input-otp-size-${size}`]: true,
|
|
17488
|
+
[`input-otp-shape-${shape}`]: true,
|
|
17489
|
+
[`input-otp-fill-${fill}`]: true,
|
|
17490
|
+
'input-otp-disabled': disabled,
|
|
17491
|
+
'input-otp-readonly': readonly,
|
|
17492
|
+
}) }, 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' }))));
|
|
17493
|
+
}
|
|
17494
|
+
get el() { return getElement(this); }
|
|
17495
|
+
static get watchers() { return {
|
|
17496
|
+
"value": ["valueChanged"],
|
|
17497
|
+
"separators": ["processSeparators"],
|
|
17498
|
+
"length": ["processSeparators"]
|
|
17499
|
+
}; }
|
|
17500
|
+
static get style() { return {
|
|
17501
|
+
ios: inputOtpIosCss,
|
|
17502
|
+
md: inputOtpMdCss
|
|
17503
|
+
}; }
|
|
17504
|
+
static get cmpMeta() { return {
|
|
17505
|
+
"$flags$": 38,
|
|
17506
|
+
"$tagName$": "ion-input-otp",
|
|
17507
|
+
"$members$": {
|
|
17508
|
+
"autocapitalize": [1],
|
|
17509
|
+
"color": [513],
|
|
17510
|
+
"disabled": [516],
|
|
17511
|
+
"fill": [1],
|
|
17512
|
+
"inputmode": [1],
|
|
17513
|
+
"length": [2],
|
|
17514
|
+
"pattern": [1],
|
|
17515
|
+
"readonly": [516],
|
|
17516
|
+
"size": [1],
|
|
17517
|
+
"separators": [1],
|
|
17518
|
+
"shape": [1],
|
|
17519
|
+
"type": [1],
|
|
17520
|
+
"value": [1032],
|
|
17521
|
+
"inputValues": [32],
|
|
17522
|
+
"hasFocus": [32],
|
|
17523
|
+
"reset": [64],
|
|
17524
|
+
"setFocus": [64]
|
|
17525
|
+
},
|
|
17526
|
+
"$listeners$": undefined,
|
|
17527
|
+
"$lazyBundleId$": "-",
|
|
17528
|
+
"$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
|
|
17529
|
+
}; }
|
|
17530
|
+
}
|
|
16935
17531
|
let inputIds = 0;
|
|
16936
17532
|
|
|
16937
17533
|
const iosInputPasswordToggleCss = "";
|
|
@@ -16993,16 +17589,16 @@ class InputPasswordToggle {
|
|
|
16993
17589
|
const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
|
|
16994
17590
|
const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
|
|
16995
17591
|
const isPasswordVisible = type === 'text';
|
|
16996
|
-
return (hAsync(Host, { key: '
|
|
17592
|
+
return (hAsync(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses$1(color, {
|
|
16997
17593
|
[mode]: true,
|
|
16998
|
-
}) }, hAsync("ion-button", { key: '
|
|
17594
|
+
}) }, 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) => {
|
|
16999
17595
|
/**
|
|
17000
17596
|
* This prevents mobile browsers from
|
|
17001
17597
|
* blurring the input when the password toggle
|
|
17002
17598
|
* button is activated.
|
|
17003
17599
|
*/
|
|
17004
17600
|
ev.preventDefault();
|
|
17005
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
17601
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'e7656040b08c6a394d56f1fc41d6ca34225287d2', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
|
|
17006
17602
|
}
|
|
17007
17603
|
get el() { return getElement(this); }
|
|
17008
17604
|
static get watchers() { return {
|
|
@@ -17312,11 +17908,11 @@ class ItemDivider {
|
|
|
17312
17908
|
}
|
|
17313
17909
|
render() {
|
|
17314
17910
|
const mode = getIonMode$1(this);
|
|
17315
|
-
return (hAsync(Host, { key: '
|
|
17911
|
+
return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
|
|
17316
17912
|
[mode]: true,
|
|
17317
17913
|
'item-divider-sticky': this.sticky,
|
|
17318
17914
|
item: true,
|
|
17319
|
-
}) }, hAsync("slot", { key: '
|
|
17915
|
+
}) }, 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" }))));
|
|
17320
17916
|
}
|
|
17321
17917
|
get el() { return getElement(this); }
|
|
17322
17918
|
static get style() { return {
|
|
@@ -17346,7 +17942,7 @@ class ItemGroup {
|
|
|
17346
17942
|
}
|
|
17347
17943
|
render() {
|
|
17348
17944
|
const mode = getIonMode$1(this);
|
|
17349
|
-
return (hAsync(Host, { key: '
|
|
17945
|
+
return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
|
|
17350
17946
|
[mode]: true,
|
|
17351
17947
|
// Used internally for styling
|
|
17352
17948
|
[`item-group-${mode}`]: true,
|
|
@@ -17416,12 +18012,12 @@ class ItemOption {
|
|
|
17416
18012
|
href: this.href,
|
|
17417
18013
|
target: this.target,
|
|
17418
18014
|
};
|
|
17419
|
-
return (hAsync(Host, { key: '
|
|
18015
|
+
return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
17420
18016
|
[mode]: true,
|
|
17421
18017
|
'item-option-disabled': disabled,
|
|
17422
18018
|
'item-option-expandable': expandable,
|
|
17423
18019
|
'ion-activatable': true,
|
|
17424
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
18020
|
+
}) }, 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' }))));
|
|
17425
18021
|
}
|
|
17426
18022
|
get el() { return getElement(this); }
|
|
17427
18023
|
static get style() { return {
|
|
@@ -17470,7 +18066,7 @@ class ItemOptions {
|
|
|
17470
18066
|
render() {
|
|
17471
18067
|
const mode = getIonMode$1(this);
|
|
17472
18068
|
const isEnd = isEndSide(this.side);
|
|
17473
|
-
return (hAsync(Host, { key: '
|
|
18069
|
+
return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
|
|
17474
18070
|
[mode]: true,
|
|
17475
18071
|
// Used internally for styling
|
|
17476
18072
|
[`item-options-${mode}`]: true,
|
|
@@ -17934,7 +18530,7 @@ class ItemSliding {
|
|
|
17934
18530
|
}
|
|
17935
18531
|
render() {
|
|
17936
18532
|
const mode = getIonMode$1(this);
|
|
17937
|
-
return (hAsync(Host, { key: '
|
|
18533
|
+
return (hAsync(Host, { key: '9880396ad79e06117d572a27f92c4b753d1e26db', class: {
|
|
17938
18534
|
[mode]: true,
|
|
17939
18535
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
17940
18536
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -18039,13 +18635,13 @@ class Label {
|
|
|
18039
18635
|
render() {
|
|
18040
18636
|
const position = this.position;
|
|
18041
18637
|
const mode = getIonMode$1(this);
|
|
18042
|
-
return (hAsync(Host, { key: '
|
|
18638
|
+
return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
|
|
18043
18639
|
[mode]: true,
|
|
18044
18640
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
18045
18641
|
[`label-${position}`]: position !== undefined,
|
|
18046
18642
|
[`label-no-animate`]: this.noAnimate,
|
|
18047
18643
|
'label-rtl': document.dir === 'rtl',
|
|
18048
|
-
}) }, hAsync("slot", { key: '
|
|
18644
|
+
}) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
|
|
18049
18645
|
}
|
|
18050
18646
|
get el() { return getElement(this); }
|
|
18051
18647
|
static get watchers() { return {
|
|
@@ -18101,7 +18697,7 @@ class List {
|
|
|
18101
18697
|
render() {
|
|
18102
18698
|
const mode = getIonMode$1(this);
|
|
18103
18699
|
const { lines, inset } = this;
|
|
18104
|
-
return (hAsync(Host, { key: '
|
|
18700
|
+
return (hAsync(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
|
|
18105
18701
|
[mode]: true,
|
|
18106
18702
|
// Used internally for styling
|
|
18107
18703
|
[`list-${mode}`]: true,
|
|
@@ -18143,10 +18739,10 @@ class ListHeader {
|
|
|
18143
18739
|
render() {
|
|
18144
18740
|
const { lines } = this;
|
|
18145
18741
|
const mode = getIonMode$1(this);
|
|
18146
|
-
return (hAsync(Host, { key: '
|
|
18742
|
+
return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
|
|
18147
18743
|
[mode]: true,
|
|
18148
18744
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
18149
|
-
}) }, hAsync("div", { key: '
|
|
18745
|
+
}) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
|
|
18150
18746
|
}
|
|
18151
18747
|
static get style() { return {
|
|
18152
18748
|
ios: listHeaderIosCss,
|
|
@@ -18432,9 +19028,9 @@ class Loading {
|
|
|
18432
19028
|
* Otherwise, don't set aria-labelledby.
|
|
18433
19029
|
*/
|
|
18434
19030
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
18435
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
19031
|
+
return (hAsync(Host, Object.assign({ key: '6369ed244c06c39aa338141bffacf7a861d7da1a', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
18436
19032
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
18437
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
19033
|
+
}, 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" })));
|
|
18438
19034
|
}
|
|
18439
19035
|
get el() { return getElement(this); }
|
|
18440
19036
|
static get watchers() { return {
|
|
@@ -19458,14 +20054,14 @@ class Menu {
|
|
|
19458
20054
|
* the ionBackButton listener in the menu controller
|
|
19459
20055
|
* will handle closing the menu when Escape is pressed.
|
|
19460
20056
|
*/
|
|
19461
|
-
return (hAsync(Host, { key: '
|
|
20057
|
+
return (hAsync(Host, { key: '9e4ae9476a76781f1d228395c9af9e1c39ec82bb', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
19462
20058
|
[mode]: true,
|
|
19463
20059
|
[`menu-type-${type}`]: true,
|
|
19464
20060
|
'menu-enabled': !disabled,
|
|
19465
20061
|
[`menu-side-${side}`]: true,
|
|
19466
20062
|
'menu-pane-visible': isPaneVisible,
|
|
19467
20063
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
19468
|
-
} }, hAsync("div", { key: '
|
|
20064
|
+
} }, 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" })));
|
|
19469
20065
|
}
|
|
19470
20066
|
get el() { return getElement(this); }
|
|
19471
20067
|
static get watchers() { return {
|
|
@@ -19573,7 +20169,7 @@ class MenuButton {
|
|
|
19573
20169
|
type: this.type,
|
|
19574
20170
|
};
|
|
19575
20171
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
19576
|
-
return (hAsync(Host, { key: '
|
|
20172
|
+
return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
19577
20173
|
[mode]: true,
|
|
19578
20174
|
button: true, // ion-buttons target .button
|
|
19579
20175
|
'menu-button-hidden': hidden,
|
|
@@ -19582,7 +20178,7 @@ class MenuButton {
|
|
|
19582
20178
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
19583
20179
|
'ion-activatable': true,
|
|
19584
20180
|
'ion-focusable': true,
|
|
19585
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
20181
|
+
}) }, 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" }))));
|
|
19586
20182
|
}
|
|
19587
20183
|
get el() { return getElement(this); }
|
|
19588
20184
|
static get style() { return {
|
|
@@ -19635,10 +20231,10 @@ class MenuToggle {
|
|
|
19635
20231
|
render() {
|
|
19636
20232
|
const mode = getIonMode$1(this);
|
|
19637
20233
|
const hidden = this.autoHide && !this.visible;
|
|
19638
|
-
return (hAsync(Host, { key: '
|
|
20234
|
+
return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
19639
20235
|
[mode]: true,
|
|
19640
20236
|
'menu-toggle-hidden': hidden,
|
|
19641
|
-
} }, hAsync("slot", { key: '
|
|
20237
|
+
} }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
|
|
19642
20238
|
}
|
|
19643
20239
|
static get style() { return menuToggleCss; }
|
|
19644
20240
|
static get cmpMeta() { return {
|
|
@@ -21970,18 +22566,18 @@ class Modal {
|
|
|
21970
22566
|
const mode = getIonMode$1(this);
|
|
21971
22567
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
21972
22568
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
21973
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
22569
|
+
return (hAsync(Host, Object.assign({ key: '0bcbdcfcd7d890eb599da3f97f21c317d34f8e0e', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
21974
22570
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
21975
|
-
}, 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: '
|
|
22571
|
+
}, 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',
|
|
21976
22572
|
/*
|
|
21977
22573
|
role and aria-modal must be used on the
|
|
21978
22574
|
same element. They must also be set inside the
|
|
21979
22575
|
shadow DOM otherwise ion-button will not be highlighted
|
|
21980
22576
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
21981
22577
|
*/
|
|
21982
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
22578
|
+
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",
|
|
21983
22579
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
21984
|
-
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: '
|
|
22580
|
+
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' }))));
|
|
21985
22581
|
}
|
|
21986
22582
|
get el() { return getElement(this); }
|
|
21987
22583
|
static get watchers() { return {
|
|
@@ -22928,7 +23524,7 @@ class Nav {
|
|
|
22928
23524
|
}
|
|
22929
23525
|
}
|
|
22930
23526
|
render() {
|
|
22931
|
-
return hAsync("slot", { key: '
|
|
23527
|
+
return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
|
|
22932
23528
|
}
|
|
22933
23529
|
get el() { return getElement(this); }
|
|
22934
23530
|
static get watchers() { return {
|
|
@@ -23001,7 +23597,7 @@ class NavLink {
|
|
|
23001
23597
|
};
|
|
23002
23598
|
}
|
|
23003
23599
|
render() {
|
|
23004
|
-
return hAsync(Host, { key: '
|
|
23600
|
+
return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
|
|
23005
23601
|
}
|
|
23006
23602
|
get el() { return getElement(this); }
|
|
23007
23603
|
static get cmpMeta() { return {
|
|
@@ -23032,9 +23628,9 @@ class Note {
|
|
|
23032
23628
|
}
|
|
23033
23629
|
render() {
|
|
23034
23630
|
const mode = getIonMode$1(this);
|
|
23035
|
-
return (hAsync(Host, { key: '
|
|
23631
|
+
return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
|
|
23036
23632
|
[mode]: true,
|
|
23037
|
-
}) }, hAsync("slot", { key: '
|
|
23633
|
+
}) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
|
|
23038
23634
|
}
|
|
23039
23635
|
static get style() { return {
|
|
23040
23636
|
ios: noteIosCss,
|
|
@@ -23794,11 +24390,11 @@ class Picker {
|
|
|
23794
24390
|
render() {
|
|
23795
24391
|
const { htmlAttributes } = this;
|
|
23796
24392
|
const mode = getIonMode$1(this);
|
|
23797
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24393
|
+
return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
23798
24394
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
23799
24395
|
}, class: Object.assign({ [mode]: true,
|
|
23800
24396
|
// Used internally for styling
|
|
23801
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
24397
|
+
[`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" })));
|
|
23802
24398
|
}
|
|
23803
24399
|
get el() { return getElement(this); }
|
|
23804
24400
|
static get watchers() { return {
|
|
@@ -24785,9 +25381,9 @@ class PickerColumnCmp {
|
|
|
24785
25381
|
render() {
|
|
24786
25382
|
const col = this.col;
|
|
24787
25383
|
const mode = getIonMode$1(this);
|
|
24788
|
-
return (hAsync(Host, { key: '
|
|
25384
|
+
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: {
|
|
24789
25385
|
'max-width': this.col.columnWidth,
|
|
24790
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
25386
|
+
} }, 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))));
|
|
24791
25387
|
}
|
|
24792
25388
|
get el() { return getElement(this); }
|
|
24793
25389
|
static get watchers() { return {
|
|
@@ -24904,10 +25500,10 @@ class PickerColumnOption {
|
|
|
24904
25500
|
render() {
|
|
24905
25501
|
const { color, disabled, ariaLabel } = this;
|
|
24906
25502
|
const mode = getIonMode$1(this);
|
|
24907
|
-
return (hAsync(Host, { key: '
|
|
25503
|
+
return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
|
|
24908
25504
|
[mode]: true,
|
|
24909
25505
|
['option-disabled']: disabled,
|
|
24910
|
-
}) }, hAsync("button", { key: '
|
|
25506
|
+
}) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
|
|
24911
25507
|
}
|
|
24912
25508
|
get el() { return getElement(this); }
|
|
24913
25509
|
static get watchers() { return {
|
|
@@ -26313,9 +26909,9 @@ class Popover {
|
|
|
26313
26909
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
26314
26910
|
const desktop = isPlatform('desktop');
|
|
26315
26911
|
const enableArrow = arrow && !parentPopover;
|
|
26316
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
26912
|
+
return (hAsync(Host, Object.assign({ key: '1de4862099cfcb5035e78008e6dc7c1371846f9a', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
26317
26913
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
26318
|
-
}, 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: '
|
|
26914
|
+
}, 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' })))));
|
|
26319
26915
|
}
|
|
26320
26916
|
get el() { return getElement(this); }
|
|
26321
26917
|
static get watchers() { return {
|
|
@@ -26420,7 +27016,7 @@ class ProgressBar {
|
|
|
26420
27016
|
const mode = getIonMode$1(this);
|
|
26421
27017
|
// If the progress is displayed as a solid bar.
|
|
26422
27018
|
const progressSolid = buffer === 1;
|
|
26423
|
-
return (hAsync(Host, { key: '
|
|
27019
|
+
return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
26424
27020
|
[mode]: true,
|
|
26425
27021
|
[`progress-bar-${type}`]: true,
|
|
26426
27022
|
'progress-paused': paused,
|
|
@@ -26604,7 +27200,7 @@ class Radio {
|
|
|
26604
27200
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
26605
27201
|
const mode = getIonMode$1(this);
|
|
26606
27202
|
const inItem = hostContext('ion-item', el);
|
|
26607
|
-
return (hAsync(Host, { key: '
|
|
27203
|
+
return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
26608
27204
|
[mode]: true,
|
|
26609
27205
|
'in-item': inItem,
|
|
26610
27206
|
'radio-checked': checked,
|
|
@@ -26615,10 +27211,10 @@ class Radio {
|
|
|
26615
27211
|
// Focus and active styling should not apply when the radio is in an item
|
|
26616
27212
|
'ion-activatable': !inItem,
|
|
26617
27213
|
'ion-focusable': !inItem,
|
|
26618
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
27214
|
+
}), 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: {
|
|
26619
27215
|
'label-text-wrapper': true,
|
|
26620
27216
|
'label-text-wrapper-hidden': !hasLabel,
|
|
26621
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
27217
|
+
}, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
26622
27218
|
}
|
|
26623
27219
|
get el() { return getElement(this); }
|
|
26624
27220
|
static get watchers() { return {
|
|
@@ -26841,7 +27437,7 @@ class RadioGroup {
|
|
|
26841
27437
|
const { label, labelId, el, name, value } = this;
|
|
26842
27438
|
const mode = getIonMode$1(this);
|
|
26843
27439
|
renderHiddenInput(true, el, name, value, false);
|
|
26844
|
-
return (hAsync(Host, { key: '
|
|
27440
|
+
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' }))));
|
|
26845
27441
|
}
|
|
26846
27442
|
get el() { return getElement(this); }
|
|
26847
27443
|
static get watchers() { return {
|
|
@@ -27556,7 +28152,7 @@ class Range {
|
|
|
27556
28152
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
27557
28153
|
const mode = getIonMode$1(this);
|
|
27558
28154
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
27559
|
-
return (hAsync(Host, { key: '
|
|
28155
|
+
return (hAsync(Host, { key: '124909954930d95f353e8593fd967de1486b0315', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
27560
28156
|
[mode]: true,
|
|
27561
28157
|
'in-item': inItem,
|
|
27562
28158
|
'range-disabled': disabled,
|
|
@@ -27565,10 +28161,10 @@ class Range {
|
|
|
27565
28161
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
27566
28162
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
27567
28163
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
27568
|
-
}) }, hAsync("label", { key: '
|
|
28164
|
+
}) }, hAsync("label", { key: '0af177a2ba5869d3441c4b3f393835218807a418', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '4d834224b9c834e88497f58af4339348cec9ca1c', class: {
|
|
27569
28165
|
'label-text-wrapper': true,
|
|
27570
28166
|
'label-text-wrapper-hidden': !hasLabel,
|
|
27571
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
28167
|
+
}, 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" })))));
|
|
27572
28168
|
}
|
|
27573
28169
|
get el() { return getElement(this); }
|
|
27574
28170
|
static get watchers() { return {
|
|
@@ -28518,7 +29114,7 @@ class Refresher {
|
|
|
28518
29114
|
}
|
|
28519
29115
|
render() {
|
|
28520
29116
|
const mode = getIonMode$1(this);
|
|
28521
|
-
return (hAsync(Host, { key: '
|
|
29117
|
+
return (hAsync(Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
|
|
28522
29118
|
[mode]: true,
|
|
28523
29119
|
// Used internally for styling
|
|
28524
29120
|
[`refresher-${mode}`]: true,
|
|
@@ -28742,7 +29338,7 @@ class RefresherContent {
|
|
|
28742
29338
|
const pullingIcon = this.pullingIcon;
|
|
28743
29339
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
28744
29340
|
const mode = getIonMode$1(this);
|
|
28745
|
-
return (hAsync(Host, { key: '
|
|
29341
|
+
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())));
|
|
28746
29342
|
}
|
|
28747
29343
|
get el() { return getElement(this); }
|
|
28748
29344
|
static get cmpMeta() { return {
|
|
@@ -28783,7 +29379,7 @@ class Reorder {
|
|
|
28783
29379
|
render() {
|
|
28784
29380
|
const mode = getIonMode$1(this);
|
|
28785
29381
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
28786
|
-
return (hAsync(Host, { key: '
|
|
29382
|
+
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" }))));
|
|
28787
29383
|
}
|
|
28788
29384
|
get el() { return getElement(this); }
|
|
28789
29385
|
static get style() { return {
|
|
@@ -29039,7 +29635,7 @@ class ReorderGroup {
|
|
|
29039
29635
|
}
|
|
29040
29636
|
render() {
|
|
29041
29637
|
const mode = getIonMode$1(this);
|
|
29042
|
-
return (hAsync(Host, { key: '
|
|
29638
|
+
return (hAsync(Host, { key: 'f30613b361c5c3095b7928a92fb4b1e8d6eff600', class: {
|
|
29043
29639
|
[mode]: true,
|
|
29044
29640
|
'reorder-enabled': !this.disabled,
|
|
29045
29641
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -29155,7 +29751,7 @@ class RippleEffect {
|
|
|
29155
29751
|
}
|
|
29156
29752
|
render() {
|
|
29157
29753
|
const mode = getIonMode$1(this);
|
|
29158
|
-
return (hAsync(Host, { key: '
|
|
29754
|
+
return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
|
|
29159
29755
|
[mode]: true,
|
|
29160
29756
|
unbounded: this.unbounded,
|
|
29161
29757
|
} }));
|
|
@@ -30113,10 +30709,10 @@ class RouterLink {
|
|
|
30113
30709
|
rel: this.rel,
|
|
30114
30710
|
target: this.target,
|
|
30115
30711
|
};
|
|
30116
|
-
return (hAsync(Host, { key: '
|
|
30712
|
+
return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
30117
30713
|
[mode]: true,
|
|
30118
30714
|
'ion-activatable': true,
|
|
30119
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
30715
|
+
}) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
|
|
30120
30716
|
}
|
|
30121
30717
|
static get style() { return routerLinkCss; }
|
|
30122
30718
|
static get cmpMeta() { return {
|
|
@@ -30313,7 +30909,7 @@ class RouterOutlet {
|
|
|
30313
30909
|
return true;
|
|
30314
30910
|
}
|
|
30315
30911
|
render() {
|
|
30316
|
-
return hAsync("slot", { key: '
|
|
30912
|
+
return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
|
|
30317
30913
|
}
|
|
30318
30914
|
get el() { return getElement(this); }
|
|
30319
30915
|
static get watchers() { return {
|
|
@@ -30346,7 +30942,7 @@ class Row {
|
|
|
30346
30942
|
registerInstance(this, hostRef);
|
|
30347
30943
|
}
|
|
30348
30944
|
render() {
|
|
30349
|
-
return (hAsync(Host, { key: '
|
|
30945
|
+
return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
|
|
30350
30946
|
}
|
|
30351
30947
|
static get style() { return rowCss; }
|
|
30352
30948
|
static get cmpMeta() { return {
|
|
@@ -30789,8 +31385,8 @@ class Searchbar {
|
|
|
30789
31385
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
30790
31386
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
30791
31387
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
30792
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
30793
|
-
return (hAsync(Host, { key: '
|
|
31388
|
+
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))));
|
|
31389
|
+
return (hAsync(Host, { key: '4432996807ffe9372c7d6955c94366d5b920f6dd', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
30794
31390
|
[mode]: true,
|
|
30795
31391
|
'searchbar-animated': animated,
|
|
30796
31392
|
'searchbar-disabled': this.disabled,
|
|
@@ -30800,14 +31396,14 @@ class Searchbar {
|
|
|
30800
31396
|
'searchbar-has-focus': this.focused,
|
|
30801
31397
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
30802
31398
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
30803
|
-
}) }, hAsync("div", { key: '
|
|
31399
|
+
}) }, 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) => {
|
|
30804
31400
|
/**
|
|
30805
31401
|
* This prevents mobile browsers from
|
|
30806
31402
|
* blurring the input when the clear
|
|
30807
31403
|
* button is activated.
|
|
30808
31404
|
*/
|
|
30809
31405
|
ev.preventDefault();
|
|
30810
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
31406
|
+
}, 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));
|
|
30811
31407
|
}
|
|
30812
31408
|
get el() { return getElement(this); }
|
|
30813
31409
|
static get watchers() { return {
|
|
@@ -31402,14 +31998,14 @@ class Segment {
|
|
|
31402
31998
|
}
|
|
31403
31999
|
render() {
|
|
31404
32000
|
const mode = getIonMode$1(this);
|
|
31405
|
-
return (hAsync(Host, { key: '
|
|
32001
|
+
return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
31406
32002
|
[mode]: true,
|
|
31407
32003
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
31408
32004
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
31409
32005
|
'segment-activated': this.activated,
|
|
31410
32006
|
'segment-disabled': this.disabled,
|
|
31411
32007
|
'segment-scrollable': this.scrollable,
|
|
31412
|
-
}) }, hAsync("slot", { key: '
|
|
32008
|
+
}) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
|
|
31413
32009
|
}
|
|
31414
32010
|
get el() { return getElement(this); }
|
|
31415
32011
|
static get watchers() { return {
|
|
@@ -31549,7 +32145,7 @@ class SegmentButton {
|
|
|
31549
32145
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
31550
32146
|
const mode = getIonMode$1(this);
|
|
31551
32147
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
31552
|
-
return (hAsync(Host, { key: '
|
|
32148
|
+
return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
|
|
31553
32149
|
[mode]: true,
|
|
31554
32150
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
31555
32151
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -31565,7 +32161,7 @@ class SegmentButton {
|
|
|
31565
32161
|
'ion-activatable': true,
|
|
31566
32162
|
'ion-activatable-instant': true,
|
|
31567
32163
|
'ion-focusable': true,
|
|
31568
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
32164
|
+
} }, 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" }))));
|
|
31569
32165
|
}
|
|
31570
32166
|
get el() { return getElement(this); }
|
|
31571
32167
|
static get watchers() { return {
|
|
@@ -31600,7 +32196,7 @@ class SegmentContent {
|
|
|
31600
32196
|
registerInstance(this, hostRef);
|
|
31601
32197
|
}
|
|
31602
32198
|
render() {
|
|
31603
|
-
return (hAsync(Host, { key: '
|
|
32199
|
+
return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
|
|
31604
32200
|
}
|
|
31605
32201
|
static get style() { return segmentContentCss; }
|
|
31606
32202
|
static get cmpMeta() { return {
|
|
@@ -31713,10 +32309,10 @@ class SegmentView {
|
|
|
31713
32309
|
}
|
|
31714
32310
|
render() {
|
|
31715
32311
|
const { disabled, isManualScroll } = this;
|
|
31716
|
-
return (hAsync(Host, { key: '
|
|
32312
|
+
return (hAsync(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
|
|
31717
32313
|
'segment-view-disabled': disabled,
|
|
31718
32314
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
31719
|
-
} }, hAsync("slot", { key: '
|
|
32315
|
+
} }, hAsync("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
|
|
31720
32316
|
}
|
|
31721
32317
|
get el() { return getElement(this); }
|
|
31722
32318
|
static get style() { return {
|
|
@@ -32455,7 +33051,7 @@ class Select {
|
|
|
32455
33051
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
32456
33052
|
*/
|
|
32457
33053
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
32458
|
-
return (hAsync(Host, { key: '
|
|
33054
|
+
return (hAsync(Host, { key: 'd42f9434cdf0f22f8710f1f363096e12967695dd', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
32459
33055
|
[mode]: true,
|
|
32460
33056
|
'in-item': inItem,
|
|
32461
33057
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -32473,7 +33069,7 @@ class Select {
|
|
|
32473
33069
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
32474
33070
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
32475
33071
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
32476
|
-
}) }, hAsync("label", { key: '
|
|
33072
|
+
}) }, 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()));
|
|
32477
33073
|
}
|
|
32478
33074
|
get el() { return getElement(this); }
|
|
32479
33075
|
static get watchers() { return {
|
|
@@ -32632,7 +33228,7 @@ class SelectModal {
|
|
|
32632
33228
|
} }, option.text))));
|
|
32633
33229
|
}
|
|
32634
33230
|
render() {
|
|
32635
|
-
return (hAsync(Host, { key: '
|
|
33231
|
+
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()))));
|
|
32636
33232
|
}
|
|
32637
33233
|
get el() { return getElement(this); }
|
|
32638
33234
|
static get style() { return {
|
|
@@ -32666,7 +33262,7 @@ class SelectOption {
|
|
|
32666
33262
|
this.disabled = false;
|
|
32667
33263
|
}
|
|
32668
33264
|
render() {
|
|
32669
|
-
return hAsync(Host, { key: '
|
|
33265
|
+
return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
32670
33266
|
}
|
|
32671
33267
|
get el() { return getElement(this); }
|
|
32672
33268
|
static get style() { return selectOptionCss; }
|
|
@@ -32783,7 +33379,7 @@ class SelectPopover {
|
|
|
32783
33379
|
render() {
|
|
32784
33380
|
const { header, message, options, subHeader } = this;
|
|
32785
33381
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
32786
|
-
return (hAsync(Host, { key: '
|
|
33382
|
+
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))));
|
|
32787
33383
|
}
|
|
32788
33384
|
get el() { return getElement(this); }
|
|
32789
33385
|
static get style() { return {
|
|
@@ -32833,11 +33429,11 @@ class SkeletonText {
|
|
|
32833
33429
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
32834
33430
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
32835
33431
|
const mode = getIonMode$1(this);
|
|
32836
|
-
return (hAsync(Host, { key: '
|
|
33432
|
+
return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
|
|
32837
33433
|
[mode]: true,
|
|
32838
33434
|
'skeleton-text-animated': animated,
|
|
32839
33435
|
'in-media': inMedia,
|
|
32840
|
-
} }, hAsync("span", { key: '
|
|
33436
|
+
} }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
|
|
32841
33437
|
}
|
|
32842
33438
|
get el() { return getElement(this); }
|
|
32843
33439
|
static get style() { return skeletonTextCss; }
|
|
@@ -32889,7 +33485,7 @@ class Spinner {
|
|
|
32889
33485
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
32890
33486
|
}
|
|
32891
33487
|
}
|
|
32892
|
-
return (hAsync(Host, { key: '
|
|
33488
|
+
return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
|
|
32893
33489
|
[mode]: true,
|
|
32894
33490
|
[`spinner-${spinnerName}`]: true,
|
|
32895
33491
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -32988,12 +33584,12 @@ class SplitPane {
|
|
|
32988
33584
|
}
|
|
32989
33585
|
render() {
|
|
32990
33586
|
const mode = getIonMode$1(this);
|
|
32991
|
-
return (hAsync(Host, { key: '
|
|
33587
|
+
return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
|
|
32992
33588
|
[mode]: true,
|
|
32993
33589
|
// Used internally for styling
|
|
32994
33590
|
[`split-pane-${mode}`]: true,
|
|
32995
33591
|
'split-pane-visible': this.visible,
|
|
32996
|
-
} }, hAsync("slot", { key: '
|
|
33592
|
+
} }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
|
|
32997
33593
|
}
|
|
32998
33594
|
get el() { return getElement(this); }
|
|
32999
33595
|
static get watchers() { return {
|
|
@@ -33059,10 +33655,10 @@ class Tab {
|
|
|
33059
33655
|
}
|
|
33060
33656
|
render() {
|
|
33061
33657
|
const { tab, active, component } = this;
|
|
33062
|
-
return (hAsync(Host, { key: '
|
|
33658
|
+
return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
33063
33659
|
'ion-page': component === undefined,
|
|
33064
33660
|
'tab-hidden': !active,
|
|
33065
|
-
} }, hAsync("slot", { key: '
|
|
33661
|
+
} }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
|
|
33066
33662
|
}
|
|
33067
33663
|
get el() { return getElement(this); }
|
|
33068
33664
|
static get watchers() { return {
|
|
@@ -33141,11 +33737,11 @@ class TabBar {
|
|
|
33141
33737
|
const { color, translucent, keyboardVisible } = this;
|
|
33142
33738
|
const mode = getIonMode$1(this);
|
|
33143
33739
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
33144
|
-
return (hAsync(Host, { key: '
|
|
33740
|
+
return (hAsync(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
33145
33741
|
[mode]: true,
|
|
33146
33742
|
'tab-bar-translucent': translucent,
|
|
33147
33743
|
'tab-bar-hidden': shouldHide,
|
|
33148
|
-
}) }, hAsync("slot", { key: '
|
|
33744
|
+
}) }, hAsync("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
|
|
33149
33745
|
}
|
|
33150
33746
|
get el() { return getElement(this); }
|
|
33151
33747
|
static get watchers() { return {
|
|
@@ -33241,7 +33837,7 @@ class TabButton {
|
|
|
33241
33837
|
rel,
|
|
33242
33838
|
target,
|
|
33243
33839
|
};
|
|
33244
|
-
return (hAsync(Host, { key: '
|
|
33840
|
+
return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
33245
33841
|
[mode]: true,
|
|
33246
33842
|
'tab-selected': selected,
|
|
33247
33843
|
'tab-disabled': disabled,
|
|
@@ -33253,7 +33849,7 @@ class TabButton {
|
|
|
33253
33849
|
'ion-activatable': true,
|
|
33254
33850
|
'ion-selectable': true,
|
|
33255
33851
|
'ion-focusable': true,
|
|
33256
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
33852
|
+
} }, 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" }))));
|
|
33257
33853
|
}
|
|
33258
33854
|
get el() { return getElement(this); }
|
|
33259
33855
|
static get style() { return {
|
|
@@ -33428,7 +34024,7 @@ class Tabs {
|
|
|
33428
34024
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
33429
34025
|
}
|
|
33430
34026
|
render() {
|
|
33431
|
-
return (hAsync(Host, { key: '
|
|
34027
|
+
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" })));
|
|
33432
34028
|
}
|
|
33433
34029
|
get el() { return getElement(this); }
|
|
33434
34030
|
static get style() { return tabsCss; }
|
|
@@ -33468,9 +34064,9 @@ class Text {
|
|
|
33468
34064
|
}
|
|
33469
34065
|
render() {
|
|
33470
34066
|
const mode = getIonMode$1(this);
|
|
33471
|
-
return (hAsync(Host, { key: '
|
|
34067
|
+
return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
|
|
33472
34068
|
[mode]: true,
|
|
33473
|
-
}) }, hAsync("slot", { key: '
|
|
34069
|
+
}) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
|
|
33474
34070
|
}
|
|
33475
34071
|
static get style() { return textCss; }
|
|
33476
34072
|
static get cmpMeta() { return {
|
|
@@ -33909,7 +34505,7 @@ class Textarea {
|
|
|
33909
34505
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
33910
34506
|
*/
|
|
33911
34507
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
33912
|
-
return (hAsync(Host, { key: '
|
|
34508
|
+
return (hAsync(Host, { key: '550ae8e37d94a3f9950c191626beb2ba49ca25f7', class: createColorClasses$1(this.color, {
|
|
33913
34509
|
[mode]: true,
|
|
33914
34510
|
'has-value': hasValue,
|
|
33915
34511
|
'has-focus': hasFocus,
|
|
@@ -33918,7 +34514,7 @@ class Textarea {
|
|
|
33918
34514
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
33919
34515
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
33920
34516
|
'textarea-disabled': disabled,
|
|
33921
|
-
}) }, hAsync("label", { key: '
|
|
34517
|
+
}) }, 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()));
|
|
33922
34518
|
}
|
|
33923
34519
|
get el() { return getElement(this); }
|
|
33924
34520
|
static get watchers() { return {
|
|
@@ -33980,7 +34576,7 @@ class Thumbnail {
|
|
|
33980
34576
|
registerInstance(this, hostRef);
|
|
33981
34577
|
}
|
|
33982
34578
|
render() {
|
|
33983
|
-
return (hAsync(Host, { key: '
|
|
34579
|
+
return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
|
|
33984
34580
|
}
|
|
33985
34581
|
static get style() { return thumbnailCss; }
|
|
33986
34582
|
static get cmpMeta() { return {
|
|
@@ -34839,9 +35435,9 @@ class Toast {
|
|
|
34839
35435
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
34840
35436
|
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);
|
|
34841
35437
|
}
|
|
34842
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
35438
|
+
return (hAsync(Host, Object.assign({ key: '425be734aee0eeef281ab1609a9f982ce8b5e852', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
34843
35439
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
34844
|
-
}, 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: '
|
|
35440
|
+
}, 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')))));
|
|
34845
35441
|
}
|
|
34846
35442
|
get el() { return getElement(this); }
|
|
34847
35443
|
static get watchers() { return {
|
|
@@ -35136,7 +35732,7 @@ class Toggle {
|
|
|
35136
35732
|
const value = this.getValue();
|
|
35137
35733
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
35138
35734
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
35139
|
-
return (hAsync(Host, { key: '
|
|
35735
|
+
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, {
|
|
35140
35736
|
[mode]: true,
|
|
35141
35737
|
'in-item': hostContext('ion-item', el),
|
|
35142
35738
|
'toggle-activated': activated,
|
|
@@ -35146,10 +35742,10 @@ class Toggle {
|
|
|
35146
35742
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
35147
35743
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
35148
35744
|
[`toggle-${rtl}`]: true,
|
|
35149
|
-
}) }, hAsync("label", { key: '
|
|
35745
|
+
}) }, 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: {
|
|
35150
35746
|
'label-text-wrapper': true,
|
|
35151
35747
|
'label-text-wrapper-hidden': !hasLabel,
|
|
35152
|
-
}, part: "label", id: inputLabelId }, hAsync("slot", { key: '
|
|
35748
|
+
}, part: "label", id: inputLabelId }, hAsync("slot", { key: 'e6afe1ed4d6f478411cc7030c44492ba59509b22' }), this.renderHintText()), hAsync("div", { key: '6271c04a5954352d93cec8dbca753084d4bac9fd', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
35153
35749
|
}
|
|
35154
35750
|
get el() { return getElement(this); }
|
|
35155
35751
|
static get watchers() { return {
|
|
@@ -35257,10 +35853,10 @@ class Toolbar {
|
|
|
35257
35853
|
this.childrenStyles.forEach((value) => {
|
|
35258
35854
|
Object.assign(childStyles, value);
|
|
35259
35855
|
});
|
|
35260
|
-
return (hAsync(Host, { key: '
|
|
35856
|
+
return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
35261
35857
|
[mode]: true,
|
|
35262
35858
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
35263
|
-
})) }, hAsync("div", { key: '
|
|
35859
|
+
})) }, 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" }))));
|
|
35264
35860
|
}
|
|
35265
35861
|
get el() { return getElement(this); }
|
|
35266
35862
|
static get style() { return {
|
|
@@ -35306,11 +35902,11 @@ class ToolbarTitle {
|
|
|
35306
35902
|
render() {
|
|
35307
35903
|
const mode = getIonMode$1(this);
|
|
35308
35904
|
const size = this.getSize();
|
|
35309
|
-
return (hAsync(Host, { key: '
|
|
35905
|
+
return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
|
|
35310
35906
|
[mode]: true,
|
|
35311
35907
|
[`title-${size}`]: true,
|
|
35312
35908
|
'title-rtl': document.dir === 'rtl',
|
|
35313
|
-
}) }, hAsync("div", { key: '
|
|
35909
|
+
}) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
|
|
35314
35910
|
}
|
|
35315
35911
|
get el() { return getElement(this); }
|
|
35316
35912
|
static get watchers() { return {
|
|
@@ -35369,6 +35965,7 @@ registerComponents([
|
|
|
35369
35965
|
InfiniteScroll,
|
|
35370
35966
|
InfiniteScrollContent,
|
|
35371
35967
|
Input,
|
|
35968
|
+
InputOTP,
|
|
35372
35969
|
InputPasswordToggle,
|
|
35373
35970
|
Item,
|
|
35374
35971
|
ItemDivider,
|