@ionic/core 8.8.9-dev.11781024903.1e4268e5 → 8.8.9-dev.11781201980.1b6e8398
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/index.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-gallery-item.d.ts +11 -0
- package/components/ion-gallery-item.js +4 -0
- package/components/ion-gallery.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-legacy-column.js +1 -1
- package/components/ion-picker-legacy.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- 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-ripple-effect.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-BFZBl0TS.js +4 -0
- package/components/{p-pvh0bjpw.js → p-BVi3gqm6.js} +1 -1
- package/components/{p-D6g8ud1e.js → p-BVk7LVs0.js} +1 -1
- package/components/{p-B9MABkWm.js → p-BdUtZxku.js} +1 -1
- package/components/{p-CzC_ZSgb.js → p-Be8tHurp.js} +1 -1
- package/components/p-C0U8YqYW.js +4 -0
- package/components/{p-C8kBejTT.js → p-CG3ZV6ON.js} +1 -1
- package/components/{p-CBS0sBAa.js → p-CaqTORfV.js} +1 -1
- package/components/{p-D2mReIu8.js → p-CkA0SI9d.js} +1 -1
- package/components/p-Cmql_g3_.js +4 -0
- package/components/p-CsakePQg.js +4 -0
- package/components/{p-CgSn4J7d.js → p-D1gEOh9B.js} +1 -1
- package/components/p-D3qBmaqi.js +4 -0
- package/components/{p-Do7NMUwR.js → p-DGn-jQpr.js} +1 -1
- package/components/p-DH4JHV73.js +4 -0
- package/components/p-DYK0qX7x.js +4 -0
- package/components/{p-Dp2x0MpA.js → p-DfV7pOtM.js} +1 -1
- package/components/{p-BhkGOA7t.js → p-F3N54OKJ.js} +1 -1
- package/components/{p-CgZLVOCc.js → p-MPREydZp.js} +1 -1
- package/components/{p-kKYBfhbe.js → p-OFfrVDLw.js} +1 -1
- package/components/p-iZO3WzZT.js +4 -0
- package/components/{p-LB-QPk3e.js → p-qclL-gNR.js} +1 -1
- package/dist/cjs/index-BJlwOs11.js +171 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
- package/dist/cjs/ion-alert.cjs.entry.js +9 -25
- package/dist/cjs/ion-app_8.cjs.entry.js +7 -7
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-gallery-item.cjs.entry.js +60 -0
- package/dist/cjs/ion-gallery.cjs.entry.js +91 -13
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +16 -15
- package/dist/cjs/ion-loading.cjs.entry.js +3 -3
- package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-modal.cjs.entry.js +4 -4
- package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +2 -2
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +10 -30
- package/dist/cjs/ion-select_3.cjs.entry.js +43 -102
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
- package/dist/cjs/ion-toast.cjs.entry.js +3 -3
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/select-option-render-C7klBX2H.js +81 -0
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/action-sheet/action-sheet.ionic.css +506 -163
- package/dist/collection/components/action-sheet/action-sheet.ios.css +27 -288
- package/dist/collection/components/action-sheet/action-sheet.md.css +27 -228
- package/dist/collection/components/alert/alert.ionic.css +797 -416
- package/dist/collection/components/alert/alert.ios.css +40 -402
- package/dist/collection/components/alert/alert.js +4 -20
- package/dist/collection/components/alert/alert.md.css +50 -385
- package/dist/collection/components/gallery/gallery.css +1 -86
- package/dist/collection/components/gallery/gallery.js +92 -13
- package/dist/collection/components/gallery/test/utils.js +16 -16
- package/dist/collection/components/gallery-item/gallery-item.css +88 -0
- package/dist/collection/components/gallery-item/gallery-item.js +100 -0
- package/dist/collection/components/grid/grid.js +2 -2
- package/dist/collection/components/header/header.js +2 -2
- package/dist/collection/components/img/img.js +2 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
- package/dist/collection/components/input/input.js +4 -4
- package/dist/collection/components/input-otp/input-otp.js +3 -3
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
- package/dist/collection/components/item/item.ionic.css +17 -5
- package/dist/collection/components/item/item.js +3 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/collection/components/reorder/reorder.js +2 -2
- 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 +2 -2
- 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 +32 -72
- package/dist/collection/components/select-modal/select-modal.ionic.css +29 -139
- package/dist/collection/components/select-modal/select-modal.ios.css +7 -379
- package/dist/collection/components/select-modal/select-modal.js +5 -25
- package/dist/collection/components/select-modal/select-modal.md.css +7 -319
- package/dist/collection/components/select-option/select-option.js +1 -39
- package/dist/collection/components/select-popover/select-popover.ionic.css +376 -129
- package/dist/collection/components/select-popover/select-popover.ios.css +69 -252
- package/dist/collection/components/select-popover/select-popover.js +6 -25
- package/dist/collection/components/select-popover/select-popover.md.css +27 -273
- 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 +3 -3
- package/dist/collection/components/thumbnail/thumbnail.js +2 -2
- 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/sanitization/index.js +14 -255
- package/dist/collection/utils/select-option-render.js +24 -59
- package/dist/docs.json +87 -69
- package/dist/esm/index-D4ugF_sT.js +168 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +5 -5
- package/dist/esm/ion-alert.entry.js +9 -25
- package/dist/esm/ion-app_8.entry.js +7 -7
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +4 -4
- package/dist/esm/ion-datetime_3.entry.js +4 -4
- package/dist/esm/ion-gallery-item.entry.js +58 -0
- package/dist/esm/ion-gallery.entry.js +91 -13
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +4 -4
- package/dist/esm/ion-input-otp.entry.js +3 -3
- package/dist/esm/ion-input-password-toggle.entry.js +3 -3
- package/dist/esm/ion-input.entry.js +4 -4
- package/dist/esm/ion-item-option_3.entry.js +4 -4
- package/dist/esm/ion-item_8.entry.js +16 -15
- package/dist/esm/ion-loading.entry.js +3 -3
- package/dist/esm/ion-menu_3.entry.js +6 -6
- package/dist/esm/ion-modal.entry.js +4 -4
- package/dist/esm/ion-nav_2.entry.js +2 -2
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +2 -2
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +5 -5
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +4 -4
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +4 -4
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select-modal.entry.js +10 -30
- package/dist/esm/ion-select_3.entry.js +43 -102
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +3 -3
- package/dist/esm/ion-toast.entry.js +3 -3
- package/dist/esm/ion-toggle.entry.js +3 -3
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/select-option-render-B2qc5ZP7.js +79 -0
- package/dist/html.html-data.json +42 -27
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-f52856cb.entry.js → p-0592c549.entry.js} +1 -1
- package/dist/ionic/{p-67c2d349.entry.js → p-0aa510cd.entry.js} +1 -1
- package/dist/ionic/{p-9ccfb733.entry.js → p-0cd5fd9d.entry.js} +1 -1
- package/dist/ionic/p-0e9d4e11.entry.js +4 -0
- package/dist/ionic/{p-497f6391.entry.js → p-11a38333.entry.js} +1 -1
- package/dist/ionic/{p-0030507d.entry.js → p-1a009a51.entry.js} +1 -1
- package/dist/ionic/{p-7186786e.entry.js → p-23e524f8.entry.js} +1 -1
- package/dist/ionic/{p-1439fecb.entry.js → p-2826761a.entry.js} +1 -1
- package/dist/ionic/{p-93315d96.entry.js → p-2c4170d8.entry.js} +1 -1
- package/dist/ionic/p-2d5a2511.entry.js +4 -0
- package/dist/ionic/{p-7f294078.entry.js → p-3706ea52.entry.js} +1 -1
- package/dist/ionic/{p-b69add0e.entry.js → p-3e376501.entry.js} +1 -1
- package/dist/ionic/{p-c684a3b6.entry.js → p-44597202.entry.js} +1 -1
- package/dist/ionic/{p-8458f1b6.entry.js → p-4a27a79a.entry.js} +1 -1
- package/dist/ionic/{p-b7235e85.entry.js → p-4f07113d.entry.js} +1 -1
- package/dist/ionic/{p-88e7f52a.entry.js → p-52b85650.entry.js} +1 -1
- package/dist/ionic/{p-199bffb3.entry.js → p-5a6e0ae1.entry.js} +1 -1
- package/dist/ionic/p-6906dca7.entry.js +4 -0
- package/dist/ionic/p-75a1ca50.entry.js +4 -0
- package/dist/ionic/{p-19a1ff9a.entry.js → p-7b09c19d.entry.js} +1 -1
- package/dist/ionic/{p-76c70824.entry.js → p-7b886782.entry.js} +1 -1
- package/dist/ionic/p-7da8b262.entry.js +4 -0
- package/dist/ionic/{p-89eab395.entry.js → p-82c05be2.entry.js} +1 -1
- package/dist/ionic/{p-b653f4c2.entry.js → p-83c0eb9b.entry.js} +1 -1
- package/dist/ionic/{p-b4fd91b8.entry.js → p-85ff1314.entry.js} +1 -1
- package/dist/ionic/p-88048796.entry.js +4 -0
- package/dist/ionic/{p-3f18dfe9.entry.js → p-8eca5ba1.entry.js} +1 -1
- package/dist/ionic/p-96f52444.entry.js +4 -0
- package/dist/ionic/p-CFjI63GE.js +4 -0
- package/dist/ionic/p-CWJdc8f_.js +4 -0
- package/dist/ionic/{p-f2f740aa.entry.js → p-a3b047e0.entry.js} +1 -1
- package/dist/ionic/{p-40d9e029.entry.js → p-a73caa5e.entry.js} +1 -1
- package/dist/ionic/{p-1ad16c09.entry.js → p-b0dfd018.entry.js} +1 -1
- package/dist/ionic/{p-a3f9be52.entry.js → p-b6130fe4.entry.js} +1 -1
- package/dist/ionic/p-c0558552.entry.js +4 -0
- package/dist/ionic/{p-084c2623.entry.js → p-c5f745b4.entry.js} +1 -1
- package/dist/ionic/{p-bc3d68ff.entry.js → p-c781241c.entry.js} +1 -1
- package/dist/ionic/p-cb154afe.entry.js +4 -0
- package/dist/ionic/{p-b847907d.entry.js → p-cde69f38.entry.js} +1 -1
- package/dist/ionic/{p-70ee89c9.entry.js → p-d6f0a698.entry.js} +1 -1
- package/dist/ionic/{p-dd2981d0.entry.js → p-d9804d04.entry.js} +1 -1
- package/dist/ionic/{p-7054a1b9.entry.js → p-e342b205.entry.js} +1 -1
- package/dist/ionic/{p-9dfbe98d.entry.js → p-e8916b04.entry.js} +1 -1
- package/dist/ionic/{p-dac1d4de.entry.js → p-f10f8f95.entry.js} +1 -1
- package/dist/types/components/gallery/gallery.d.ts +41 -8
- package/dist/types/components/gallery/test/utils.d.ts +2 -1
- package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
- package/dist/types/components/select/select-interface.d.ts +0 -8
- package/dist/types/components/select-option/select-option.d.ts +0 -32
- package/dist/types/components.d.ts +33 -18
- package/dist/types/utils/sanitization/index.d.ts +2 -54
- package/dist/types/utils/select-option-render.d.ts +0 -31
- package/hydrate/index.js +380 -645
- package/hydrate/index.mjs +380 -645
- package/package.json +1 -1
- package/components/p-BP_TU_4l.js +0 -4
- package/components/p-BqTwa6uT.js +0 -4
- package/components/p-Bxiu1dAN.js +0 -4
- package/components/p-C91NnY87.js +0 -4
- package/components/p-CODBQrPj.js +0 -4
- package/components/p-GElQZ38c.js +0 -4
- package/components/p-WdrzoonY.js +0 -4
- package/components/p-h64_gZrH.js +0 -4
- package/components/p-sehKq5RI.js +0 -4
- package/dist/cjs/index-Dm4Dm7Vg.js +0 -414
- package/dist/cjs/overlay-control-label-DnRLQR1t.js +0 -52
- package/dist/cjs/select-option-render-DQyZnlF5.js +0 -116
- package/dist/collection/utils/overlay-control-label.js +0 -47
- package/dist/esm/index-Bmyj8b0z.js +0 -409
- package/dist/esm/overlay-control-label-CODBQrPj.js +0 -49
- package/dist/esm/select-option-render-QGJ9tZHa.js +0 -114
- package/dist/ionic/p-18ed37e3.entry.js +0 -4
- package/dist/ionic/p-2049aa81.entry.js +0 -4
- package/dist/ionic/p-290778c1.entry.js +0 -4
- package/dist/ionic/p-2aa7567e.entry.js +0 -4
- package/dist/ionic/p-2e7e3da1.entry.js +0 -4
- package/dist/ionic/p-CODBQrPj.js +0 -4
- package/dist/ionic/p-CxRK9GyE.js +0 -4
- package/dist/ionic/p-NqPMS7BP.js +0 -4
- package/dist/ionic/p-c94fbdab.entry.js +0 -4
- package/dist/ionic/p-e89848b2.entry.js +0 -4
- package/dist/ionic/p-ff09d2a5.entry.js +0 -4
- package/dist/types/utils/overlay-control-label.d.ts +0 -34
|
@@ -10,13 +10,12 @@ import { c as checkInvalidState } from './validity-BjW8SOqw.js';
|
|
|
10
10
|
import { b as inheritAttributes, a as renderHiddenInput, o as focusVisibleElement } from './helpers-Do7zwvM1.js';
|
|
11
11
|
import { c as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-CpQ6Df2g.js';
|
|
12
12
|
import { i as isRTL } from './dir-C53feagD.js';
|
|
13
|
-
import {
|
|
13
|
+
import { s as sanitizeDOMString } from './index-D4ugF_sT.js';
|
|
14
14
|
import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-DaJxRxSQ.js';
|
|
15
15
|
import { w as watchForOptions } from './watch-options-Dtdm8lKC.js';
|
|
16
16
|
import { p as caretDownSharp, w as chevronExpand } from './index-D2tu5BUg.js';
|
|
17
17
|
import { c as getIonTheme } from './ionic-global--9mOmThr.js';
|
|
18
|
-
import {
|
|
19
|
-
import { r as renderOptionLabel } from './select-option-render-QGJ9tZHa.js';
|
|
18
|
+
import { r as renderOptionLabel } from './select-option-render-B2qc5ZP7.js';
|
|
20
19
|
import './focus-visible-vXpMhGrs.js';
|
|
21
20
|
import './framework-delegate-CjVwn_KZ.js';
|
|
22
21
|
import './gesture-controller-BTEOs1at.js';
|
|
@@ -411,12 +410,15 @@ const Select = class {
|
|
|
411
410
|
.join(' ');
|
|
412
411
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
413
412
|
const isSelected = isOptionSelected(selectValue, value, this.compareWith);
|
|
414
|
-
const
|
|
413
|
+
const text = this.customHTMLEnabled ? getOptionContent(option) : getDefaultSlotPlainText(option);
|
|
414
|
+
const startContent = this.customHTMLEnabled
|
|
415
|
+
? getOptionContent(option, 'start')
|
|
416
|
+
: undefined;
|
|
417
|
+
const endContent = this.customHTMLEnabled ? getOptionContent(option, 'end') : undefined;
|
|
415
418
|
return {
|
|
416
419
|
role: isSelected ? 'selected' : '',
|
|
417
|
-
text:
|
|
420
|
+
text: text !== null && text !== void 0 ? text : '',
|
|
418
421
|
cssClass: optClass,
|
|
419
|
-
disabled: option.disabled,
|
|
420
422
|
handler: () => {
|
|
421
423
|
this.setValue(value);
|
|
422
424
|
},
|
|
@@ -424,8 +426,8 @@ const Select = class {
|
|
|
424
426
|
'aria-checked': isSelected ? 'true' : 'false',
|
|
425
427
|
role: 'radio',
|
|
426
428
|
},
|
|
427
|
-
startContent,
|
|
428
|
-
endContent,
|
|
429
|
+
startContent: startContent !== null && startContent !== void 0 ? startContent : undefined,
|
|
430
|
+
endContent: endContent !== null && endContent !== void 0 ? endContent : undefined,
|
|
429
431
|
description: option.description,
|
|
430
432
|
};
|
|
431
433
|
});
|
|
@@ -447,19 +449,21 @@ const Select = class {
|
|
|
447
449
|
.filter((cls) => cls !== 'hydrated')
|
|
448
450
|
.join(' ');
|
|
449
451
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
450
|
-
const
|
|
452
|
+
const label = this.customHTMLEnabled ? getOptionContent(option) : getDefaultSlotPlainText(option);
|
|
453
|
+
const startContent = this.customHTMLEnabled
|
|
454
|
+
? getOptionContent(option, 'start')
|
|
455
|
+
: undefined;
|
|
456
|
+
const endContent = this.customHTMLEnabled ? getOptionContent(option, 'end') : undefined;
|
|
451
457
|
return {
|
|
452
458
|
type: inputType,
|
|
453
459
|
cssClass: optClass,
|
|
454
|
-
label:
|
|
460
|
+
label: label !== null && label !== void 0 ? label : '',
|
|
455
461
|
value,
|
|
456
462
|
checked: isOptionSelected(selectValue, value, this.compareWith),
|
|
457
463
|
disabled: option.disabled,
|
|
458
|
-
startContent,
|
|
459
|
-
endContent,
|
|
464
|
+
startContent: startContent !== null && startContent !== void 0 ? startContent : undefined,
|
|
465
|
+
endContent: endContent !== null && endContent !== void 0 ? endContent : undefined,
|
|
460
466
|
description: option.description,
|
|
461
|
-
labelPlacement: option.labelPlacement,
|
|
462
|
-
justify: option.justify,
|
|
463
467
|
};
|
|
464
468
|
});
|
|
465
469
|
return alertInputs;
|
|
@@ -472,9 +476,13 @@ const Select = class {
|
|
|
472
476
|
.filter((cls) => cls !== 'hydrated')
|
|
473
477
|
.join(' ');
|
|
474
478
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
475
|
-
const
|
|
479
|
+
const text = this.customHTMLEnabled ? getOptionContent(option) : getDefaultSlotPlainText(option);
|
|
480
|
+
const startContent = this.customHTMLEnabled
|
|
481
|
+
? getOptionContent(option, 'start')
|
|
482
|
+
: undefined;
|
|
483
|
+
const endContent = this.customHTMLEnabled ? getOptionContent(option, 'end') : undefined;
|
|
476
484
|
return {
|
|
477
|
-
text:
|
|
485
|
+
text: text !== null && text !== void 0 ? text : '',
|
|
478
486
|
cssClass: optClass,
|
|
479
487
|
value,
|
|
480
488
|
checked: isOptionSelected(selectValue, value, this.compareWith),
|
|
@@ -485,11 +493,9 @@ const Select = class {
|
|
|
485
493
|
this.close();
|
|
486
494
|
}
|
|
487
495
|
},
|
|
488
|
-
startContent,
|
|
489
|
-
endContent,
|
|
496
|
+
startContent: startContent !== null && startContent !== void 0 ? startContent : undefined,
|
|
497
|
+
endContent: endContent !== null && endContent !== void 0 ? endContent : undefined,
|
|
490
498
|
description: option.description,
|
|
491
|
-
labelPlacement: option.labelPlacement,
|
|
492
|
-
justify: option.justify,
|
|
493
499
|
};
|
|
494
500
|
});
|
|
495
501
|
return popoverOptions;
|
|
@@ -947,7 +953,7 @@ const Select = class {
|
|
|
947
953
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
948
954
|
*/
|
|
949
955
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
950
|
-
return (h(Host, { key: '
|
|
956
|
+
return (h(Host, { key: 'c8fc8ffc5e66fa0deef9556f365d8d95ff652b5d', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
951
957
|
[theme]: true,
|
|
952
958
|
'in-item': inItem,
|
|
953
959
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -966,7 +972,7 @@ const Select = class {
|
|
|
966
972
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
967
973
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
968
974
|
[`select-size-${size}`]: size !== undefined,
|
|
969
|
-
}) }, h("label", { key: '
|
|
975
|
+
}) }, h("label", { key: 'dd1b83a6bfadcce8e8a9559e529c86d86a5c142d', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: 'c7ae6112920eb9260be01ef4a723549a71e6e275', class: "select-wrapper-inner", part: "inner" },
|
|
970
976
|
/**
|
|
971
977
|
* For the ionic theme, we render the outline container here
|
|
972
978
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -976,7 +982,7 @@ const Select = class {
|
|
|
976
982
|
* <label> element, ensuring that clicking the label text
|
|
977
983
|
* focuses the select.
|
|
978
984
|
*/
|
|
979
|
-
theme === 'ionic' && fill === 'outline' && h("div", { key: '
|
|
985
|
+
theme === 'ionic' && fill === 'outline' && h("div", { key: 'da07a6cea39e13cc62de7104ef4c06ac8b3c8fe1', class: "select-outline" }), h("slot", { key: '35c4261e4eb3f5d91e8fe61e02cfe3d93a2c6763', name: "start" }), h("div", { key: 'e70c2896f0c7ad908811f5eb19abde9a432d086e', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'ddb79446bfc9dc97714c0395570d67ce6a5aa1bf', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '297abbcf88af9911c6ecbbb27e2f37846f213bdb', class: "select-highlight" })), this.renderBottomContent()));
|
|
980
986
|
}
|
|
981
987
|
get el() { return getElement(this); }
|
|
982
988
|
static get watchers() { return {
|
|
@@ -1111,15 +1117,8 @@ const getOptionContent = (option, slotName, useHTML = false) => {
|
|
|
1111
1117
|
const defaultSlot = getOptionDefaultSlot(option) || [];
|
|
1112
1118
|
nodes = defaultSlot.filter((node) => {
|
|
1113
1119
|
var _a;
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
* markup elements). Element nodes are always kept, even when
|
|
1117
|
-
* their textContent is empty (e.g. <svg>, <img>).
|
|
1118
|
-
*/
|
|
1119
|
-
if (node.nodeType === Node.TEXT_NODE) {
|
|
1120
|
-
return ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim().length) !== 0;
|
|
1121
|
-
}
|
|
1122
|
-
return true;
|
|
1120
|
+
// Exclude whitespace-only text nodes to prevent empty container returns
|
|
1121
|
+
return ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim().length) !== 0;
|
|
1123
1122
|
});
|
|
1124
1123
|
}
|
|
1125
1124
|
if (nodes.length === 0) {
|
|
@@ -1129,17 +1128,6 @@ const getOptionContent = (option, slotName, useHTML = false) => {
|
|
|
1129
1128
|
if (!slotName && nodes.every((n) => n.nodeType === Node.TEXT_NODE)) {
|
|
1130
1129
|
return nodes.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); }).join(' ') || null;
|
|
1131
1130
|
}
|
|
1132
|
-
/**
|
|
1133
|
-
* Mirror known custom-element properties (e.g. ion-icon's `icon`)
|
|
1134
|
-
* onto attributes before cloning. Frameworks like Vue set these as
|
|
1135
|
-
* DOM properties, which `cloneNode` doesn't copy, so without this
|
|
1136
|
-
* step the cloned overlay copy renders without the prop's value.
|
|
1137
|
-
*/
|
|
1138
|
-
nodes.forEach((n) => {
|
|
1139
|
-
if (n.nodeType === Node.ELEMENT_NODE) {
|
|
1140
|
-
reflectPropertiesToAttributes(n);
|
|
1141
|
-
}
|
|
1142
|
-
});
|
|
1143
1131
|
// Clone each node into a temporary container
|
|
1144
1132
|
const container = document.createElement('div');
|
|
1145
1133
|
nodes.forEach((n) => {
|
|
@@ -1153,15 +1141,10 @@ const getOptionContent = (option, slotName, useHTML = false) => {
|
|
|
1153
1141
|
}
|
|
1154
1142
|
container.appendChild(clone);
|
|
1155
1143
|
});
|
|
1156
|
-
/**
|
|
1157
|
-
* Sanitize the cloned DOM in place. Trusted attributes (size, color,
|
|
1158
|
-
* shape, etc.) are preserved; event handlers, javascript: URLs, and
|
|
1159
|
-
* blocked tags are stripped.
|
|
1160
|
-
*/
|
|
1161
|
-
sanitizeDOMTree(container);
|
|
1162
1144
|
if (useHTML) {
|
|
1163
|
-
return container.innerHTML.trim() || null;
|
|
1145
|
+
return sanitizeDOMString(container.innerHTML.trim()) || null;
|
|
1164
1146
|
}
|
|
1147
|
+
// Already sanitized through `renderOptionLabel`
|
|
1165
1148
|
return container;
|
|
1166
1149
|
};
|
|
1167
1150
|
/**
|
|
@@ -1201,30 +1184,6 @@ const getDefaultSlotPlainText = (option) => {
|
|
|
1201
1184
|
.filter((t) => t);
|
|
1202
1185
|
return texts.join(' ');
|
|
1203
1186
|
};
|
|
1204
|
-
/**
|
|
1205
|
-
* Extracts the rich content from an `ion-select-option`.
|
|
1206
|
-
* When `customHTMLEnabled` is `false`, only the plain text from the
|
|
1207
|
-
* default slot is read and the start and end slots are skipped.
|
|
1208
|
-
*
|
|
1209
|
-
* @param option - The `ion-select-option` element to extract content from.
|
|
1210
|
-
* @param customHTMLEnabled - Whether custom HTML rendering is enabled
|
|
1211
|
-
* via the `innerHTMLTemplatesEnabled` config.
|
|
1212
|
-
*/
|
|
1213
|
-
const extractOptionContent = (option, customHTMLEnabled) => {
|
|
1214
|
-
var _a, _b;
|
|
1215
|
-
if (!customHTMLEnabled) {
|
|
1216
|
-
return {
|
|
1217
|
-
content: getDefaultSlotPlainText(option),
|
|
1218
|
-
startContent: undefined,
|
|
1219
|
-
endContent: undefined,
|
|
1220
|
-
};
|
|
1221
|
-
}
|
|
1222
|
-
return {
|
|
1223
|
-
content: getOptionContent(option),
|
|
1224
|
-
startContent: (_a = getOptionContent(option, 'start')) !== null && _a !== void 0 ? _a : undefined,
|
|
1225
|
-
endContent: (_b = getOptionContent(option, 'end')) !== null && _b !== void 0 ? _b : undefined,
|
|
1226
|
-
};
|
|
1227
|
-
};
|
|
1228
1187
|
let selectIds = 0;
|
|
1229
1188
|
const OPTION_CLASS = 'select-interface-option';
|
|
1230
1189
|
Select.style = {
|
|
@@ -1246,7 +1205,7 @@ const SelectOption = class {
|
|
|
1246
1205
|
}
|
|
1247
1206
|
render() {
|
|
1248
1207
|
const theme = getIonTheme(this);
|
|
1249
|
-
return (h(Host, { key: '
|
|
1208
|
+
return (h(Host, { key: 'd7baa96e166b66c8f14c97e56674db4dfec2152c', class: {
|
|
1250
1209
|
[theme]: true,
|
|
1251
1210
|
}, role: "option", id: this.inputId }));
|
|
1252
1211
|
}
|
|
@@ -1255,11 +1214,11 @@ const SelectOption = class {
|
|
|
1255
1214
|
let selectOptionIds = 0;
|
|
1256
1215
|
SelectOption.style = selectOptionCss();
|
|
1257
1216
|
|
|
1258
|
-
const selectPopoverIonicCss = () => `.
|
|
1217
|
+
const selectPopoverIonicCss = () => `.sc-ion-select-popover-ionic-h ion-list.sc-ion-select-popover-ionic{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ionic,ion-label.sc-ion-select-popover-ionic{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ionic-h{overflow-y:auto}.select-option-label.sc-ion-select-popover-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.select-option-label-text.sc-ion-select-popover-ionic{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.select-option-description.sc-ion-select-popover-ionic{display:block}.sc-ion-select-popover-ionic-h ion-list.sc-ion-select-popover-ionic{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ionic,ion-label.sc-ion-select-popover-ionic{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ionic-h{overflow-y:auto}.select-option-label.sc-ion-select-popover-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.select-option-label-text.sc-ion-select-popover-ionic{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.select-option-description.sc-ion-select-popover-ionic{display:block}.select-option-label.sc-ion-select-popover-ionic{gap:12px}.select-option-description.sc-ion-select-popover-ionic{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}ion-list.sc-ion-select-popover-ionic ion-radio.sc-ion-select-popover-ionic::part(container),ion-list.sc-ion-select-popover-ionic ion-radio.sc-ion-select-popover-ionic [part~="container"]{display:none}ion-list.sc-ion-select-popover-ionic ion-radio.sc-ion-select-popover-ionic::part(label),ion-list.sc-ion-select-popover-ionic ion-radio.sc-ion-select-popover-ionic [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-popover-ionic{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-ionic{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-ionic{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}.select-option-label.sc-ion-select-popover-ionic{gap:var(--token-space-300, var(--token-scale-300, 12px))}.select-option-description.sc-ion-select-popover-ionic{font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-regular, 400);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--token-text-subtle, var(--token-primitives-neutral-1000, #3b3b3b));font-size:var(--token-font-size-350, 0.875rem)}`;
|
|
1259
1218
|
|
|
1260
|
-
const selectPopoverIosCss = () => `.
|
|
1219
|
+
const selectPopoverIosCss = () => `.sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ios-h{overflow-y:auto}.select-option-label.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.select-option-label-text.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.select-option-description.sc-ion-select-popover-ios{display:block}.select-option-label.sc-ion-select-popover-ios{gap:12px}.select-option-description.sc-ion-select-popover-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}`;
|
|
1261
1220
|
|
|
1262
|
-
const selectPopoverMdCss = () => `.
|
|
1221
|
+
const selectPopoverMdCss = () => `.sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-md-h{overflow-y:auto}.select-option-label.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.select-option-label-text.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.select-option-description.sc-ion-select-popover-md{display:block}.select-option-label.sc-ion-select-popover-md{gap:12px}.select-option-description.sc-ion-select-popover-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="container"]{display:none}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(label),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
|
|
1263
1222
|
|
|
1264
1223
|
const SelectPopover = class {
|
|
1265
1224
|
constructor(hostRef) {
|
|
@@ -1330,9 +1289,7 @@ const SelectPopover = class {
|
|
|
1330
1289
|
}
|
|
1331
1290
|
}
|
|
1332
1291
|
renderCheckboxOptions(options) {
|
|
1333
|
-
const theme = getIonTheme(this);
|
|
1334
1292
|
return options.map((option, index) => {
|
|
1335
|
-
var _a, _b;
|
|
1336
1293
|
/**
|
|
1337
1294
|
* Cast to `SelectOverlayOption` to access rich content
|
|
1338
1295
|
* fields (`startContent`, `endContent`, `description`)
|
|
@@ -1340,7 +1297,6 @@ const SelectPopover = class {
|
|
|
1340
1297
|
* part of the public `SelectPopoverOption` interface.
|
|
1341
1298
|
*/
|
|
1342
1299
|
const richOption = option;
|
|
1343
|
-
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
1344
1300
|
const optionLabelOptions = {
|
|
1345
1301
|
id: `popover-option-${index}`,
|
|
1346
1302
|
label: richOption.text,
|
|
@@ -1348,17 +1304,10 @@ const SelectPopover = class {
|
|
|
1348
1304
|
endContent: richOption.endContent,
|
|
1349
1305
|
description: richOption.description,
|
|
1350
1306
|
};
|
|
1351
|
-
|
|
1352
|
-
const defaultJustify = getOverlayLabelJustify(theme, 'checkbox');
|
|
1353
|
-
return (h("ion-item", {
|
|
1354
|
-
// TODO FW-4784
|
|
1355
|
-
disabled: option.disabled, class: Object.assign({
|
|
1307
|
+
return (h("ion-item", { class: Object.assign({
|
|
1356
1308
|
// TODO FW-4784
|
|
1357
1309
|
'item-checkbox-checked': option.checked
|
|
1358
|
-
}, getClassMap(option.cssClass))
|
|
1359
|
-
}, h("ion-checkbox", { class: {
|
|
1360
|
-
'select-option-has-rich-content': hasRichContent,
|
|
1361
|
-
}, value: option.value, disabled: option.disabled, checked: option.checked, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : defaultJustify, labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : defaultLabelPlacement, onIonChange: (ev) => {
|
|
1310
|
+
}, getClassMap(option.cssClass)) }, h("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
|
|
1362
1311
|
this.setChecked(ev);
|
|
1363
1312
|
this.callOptionHandler(ev);
|
|
1364
1313
|
// TODO FW-4784
|
|
@@ -1367,10 +1316,8 @@ const SelectPopover = class {
|
|
|
1367
1316
|
});
|
|
1368
1317
|
}
|
|
1369
1318
|
renderRadioOptions(options) {
|
|
1370
|
-
const theme = getIonTheme(this);
|
|
1371
1319
|
const checked = options.filter((o) => o.checked).map((o) => o.value)[0];
|
|
1372
1320
|
return (h("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option, index) => {
|
|
1373
|
-
var _a, _b;
|
|
1374
1321
|
/**
|
|
1375
1322
|
* Cast to `SelectOverlayOption` to access rich content
|
|
1376
1323
|
* fields (`startContent`, `endContent`, `description`)
|
|
@@ -1378,7 +1325,6 @@ const SelectPopover = class {
|
|
|
1378
1325
|
* part of the public `SelectPopoverOption` interface.
|
|
1379
1326
|
*/
|
|
1380
1327
|
const richOption = option;
|
|
1381
|
-
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
1382
1328
|
const optionLabelOptions = {
|
|
1383
1329
|
id: `popover-option-${index}`,
|
|
1384
1330
|
label: richOption.text,
|
|
@@ -1386,15 +1332,10 @@ const SelectPopover = class {
|
|
|
1386
1332
|
endContent: richOption.endContent,
|
|
1387
1333
|
description: richOption.description,
|
|
1388
1334
|
};
|
|
1389
|
-
return (h("ion-item", {
|
|
1390
|
-
// TODO FW-4784
|
|
1391
|
-
disabled: option.disabled, class: Object.assign({
|
|
1335
|
+
return (h("ion-item", { class: Object.assign({
|
|
1392
1336
|
// TODO FW-4784
|
|
1393
1337
|
'item-radio-checked': option.value === checked
|
|
1394
|
-
}, getClassMap(option.cssClass))
|
|
1395
|
-
}, h("ion-radio", { class: {
|
|
1396
|
-
'select-option-has-rich-content': hasRichContent,
|
|
1397
|
-
}, value: option.value, disabled: option.disabled, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : getOverlayLabelJustify(theme, 'radio'), labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : getOverlayLabelPlacement(theme, 'radio'), onClick: () => this.dismissParentPopover(), onKeyDown: (ev) => {
|
|
1338
|
+
}, getClassMap(option.cssClass)) }, h("ion-radio", { value: option.value, disabled: option.disabled, onClick: () => this.dismissParentPopover(), onKeyDown: (ev) => {
|
|
1398
1339
|
if (ev.key === 'Enter' && !ev.repeat) {
|
|
1399
1340
|
this.pendingEnterTarget = ev.currentTarget;
|
|
1400
1341
|
}
|
|
@@ -1417,9 +1358,9 @@ const SelectPopover = class {
|
|
|
1417
1358
|
const { header, message, options, subHeader } = this;
|
|
1418
1359
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
1419
1360
|
const theme = getIonTheme(this);
|
|
1420
|
-
return (h(Host, { key: '
|
|
1361
|
+
return (h(Host, { key: '47062077a192fb05f662f30c68e9c12323a69e47', class: {
|
|
1421
1362
|
[theme]: true,
|
|
1422
|
-
} }, h("ion-list", { key: '
|
|
1363
|
+
} }, h("ion-list", { key: '50caf4e5f70d1d7b57256f115c589d90d9cea627' }, header !== undefined && h("ion-list-header", { key: '3401a27174b687632836f086f1a367214021358c' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '7271f08cd8bae5383bb502d9411d60a5458e18f6' }, h("ion-label", { key: 'e22c6c54f725e3fc630eed38a71afd4bb474b357', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'c0ca32ef8100d6aaa3aa2279ed1216bdb6a60b89' }, subHeader), message !== undefined && h("p", { key: '8e2e0b248a05f5483e62db8d608310078040767c' }, message)))), this.renderOptions(options))));
|
|
1423
1364
|
}
|
|
1424
1365
|
get el() { return getElement(this); }
|
|
1425
1366
|
};
|
|
@@ -59,7 +59,7 @@ const Spinner = class {
|
|
|
59
59
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
return (h(Host, { key: '
|
|
62
|
+
return (h(Host, { key: 'b6559d1626b56a1c63580862263a15798f7d3f71', class: createColorClasses(self.color, {
|
|
63
63
|
[theme]: true,
|
|
64
64
|
[`spinner-${spinnerName}`]: true,
|
|
65
65
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -129,12 +129,12 @@ const SplitPane = class {
|
|
|
129
129
|
}
|
|
130
130
|
render() {
|
|
131
131
|
const theme = getIonTheme(this);
|
|
132
|
-
return (h(Host, { key: '
|
|
132
|
+
return (h(Host, { key: 'b933156f8f9d8ce418ff0d39526967f9653d6639', class: {
|
|
133
133
|
[theme]: true,
|
|
134
134
|
// Used internally for styling
|
|
135
135
|
[`split-pane-${theme}`]: true,
|
|
136
136
|
'split-pane-visible': this.visible,
|
|
137
|
-
} }, h("slot", { key: '
|
|
137
|
+
} }, h("slot", { key: '3ec0a11e5506386747dc972ccb094359ca975bae' })));
|
|
138
138
|
}
|
|
139
139
|
get el() { return getElement(this); }
|
|
140
140
|
static get watchers() { return {
|
|
@@ -189,7 +189,7 @@ const TabBar = class {
|
|
|
189
189
|
const theme = getIonTheme(this);
|
|
190
190
|
const shape = this.getShape();
|
|
191
191
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
192
|
-
return (h(Host, { key: '
|
|
192
|
+
return (h(Host, { key: '16cd11a815d777a7517150b49b57a204c83c3c37', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
|
|
193
193
|
[theme]: true,
|
|
194
194
|
'tab-bar-translucent': translucent,
|
|
195
195
|
'tab-bar-hidden': shouldHide,
|
|
@@ -197,7 +197,7 @@ const TabBar = class {
|
|
|
197
197
|
'tab-bar-scroll-hidden': scrollHidden,
|
|
198
198
|
[`tab-bar-${expand}`]: true,
|
|
199
199
|
[`tab-bar-${shape}`]: shape !== undefined,
|
|
200
|
-
}) }, h("slot", { key: '
|
|
200
|
+
}) }, h("slot", { key: 'dfdff308f24b3addaf18528a8d869b3fc64306d1' })));
|
|
201
201
|
}
|
|
202
202
|
get el() { return getElement(this); }
|
|
203
203
|
static get watchers() { return {
|
|
@@ -302,7 +302,7 @@ const TabButton = class {
|
|
|
302
302
|
rel,
|
|
303
303
|
target,
|
|
304
304
|
};
|
|
305
|
-
return (h(Host, { key: '
|
|
305
|
+
return (h(Host, { key: 'e4d3aaefcdc42677f7818c51ec1ec0a9cbcf8bcf', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
306
306
|
[theme]: true,
|
|
307
307
|
'tab-selected': selected,
|
|
308
308
|
'tab-disabled': disabled,
|
|
@@ -315,7 +315,7 @@ const TabButton = class {
|
|
|
315
315
|
'ion-selectable': true,
|
|
316
316
|
[`tab-button-shape-${shape}`]: shape !== undefined,
|
|
317
317
|
'ion-focusable': true,
|
|
318
|
-
} }, h("a", Object.assign({ key: '
|
|
318
|
+
} }, h("a", Object.assign({ key: '1412d080294dd2602696c5657c71553ef35036d3' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: '5daebf815b9b4f8016ce5b4b9d05148c1957a46c', class: "button-inner" }, h("slot", { key: 'e1cbabb911936d21d5b1a4f87d236b962beacbab' })), theme === 'md' && h("ion-ripple-effect", { key: 'd4544a7fb87b8559aaf9d2f0aa4d440201ebdb71', type: "unbounded" }))));
|
|
319
319
|
}
|
|
320
320
|
get el() { return getElement(this); }
|
|
321
321
|
};
|
|
@@ -44,10 +44,10 @@ const Tab = class {
|
|
|
44
44
|
}
|
|
45
45
|
render() {
|
|
46
46
|
const { tab, active, component } = this;
|
|
47
|
-
return (h(Host, { key: '
|
|
47
|
+
return (h(Host, { key: '8b978f848d43898feafa7daa3e3d9819be833038', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
48
48
|
'ion-page': component === undefined,
|
|
49
49
|
'tab-hidden': !active,
|
|
50
|
-
} }, h("slot", { key: '
|
|
50
|
+
} }, h("slot", { key: '96a92d86cecc8c9ef4f11d310f7f87bb99ce4e50' })));
|
|
51
51
|
}
|
|
52
52
|
get el() { return getElement(this); }
|
|
53
53
|
static get watchers() { return {
|
|
@@ -218,7 +218,7 @@ const Tabs = class {
|
|
|
218
218
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
219
219
|
}
|
|
220
220
|
render() {
|
|
221
|
-
return (h(Host, { key: '
|
|
221
|
+
return (h(Host, { key: 'b8c5c75469cb1f1829a217a02555a7da8556454a', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '50b74e3df8ea0e991e096c7438a65fee0ca0f6b5', name: "top" }), h("div", { key: 'ca8d4329381c4b40882bbd31b4f15264cfa2c220', class: "tabs-inner" }, h("slot", { key: '816ffd6d997530e3b100480c9a8e4a51fa51e59c' })), h("slot", { key: '280bdf5ec61789823c7772287d60a26229fe78fa', name: "bottom" })));
|
|
222
222
|
}
|
|
223
223
|
get el() { return getElement(this); }
|
|
224
224
|
};
|
|
@@ -13,9 +13,9 @@ const Text = class {
|
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
15
|
const theme = getIonTheme(this);
|
|
16
|
-
return (h(Host, { key: '
|
|
16
|
+
return (h(Host, { key: '8fc5565ce579f8e2a9eddbaa7c93264291080bce', class: createColorClasses(this.color, {
|
|
17
17
|
[theme]: true,
|
|
18
|
-
}) }, h("slot", { key: '
|
|
18
|
+
}) }, h("slot", { key: '5be1d661ee3a6f1f9d9428b59e830672faf475b1' })));
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
21
|
Text.style = textCss();
|
|
@@ -567,7 +567,7 @@ const Textarea = class {
|
|
|
567
567
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
568
568
|
*/
|
|
569
569
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
570
|
-
return (h(Host, { key: '
|
|
570
|
+
return (h(Host, { key: 'a67ef5f3107776dcd8490bdd2af4a373ae422899', class: createColorClasses(this.color, {
|
|
571
571
|
[theme]: true,
|
|
572
572
|
'has-value': hasValue,
|
|
573
573
|
'has-focus': hasFocus,
|
|
@@ -579,7 +579,7 @@ const Textarea = class {
|
|
|
579
579
|
'in-item': inItem,
|
|
580
580
|
'textarea-disabled': disabled,
|
|
581
581
|
'textarea-readonly': readonly,
|
|
582
|
-
}) }, h("label", { key: '
|
|
582
|
+
}) }, h("label", { key: '7a8605454eb66d87a4b49ffd28e609a633eae09c', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '8b24d96089d11f659dbd5adfcbf317ec34742333', class: "textarea-wrapper-inner" },
|
|
583
583
|
/**
|
|
584
584
|
* For the ionic theme, we render the outline container here
|
|
585
585
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -589,7 +589,7 @@ const Textarea = class {
|
|
|
589
589
|
* <label> element, ensuring that clicking the label text
|
|
590
590
|
* focuses the textarea.
|
|
591
591
|
*/
|
|
592
|
-
theme === 'ionic' && fill === 'outline' && h("div", { key: '
|
|
592
|
+
theme === 'ionic' && fill === 'outline' && h("div", { key: '91a7ea7b6f6fccc473b9e058281e5437c00a9b5d', class: "textarea-outline" }), h("div", { key: 'ba641e63d5aaf2ddb291c875f57181d1c93a2b26', class: "start-slot-wrapper" }, h("slot", { key: '351684d41a2b080541a29e0d9e90dd50747b52dc', name: "start" })), h("div", { key: '5c0793742ff6cc327582c3d78d85c28fa8238a40', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el), part: "container" }, h("textarea", Object.assign({ key: '9cf5c908e3fcd54af07c351dcf0bb91c853f1349', class: "native-textarea", part: "native", 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.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), h("div", { key: 'e47ffe0bf8e460a7cb205ed35a1107b44687116d', class: "end-slot-wrapper" }, h("slot", { key: '57d035b5f1db373b8488b129c8d3552eb8e630ac', name: "end" }))), shouldRenderHighlight && h("div", { key: '1259ad761b68aea69a1ae8b61a6bbdee6c071b7b', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
593
593
|
}
|
|
594
594
|
static get delegatesFocus() { return true; }
|
|
595
595
|
static get formAssociated() { return true; }
|
|
@@ -6,7 +6,7 @@ import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-BwKpO3Is.js';
|
|
|
6
6
|
import { g as getElementRoot, r as raf } from './helpers-Do7zwvM1.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-B-hirT0v.js';
|
|
8
8
|
import { O as OVERLAY_GESTURE_PRIORITY, d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall, G as GESTURE } from './overlays-CpQ6Df2g.js';
|
|
9
|
-
import { s as sanitizeDOMString } from './index-
|
|
9
|
+
import { s as sanitizeDOMString } from './index-D4ugF_sT.js';
|
|
10
10
|
import { c as createColorClasses, g as getClassMap } from './theme-DaJxRxSQ.js';
|
|
11
11
|
import { w as win, b as getIonMode, c as getIonTheme } from './ionic-global--9mOmThr.js';
|
|
12
12
|
import { c as createAnimation } from './animation-Cd1EA2ar.js';
|
|
@@ -872,9 +872,9 @@ const Toast = class {
|
|
|
872
872
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
873
873
|
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);
|
|
874
874
|
}
|
|
875
|
-
return (h(Host, Object.assign({ key: '
|
|
875
|
+
return (h(Host, Object.assign({ key: 'f0d62f099dd68f8f541110a60695c2a083c6a4d5', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
876
876
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
877
|
-
}, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '
|
|
877
|
+
}, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '054ba519f93892a000832990097b265887272da4', class: wrapperClass, part: "wrapper" }, h("div", { key: '45fa83c1711ab98e81b8b00e0af3af436eaa5264', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: 'eb4143899be5259e3d933461bc4ca593c8b9dd9b', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: 'bae8a899abb9bcd4895df45def79bfe3d704e6e4', class: "toast-content", part: "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')))));
|
|
878
878
|
}
|
|
879
879
|
get el() { return getElement(this); }
|
|
880
880
|
static get watchers() { return {
|
|
@@ -338,7 +338,7 @@ const Toggle = class {
|
|
|
338
338
|
const rtl = isRTL(el) ? 'rtl' : 'ltr';
|
|
339
339
|
const isIonicTheme = theme === 'ionic';
|
|
340
340
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
341
|
-
return (h(Host, { key: '
|
|
341
|
+
return (h(Host, { key: '9e042d48d2416028c4f76fbb38fa2b26ee7512ef', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {
|
|
342
342
|
[theme]: true,
|
|
343
343
|
'in-item': hostContext('ion-item', el),
|
|
344
344
|
'toggle-activated': activated,
|
|
@@ -350,10 +350,10 @@ const Toggle = class {
|
|
|
350
350
|
[`toggle-${rtl}`]: true,
|
|
351
351
|
'ion-activatable': isIonicTheme,
|
|
352
352
|
'ion-focusable': isIonicTheme,
|
|
353
|
-
}) }, h("label", { key: '
|
|
353
|
+
}) }, h("label", { key: 'f13b94af8f0b862b8390172107e75ef670fff34f', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: 'e6c82e4fc9fcc77ed52408a04188d5696521de0c', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), h("div", { key: '5f32f194da4f83792cccaa536a211b558c5eac1c', class: {
|
|
354
354
|
'label-text-wrapper': true,
|
|
355
355
|
'label-text-wrapper-hidden': !hasLabel,
|
|
356
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '
|
|
356
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: 'c86e28aca1011a3d5a453b92ddc8b6d1ab049f0b' }), this.renderHintText()), h("div", { key: '80390009e2a3d1ad699e1b698df725449c8fab53', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
357
357
|
}
|
|
358
358
|
get el() { return getElement(this); }
|
|
359
359
|
static get watchers() { return {
|