@ionic/core 8.5.7-dev.11747949628.1b740070 → 8.5.7-dev.11748466845.12de1519
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 +23 -0
- package/components/ion-input-otp.d.ts +11 -0
- package/components/ion-input-otp.js +625 -0
- package/components/ion-input-password-toggle.js +3 -3
- package/components/ion-input.js +2 -10
- 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-DGvxKeWy.js → input-shims-CQQtxW4l.js} +23 -0
- 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 +588 -0
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +5 -5
- package/dist/cjs/ion-input.cjs.entry.js +4 -12
- 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 +2 -10
- package/dist/collection/components/input-otp/input-otp-interface.js +1 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +381 -0
- package/dist/collection/components/input-otp/input-otp.js +1013 -0
- package/dist/collection/components/input-otp/input-otp.md.css +381 -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 +23 -0
- 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-qlIPzMSm.js → input-shims-Km36_5AQ.js} +23 -0
- 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 +586 -0
- package/dist/esm/ion-input-password-toggle.entry.js +5 -5
- package/dist/esm/ion-input.entry.js +4 -12
- 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-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-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-BcSCNsNs.js +4 -0
- 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-484073b5.entry.js → p-a20a15cc.entry.js} +1 -1
- package/dist/ionic/{p-5b8abc2f.entry.js → p-a22fe54d.entry.js} +1 -1
- package/dist/ionic/{p-38dcbd40.entry.js → p-b18a4590.entry.js} +1 -1
- package/dist/ionic/{p-c9bca536.entry.js → p-b9fc80d5.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-cc51b53c.entry.js +4 -0
- 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-d7a74bde.entry.js +4 -0
- 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 +272 -0
- package/dist/types/components.d.ts +167 -0
- package/dist/types/interface.d.ts +1 -0
- package/hydrate/index.js +706 -109
- package/hydrate/index.mjs +706 -109
- 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-94375099.entry.js +0 -4
- package/dist/ionic/p-CqNf-A5G.js +0 -4
- package/dist/ionic/p-DjV8cNim.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,22 +16868,14 @@ 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: '78b3470646ec4fc237d33229a132164b089538a2', "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
|
-
},
|
|
16876
|
-
/**
|
|
16877
|
-
* Prevent the focusin event from bubbling otherwise it will cause the focusin
|
|
16878
|
-
* event listener in scroll assist to fire. When this fires, focus will be moved
|
|
16879
|
-
* back to the input even if the clear button was never tapped. This poses issues
|
|
16880
|
-
* for screen readers as it means users would be unable to swipe past the clear button.
|
|
16881
|
-
*/
|
|
16882
|
-
ev.stopPropagation();
|
|
16883
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '69afc5c7ea6bfa1bff301635281b536e84277965', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '6f770a0ab703b4d19e936a0e1955274bc9f3e941', name: "end" })), shouldRenderHighlight && hAsync("div", { key: 'a048e240432c4d5e11b2c92fa99a0cff07f9a778', class: "input-highlight" })), this.renderBottomContent()));
|
|
16878
|
+
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '686ca853cf0e074ab32d01c077f066b5b4ab2dad', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '354e0bde7c7066a3ce31f852923e334859fedb78', name: "end" })), shouldRenderHighlight && hAsync("div", { key: '5fa78de0aee8883506ccdbdf1c834a3fa8503c87', class: "input-highlight" })), this.renderBottomContent()));
|
|
16884
16879
|
}
|
|
16885
16880
|
get el() { return getElement(this); }
|
|
16886
16881
|
static get watchers() { return {
|
|
@@ -16940,6 +16935,607 @@ class Input {
|
|
|
16940
16935
|
"$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
|
|
16941
16936
|
}; }
|
|
16942
16937
|
}
|
|
16938
|
+
let inputIds$1 = 0;
|
|
16939
|
+
|
|
16940
|
+
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-description-hidden.sc-ion-input-otp-ios{display:none}.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))))}";
|
|
16941
|
+
|
|
16942
|
+
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-description-hidden.sc-ion-input-otp-md{display:none}.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))}";
|
|
16943
|
+
|
|
16944
|
+
class InputOTP {
|
|
16945
|
+
constructor(hostRef) {
|
|
16946
|
+
registerInstance(this, hostRef);
|
|
16947
|
+
this.ionInput = createEvent(this, "ionInput", 7);
|
|
16948
|
+
this.ionChange = createEvent(this, "ionChange", 7);
|
|
16949
|
+
this.ionComplete = createEvent(this, "ionComplete", 7);
|
|
16950
|
+
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
16951
|
+
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
16952
|
+
this.inheritedAttributes = {};
|
|
16953
|
+
this.inputRefs = [];
|
|
16954
|
+
this.inputId = `ion-input-otp-${inputIds++}`;
|
|
16955
|
+
this.parsedSeparators = [];
|
|
16956
|
+
/**
|
|
16957
|
+
* Tracks whether the user is navigating through input boxes using keyboard navigation
|
|
16958
|
+
* (arrow keys, tab) versus mouse clicks. This is used to determine the appropriate
|
|
16959
|
+
* focus behavior when an input box is focused.
|
|
16960
|
+
*/
|
|
16961
|
+
this.isKeyboardNavigation = false;
|
|
16962
|
+
this.inputValues = [];
|
|
16963
|
+
this.hasFocus = false;
|
|
16964
|
+
/**
|
|
16965
|
+
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
16966
|
+
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
16967
|
+
*/
|
|
16968
|
+
this.autocapitalize = 'off';
|
|
16969
|
+
/**
|
|
16970
|
+
* If `true`, the user cannot interact with the input.
|
|
16971
|
+
*/
|
|
16972
|
+
this.disabled = false;
|
|
16973
|
+
/**
|
|
16974
|
+
* The fill for the input boxes. If `"solid"` the input boxes will have a background. If
|
|
16975
|
+
* `"outline"` the input boxes will be transparent with a border.
|
|
16976
|
+
*/
|
|
16977
|
+
this.fill = 'outline';
|
|
16978
|
+
/**
|
|
16979
|
+
* The number of input boxes to display.
|
|
16980
|
+
*/
|
|
16981
|
+
this.length = 4;
|
|
16982
|
+
/**
|
|
16983
|
+
* If `true`, the user cannot modify the value.
|
|
16984
|
+
*/
|
|
16985
|
+
this.readonly = false;
|
|
16986
|
+
/**
|
|
16987
|
+
* The shape of the input boxes.
|
|
16988
|
+
* If "round" they will have an increased border radius.
|
|
16989
|
+
* If "rectangular" they will have no border radius.
|
|
16990
|
+
* If "soft" they will have a soft border radius.
|
|
16991
|
+
*/
|
|
16992
|
+
this.shape = 'round';
|
|
16993
|
+
/**
|
|
16994
|
+
* The size of the input boxes.
|
|
16995
|
+
*/
|
|
16996
|
+
this.size = 'medium';
|
|
16997
|
+
/**
|
|
16998
|
+
* The type of input allowed in the input boxes.
|
|
16999
|
+
*/
|
|
17000
|
+
this.type = 'number';
|
|
17001
|
+
/**
|
|
17002
|
+
* The value of the input group.
|
|
17003
|
+
*/
|
|
17004
|
+
this.value = '';
|
|
17005
|
+
/**
|
|
17006
|
+
* Handles the focus behavior for the input OTP component.
|
|
17007
|
+
*
|
|
17008
|
+
* Focus behavior:
|
|
17009
|
+
* 1. Keyboard navigation: Allow normal focus movement
|
|
17010
|
+
* 2. Mouse click:
|
|
17011
|
+
* - If clicked box has value: Focus that box
|
|
17012
|
+
* - If clicked box is empty: Focus first empty box
|
|
17013
|
+
*
|
|
17014
|
+
* Emits the `ionFocus` event when the input group gains focus.
|
|
17015
|
+
*/
|
|
17016
|
+
this.onFocus = (index) => (event) => {
|
|
17017
|
+
var _a;
|
|
17018
|
+
const { inputRefs } = this;
|
|
17019
|
+
// Only emit ionFocus and set the focusedValue when the
|
|
17020
|
+
// component first gains focus
|
|
17021
|
+
if (!this.hasFocus) {
|
|
17022
|
+
this.ionFocus.emit(event);
|
|
17023
|
+
this.focusedValue = this.value;
|
|
17024
|
+
}
|
|
17025
|
+
this.hasFocus = true;
|
|
17026
|
+
let finalIndex = index;
|
|
17027
|
+
if (!this.isKeyboardNavigation) {
|
|
17028
|
+
// If the clicked box has a value, focus it
|
|
17029
|
+
// Otherwise focus the first empty box
|
|
17030
|
+
const targetIndex = this.inputValues[index] ? index : this.getFirstEmptyIndex();
|
|
17031
|
+
finalIndex = targetIndex === -1 ? this.length - 1 : targetIndex;
|
|
17032
|
+
// Focus the target box
|
|
17033
|
+
(_a = this.inputRefs[finalIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17034
|
+
}
|
|
17035
|
+
// Update tabIndexes to match the focused box
|
|
17036
|
+
inputRefs.forEach((input, i) => {
|
|
17037
|
+
input.tabIndex = i === finalIndex ? 0 : -1;
|
|
17038
|
+
});
|
|
17039
|
+
// Reset the keyboard navigation flag
|
|
17040
|
+
this.isKeyboardNavigation = false;
|
|
17041
|
+
};
|
|
17042
|
+
/**
|
|
17043
|
+
* Handles the blur behavior for the input OTP component.
|
|
17044
|
+
* Emits the `ionBlur` event when the input group loses focus.
|
|
17045
|
+
*/
|
|
17046
|
+
this.onBlur = (event) => {
|
|
17047
|
+
const { inputRefs } = this;
|
|
17048
|
+
const relatedTarget = event.relatedTarget;
|
|
17049
|
+
// Do not emit blur if we're moving to another input box in the same component
|
|
17050
|
+
const isInternalFocus = relatedTarget != null && inputRefs.includes(relatedTarget);
|
|
17051
|
+
if (!isInternalFocus) {
|
|
17052
|
+
this.hasFocus = false;
|
|
17053
|
+
// Reset tabIndexes when focus leaves the component
|
|
17054
|
+
this.updateTabIndexes();
|
|
17055
|
+
// Always emit ionBlur when focus leaves the component
|
|
17056
|
+
this.ionBlur.emit(event);
|
|
17057
|
+
// Only emit ionChange if the value has actually changed
|
|
17058
|
+
if (this.focusedValue !== this.value) {
|
|
17059
|
+
this.emitIonChange(event);
|
|
17060
|
+
}
|
|
17061
|
+
}
|
|
17062
|
+
};
|
|
17063
|
+
/**
|
|
17064
|
+
* Handles keyboard navigation and input for the OTP component.
|
|
17065
|
+
*
|
|
17066
|
+
* Navigation:
|
|
17067
|
+
* - Backspace: Clears current input and moves to previous box if empty
|
|
17068
|
+
* - Arrow Left/Right: Moves focus between input boxes
|
|
17069
|
+
* - Tab: Allows normal tab navigation between components
|
|
17070
|
+
*
|
|
17071
|
+
* Input Behavior:
|
|
17072
|
+
* - Validates input against the allowed pattern
|
|
17073
|
+
* - When entering a key in a filled box:
|
|
17074
|
+
* - Shifts existing values right if there is room
|
|
17075
|
+
* - Updates the value of the input group
|
|
17076
|
+
* - Prevents default behavior to avoid automatic focus shift
|
|
17077
|
+
*/
|
|
17078
|
+
this.onKeyDown = (index) => (event) => {
|
|
17079
|
+
const { length } = this;
|
|
17080
|
+
const rtl = isRTL$1(this.el);
|
|
17081
|
+
const input = event.target;
|
|
17082
|
+
const isPasteShortcut = (event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'v';
|
|
17083
|
+
const isTextSelection = input.selectionStart !== input.selectionEnd;
|
|
17084
|
+
// Return if the key is the paste shortcut or the input value
|
|
17085
|
+
// text is selected and let the onPaste / onInput handler manage it
|
|
17086
|
+
if (isPasteShortcut || isTextSelection) {
|
|
17087
|
+
return;
|
|
17088
|
+
}
|
|
17089
|
+
if (event.key === 'Backspace') {
|
|
17090
|
+
if (this.inputValues[index]) {
|
|
17091
|
+
// Shift all values to the right of the current index left by one
|
|
17092
|
+
for (let i = index; i < length - 1; i++) {
|
|
17093
|
+
this.inputValues[i] = this.inputValues[i + 1];
|
|
17094
|
+
}
|
|
17095
|
+
// Clear the last box
|
|
17096
|
+
this.inputValues[length - 1] = '';
|
|
17097
|
+
// Update all inputRefs to match inputValues
|
|
17098
|
+
for (let i = 0; i < length; i++) {
|
|
17099
|
+
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
17100
|
+
}
|
|
17101
|
+
this.updateValue(event);
|
|
17102
|
+
event.preventDefault();
|
|
17103
|
+
}
|
|
17104
|
+
else if (!this.inputValues[index] && index > 0) {
|
|
17105
|
+
// If current input is empty, move to previous input
|
|
17106
|
+
this.focusPrevious(index);
|
|
17107
|
+
}
|
|
17108
|
+
}
|
|
17109
|
+
else if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
|
|
17110
|
+
this.isKeyboardNavigation = true;
|
|
17111
|
+
event.preventDefault();
|
|
17112
|
+
const isLeft = event.key === 'ArrowLeft';
|
|
17113
|
+
const shouldMoveNext = (isLeft && rtl) || (!isLeft && !rtl);
|
|
17114
|
+
// Only allow moving to the next input if the current has a value
|
|
17115
|
+
if (shouldMoveNext) {
|
|
17116
|
+
if (this.inputValues[index] && index < length - 1) {
|
|
17117
|
+
this.focusNext(index);
|
|
17118
|
+
}
|
|
17119
|
+
}
|
|
17120
|
+
else {
|
|
17121
|
+
this.focusPrevious(index);
|
|
17122
|
+
}
|
|
17123
|
+
}
|
|
17124
|
+
else if (event.key === 'Tab') {
|
|
17125
|
+
this.isKeyboardNavigation = true;
|
|
17126
|
+
// Let all tab events proceed normally
|
|
17127
|
+
return;
|
|
17128
|
+
}
|
|
17129
|
+
// If the input box contains a value and the key being
|
|
17130
|
+
// entered is a valid key for the input box update the value
|
|
17131
|
+
// and shift the values to the right if there is room.
|
|
17132
|
+
if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
|
|
17133
|
+
if (!this.inputValues[length - 1]) {
|
|
17134
|
+
for (let i = length - 1; i > index; i--) {
|
|
17135
|
+
this.inputValues[i] = this.inputValues[i - 1];
|
|
17136
|
+
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
17137
|
+
}
|
|
17138
|
+
}
|
|
17139
|
+
this.inputValues[index] = event.key;
|
|
17140
|
+
this.inputRefs[index].value = event.key;
|
|
17141
|
+
this.updateValue(event);
|
|
17142
|
+
// Prevent default to avoid the browser from
|
|
17143
|
+
// automatically moving the focus to the next input
|
|
17144
|
+
event.preventDefault();
|
|
17145
|
+
}
|
|
17146
|
+
};
|
|
17147
|
+
this.onInput = (index) => (event) => {
|
|
17148
|
+
const { validKeyPattern } = this;
|
|
17149
|
+
const value = event.target.value;
|
|
17150
|
+
// Only allow input if it's a single character and matches the pattern
|
|
17151
|
+
if (value.length > 1 || (value.length > 0 && !validKeyPattern.test(value))) {
|
|
17152
|
+
// Reset the input value if not valid
|
|
17153
|
+
this.inputRefs[index].value = '';
|
|
17154
|
+
this.inputValues[index] = '';
|
|
17155
|
+
return;
|
|
17156
|
+
}
|
|
17157
|
+
// Find the first empty box before or at the current index
|
|
17158
|
+
let targetIndex = index;
|
|
17159
|
+
for (let i = 0; i < index; i++) {
|
|
17160
|
+
if (!this.inputValues[i] || this.inputValues[i] === '') {
|
|
17161
|
+
targetIndex = i;
|
|
17162
|
+
break;
|
|
17163
|
+
}
|
|
17164
|
+
}
|
|
17165
|
+
// Set the value at the target index
|
|
17166
|
+
this.inputValues[targetIndex] = value;
|
|
17167
|
+
// If the value was entered in a later box, clear the current box
|
|
17168
|
+
if (targetIndex !== index) {
|
|
17169
|
+
this.inputRefs[index].value = '';
|
|
17170
|
+
}
|
|
17171
|
+
if (value.length > 0) {
|
|
17172
|
+
this.focusNext(targetIndex);
|
|
17173
|
+
}
|
|
17174
|
+
this.updateValue(event);
|
|
17175
|
+
};
|
|
17176
|
+
/**
|
|
17177
|
+
* Handles pasting text into the input OTP component.
|
|
17178
|
+
* This function prevents the default paste behavior and
|
|
17179
|
+
* validates the pasted text against the allowed pattern.
|
|
17180
|
+
* It then updates the value of the input group and focuses
|
|
17181
|
+
* the next empty input after pasting.
|
|
17182
|
+
*/
|
|
17183
|
+
this.onPaste = (event) => {
|
|
17184
|
+
var _a, _b, _c;
|
|
17185
|
+
const { inputRefs, length, validKeyPattern } = this;
|
|
17186
|
+
event.preventDefault();
|
|
17187
|
+
const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
|
|
17188
|
+
// If there is no pasted text, still emit the input change event
|
|
17189
|
+
// because this is how the native input element behaves
|
|
17190
|
+
// but return early because there is nothing to paste.
|
|
17191
|
+
if (!pastedText) {
|
|
17192
|
+
this.emitIonInput(event);
|
|
17193
|
+
return;
|
|
17194
|
+
}
|
|
17195
|
+
const validChars = pastedText
|
|
17196
|
+
.split('')
|
|
17197
|
+
.filter((char) => validKeyPattern.test(char))
|
|
17198
|
+
.slice(0, length);
|
|
17199
|
+
// Always paste starting at the first box
|
|
17200
|
+
validChars.forEach((char, index) => {
|
|
17201
|
+
if (index < length) {
|
|
17202
|
+
this.inputRefs[index].value = char;
|
|
17203
|
+
this.inputValues[index] = char;
|
|
17204
|
+
}
|
|
17205
|
+
});
|
|
17206
|
+
// Update the value so that all input boxes are updated
|
|
17207
|
+
this.value = validChars.join('');
|
|
17208
|
+
this.updateValue(event);
|
|
17209
|
+
// Focus the next empty input after pasting
|
|
17210
|
+
// If all boxes are filled, focus the last input
|
|
17211
|
+
const nextEmptyIndex = validChars.length;
|
|
17212
|
+
if (nextEmptyIndex < length) {
|
|
17213
|
+
(_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
17214
|
+
}
|
|
17215
|
+
else {
|
|
17216
|
+
(_c = inputRefs[length - 1]) === null || _c === void 0 ? void 0 : _c.focus();
|
|
17217
|
+
}
|
|
17218
|
+
};
|
|
17219
|
+
}
|
|
17220
|
+
/**
|
|
17221
|
+
* Resets the value and focus state.
|
|
17222
|
+
*/
|
|
17223
|
+
async reset() {
|
|
17224
|
+
this.value = '';
|
|
17225
|
+
this.focusedValue = null;
|
|
17226
|
+
this.hasFocus = false;
|
|
17227
|
+
this.inputRefs.forEach((input) => {
|
|
17228
|
+
input.blur();
|
|
17229
|
+
});
|
|
17230
|
+
this.updateTabIndexes();
|
|
17231
|
+
}
|
|
17232
|
+
/**
|
|
17233
|
+
* Sets focus to an input box.
|
|
17234
|
+
* @param index - The index of the input box to focus (0-based).
|
|
17235
|
+
* If provided and the input box has a value, the input box at that index will be focused.
|
|
17236
|
+
* Otherwise, the first empty input box or the last input if all are filled will be focused.
|
|
17237
|
+
*/
|
|
17238
|
+
async setFocus(index) {
|
|
17239
|
+
var _a, _b;
|
|
17240
|
+
if (typeof index === 'number') {
|
|
17241
|
+
const validIndex = Math.max(0, Math.min(index, this.length - 1));
|
|
17242
|
+
(_a = this.inputRefs[validIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17243
|
+
}
|
|
17244
|
+
else {
|
|
17245
|
+
const tabbableIndex = this.getTabbableIndex();
|
|
17246
|
+
(_b = this.inputRefs[tabbableIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
17247
|
+
}
|
|
17248
|
+
}
|
|
17249
|
+
valueChanged() {
|
|
17250
|
+
this.initializeValues();
|
|
17251
|
+
}
|
|
17252
|
+
/**
|
|
17253
|
+
* Processes the separators prop into an array of numbers.
|
|
17254
|
+
*
|
|
17255
|
+
* If the separators prop is not provided, returns an empty array.
|
|
17256
|
+
* If the separators prop is 'all', returns an array of all valid positions (1 to length-1).
|
|
17257
|
+
* If the separators prop is an array, returns it as is.
|
|
17258
|
+
* If the separators prop is a string, splits it by commas and parses each part as a number.
|
|
17259
|
+
*
|
|
17260
|
+
* If the separators are greater than the input length, it will warn and ignore the separators.
|
|
17261
|
+
*/
|
|
17262
|
+
processSeparators() {
|
|
17263
|
+
const { separators, length } = this;
|
|
17264
|
+
if (separators === undefined) {
|
|
17265
|
+
this.parsedSeparators = [];
|
|
17266
|
+
return;
|
|
17267
|
+
}
|
|
17268
|
+
if (typeof separators === 'string' && separators !== 'all') {
|
|
17269
|
+
const isValidFormat = /^(\d+)(,\d+)*$/.test(separators);
|
|
17270
|
+
if (!isValidFormat) {
|
|
17271
|
+
printIonWarning(`[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: ${separators}`, this.el);
|
|
17272
|
+
this.parsedSeparators = [];
|
|
17273
|
+
return;
|
|
17274
|
+
}
|
|
17275
|
+
}
|
|
17276
|
+
let separatorValues;
|
|
17277
|
+
if (separators === 'all') {
|
|
17278
|
+
separatorValues = Array.from({ length: length - 1 }, (_, i) => i + 1);
|
|
17279
|
+
}
|
|
17280
|
+
else if (Array.isArray(separators)) {
|
|
17281
|
+
separatorValues = separators;
|
|
17282
|
+
}
|
|
17283
|
+
else {
|
|
17284
|
+
separatorValues = separators
|
|
17285
|
+
.split(',')
|
|
17286
|
+
.map((pos) => parseInt(pos, 10))
|
|
17287
|
+
.filter((pos) => !isNaN(pos));
|
|
17288
|
+
}
|
|
17289
|
+
// Check for duplicate separator positions
|
|
17290
|
+
const duplicates = separatorValues.filter((pos, index) => separatorValues.indexOf(pos) !== index);
|
|
17291
|
+
if (duplicates.length > 0) {
|
|
17292
|
+
printIonWarning(`[ion-input-otp] - Duplicate separator positions are not allowed. Received: ${separators}`, this.el);
|
|
17293
|
+
}
|
|
17294
|
+
const invalidSeparators = separatorValues.filter((pos) => pos > length);
|
|
17295
|
+
if (invalidSeparators.length > 0) {
|
|
17296
|
+
printIonWarning(`[ion-input-otp] - The following separator positions are greater than the input length (${length}): ${invalidSeparators.join(', ')}. These separators will be ignored.`, this.el);
|
|
17297
|
+
}
|
|
17298
|
+
this.parsedSeparators = separatorValues.filter((pos) => pos <= length);
|
|
17299
|
+
}
|
|
17300
|
+
componentWillLoad() {
|
|
17301
|
+
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
|
17302
|
+
this.processSeparators();
|
|
17303
|
+
this.initializeValues();
|
|
17304
|
+
}
|
|
17305
|
+
componentDidLoad() {
|
|
17306
|
+
this.updateTabIndexes();
|
|
17307
|
+
}
|
|
17308
|
+
/**
|
|
17309
|
+
* Get the regex pattern for allowed characters.
|
|
17310
|
+
* If a pattern is provided, use it to create a regex pattern
|
|
17311
|
+
* Otherwise, use the default regex pattern based on type
|
|
17312
|
+
*/
|
|
17313
|
+
get validKeyPattern() {
|
|
17314
|
+
return new RegExp(`^${this.getPattern()}$`, 'u');
|
|
17315
|
+
}
|
|
17316
|
+
/**
|
|
17317
|
+
* Gets the string pattern to pass to the input element
|
|
17318
|
+
* and use in the regex for allowed characters.
|
|
17319
|
+
*/
|
|
17320
|
+
getPattern() {
|
|
17321
|
+
const { pattern, type } = this;
|
|
17322
|
+
if (pattern) {
|
|
17323
|
+
return pattern;
|
|
17324
|
+
}
|
|
17325
|
+
return type === 'number' ? '[\\p{N}]' : '[\\p{L}\\p{N}]';
|
|
17326
|
+
}
|
|
17327
|
+
/**
|
|
17328
|
+
* Get the default value for inputmode.
|
|
17329
|
+
* If inputmode is provided, use it.
|
|
17330
|
+
* Otherwise, use the default inputmode based on type
|
|
17331
|
+
*/
|
|
17332
|
+
getInputmode() {
|
|
17333
|
+
const { inputmode } = this;
|
|
17334
|
+
if (inputmode) {
|
|
17335
|
+
return inputmode;
|
|
17336
|
+
}
|
|
17337
|
+
if (this.type == 'number') {
|
|
17338
|
+
return 'numeric';
|
|
17339
|
+
}
|
|
17340
|
+
else {
|
|
17341
|
+
return 'text';
|
|
17342
|
+
}
|
|
17343
|
+
}
|
|
17344
|
+
/**
|
|
17345
|
+
* Initializes the input values array based on the current value prop.
|
|
17346
|
+
* This splits the value into individual characters and validates them against
|
|
17347
|
+
* the allowed pattern. The values are then used as the values in the native
|
|
17348
|
+
* input boxes and the value of the input group is updated.
|
|
17349
|
+
*/
|
|
17350
|
+
initializeValues() {
|
|
17351
|
+
// Clear all input values
|
|
17352
|
+
this.inputValues = Array(this.length).fill('');
|
|
17353
|
+
// If the value is null, undefined, or an empty string, return
|
|
17354
|
+
if (this.value == null || String(this.value).length === 0) {
|
|
17355
|
+
return;
|
|
17356
|
+
}
|
|
17357
|
+
// Split the value into individual characters and validate
|
|
17358
|
+
// them against the allowed pattern
|
|
17359
|
+
const chars = String(this.value).split('').slice(0, this.length);
|
|
17360
|
+
chars.forEach((char, index) => {
|
|
17361
|
+
if (this.validKeyPattern.test(char)) {
|
|
17362
|
+
this.inputValues[index] = char;
|
|
17363
|
+
}
|
|
17364
|
+
});
|
|
17365
|
+
// Update the value without emitting events
|
|
17366
|
+
this.value = this.inputValues.join('');
|
|
17367
|
+
}
|
|
17368
|
+
/**
|
|
17369
|
+
* Updates the value of the input group.
|
|
17370
|
+
* This updates the value of the input group and emits an `ionChange` event.
|
|
17371
|
+
* If all of the input boxes are filled, it emits an `ionComplete` event.
|
|
17372
|
+
*/
|
|
17373
|
+
updateValue(event) {
|
|
17374
|
+
const { inputValues, length } = this;
|
|
17375
|
+
const newValue = inputValues.join('');
|
|
17376
|
+
this.value = newValue;
|
|
17377
|
+
this.emitIonInput(event);
|
|
17378
|
+
if (newValue.length === length) {
|
|
17379
|
+
this.ionComplete.emit({ value: newValue });
|
|
17380
|
+
}
|
|
17381
|
+
this.updateTabIndexes();
|
|
17382
|
+
}
|
|
17383
|
+
/**
|
|
17384
|
+
* Emits an `ionChange` event.
|
|
17385
|
+
* This API should be called for user committed changes.
|
|
17386
|
+
* This API should not be used for external value changes.
|
|
17387
|
+
*/
|
|
17388
|
+
emitIonChange(event) {
|
|
17389
|
+
const { value } = this;
|
|
17390
|
+
// Checks for both null and undefined values
|
|
17391
|
+
const newValue = value == null ? value : value.toString();
|
|
17392
|
+
this.ionChange.emit({ value: newValue, event });
|
|
17393
|
+
}
|
|
17394
|
+
/**
|
|
17395
|
+
* Emits an `ionInput` event.
|
|
17396
|
+
* This is used to emit the input value when the user types,
|
|
17397
|
+
* backspaces, or pastes.
|
|
17398
|
+
*/
|
|
17399
|
+
emitIonInput(event) {
|
|
17400
|
+
const { value } = this;
|
|
17401
|
+
// Checks for both null and undefined values
|
|
17402
|
+
const newValue = value == null ? value : value.toString();
|
|
17403
|
+
this.ionInput.emit({ value: newValue, event });
|
|
17404
|
+
}
|
|
17405
|
+
/**
|
|
17406
|
+
* Focuses the next input box.
|
|
17407
|
+
*/
|
|
17408
|
+
focusNext(currentIndex) {
|
|
17409
|
+
var _a;
|
|
17410
|
+
const { inputRefs, length } = this;
|
|
17411
|
+
if (currentIndex < length - 1) {
|
|
17412
|
+
(_a = inputRefs[currentIndex + 1]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17413
|
+
}
|
|
17414
|
+
}
|
|
17415
|
+
/**
|
|
17416
|
+
* Focuses the previous input box.
|
|
17417
|
+
*/
|
|
17418
|
+
focusPrevious(currentIndex) {
|
|
17419
|
+
var _a;
|
|
17420
|
+
const { inputRefs } = this;
|
|
17421
|
+
if (currentIndex > 0) {
|
|
17422
|
+
(_a = inputRefs[currentIndex - 1]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17423
|
+
}
|
|
17424
|
+
}
|
|
17425
|
+
/**
|
|
17426
|
+
* Searches through the input values and returns the index
|
|
17427
|
+
* of the first empty input.
|
|
17428
|
+
* Returns -1 if all inputs are filled.
|
|
17429
|
+
*/
|
|
17430
|
+
getFirstEmptyIndex() {
|
|
17431
|
+
var _a;
|
|
17432
|
+
const { inputValues, length } = this;
|
|
17433
|
+
// Create an array of the same length as the input OTP
|
|
17434
|
+
// and fill it with the input values
|
|
17435
|
+
const values = Array.from({ length }, (_, i) => inputValues[i] || '');
|
|
17436
|
+
return (_a = values.findIndex((value) => !value || value === '')) !== null && _a !== void 0 ? _a : -1;
|
|
17437
|
+
}
|
|
17438
|
+
/**
|
|
17439
|
+
* Returns the index of the input that should be tabbed to.
|
|
17440
|
+
* If all inputs are filled, returns the last input's index.
|
|
17441
|
+
* Otherwise, returns the index of the first empty input.
|
|
17442
|
+
*/
|
|
17443
|
+
getTabbableIndex() {
|
|
17444
|
+
const { length } = this;
|
|
17445
|
+
const firstEmptyIndex = this.getFirstEmptyIndex();
|
|
17446
|
+
return firstEmptyIndex === -1 ? length - 1 : firstEmptyIndex;
|
|
17447
|
+
}
|
|
17448
|
+
/**
|
|
17449
|
+
* Updates the tabIndexes for the input boxes.
|
|
17450
|
+
* This is used to ensure that the correct input is
|
|
17451
|
+
* focused when the user navigates using the tab key.
|
|
17452
|
+
*/
|
|
17453
|
+
updateTabIndexes() {
|
|
17454
|
+
const { inputRefs, inputValues, length } = this;
|
|
17455
|
+
// Find first empty index after any filled boxes
|
|
17456
|
+
let firstEmptyIndex = -1;
|
|
17457
|
+
for (let i = 0; i < length; i++) {
|
|
17458
|
+
if (!inputValues[i] || inputValues[i] === '') {
|
|
17459
|
+
firstEmptyIndex = i;
|
|
17460
|
+
break;
|
|
17461
|
+
}
|
|
17462
|
+
}
|
|
17463
|
+
// Update tabIndex and aria-hidden for all inputs
|
|
17464
|
+
inputRefs.forEach((input, index) => {
|
|
17465
|
+
const shouldBeTabbable = firstEmptyIndex === -1 ? index === length - 1 : firstEmptyIndex === index;
|
|
17466
|
+
input.tabIndex = shouldBeTabbable ? 0 : -1;
|
|
17467
|
+
// If the input is empty and not the first empty input,
|
|
17468
|
+
// it should be hidden from screen readers.
|
|
17469
|
+
const isEmpty = !inputValues[index] || inputValues[index] === '';
|
|
17470
|
+
input.setAttribute('aria-hidden', isEmpty && !shouldBeTabbable ? 'true' : 'false');
|
|
17471
|
+
});
|
|
17472
|
+
}
|
|
17473
|
+
/**
|
|
17474
|
+
* Determines if a separator should be shown for a given index by
|
|
17475
|
+
* checking if the index is included in the parsed separators array.
|
|
17476
|
+
*/
|
|
17477
|
+
showSeparator(index) {
|
|
17478
|
+
const { length } = this;
|
|
17479
|
+
return this.parsedSeparators.includes(index + 1) && index < length - 1;
|
|
17480
|
+
}
|
|
17481
|
+
render() {
|
|
17482
|
+
var _a, _b;
|
|
17483
|
+
const { autocapitalize, color, disabled, el, fill, hasFocus, inheritedAttributes, inputId, inputRefs, inputValues, length, readonly, shape, size, } = this;
|
|
17484
|
+
const mode = getIonMode$1(this);
|
|
17485
|
+
const inputmode = this.getInputmode();
|
|
17486
|
+
const tabbableIndex = this.getTabbableIndex();
|
|
17487
|
+
const pattern = this.getPattern();
|
|
17488
|
+
const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
|
|
17489
|
+
return (hAsync(Host, { key: '973743fa99d77dbdaaf9b630b64180a189b5d778', class: createColorClasses$1(color, {
|
|
17490
|
+
[mode]: true,
|
|
17491
|
+
'has-focus': hasFocus,
|
|
17492
|
+
[`input-otp-size-${size}`]: true,
|
|
17493
|
+
[`input-otp-shape-${shape}`]: true,
|
|
17494
|
+
[`input-otp-fill-${fill}`]: true,
|
|
17495
|
+
'input-otp-disabled': disabled,
|
|
17496
|
+
'input-otp-readonly': readonly,
|
|
17497
|
+
}) }, hAsync("div", Object.assign({ key: '3891cbdc07d4fa017ea04590bbb6225ab68deff2', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), 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: '0d3cfa8c081552d0c52a544a1c52c0e3d5d4f532', class: {
|
|
17498
|
+
'input-otp-description': true,
|
|
17499
|
+
'input-otp-description-hidden': !hasDescription,
|
|
17500
|
+
} }, hAsync("slot", { key: '13c3f795956749ccdf396bfb0ff882a9c9e9ce81' }))));
|
|
17501
|
+
}
|
|
17502
|
+
get el() { return getElement(this); }
|
|
17503
|
+
static get watchers() { return {
|
|
17504
|
+
"value": ["valueChanged"],
|
|
17505
|
+
"separators": ["processSeparators"],
|
|
17506
|
+
"length": ["processSeparators"]
|
|
17507
|
+
}; }
|
|
17508
|
+
static get style() { return {
|
|
17509
|
+
ios: inputOtpIosCss,
|
|
17510
|
+
md: inputOtpMdCss
|
|
17511
|
+
}; }
|
|
17512
|
+
static get cmpMeta() { return {
|
|
17513
|
+
"$flags$": 38,
|
|
17514
|
+
"$tagName$": "ion-input-otp",
|
|
17515
|
+
"$members$": {
|
|
17516
|
+
"autocapitalize": [1],
|
|
17517
|
+
"color": [513],
|
|
17518
|
+
"disabled": [516],
|
|
17519
|
+
"fill": [1],
|
|
17520
|
+
"inputmode": [1],
|
|
17521
|
+
"length": [2],
|
|
17522
|
+
"pattern": [1],
|
|
17523
|
+
"readonly": [516],
|
|
17524
|
+
"separators": [1],
|
|
17525
|
+
"shape": [1],
|
|
17526
|
+
"size": [1],
|
|
17527
|
+
"type": [1],
|
|
17528
|
+
"value": [1032],
|
|
17529
|
+
"inputValues": [32],
|
|
17530
|
+
"hasFocus": [32],
|
|
17531
|
+
"reset": [64],
|
|
17532
|
+
"setFocus": [64]
|
|
17533
|
+
},
|
|
17534
|
+
"$listeners$": undefined,
|
|
17535
|
+
"$lazyBundleId$": "-",
|
|
17536
|
+
"$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
|
|
17537
|
+
}; }
|
|
17538
|
+
}
|
|
16943
17539
|
let inputIds = 0;
|
|
16944
17540
|
|
|
16945
17541
|
const iosInputPasswordToggleCss = "";
|
|
@@ -17001,16 +17597,16 @@ class InputPasswordToggle {
|
|
|
17001
17597
|
const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
|
|
17002
17598
|
const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
|
|
17003
17599
|
const isPasswordVisible = type === 'text';
|
|
17004
|
-
return (hAsync(Host, { key: '
|
|
17600
|
+
return (hAsync(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses$1(color, {
|
|
17005
17601
|
[mode]: true,
|
|
17006
|
-
}) }, hAsync("ion-button", { key: '
|
|
17602
|
+
}) }, 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) => {
|
|
17007
17603
|
/**
|
|
17008
17604
|
* This prevents mobile browsers from
|
|
17009
17605
|
* blurring the input when the password toggle
|
|
17010
17606
|
* button is activated.
|
|
17011
17607
|
*/
|
|
17012
17608
|
ev.preventDefault();
|
|
17013
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
17609
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'e7656040b08c6a394d56f1fc41d6ca34225287d2', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
|
|
17014
17610
|
}
|
|
17015
17611
|
get el() { return getElement(this); }
|
|
17016
17612
|
static get watchers() { return {
|
|
@@ -17320,11 +17916,11 @@ class ItemDivider {
|
|
|
17320
17916
|
}
|
|
17321
17917
|
render() {
|
|
17322
17918
|
const mode = getIonMode$1(this);
|
|
17323
|
-
return (hAsync(Host, { key: '
|
|
17919
|
+
return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
|
|
17324
17920
|
[mode]: true,
|
|
17325
17921
|
'item-divider-sticky': this.sticky,
|
|
17326
17922
|
item: true,
|
|
17327
|
-
}) }, hAsync("slot", { key: '
|
|
17923
|
+
}) }, 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" }))));
|
|
17328
17924
|
}
|
|
17329
17925
|
get el() { return getElement(this); }
|
|
17330
17926
|
static get style() { return {
|
|
@@ -17354,7 +17950,7 @@ class ItemGroup {
|
|
|
17354
17950
|
}
|
|
17355
17951
|
render() {
|
|
17356
17952
|
const mode = getIonMode$1(this);
|
|
17357
|
-
return (hAsync(Host, { key: '
|
|
17953
|
+
return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
|
|
17358
17954
|
[mode]: true,
|
|
17359
17955
|
// Used internally for styling
|
|
17360
17956
|
[`item-group-${mode}`]: true,
|
|
@@ -17424,12 +18020,12 @@ class ItemOption {
|
|
|
17424
18020
|
href: this.href,
|
|
17425
18021
|
target: this.target,
|
|
17426
18022
|
};
|
|
17427
|
-
return (hAsync(Host, { key: '
|
|
18023
|
+
return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
17428
18024
|
[mode]: true,
|
|
17429
18025
|
'item-option-disabled': disabled,
|
|
17430
18026
|
'item-option-expandable': expandable,
|
|
17431
18027
|
'ion-activatable': true,
|
|
17432
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
18028
|
+
}) }, 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' }))));
|
|
17433
18029
|
}
|
|
17434
18030
|
get el() { return getElement(this); }
|
|
17435
18031
|
static get style() { return {
|
|
@@ -17478,7 +18074,7 @@ class ItemOptions {
|
|
|
17478
18074
|
render() {
|
|
17479
18075
|
const mode = getIonMode$1(this);
|
|
17480
18076
|
const isEnd = isEndSide(this.side);
|
|
17481
|
-
return (hAsync(Host, { key: '
|
|
18077
|
+
return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
|
|
17482
18078
|
[mode]: true,
|
|
17483
18079
|
// Used internally for styling
|
|
17484
18080
|
[`item-options-${mode}`]: true,
|
|
@@ -17942,7 +18538,7 @@ class ItemSliding {
|
|
|
17942
18538
|
}
|
|
17943
18539
|
render() {
|
|
17944
18540
|
const mode = getIonMode$1(this);
|
|
17945
|
-
return (hAsync(Host, { key: '
|
|
18541
|
+
return (hAsync(Host, { key: '9880396ad79e06117d572a27f92c4b753d1e26db', class: {
|
|
17946
18542
|
[mode]: true,
|
|
17947
18543
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
17948
18544
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -18047,13 +18643,13 @@ class Label {
|
|
|
18047
18643
|
render() {
|
|
18048
18644
|
const position = this.position;
|
|
18049
18645
|
const mode = getIonMode$1(this);
|
|
18050
|
-
return (hAsync(Host, { key: '
|
|
18646
|
+
return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
|
|
18051
18647
|
[mode]: true,
|
|
18052
18648
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
18053
18649
|
[`label-${position}`]: position !== undefined,
|
|
18054
18650
|
[`label-no-animate`]: this.noAnimate,
|
|
18055
18651
|
'label-rtl': document.dir === 'rtl',
|
|
18056
|
-
}) }, hAsync("slot", { key: '
|
|
18652
|
+
}) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
|
|
18057
18653
|
}
|
|
18058
18654
|
get el() { return getElement(this); }
|
|
18059
18655
|
static get watchers() { return {
|
|
@@ -18109,7 +18705,7 @@ class List {
|
|
|
18109
18705
|
render() {
|
|
18110
18706
|
const mode = getIonMode$1(this);
|
|
18111
18707
|
const { lines, inset } = this;
|
|
18112
|
-
return (hAsync(Host, { key: '
|
|
18708
|
+
return (hAsync(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
|
|
18113
18709
|
[mode]: true,
|
|
18114
18710
|
// Used internally for styling
|
|
18115
18711
|
[`list-${mode}`]: true,
|
|
@@ -18151,10 +18747,10 @@ class ListHeader {
|
|
|
18151
18747
|
render() {
|
|
18152
18748
|
const { lines } = this;
|
|
18153
18749
|
const mode = getIonMode$1(this);
|
|
18154
|
-
return (hAsync(Host, { key: '
|
|
18750
|
+
return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
|
|
18155
18751
|
[mode]: true,
|
|
18156
18752
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
18157
|
-
}) }, hAsync("div", { key: '
|
|
18753
|
+
}) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
|
|
18158
18754
|
}
|
|
18159
18755
|
static get style() { return {
|
|
18160
18756
|
ios: listHeaderIosCss,
|
|
@@ -18440,9 +19036,9 @@ class Loading {
|
|
|
18440
19036
|
* Otherwise, don't set aria-labelledby.
|
|
18441
19037
|
*/
|
|
18442
19038
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
18443
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
19039
|
+
return (hAsync(Host, Object.assign({ key: '6369ed244c06c39aa338141bffacf7a861d7da1a', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
18444
19040
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
18445
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
19041
|
+
}, 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" })));
|
|
18446
19042
|
}
|
|
18447
19043
|
get el() { return getElement(this); }
|
|
18448
19044
|
static get watchers() { return {
|
|
@@ -19466,14 +20062,14 @@ class Menu {
|
|
|
19466
20062
|
* the ionBackButton listener in the menu controller
|
|
19467
20063
|
* will handle closing the menu when Escape is pressed.
|
|
19468
20064
|
*/
|
|
19469
|
-
return (hAsync(Host, { key: '
|
|
20065
|
+
return (hAsync(Host, { key: '9e4ae9476a76781f1d228395c9af9e1c39ec82bb', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
19470
20066
|
[mode]: true,
|
|
19471
20067
|
[`menu-type-${type}`]: true,
|
|
19472
20068
|
'menu-enabled': !disabled,
|
|
19473
20069
|
[`menu-side-${side}`]: true,
|
|
19474
20070
|
'menu-pane-visible': isPaneVisible,
|
|
19475
20071
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
19476
|
-
} }, hAsync("div", { key: '
|
|
20072
|
+
} }, 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" })));
|
|
19477
20073
|
}
|
|
19478
20074
|
get el() { return getElement(this); }
|
|
19479
20075
|
static get watchers() { return {
|
|
@@ -19581,7 +20177,7 @@ class MenuButton {
|
|
|
19581
20177
|
type: this.type,
|
|
19582
20178
|
};
|
|
19583
20179
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
19584
|
-
return (hAsync(Host, { key: '
|
|
20180
|
+
return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
19585
20181
|
[mode]: true,
|
|
19586
20182
|
button: true, // ion-buttons target .button
|
|
19587
20183
|
'menu-button-hidden': hidden,
|
|
@@ -19590,7 +20186,7 @@ class MenuButton {
|
|
|
19590
20186
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
19591
20187
|
'ion-activatable': true,
|
|
19592
20188
|
'ion-focusable': true,
|
|
19593
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
20189
|
+
}) }, 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" }))));
|
|
19594
20190
|
}
|
|
19595
20191
|
get el() { return getElement(this); }
|
|
19596
20192
|
static get style() { return {
|
|
@@ -19643,10 +20239,10 @@ class MenuToggle {
|
|
|
19643
20239
|
render() {
|
|
19644
20240
|
const mode = getIonMode$1(this);
|
|
19645
20241
|
const hidden = this.autoHide && !this.visible;
|
|
19646
|
-
return (hAsync(Host, { key: '
|
|
20242
|
+
return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
19647
20243
|
[mode]: true,
|
|
19648
20244
|
'menu-toggle-hidden': hidden,
|
|
19649
|
-
} }, hAsync("slot", { key: '
|
|
20245
|
+
} }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
|
|
19650
20246
|
}
|
|
19651
20247
|
static get style() { return menuToggleCss; }
|
|
19652
20248
|
static get cmpMeta() { return {
|
|
@@ -21978,18 +22574,18 @@ class Modal {
|
|
|
21978
22574
|
const mode = getIonMode$1(this);
|
|
21979
22575
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
21980
22576
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
21981
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
22577
|
+
return (hAsync(Host, Object.assign({ key: '0bcbdcfcd7d890eb599da3f97f21c317d34f8e0e', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
21982
22578
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
21983
|
-
}, 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: '
|
|
22579
|
+
}, 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',
|
|
21984
22580
|
/*
|
|
21985
22581
|
role and aria-modal must be used on the
|
|
21986
22582
|
same element. They must also be set inside the
|
|
21987
22583
|
shadow DOM otherwise ion-button will not be highlighted
|
|
21988
22584
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
21989
22585
|
*/
|
|
21990
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
22586
|
+
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",
|
|
21991
22587
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
21992
|
-
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: '
|
|
22588
|
+
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' }))));
|
|
21993
22589
|
}
|
|
21994
22590
|
get el() { return getElement(this); }
|
|
21995
22591
|
static get watchers() { return {
|
|
@@ -22936,7 +23532,7 @@ class Nav {
|
|
|
22936
23532
|
}
|
|
22937
23533
|
}
|
|
22938
23534
|
render() {
|
|
22939
|
-
return hAsync("slot", { key: '
|
|
23535
|
+
return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
|
|
22940
23536
|
}
|
|
22941
23537
|
get el() { return getElement(this); }
|
|
22942
23538
|
static get watchers() { return {
|
|
@@ -23009,7 +23605,7 @@ class NavLink {
|
|
|
23009
23605
|
};
|
|
23010
23606
|
}
|
|
23011
23607
|
render() {
|
|
23012
|
-
return hAsync(Host, { key: '
|
|
23608
|
+
return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
|
|
23013
23609
|
}
|
|
23014
23610
|
get el() { return getElement(this); }
|
|
23015
23611
|
static get cmpMeta() { return {
|
|
@@ -23040,9 +23636,9 @@ class Note {
|
|
|
23040
23636
|
}
|
|
23041
23637
|
render() {
|
|
23042
23638
|
const mode = getIonMode$1(this);
|
|
23043
|
-
return (hAsync(Host, { key: '
|
|
23639
|
+
return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
|
|
23044
23640
|
[mode]: true,
|
|
23045
|
-
}) }, hAsync("slot", { key: '
|
|
23641
|
+
}) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
|
|
23046
23642
|
}
|
|
23047
23643
|
static get style() { return {
|
|
23048
23644
|
ios: noteIosCss,
|
|
@@ -23802,11 +24398,11 @@ class Picker {
|
|
|
23802
24398
|
render() {
|
|
23803
24399
|
const { htmlAttributes } = this;
|
|
23804
24400
|
const mode = getIonMode$1(this);
|
|
23805
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24401
|
+
return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
23806
24402
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
23807
24403
|
}, class: Object.assign({ [mode]: true,
|
|
23808
24404
|
// Used internally for styling
|
|
23809
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
24405
|
+
[`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" })));
|
|
23810
24406
|
}
|
|
23811
24407
|
get el() { return getElement(this); }
|
|
23812
24408
|
static get watchers() { return {
|
|
@@ -24793,9 +25389,9 @@ class PickerColumnCmp {
|
|
|
24793
25389
|
render() {
|
|
24794
25390
|
const col = this.col;
|
|
24795
25391
|
const mode = getIonMode$1(this);
|
|
24796
|
-
return (hAsync(Host, { key: '
|
|
25392
|
+
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: {
|
|
24797
25393
|
'max-width': this.col.columnWidth,
|
|
24798
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
25394
|
+
} }, 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))));
|
|
24799
25395
|
}
|
|
24800
25396
|
get el() { return getElement(this); }
|
|
24801
25397
|
static get watchers() { return {
|
|
@@ -24912,10 +25508,10 @@ class PickerColumnOption {
|
|
|
24912
25508
|
render() {
|
|
24913
25509
|
const { color, disabled, ariaLabel } = this;
|
|
24914
25510
|
const mode = getIonMode$1(this);
|
|
24915
|
-
return (hAsync(Host, { key: '
|
|
25511
|
+
return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
|
|
24916
25512
|
[mode]: true,
|
|
24917
25513
|
['option-disabled']: disabled,
|
|
24918
|
-
}) }, hAsync("button", { key: '
|
|
25514
|
+
}) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
|
|
24919
25515
|
}
|
|
24920
25516
|
get el() { return getElement(this); }
|
|
24921
25517
|
static get watchers() { return {
|
|
@@ -26321,9 +26917,9 @@ class Popover {
|
|
|
26321
26917
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
26322
26918
|
const desktop = isPlatform('desktop');
|
|
26323
26919
|
const enableArrow = arrow && !parentPopover;
|
|
26324
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
26920
|
+
return (hAsync(Host, Object.assign({ key: '1de4862099cfcb5035e78008e6dc7c1371846f9a', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
26325
26921
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
26326
|
-
}, 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: '
|
|
26922
|
+
}, 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' })))));
|
|
26327
26923
|
}
|
|
26328
26924
|
get el() { return getElement(this); }
|
|
26329
26925
|
static get watchers() { return {
|
|
@@ -26428,7 +27024,7 @@ class ProgressBar {
|
|
|
26428
27024
|
const mode = getIonMode$1(this);
|
|
26429
27025
|
// If the progress is displayed as a solid bar.
|
|
26430
27026
|
const progressSolid = buffer === 1;
|
|
26431
|
-
return (hAsync(Host, { key: '
|
|
27027
|
+
return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
26432
27028
|
[mode]: true,
|
|
26433
27029
|
[`progress-bar-${type}`]: true,
|
|
26434
27030
|
'progress-paused': paused,
|
|
@@ -26612,7 +27208,7 @@ class Radio {
|
|
|
26612
27208
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
26613
27209
|
const mode = getIonMode$1(this);
|
|
26614
27210
|
const inItem = hostContext('ion-item', el);
|
|
26615
|
-
return (hAsync(Host, { key: '
|
|
27211
|
+
return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
26616
27212
|
[mode]: true,
|
|
26617
27213
|
'in-item': inItem,
|
|
26618
27214
|
'radio-checked': checked,
|
|
@@ -26623,10 +27219,10 @@ class Radio {
|
|
|
26623
27219
|
// Focus and active styling should not apply when the radio is in an item
|
|
26624
27220
|
'ion-activatable': !inItem,
|
|
26625
27221
|
'ion-focusable': !inItem,
|
|
26626
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
27222
|
+
}), 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: {
|
|
26627
27223
|
'label-text-wrapper': true,
|
|
26628
27224
|
'label-text-wrapper-hidden': !hasLabel,
|
|
26629
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
27225
|
+
}, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
26630
27226
|
}
|
|
26631
27227
|
get el() { return getElement(this); }
|
|
26632
27228
|
static get watchers() { return {
|
|
@@ -26849,7 +27445,7 @@ class RadioGroup {
|
|
|
26849
27445
|
const { label, labelId, el, name, value } = this;
|
|
26850
27446
|
const mode = getIonMode$1(this);
|
|
26851
27447
|
renderHiddenInput(true, el, name, value, false);
|
|
26852
|
-
return (hAsync(Host, { key: '
|
|
27448
|
+
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' }))));
|
|
26853
27449
|
}
|
|
26854
27450
|
get el() { return getElement(this); }
|
|
26855
27451
|
static get watchers() { return {
|
|
@@ -27564,7 +28160,7 @@ class Range {
|
|
|
27564
28160
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
27565
28161
|
const mode = getIonMode$1(this);
|
|
27566
28162
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
27567
|
-
return (hAsync(Host, { key: '
|
|
28163
|
+
return (hAsync(Host, { key: '124909954930d95f353e8593fd967de1486b0315', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
27568
28164
|
[mode]: true,
|
|
27569
28165
|
'in-item': inItem,
|
|
27570
28166
|
'range-disabled': disabled,
|
|
@@ -27573,10 +28169,10 @@ class Range {
|
|
|
27573
28169
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
27574
28170
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
27575
28171
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
27576
|
-
}) }, hAsync("label", { key: '
|
|
28172
|
+
}) }, hAsync("label", { key: '0af177a2ba5869d3441c4b3f393835218807a418', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '4d834224b9c834e88497f58af4339348cec9ca1c', class: {
|
|
27577
28173
|
'label-text-wrapper': true,
|
|
27578
28174
|
'label-text-wrapper-hidden': !hasLabel,
|
|
27579
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
28175
|
+
}, 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" })))));
|
|
27580
28176
|
}
|
|
27581
28177
|
get el() { return getElement(this); }
|
|
27582
28178
|
static get watchers() { return {
|
|
@@ -28526,7 +29122,7 @@ class Refresher {
|
|
|
28526
29122
|
}
|
|
28527
29123
|
render() {
|
|
28528
29124
|
const mode = getIonMode$1(this);
|
|
28529
|
-
return (hAsync(Host, { key: '
|
|
29125
|
+
return (hAsync(Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
|
|
28530
29126
|
[mode]: true,
|
|
28531
29127
|
// Used internally for styling
|
|
28532
29128
|
[`refresher-${mode}`]: true,
|
|
@@ -28750,7 +29346,7 @@ class RefresherContent {
|
|
|
28750
29346
|
const pullingIcon = this.pullingIcon;
|
|
28751
29347
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
28752
29348
|
const mode = getIonMode$1(this);
|
|
28753
|
-
return (hAsync(Host, { key: '
|
|
29349
|
+
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())));
|
|
28754
29350
|
}
|
|
28755
29351
|
get el() { return getElement(this); }
|
|
28756
29352
|
static get cmpMeta() { return {
|
|
@@ -28791,7 +29387,7 @@ class Reorder {
|
|
|
28791
29387
|
render() {
|
|
28792
29388
|
const mode = getIonMode$1(this);
|
|
28793
29389
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
28794
|
-
return (hAsync(Host, { key: '
|
|
29390
|
+
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" }))));
|
|
28795
29391
|
}
|
|
28796
29392
|
get el() { return getElement(this); }
|
|
28797
29393
|
static get style() { return {
|
|
@@ -29047,7 +29643,7 @@ class ReorderGroup {
|
|
|
29047
29643
|
}
|
|
29048
29644
|
render() {
|
|
29049
29645
|
const mode = getIonMode$1(this);
|
|
29050
|
-
return (hAsync(Host, { key: '
|
|
29646
|
+
return (hAsync(Host, { key: 'f30613b361c5c3095b7928a92fb4b1e8d6eff600', class: {
|
|
29051
29647
|
[mode]: true,
|
|
29052
29648
|
'reorder-enabled': !this.disabled,
|
|
29053
29649
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -29163,7 +29759,7 @@ class RippleEffect {
|
|
|
29163
29759
|
}
|
|
29164
29760
|
render() {
|
|
29165
29761
|
const mode = getIonMode$1(this);
|
|
29166
|
-
return (hAsync(Host, { key: '
|
|
29762
|
+
return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
|
|
29167
29763
|
[mode]: true,
|
|
29168
29764
|
unbounded: this.unbounded,
|
|
29169
29765
|
} }));
|
|
@@ -30121,10 +30717,10 @@ class RouterLink {
|
|
|
30121
30717
|
rel: this.rel,
|
|
30122
30718
|
target: this.target,
|
|
30123
30719
|
};
|
|
30124
|
-
return (hAsync(Host, { key: '
|
|
30720
|
+
return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
30125
30721
|
[mode]: true,
|
|
30126
30722
|
'ion-activatable': true,
|
|
30127
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
30723
|
+
}) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
|
|
30128
30724
|
}
|
|
30129
30725
|
static get style() { return routerLinkCss; }
|
|
30130
30726
|
static get cmpMeta() { return {
|
|
@@ -30321,7 +30917,7 @@ class RouterOutlet {
|
|
|
30321
30917
|
return true;
|
|
30322
30918
|
}
|
|
30323
30919
|
render() {
|
|
30324
|
-
return hAsync("slot", { key: '
|
|
30920
|
+
return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
|
|
30325
30921
|
}
|
|
30326
30922
|
get el() { return getElement(this); }
|
|
30327
30923
|
static get watchers() { return {
|
|
@@ -30354,7 +30950,7 @@ class Row {
|
|
|
30354
30950
|
registerInstance(this, hostRef);
|
|
30355
30951
|
}
|
|
30356
30952
|
render() {
|
|
30357
|
-
return (hAsync(Host, { key: '
|
|
30953
|
+
return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
|
|
30358
30954
|
}
|
|
30359
30955
|
static get style() { return rowCss; }
|
|
30360
30956
|
static get cmpMeta() { return {
|
|
@@ -30797,8 +31393,8 @@ class Searchbar {
|
|
|
30797
31393
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
30798
31394
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
30799
31395
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
30800
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
30801
|
-
return (hAsync(Host, { key: '
|
|
31396
|
+
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))));
|
|
31397
|
+
return (hAsync(Host, { key: '4432996807ffe9372c7d6955c94366d5b920f6dd', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
30802
31398
|
[mode]: true,
|
|
30803
31399
|
'searchbar-animated': animated,
|
|
30804
31400
|
'searchbar-disabled': this.disabled,
|
|
@@ -30808,14 +31404,14 @@ class Searchbar {
|
|
|
30808
31404
|
'searchbar-has-focus': this.focused,
|
|
30809
31405
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
30810
31406
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
30811
|
-
}) }, hAsync("div", { key: '
|
|
31407
|
+
}) }, 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) => {
|
|
30812
31408
|
/**
|
|
30813
31409
|
* This prevents mobile browsers from
|
|
30814
31410
|
* blurring the input when the clear
|
|
30815
31411
|
* button is activated.
|
|
30816
31412
|
*/
|
|
30817
31413
|
ev.preventDefault();
|
|
30818
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
31414
|
+
}, 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));
|
|
30819
31415
|
}
|
|
30820
31416
|
get el() { return getElement(this); }
|
|
30821
31417
|
static get watchers() { return {
|
|
@@ -31410,14 +32006,14 @@ class Segment {
|
|
|
31410
32006
|
}
|
|
31411
32007
|
render() {
|
|
31412
32008
|
const mode = getIonMode$1(this);
|
|
31413
|
-
return (hAsync(Host, { key: '
|
|
32009
|
+
return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
31414
32010
|
[mode]: true,
|
|
31415
32011
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
31416
32012
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
31417
32013
|
'segment-activated': this.activated,
|
|
31418
32014
|
'segment-disabled': this.disabled,
|
|
31419
32015
|
'segment-scrollable': this.scrollable,
|
|
31420
|
-
}) }, hAsync("slot", { key: '
|
|
32016
|
+
}) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
|
|
31421
32017
|
}
|
|
31422
32018
|
get el() { return getElement(this); }
|
|
31423
32019
|
static get watchers() { return {
|
|
@@ -31557,7 +32153,7 @@ class SegmentButton {
|
|
|
31557
32153
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
31558
32154
|
const mode = getIonMode$1(this);
|
|
31559
32155
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
31560
|
-
return (hAsync(Host, { key: '
|
|
32156
|
+
return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
|
|
31561
32157
|
[mode]: true,
|
|
31562
32158
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
31563
32159
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -31573,7 +32169,7 @@ class SegmentButton {
|
|
|
31573
32169
|
'ion-activatable': true,
|
|
31574
32170
|
'ion-activatable-instant': true,
|
|
31575
32171
|
'ion-focusable': true,
|
|
31576
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
32172
|
+
} }, 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" }))));
|
|
31577
32173
|
}
|
|
31578
32174
|
get el() { return getElement(this); }
|
|
31579
32175
|
static get watchers() { return {
|
|
@@ -31608,7 +32204,7 @@ class SegmentContent {
|
|
|
31608
32204
|
registerInstance(this, hostRef);
|
|
31609
32205
|
}
|
|
31610
32206
|
render() {
|
|
31611
|
-
return (hAsync(Host, { key: '
|
|
32207
|
+
return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
|
|
31612
32208
|
}
|
|
31613
32209
|
static get style() { return segmentContentCss; }
|
|
31614
32210
|
static get cmpMeta() { return {
|
|
@@ -31721,10 +32317,10 @@ class SegmentView {
|
|
|
31721
32317
|
}
|
|
31722
32318
|
render() {
|
|
31723
32319
|
const { disabled, isManualScroll } = this;
|
|
31724
|
-
return (hAsync(Host, { key: '
|
|
32320
|
+
return (hAsync(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
|
|
31725
32321
|
'segment-view-disabled': disabled,
|
|
31726
32322
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
31727
|
-
} }, hAsync("slot", { key: '
|
|
32323
|
+
} }, hAsync("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
|
|
31728
32324
|
}
|
|
31729
32325
|
get el() { return getElement(this); }
|
|
31730
32326
|
static get style() { return {
|
|
@@ -32463,7 +33059,7 @@ class Select {
|
|
|
32463
33059
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
32464
33060
|
*/
|
|
32465
33061
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
32466
|
-
return (hAsync(Host, { key: '
|
|
33062
|
+
return (hAsync(Host, { key: 'd42f9434cdf0f22f8710f1f363096e12967695dd', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
32467
33063
|
[mode]: true,
|
|
32468
33064
|
'in-item': inItem,
|
|
32469
33065
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -32481,7 +33077,7 @@ class Select {
|
|
|
32481
33077
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
32482
33078
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
32483
33079
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
32484
|
-
}) }, hAsync("label", { key: '
|
|
33080
|
+
}) }, 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()));
|
|
32485
33081
|
}
|
|
32486
33082
|
get el() { return getElement(this); }
|
|
32487
33083
|
static get watchers() { return {
|
|
@@ -32640,7 +33236,7 @@ class SelectModal {
|
|
|
32640
33236
|
} }, option.text))));
|
|
32641
33237
|
}
|
|
32642
33238
|
render() {
|
|
32643
|
-
return (hAsync(Host, { key: '
|
|
33239
|
+
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()))));
|
|
32644
33240
|
}
|
|
32645
33241
|
get el() { return getElement(this); }
|
|
32646
33242
|
static get style() { return {
|
|
@@ -32674,7 +33270,7 @@ class SelectOption {
|
|
|
32674
33270
|
this.disabled = false;
|
|
32675
33271
|
}
|
|
32676
33272
|
render() {
|
|
32677
|
-
return hAsync(Host, { key: '
|
|
33273
|
+
return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
32678
33274
|
}
|
|
32679
33275
|
get el() { return getElement(this); }
|
|
32680
33276
|
static get style() { return selectOptionCss; }
|
|
@@ -32791,7 +33387,7 @@ class SelectPopover {
|
|
|
32791
33387
|
render() {
|
|
32792
33388
|
const { header, message, options, subHeader } = this;
|
|
32793
33389
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
32794
|
-
return (hAsync(Host, { key: '
|
|
33390
|
+
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))));
|
|
32795
33391
|
}
|
|
32796
33392
|
get el() { return getElement(this); }
|
|
32797
33393
|
static get style() { return {
|
|
@@ -32841,11 +33437,11 @@ class SkeletonText {
|
|
|
32841
33437
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
32842
33438
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
32843
33439
|
const mode = getIonMode$1(this);
|
|
32844
|
-
return (hAsync(Host, { key: '
|
|
33440
|
+
return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
|
|
32845
33441
|
[mode]: true,
|
|
32846
33442
|
'skeleton-text-animated': animated,
|
|
32847
33443
|
'in-media': inMedia,
|
|
32848
|
-
} }, hAsync("span", { key: '
|
|
33444
|
+
} }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
|
|
32849
33445
|
}
|
|
32850
33446
|
get el() { return getElement(this); }
|
|
32851
33447
|
static get style() { return skeletonTextCss; }
|
|
@@ -32897,7 +33493,7 @@ class Spinner {
|
|
|
32897
33493
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
32898
33494
|
}
|
|
32899
33495
|
}
|
|
32900
|
-
return (hAsync(Host, { key: '
|
|
33496
|
+
return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
|
|
32901
33497
|
[mode]: true,
|
|
32902
33498
|
[`spinner-${spinnerName}`]: true,
|
|
32903
33499
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -32996,12 +33592,12 @@ class SplitPane {
|
|
|
32996
33592
|
}
|
|
32997
33593
|
render() {
|
|
32998
33594
|
const mode = getIonMode$1(this);
|
|
32999
|
-
return (hAsync(Host, { key: '
|
|
33595
|
+
return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
|
|
33000
33596
|
[mode]: true,
|
|
33001
33597
|
// Used internally for styling
|
|
33002
33598
|
[`split-pane-${mode}`]: true,
|
|
33003
33599
|
'split-pane-visible': this.visible,
|
|
33004
|
-
} }, hAsync("slot", { key: '
|
|
33600
|
+
} }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
|
|
33005
33601
|
}
|
|
33006
33602
|
get el() { return getElement(this); }
|
|
33007
33603
|
static get watchers() { return {
|
|
@@ -33067,10 +33663,10 @@ class Tab {
|
|
|
33067
33663
|
}
|
|
33068
33664
|
render() {
|
|
33069
33665
|
const { tab, active, component } = this;
|
|
33070
|
-
return (hAsync(Host, { key: '
|
|
33666
|
+
return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
33071
33667
|
'ion-page': component === undefined,
|
|
33072
33668
|
'tab-hidden': !active,
|
|
33073
|
-
} }, hAsync("slot", { key: '
|
|
33669
|
+
} }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
|
|
33074
33670
|
}
|
|
33075
33671
|
get el() { return getElement(this); }
|
|
33076
33672
|
static get watchers() { return {
|
|
@@ -33149,11 +33745,11 @@ class TabBar {
|
|
|
33149
33745
|
const { color, translucent, keyboardVisible } = this;
|
|
33150
33746
|
const mode = getIonMode$1(this);
|
|
33151
33747
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
33152
|
-
return (hAsync(Host, { key: '
|
|
33748
|
+
return (hAsync(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
33153
33749
|
[mode]: true,
|
|
33154
33750
|
'tab-bar-translucent': translucent,
|
|
33155
33751
|
'tab-bar-hidden': shouldHide,
|
|
33156
|
-
}) }, hAsync("slot", { key: '
|
|
33752
|
+
}) }, hAsync("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
|
|
33157
33753
|
}
|
|
33158
33754
|
get el() { return getElement(this); }
|
|
33159
33755
|
static get watchers() { return {
|
|
@@ -33249,7 +33845,7 @@ class TabButton {
|
|
|
33249
33845
|
rel,
|
|
33250
33846
|
target,
|
|
33251
33847
|
};
|
|
33252
|
-
return (hAsync(Host, { key: '
|
|
33848
|
+
return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
33253
33849
|
[mode]: true,
|
|
33254
33850
|
'tab-selected': selected,
|
|
33255
33851
|
'tab-disabled': disabled,
|
|
@@ -33261,7 +33857,7 @@ class TabButton {
|
|
|
33261
33857
|
'ion-activatable': true,
|
|
33262
33858
|
'ion-selectable': true,
|
|
33263
33859
|
'ion-focusable': true,
|
|
33264
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
33860
|
+
} }, 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" }))));
|
|
33265
33861
|
}
|
|
33266
33862
|
get el() { return getElement(this); }
|
|
33267
33863
|
static get style() { return {
|
|
@@ -33436,7 +34032,7 @@ class Tabs {
|
|
|
33436
34032
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
33437
34033
|
}
|
|
33438
34034
|
render() {
|
|
33439
|
-
return (hAsync(Host, { key: '
|
|
34035
|
+
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" })));
|
|
33440
34036
|
}
|
|
33441
34037
|
get el() { return getElement(this); }
|
|
33442
34038
|
static get style() { return tabsCss; }
|
|
@@ -33476,9 +34072,9 @@ class Text {
|
|
|
33476
34072
|
}
|
|
33477
34073
|
render() {
|
|
33478
34074
|
const mode = getIonMode$1(this);
|
|
33479
|
-
return (hAsync(Host, { key: '
|
|
34075
|
+
return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
|
|
33480
34076
|
[mode]: true,
|
|
33481
|
-
}) }, hAsync("slot", { key: '
|
|
34077
|
+
}) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
|
|
33482
34078
|
}
|
|
33483
34079
|
static get style() { return textCss; }
|
|
33484
34080
|
static get cmpMeta() { return {
|
|
@@ -33917,7 +34513,7 @@ class Textarea {
|
|
|
33917
34513
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
33918
34514
|
*/
|
|
33919
34515
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
33920
|
-
return (hAsync(Host, { key: '
|
|
34516
|
+
return (hAsync(Host, { key: '550ae8e37d94a3f9950c191626beb2ba49ca25f7', class: createColorClasses$1(this.color, {
|
|
33921
34517
|
[mode]: true,
|
|
33922
34518
|
'has-value': hasValue,
|
|
33923
34519
|
'has-focus': hasFocus,
|
|
@@ -33926,7 +34522,7 @@ class Textarea {
|
|
|
33926
34522
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
33927
34523
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
33928
34524
|
'textarea-disabled': disabled,
|
|
33929
|
-
}) }, hAsync("label", { key: '
|
|
34525
|
+
}) }, 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()));
|
|
33930
34526
|
}
|
|
33931
34527
|
get el() { return getElement(this); }
|
|
33932
34528
|
static get watchers() { return {
|
|
@@ -33988,7 +34584,7 @@ class Thumbnail {
|
|
|
33988
34584
|
registerInstance(this, hostRef);
|
|
33989
34585
|
}
|
|
33990
34586
|
render() {
|
|
33991
|
-
return (hAsync(Host, { key: '
|
|
34587
|
+
return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
|
|
33992
34588
|
}
|
|
33993
34589
|
static get style() { return thumbnailCss; }
|
|
33994
34590
|
static get cmpMeta() { return {
|
|
@@ -34847,9 +35443,9 @@ class Toast {
|
|
|
34847
35443
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
34848
35444
|
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);
|
|
34849
35445
|
}
|
|
34850
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
35446
|
+
return (hAsync(Host, Object.assign({ key: '425be734aee0eeef281ab1609a9f982ce8b5e852', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
34851
35447
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
34852
|
-
}, 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: '
|
|
35448
|
+
}, 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')))));
|
|
34853
35449
|
}
|
|
34854
35450
|
get el() { return getElement(this); }
|
|
34855
35451
|
static get watchers() { return {
|
|
@@ -35144,7 +35740,7 @@ class Toggle {
|
|
|
35144
35740
|
const value = this.getValue();
|
|
35145
35741
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
35146
35742
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
35147
|
-
return (hAsync(Host, { key: '
|
|
35743
|
+
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, {
|
|
35148
35744
|
[mode]: true,
|
|
35149
35745
|
'in-item': hostContext('ion-item', el),
|
|
35150
35746
|
'toggle-activated': activated,
|
|
@@ -35154,10 +35750,10 @@ class Toggle {
|
|
|
35154
35750
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
35155
35751
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
35156
35752
|
[`toggle-${rtl}`]: true,
|
|
35157
|
-
}) }, hAsync("label", { key: '
|
|
35753
|
+
}) }, 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: {
|
|
35158
35754
|
'label-text-wrapper': true,
|
|
35159
35755
|
'label-text-wrapper-hidden': !hasLabel,
|
|
35160
|
-
}, part: "label", id: inputLabelId }, hAsync("slot", { key: '
|
|
35756
|
+
}, part: "label", id: inputLabelId }, hAsync("slot", { key: 'e6afe1ed4d6f478411cc7030c44492ba59509b22' }), this.renderHintText()), hAsync("div", { key: '6271c04a5954352d93cec8dbca753084d4bac9fd', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
35161
35757
|
}
|
|
35162
35758
|
get el() { return getElement(this); }
|
|
35163
35759
|
static get watchers() { return {
|
|
@@ -35265,10 +35861,10 @@ class Toolbar {
|
|
|
35265
35861
|
this.childrenStyles.forEach((value) => {
|
|
35266
35862
|
Object.assign(childStyles, value);
|
|
35267
35863
|
});
|
|
35268
|
-
return (hAsync(Host, { key: '
|
|
35864
|
+
return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
35269
35865
|
[mode]: true,
|
|
35270
35866
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
35271
|
-
})) }, hAsync("div", { key: '
|
|
35867
|
+
})) }, 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" }))));
|
|
35272
35868
|
}
|
|
35273
35869
|
get el() { return getElement(this); }
|
|
35274
35870
|
static get style() { return {
|
|
@@ -35314,11 +35910,11 @@ class ToolbarTitle {
|
|
|
35314
35910
|
render() {
|
|
35315
35911
|
const mode = getIonMode$1(this);
|
|
35316
35912
|
const size = this.getSize();
|
|
35317
|
-
return (hAsync(Host, { key: '
|
|
35913
|
+
return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
|
|
35318
35914
|
[mode]: true,
|
|
35319
35915
|
[`title-${size}`]: true,
|
|
35320
35916
|
'title-rtl': document.dir === 'rtl',
|
|
35321
|
-
}) }, hAsync("div", { key: '
|
|
35917
|
+
}) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
|
|
35322
35918
|
}
|
|
35323
35919
|
get el() { return getElement(this); }
|
|
35324
35920
|
static get watchers() { return {
|
|
@@ -35377,6 +35973,7 @@ registerComponents([
|
|
|
35377
35973
|
InfiniteScroll,
|
|
35378
35974
|
InfiniteScrollContent,
|
|
35379
35975
|
Input,
|
|
35976
|
+
InputOTP,
|
|
35380
35977
|
InputPasswordToggle,
|
|
35381
35978
|
Item,
|
|
35382
35979
|
ItemDivider,
|