@ionic/core 8.8.20-dev.11787158518.168a2fea → 8.8.20-dev.11789504012.1a675914
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-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-divider.d.ts +11 -0
- package/components/ion-divider.js +4 -0
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-gallery-item.d.ts +11 -0
- package/components/ion-gallery-item.js +4 -0
- package/components/ion-gallery.d.ts +11 -0
- package/components/ion-gallery.js +4 -0
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.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-column.js +1 -1
- package/components/ion-picker-legacy-column.d.ts +11 -0
- package/components/ion-picker-legacy-column.js +4 -0
- package/components/ion-picker-legacy.d.ts +11 -0
- package/components/ion-picker-legacy.js +4 -0
- package/components/ion-picker.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-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.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-0MMiHJhx.js +4 -0
- package/components/p-0rXxxCTt.js +4 -0
- package/components/{p-DwpKZ6rl.js → p-B2SvA6NE.js} +1 -1
- package/components/p-B4GJERAm.js +4 -0
- package/components/p-B9_sPaDw.js +4 -0
- package/components/p-BE21dB_a.js +4 -0
- package/components/p-BJyeT56g.js +4 -0
- package/components/p-BTBa_wH7.js +4 -0
- package/components/p-BTEOs1at.js +4 -0
- package/components/p-BU8Blvqg.js +4 -0
- package/components/p-BXXTyrCp.js +4 -0
- package/components/p-BXjGM4gW.js +4 -0
- package/components/p-BXuZo5-p.js +4 -0
- package/components/p-BYRVyMu9.js +4 -0
- package/components/{p-ryyf_ItD.js → p-BZwQa9ey.js} +1 -1
- package/components/p-BZxBDeEU.js +4 -0
- package/components/p-BcWO94Sl.js +4 -0
- package/components/p-BjW8SOqw.js +4 -0
- package/components/p-Br6q6Rgq.js +4 -0
- package/components/p-BwKpO3Is.js +4 -0
- package/components/p-BwzRqsq1.js +4 -0
- package/components/p-C-cw-bM-.js +4 -0
- package/components/p-C0K6CGg9.js +4 -0
- package/components/p-C2J-Hvv3.js +4 -0
- package/components/p-C3ydXg9O.js +4 -0
- package/components/p-C5Bnq_Hm.js +4 -0
- package/components/p-C5JYXyPD.js +4 -0
- package/components/p-C898H5L0.js +4 -0
- package/components/p-C8kcgEG7.js +4 -0
- package/components/p-CEz0vNHD.js +4 -0
- package/components/p-CH8ypgvS.js +4 -0
- package/components/{p-CMLAwl_N.js → p-CKLXmqy1.js} +1 -1
- package/components/p-CMtmHGrE.js +4 -0
- package/components/p-CNlz8OTE.js +4 -0
- package/components/p-CODBQrPj.js +4 -0
- package/components/p-CToV3-ig.js +4 -0
- package/components/p-CV7PNBGr.js +4 -0
- package/components/p-CVYFPBs-.js +4 -0
- package/components/p-CgbD1udy.js +4 -0
- package/components/p-CjlmHeGM.js +4 -0
- package/components/p-ClTdIlic.js +4 -0
- package/components/p-CstXr-x9.js +4 -0
- package/components/{p-DzRT60Tw.js → p-Cu8FoYIJ.js} +1 -1
- package/components/p-CxhjkdQ_.js +4 -0
- package/components/p-D0Iqw6OZ.js +4 -0
- package/components/p-D12Xsfh7.js +4 -0
- package/components/p-DExJ63jR.js +4 -0
- package/components/p-DHvfufkW.js +4 -0
- package/components/p-DRUGmlKi.js +4 -0
- package/components/p-DYq-5riI.js +4 -0
- package/components/p-DaJxRxSQ.js +4 -0
- package/components/p-Db3A3kHi.js +4 -0
- package/components/p-Df6AAcu8.js +4 -0
- package/components/p-Dh1f5tAK.js +4 -0
- package/components/{p-63OhffQv.js → p-Di8NbWfs.js} +1 -1
- package/components/p-DqkLOArC.js +4 -0
- package/components/p-DriGEn08.js +4 -0
- package/components/p-DylrHLJF.js +4 -0
- package/components/p-WeNgVmOy.js +4 -0
- package/components/p-Wn4ujuPW.js +4 -0
- package/components/p-X6YgGSBf.js +4 -0
- package/components/p-dLA3JnNJ.js +4 -0
- package/components/p-eRqVSlkn.js +4 -0
- package/components/p-fUXE2zLc.js +4 -0
- package/components/p-o8OKV5aD.js +4 -0
- package/components/p-pztWcmzj.js +4 -0
- package/components/p-vXpMhGrs.js +4 -0
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic/bundle.ionic.css +1 -0
- package/css/ionic/bundle.ionic.css.map +1 -0
- package/css/ionic/core.ionic.css +1 -0
- package/css/ionic/core.ionic.css.map +1 -0
- package/css/ionic/global.bundle.ionic.css +1 -0
- package/css/ionic/global.bundle.ionic.css.map +1 -0
- package/css/ionic/ionic-swiper.ionic.css +1 -0
- package/css/ionic/ionic-swiper.ionic.css.map +1 -0
- package/css/ionic/link.ionic.css +1 -0
- package/css/ionic/link.ionic.css.map +1 -0
- package/css/ionic/structure.ionic.css +1 -0
- package/css/ionic/structure.ionic.css.map +1 -0
- package/css/ionic/typography.ionic.css +1 -0
- package/css/ionic/typography.ionic.css.map +1 -0
- package/css/ionic/utils.bundle.ionic.css +1 -0
- package/css/ionic/utils.bundle.ionic.css.map +1 -0
- package/css/ionic-swiper.css +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/normalize.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{animation-C0mOHzej.js → animation-CxRPIayb.js} +6 -6
- package/dist/cjs/{app-globals-BREG4twP.js → app-globals-BwvlV6g7.js} +1 -1
- package/dist/cjs/{button-active-CVMevT9a.js → button-active-qCQDwE2m.js} +3 -3
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CRl0exFC.js} +3 -3
- package/dist/cjs/clear-button-press-controller-C7B9kyMa.js +45 -0
- package/dist/cjs/{config-CjUbvdPW.js → config-DWdFbSNK.js} +4 -5
- package/dist/cjs/{dir-zwDPRE5K.js → dir-DD0jPVH3.js} +3 -2
- package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
- package/dist/cjs/{format-pp0Du3K-.js → format-COAsdjOc.js} +30 -40
- package/dist/cjs/{framework-delegate-Dfo5XsGv.js → framework-delegate-IvkF1VuM.js} +10 -6
- package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-dtqlP_q4.js} +8 -15
- package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-DG25gZzb.js} +4 -3
- package/dist/cjs/{helpers-YPQybDph.js → helpers-Dhimwhpn.js} +74 -7
- package/dist/cjs/{index-DwlRtFZe.js → index-BJ2-LydH.js} +3 -9
- package/dist/cjs/{index-zVCah4Uz.js → index-Bsq0SbXc.js} +2 -2
- package/dist/cjs/{index-uvry__L4.js → index-C1knGA9x.js} +65 -33
- package/dist/cjs/{index-wOmugbdg.js → index-CxDnX7hd.js} +2 -0
- package/dist/cjs/{index-DXsPSne6.js → index-DhDV4RxJ.js} +16 -15
- package/dist/cjs/{index-BLdJCcJY.js → index-DuleInoh.js} +5 -5
- package/dist/cjs/{index-B7zJsYWS.js → index-YYUVCfP-.js} +3 -3
- package/dist/cjs/{index-DDg31ZF5.js → index-yon1HGB7.js} +10 -9
- package/dist/cjs/index.cjs.js +18 -18
- package/dist/cjs/{input-shims-Cbu1fcye.js → input-shims-BgJcHtqI.js} +23 -20
- package/dist/cjs/input.utils--RmR5lVe.js +150 -0
- package/dist/cjs/ion-accordion_2.cjs.entry.js +376 -376
- package/dist/cjs/ion-action-sheet.cjs.entry.js +87 -179
- package/dist/cjs/ion-alert.cjs.entry.js +126 -251
- package/dist/cjs/ion-app_8.cjs.entry.js +608 -461
- package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -19
- package/dist/cjs/ion-back-button.cjs.entry.js +49 -65
- package/dist/cjs/ion-backdrop.cjs.entry.js +22 -23
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +157 -210
- package/dist/cjs/ion-button_2.cjs.entry.js +118 -153
- package/dist/cjs/ion-card_5.cjs.entry.js +80 -110
- package/dist/cjs/ion-checkbox.cjs.entry.js +134 -160
- package/dist/cjs/ion-chip.cjs.entry.js +56 -21
- package/dist/cjs/ion-col_3.cjs.entry.js +61 -186
- package/dist/cjs/ion-datetime-button.cjs.entry.js +248 -256
- package/dist/cjs/ion-datetime_3.cjs.entry.js +3210 -0
- package/dist/cjs/ion-divider.cjs.entry.js +51 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +109 -155
- package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
- package/dist/cjs/ion-gallery.cjs.entry.js +608 -0
- package/dist/cjs/ion-img.cjs.entry.js +17 -35
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +157 -109
- package/dist/cjs/ion-input-otp.cjs.entry.js +437 -435
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +54 -40
- package/dist/cjs/ion-input.cjs.entry.js +305 -351
- package/dist/cjs/ion-item-option_3.cjs.entry.js +512 -137
- package/dist/cjs/ion-item_8.cjs.entry.js +186 -218
- package/dist/cjs/ion-loading.cjs.entry.js +69 -152
- package/dist/cjs/ion-menu_3.cjs.entry.js +136 -182
- package/dist/cjs/ion-modal.cjs.entry.js +501 -571
- package/dist/cjs/ion-nav_2.cjs.entry.js +164 -104
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +40 -40
- package/dist/cjs/ion-picker-column.cjs.entry.js +410 -422
- package/dist/cjs/ion-picker.cjs.entry.js +401 -406
- package/dist/cjs/ion-popover.cjs.entry.js +212 -324
- package/dist/cjs/ion-progress-bar.cjs.entry.js +48 -36
- package/dist/cjs/ion-radio_2.cjs.entry.js +162 -217
- package/dist/cjs/ion-range.cjs.entry.js +251 -309
- package/dist/cjs/ion-refresher_2.cjs.entry.js +127 -175
- package/dist/cjs/ion-reorder_2.cjs.entry.js +47 -60
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +26 -18
- package/dist/cjs/ion-route_4.cjs.entry.js +76 -179
- package/dist/cjs/ion-searchbar.cjs.entry.js +305 -308
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +27 -28
- package/dist/cjs/ion-segment_2.cjs.entry.js +141 -177
- package/dist/cjs/ion-select-modal.cjs.entry.js +71 -50
- package/dist/cjs/ion-select_3.cjs.entry.js +416 -507
- package/dist/cjs/ion-spinner.cjs.entry.js +36 -28
- package/dist/cjs/ion-split-pane.cjs.entry.js +25 -34
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +180 -117
- package/dist/cjs/ion-tab_2.cjs.entry.js +30 -55
- package/dist/cjs/ion-text.cjs.entry.js +7 -13
- package/dist/cjs/ion-textarea.cjs.entry.js +310 -303
- package/dist/cjs/ion-toast.cjs.entry.js +170 -265
- package/dist/cjs/ion-toggle.cjs.entry.js +172 -184
- package/dist/cjs/ionic-global-DYLhJaw7.js +519 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-zTmJz8T-.js → ios.transition-Blgf-vZU.js} +21 -15
- package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-DKn76MYO.js} +1 -1
- package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-BgioTbwQ.js} +3 -3
- package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-Otnp8OQI.js} +5 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-nb_4pUXu.js → md.transition-ClgvbGfq.js} +11 -9
- package/dist/cjs/notch-controller-0hkmmSGo.js +155 -0
- package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
- package/dist/cjs/{overlays-KaNVDNqC.js → overlays-Bxjqh2m3.js} +336 -60
- package/dist/cjs/scroll-hide-controller-qWMU5yOk.js +345 -0
- package/dist/cjs/{select-option-render-pULCGldr.js → select-option-render-BqJEK1N1.js} +4 -3
- package/dist/cjs/{status-tap-o9IIymsP.js → status-tap-ClA8u57t.js} +5 -4
- package/dist/cjs/{swipe-back-B7X9VOlH.js → swipe-back-4vY7mi8i.js} +6 -5
- package/dist/cjs/{theme-Bw0rpaNN.js → theme-IlOsGAz7.js} +26 -7
- package/dist/cjs/validity-QmuwEptc.js +51 -0
- package/dist/collection/collection-manifest.json +13 -1
- package/dist/collection/components/accordion/accordion.ionic.css +201 -0
- package/dist/collection/components/accordion/accordion.ios.css +73 -58
- package/dist/collection/components/accordion/accordion.js +331 -324
- package/dist/collection/components/accordion/accordion.md.css +67 -59
- package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
- package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
- package/dist/collection/components/accordion-group/accordion-group.js +69 -56
- package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
- package/dist/collection/components/action-sheet/action-sheet.ionic.css +494 -0
- package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
- package/dist/collection/components/action-sheet/action-sheet.js +76 -166
- package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
- package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
- package/dist/collection/components/alert/alert.ionic.css +787 -0
- package/dist/collection/components/alert/alert.ios.css +247 -54
- package/dist/collection/components/alert/alert.js +113 -236
- package/dist/collection/components/alert/alert.md.css +243 -56
- package/dist/collection/components/app/app.js +15 -86
- package/dist/collection/components/avatar/avatar.ionic.css +385 -0
- package/dist/collection/components/avatar/avatar.ios.css +7 -33
- package/dist/collection/components/avatar/avatar.js +120 -4
- package/dist/collection/components/avatar/avatar.md.css +51 -0
- package/dist/collection/components/back-button/back-button.ios.css +60 -48
- package/dist/collection/components/back-button/back-button.js +45 -61
- package/dist/collection/components/back-button/back-button.md.css +60 -48
- package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
- package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
- package/dist/collection/components/backdrop/backdrop.js +26 -22
- package/dist/collection/components/backdrop/backdrop.md.css +56 -19
- package/dist/collection/components/badge/badge.ionic.css +272 -0
- package/dist/collection/components/badge/badge.ios.css +137 -12
- package/dist/collection/components/badge/badge.js +145 -15
- package/dist/collection/components/badge/badge.md.css +122 -12
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
- package/dist/collection/components/breadcrumb/breadcrumb.js +60 -99
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +99 -112
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
- package/dist/collection/components/button/button.ionic.css +644 -0
- package/dist/collection/components/button/button.ios.css +154 -46
- package/dist/collection/components/button/button.js +122 -157
- package/dist/collection/components/button/button.md.css +150 -50
- package/dist/collection/components/buttons/buttons.ionic.css +97 -0
- package/dist/collection/components/buttons/buttons.ios.css +59 -7
- package/dist/collection/components/buttons/buttons.js +29 -21
- package/dist/collection/components/buttons/buttons.md.css +55 -3
- package/dist/collection/components/card/card.ionic.css +144 -0
- package/dist/collection/components/card/card.ios.css +65 -14
- package/dist/collection/components/card/card.js +61 -63
- package/dist/collection/components/card/card.md.css +65 -14
- package/dist/collection/components/card-content/card-content.ionic.css +89 -0
- package/dist/collection/components/card-content/card-content.ios.css +20 -35
- package/dist/collection/components/card-content/card-content.js +12 -10
- package/dist/collection/components/card-content/card-content.md.css +20 -35
- package/dist/collection/components/card-header/card-header.ionic.css +85 -0
- package/dist/collection/components/card-header/card-header.ios.css +27 -15
- package/dist/collection/components/card-header/card-header.js +20 -21
- package/dist/collection/components/card-header/card-header.md.css +27 -15
- package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
- package/dist/collection/components/card-subtitle/card-subtitle.js +11 -14
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
- package/dist/collection/components/card-title/card-title.ios.css +73 -0
- package/dist/collection/components/card-title/card-title.js +11 -14
- package/dist/collection/components/card-title/card-title.md.css +73 -0
- package/dist/collection/components/checkbox/checkbox.ionic.css +536 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +246 -115
- package/dist/collection/components/checkbox/checkbox.js +172 -157
- package/dist/collection/components/checkbox/checkbox.md.css +247 -116
- package/dist/collection/components/chip/chip.ionic.css +217 -0
- package/dist/collection/components/chip/chip.ios.css +67 -14
- package/dist/collection/components/chip/chip.js +116 -20
- package/dist/collection/components/chip/chip.md.css +67 -14
- package/dist/collection/components/col/col.css +192 -4
- package/dist/collection/components/col/col.js +212 -186
- package/dist/collection/components/content/content.css +47 -2
- package/dist/collection/components/content/content.js +78 -102
- package/dist/collection/components/datetime/datetime.ionic.css +703 -0
- package/dist/collection/components/datetime/datetime.ios.css +304 -148
- package/dist/collection/components/datetime/datetime.js +900 -1090
- package/dist/collection/components/datetime/datetime.md.css +294 -138
- package/dist/collection/components/datetime/utils/data.js +19 -18
- package/dist/collection/components/datetime/utils/format.js +11 -21
- package/dist/collection/components/datetime/utils/manipulation.js +8 -8
- package/dist/collection/components/datetime/utils/parse.js +10 -10
- package/dist/collection/components/datetime/utils/state.js +2 -8
- package/dist/collection/components/datetime/utils/validate.js +5 -4
- package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -5
- package/dist/collection/components/datetime-button/datetime-button.js +246 -253
- package/dist/collection/components/datetime-button/datetime-button.md.css +6 -5
- package/dist/collection/components/divider/divider.ionic.css +148 -0
- package/dist/collection/components/divider/divider.ios.css +87 -0
- package/dist/collection/components/divider/divider.js +94 -0
- package/dist/collection/components/divider/divider.md.css +87 -0
- package/dist/collection/components/fab/fab.css +25 -1
- package/dist/collection/components/fab/fab.js +22 -25
- package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
- package/dist/collection/components/fab-button/fab-button.js +79 -117
- package/dist/collection/components/fab-button/fab-button.md.css +20 -8
- package/dist/collection/components/fab-list/fab-list.css +12 -0
- package/dist/collection/components/fab-list/fab-list.js +20 -15
- package/dist/collection/components/footer/footer-interface.js +1 -0
- package/dist/collection/components/footer/footer.ios.css +33 -6
- package/dist/collection/components/footer/footer.js +151 -65
- package/dist/collection/components/footer/footer.md.css +40 -0
- package/dist/collection/components/gallery/gallery-constants.js +12 -0
- package/dist/collection/components/gallery/gallery-interface.js +1 -0
- package/dist/collection/components/gallery/gallery.css +15 -0
- package/dist/collection/components/gallery/gallery.js +679 -0
- package/dist/collection/components/gallery/test/utils.js +100 -0
- package/dist/collection/components/gallery-item/gallery-item.css +49 -0
- package/dist/collection/components/gallery-item/gallery-item.js +99 -0
- package/dist/collection/components/grid/grid.css +12 -0
- package/dist/collection/components/grid/grid.js +15 -9
- package/dist/collection/components/header/header-interface.js +1 -0
- package/dist/collection/components/header/header.ionic.css +250 -0
- package/dist/collection/components/header/header.ios.css +178 -133
- package/dist/collection/components/header/header.js +202 -70
- package/dist/collection/components/header/header.md.css +199 -9
- package/dist/collection/components/header/header.utils.js +6 -13
- package/dist/collection/components/img/img.js +16 -34
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +164 -76
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +19 -30
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
- package/dist/collection/components/input/input.ionic.css +891 -0
- package/dist/collection/components/input/input.ios.css +247 -191
- package/dist/collection/components/input/input.js +333 -357
- package/dist/collection/components/input/input.md.css +234 -285
- package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
- package/dist/collection/components/input-otp/input-otp.js +437 -432
- package/dist/collection/components/input-otp/input-otp.md.css +105 -60
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +51 -36
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
- package/dist/collection/components/item/item.ionic.css +496 -0
- package/dist/collection/components/item/item.ios.css +120 -80
- package/dist/collection/components/item/item.js +98 -113
- package/dist/collection/components/item/item.md.css +131 -79
- package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
- package/dist/collection/components/item-divider/item-divider.js +21 -23
- package/dist/collection/components/item-divider/item-divider.md.css +18 -0
- package/dist/collection/components/item-group/item-group.ios.css +12 -0
- package/dist/collection/components/item-group/item-group.js +13 -7
- package/dist/collection/components/item-group/item-group.md.css +12 -0
- package/dist/collection/components/item-option/item-option.ionic.css +277 -0
- package/dist/collection/components/item-option/item-option.ios.css +136 -29
- package/dist/collection/components/item-option/item-option.js +92 -56
- package/dist/collection/components/item-option/item-option.md.css +136 -29
- package/dist/collection/components/item-options/item-options.ionic.css +221 -0
- package/dist/collection/components/item-options/item-options.ios.css +77 -34
- package/dist/collection/components/item-options/item-options.js +20 -17
- package/dist/collection/components/item-options/item-options.md.css +77 -34
- package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
- package/dist/collection/components/item-sliding/item-sliding.js +441 -61
- package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
- package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
- package/dist/collection/components/label/label.ios.css +18 -0
- package/dist/collection/components/label/label.js +15 -32
- package/dist/collection/components/label/label.md.css +18 -0
- package/dist/collection/components/list/list.ionic.css +212 -0
- package/dist/collection/components/list/list.ios.css +54 -14
- package/dist/collection/components/list/list.js +55 -19
- package/dist/collection/components/list/list.md.css +56 -16
- package/dist/collection/components/list-header/list-header.ionic.css +190 -0
- package/dist/collection/components/list-header/list-header.ios.css +82 -38
- package/dist/collection/components/list-header/list-header.js +11 -18
- package/dist/collection/components/list-header/list-header.md.css +82 -38
- package/dist/collection/components/loading/loading.ios.css +13 -1
- package/dist/collection/components/loading/loading.js +62 -143
- package/dist/collection/components/loading/loading.md.css +13 -1
- package/dist/collection/components/menu/menu.ios.css +15 -3
- package/dist/collection/components/menu/menu.js +71 -108
- package/dist/collection/components/menu/menu.md.css +15 -3
- package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
- package/dist/collection/components/menu-button/menu-button.js +43 -38
- package/dist/collection/components/menu-button/menu-button.md.css +49 -15
- package/dist/collection/components/menu-toggle/menu-toggle.js +21 -25
- package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
- package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
- package/dist/collection/components/modal/animations/ios.enter.js +1 -1
- package/dist/collection/components/modal/animations/md.enter.js +1 -1
- package/dist/collection/components/modal/animations/sheet.js +8 -2
- package/dist/collection/components/modal/gestures/sheet.js +86 -32
- package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -15
- package/dist/collection/components/modal/modal.ionic.css +255 -0
- package/dist/collection/components/modal/modal.ios.css +178 -70
- package/dist/collection/components/modal/modal.js +272 -404
- package/dist/collection/components/modal/modal.md.css +178 -70
- package/dist/collection/components/modal/safe-area-utils.js +7 -6
- package/dist/collection/components/modal/test/fixtures.js +0 -3
- package/dist/collection/components/nav/nav.css +7 -1
- package/dist/collection/components/nav/nav.js +256 -72
- package/dist/collection/components/nav/view-controller.js +1 -7
- package/dist/collection/components/nav-link/nav-link.js +14 -21
- package/dist/collection/components/note/note.ios.css +12 -0
- package/dist/collection/components/note/note.js +11 -14
- package/dist/collection/components/note/note.md.css +12 -0
- package/dist/collection/components/picker/picker.ios.css +15 -3
- package/dist/collection/components/picker/picker.js +398 -403
- package/dist/collection/components/picker/picker.md.css +15 -3
- package/dist/collection/components/picker-column/picker-column.css +9 -5
- package/dist/collection/components/picker-column/picker-column.js +409 -418
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
- package/dist/collection/components/picker-column-option/picker-column-option.js +42 -38
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +7 -6
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
- package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +312 -0
- package/dist/collection/components/picker-legacy/picker.js +891 -0
- package/dist/collection/components/picker-legacy/picker.md.css +299 -0
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +243 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +234 -0
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
- package/dist/collection/components/popover/animations/ios.enter.js +2 -1
- package/dist/collection/components/popover/animations/md.enter.js +2 -1
- package/dist/collection/components/popover/popover.ionic.css +290 -0
- package/dist/collection/components/popover/popover.ios.css +15 -2
- package/dist/collection/components/popover/popover.js +199 -313
- package/dist/collection/components/popover/popover.md.css +15 -2
- package/dist/collection/components/popover/test/fixture.js +0 -1
- package/dist/collection/components/popover/utils.js +6 -4
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
- package/dist/collection/components/progress-bar/progress-bar.js +65 -33
- package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
- package/dist/collection/components/radio/radio.ionic.css +422 -0
- package/dist/collection/components/radio/radio.ios.css +207 -102
- package/dist/collection/components/radio/radio.js +77 -108
- package/dist/collection/components/radio/radio.md.css +207 -102
- package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
- package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
- package/dist/collection/components/radio-group/radio-group.js +113 -107
- package/dist/collection/components/radio-group/radio-group.md.css +43 -19
- package/dist/collection/components/radio-group/test/fixtures.js +0 -2
- package/dist/collection/components/range/range.ionic.css +567 -0
- package/dist/collection/components/range/range.ios.css +128 -85
- package/dist/collection/components/range/range.js +247 -305
- package/dist/collection/components/range/range.md.css +128 -85
- package/dist/collection/components/refresher/refresher.ios.css +14 -1
- package/dist/collection/components/refresher/refresher.js +88 -117
- package/dist/collection/components/refresher/refresher.md.css +15 -2
- package/dist/collection/components/refresher-content/refresher-content.js +37 -47
- package/dist/collection/components/reorder/reorder.ios.css +6 -0
- package/dist/collection/components/reorder/reorder.js +26 -7
- package/dist/collection/components/reorder/reorder.md.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.js +22 -47
- package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
- package/dist/collection/components/ripple-effect/ripple-effect.js +26 -17
- package/dist/collection/components/route/route.js +14 -39
- package/dist/collection/components/route-redirect/route-redirect.js +0 -31
- package/dist/collection/components/router/router.js +37 -37
- package/dist/collection/components/router/utils/dom.js +7 -25
- package/dist/collection/components/router/utils/matching.js +9 -7
- package/dist/collection/components/router/utils/parser.js +1 -1
- package/dist/collection/components/router/utils/path.js +1 -0
- package/dist/collection/components/router-link/router-link.css +8 -2
- package/dist/collection/components/router-link/router-link.js +19 -40
- package/dist/collection/components/router-outlet/router-outlet.css +7 -1
- package/dist/collection/components/router-outlet/router-outlet.js +25 -83
- package/dist/collection/components/row/row.css +16 -0
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +356 -321
- package/dist/collection/components/searchbar/searchbar.md.css +56 -18
- package/dist/collection/components/segment/segment.ionic.css +115 -0
- package/dist/collection/components/segment/segment.ios.css +45 -2
- package/dist/collection/components/segment/segment.js +94 -126
- package/dist/collection/components/segment/segment.md.css +45 -2
- package/dist/collection/components/segment-button/segment-button.ionic.css +352 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
- package/dist/collection/components/segment-button/segment-button.js +46 -49
- package/dist/collection/components/segment-button/segment-button.md.css +148 -107
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
- package/dist/collection/components/segment-view/segment-view.js +27 -28
- package/dist/collection/components/segment-view/segment-view.md.css +6 -0
- package/dist/collection/components/select/select.ionic.css +809 -0
- package/dist/collection/components/select/select.ios.css +351 -206
- package/dist/collection/components/select/select.js +431 -431
- package/dist/collection/components/select/select.md.css +383 -230
- package/dist/collection/components/select-modal/select-modal.ionic.css +257 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
- package/dist/collection/components/select-modal/select-modal.js +81 -37
- package/dist/collection/components/select-modal/select-modal.md.css +273 -43
- package/dist/collection/components/select-modal/test/fixtures.js +1 -8
- package/dist/collection/components/select-option/select-option.js +15 -48
- package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
- package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
- package/dist/collection/components/select-popover/select-popover.js +37 -44
- package/dist/collection/components/select-popover/select-popover.md.css +228 -47
- package/dist/collection/components/select-popover/test/fixtures.js +1 -8
- package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +15 -15
- package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
- package/dist/collection/components/spinner/spinner.js +55 -26
- package/dist/collection/components/spinner/spinner.native.css +199 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
- package/dist/collection/components/split-pane/split-pane.js +28 -33
- package/dist/collection/components/split-pane/split-pane.md.css +20 -2
- package/dist/collection/components/tab/tab.js +10 -17
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
- package/dist/collection/components/tab-bar/tab-bar.js +190 -44
- package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +373 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
- package/dist/collection/components/tab-button/tab-button.js +74 -68
- package/dist/collection/components/tab-button/tab-button.md.css +137 -93
- package/dist/collection/components/tabs/tabs.css +7 -1
- package/dist/collection/components/tabs/tabs.js +23 -33
- package/dist/collection/components/text/text.css +6 -0
- package/dist/collection/components/text/text.js +7 -12
- package/dist/collection/components/textarea/textarea.ionic.css +898 -0
- package/dist/collection/components/textarea/textarea.ios.css +329 -221
- package/dist/collection/components/textarea/textarea.js +334 -302
- package/dist/collection/components/textarea/textarea.md.css +358 -231
- package/dist/collection/components/thumbnail/thumbnail.css +6 -0
- package/dist/collection/components/thumbnail/thumbnail.js +9 -2
- package/dist/collection/components/title/title.ionic.css +127 -0
- package/dist/collection/components/title/title.ios.css +32 -4
- package/dist/collection/components/title/title.js +13 -23
- package/dist/collection/components/title/title.md.css +39 -4
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ionic.css +394 -0
- package/dist/collection/components/toast/toast.ios.css +84 -45
- package/dist/collection/components/toast/toast.js +178 -232
- package/dist/collection/components/toast/toast.md.css +84 -45
- package/dist/collection/components/toggle/toggle.ionic.css +512 -0
- package/dist/collection/components/toggle/toggle.ios.css +247 -127
- package/dist/collection/components/toggle/toggle.js +164 -175
- package/dist/collection/components/toggle/toggle.md.css +245 -127
- package/dist/collection/components/toolbar/test/image.svg +1 -0
- package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
- package/dist/collection/components/toolbar/toolbar.js +222 -25
- package/dist/collection/components/toolbar/toolbar.md.css +90 -47
- package/dist/collection/global/config.js +6 -4
- package/dist/collection/global/ionic-global.js +242 -20
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/animation/animation.js +3 -3
- package/dist/collection/utils/config.js +4 -5
- package/dist/collection/utils/css-value-validation.js +39 -0
- package/dist/collection/utils/focus-controller/index.js +1 -1
- package/dist/collection/utils/focus-trap.js +16 -5
- package/dist/collection/utils/focus-visible.js +22 -0
- package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
- package/dist/collection/utils/forms/index.js +1 -1
- package/dist/collection/utils/forms/validity.js +31 -0
- package/dist/collection/utils/framework-delegate.js +9 -5
- package/dist/collection/utils/gesture/gesture-controller.js +8 -15
- package/dist/collection/utils/gesture/index.js +2 -10
- package/dist/collection/utils/hardware-back-button.js +18 -3
- package/dist/collection/utils/helpers.js +72 -5
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -4
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -1
- package/dist/collection/utils/keyboard/keyboard-controller.js +8 -6
- package/dist/collection/utils/keyboard/keyboard.js +1 -1
- package/dist/collection/utils/logging/index.js +4 -23
- package/dist/collection/utils/media.js +1 -0
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +2 -1
- package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
- package/dist/collection/utils/menu-controller/index.js +2 -1
- package/dist/collection/utils/native/haptic.js +3 -2
- package/dist/collection/utils/native/keyboard.js +2 -2
- package/dist/collection/utils/native/status-bar.js +1 -1
- package/dist/collection/utils/overlay-control-label.js +13 -11
- package/dist/collection/utils/overlays.js +312 -45
- package/dist/collection/utils/platform.js +5 -4
- package/dist/collection/utils/rtl/dir.js +3 -2
- package/dist/collection/utils/sanitization/index.js +2 -2
- package/dist/collection/utils/scroll-hide-controller.js +178 -0
- package/dist/collection/utils/select-option-render.js +2 -1
- package/dist/collection/utils/slot-mutation-controller.js +2 -1
- package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
- package/dist/collection/utils/test/playwright/drag-element.js +35 -11
- package/dist/collection/utils/test/playwright/generator.js +51 -25
- package/dist/collection/utils/test/playwright/page/event-spy.js +12 -11
- package/dist/collection/utils/test/playwright/page/utils/goto.js +15 -5
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +27 -4
- package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +3 -2
- package/dist/collection/utils/test/press-keys.js +17 -10
- package/dist/collection/utils/theme.js +26 -7
- package/dist/collection/utils/transition/ios.transition.js +14 -9
- package/dist/collection/utils/transition/md.transition.js +4 -3
- package/dist/docs.json +10054 -537
- package/dist/esm/{animation-CGFdmGk9.js → animation-BsVixxLP.js} +5 -5
- package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-rPvWQFXp.js} +1 -1
- package/dist/esm/{button-active-BDOsVAiZ.js → button-active-BS8YgJRD.js} +3 -3
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-BnXrCBvt.js} +1 -1
- package/dist/esm/clear-button-press-controller-Ci6Q_x5-.js +43 -0
- package/dist/esm/{config-DWCzVL3Y.js → config-BwKpO3Is.js} +4 -5
- package/dist/esm/{dir-Dojwmvde.js → dir-o8OKV5aD.js} +3 -2
- package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
- package/dist/esm/{format-Dcwga61t.js → format-2WlZcMvG.js} +31 -41
- package/dist/esm/{framework-delegate-BHTU2Ip9.js → framework-delegate-P5K_3uYw.js} +10 -6
- package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-BTEOs1at.js} +8 -15
- package/dist/esm/{haptic-Cq4UAeka.js → haptic-ByW74Ow9.js} +4 -3
- package/dist/esm/{helpers-CAGf8Wgp.js → helpers-ChPZH7zh.js} +74 -8
- package/dist/esm/{index-DcPaH5uL.js → index-Bck1OwMs.js} +3 -9
- package/dist/esm/{index-ChhhtsGZ.js → index-C0EQceqV.js} +66 -34
- package/dist/esm/{index-Clc-28O1.js → index-C7EAbm0C.js} +5 -4
- package/dist/esm/{index-CqneaaGd.js → index-C7F1yJyV.js} +13 -12
- package/dist/esm/{index-WlteAIqz.js → index-CXSPjEca.js} +5 -5
- package/dist/esm/{index-CKM1DdGm.js → index-Mq5pCWmZ.js} +3 -3
- package/dist/esm/{index-BvabGprD.js → index-PnwG0glX.js} +2 -1
- package/dist/esm/{index-T0JxBI8V.js → index-niemeDYi.js} +2 -2
- package/dist/esm/index.js +17 -18
- package/dist/esm/{input-shims-B8sfni1e.js → input-shims-CM5m0K8T.js} +15 -12
- package/dist/esm/input.utils-DhJNJPiU.js +147 -0
- package/dist/esm/ion-accordion_2.entry.js +376 -376
- package/dist/esm/ion-action-sheet.entry.js +87 -179
- package/dist/esm/ion-alert.entry.js +126 -251
- package/dist/esm/ion-app_8.entry.js +607 -460
- package/dist/esm/ion-avatar_3.entry.js +125 -19
- package/dist/esm/ion-back-button.entry.js +49 -65
- package/dist/esm/ion-backdrop.entry.js +22 -23
- package/dist/esm/ion-breadcrumb_2.entry.js +157 -210
- package/dist/esm/ion-button_2.entry.js +118 -153
- package/dist/esm/ion-card_5.entry.js +80 -110
- package/dist/esm/ion-checkbox.entry.js +134 -160
- package/dist/esm/ion-chip.entry.js +56 -21
- package/dist/esm/ion-col_3.entry.js +61 -186
- package/dist/esm/ion-datetime-button.entry.js +248 -256
- package/dist/esm/ion-datetime_3.entry.js +3206 -0
- package/dist/esm/ion-divider.entry.js +49 -0
- package/dist/esm/ion-fab_3.entry.js +109 -155
- package/dist/esm/ion-gallery-item.entry.js +57 -0
- package/dist/esm/ion-gallery.entry.js +606 -0
- package/dist/esm/ion-img.entry.js +17 -35
- package/dist/esm/ion-infinite-scroll_2.entry.js +157 -109
- package/dist/esm/ion-input-otp.entry.js +437 -435
- package/dist/esm/ion-input-password-toggle.entry.js +54 -40
- package/dist/esm/ion-input.entry.js +303 -349
- package/dist/esm/ion-item-option_3.entry.js +512 -137
- package/dist/esm/ion-item_8.entry.js +186 -218
- package/dist/esm/ion-loading.entry.js +69 -152
- package/dist/esm/ion-menu_3.entry.js +136 -182
- package/dist/esm/ion-modal.entry.js +459 -529
- package/dist/esm/ion-nav_2.entry.js +164 -104
- package/dist/esm/ion-picker-column-option.entry.js +40 -40
- package/dist/esm/ion-picker-column.entry.js +410 -422
- package/dist/esm/ion-picker.entry.js +401 -406
- package/dist/esm/ion-popover.entry.js +212 -324
- package/dist/esm/ion-progress-bar.entry.js +48 -36
- package/dist/esm/ion-radio_2.entry.js +162 -217
- package/dist/esm/ion-range.entry.js +251 -309
- package/dist/esm/ion-refresher_2.entry.js +127 -175
- package/dist/esm/ion-reorder_2.entry.js +47 -60
- package/dist/esm/ion-ripple-effect.entry.js +26 -18
- package/dist/esm/ion-route_4.entry.js +76 -179
- package/dist/esm/ion-searchbar.entry.js +305 -308
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +27 -28
- package/dist/esm/ion-segment_2.entry.js +141 -177
- package/dist/esm/ion-select-modal.entry.js +71 -50
- package/dist/esm/ion-select_3.entry.js +416 -507
- package/dist/esm/ion-spinner.entry.js +36 -28
- package/dist/esm/ion-split-pane.entry.js +25 -34
- package/dist/esm/ion-tab-bar_2.entry.js +179 -116
- package/dist/esm/ion-tab_2.entry.js +30 -55
- package/dist/esm/ion-text.entry.js +7 -13
- package/dist/esm/ion-textarea.entry.js +309 -302
- package/dist/esm/ion-toast.entry.js +149 -244
- package/dist/esm/ion-toggle.entry.js +172 -184
- package/dist/esm/ionic-global-BJDU78B6.js +508 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-DXRCmcbC.js → ios.transition-6oGu53GR.js} +21 -15
- package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-C6onMFOo.js} +1 -1
- package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-XukEYIFf.js} +5 -4
- package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-x-uHYVoq.js} +3 -3
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-BMngO4i_.js → md.transition-Dy5HxiSE.js} +11 -9
- package/dist/esm/notch-controller-BYB7mUMg.js +153 -0
- package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
- package/dist/esm/{overlays-CPmIs9Ls.js → overlays-C3YvaMgX.js} +333 -57
- package/dist/esm/scroll-hide-controller-B3MRYNXh.js +342 -0
- package/dist/esm/{select-option-render-C4m76VGH.js → select-option-render-BlKZ2H83.js} +4 -3
- package/dist/esm/{status-tap-CHB7KwIb.js → status-tap-DK-ylvU7.js} +5 -4
- package/dist/esm/{swipe-back-C9HW1bug.js → swipe-back-DFICtpMC.js} +6 -5
- package/dist/esm/theme-DaJxRxSQ.js +67 -0
- package/dist/esm/validity-BjW8SOqw.js +48 -0
- package/dist/html.html-data.json +2690 -123
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p--sroV-k-.js +4 -0
- package/dist/ionic/p-0115c2fa.entry.js +4 -0
- package/dist/ionic/p-0ac15b5f.entry.js +4 -0
- package/dist/ionic/p-0b2c58e0.entry.js +4 -0
- package/dist/ionic/p-0bfb8d9e.entry.js +4 -0
- package/dist/ionic/p-1147fa06.entry.js +4 -0
- package/dist/ionic/p-1e45586e.entry.js +4 -0
- package/dist/ionic/p-1febf200.entry.js +4 -0
- package/dist/ionic/p-208cecae.entry.js +4 -0
- package/dist/ionic/p-29f69d29.entry.js +4 -0
- package/dist/ionic/p-2b5e04c5.entry.js +4 -0
- package/dist/ionic/p-311ef139.entry.js +4 -0
- package/dist/ionic/p-3eff3411.entry.js +4 -0
- package/dist/ionic/p-3f17704b.entry.js +4 -0
- package/dist/ionic/p-46e754ae.entry.js +4 -0
- package/dist/ionic/p-4901a10b.entry.js +4 -0
- package/dist/ionic/p-4c8178d8.entry.js +4 -0
- package/dist/ionic/p-5196bee9.entry.js +4 -0
- package/dist/ionic/p-5386b094.entry.js +4 -0
- package/dist/ionic/p-54579b68.entry.js +4 -0
- package/dist/ionic/p-54baa1af.entry.js +4 -0
- package/dist/ionic/p-59e59209.entry.js +4 -0
- package/dist/ionic/p-5ad0c670.entry.js +4 -0
- package/dist/ionic/p-62602fbd.entry.js +4 -0
- package/dist/ionic/p-6b86cb62.entry.js +4 -0
- package/dist/ionic/p-7134537b.entry.js +4 -0
- package/dist/ionic/p-72eacca0.entry.js +4 -0
- package/dist/ionic/p-7ae06f6f.entry.js +4 -0
- package/dist/ionic/p-7bde9ee1.entry.js +4 -0
- package/dist/ionic/p-7f59020c.entry.js +4 -0
- package/dist/ionic/p-7k7Q1A38.js +4 -0
- package/dist/ionic/p-87ab986c.entry.js +4 -0
- package/dist/ionic/p-9dff6288.entry.js +4 -0
- package/dist/ionic/p-9e09cb80.entry.js +4 -0
- package/dist/ionic/p-BFhQ1N-L.js +4 -0
- package/dist/ionic/p-BG7tpRhR.js +4 -0
- package/dist/ionic/p-BITyMTKr.js +4 -0
- package/dist/ionic/p-BRPONI7N.js +4 -0
- package/dist/ionic/p-BTEOs1at.js +4 -0
- package/dist/ionic/p-BVdSuKmt.js +4 -0
- package/dist/ionic/p-BYRVyMu9.js +4 -0
- package/dist/ionic/p-BjW8SOqw.js +4 -0
- package/dist/ionic/p-Bpx1lBiP.js +4 -0
- package/dist/ionic/p-BwKpO3Is.js +4 -0
- package/dist/ionic/p-C-BLhfUi.js +4 -0
- package/dist/ionic/p-C-aO35cw.js +4 -0
- package/dist/ionic/p-C0EQceqV.js +5 -0
- package/dist/ionic/p-CDrQfM-I.js +4 -0
- package/dist/ionic/p-CODBQrPj.js +4 -0
- package/dist/ionic/p-CTSaffvS.js +4 -0
- package/dist/ionic/p-CaM5HwzM.js +4 -0
- package/dist/ionic/p-CgaW5Zy8.js +4 -0
- package/dist/ionic/p-Cipl19Qe.js +4 -0
- package/dist/ionic/p-CnBfCmL2.js +4 -0
- package/dist/ionic/p-D-Xit5Ye.js +4 -0
- package/dist/ionic/p-D7LIC84Z.js +4 -0
- package/dist/ionic/p-D844sgjq.js +4 -0
- package/dist/ionic/p-DWDKFjrH.js +4 -0
- package/dist/ionic/p-DaJxRxSQ.js +4 -0
- package/dist/ionic/p-DhyWlGap.js +4 -0
- package/dist/ionic/p-DiyY-i-5.js +4 -0
- package/dist/ionic/p-DrxPmT9E.js +4 -0
- package/dist/ionic/p-PnwG0glX.js +4 -0
- package/dist/ionic/p-YIsE5bNG.js +4 -0
- package/dist/ionic/p-a320cdb2.entry.js +4 -0
- package/dist/ionic/p-a37444b3.entry.js +4 -0
- package/dist/ionic/p-a4bed36b.entry.js +4 -0
- package/dist/ionic/p-a7914fe5.entry.js +4 -0
- package/dist/ionic/p-aa298c58.entry.js +4 -0
- package/dist/ionic/p-ace3062d.entry.js +4 -0
- package/dist/ionic/p-b70775b0.entry.js +4 -0
- package/dist/ionic/p-b7c75507.entry.js +4 -0
- package/dist/ionic/p-b920f149.entry.js +4 -0
- package/dist/ionic/p-c39025c0.entry.js +4 -0
- package/dist/ionic/p-c9cda5ce.entry.js +4 -0
- package/dist/ionic/p-cc314123.entry.js +4 -0
- package/dist/ionic/p-d1f42864.entry.js +4 -0
- package/dist/ionic/p-d4506138.entry.js +4 -0
- package/dist/ionic/p-dbd06d8d.entry.js +4 -0
- package/dist/ionic/p-dda49380.entry.js +4 -0
- package/dist/ionic/p-de4e8418.entry.js +4 -0
- package/dist/ionic/p-e95618c4.entry.js +4 -0
- package/dist/ionic/p-f89fcf62.entry.js +4 -0
- package/dist/ionic/p-fcce2dda.entry.js +4 -0
- package/dist/ionic/p-fd2a869f.entry.js +4 -0
- package/dist/ionic/p-fd95a423.entry.js +4 -0
- package/dist/ionic/p-fe14205b.entry.js +4 -0
- package/dist/ionic/p-i6iV8hMy.js +4 -0
- package/dist/ionic/p-nUlpIttM.js +4 -0
- package/dist/ionic/p-o8OKV5aD.js +4 -0
- package/dist/ionic/p-vXpMhGrs.js +4 -0
- package/dist/ionic/p-zRFin7iz.js +4 -0
- package/dist/ionic/p-zn4qAQ_d.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +12 -3
- package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
- package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
- package/dist/types/components/alert/alert-interface.d.ts +3 -7
- package/dist/types/components/alert/alert.d.ts +3 -2
- package/dist/types/components/app/app.d.ts +4 -5
- package/dist/types/components/avatar/avatar.d.ts +32 -0
- package/dist/types/components/back-button/back-button.d.ts +8 -1
- package/dist/types/components/backdrop/backdrop.d.ts +4 -0
- package/dist/types/components/badge/badge.d.ts +34 -1
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +14 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +23 -8
- package/dist/types/components/buttons/buttons.d.ts +5 -1
- package/dist/types/components/card/card.d.ts +8 -1
- package/dist/types/components/card-content/card-content.d.ts +2 -1
- package/dist/types/components/card-header/card-header.d.ts +3 -2
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
- package/dist/types/components/card-title/card-title.d.ts +2 -1
- package/dist/types/components/checkbox/checkbox.d.ts +26 -5
- package/dist/types/components/chip/chip.d.ts +26 -1
- package/dist/types/components/col/col.d.ts +52 -5
- package/dist/types/components/content/content.d.ts +3 -0
- package/dist/types/components/datetime/datetime.d.ts +26 -1
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
- package/dist/types/components/divider/divider.d.ts +20 -0
- package/dist/types/components/fab/fab.d.ts +4 -0
- package/dist/types/components/fab-button/fab-button.d.ts +11 -3
- package/dist/types/components/fab-list/fab-list.d.ts +4 -0
- package/dist/types/components/footer/footer-interface.d.ts +1 -0
- package/dist/types/components/footer/footer.d.ts +20 -3
- package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
- package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
- package/dist/types/components/gallery/gallery.d.ts +218 -0
- package/dist/types/components/gallery/test/utils.d.ts +3 -0
- package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
- package/dist/types/components/grid/grid.d.ts +4 -0
- package/dist/types/components/header/header-interface.d.ts +1 -0
- package/dist/types/components/header/header.d.ts +26 -3
- package/dist/types/components/header/header.utils.d.ts +4 -5
- package/dist/types/components/img/img.d.ts +2 -1
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +40 -17
- package/dist/types/components/input-otp/input-otp.d.ts +37 -0
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +14 -0
- package/dist/types/components/item/item.d.ts +17 -4
- package/dist/types/components/item-divider/item-divider.d.ts +2 -1
- package/dist/types/components/item-group/item-group.d.ts +4 -0
- package/dist/types/components/item-option/item-option.d.ts +18 -1
- package/dist/types/components/item-options/item-options.d.ts +4 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
- package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
- package/dist/types/components/label/label.d.ts +2 -1
- package/dist/types/components/list/list.d.ts +15 -1
- package/dist/types/components/list-header/list-header.d.ts +2 -1
- package/dist/types/components/loading/loading-interface.d.ts +2 -7
- package/dist/types/components/loading/loading.d.ts +3 -2
- package/dist/types/components/menu/menu.d.ts +3 -0
- package/dist/types/components/menu-button/menu-button.d.ts +8 -1
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
- package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
- package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +4 -16
- package/dist/types/components/modal/modal.d.ts +15 -12
- package/dist/types/components/nav/nav-interface.d.ts +10 -1
- package/dist/types/components/nav/nav.d.ts +27 -3
- package/dist/types/components/nav-link/nav-link.d.ts +4 -0
- package/dist/types/components/note/note.d.ts +2 -1
- package/dist/types/components/picker/picker.d.ts +2 -1
- package/dist/types/components/picker-column/picker-column.d.ts +2 -1
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
- package/dist/types/components/picker-legacy/picker.d.ts +159 -0
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
- package/dist/types/components/popover/popover-interface.d.ts +3 -6
- package/dist/types/components/popover/popover.d.ts +6 -5
- package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
- package/dist/types/components/radio/radio.d.ts +2 -1
- package/dist/types/components/radio-group/radio-group.d.ts +12 -0
- package/dist/types/components/range/range.d.ts +2 -1
- package/dist/types/components/refresher/refresher.d.ts +2 -1
- package/dist/types/components/refresher-content/refresher-content.d.ts +10 -0
- package/dist/types/components/reorder/reorder.d.ts +9 -0
- package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
- package/dist/types/components/route/route.d.ts +5 -1
- package/dist/types/components/router/router.d.ts +4 -0
- package/dist/types/components/router-link/router-link.d.ts +4 -0
- package/dist/types/components/router-outlet/router-outlet.d.ts +4 -8
- package/dist/types/components/row/row.d.ts +4 -0
- package/dist/types/components/searchbar/searchbar.d.ts +57 -11
- package/dist/types/components/segment/segment.d.ts +2 -1
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +55 -26
- package/dist/types/components/select-modal/select-modal.d.ts +13 -0
- package/dist/types/components/select-option/select-option.d.ts +7 -4
- package/dist/types/components/select-popover/select-popover.d.ts +3 -0
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
- package/dist/types/components/spinner/spinner.d.ts +15 -0
- package/dist/types/components/split-pane/split-pane.d.ts +4 -0
- package/dist/types/components/tab/tab.d.ts +4 -0
- package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
- package/dist/types/components/tab-button/tab-button.d.ts +12 -1
- package/dist/types/components/tabs/tabs.d.ts +3 -0
- package/dist/types/components/text/text.d.ts +2 -1
- package/dist/types/components/textarea/textarea.d.ts +58 -16
- package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
- package/dist/types/components/title/title.d.ts +4 -0
- package/dist/types/components/toast/animations/utils.d.ts +2 -2
- package/dist/types/components/toast/toast-interface.d.ts +3 -7
- package/dist/types/components/toast/toast.d.ts +19 -2
- package/dist/types/components/toggle/toggle.d.ts +18 -1
- package/dist/types/components/toolbar/toolbar.d.ts +43 -3
- package/dist/types/components.d.ts +2171 -263
- package/dist/types/global/ionic-global.d.ts +28 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +4 -0
- package/dist/types/utils/config.d.ts +133 -3
- package/dist/types/utils/css-value-validation.d.ts +21 -0
- package/dist/types/utils/focus-trap.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +13 -0
- package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
- package/dist/types/utils/forms/index.d.ts +1 -1
- package/dist/types/utils/forms/validity.d.ts +7 -0
- package/dist/types/utils/helpers.d.ts +22 -0
- package/dist/types/utils/logging/index.d.ts +1 -2
- package/dist/types/utils/overlay-control-label.d.ts +11 -9
- package/dist/types/utils/overlays-interface.d.ts +31 -1
- package/dist/types/utils/overlays.d.ts +10 -12
- package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
- package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
- package/dist/types/utils/test/playwright/generator.d.ts +31 -2
- package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
- package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
- package/dist/types/utils/theme.d.ts +9 -0
- package/hydrate/index.js +12008 -10485
- package/hydrate/index.mjs +12008 -10485
- package/package.json +16 -56
- package/components/p--m5cCjbK.js +0 -4
- package/components/p-1jI5oW-W.js +0 -4
- package/components/p-8FN7p701.js +0 -4
- package/components/p-B4uHHhPK.js +0 -4
- package/components/p-BMPN55of.js +0 -4
- package/components/p-BNJOu1Q2.js +0 -4
- package/components/p-BOvLNVKq.js +0 -4
- package/components/p-BSQPZ79H.js +0 -4
- package/components/p-BeamQXHF.js +0 -4
- package/components/p-BhamHSw3.js +0 -4
- package/components/p-Bjig0DJK.js +0 -4
- package/components/p-BjluhQMI.js +0 -4
- package/components/p-BlsIikdZ.js +0 -4
- package/components/p-BmVRXR1y.js +0 -4
- package/components/p-BqPNzJf6.js +0 -4
- package/components/p-BrD9Xv62.js +0 -4
- package/components/p-BvJqoZ5R.js +0 -4
- package/components/p-Bz6z3Asd.js +0 -4
- package/components/p-C5KYjZWD.js +0 -4
- package/components/p-C6HnVvHO.js +0 -4
- package/components/p-C7jvh5Wy.js +0 -4
- package/components/p-C9BGR5fy.js +0 -4
- package/components/p-CB-y1CdP.js +0 -4
- package/components/p-CEW4RXZO.js +0 -4
- package/components/p-CHH3loEE.js +0 -4
- package/components/p-CIGNaXM1.js +0 -4
- package/components/p-CJKUWjmg.js +0 -4
- package/components/p-C_phlPMC.js +0 -4
- package/components/p-CbhUdtjf.js +0 -4
- package/components/p-CejmQs3h.js +0 -4
- package/components/p-CtZqa4HM.js +0 -4
- package/components/p-D7-vHX0A.js +0 -4
- package/components/p-D9qIVSWm.js +0 -4
- package/components/p-DD5fQ4EQ.js +0 -4
- package/components/p-DE-3iMNW.js +0 -4
- package/components/p-DFvZn99E.js +0 -4
- package/components/p-DHFt2rdc.js +0 -4
- package/components/p-DJztqcrH.js +0 -4
- package/components/p-DM-PrAoh.js +0 -4
- package/components/p-DSzSbVP2.js +0 -4
- package/components/p-DV85C0e0.js +0 -4
- package/components/p-DWCzVL3Y.js +0 -4
- package/components/p-D_RCyzwu.js +0 -4
- package/components/p-D_tD8r3L.js +0 -4
- package/components/p-DaA_8eqt.js +0 -4
- package/components/p-DjCtLZbF.js +0 -4
- package/components/p-Dmd2xqCe.js +0 -4
- package/components/p-Dojwmvde.js +0 -4
- package/components/p-G0TxqHfe.js +0 -4
- package/components/p-G6JR-cr_.js +0 -4
- package/components/p-GG5GhznE.js +0 -4
- package/components/p-LpMHEu3v.js +0 -4
- package/components/p-TXPDHL13.js +0 -4
- package/components/p-UIBJkZf8.js +0 -4
- package/components/p-ZjP4CjeZ.js +0 -4
- package/components/p-_IKFD3ID.js +0 -4
- package/components/p-byZM6qHV.js +0 -4
- package/components/p-dKq2jIum.js +0 -4
- package/components/p-fruGqVHh.js +0 -4
- package/components/p-iYhH60Tc.js +0 -4
- package/components/p-ia3IDdJS.js +0 -4
- package/dist/cjs/hardware-back-button-fqpYh-kd.js +0 -121
- package/dist/cjs/index-DkNv4J_i.js +0 -10
- package/dist/cjs/input.utils-BZdMWVrt.js +0 -35
- package/dist/cjs/ion-datetime.cjs.entry.js +0 -2770
- package/dist/cjs/ionic-global-k6hOWWpn.js +0 -156
- package/dist/cjs/keyboard-controller-PtZoN2GS.js +0 -167
- package/dist/cjs/slot-mutation-controller-DPHmqXdV.js +0 -397
- package/dist/cjs/validity-BpS37YFM.js +0 -19
- package/dist/collection/utils/forms/start-container-controller.js +0 -132
- package/dist/esm/hardware-back-button-gLJHMX_F.js +0 -115
- package/dist/esm/index-ZjP4CjeZ.js +0 -7
- package/dist/esm/input.utils-B1ValN_N.js +0 -33
- package/dist/esm/ion-datetime.entry.js +0 -2768
- package/dist/esm/ionic-global-BVB7BrLT.js +0 -151
- package/dist/esm/keyboard-controller-DEwoa1ev.js +0 -165
- package/dist/esm/slot-mutation-controller-DiE_C9un.js +0 -393
- package/dist/esm/theme-byZM6qHV.js +0 -48
- package/dist/esm/validity-DJztqcrH.js +0 -17
- package/dist/ionic/p-06ec7136.entry.js +0 -4
- package/dist/ionic/p-09fe4fa3.entry.js +0 -4
- package/dist/ionic/p-10d45a07.entry.js +0 -4
- package/dist/ionic/p-208c8a07.entry.js +0 -4
- package/dist/ionic/p-212474fa.entry.js +0 -4
- package/dist/ionic/p-2eef1396.entry.js +0 -4
- package/dist/ionic/p-347e005d.entry.js +0 -4
- package/dist/ionic/p-3a0b3f1d.entry.js +0 -4
- package/dist/ionic/p-3b071259.entry.js +0 -4
- package/dist/ionic/p-40424a88.entry.js +0 -4
- package/dist/ionic/p-4204184c.entry.js +0 -4
- package/dist/ionic/p-47464391.entry.js +0 -4
- package/dist/ionic/p-4eOQC00Z.js +0 -4
- package/dist/ionic/p-4f9c9126.entry.js +0 -4
- package/dist/ionic/p-5JsKPLJD.js +0 -4
- package/dist/ionic/p-5bc485c6.entry.js +0 -4
- package/dist/ionic/p-603a61e6.entry.js +0 -4
- package/dist/ionic/p-60576951.entry.js +0 -4
- package/dist/ionic/p-67a81d33.entry.js +0 -4
- package/dist/ionic/p-6affb775.entry.js +0 -4
- package/dist/ionic/p-6f120c25.entry.js +0 -4
- package/dist/ionic/p-71c82b60.entry.js +0 -4
- package/dist/ionic/p-79325ffe.entry.js +0 -4
- package/dist/ionic/p-7CBuOvEo.js +0 -4
- package/dist/ionic/p-7e4d51fa.entry.js +0 -4
- package/dist/ionic/p-7f5d4664.entry.js +0 -4
- package/dist/ionic/p-80ee82fc.entry.js +0 -4
- package/dist/ionic/p-84af7dbc.entry.js +0 -4
- package/dist/ionic/p-89ca830a.entry.js +0 -4
- package/dist/ionic/p-93b8ec8f.entry.js +0 -4
- package/dist/ionic/p-946f65c2.entry.js +0 -4
- package/dist/ionic/p-9c4b39fb.entry.js +0 -4
- package/dist/ionic/p-B1NEZUzQ.js +0 -4
- package/dist/ionic/p-B1ck5iy-.js +0 -4
- package/dist/ionic/p-B4FrqdW0.js +0 -4
- package/dist/ionic/p-BB0LlG4y.js +0 -4
- package/dist/ionic/p-BMPN55of.js +0 -4
- package/dist/ionic/p-BSQPZ79H.js +0 -4
- package/dist/ionic/p-BYEAtHr-.js +0 -4
- package/dist/ionic/p-BhamHSw3.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-BvabGprD.js +0 -4
- package/dist/ionic/p-C-94tAim.js +0 -4
- package/dist/ionic/p-C-eHZMYE.js +0 -4
- package/dist/ionic/p-CBR_W98Z.js +0 -4
- package/dist/ionic/p-CBWAXjA5.js +0 -4
- package/dist/ionic/p-CIGNaXM1.js +0 -4
- package/dist/ionic/p-CMRtMbJc.js +0 -4
- package/dist/ionic/p-CPcPmkGv.js +0 -4
- package/dist/ionic/p-CaRuIadB.js +0 -4
- package/dist/ionic/p-Cdjxf_yg.js +0 -4
- package/dist/ionic/p-ChhhtsGZ.js +0 -5
- package/dist/ionic/p-CzS1qWve.js +0 -4
- package/dist/ionic/p-D5t_-oMk.js +0 -4
- package/dist/ionic/p-D94_RztK.js +0 -4
- package/dist/ionic/p-DJztqcrH.js +0 -4
- package/dist/ionic/p-DWCzVL3Y.js +0 -4
- package/dist/ionic/p-DjjfauRM.js +0 -4
- package/dist/ionic/p-DkUB-ROc.js +0 -4
- package/dist/ionic/p-Dn0mqQ_R.js +0 -4
- package/dist/ionic/p-Dojwmvde.js +0 -4
- package/dist/ionic/p-DplOqGUv.js +0 -4
- package/dist/ionic/p-Dst_XmZh.js +0 -4
- package/dist/ionic/p-T71k3C35.js +0 -4
- package/dist/ionic/p-TXPDHL13.js +0 -4
- package/dist/ionic/p-UIBJkZf8.js +0 -4
- package/dist/ionic/p-ZjP4CjeZ.js +0 -4
- package/dist/ionic/p-a438b193.entry.js +0 -4
- package/dist/ionic/p-babaaaa7.entry.js +0 -4
- package/dist/ionic/p-be08d500.entry.js +0 -4
- package/dist/ionic/p-be9a4f51.entry.js +0 -4
- package/dist/ionic/p-byZM6qHV.js +0 -4
- package/dist/ionic/p-c00d3092.entry.js +0 -4
- package/dist/ionic/p-c36dc8f5.entry.js +0 -4
- package/dist/ionic/p-c72a7e17.entry.js +0 -4
- package/dist/ionic/p-c8edd88c.entry.js +0 -4
- package/dist/ionic/p-ce0e380b.entry.js +0 -4
- package/dist/ionic/p-ce32912b.entry.js +0 -4
- package/dist/ionic/p-d07cf130.entry.js +0 -4
- package/dist/ionic/p-d27edeb3.entry.js +0 -4
- package/dist/ionic/p-d5d2c506.entry.js +0 -4
- package/dist/ionic/p-d5e31ca9.entry.js +0 -4
- package/dist/ionic/p-de91444f.entry.js +0 -4
- package/dist/ionic/p-ded69ceb.entry.js +0 -4
- package/dist/ionic/p-df72866d.entry.js +0 -4
- package/dist/ionic/p-e47e3151.entry.js +0 -4
- package/dist/ionic/p-e621e5e8.entry.js +0 -4
- package/dist/ionic/p-eea9cf93.entry.js +0 -4
- package/dist/ionic/p-f402f5a4.entry.js +0 -4
- package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
- package/dist/ionic/p-ffb90460.entry.js +0 -4
- package/dist/types/utils/forms/start-container-controller.d.ts +0 -34
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -2,203 +2,181 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Build, Host, forceUpdate, h, writeTask, } from "@stencil/core";
|
|
5
|
-
import { createNotchController,
|
|
5
|
+
import { createNotchController, checkInvalidState, reportValidityToElementInternals } from "../../utils/forms/index";
|
|
6
6
|
import { inheritAriaAttributes, debounceEvent, inheritAttributes, componentOnReady } from "../../utils/helpers";
|
|
7
7
|
import { createSlotMutationController } from "../../utils/slot-mutation-controller";
|
|
8
8
|
import { createColorClasses, hostContext } from "../../utils/theme";
|
|
9
|
-
import {
|
|
9
|
+
import { getIonTheme } from "../../global/ionic-global";
|
|
10
10
|
import { getCounterText } from "../input/input.utils";
|
|
11
11
|
/**
|
|
12
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines
|
|
12
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
13
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
13
14
|
*
|
|
14
15
|
* @slot label - The label text to associate with the textarea. Use the `labelPlacement` property to control where the label is placed relative to the textarea. Use this if you need to render a label with custom HTML. (EXPERIMENTAL)
|
|
15
16
|
* @slot start - Content to display at the leading edge of the textarea. (EXPERIMENTAL)
|
|
16
17
|
* @slot end - Content to display at the trailing edge of the textarea. (EXPERIMENTAL)
|
|
18
|
+
*
|
|
19
|
+
* @part wrapper - The clickable label element that wraps the entire form field (label text, slots, and native textarea).
|
|
20
|
+
* @part container - The inner wrapper element that directly contains the native textarea element.
|
|
21
|
+
* @part label - The label text describing the textarea.
|
|
22
|
+
* @part native - The native textarea element.
|
|
23
|
+
* @part supporting-text - Supporting text displayed beneath the textarea label.
|
|
24
|
+
* @part helper-text - Supporting text displayed beneath the textarea label when the textarea is valid.
|
|
25
|
+
* @part error-text - Supporting text displayed beneath the textarea label when the textarea is invalid and touched.
|
|
26
|
+
* @part counter - The character counter displayed when the counter property is set.
|
|
27
|
+
* @part bottom - The container element for helper text, error text, and counter.
|
|
17
28
|
*/
|
|
18
29
|
export class Textarea {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
30
|
+
constructor() {
|
|
31
|
+
this.inputId = `ion-textarea-${textareaIds++}`;
|
|
32
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
33
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
34
|
+
/**
|
|
35
|
+
* `true` if the textarea was cleared as a result of the user typing
|
|
36
|
+
* with `clearOnEdit` enabled.
|
|
37
|
+
*
|
|
38
|
+
* Resets when the textarea loses focus.
|
|
39
|
+
*/
|
|
40
|
+
this.didTextareaClearOnEdit = false;
|
|
41
|
+
this.inheritedAttributes = {};
|
|
42
|
+
/**
|
|
43
|
+
* The `hasFocus` state ensures the focus class is
|
|
44
|
+
* added regardless of how the element is focused.
|
|
45
|
+
* The `ion-focused` class only applies when focused
|
|
46
|
+
* via tabbing, not by clicking.
|
|
47
|
+
* The `has-focus` logic was added to ensure the class
|
|
48
|
+
* is applied in both cases.
|
|
49
|
+
*/
|
|
50
|
+
this.hasFocus = false;
|
|
51
|
+
/**
|
|
52
|
+
* Track validation state for proper aria-live announcements
|
|
53
|
+
*/
|
|
54
|
+
this.isInvalid = false;
|
|
55
|
+
/**
|
|
56
|
+
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
57
|
+
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
58
|
+
*/
|
|
59
|
+
this.autocapitalize = 'none';
|
|
60
|
+
/**
|
|
61
|
+
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
62
|
+
*
|
|
63
|
+
* This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
|
|
64
|
+
*/
|
|
65
|
+
this.autofocus = false;
|
|
66
|
+
/**
|
|
67
|
+
* If `true`, the value will be cleared after focus upon edit.
|
|
68
|
+
*/
|
|
69
|
+
this.clearOnEdit = false;
|
|
70
|
+
/**
|
|
71
|
+
* If `true`, the user cannot interact with the textarea.
|
|
72
|
+
*/
|
|
73
|
+
this.disabled = false;
|
|
74
|
+
/**
|
|
75
|
+
* The name of the control, which is submitted with the form data.
|
|
76
|
+
*/
|
|
77
|
+
this.name = this.inputId;
|
|
78
|
+
/**
|
|
79
|
+
* If `true`, the user cannot modify the value.
|
|
80
|
+
*/
|
|
81
|
+
this.readonly = false;
|
|
82
|
+
/**
|
|
83
|
+
* If `true`, the user must fill in a value before submitting a form.
|
|
84
|
+
*/
|
|
85
|
+
this.required = false;
|
|
86
|
+
/**
|
|
87
|
+
* If `true`, the element will have its spelling and grammar checked.
|
|
88
|
+
*/
|
|
89
|
+
this.spellcheck = false;
|
|
90
|
+
/**
|
|
91
|
+
* If `true`, the textarea container will grow and shrink based
|
|
92
|
+
* on the contents of the textarea.
|
|
93
|
+
*/
|
|
94
|
+
this.autoGrow = false;
|
|
95
|
+
/**
|
|
96
|
+
* The value of the textarea.
|
|
97
|
+
*/
|
|
98
|
+
this.value = '';
|
|
99
|
+
/**
|
|
100
|
+
* If `true`, a character counter will display the ratio of characters used and the total character limit.
|
|
101
|
+
* Developers must also set the `maxlength` property for the counter to be calculated correctly.
|
|
102
|
+
*/
|
|
103
|
+
this.counter = false;
|
|
104
|
+
/**
|
|
105
|
+
* Where to place the label relative to the textarea.
|
|
106
|
+
* `"start"`: The label will appear to the left of the textarea in LTR and to the right in RTL.
|
|
107
|
+
* `"end"`: The label will appear to the right of the textarea in LTR and to the left in RTL.
|
|
108
|
+
* `"floating"`: The label will appear smaller and above the textarea when the textarea is focused or it has a value. Otherwise it will appear on top of the textarea.
|
|
109
|
+
* `"stacked"`: The label will appear smaller and above the textarea regardless even when the textarea is blurred or has no value.
|
|
110
|
+
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
111
|
+
*/
|
|
112
|
+
this.labelPlacement = 'start';
|
|
113
|
+
/**
|
|
114
|
+
* The size of the textarea. If "large" it will increase the height of the textarea, while
|
|
115
|
+
* "small" and "medium" provide progressively smaller heights. The default size is "medium".
|
|
116
|
+
* This property only applies to the `"ionic"` theme.
|
|
117
|
+
*/
|
|
118
|
+
this.size = 'medium';
|
|
119
|
+
// `Event` type is used instead of `InputEvent`
|
|
120
|
+
// since the types from Stencil are not derived
|
|
121
|
+
// from the element (e.g. textarea and input
|
|
122
|
+
// should be InputEvent, but all other elements
|
|
123
|
+
// should be Event).
|
|
124
|
+
this.onInput = (ev) => {
|
|
125
|
+
const input = ev.target;
|
|
126
|
+
if (input) {
|
|
127
|
+
this.value = input.value || '';
|
|
128
|
+
}
|
|
129
|
+
this.emitInputChange(ev);
|
|
130
|
+
};
|
|
131
|
+
this.onChange = (ev) => {
|
|
132
|
+
this.emitValueChange(ev);
|
|
133
|
+
};
|
|
134
|
+
this.onFocus = (ev) => {
|
|
135
|
+
this.hasFocus = true;
|
|
136
|
+
this.focusedValue = this.value;
|
|
137
|
+
this.ionFocus.emit(ev);
|
|
138
|
+
};
|
|
139
|
+
this.onBlur = (ev) => {
|
|
140
|
+
this.hasFocus = false;
|
|
141
|
+
if (this.focusedValue !== this.value) {
|
|
142
|
+
/**
|
|
143
|
+
* Emits the `ionChange` event when the textarea value
|
|
144
|
+
* is different than the value when the textarea was focused.
|
|
145
|
+
*/
|
|
146
|
+
this.emitValueChange(ev);
|
|
147
|
+
}
|
|
148
|
+
this.didTextareaClearOnEdit = false;
|
|
149
|
+
this.ionBlur.emit(ev);
|
|
150
|
+
};
|
|
151
|
+
this.onKeyDown = (ev) => {
|
|
152
|
+
this.checkClearOnEdit(ev);
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Stops propagation when the label is clicked,
|
|
156
|
+
* otherwise, two clicks will be triggered.
|
|
157
|
+
*/
|
|
158
|
+
this.onLabelClick = (ev) => {
|
|
159
|
+
// Only stop propagation if the click was directly on the label
|
|
160
|
+
// and not on the input or other child elements
|
|
161
|
+
if (ev.target === ev.currentTarget) {
|
|
162
|
+
ev.stopPropagation();
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
}
|
|
82
166
|
debounceChanged() {
|
|
83
167
|
const { ionInput, debounce, originalIonInput } = this;
|
|
84
168
|
/**
|
|
85
169
|
* If debounce is undefined, we have to manually revert the ionInput emitter in case
|
|
86
170
|
* debounce used to be set to a number. Otherwise, the event would stay debounced.
|
|
87
171
|
*/
|
|
88
|
-
this.ionInput = debounce === undefined ? originalIonInput
|
|
172
|
+
this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
|
|
89
173
|
}
|
|
90
174
|
/**
|
|
91
|
-
*
|
|
175
|
+
* Update element internals when disabled prop changes
|
|
92
176
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
* `"outline"` the item will be transparent with a border. Only available in `md` mode.
|
|
97
|
-
*/
|
|
98
|
-
fill;
|
|
99
|
-
/**
|
|
100
|
-
* A hint to the browser for which keyboard to display.
|
|
101
|
-
* Possible values: `"none"`, `"text"`, `"tel"`, `"url"`,
|
|
102
|
-
* `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
|
|
103
|
-
*/
|
|
104
|
-
inputmode;
|
|
105
|
-
/**
|
|
106
|
-
* A hint to the browser for which enter key to display.
|
|
107
|
-
* Possible values: `"enter"`, `"done"`, `"go"`, `"next"`,
|
|
108
|
-
* `"previous"`, `"search"`, and `"send"`.
|
|
109
|
-
*/
|
|
110
|
-
enterkeyhint;
|
|
111
|
-
/**
|
|
112
|
-
* This attribute specifies the maximum number of characters that the user can enter.
|
|
113
|
-
*/
|
|
114
|
-
maxlength;
|
|
115
|
-
/**
|
|
116
|
-
* This attribute specifies the minimum number of characters that the user can enter.
|
|
117
|
-
*/
|
|
118
|
-
minlength;
|
|
119
|
-
/**
|
|
120
|
-
* The name of the control, which is submitted with the form data.
|
|
121
|
-
*/
|
|
122
|
-
name = this.inputId;
|
|
123
|
-
/**
|
|
124
|
-
* Instructional text that shows before the input has a value.
|
|
125
|
-
*/
|
|
126
|
-
placeholder;
|
|
127
|
-
/**
|
|
128
|
-
* If `true`, the user cannot modify the value.
|
|
129
|
-
*/
|
|
130
|
-
readonly = false;
|
|
131
|
-
/**
|
|
132
|
-
* If `true`, the user must fill in a value before submitting a form.
|
|
133
|
-
*/
|
|
134
|
-
required = false;
|
|
135
|
-
/**
|
|
136
|
-
* If `true`, the element will have its spelling and grammar checked.
|
|
137
|
-
*/
|
|
138
|
-
spellcheck = false;
|
|
139
|
-
/**
|
|
140
|
-
* The visible width of the text control, in average character widths. If it is specified, it must be a positive integer.
|
|
141
|
-
*/
|
|
142
|
-
cols;
|
|
143
|
-
/**
|
|
144
|
-
* The number of visible text lines for the control.
|
|
145
|
-
*/
|
|
146
|
-
rows;
|
|
147
|
-
/**
|
|
148
|
-
* Indicates how the control wraps text.
|
|
149
|
-
*/
|
|
150
|
-
wrap;
|
|
151
|
-
/**
|
|
152
|
-
* If `true`, the textarea container will grow and shrink based
|
|
153
|
-
* on the contents of the textarea.
|
|
154
|
-
*/
|
|
155
|
-
autoGrow = false;
|
|
156
|
-
/**
|
|
157
|
-
* The value of the textarea.
|
|
158
|
-
*/
|
|
159
|
-
value = '';
|
|
160
|
-
/**
|
|
161
|
-
* If `true`, a character counter will display the ratio of characters used and the total character limit.
|
|
162
|
-
* Developers must also set the `maxlength` property for the counter to be calculated correctly.
|
|
163
|
-
*/
|
|
164
|
-
counter = false;
|
|
165
|
-
/**
|
|
166
|
-
* A callback used to format the counter text.
|
|
167
|
-
* By default the counter text is set to "itemLength / maxLength".
|
|
168
|
-
*
|
|
169
|
-
* See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
|
|
170
|
-
* if you need to access `this` from within the callback.
|
|
171
|
-
*/
|
|
172
|
-
counterFormatter;
|
|
173
|
-
/**
|
|
174
|
-
* Text that is placed under the textarea and displayed when an error is detected.
|
|
175
|
-
*/
|
|
176
|
-
errorText;
|
|
177
|
-
/**
|
|
178
|
-
* Text that is placed under the textarea and displayed when no error is detected.
|
|
179
|
-
*/
|
|
180
|
-
helperText;
|
|
181
|
-
/**
|
|
182
|
-
* The visible label associated with the textarea.
|
|
183
|
-
*
|
|
184
|
-
* Use this if you need to render a plaintext label.
|
|
185
|
-
*
|
|
186
|
-
* The `label` property will take priority over the `label` slot if both are used.
|
|
187
|
-
*/
|
|
188
|
-
label;
|
|
189
|
-
/**
|
|
190
|
-
* Where to place the label relative to the textarea.
|
|
191
|
-
* `"start"`: The label will appear to the left of the textarea in LTR and to the right in RTL.
|
|
192
|
-
* `"end"`: The label will appear to the right of the textarea in LTR and to the left in RTL.
|
|
193
|
-
* `"floating"`: The label will appear smaller and above the textarea when the textarea is focused or it has a value. Otherwise it will appear on top of the textarea.
|
|
194
|
-
* `"stacked"`: The label will appear smaller and above the textarea regardless even when the textarea is blurred or has no value.
|
|
195
|
-
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
196
|
-
*/
|
|
197
|
-
labelPlacement = 'start';
|
|
198
|
-
/**
|
|
199
|
-
* The shape of the textarea. If "round" it will have an increased border radius.
|
|
200
|
-
*/
|
|
201
|
-
shape;
|
|
177
|
+
disabledChanged() {
|
|
178
|
+
this.updateElementInternals();
|
|
179
|
+
}
|
|
202
180
|
/**
|
|
203
181
|
* Update the native input element when the value changes
|
|
204
182
|
*/
|
|
@@ -208,8 +186,22 @@ export class Textarea {
|
|
|
208
186
|
if (nativeInput && nativeInput.value !== value) {
|
|
209
187
|
nativeInput.value = value;
|
|
210
188
|
}
|
|
189
|
+
this.updateElementInternals();
|
|
211
190
|
this.runAutoGrow();
|
|
212
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Update native input and element internals when required prop changes
|
|
194
|
+
*/
|
|
195
|
+
requiredChanged() {
|
|
196
|
+
// Explicitly update the native element's required attribute to ensure
|
|
197
|
+
// browser validation works correctly when required changes dynamically.
|
|
198
|
+
// While the template binding should handle this, we need to update it
|
|
199
|
+
// synchronously for the browser's validation to recognize the change.
|
|
200
|
+
if (this.nativeInput) {
|
|
201
|
+
this.nativeInput.required = this.required;
|
|
202
|
+
}
|
|
203
|
+
this.updateElementInternals();
|
|
204
|
+
}
|
|
213
205
|
/**
|
|
214
206
|
* dir is a globally enumerated attribute.
|
|
215
207
|
* As a result, creating these as properties
|
|
@@ -218,37 +210,9 @@ export class Textarea {
|
|
|
218
210
|
* to the inner `<textarea>` element.
|
|
219
211
|
*/
|
|
220
212
|
onDirChanged(newValue) {
|
|
221
|
-
this.inheritedAttributes = {
|
|
222
|
-
...this.inheritedAttributes,
|
|
223
|
-
dir: newValue,
|
|
224
|
-
};
|
|
213
|
+
this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { dir: newValue });
|
|
225
214
|
forceUpdate(this);
|
|
226
215
|
}
|
|
227
|
-
/**
|
|
228
|
-
* The `ionChange` event is fired when the user modifies the textarea's value.
|
|
229
|
-
* Unlike the `ionInput` event, the `ionChange` event is fired when
|
|
230
|
-
* the element loses focus after its value has been modified.
|
|
231
|
-
*
|
|
232
|
-
* This event will not emit when programmatically setting the `value` property.
|
|
233
|
-
*/
|
|
234
|
-
ionChange;
|
|
235
|
-
/**
|
|
236
|
-
* The `ionInput` event is fired each time the user modifies the textarea's value.
|
|
237
|
-
* Unlike the `ionChange` event, the `ionInput` event is fired for each alteration
|
|
238
|
-
* to the textarea's value. This typically happens for each keystroke as the user types.
|
|
239
|
-
*
|
|
240
|
-
* When `clearOnEdit` is enabled, the `ionInput` event will be fired when
|
|
241
|
-
* the user clears the textarea by performing a keydown event.
|
|
242
|
-
*/
|
|
243
|
-
ionInput;
|
|
244
|
-
/**
|
|
245
|
-
* Emitted when the input loses focus.
|
|
246
|
-
*/
|
|
247
|
-
ionBlur;
|
|
248
|
-
/**
|
|
249
|
-
* Emitted when the input has focus.
|
|
250
|
-
*/
|
|
251
|
-
ionFocus;
|
|
252
216
|
/**
|
|
253
217
|
* This prevents the native input from emitting the click event.
|
|
254
218
|
* Instead, the click event from the ion-textarea is emitted.
|
|
@@ -262,15 +226,8 @@ export class Textarea {
|
|
|
262
226
|
}
|
|
263
227
|
connectedCallback() {
|
|
264
228
|
const { el } = this;
|
|
265
|
-
this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () =>
|
|
266
|
-
this.startContainerController?.calculateStartContainerWidth();
|
|
267
|
-
forceUpdate(this);
|
|
268
|
-
});
|
|
229
|
+
this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate(this));
|
|
269
230
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
270
|
-
this.startContainerController = createStartContainerController(el, () => this.startContainerEl, () => {
|
|
271
|
-
return Build.isBrowser && getIonMode(this) === 'md' && this.fill === 'outline';
|
|
272
|
-
});
|
|
273
|
-
this.startContainerController.calculateStartContainerWidth();
|
|
274
231
|
// Watch for class changes to update validation state
|
|
275
232
|
if (Build.isBrowser && typeof MutationObserver !== 'undefined') {
|
|
276
233
|
this.validationObserver = new MutationObserver(() => {
|
|
@@ -309,10 +266,6 @@ export class Textarea {
|
|
|
309
266
|
this.notchController.destroy();
|
|
310
267
|
this.notchController = undefined;
|
|
311
268
|
}
|
|
312
|
-
if (this.startContainerController) {
|
|
313
|
-
this.startContainerController.destroy();
|
|
314
|
-
this.startContainerController = undefined;
|
|
315
|
-
}
|
|
316
269
|
// Clean up validation observer to prevent memory leaks
|
|
317
270
|
if (this.validationObserver) {
|
|
318
271
|
this.validationObserver.disconnect();
|
|
@@ -320,18 +273,22 @@ export class Textarea {
|
|
|
320
273
|
}
|
|
321
274
|
}
|
|
322
275
|
componentWillLoad() {
|
|
323
|
-
this.inheritedAttributes = {
|
|
324
|
-
...inheritAriaAttributes(this.el),
|
|
325
|
-
...inheritAttributes(this.el, ['data-form-type', 'title', 'tabindex', 'dir']),
|
|
326
|
-
};
|
|
276
|
+
this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['data-form-type', 'title', 'tabindex', 'dir']));
|
|
327
277
|
}
|
|
328
278
|
componentDidLoad() {
|
|
329
279
|
this.originalIonInput = this.ionInput;
|
|
280
|
+
this.updateElementInternals();
|
|
330
281
|
this.runAutoGrow();
|
|
282
|
+
// Override focus() to delegate to the native textarea.
|
|
283
|
+
// This is needed for Safari and Firefox which don't properly
|
|
284
|
+
// delegate focus when calling focus() directly on the host.
|
|
285
|
+
this.el.focus = () => {
|
|
286
|
+
this.setFocus();
|
|
287
|
+
};
|
|
331
288
|
}
|
|
332
289
|
componentDidRender() {
|
|
333
|
-
|
|
334
|
-
this.
|
|
290
|
+
var _a;
|
|
291
|
+
(_a = this.notchController) === null || _a === void 0 ? void 0 : _a.calculateNotchWidth();
|
|
335
292
|
}
|
|
336
293
|
/**
|
|
337
294
|
* Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global
|
|
@@ -381,10 +338,11 @@ export class Textarea {
|
|
|
381
338
|
runAutoGrow() {
|
|
382
339
|
if (this.nativeInput && this.autoGrow) {
|
|
383
340
|
writeTask(() => {
|
|
341
|
+
var _a;
|
|
384
342
|
if (this.textareaWrapper) {
|
|
385
343
|
// Replicated value is an attribute to be used in the stylesheet
|
|
386
344
|
// to set the inner contents of a pseudo element.
|
|
387
|
-
this.textareaWrapper.dataset.replicatedValue = this.value
|
|
345
|
+
this.textareaWrapper.dataset.replicatedValue = (_a = this.value) !== null && _a !== void 0 ? _a : '';
|
|
388
346
|
}
|
|
389
347
|
});
|
|
390
348
|
}
|
|
@@ -435,47 +393,43 @@ export class Textarea {
|
|
|
435
393
|
getValue() {
|
|
436
394
|
return this.value || '';
|
|
437
395
|
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
this.
|
|
396
|
+
/**
|
|
397
|
+
* Called when the form state is restored.
|
|
398
|
+
* Restores the component's value.
|
|
399
|
+
*/
|
|
400
|
+
formStateRestoreCallback(value) {
|
|
401
|
+
this.value = value;
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Called when the form is reset.
|
|
405
|
+
* Resets the component's value.
|
|
406
|
+
*/
|
|
407
|
+
formResetCallback() {
|
|
408
|
+
this.value = '';
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Updates the form value and reports validity state to the browser via
|
|
412
|
+
* ElementInternals. This should be called when the component loads, when
|
|
413
|
+
* the required prop changes, when the disabled prop changes, and when the value
|
|
414
|
+
* changes to ensure the form value stays in sync and validation state is updated.
|
|
415
|
+
*/
|
|
416
|
+
updateElementInternals() {
|
|
417
|
+
// Disabled form controls should not be included in form data
|
|
418
|
+
// Pass null to setFormValue when disabled to exclude it from form submission
|
|
419
|
+
const value = this.disabled ? null : this.getValue();
|
|
420
|
+
// ElementInternals may not be fully available in test environments
|
|
421
|
+
// so we need to check if the method exists before calling it
|
|
422
|
+
if (typeof this.internals.setFormValue === 'function') {
|
|
423
|
+
this.internals.setFormValue(value);
|
|
466
424
|
}
|
|
467
|
-
this.
|
|
468
|
-
|
|
469
|
-
};
|
|
470
|
-
onKeyDown = (ev) => {
|
|
471
|
-
this.checkClearOnEdit(ev);
|
|
472
|
-
};
|
|
425
|
+
reportValidityToElementInternals(this.nativeInput, this.internals);
|
|
426
|
+
}
|
|
473
427
|
renderLabel() {
|
|
474
428
|
const { label } = this;
|
|
475
429
|
return (h("div", { class: {
|
|
476
430
|
'label-text-wrapper': true,
|
|
477
431
|
'label-text-wrapper-hidden': !this.hasLabel,
|
|
478
|
-
} }, label === undefined ? h("slot", { name: "label" }) : h("div", { class: "label-text" }, label)));
|
|
432
|
+
}, part: "label" }, label === undefined ? h("slot", { name: "label" }) : h("div", { class: "label-text" }, label)));
|
|
479
433
|
}
|
|
480
434
|
/**
|
|
481
435
|
* Gets any content passed into the `label` slot,
|
|
@@ -493,30 +447,50 @@ export class Textarea {
|
|
|
493
447
|
get hasLabel() {
|
|
494
448
|
return this.label !== undefined || this.labelSlot !== null;
|
|
495
449
|
}
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
const
|
|
507
|
-
|
|
508
|
-
if (
|
|
509
|
-
|
|
450
|
+
getFill() {
|
|
451
|
+
const theme = getIonTheme(this);
|
|
452
|
+
const { fill } = this;
|
|
453
|
+
if (theme === 'ionic' && fill === undefined) {
|
|
454
|
+
return 'outline';
|
|
455
|
+
}
|
|
456
|
+
return fill;
|
|
457
|
+
}
|
|
458
|
+
getShape() {
|
|
459
|
+
const theme = getIonTheme(this);
|
|
460
|
+
const { shape } = this;
|
|
461
|
+
// TODO(ROU-11050): Update theme check when shapes are defined for all themes.
|
|
462
|
+
if (theme === 'ionic' && shape === undefined) {
|
|
463
|
+
return 'round';
|
|
510
464
|
}
|
|
511
|
-
|
|
465
|
+
return shape;
|
|
466
|
+
}
|
|
512
467
|
/**
|
|
513
|
-
* Renders the
|
|
468
|
+
* Renders the border container when fill="outline".
|
|
514
469
|
*/
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
470
|
+
renderLabelContainer() {
|
|
471
|
+
const theme = getIonTheme(this);
|
|
472
|
+
const hasOutlineFill = theme === 'md' && this.fill === 'outline';
|
|
473
|
+
if (hasOutlineFill) {
|
|
474
|
+
/**
|
|
475
|
+
* The outline fill has a special outline
|
|
476
|
+
* that appears around the textarea and the label.
|
|
477
|
+
* Certain stacked and floating label placements cause the
|
|
478
|
+
* label to translate up and create a "cut out"
|
|
479
|
+
* inside of that border by using the notch-spacer element.
|
|
480
|
+
*/
|
|
481
|
+
return [
|
|
482
|
+
h("div", { class: "textarea-outline-container" }, h("div", { class: "textarea-outline-start" }), h("div", { class: {
|
|
483
|
+
'textarea-outline-notch': true,
|
|
484
|
+
'textarea-outline-notch-hidden': !this.hasLabel,
|
|
485
|
+
} }, h("div", { class: "notch-spacer", "aria-hidden": "true", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h("div", { class: "textarea-outline-end" })),
|
|
486
|
+
this.renderLabel(),
|
|
487
|
+
];
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* If not using the outline style,
|
|
491
|
+
* we can render just the label.
|
|
492
|
+
*/
|
|
493
|
+
return this.renderLabel();
|
|
520
494
|
}
|
|
521
495
|
/**
|
|
522
496
|
* Renders the helper text or error text values
|
|
@@ -524,8 +498,8 @@ export class Textarea {
|
|
|
524
498
|
renderHintText() {
|
|
525
499
|
const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
|
|
526
500
|
return [
|
|
527
|
-
h("div", { id: helperTextId, class: "helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null),
|
|
528
|
-
h("div", { id: errorTextId, class: "error-text", role: "alert" }, isInvalid ? errorText : null),
|
|
501
|
+
h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null),
|
|
502
|
+
h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text", role: "alert" }, isInvalid ? errorText : null),
|
|
529
503
|
];
|
|
530
504
|
}
|
|
531
505
|
getHintTextID() {
|
|
@@ -543,7 +517,7 @@ export class Textarea {
|
|
|
543
517
|
if (counter !== true || maxlength === undefined) {
|
|
544
518
|
return;
|
|
545
519
|
}
|
|
546
|
-
return h("div", { class: "counter" }, getCounterText(value, maxlength, counterFormatter));
|
|
520
|
+
return (h("div", { class: "counter", part: "counter" }, getCounterText(value, maxlength, counterFormatter)));
|
|
547
521
|
}
|
|
548
522
|
/**
|
|
549
523
|
* Responsible for rendering helper text,
|
|
@@ -561,45 +535,76 @@ export class Textarea {
|
|
|
561
535
|
if (!hasHintText && !hasCounter) {
|
|
562
536
|
return;
|
|
563
537
|
}
|
|
564
|
-
return (h("div", { class: "textarea-bottom" }, this.renderHintText(), this.renderCounter()));
|
|
538
|
+
return (h("div", { class: "textarea-bottom", part: "bottom" }, this.renderHintText(), this.renderCounter()));
|
|
565
539
|
}
|
|
566
540
|
render() {
|
|
567
|
-
const { inputId, disabled,
|
|
568
|
-
const
|
|
541
|
+
const { inputId, disabled, readonly, size, labelPlacement, el, hasFocus } = this;
|
|
542
|
+
const fill = this.getFill();
|
|
543
|
+
const theme = getIonTheme(this);
|
|
544
|
+
const shape = this.getShape();
|
|
569
545
|
const value = this.getValue();
|
|
570
546
|
const inItem = hostContext('ion-item', this.el);
|
|
571
|
-
const shouldRenderHighlight =
|
|
547
|
+
const shouldRenderHighlight = theme === 'md' && fill !== 'outline' && !inItem;
|
|
572
548
|
const hasValue = this.hasValue();
|
|
573
|
-
const
|
|
549
|
+
const hasStartEndSlots = el.querySelector('[slot="start"], [slot="end"]') !== null;
|
|
574
550
|
/**
|
|
575
551
|
* If the label is stacked, it should always sit above the textarea.
|
|
576
552
|
* For floating labels, the label should move above the textarea if
|
|
577
|
-
* the textarea has a value or
|
|
553
|
+
* the textarea has a value, is focused, or has anything in either
|
|
554
|
+
* the start or end slot.
|
|
555
|
+
*
|
|
556
|
+
* If there is content in the start slot, the label would overlap
|
|
557
|
+
* it if not forced to float. This is also applied to the end slot
|
|
558
|
+
* because with the default or solid fills, the textarea is not
|
|
559
|
+
* vertically centered in the container, but the label is. This
|
|
560
|
+
* causes the slots and label to appear vertically offset from each
|
|
561
|
+
* other when the label isn't floating above the input. This doesn't
|
|
562
|
+
* apply to the outline fill, but this was not accounted for to keep
|
|
563
|
+
* things consistent.
|
|
564
|
+
*
|
|
565
|
+
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
578
566
|
*/
|
|
579
|
-
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus));
|
|
580
|
-
return (h(Host, { key: '
|
|
581
|
-
[
|
|
567
|
+
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
568
|
+
return (h(Host, { key: 'b613bb449100c5d7a982ffb0a39ea6324e8eb6ea', class: createColorClasses(this.color, {
|
|
569
|
+
[theme]: true,
|
|
582
570
|
'has-value': hasValue,
|
|
583
571
|
'has-focus': hasFocus,
|
|
584
572
|
'label-floating': labelShouldFloat,
|
|
585
573
|
[`textarea-fill-${fill}`]: fill !== undefined,
|
|
586
574
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
575
|
+
[`textarea-size-${size}`]: true,
|
|
587
576
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
577
|
+
'in-item': inItem,
|
|
588
578
|
'textarea-disabled': disabled,
|
|
589
|
-
|
|
579
|
+
'textarea-readonly': readonly,
|
|
580
|
+
}) }, h("label", { key: '08a603a3fa102701d756d36d4d5d2d5e01f2895f', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '076362fb04fa45e89c2ecb46b51937ab80026e34', class: "textarea-wrapper-inner" },
|
|
581
|
+
/**
|
|
582
|
+
* For the ionic theme, we render the outline container here
|
|
583
|
+
* instead of higher up, so it can be positioned relative to
|
|
584
|
+
* the native wrapper instead of the <label> element or the
|
|
585
|
+
* entire component. This allows the label text to be positioned
|
|
586
|
+
* above the outline, while staying within the bounds of the
|
|
587
|
+
* <label> element, ensuring that clicking the label text
|
|
588
|
+
* focuses the textarea.
|
|
589
|
+
*/
|
|
590
|
+
theme === 'ionic' && fill === 'outline' && h("div", { key: '2baacd12528f1da1e8442cf73367e985831d30fa', class: "textarea-outline" }), h("div", { key: '2cbb11940c93eefa3c8aee37a4abec1287600cdc', class: "start-slot-wrapper" }, h("slot", { key: 'a5036f96342252e34440e1c69147179f433b65cf', name: "start" })), h("div", { key: '7fe6ef38994528bda8f60ef05ce63172220a19f3', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el), part: "container" }, h("textarea", Object.assign({ key: '3b34140264bda8dea770c26b6918c837028e249f', 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: 'fdc551f7e180ca3b8a147453710a330cd28ca60f', class: "end-slot-wrapper" }, h("slot", { key: '135cef89f5341fd1cbbe5e54540cc29308338335', name: "end" }))), shouldRenderHighlight && h("div", { key: '8ffde39c6795139dd50100e09acdccd993a85ed8', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
590
591
|
}
|
|
591
592
|
static get is() { return "ion-textarea"; }
|
|
592
|
-
static get encapsulation() { return "
|
|
593
|
+
static get encapsulation() { return "shadow"; }
|
|
594
|
+
static get delegatesFocus() { return true; }
|
|
595
|
+
static get formAssociated() { return true; }
|
|
593
596
|
static get originalStyleUrls() {
|
|
594
597
|
return {
|
|
595
598
|
"ios": ["textarea.ios.scss"],
|
|
596
|
-
"md": ["textarea.md.scss"]
|
|
599
|
+
"md": ["textarea.md.scss"],
|
|
600
|
+
"ionic": ["textarea.ionic.scss"]
|
|
597
601
|
};
|
|
598
602
|
}
|
|
599
603
|
static get styleUrls() {
|
|
600
604
|
return {
|
|
601
605
|
"ios": ["textarea.ios.css"],
|
|
602
|
-
"md": ["textarea.md.css"]
|
|
606
|
+
"md": ["textarea.md.css"],
|
|
607
|
+
"ionic": ["textarea.ionic.css"]
|
|
603
608
|
};
|
|
604
609
|
}
|
|
605
610
|
static get properties() {
|
|
@@ -741,7 +746,7 @@ export class Textarea {
|
|
|
741
746
|
"optional": true,
|
|
742
747
|
"docs": {
|
|
743
748
|
"tags": [],
|
|
744
|
-
"text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available
|
|
749
|
+
"text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available when the theme is `\"md\"`."
|
|
745
750
|
},
|
|
746
751
|
"getter": false,
|
|
747
752
|
"setter": false,
|
|
@@ -899,7 +904,7 @@ export class Textarea {
|
|
|
899
904
|
},
|
|
900
905
|
"getter": false,
|
|
901
906
|
"setter": false,
|
|
902
|
-
"reflect":
|
|
907
|
+
"reflect": true,
|
|
903
908
|
"attribute": "required",
|
|
904
909
|
"defaultValue": "false"
|
|
905
910
|
},
|
|
@@ -1138,20 +1143,40 @@ export class Textarea {
|
|
|
1138
1143
|
"type": "string",
|
|
1139
1144
|
"mutable": false,
|
|
1140
1145
|
"complexType": {
|
|
1141
|
-
"original": "'round'",
|
|
1142
|
-
"resolved": "\"round\" | undefined",
|
|
1146
|
+
"original": "'soft' | 'round' | 'rectangular'",
|
|
1147
|
+
"resolved": "\"rectangular\" | \"round\" | \"soft\" | undefined",
|
|
1143
1148
|
"references": {}
|
|
1144
1149
|
},
|
|
1145
1150
|
"required": false,
|
|
1146
1151
|
"optional": true,
|
|
1147
1152
|
"docs": {
|
|
1148
1153
|
"tags": [],
|
|
1149
|
-
"text": "
|
|
1154
|
+
"text": "Set to `\"soft\"` for a textarea with slightly rounded corners,\n`\"round\"` for a textarea with fully rounded corners, or `\"rectangular\"`\nfor a textarea without rounded corners.\n\nDefaults to `\"round\"` for the `ionic` theme, undefined for all other themes."
|
|
1150
1155
|
},
|
|
1151
1156
|
"getter": false,
|
|
1152
1157
|
"setter": false,
|
|
1153
1158
|
"reflect": false,
|
|
1154
1159
|
"attribute": "shape"
|
|
1160
|
+
},
|
|
1161
|
+
"size": {
|
|
1162
|
+
"type": "string",
|
|
1163
|
+
"mutable": false,
|
|
1164
|
+
"complexType": {
|
|
1165
|
+
"original": "'small' | 'medium' | 'large'",
|
|
1166
|
+
"resolved": "\"large\" | \"medium\" | \"small\" | undefined",
|
|
1167
|
+
"references": {}
|
|
1168
|
+
},
|
|
1169
|
+
"required": false,
|
|
1170
|
+
"optional": true,
|
|
1171
|
+
"docs": {
|
|
1172
|
+
"tags": [],
|
|
1173
|
+
"text": "The size of the textarea. If \"large\" it will increase the height of the textarea, while\n\"small\" and \"medium\" provide progressively smaller heights. The default size is \"medium\".\nThis property only applies to the `\"ionic\"` theme."
|
|
1174
|
+
},
|
|
1175
|
+
"getter": false,
|
|
1176
|
+
"setter": false,
|
|
1177
|
+
"reflect": false,
|
|
1178
|
+
"attribute": "size",
|
|
1179
|
+
"defaultValue": "'medium'"
|
|
1155
1180
|
}
|
|
1156
1181
|
};
|
|
1157
1182
|
}
|
|
@@ -1295,9 +1320,15 @@ export class Textarea {
|
|
|
1295
1320
|
return [{
|
|
1296
1321
|
"propName": "debounce",
|
|
1297
1322
|
"methodName": "debounceChanged"
|
|
1323
|
+
}, {
|
|
1324
|
+
"propName": "disabled",
|
|
1325
|
+
"methodName": "disabledChanged"
|
|
1298
1326
|
}, {
|
|
1299
1327
|
"propName": "value",
|
|
1300
1328
|
"methodName": "valueChanged"
|
|
1329
|
+
}, {
|
|
1330
|
+
"propName": "required",
|
|
1331
|
+
"methodName": "requiredChanged"
|
|
1301
1332
|
}, {
|
|
1302
1333
|
"propName": "dir",
|
|
1303
1334
|
"methodName": "onDirChanged"
|
|
@@ -1312,5 +1343,6 @@ export class Textarea {
|
|
|
1312
1343
|
"passive": false
|
|
1313
1344
|
}];
|
|
1314
1345
|
}
|
|
1346
|
+
static get attachInternalsMemberName() { return "internals"; }
|
|
1315
1347
|
}
|
|
1316
1348
|
let textareaIds = 0;
|