@ionic/core 8.5.7-dev.11747180955.1e468923 → 8.5.7-dev.11747676931.1d53b808
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/input-shims.js +0 -18
- package/components/ion-input-otp.d.ts +11 -0
- package/components/ion-input-otp.js +611 -0
- package/components/ion-input-password-toggle.js +3 -3
- package/components/ion-input.js +10 -2
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +2 -2
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-loading.js +2 -2
- package/components/ion-menu-button.js +2 -2
- package/components/ion-menu-toggle.js +2 -2
- package/components/ion-menu.js +2 -2
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +2 -2
- package/components/ion-picker-legacy.js +2 -2
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-range.js +3 -3
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-router-link.js +2 -2
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +4 -4
- package/components/ion-segment-button.js +2 -2
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +2 -2
- package/components/ion-segment.js +2 -2
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +2 -2
- package/components/ion-skeleton-text.js +2 -2
- package/components/ion-split-pane.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +2 -2
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +2 -2
- package/components/ion-textarea.js +2 -2
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +3 -3
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/list.js +1 -1
- package/components/modal.js +4 -4
- package/components/picker-column-option.js +2 -2
- package/components/picker-column2.js +2 -2
- package/components/popover.js +2 -2
- package/components/radio-group.js +1 -1
- package/components/radio.js +3 -3
- package/components/ripple-effect.js +1 -1
- package/components/select-modal.js +1 -1
- package/components/select-popover.js +1 -1
- package/components/spinner.js +1 -1
- package/components/title.js +2 -2
- package/components/toolbar.js +2 -2
- package/dist/cjs/{app-globals-CWtQHdcK.js → app-globals-DvwumQAI.js} +1 -1
- package/dist/cjs/{button-active-BzpKQ5zN.js → button-active-Du_YCFSd.js} +1 -1
- package/dist/cjs/{index-qOuhvt-6.js → index-B6-BlKCh.js} +4 -0
- package/dist/cjs/{index-CrE5792q.js → index-DCB2XSaQ.js} +1 -1
- package/dist/cjs/{index-C6GLB0dQ.js → index-QuFS9UpQ.js} +3 -3
- package/dist/cjs/index.cjs.js +7 -7
- package/dist/cjs/{input-shims-BIfSj_O3.js → input-shims-DGvxKeWy.js} +0 -18
- package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
- package/dist/cjs/ion-alert.cjs.entry.js +4 -4
- package/dist/cjs/ion-app_8.cjs.entry.js +10 -10
- package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-input-otp.cjs.entry.js +574 -0
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +5 -5
- package/dist/cjs/ion-input.cjs.entry.js +12 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-item_8.cjs.entry.js +14 -14
- package/dist/cjs/ion-loading.cjs.entry.js +5 -5
- package/dist/cjs/ion-menu_3.cjs.entry.js +10 -10
- package/dist/cjs/ion-modal.cjs.entry.js +8 -8
- package/dist/cjs/ion-nav_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker-column.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +6 -6
- package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/ion-radio_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-range.cjs.entry.js +5 -5
- package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
- package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-select-modal.cjs.entry.js +4 -4
- package/dist/cjs/ion-select_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
- package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
- package/dist/cjs/ion-toast.cjs.entry.js +5 -5
- package/dist/cjs/ion-toggle.cjs.entry.js +5 -5
- package/dist/cjs/{ionic-global-BC3ee-Wa.js → ionic-global-C3I6b0Is.js} +1 -1
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-C9J4bBGV.js → ios.transition-CL8Q2_Bi.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-DT8PB4eS.js → md.transition-D1Ast6la.js} +2 -2
- package/dist/cjs/{overlays-B4rlyxhY.js → overlays-Ci3nLg5M.js} +1 -1
- package/dist/cjs/{status-tap-B8fjNFjq.js → status-tap-Bx_wzOTo.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/input/input.js +10 -2
- package/dist/collection/components/input-otp/input-otp-interface.js +1 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +377 -0
- package/dist/collection/components/input-otp/input-otp.js +999 -0
- package/dist/collection/components/input-otp/input-otp.md.css +377 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/modal.js +4 -4
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
- package/dist/collection/components/picker-legacy/picker.js +2 -2
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
- package/dist/collection/components/popover/popover.js +2 -2
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +3 -3
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +4 -4
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.js +2 -2
- package/dist/collection/components/select-modal/select-modal.js +1 -1
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +0 -18
- package/dist/docs.json +907 -1
- package/dist/esm/{app-globals-Ts_E1ch0.js → app-globals-C74-VMUb.js} +1 -1
- package/dist/esm/{button-active-BQqkZ_sm.js → button-active-DRCPpzqj.js} +1 -1
- package/dist/esm/{index-EP3pwcdb.js → index-3GtB1kQI.js} +4 -1
- package/dist/esm/{index-B83thFnh.js → index-lgeUQ6qY.js} +3 -3
- package/dist/esm/{index-RyWq7qIc.js → index-lp0kQfoC.js} +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/{input-shims-BbXgvAcA.js → input-shims-qlIPzMSm.js} +0 -18
- package/dist/esm/ion-accordion_2.entry.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +4 -4
- package/dist/esm/ion-alert.entry.js +4 -4
- package/dist/esm/ion-app_8.entry.js +10 -10
- package/dist/esm/ion-avatar_3.entry.js +3 -3
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +2 -2
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +3 -3
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +7 -7
- package/dist/esm/ion-fab_3.entry.js +2 -2
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
- package/dist/esm/ion-input-otp.entry.js +572 -0
- package/dist/esm/ion-input-password-toggle.entry.js +5 -5
- package/dist/esm/ion-input.entry.js +12 -4
- package/dist/esm/ion-item-option_3.entry.js +6 -6
- package/dist/esm/ion-item_8.entry.js +14 -14
- package/dist/esm/ion-loading.entry.js +5 -5
- package/dist/esm/ion-menu_3.entry.js +10 -10
- package/dist/esm/ion-modal.entry.js +8 -8
- package/dist/esm/ion-nav_2.entry.js +5 -5
- package/dist/esm/ion-picker-column-option.entry.js +4 -4
- package/dist/esm/ion-picker-column.entry.js +2 -2
- package/dist/esm/ion-picker.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +6 -6
- package/dist/esm/ion-progress-bar.entry.js +3 -3
- package/dist/esm/ion-radio_2.entry.js +6 -6
- package/dist/esm/ion-range.entry.js +5 -5
- package/dist/esm/ion-refresher_2.entry.js +4 -4
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +3 -3
- package/dist/esm/ion-route_4.entry.js +4 -4
- package/dist/esm/ion-searchbar.entry.js +6 -6
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +3 -3
- package/dist/esm/ion-segment_2.entry.js +6 -6
- package/dist/esm/ion-select-modal.entry.js +4 -4
- package/dist/esm/ion-select_3.entry.js +7 -7
- package/dist/esm/ion-spinner.entry.js +3 -3
- package/dist/esm/ion-split-pane.entry.js +4 -4
- package/dist/esm/ion-tab-bar_2.entry.js +6 -6
- package/dist/esm/ion-tab_2.entry.js +4 -4
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +4 -4
- package/dist/esm/ion-toast.entry.js +5 -5
- package/dist/esm/ion-toggle.entry.js +5 -5
- package/dist/esm/{ionic-global-DapnXdYs.js → ionic-global-Dw-MNnQB.js} +1 -1
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-DN6Dy4K4.js → ios.transition-Doo_7Vid.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-DR8zuFnL.js → md.transition-BbcCfRk9.js} +2 -2
- package/dist/esm/{overlays-Blhb_0oI.js → overlays-Pn0MyOv4.js} +1 -1
- package/dist/esm/{status-tap-CZEjiztV.js → status-tap-Cn5uETrs.js} +1 -1
- package/dist/html.html-data.json +160 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-d9c08f93.entry.js → p-05427be9.entry.js} +1 -1
- package/dist/ionic/{p-9a0bde6e.entry.js → p-0bc3d6d0.entry.js} +1 -1
- package/dist/ionic/{p-38921e2f.entry.js → p-0bcd3299.entry.js} +1 -1
- package/dist/ionic/{p-030daf32.entry.js → p-14d26301.entry.js} +1 -1
- package/dist/ionic/p-178084cb.entry.js +4 -0
- package/dist/ionic/{p-3edb2346.entry.js → p-1da92348.entry.js} +1 -1
- package/dist/ionic/{p-12b44c66.entry.js → p-1e9ea564.entry.js} +1 -1
- package/dist/ionic/p-1fe35f29.entry.js +4 -0
- package/dist/ionic/{p-f0c5ea4c.entry.js → p-2438054c.entry.js} +1 -1
- package/dist/ionic/{p-b2b0f539.entry.js → p-250c972f.entry.js} +1 -1
- package/dist/ionic/{p-306eab7a.entry.js → p-2517fcdf.entry.js} +1 -1
- package/dist/ionic/{p-61f52724.entry.js → p-29186993.entry.js} +1 -1
- package/dist/ionic/{p-89e3b3c6.entry.js → p-2c6931ed.entry.js} +1 -1
- package/dist/ionic/{p-112af08b.entry.js → p-2e42fa68.entry.js} +1 -1
- package/dist/ionic/{p-EP3pwcdb.js → p-3GtB1kQI.js} +2 -2
- package/dist/ionic/{p-e2e4b1f1.entry.js → p-3ca63859.entry.js} +1 -1
- package/dist/ionic/{p-bc9feb4b.entry.js → p-3fa87259.entry.js} +1 -1
- package/dist/ionic/{p-08232f2d.entry.js → p-43f012a4.entry.js} +1 -1
- package/dist/ionic/{p-ff362ebc.entry.js → p-5756b724.entry.js} +1 -1
- package/dist/ionic/{p-4a5cf7ac.entry.js → p-592db4a8.entry.js} +1 -1
- package/dist/ionic/{p-a9997b1b.entry.js → p-691fa8c7.entry.js} +1 -1
- package/dist/ionic/{p-38598652.entry.js → p-6bd192d8.entry.js} +1 -1
- package/dist/ionic/{p-d887000e.entry.js → p-7a6c96ca.entry.js} +1 -1
- package/dist/ionic/{p-df87cf2d.entry.js → p-832b6c90.entry.js} +1 -1
- package/dist/ionic/p-8c496d65.entry.js +4 -0
- package/dist/ionic/{p-46c15fe2.entry.js → p-8d7afec5.entry.js} +1 -1
- package/dist/ionic/{p-93996b12.entry.js → p-920540c6.entry.js} +1 -1
- package/dist/ionic/{p-e471e1e5.entry.js → p-9262223a.entry.js} +1 -1
- package/dist/ionic/{p-5fb997f8.entry.js → p-96d912f5.entry.js} +1 -1
- package/dist/ionic/{p-49122d48.entry.js → p-98f759e4.entry.js} +1 -1
- package/dist/ionic/{p-c19bc276.entry.js → p-99cc16fb.entry.js} +1 -1
- package/dist/ionic/{p-46a1ce99.entry.js → p-9c7d7711.entry.js} +1 -1
- package/dist/ionic/p-B7Khsp7D.js +4 -0
- package/dist/ionic/{p-DCstKNei.js → p-BBMlbfDQ.js} +1 -1
- package/dist/ionic/{p-LpklIrOy.js → p-BC2IYr2c.js} +1 -1
- package/dist/ionic/{p-Uz6zKimy.js → p-CGyDG2ar.js} +1 -1
- package/dist/ionic/p-CO_y91jJ.js +4 -0
- package/dist/ionic/{p-DPhSdjFK.js → p-CjUUcfjC.js} +1 -1
- package/dist/ionic/{p-Dnc554yu.js → p-CuVupNFU.js} +1 -1
- package/dist/ionic/{p-BSMFLyVh.js → p-DYqTiW2v.js} +1 -1
- package/dist/ionic/p-DjV8cNim.js +4 -0
- package/dist/ionic/{p-484073b5.entry.js → p-a20a15cc.entry.js} +1 -1
- package/dist/ionic/{p-5b8abc2f.entry.js → p-a22fe54d.entry.js} +1 -1
- package/dist/ionic/p-a6db87e1.entry.js +4 -0
- package/dist/ionic/{p-38dcbd40.entry.js → p-b18a4590.entry.js} +1 -1
- package/dist/ionic/{p-aeb7297a.entry.js → p-bc84650a.entry.js} +1 -1
- package/dist/ionic/p-bf6b00ab.entry.js +4 -0
- package/dist/ionic/{p-a26637b1.entry.js → p-c1b0e3b6.entry.js} +1 -1
- package/dist/ionic/{p-4119d144.entry.js → p-cde545fa.entry.js} +1 -1
- package/dist/ionic/{p-ce26cd7d.entry.js → p-d4742f5c.entry.js} +1 -1
- package/dist/ionic/{p-e426331f.entry.js → p-da105dce.entry.js} +1 -1
- package/dist/ionic/{p-a4bcf305.entry.js → p-e2d9c488.entry.js} +1 -1
- package/dist/ionic/{p-8dda7cd4.entry.js → p-e5495b3b.entry.js} +1 -1
- package/dist/ionic/{p-1a19090e.entry.js → p-e83ead65.entry.js} +1 -1
- package/dist/ionic/{p-a178af33.entry.js → p-ed36aee8.entry.js} +1 -1
- package/dist/ionic/{p-e5e82fa5.entry.js → p-ee504ce4.entry.js} +1 -1
- package/dist/ionic/{p-ade7bda6.entry.js → p-eec040ff.entry.js} +1 -1
- package/dist/ionic/{p-0434efbb.entry.js → p-f331dda5.entry.js} +1 -1
- package/dist/ionic/{p-d77d0b41.entry.js → p-f35cb090.entry.js} +1 -1
- package/dist/ionic/{p-99c93730.entry.js → p-fb714eec.entry.js} +1 -1
- package/dist/ionic/{p-c3abde95.entry.js → p-fd156864.entry.js} +1 -1
- package/dist/ionic/{p-0c2a069d.entry.js → p-ff88b250.entry.js} +1 -1
- package/dist/ionic/{p-CgRZM5_E.js → p-wsLGfiE0.js} +1 -1
- package/dist/types/components/input-otp/input-otp-interface.d.ts +21 -0
- package/dist/types/components/input-otp/input-otp.d.ts +270 -0
- package/dist/types/components.d.ts +167 -0
- package/dist/types/interface.d.ts +1 -0
- package/hydrate/index.js +701 -101
- package/hydrate/index.mjs +701 -101
- package/package.json +1 -1
- package/dist/ionic/p-07a47eb6.entry.js +0 -4
- package/dist/ionic/p-46f82b82.entry.js +0 -4
- package/dist/ionic/p-5459e444.entry.js +0 -4
- package/dist/ionic/p-83fdd9f6.entry.js +0 -4
- package/dist/ionic/p-CqNf-A5G.js +0 -4
- package/dist/ionic/p-DWFxQD6t.js +0 -4
- package/dist/ionic/p-EglNvYQn.js +0 -4
package/hydrate/index.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,594 @@ 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 { validKeys } = 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 && !validKeys.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
|
+
// Remove the value at the current index
|
|
17070
|
+
this.inputValues[index] = '';
|
|
17071
|
+
// Shift all values to the right of the current index left by one
|
|
17072
|
+
for (let i = index; i < length - 1; i++) {
|
|
17073
|
+
this.inputValues[i] = this.inputValues[i + 1];
|
|
17074
|
+
}
|
|
17075
|
+
// Clear the last box
|
|
17076
|
+
this.inputValues[length - 1] = '';
|
|
17077
|
+
// Update all inputRefs to match inputValues
|
|
17078
|
+
for (let i = 0; i < length; i++) {
|
|
17079
|
+
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
17080
|
+
}
|
|
17081
|
+
this.updateValue(event);
|
|
17082
|
+
event.preventDefault();
|
|
17083
|
+
}
|
|
17084
|
+
else if (!this.inputValues[index] && index > 0) {
|
|
17085
|
+
// If current input is empty, move to previous input
|
|
17086
|
+
this.focusPrevious(index);
|
|
17087
|
+
}
|
|
17088
|
+
}
|
|
17089
|
+
else if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
|
|
17090
|
+
this.isKeyboardNavigation = true;
|
|
17091
|
+
event.preventDefault();
|
|
17092
|
+
const isLeft = event.key === 'ArrowLeft';
|
|
17093
|
+
const shouldMoveNext = (isLeft && rtl) || (!isLeft && !rtl);
|
|
17094
|
+
// Only allow moving to the next input if the current has a value
|
|
17095
|
+
if (shouldMoveNext) {
|
|
17096
|
+
if (this.inputValues[index] && index < length - 1) {
|
|
17097
|
+
this.focusNext(index);
|
|
17098
|
+
}
|
|
17099
|
+
}
|
|
17100
|
+
else {
|
|
17101
|
+
this.focusPrevious(index);
|
|
17102
|
+
}
|
|
17103
|
+
}
|
|
17104
|
+
else if (event.key === 'Tab') {
|
|
17105
|
+
this.isKeyboardNavigation = true;
|
|
17106
|
+
// Let all tab events proceed normally
|
|
17107
|
+
return;
|
|
17108
|
+
}
|
|
17109
|
+
// If the input box contains a value and the key being
|
|
17110
|
+
// entered is a valid key for the input box update the value
|
|
17111
|
+
// and shift the values to the right if there is room.
|
|
17112
|
+
if (this.inputValues[index] && this.validKeys.test(event.key)) {
|
|
17113
|
+
if (!this.inputValues[length - 1]) {
|
|
17114
|
+
for (let i = length - 1; i > index; i--) {
|
|
17115
|
+
this.inputValues[i] = this.inputValues[i - 1];
|
|
17116
|
+
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
17117
|
+
}
|
|
17118
|
+
}
|
|
17119
|
+
this.inputValues[index] = event.key;
|
|
17120
|
+
this.inputRefs[index].value = event.key;
|
|
17121
|
+
this.updateValue(event);
|
|
17122
|
+
// Prevent default to avoid the browser from
|
|
17123
|
+
// automatically moving the focus to the next input
|
|
17124
|
+
event.preventDefault();
|
|
17125
|
+
}
|
|
17126
|
+
};
|
|
17127
|
+
/**
|
|
17128
|
+
* Handles pasting text into the input OTP component.
|
|
17129
|
+
* This function prevents the default paste behavior and
|
|
17130
|
+
* validates the pasted text against the allowed pattern.
|
|
17131
|
+
* It then updates the value of the input group and focuses
|
|
17132
|
+
* the next empty input after pasting.
|
|
17133
|
+
*/
|
|
17134
|
+
this.onPaste = (event) => {
|
|
17135
|
+
var _a, _b, _c;
|
|
17136
|
+
const { inputRefs, length, validKeys } = this;
|
|
17137
|
+
event.preventDefault();
|
|
17138
|
+
const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
|
|
17139
|
+
// If there is no pasted text, still emit the input change event
|
|
17140
|
+
// because this is how the native input element behaves
|
|
17141
|
+
// but return early because there is nothing to paste.
|
|
17142
|
+
if (!pastedText) {
|
|
17143
|
+
this.emitIonInput(event);
|
|
17144
|
+
return;
|
|
17145
|
+
}
|
|
17146
|
+
const validChars = pastedText
|
|
17147
|
+
.split('')
|
|
17148
|
+
.filter((char) => validKeys.test(char))
|
|
17149
|
+
.slice(0, length);
|
|
17150
|
+
// Find the first empty input
|
|
17151
|
+
const startIndex = this.getFirstEmptyIndex();
|
|
17152
|
+
// If all boxes are filled, start at 0
|
|
17153
|
+
const pasteStart = startIndex === -1 ? 0 : startIndex;
|
|
17154
|
+
validChars.forEach((char, index) => {
|
|
17155
|
+
const targetIndex = pasteStart + index;
|
|
17156
|
+
if (targetIndex < length) {
|
|
17157
|
+
this.inputRefs[targetIndex].value = char;
|
|
17158
|
+
this.inputValues[targetIndex] = char;
|
|
17159
|
+
}
|
|
17160
|
+
});
|
|
17161
|
+
this.updateValue(event);
|
|
17162
|
+
// Focus the next empty input after pasting
|
|
17163
|
+
// If all boxes are filled, focus the last input
|
|
17164
|
+
const nextEmptyIndex = pasteStart + validChars.length;
|
|
17165
|
+
if (nextEmptyIndex < length) {
|
|
17166
|
+
(_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
17167
|
+
}
|
|
17168
|
+
else {
|
|
17169
|
+
(_c = inputRefs[length - 1]) === null || _c === void 0 ? void 0 : _c.focus();
|
|
17170
|
+
}
|
|
17171
|
+
};
|
|
17172
|
+
/**
|
|
17173
|
+
* Handles the focus behavior for the input OTP component.
|
|
17174
|
+
*
|
|
17175
|
+
* Focus behavior:
|
|
17176
|
+
* 1. Keyboard navigation: Allow normal focus movement
|
|
17177
|
+
* 2. Mouse click:
|
|
17178
|
+
* - If clicked box has value: Focus that box
|
|
17179
|
+
* - If clicked box is empty: Focus first empty box
|
|
17180
|
+
*
|
|
17181
|
+
* Emits the `ionFocus` event when the input group gains focus.
|
|
17182
|
+
*/
|
|
17183
|
+
this.onFocus = (index) => (event) => {
|
|
17184
|
+
var _a;
|
|
17185
|
+
const { inputRefs } = this;
|
|
17186
|
+
// Only emit ionFocus and set the focusedValue when the
|
|
17187
|
+
// component first gains focus
|
|
17188
|
+
if (!this.hasFocus) {
|
|
17189
|
+
this.ionFocus.emit(event);
|
|
17190
|
+
this.focusedValue = this.value;
|
|
17191
|
+
}
|
|
17192
|
+
this.hasFocus = true;
|
|
17193
|
+
let finalIndex = index;
|
|
17194
|
+
if (!this.isKeyboardNavigation) {
|
|
17195
|
+
// If the clicked box has a value, focus it
|
|
17196
|
+
// Otherwise focus the first empty box
|
|
17197
|
+
const targetIndex = this.inputValues[index] ? index : this.getFirstEmptyIndex();
|
|
17198
|
+
finalIndex = targetIndex === -1 ? this.length - 1 : targetIndex;
|
|
17199
|
+
// Focus the target box
|
|
17200
|
+
(_a = this.inputRefs[finalIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17201
|
+
}
|
|
17202
|
+
// Update tabIndexes to match the focused box
|
|
17203
|
+
inputRefs.forEach((input, i) => {
|
|
17204
|
+
input.tabIndex = i === finalIndex ? 0 : -1;
|
|
17205
|
+
});
|
|
17206
|
+
// Reset the keyboard navigation flag
|
|
17207
|
+
this.isKeyboardNavigation = false;
|
|
17208
|
+
};
|
|
17209
|
+
/**
|
|
17210
|
+
* Handles the blur behavior for the input OTP component.
|
|
17211
|
+
* Emits the `ionBlur` event when the input group loses focus.
|
|
17212
|
+
*/
|
|
17213
|
+
this.onBlur = (event) => {
|
|
17214
|
+
const { inputRefs } = this;
|
|
17215
|
+
const relatedTarget = event.relatedTarget;
|
|
17216
|
+
// Do not emit blur if we're moving to another input box in the same component
|
|
17217
|
+
const isInternalFocus = relatedTarget != null && inputRefs.includes(relatedTarget);
|
|
17218
|
+
if (!isInternalFocus) {
|
|
17219
|
+
this.hasFocus = false;
|
|
17220
|
+
// Reset tabIndexes when focus leaves the component
|
|
17221
|
+
this.updateTabIndexes();
|
|
17222
|
+
// Always emit ionBlur when focus leaves the component
|
|
17223
|
+
this.ionBlur.emit(event);
|
|
17224
|
+
// Only emit ionChange if the value has actually changed
|
|
17225
|
+
if (this.focusedValue !== this.value) {
|
|
17226
|
+
this.emitIonChange(event);
|
|
17227
|
+
}
|
|
17228
|
+
}
|
|
17229
|
+
};
|
|
17230
|
+
}
|
|
17231
|
+
valueChanged() {
|
|
17232
|
+
this.initializeValues();
|
|
17233
|
+
}
|
|
17234
|
+
/**
|
|
17235
|
+
* Processes the separators prop into an array of numbers.
|
|
17236
|
+
*
|
|
17237
|
+
* If the separators prop is not provided, returns an empty array.
|
|
17238
|
+
* If the separators prop is 'all', returns an array of all valid positions (1 to length-1).
|
|
17239
|
+
* If the separators prop is an array, returns it as is.
|
|
17240
|
+
* If the separators prop is a string, splits it by commas and parses each part as a number.
|
|
17241
|
+
*
|
|
17242
|
+
* If the separators are greater than the input length, it will warn and ignore the separators.
|
|
17243
|
+
*/
|
|
17244
|
+
processSeparators() {
|
|
17245
|
+
const { separators, length } = this;
|
|
17246
|
+
if (separators === undefined) {
|
|
17247
|
+
this.parsedSeparators = [];
|
|
17248
|
+
return;
|
|
17249
|
+
}
|
|
17250
|
+
if (typeof separators === 'string' && separators !== 'all') {
|
|
17251
|
+
const isValidFormat = /^(\d+)(,\d+)*$/.test(separators);
|
|
17252
|
+
if (!isValidFormat) {
|
|
17253
|
+
printIonWarning(`[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: ${separators}`, this.el);
|
|
17254
|
+
this.parsedSeparators = [];
|
|
17255
|
+
return;
|
|
17256
|
+
}
|
|
17257
|
+
}
|
|
17258
|
+
let separatorValues;
|
|
17259
|
+
if (separators === 'all') {
|
|
17260
|
+
separatorValues = Array.from({ length: length - 1 }, (_, i) => i + 1);
|
|
17261
|
+
}
|
|
17262
|
+
else if (Array.isArray(separators)) {
|
|
17263
|
+
separatorValues = separators;
|
|
17264
|
+
}
|
|
17265
|
+
else {
|
|
17266
|
+
separatorValues = separators
|
|
17267
|
+
.split(',')
|
|
17268
|
+
.map((pos) => parseInt(pos, 10))
|
|
17269
|
+
.filter((pos) => !isNaN(pos));
|
|
17270
|
+
}
|
|
17271
|
+
// Check for duplicate separator positions
|
|
17272
|
+
const duplicates = separatorValues.filter((pos, index) => separatorValues.indexOf(pos) !== index);
|
|
17273
|
+
if (duplicates.length > 0) {
|
|
17274
|
+
printIonWarning(`[ion-input-otp] - Duplicate separator positions are not allowed. Received: ${separators}`, this.el);
|
|
17275
|
+
}
|
|
17276
|
+
const invalidSeparators = separatorValues.filter((pos) => pos > length);
|
|
17277
|
+
if (invalidSeparators.length > 0) {
|
|
17278
|
+
printIonWarning(`[ion-input-otp] - The following separator positions are greater than the input length (${length}): ${invalidSeparators.join(', ')}. These separators will be ignored.`, this.el);
|
|
17279
|
+
}
|
|
17280
|
+
this.parsedSeparators = separatorValues.filter((pos) => pos <= length);
|
|
17281
|
+
}
|
|
17282
|
+
componentWillLoad() {
|
|
17283
|
+
this.processSeparators();
|
|
17284
|
+
this.initializeValues();
|
|
17285
|
+
}
|
|
17286
|
+
/**
|
|
17287
|
+
* Initializes the input values array based on the current value prop.
|
|
17288
|
+
* This splits the value into individual characters and validates them against
|
|
17289
|
+
* the allowed pattern. The values are then used as the values in the native
|
|
17290
|
+
* input boxes and the value of the input group is updated.
|
|
17291
|
+
*/
|
|
17292
|
+
initializeValues() {
|
|
17293
|
+
if (this.value != null && String(this.value).length > 0) {
|
|
17294
|
+
const chars = String(this.value).split('').slice(0, this.length);
|
|
17295
|
+
chars.forEach((char, index) => {
|
|
17296
|
+
if (this.validKeys.test(char)) {
|
|
17297
|
+
this.inputValues[index] = char;
|
|
17298
|
+
}
|
|
17299
|
+
});
|
|
17300
|
+
// Update the value without emitting events
|
|
17301
|
+
this.value = this.inputValues.join('');
|
|
17302
|
+
}
|
|
17303
|
+
}
|
|
17304
|
+
/**
|
|
17305
|
+
* Resets the input values and focus state.
|
|
17306
|
+
*/
|
|
17307
|
+
async reset() {
|
|
17308
|
+
this.inputValues = Array(this.length).fill('');
|
|
17309
|
+
this.value = '';
|
|
17310
|
+
this.focusedValue = null;
|
|
17311
|
+
this.hasFocus = false;
|
|
17312
|
+
this.inputRefs.forEach((input) => {
|
|
17313
|
+
input.blur();
|
|
17314
|
+
});
|
|
17315
|
+
this.updateTabIndexes();
|
|
17316
|
+
}
|
|
17317
|
+
/**
|
|
17318
|
+
* Sets focus to an input box.
|
|
17319
|
+
* @param index - The index of the input box to focus (0-based).
|
|
17320
|
+
* If provided and the input box has a value, the input box at that index will be focused.
|
|
17321
|
+
* Otherwise, the first empty input box or the last input if all are filled will be focused.
|
|
17322
|
+
*/
|
|
17323
|
+
async setFocus(index) {
|
|
17324
|
+
var _a, _b;
|
|
17325
|
+
if (typeof index === 'number') {
|
|
17326
|
+
const validIndex = Math.max(0, Math.min(index, this.length - 1));
|
|
17327
|
+
(_a = this.inputRefs[validIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17328
|
+
}
|
|
17329
|
+
else {
|
|
17330
|
+
const tabbableIndex = this.getTabbableIndex();
|
|
17331
|
+
(_b = this.inputRefs[tabbableIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
17332
|
+
}
|
|
17333
|
+
}
|
|
17334
|
+
/**
|
|
17335
|
+
* Get the regex pattern for allowed characters.
|
|
17336
|
+
* If a pattern is provided, use it to create a regex pattern
|
|
17337
|
+
* Otherwise, use the default regex pattern based on type
|
|
17338
|
+
*/
|
|
17339
|
+
get validKeys() {
|
|
17340
|
+
return new RegExp(`^${this.getPattern()}$`);
|
|
17341
|
+
}
|
|
17342
|
+
/**
|
|
17343
|
+
* Gets the string pattern to pass to the input element
|
|
17344
|
+
* and use in the regex for allowed characters.
|
|
17345
|
+
*/
|
|
17346
|
+
getPattern() {
|
|
17347
|
+
const { pattern, type } = this;
|
|
17348
|
+
if (pattern) {
|
|
17349
|
+
return pattern;
|
|
17350
|
+
}
|
|
17351
|
+
return type === 'number' ? '[0-9]' : '[a-zA-Z0-9]';
|
|
17352
|
+
}
|
|
17353
|
+
/**
|
|
17354
|
+
* Get the default value for inputmode.
|
|
17355
|
+
* If inputmode is provided, use it.
|
|
17356
|
+
* Otherwise, use the default inputmode based on type
|
|
17357
|
+
*/
|
|
17358
|
+
getInputmode() {
|
|
17359
|
+
const { inputmode } = this;
|
|
17360
|
+
if (inputmode) {
|
|
17361
|
+
return inputmode;
|
|
17362
|
+
}
|
|
17363
|
+
if (this.type == 'number') {
|
|
17364
|
+
return 'numeric';
|
|
17365
|
+
}
|
|
17366
|
+
else {
|
|
17367
|
+
return 'text';
|
|
17368
|
+
}
|
|
17369
|
+
}
|
|
17370
|
+
/**
|
|
17371
|
+
* Updates the value of the input group.
|
|
17372
|
+
* This updates the value of the input group and emits an `ionChange` event.
|
|
17373
|
+
* If all of the input boxes are filled, it emits an `ionComplete` event.
|
|
17374
|
+
*/
|
|
17375
|
+
updateValue(event) {
|
|
17376
|
+
const { inputValues, length } = this;
|
|
17377
|
+
const newValue = inputValues.join('');
|
|
17378
|
+
this.value = newValue;
|
|
17379
|
+
this.emitIonInput(event);
|
|
17380
|
+
if (newValue.length === length) {
|
|
17381
|
+
this.ionComplete.emit({ value: newValue });
|
|
17382
|
+
}
|
|
17383
|
+
}
|
|
17384
|
+
/**
|
|
17385
|
+
* Emits an `ionChange` event.
|
|
17386
|
+
* This API should be called for user committed changes.
|
|
17387
|
+
* This API should not be used for external value changes.
|
|
17388
|
+
*/
|
|
17389
|
+
emitIonChange(event) {
|
|
17390
|
+
const { value } = this;
|
|
17391
|
+
// Checks for both null and undefined values
|
|
17392
|
+
const newValue = value == null ? value : value.toString();
|
|
17393
|
+
this.ionChange.emit({ value: newValue, event });
|
|
17394
|
+
}
|
|
17395
|
+
/**
|
|
17396
|
+
* Emits an `ionInput` event.
|
|
17397
|
+
* This is used to emit the input value when the user types,
|
|
17398
|
+
* backspaces, or pastes.
|
|
17399
|
+
*/
|
|
17400
|
+
emitIonInput(event) {
|
|
17401
|
+
const { value } = this;
|
|
17402
|
+
// Checks for both null and undefined values
|
|
17403
|
+
const newValue = value == null ? value : value.toString();
|
|
17404
|
+
this.ionInput.emit({ value: newValue, event });
|
|
17405
|
+
}
|
|
17406
|
+
/**
|
|
17407
|
+
* Focuses the next input box.
|
|
17408
|
+
*/
|
|
17409
|
+
focusNext(currentIndex) {
|
|
17410
|
+
var _a;
|
|
17411
|
+
const { inputRefs, length } = this;
|
|
17412
|
+
if (currentIndex < length - 1) {
|
|
17413
|
+
(_a = inputRefs[currentIndex + 1]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17414
|
+
}
|
|
17415
|
+
}
|
|
17416
|
+
/**
|
|
17417
|
+
* Focuses the previous input box.
|
|
17418
|
+
*/
|
|
17419
|
+
focusPrevious(currentIndex) {
|
|
17420
|
+
var _a;
|
|
17421
|
+
const { inputRefs } = this;
|
|
17422
|
+
if (currentIndex > 0) {
|
|
17423
|
+
(_a = inputRefs[currentIndex - 1]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17424
|
+
}
|
|
17425
|
+
}
|
|
17426
|
+
/**
|
|
17427
|
+
* Determines if a separator should be shown for a given index by
|
|
17428
|
+
* checking if the index is included in the parsed separators array.
|
|
17429
|
+
*/
|
|
17430
|
+
showSeparator(index) {
|
|
17431
|
+
const { length } = this;
|
|
17432
|
+
return this.parsedSeparators.includes(index + 1) && index < length - 1;
|
|
17433
|
+
}
|
|
17434
|
+
/**
|
|
17435
|
+
* Updates the tabIndexes for the input boxes.
|
|
17436
|
+
* This is used to ensure that the correct input is
|
|
17437
|
+
* focused when the user navigates using the tab key.
|
|
17438
|
+
*/
|
|
17439
|
+
updateTabIndexes() {
|
|
17440
|
+
const { inputRefs, inputValues, length } = this;
|
|
17441
|
+
// Find first empty index after any filled boxes
|
|
17442
|
+
let firstEmptyIndex = -1;
|
|
17443
|
+
for (let i = 0; i < length; i++) {
|
|
17444
|
+
if (!inputValues[i] || inputValues[i] === '') {
|
|
17445
|
+
firstEmptyIndex = i;
|
|
17446
|
+
break;
|
|
17447
|
+
}
|
|
17448
|
+
}
|
|
17449
|
+
// Update tabIndex for all inputs
|
|
17450
|
+
inputRefs.forEach((input, index) => {
|
|
17451
|
+
// If all boxes are filled, make the last box tabbable
|
|
17452
|
+
// Otherwise, make the first empty box tabbable
|
|
17453
|
+
const shouldBeTabbable = firstEmptyIndex === -1 ? index === length - 1 : firstEmptyIndex === index;
|
|
17454
|
+
input.tabIndex = shouldBeTabbable ? 0 : -1;
|
|
17455
|
+
});
|
|
17456
|
+
}
|
|
17457
|
+
/**
|
|
17458
|
+
* Loops through the input values and returns the index
|
|
17459
|
+
* of the first empty input.
|
|
17460
|
+
* Returns -1 if all inputs are filled.
|
|
17461
|
+
*/
|
|
17462
|
+
getFirstEmptyIndex() {
|
|
17463
|
+
const { inputValues, length } = this;
|
|
17464
|
+
for (let i = 0; i < length; i++) {
|
|
17465
|
+
if (!inputValues[i] || inputValues[i] === '') {
|
|
17466
|
+
return i;
|
|
17467
|
+
}
|
|
17468
|
+
}
|
|
17469
|
+
return -1;
|
|
17470
|
+
}
|
|
17471
|
+
/**
|
|
17472
|
+
* Returns the index of the input that should be tabbed to.
|
|
17473
|
+
* If all inputs are filled, returns the last input's index.
|
|
17474
|
+
* Otherwise, returns the index of the first empty input.
|
|
17475
|
+
*/
|
|
17476
|
+
getTabbableIndex() {
|
|
17477
|
+
const { length } = this;
|
|
17478
|
+
const firstEmptyIndex = this.getFirstEmptyIndex();
|
|
17479
|
+
return firstEmptyIndex === -1 ? length - 1 : firstEmptyIndex;
|
|
17480
|
+
}
|
|
17481
|
+
render() {
|
|
17482
|
+
const { autocapitalize, color, disabled, fill, hasFocus, inputId, inputRefs, inputValues, length, readonly, shape, size, } = this;
|
|
17483
|
+
const mode = getIonMode$1(this);
|
|
17484
|
+
const inputmode = this.getInputmode();
|
|
17485
|
+
const tabbableIndex = this.getTabbableIndex();
|
|
17486
|
+
const pattern = this.getPattern();
|
|
17487
|
+
return (hAsync(Host, { key: '74de5578f268fe055f85dd2edae519e744555a2c', class: createColorClasses$1(color, {
|
|
17488
|
+
[mode]: true,
|
|
17489
|
+
'has-focus': hasFocus,
|
|
17490
|
+
[`input-otp-size-${size}`]: true,
|
|
17491
|
+
[`input-otp-shape-${shape}`]: true,
|
|
17492
|
+
[`input-otp-fill-${fill}`]: true,
|
|
17493
|
+
'input-otp-disabled': disabled,
|
|
17494
|
+
'input-otp-readonly': readonly,
|
|
17495
|
+
}) }, hAsync("div", { key: '0990a8817aac2d540228aeee4c6a42239f4aedaa', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper" }, hAsync("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: 'e2c0fcfc7630d58360304d6e7b21b2e9a01971f6', class: "input-otp-description" }, hAsync("slot", { key: '9ba61fd056e67d5e1933f0b16f43e8a55de5319d' }))));
|
|
17496
|
+
}
|
|
17497
|
+
get el() { return getElement(this); }
|
|
17498
|
+
static get watchers() { return {
|
|
17499
|
+
"value": ["valueChanged"],
|
|
17500
|
+
"separators": ["processSeparators"],
|
|
17501
|
+
"length": ["processSeparators"]
|
|
17502
|
+
}; }
|
|
17503
|
+
static get style() { return {
|
|
17504
|
+
ios: inputOtpIosCss,
|
|
17505
|
+
md: inputOtpMdCss
|
|
17506
|
+
}; }
|
|
17507
|
+
static get cmpMeta() { return {
|
|
17508
|
+
"$flags$": 38,
|
|
17509
|
+
"$tagName$": "ion-input-otp",
|
|
17510
|
+
"$members$": {
|
|
17511
|
+
"autocapitalize": [1],
|
|
17512
|
+
"color": [513],
|
|
17513
|
+
"disabled": [516],
|
|
17514
|
+
"fill": [1],
|
|
17515
|
+
"inputmode": [1],
|
|
17516
|
+
"length": [2],
|
|
17517
|
+
"pattern": [1],
|
|
17518
|
+
"readonly": [516],
|
|
17519
|
+
"size": [1],
|
|
17520
|
+
"separators": [1],
|
|
17521
|
+
"shape": [1],
|
|
17522
|
+
"type": [1],
|
|
17523
|
+
"value": [1032],
|
|
17524
|
+
"inputValues": [32],
|
|
17525
|
+
"hasFocus": [32],
|
|
17526
|
+
"reset": [64],
|
|
17527
|
+
"setFocus": [64]
|
|
17528
|
+
},
|
|
17529
|
+
"$listeners$": undefined,
|
|
17530
|
+
"$lazyBundleId$": "-",
|
|
17531
|
+
"$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
|
|
17532
|
+
}; }
|
|
17533
|
+
}
|
|
16935
17534
|
let inputIds = 0;
|
|
16936
17535
|
|
|
16937
17536
|
const iosInputPasswordToggleCss = "";
|
|
@@ -16993,16 +17592,16 @@ class InputPasswordToggle {
|
|
|
16993
17592
|
const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
|
|
16994
17593
|
const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
|
|
16995
17594
|
const isPasswordVisible = type === 'text';
|
|
16996
|
-
return (hAsync(Host, { key: '
|
|
17595
|
+
return (hAsync(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses$1(color, {
|
|
16997
17596
|
[mode]: true,
|
|
16998
|
-
}) }, hAsync("ion-button", { key: '
|
|
17597
|
+
}) }, 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
17598
|
/**
|
|
17000
17599
|
* This prevents mobile browsers from
|
|
17001
17600
|
* blurring the input when the password toggle
|
|
17002
17601
|
* button is activated.
|
|
17003
17602
|
*/
|
|
17004
17603
|
ev.preventDefault();
|
|
17005
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
17604
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'e7656040b08c6a394d56f1fc41d6ca34225287d2', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
|
|
17006
17605
|
}
|
|
17007
17606
|
get el() { return getElement(this); }
|
|
17008
17607
|
static get watchers() { return {
|
|
@@ -17312,11 +17911,11 @@ class ItemDivider {
|
|
|
17312
17911
|
}
|
|
17313
17912
|
render() {
|
|
17314
17913
|
const mode = getIonMode$1(this);
|
|
17315
|
-
return (hAsync(Host, { key: '
|
|
17914
|
+
return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
|
|
17316
17915
|
[mode]: true,
|
|
17317
17916
|
'item-divider-sticky': this.sticky,
|
|
17318
17917
|
item: true,
|
|
17319
|
-
}) }, hAsync("slot", { key: '
|
|
17918
|
+
}) }, 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
17919
|
}
|
|
17321
17920
|
get el() { return getElement(this); }
|
|
17322
17921
|
static get style() { return {
|
|
@@ -17346,7 +17945,7 @@ class ItemGroup {
|
|
|
17346
17945
|
}
|
|
17347
17946
|
render() {
|
|
17348
17947
|
const mode = getIonMode$1(this);
|
|
17349
|
-
return (hAsync(Host, { key: '
|
|
17948
|
+
return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
|
|
17350
17949
|
[mode]: true,
|
|
17351
17950
|
// Used internally for styling
|
|
17352
17951
|
[`item-group-${mode}`]: true,
|
|
@@ -17416,12 +18015,12 @@ class ItemOption {
|
|
|
17416
18015
|
href: this.href,
|
|
17417
18016
|
target: this.target,
|
|
17418
18017
|
};
|
|
17419
|
-
return (hAsync(Host, { key: '
|
|
18018
|
+
return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
17420
18019
|
[mode]: true,
|
|
17421
18020
|
'item-option-disabled': disabled,
|
|
17422
18021
|
'item-option-expandable': expandable,
|
|
17423
18022
|
'ion-activatable': true,
|
|
17424
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
18023
|
+
}) }, 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
18024
|
}
|
|
17426
18025
|
get el() { return getElement(this); }
|
|
17427
18026
|
static get style() { return {
|
|
@@ -17470,7 +18069,7 @@ class ItemOptions {
|
|
|
17470
18069
|
render() {
|
|
17471
18070
|
const mode = getIonMode$1(this);
|
|
17472
18071
|
const isEnd = isEndSide(this.side);
|
|
17473
|
-
return (hAsync(Host, { key: '
|
|
18072
|
+
return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
|
|
17474
18073
|
[mode]: true,
|
|
17475
18074
|
// Used internally for styling
|
|
17476
18075
|
[`item-options-${mode}`]: true,
|
|
@@ -17934,7 +18533,7 @@ class ItemSliding {
|
|
|
17934
18533
|
}
|
|
17935
18534
|
render() {
|
|
17936
18535
|
const mode = getIonMode$1(this);
|
|
17937
|
-
return (hAsync(Host, { key: '
|
|
18536
|
+
return (hAsync(Host, { key: '9880396ad79e06117d572a27f92c4b753d1e26db', class: {
|
|
17938
18537
|
[mode]: true,
|
|
17939
18538
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
17940
18539
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -18039,13 +18638,13 @@ class Label {
|
|
|
18039
18638
|
render() {
|
|
18040
18639
|
const position = this.position;
|
|
18041
18640
|
const mode = getIonMode$1(this);
|
|
18042
|
-
return (hAsync(Host, { key: '
|
|
18641
|
+
return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
|
|
18043
18642
|
[mode]: true,
|
|
18044
18643
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
18045
18644
|
[`label-${position}`]: position !== undefined,
|
|
18046
18645
|
[`label-no-animate`]: this.noAnimate,
|
|
18047
18646
|
'label-rtl': document.dir === 'rtl',
|
|
18048
|
-
}) }, hAsync("slot", { key: '
|
|
18647
|
+
}) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
|
|
18049
18648
|
}
|
|
18050
18649
|
get el() { return getElement(this); }
|
|
18051
18650
|
static get watchers() { return {
|
|
@@ -18101,7 +18700,7 @@ class List {
|
|
|
18101
18700
|
render() {
|
|
18102
18701
|
const mode = getIonMode$1(this);
|
|
18103
18702
|
const { lines, inset } = this;
|
|
18104
|
-
return (hAsync(Host, { key: '
|
|
18703
|
+
return (hAsync(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
|
|
18105
18704
|
[mode]: true,
|
|
18106
18705
|
// Used internally for styling
|
|
18107
18706
|
[`list-${mode}`]: true,
|
|
@@ -18143,10 +18742,10 @@ class ListHeader {
|
|
|
18143
18742
|
render() {
|
|
18144
18743
|
const { lines } = this;
|
|
18145
18744
|
const mode = getIonMode$1(this);
|
|
18146
|
-
return (hAsync(Host, { key: '
|
|
18745
|
+
return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
|
|
18147
18746
|
[mode]: true,
|
|
18148
18747
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
18149
|
-
}) }, hAsync("div", { key: '
|
|
18748
|
+
}) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
|
|
18150
18749
|
}
|
|
18151
18750
|
static get style() { return {
|
|
18152
18751
|
ios: listHeaderIosCss,
|
|
@@ -18432,9 +19031,9 @@ class Loading {
|
|
|
18432
19031
|
* Otherwise, don't set aria-labelledby.
|
|
18433
19032
|
*/
|
|
18434
19033
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
18435
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
19034
|
+
return (hAsync(Host, Object.assign({ key: '6369ed244c06c39aa338141bffacf7a861d7da1a', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
18436
19035
|
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: '
|
|
19036
|
+
}, 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
19037
|
}
|
|
18439
19038
|
get el() { return getElement(this); }
|
|
18440
19039
|
static get watchers() { return {
|
|
@@ -19458,14 +20057,14 @@ class Menu {
|
|
|
19458
20057
|
* the ionBackButton listener in the menu controller
|
|
19459
20058
|
* will handle closing the menu when Escape is pressed.
|
|
19460
20059
|
*/
|
|
19461
|
-
return (hAsync(Host, { key: '
|
|
20060
|
+
return (hAsync(Host, { key: '9e4ae9476a76781f1d228395c9af9e1c39ec82bb', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
19462
20061
|
[mode]: true,
|
|
19463
20062
|
[`menu-type-${type}`]: true,
|
|
19464
20063
|
'menu-enabled': !disabled,
|
|
19465
20064
|
[`menu-side-${side}`]: true,
|
|
19466
20065
|
'menu-pane-visible': isPaneVisible,
|
|
19467
20066
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
19468
|
-
} }, hAsync("div", { key: '
|
|
20067
|
+
} }, 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
20068
|
}
|
|
19470
20069
|
get el() { return getElement(this); }
|
|
19471
20070
|
static get watchers() { return {
|
|
@@ -19573,7 +20172,7 @@ class MenuButton {
|
|
|
19573
20172
|
type: this.type,
|
|
19574
20173
|
};
|
|
19575
20174
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
19576
|
-
return (hAsync(Host, { key: '
|
|
20175
|
+
return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
19577
20176
|
[mode]: true,
|
|
19578
20177
|
button: true, // ion-buttons target .button
|
|
19579
20178
|
'menu-button-hidden': hidden,
|
|
@@ -19582,7 +20181,7 @@ class MenuButton {
|
|
|
19582
20181
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
19583
20182
|
'ion-activatable': true,
|
|
19584
20183
|
'ion-focusable': true,
|
|
19585
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
20184
|
+
}) }, 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
20185
|
}
|
|
19587
20186
|
get el() { return getElement(this); }
|
|
19588
20187
|
static get style() { return {
|
|
@@ -19635,10 +20234,10 @@ class MenuToggle {
|
|
|
19635
20234
|
render() {
|
|
19636
20235
|
const mode = getIonMode$1(this);
|
|
19637
20236
|
const hidden = this.autoHide && !this.visible;
|
|
19638
|
-
return (hAsync(Host, { key: '
|
|
20237
|
+
return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
19639
20238
|
[mode]: true,
|
|
19640
20239
|
'menu-toggle-hidden': hidden,
|
|
19641
|
-
} }, hAsync("slot", { key: '
|
|
20240
|
+
} }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
|
|
19642
20241
|
}
|
|
19643
20242
|
static get style() { return menuToggleCss; }
|
|
19644
20243
|
static get cmpMeta() { return {
|
|
@@ -21970,18 +22569,18 @@ class Modal {
|
|
|
21970
22569
|
const mode = getIonMode$1(this);
|
|
21971
22570
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
21972
22571
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
21973
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
22572
|
+
return (hAsync(Host, Object.assign({ key: '0bcbdcfcd7d890eb599da3f97f21c317d34f8e0e', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
21974
22573
|
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: '
|
|
22574
|
+
}, 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
22575
|
/*
|
|
21977
22576
|
role and aria-modal must be used on the
|
|
21978
22577
|
same element. They must also be set inside the
|
|
21979
22578
|
shadow DOM otherwise ion-button will not be highlighted
|
|
21980
22579
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
21981
22580
|
*/
|
|
21982
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
22581
|
+
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
22582
|
// 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: '
|
|
22583
|
+
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
22584
|
}
|
|
21986
22585
|
get el() { return getElement(this); }
|
|
21987
22586
|
static get watchers() { return {
|
|
@@ -22928,7 +23527,7 @@ class Nav {
|
|
|
22928
23527
|
}
|
|
22929
23528
|
}
|
|
22930
23529
|
render() {
|
|
22931
|
-
return hAsync("slot", { key: '
|
|
23530
|
+
return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
|
|
22932
23531
|
}
|
|
22933
23532
|
get el() { return getElement(this); }
|
|
22934
23533
|
static get watchers() { return {
|
|
@@ -23001,7 +23600,7 @@ class NavLink {
|
|
|
23001
23600
|
};
|
|
23002
23601
|
}
|
|
23003
23602
|
render() {
|
|
23004
|
-
return hAsync(Host, { key: '
|
|
23603
|
+
return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
|
|
23005
23604
|
}
|
|
23006
23605
|
get el() { return getElement(this); }
|
|
23007
23606
|
static get cmpMeta() { return {
|
|
@@ -23032,9 +23631,9 @@ class Note {
|
|
|
23032
23631
|
}
|
|
23033
23632
|
render() {
|
|
23034
23633
|
const mode = getIonMode$1(this);
|
|
23035
|
-
return (hAsync(Host, { key: '
|
|
23634
|
+
return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
|
|
23036
23635
|
[mode]: true,
|
|
23037
|
-
}) }, hAsync("slot", { key: '
|
|
23636
|
+
}) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
|
|
23038
23637
|
}
|
|
23039
23638
|
static get style() { return {
|
|
23040
23639
|
ios: noteIosCss,
|
|
@@ -23794,11 +24393,11 @@ class Picker {
|
|
|
23794
24393
|
render() {
|
|
23795
24394
|
const { htmlAttributes } = this;
|
|
23796
24395
|
const mode = getIonMode$1(this);
|
|
23797
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24396
|
+
return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
23798
24397
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
23799
24398
|
}, class: Object.assign({ [mode]: true,
|
|
23800
24399
|
// Used internally for styling
|
|
23801
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
24400
|
+
[`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
24401
|
}
|
|
23803
24402
|
get el() { return getElement(this); }
|
|
23804
24403
|
static get watchers() { return {
|
|
@@ -24785,9 +25384,9 @@ class PickerColumnCmp {
|
|
|
24785
25384
|
render() {
|
|
24786
25385
|
const col = this.col;
|
|
24787
25386
|
const mode = getIonMode$1(this);
|
|
24788
|
-
return (hAsync(Host, { key: '
|
|
25387
|
+
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
25388
|
'max-width': this.col.columnWidth,
|
|
24790
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
25389
|
+
} }, 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
25390
|
}
|
|
24792
25391
|
get el() { return getElement(this); }
|
|
24793
25392
|
static get watchers() { return {
|
|
@@ -24904,10 +25503,10 @@ class PickerColumnOption {
|
|
|
24904
25503
|
render() {
|
|
24905
25504
|
const { color, disabled, ariaLabel } = this;
|
|
24906
25505
|
const mode = getIonMode$1(this);
|
|
24907
|
-
return (hAsync(Host, { key: '
|
|
25506
|
+
return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
|
|
24908
25507
|
[mode]: true,
|
|
24909
25508
|
['option-disabled']: disabled,
|
|
24910
|
-
}) }, hAsync("button", { key: '
|
|
25509
|
+
}) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
|
|
24911
25510
|
}
|
|
24912
25511
|
get el() { return getElement(this); }
|
|
24913
25512
|
static get watchers() { return {
|
|
@@ -26313,9 +26912,9 @@ class Popover {
|
|
|
26313
26912
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
26314
26913
|
const desktop = isPlatform('desktop');
|
|
26315
26914
|
const enableArrow = arrow && !parentPopover;
|
|
26316
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
26915
|
+
return (hAsync(Host, Object.assign({ key: '1de4862099cfcb5035e78008e6dc7c1371846f9a', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
26317
26916
|
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: '
|
|
26917
|
+
}, 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
26918
|
}
|
|
26320
26919
|
get el() { return getElement(this); }
|
|
26321
26920
|
static get watchers() { return {
|
|
@@ -26420,7 +27019,7 @@ class ProgressBar {
|
|
|
26420
27019
|
const mode = getIonMode$1(this);
|
|
26421
27020
|
// If the progress is displayed as a solid bar.
|
|
26422
27021
|
const progressSolid = buffer === 1;
|
|
26423
|
-
return (hAsync(Host, { key: '
|
|
27022
|
+
return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
26424
27023
|
[mode]: true,
|
|
26425
27024
|
[`progress-bar-${type}`]: true,
|
|
26426
27025
|
'progress-paused': paused,
|
|
@@ -26604,7 +27203,7 @@ class Radio {
|
|
|
26604
27203
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
26605
27204
|
const mode = getIonMode$1(this);
|
|
26606
27205
|
const inItem = hostContext('ion-item', el);
|
|
26607
|
-
return (hAsync(Host, { key: '
|
|
27206
|
+
return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
26608
27207
|
[mode]: true,
|
|
26609
27208
|
'in-item': inItem,
|
|
26610
27209
|
'radio-checked': checked,
|
|
@@ -26615,10 +27214,10 @@ class Radio {
|
|
|
26615
27214
|
// Focus and active styling should not apply when the radio is in an item
|
|
26616
27215
|
'ion-activatable': !inItem,
|
|
26617
27216
|
'ion-focusable': !inItem,
|
|
26618
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
27217
|
+
}), 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
27218
|
'label-text-wrapper': true,
|
|
26620
27219
|
'label-text-wrapper-hidden': !hasLabel,
|
|
26621
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
27220
|
+
}, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
26622
27221
|
}
|
|
26623
27222
|
get el() { return getElement(this); }
|
|
26624
27223
|
static get watchers() { return {
|
|
@@ -26841,7 +27440,7 @@ class RadioGroup {
|
|
|
26841
27440
|
const { label, labelId, el, name, value } = this;
|
|
26842
27441
|
const mode = getIonMode$1(this);
|
|
26843
27442
|
renderHiddenInput(true, el, name, value, false);
|
|
26844
|
-
return (hAsync(Host, { key: '
|
|
27443
|
+
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
27444
|
}
|
|
26846
27445
|
get el() { return getElement(this); }
|
|
26847
27446
|
static get watchers() { return {
|
|
@@ -27556,7 +28155,7 @@ class Range {
|
|
|
27556
28155
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
27557
28156
|
const mode = getIonMode$1(this);
|
|
27558
28157
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
27559
|
-
return (hAsync(Host, { key: '
|
|
28158
|
+
return (hAsync(Host, { key: '124909954930d95f353e8593fd967de1486b0315', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
27560
28159
|
[mode]: true,
|
|
27561
28160
|
'in-item': inItem,
|
|
27562
28161
|
'range-disabled': disabled,
|
|
@@ -27565,10 +28164,10 @@ class Range {
|
|
|
27565
28164
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
27566
28165
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
27567
28166
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
27568
|
-
}) }, hAsync("label", { key: '
|
|
28167
|
+
}) }, hAsync("label", { key: '0af177a2ba5869d3441c4b3f393835218807a418', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '4d834224b9c834e88497f58af4339348cec9ca1c', class: {
|
|
27569
28168
|
'label-text-wrapper': true,
|
|
27570
28169
|
'label-text-wrapper-hidden': !hasLabel,
|
|
27571
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
28170
|
+
}, 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
28171
|
}
|
|
27573
28172
|
get el() { return getElement(this); }
|
|
27574
28173
|
static get watchers() { return {
|
|
@@ -28518,7 +29117,7 @@ class Refresher {
|
|
|
28518
29117
|
}
|
|
28519
29118
|
render() {
|
|
28520
29119
|
const mode = getIonMode$1(this);
|
|
28521
|
-
return (hAsync(Host, { key: '
|
|
29120
|
+
return (hAsync(Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
|
|
28522
29121
|
[mode]: true,
|
|
28523
29122
|
// Used internally for styling
|
|
28524
29123
|
[`refresher-${mode}`]: true,
|
|
@@ -28742,7 +29341,7 @@ class RefresherContent {
|
|
|
28742
29341
|
const pullingIcon = this.pullingIcon;
|
|
28743
29342
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
28744
29343
|
const mode = getIonMode$1(this);
|
|
28745
|
-
return (hAsync(Host, { key: '
|
|
29344
|
+
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
29345
|
}
|
|
28747
29346
|
get el() { return getElement(this); }
|
|
28748
29347
|
static get cmpMeta() { return {
|
|
@@ -28783,7 +29382,7 @@ class Reorder {
|
|
|
28783
29382
|
render() {
|
|
28784
29383
|
const mode = getIonMode$1(this);
|
|
28785
29384
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
28786
|
-
return (hAsync(Host, { key: '
|
|
29385
|
+
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
29386
|
}
|
|
28788
29387
|
get el() { return getElement(this); }
|
|
28789
29388
|
static get style() { return {
|
|
@@ -29039,7 +29638,7 @@ class ReorderGroup {
|
|
|
29039
29638
|
}
|
|
29040
29639
|
render() {
|
|
29041
29640
|
const mode = getIonMode$1(this);
|
|
29042
|
-
return (hAsync(Host, { key: '
|
|
29641
|
+
return (hAsync(Host, { key: 'f30613b361c5c3095b7928a92fb4b1e8d6eff600', class: {
|
|
29043
29642
|
[mode]: true,
|
|
29044
29643
|
'reorder-enabled': !this.disabled,
|
|
29045
29644
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -29155,7 +29754,7 @@ class RippleEffect {
|
|
|
29155
29754
|
}
|
|
29156
29755
|
render() {
|
|
29157
29756
|
const mode = getIonMode$1(this);
|
|
29158
|
-
return (hAsync(Host, { key: '
|
|
29757
|
+
return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
|
|
29159
29758
|
[mode]: true,
|
|
29160
29759
|
unbounded: this.unbounded,
|
|
29161
29760
|
} }));
|
|
@@ -30113,10 +30712,10 @@ class RouterLink {
|
|
|
30113
30712
|
rel: this.rel,
|
|
30114
30713
|
target: this.target,
|
|
30115
30714
|
};
|
|
30116
|
-
return (hAsync(Host, { key: '
|
|
30715
|
+
return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
30117
30716
|
[mode]: true,
|
|
30118
30717
|
'ion-activatable': true,
|
|
30119
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
30718
|
+
}) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
|
|
30120
30719
|
}
|
|
30121
30720
|
static get style() { return routerLinkCss; }
|
|
30122
30721
|
static get cmpMeta() { return {
|
|
@@ -30313,7 +30912,7 @@ class RouterOutlet {
|
|
|
30313
30912
|
return true;
|
|
30314
30913
|
}
|
|
30315
30914
|
render() {
|
|
30316
|
-
return hAsync("slot", { key: '
|
|
30915
|
+
return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
|
|
30317
30916
|
}
|
|
30318
30917
|
get el() { return getElement(this); }
|
|
30319
30918
|
static get watchers() { return {
|
|
@@ -30346,7 +30945,7 @@ class Row {
|
|
|
30346
30945
|
registerInstance(this, hostRef);
|
|
30347
30946
|
}
|
|
30348
30947
|
render() {
|
|
30349
|
-
return (hAsync(Host, { key: '
|
|
30948
|
+
return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
|
|
30350
30949
|
}
|
|
30351
30950
|
static get style() { return rowCss; }
|
|
30352
30951
|
static get cmpMeta() { return {
|
|
@@ -30789,8 +31388,8 @@ class Searchbar {
|
|
|
30789
31388
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
30790
31389
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
30791
31390
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
30792
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
30793
|
-
return (hAsync(Host, { key: '
|
|
31391
|
+
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))));
|
|
31392
|
+
return (hAsync(Host, { key: '4432996807ffe9372c7d6955c94366d5b920f6dd', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
30794
31393
|
[mode]: true,
|
|
30795
31394
|
'searchbar-animated': animated,
|
|
30796
31395
|
'searchbar-disabled': this.disabled,
|
|
@@ -30800,14 +31399,14 @@ class Searchbar {
|
|
|
30800
31399
|
'searchbar-has-focus': this.focused,
|
|
30801
31400
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
30802
31401
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
30803
|
-
}) }, hAsync("div", { key: '
|
|
31402
|
+
}) }, 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
31403
|
/**
|
|
30805
31404
|
* This prevents mobile browsers from
|
|
30806
31405
|
* blurring the input when the clear
|
|
30807
31406
|
* button is activated.
|
|
30808
31407
|
*/
|
|
30809
31408
|
ev.preventDefault();
|
|
30810
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
31409
|
+
}, 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
31410
|
}
|
|
30812
31411
|
get el() { return getElement(this); }
|
|
30813
31412
|
static get watchers() { return {
|
|
@@ -31402,14 +32001,14 @@ class Segment {
|
|
|
31402
32001
|
}
|
|
31403
32002
|
render() {
|
|
31404
32003
|
const mode = getIonMode$1(this);
|
|
31405
|
-
return (hAsync(Host, { key: '
|
|
32004
|
+
return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
31406
32005
|
[mode]: true,
|
|
31407
32006
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
31408
32007
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
31409
32008
|
'segment-activated': this.activated,
|
|
31410
32009
|
'segment-disabled': this.disabled,
|
|
31411
32010
|
'segment-scrollable': this.scrollable,
|
|
31412
|
-
}) }, hAsync("slot", { key: '
|
|
32011
|
+
}) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
|
|
31413
32012
|
}
|
|
31414
32013
|
get el() { return getElement(this); }
|
|
31415
32014
|
static get watchers() { return {
|
|
@@ -31549,7 +32148,7 @@ class SegmentButton {
|
|
|
31549
32148
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
31550
32149
|
const mode = getIonMode$1(this);
|
|
31551
32150
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
31552
|
-
return (hAsync(Host, { key: '
|
|
32151
|
+
return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
|
|
31553
32152
|
[mode]: true,
|
|
31554
32153
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
31555
32154
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -31565,7 +32164,7 @@ class SegmentButton {
|
|
|
31565
32164
|
'ion-activatable': true,
|
|
31566
32165
|
'ion-activatable-instant': true,
|
|
31567
32166
|
'ion-focusable': true,
|
|
31568
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
32167
|
+
} }, 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
32168
|
}
|
|
31570
32169
|
get el() { return getElement(this); }
|
|
31571
32170
|
static get watchers() { return {
|
|
@@ -31600,7 +32199,7 @@ class SegmentContent {
|
|
|
31600
32199
|
registerInstance(this, hostRef);
|
|
31601
32200
|
}
|
|
31602
32201
|
render() {
|
|
31603
|
-
return (hAsync(Host, { key: '
|
|
32202
|
+
return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
|
|
31604
32203
|
}
|
|
31605
32204
|
static get style() { return segmentContentCss; }
|
|
31606
32205
|
static get cmpMeta() { return {
|
|
@@ -31713,10 +32312,10 @@ class SegmentView {
|
|
|
31713
32312
|
}
|
|
31714
32313
|
render() {
|
|
31715
32314
|
const { disabled, isManualScroll } = this;
|
|
31716
|
-
return (hAsync(Host, { key: '
|
|
32315
|
+
return (hAsync(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
|
|
31717
32316
|
'segment-view-disabled': disabled,
|
|
31718
32317
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
31719
|
-
} }, hAsync("slot", { key: '
|
|
32318
|
+
} }, hAsync("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
|
|
31720
32319
|
}
|
|
31721
32320
|
get el() { return getElement(this); }
|
|
31722
32321
|
static get style() { return {
|
|
@@ -32455,7 +33054,7 @@ class Select {
|
|
|
32455
33054
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
32456
33055
|
*/
|
|
32457
33056
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
32458
|
-
return (hAsync(Host, { key: '
|
|
33057
|
+
return (hAsync(Host, { key: 'd42f9434cdf0f22f8710f1f363096e12967695dd', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
32459
33058
|
[mode]: true,
|
|
32460
33059
|
'in-item': inItem,
|
|
32461
33060
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -32473,7 +33072,7 @@ class Select {
|
|
|
32473
33072
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
32474
33073
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
32475
33074
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
32476
|
-
}) }, hAsync("label", { key: '
|
|
33075
|
+
}) }, 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
33076
|
}
|
|
32478
33077
|
get el() { return getElement(this); }
|
|
32479
33078
|
static get watchers() { return {
|
|
@@ -32632,7 +33231,7 @@ class SelectModal {
|
|
|
32632
33231
|
} }, option.text))));
|
|
32633
33232
|
}
|
|
32634
33233
|
render() {
|
|
32635
|
-
return (hAsync(Host, { key: '
|
|
33234
|
+
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
33235
|
}
|
|
32637
33236
|
get el() { return getElement(this); }
|
|
32638
33237
|
static get style() { return {
|
|
@@ -32666,7 +33265,7 @@ class SelectOption {
|
|
|
32666
33265
|
this.disabled = false;
|
|
32667
33266
|
}
|
|
32668
33267
|
render() {
|
|
32669
|
-
return hAsync(Host, { key: '
|
|
33268
|
+
return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
32670
33269
|
}
|
|
32671
33270
|
get el() { return getElement(this); }
|
|
32672
33271
|
static get style() { return selectOptionCss; }
|
|
@@ -32783,7 +33382,7 @@ class SelectPopover {
|
|
|
32783
33382
|
render() {
|
|
32784
33383
|
const { header, message, options, subHeader } = this;
|
|
32785
33384
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
32786
|
-
return (hAsync(Host, { key: '
|
|
33385
|
+
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
33386
|
}
|
|
32788
33387
|
get el() { return getElement(this); }
|
|
32789
33388
|
static get style() { return {
|
|
@@ -32833,11 +33432,11 @@ class SkeletonText {
|
|
|
32833
33432
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
32834
33433
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
32835
33434
|
const mode = getIonMode$1(this);
|
|
32836
|
-
return (hAsync(Host, { key: '
|
|
33435
|
+
return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
|
|
32837
33436
|
[mode]: true,
|
|
32838
33437
|
'skeleton-text-animated': animated,
|
|
32839
33438
|
'in-media': inMedia,
|
|
32840
|
-
} }, hAsync("span", { key: '
|
|
33439
|
+
} }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
|
|
32841
33440
|
}
|
|
32842
33441
|
get el() { return getElement(this); }
|
|
32843
33442
|
static get style() { return skeletonTextCss; }
|
|
@@ -32889,7 +33488,7 @@ class Spinner {
|
|
|
32889
33488
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
32890
33489
|
}
|
|
32891
33490
|
}
|
|
32892
|
-
return (hAsync(Host, { key: '
|
|
33491
|
+
return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
|
|
32893
33492
|
[mode]: true,
|
|
32894
33493
|
[`spinner-${spinnerName}`]: true,
|
|
32895
33494
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -32988,12 +33587,12 @@ class SplitPane {
|
|
|
32988
33587
|
}
|
|
32989
33588
|
render() {
|
|
32990
33589
|
const mode = getIonMode$1(this);
|
|
32991
|
-
return (hAsync(Host, { key: '
|
|
33590
|
+
return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
|
|
32992
33591
|
[mode]: true,
|
|
32993
33592
|
// Used internally for styling
|
|
32994
33593
|
[`split-pane-${mode}`]: true,
|
|
32995
33594
|
'split-pane-visible': this.visible,
|
|
32996
|
-
} }, hAsync("slot", { key: '
|
|
33595
|
+
} }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
|
|
32997
33596
|
}
|
|
32998
33597
|
get el() { return getElement(this); }
|
|
32999
33598
|
static get watchers() { return {
|
|
@@ -33059,10 +33658,10 @@ class Tab {
|
|
|
33059
33658
|
}
|
|
33060
33659
|
render() {
|
|
33061
33660
|
const { tab, active, component } = this;
|
|
33062
|
-
return (hAsync(Host, { key: '
|
|
33661
|
+
return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
33063
33662
|
'ion-page': component === undefined,
|
|
33064
33663
|
'tab-hidden': !active,
|
|
33065
|
-
} }, hAsync("slot", { key: '
|
|
33664
|
+
} }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
|
|
33066
33665
|
}
|
|
33067
33666
|
get el() { return getElement(this); }
|
|
33068
33667
|
static get watchers() { return {
|
|
@@ -33141,11 +33740,11 @@ class TabBar {
|
|
|
33141
33740
|
const { color, translucent, keyboardVisible } = this;
|
|
33142
33741
|
const mode = getIonMode$1(this);
|
|
33143
33742
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
33144
|
-
return (hAsync(Host, { key: '
|
|
33743
|
+
return (hAsync(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
33145
33744
|
[mode]: true,
|
|
33146
33745
|
'tab-bar-translucent': translucent,
|
|
33147
33746
|
'tab-bar-hidden': shouldHide,
|
|
33148
|
-
}) }, hAsync("slot", { key: '
|
|
33747
|
+
}) }, hAsync("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
|
|
33149
33748
|
}
|
|
33150
33749
|
get el() { return getElement(this); }
|
|
33151
33750
|
static get watchers() { return {
|
|
@@ -33241,7 +33840,7 @@ class TabButton {
|
|
|
33241
33840
|
rel,
|
|
33242
33841
|
target,
|
|
33243
33842
|
};
|
|
33244
|
-
return (hAsync(Host, { key: '
|
|
33843
|
+
return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
33245
33844
|
[mode]: true,
|
|
33246
33845
|
'tab-selected': selected,
|
|
33247
33846
|
'tab-disabled': disabled,
|
|
@@ -33253,7 +33852,7 @@ class TabButton {
|
|
|
33253
33852
|
'ion-activatable': true,
|
|
33254
33853
|
'ion-selectable': true,
|
|
33255
33854
|
'ion-focusable': true,
|
|
33256
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
33855
|
+
} }, 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
33856
|
}
|
|
33258
33857
|
get el() { return getElement(this); }
|
|
33259
33858
|
static get style() { return {
|
|
@@ -33428,7 +34027,7 @@ class Tabs {
|
|
|
33428
34027
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
33429
34028
|
}
|
|
33430
34029
|
render() {
|
|
33431
|
-
return (hAsync(Host, { key: '
|
|
34030
|
+
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
34031
|
}
|
|
33433
34032
|
get el() { return getElement(this); }
|
|
33434
34033
|
static get style() { return tabsCss; }
|
|
@@ -33468,9 +34067,9 @@ class Text {
|
|
|
33468
34067
|
}
|
|
33469
34068
|
render() {
|
|
33470
34069
|
const mode = getIonMode$1(this);
|
|
33471
|
-
return (hAsync(Host, { key: '
|
|
34070
|
+
return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
|
|
33472
34071
|
[mode]: true,
|
|
33473
|
-
}) }, hAsync("slot", { key: '
|
|
34072
|
+
}) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
|
|
33474
34073
|
}
|
|
33475
34074
|
static get style() { return textCss; }
|
|
33476
34075
|
static get cmpMeta() { return {
|
|
@@ -33909,7 +34508,7 @@ class Textarea {
|
|
|
33909
34508
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
33910
34509
|
*/
|
|
33911
34510
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
33912
|
-
return (hAsync(Host, { key: '
|
|
34511
|
+
return (hAsync(Host, { key: '550ae8e37d94a3f9950c191626beb2ba49ca25f7', class: createColorClasses$1(this.color, {
|
|
33913
34512
|
[mode]: true,
|
|
33914
34513
|
'has-value': hasValue,
|
|
33915
34514
|
'has-focus': hasFocus,
|
|
@@ -33918,7 +34517,7 @@ class Textarea {
|
|
|
33918
34517
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
33919
34518
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
33920
34519
|
'textarea-disabled': disabled,
|
|
33921
|
-
}) }, hAsync("label", { key: '
|
|
34520
|
+
}) }, 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
34521
|
}
|
|
33923
34522
|
get el() { return getElement(this); }
|
|
33924
34523
|
static get watchers() { return {
|
|
@@ -33980,7 +34579,7 @@ class Thumbnail {
|
|
|
33980
34579
|
registerInstance(this, hostRef);
|
|
33981
34580
|
}
|
|
33982
34581
|
render() {
|
|
33983
|
-
return (hAsync(Host, { key: '
|
|
34582
|
+
return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
|
|
33984
34583
|
}
|
|
33985
34584
|
static get style() { return thumbnailCss; }
|
|
33986
34585
|
static get cmpMeta() { return {
|
|
@@ -34839,9 +35438,9 @@ class Toast {
|
|
|
34839
35438
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
34840
35439
|
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
35440
|
}
|
|
34842
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
35441
|
+
return (hAsync(Host, Object.assign({ key: '425be734aee0eeef281ab1609a9f982ce8b5e852', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
34843
35442
|
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: '
|
|
35443
|
+
}, 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
35444
|
}
|
|
34846
35445
|
get el() { return getElement(this); }
|
|
34847
35446
|
static get watchers() { return {
|
|
@@ -35136,7 +35735,7 @@ class Toggle {
|
|
|
35136
35735
|
const value = this.getValue();
|
|
35137
35736
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
35138
35737
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
35139
|
-
return (hAsync(Host, { key: '
|
|
35738
|
+
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
35739
|
[mode]: true,
|
|
35141
35740
|
'in-item': hostContext('ion-item', el),
|
|
35142
35741
|
'toggle-activated': activated,
|
|
@@ -35146,10 +35745,10 @@ class Toggle {
|
|
|
35146
35745
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
35147
35746
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
35148
35747
|
[`toggle-${rtl}`]: true,
|
|
35149
|
-
}) }, hAsync("label", { key: '
|
|
35748
|
+
}) }, 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
35749
|
'label-text-wrapper': true,
|
|
35151
35750
|
'label-text-wrapper-hidden': !hasLabel,
|
|
35152
|
-
}, part: "label", id: inputLabelId }, hAsync("slot", { key: '
|
|
35751
|
+
}, part: "label", id: inputLabelId }, hAsync("slot", { key: 'e6afe1ed4d6f478411cc7030c44492ba59509b22' }), this.renderHintText()), hAsync("div", { key: '6271c04a5954352d93cec8dbca753084d4bac9fd', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
35153
35752
|
}
|
|
35154
35753
|
get el() { return getElement(this); }
|
|
35155
35754
|
static get watchers() { return {
|
|
@@ -35257,10 +35856,10 @@ class Toolbar {
|
|
|
35257
35856
|
this.childrenStyles.forEach((value) => {
|
|
35258
35857
|
Object.assign(childStyles, value);
|
|
35259
35858
|
});
|
|
35260
|
-
return (hAsync(Host, { key: '
|
|
35859
|
+
return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
35261
35860
|
[mode]: true,
|
|
35262
35861
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
35263
|
-
})) }, hAsync("div", { key: '
|
|
35862
|
+
})) }, 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
35863
|
}
|
|
35265
35864
|
get el() { return getElement(this); }
|
|
35266
35865
|
static get style() { return {
|
|
@@ -35306,11 +35905,11 @@ class ToolbarTitle {
|
|
|
35306
35905
|
render() {
|
|
35307
35906
|
const mode = getIonMode$1(this);
|
|
35308
35907
|
const size = this.getSize();
|
|
35309
|
-
return (hAsync(Host, { key: '
|
|
35908
|
+
return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
|
|
35310
35909
|
[mode]: true,
|
|
35311
35910
|
[`title-${size}`]: true,
|
|
35312
35911
|
'title-rtl': document.dir === 'rtl',
|
|
35313
|
-
}) }, hAsync("div", { key: '
|
|
35912
|
+
}) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
|
|
35314
35913
|
}
|
|
35315
35914
|
get el() { return getElement(this); }
|
|
35316
35915
|
static get watchers() { return {
|
|
@@ -35369,6 +35968,7 @@ registerComponents([
|
|
|
35369
35968
|
InfiniteScroll,
|
|
35370
35969
|
InfiniteScrollContent,
|
|
35371
35970
|
Input,
|
|
35971
|
+
InputOTP,
|
|
35372
35972
|
InputPasswordToggle,
|
|
35373
35973
|
Item,
|
|
35374
35974
|
ItemDivider,
|