@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
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent,
|
|
5
|
-
import { c as
|
|
6
|
-
import { c as checkInvalidState } from './validity-
|
|
7
|
-
import { d as debounceEvent,
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import './
|
|
12
|
-
import './dir-
|
|
4
|
+
import { r as registerInstance, c as createEvent, i as forceUpdate, w as writeTask, h, d as Host, g as getElement } from './index-C0EQceqV.js';
|
|
5
|
+
import { c as createNotchController } from './notch-controller-BYB7mUMg.js';
|
|
6
|
+
import { c as checkInvalidState, r as reportValidityToElementInternals } from './validity-BjW8SOqw.js';
|
|
7
|
+
import { d as debounceEvent, i as inheritAriaAttributes, b as inheritAttributes, c as componentOnReady } from './helpers-ChPZH7zh.js';
|
|
8
|
+
import { c as createSlotMutationController, g as getCounterText } from './input.utils-DhJNJPiU.js';
|
|
9
|
+
import { h as hostContext, c as createColorClasses } from './theme-DaJxRxSQ.js';
|
|
10
|
+
import { c as getIonTheme } from './ionic-global-BJDU78B6.js';
|
|
11
|
+
import './focus-visible-vXpMhGrs.js';
|
|
12
|
+
import './dir-o8OKV5aD.js';
|
|
13
13
|
|
|
14
|
-
const textareaIosCss = () => `.sc-ion-textarea-ios-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--padding-top:0;--padding-end:0;--padding-bottom:8px;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}[cols].sc-ion-textarea-ios-h:not([auto-grow]){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.ion-color.sc-ion-textarea-ios-h{--highlight-color-focused:var(--ion-color-base);background:initial}ion-item.sc-ion-textarea-ios-h,ion-item .sc-ion-textarea-ios-h{-ms-flex-item-align:baseline;align-self:baseline}ion-item[slot=start].sc-ion-textarea-ios-h,ion-item [slot=start].sc-ion-textarea-ios-h,ion-item[slot=end].sc-ion-textarea-ios-h,ion-item [slot=end].sc-ion-textarea-ios-h{width:auto}.native-textarea.sc-ion-textarea-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea.sc-ion-textarea-ios::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input.sc-ion-textarea-ios{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input.sc-ion-textarea-ios:disabled{opacity:1}[auto-grow].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{height:100%}[auto-grow].sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios{overflow:hidden}.textarea-wrapper.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0;padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.textarea-control.sc-ion-textarea-ios{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:start;-ms-flex-item-align:stretch;align-self:stretch;width:100%;min-width:0}.native-wrapper.sc-ion-textarea-ios{position:relative;width:100%;height:100%}.textarea-label-placement-start.sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios,.textarea-label-placement-end.sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios,.textarea-label-placement-fixed.sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios{-ms-flex:1 1 0px;flex:1 1 0}.has-focus.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{caret-color:var(--highlight-color)}.native-wrapper.sc-ion-textarea-ios{display:grid;min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit;grid-auto-rows:100%}.native-wrapper.sc-ion-textarea-ios::after{white-space:pre-wrap;content:attr(data-replicated-value) " ";visibility:hidden}.native-wrapper.sc-ion-textarea-ios::after{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-valid)}.textarea-bottom.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}.has-focus.ion-valid.sc-ion-textarea-ios-h,.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--border-color:var(--highlight-color)}.textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:none;color:var(--highlight-color-invalid)}.textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:block}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:none}.textarea-bottom.sc-ion-textarea-ios .counter.sc-ion-textarea-ios{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}.label-text-wrapper.sc-ion-textarea-ios{min-width:0;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.skip-label-transition.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transition:none;transition:none}.label-text.sc-ion-textarea-ios,.sc-ion-textarea-ios-s>[slot=label]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden.sc-ion-textarea-ios,.textarea-outline-notch-hidden.sc-ion-textarea-ios{display:none}.textarea-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-label-placement-start.sc-ion-textarea-ios-h .textarea-control.sc-ion-textarea-ios{-ms-flex-direction:row;flex-direction:row}.textarea-label-placement-start.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-end.sc-ion-textarea-ios-h .textarea-control.sc-ion-textarea-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.textarea-label-placement-end.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text.sc-ion-textarea-ios{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.textarea-label-placement-stacked.sc-ion-textarea-ios-h,.textarea-label-placement-floating.sc-ion-textarea-ios-h{--padding-top:20px;--padding-bottom:6px}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .textarea-control.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .textarea-control.sc-ion-textarea-ios{padding-top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:left top;transform-origin:left top;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;max-width:100%;z-index:2}[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.textarea-label-placement-stacked.sc-ion-textarea-ios-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}}.textarea-label-placement-stacked.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-stacked[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after,.textarea-label-placement-floating[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:0}.has-focus.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.has-value.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:1}.label-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.textarea-start.sc-ion-textarea-ios,.textarea-end.sc-ion-textarea-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:start;align-self:start}.sc-ion-textarea-ios-s>[slot=start],.sc-ion-textarea-ios-s>[slot=end]{margin-top:var(--padding-top)}.sc-ion-textarea-ios-s>[slot=start]:last-of-type{-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}.sc-ion-textarea-ios-s>[slot=end]:first-of-type{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}.sc-ion-textarea-ios-h{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--padding-top:10px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;--highlight-height:0px;font-size:inherit}.textarea-label-placement-floating.sc-ion-textarea-ios-h,.textarea-label-placement-stacked.sc-ion-textarea-ios-h{min-height:56px}.textarea-disabled.sc-ion-textarea-ios-h{opacity:0.3}.sc-ion-textarea-ios-s>ion-button[slot=start],.sc-ion-textarea-ios-s>ion-button[slot=end]{margin-top:2px}.sc-ion-textarea-ios-h.textarea-label-placement-floating.sc-ion-textarea-ios-s>ion-button[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-floating .sc-ion-textarea-ios-s>ion-button[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-floating.sc-ion-textarea-ios-s>ion-button[slot=end],.sc-ion-textarea-ios-h.textarea-label-placement-floating .sc-ion-textarea-ios-s>ion-button[slot=end],.sc-ion-textarea-ios-h.textarea-label-placement-stacked.sc-ion-textarea-ios-s>ion-button[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-stacked .sc-ion-textarea-ios-s>ion-button[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-stacked.sc-ion-textarea-ios-s>ion-button[slot=end],.sc-ion-textarea-ios-h.textarea-label-placement-stacked .sc-ion-textarea-ios-s>ion-button[slot=end]{margin-top:10px}.sc-ion-textarea-ios-s>ion-button[slot=start].button-has-icon-only,.sc-ion-textarea-ios-s>ion-button[slot=end].button-has-icon-only{--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}`;
|
|
14
|
+
const textareaIonicCss = () => `:host{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--padding-top:0;--padding-end:0;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box}:host([cols]:not([auto-grow])){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}:host(.ion-color){background:initial}:host(.in-item){-ms-flex-item-align:baseline;align-self:baseline}:host(.in-item[slot=start]),:host(.in-item[slot=end]){width:auto}.native-textarea{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input:disabled{opacity:1}:host([auto-grow]) .cloned-input{height:100%}:host([auto-grow]) .native-textarea{overflow:hidden}.textarea-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0px;padding-bottom:0px;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper{position:relative;width:100%;height:100%}:host(.has-focus) textarea{caret-color:var(--highlight-color)}.native-wrapper{display:grid;min-width:inherit;max-width:inherit;grid-auto-rows:100%}.native-wrapper::after{white-space:pre-wrap;content:attr(data-replicated-value) " ";visibility:hidden}.native-wrapper::after{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.textarea-wrapper-inner{display:-ms-flexbox;display:flex;width:100%;min-height:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.textarea-bottom{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);white-space:normal}:host(.has-focus.ion-valid),:host(.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.textarea-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.textarea-bottom .helper-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .helper-text{display:none}.textarea-bottom .counter{-webkit-margin-start:auto;margin-inline-start:auto;white-space:nowrap}.label-text-wrapper{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.textarea-outline{-webkit-box-sizing:border-box;box-sizing:border-box}.label-text-wrapper-hidden,.textarea-outline-notch-hidden{display:none}:host(.textarea-label-placement-start) .textarea-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.textarea-label-placement-end) .textarea-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.textarea-label-placement-stacked) .textarea-wrapper,:host(.textarea-label-placement-floating) .textarea-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.textarea-label-placement-stacked) .label-text-wrapper,:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;max-width:100%;z-index:2}:host-context([dir=rtl]):host(.textarea-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-stacked .label-text-wrapper,:host-context([dir=rtl]):host(.textarea-label-placement-floating) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-floating .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.textarea-label-placement-stacked:dir(rtl)) .label-text-wrapper,:host(.textarea-label-placement-floating:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.textarea-label-placement-floating) textarea{opacity:0}:host(.has-focus.textarea-label-placement-floating) textarea,:host(.has-value.textarea-label-placement-floating) textarea{opacity:1}.start-slot-wrapper,.end-slot-wrapper{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:start;align-self:start}:host(.textarea-fill-outline){--border-width:var(--token-border-size-025, var(--token-scale-025, 1px));--border-color:var(--token-border-input-default, var(--token-primitives-neutral-600, #8c8c8c))}:host(.textarea-fill-outline) .textarea-wrapper{background:initial}:host(.textarea-fill-outline) .textarea-wrapper-inner{position:relative}:host(.textarea-fill-outline) .textarea-outline{right:0;left:0;top:0;bottom:0;border-radius:var(--border-radius);position:absolute;width:100%;height:100%;pointer-events:none;border:var(--border-width) var(--border-style) var(--border-color);background:var(--background)}:host(.textarea-fill-outline) .textarea-bottom{border-top:none}:host(.textarea-fill-outline.has-focus.ion-valid),:host(.textarea-fill-outline.ion-touched.ion-invalid){--border-color:var(--highlight-color)}:host(.textarea-fill-outline.textarea-readonly){--border-color:var(--token-border-input-default, var(--token-primitives-neutral-600, #8c8c8c));--border-width:var(--token-border-size-025, var(--token-scale-025, 1px))}:host(.textarea-fill-solid){--border-color:var(--token-bg-input-bold-default, var(--token-primitives-neutral-200, #eae9e9));--border-width:var(--token-border-size-050, var(--token-scale-050, 2px));--background:var(--token-bg-input-bold-default, var(--token-primitives-neutral-200, #eae9e9))}:host(.textarea-fill-solid) .textarea-wrapper{border-bottom:none;background:none}:host(.textarea-fill-solid) .textarea-wrapper-inner{border-radius:var(--border-radius);position:relative;border:var(--border-width) var(--border-style) var(--border-color);background:var(--background)}:host(.textarea-fill-solid) .textarea-bottom{--border-width:var(--token-scale-0, 0px)}:host(.textarea-fill-solid.has-focus){--border-color:var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7))}:host(.textarea-fill-solid.has-focus.ion-valid),:host(.textarea-fill-solid.ion-touched.ion-invalid){--border-width:var(--token-border-size-050, var(--token-scale-050, 2px));--border-color:var(--highlight-color)}:host(.textarea-fill-solid.textarea-readonly){--background:var(--token-bg-input-bold-read-only, var(--token-primitives-neutral-300, #e0e0e0));--border-color:var(--token-bg-input-bold-read-only, var(--token-primitives-neutral-300, #e0e0e0))}:host(.textarea-fill-solid.textarea-readonly.ion-invalid){--border-color:rgba(var(--token-semantics-danger-base-rgb, 229, 41, 41), 0.6)}:host(.textarea-fill-solid.textarea-disabled){--background:var(--token-bg-input-bold-disabled, var(--token-primitives-neutral-300, #e0e0e0));--border-color:var(--token-bg-input-bold-disabled, var(--token-primitives-neutral-300, #e0e0e0))}:host{--border-color:var(--token-border-input-default, var(--token-primitives-neutral-600, #8c8c8c));--color:var(--token-text-default, var(--token-primitives-neutral-1200, #242424));--highlight-color-valid:var(--token-text-success, var(--token-semantics-success-900, var(--token-primitives-green-900, #126f23)));--highlight-color-invalid:var(--token-semantics-danger-800, var(--token-primitives-red-800, #bf2222));--highlight-color-focused:var(--ion-color-primary, var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)))));--placeholder-color:var(--token-text-subtlest, var(--token-primitives-neutral-800, #626262));--placeholder-opacity:1;--background:var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));--padding-bottom:var(--token-space-200, var(--token-scale-200, 8px));font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-regular, 400);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.textarea-size-small) .textarea-wrapper-inner{--padding-top:var(--token-space-200, var(--token-scale-200, 8px));--padding-end:var(--token-space-300, var(--token-scale-300, 12px));--padding-bottom:var(--token-space-200, var(--token-scale-200, 8px));--padding-start:var(--token-space-300, var(--token-scale-300, 12px))}:host(.textarea-size-medium) .textarea-wrapper-inner{--padding-top:var(--token-space-300, var(--token-scale-300, 12px));--padding-end:var(--token-space-400, var(--token-scale-400, 16px));--padding-bottom:var(--token-space-300, var(--token-scale-300, 12px));--padding-start:var(--token-space-400, var(--token-scale-400, 16px))}:host(.textarea-size-large) .textarea-wrapper-inner{--padding-top:var(--token-space-400, var(--token-scale-400, 16px));--padding-end:var(--token-space-500, var(--token-scale-500, 20px));--padding-bottom:var(--token-space-400, var(--token-scale-400, 16px));--padding-start:var(--token-space-500, var(--token-scale-500, 20px))}:host .native-wrapper::after{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host(.textarea-shape-soft){--border-radius:var(--token-soft-xl, var(--token-border-radius-200, var(--token-scale-200, 8px)))}:host(.textarea-shape-round){--border-radius:var(--token-round-xl, var(--token-border-radius-400, var(--token-scale-400, 16px)))}:host(.textarea-shape-rectangular){--border-radius:var(--token-rectangular-xl, var(--token-border-radius-0, var(--token-scale-0, 0px)))}:host([auto-grow]) .textarea-wrapper-inner{height:auto}:host([auto-grow]) .native-wrapper{min-height:inherit;max-height:inherit}.textarea-wrapper{gap:var(--token-space-100, var(--token-scale-100, 4px))}.textarea-wrapper-inner{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host([rows]:not([auto-grow])) .textarea-wrapper-inner{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0;padding-bottom:0}:host([rows]:not([auto-grow])) .textarea-wrapper-inner .native-textarea{padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host(.has-focus.ion-valid),:host(.ion-touched.ion-invalid){--border-width:var(--token-border-size-025, var(--token-scale-025, 1px))}.textarea-highlight{bottom:-1px;position:absolute;width:100%;height:var(--token-border-size-050, var(--token-scale-050, 2px));-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform var(--token-transition-time-200, 200ms);transition:-webkit-transform var(--token-transition-time-200, 200ms);transition:transform var(--token-transition-time-200, 200ms);transition:transform var(--token-transition-time-200, 200ms), -webkit-transform var(--token-transition-time-200, 200ms);background:var(--border-color)}.textarea-highlight{inset-inline-start:0}.textarea-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--token-space-100, var(--token-scale-100, 4px));font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none}.textarea-bottom .error-text{color:var(--token-text-danger, var(--token-semantics-danger-900, var(--token-primitives-red-900, #991b1b)))}.textarea-bottom .helper-text,.textarea-bottom .counter{color:var(--token-text-subtlest, var(--token-primitives-neutral-800, #626262))}:host(.has-focus.ion-valid) .helper-text{color:var(--highlight-color-valid)}.label-text-wrapper{font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none;max-width:var(--token-scale-5000, 200px);-webkit-transition:color var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1)), -webkit-transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));transition:color var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1)), -webkit-transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));transition:color var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1)), transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));transition:color var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1)), transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1)), -webkit-transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));color:var(--token-text-subtle, var(--token-primitives-neutral-1000, #3b3b3b))}:host(.label-floating) .label-text-wrapper{-webkit-transform:none;transform:none}:host(.label-floating) .label-text-wrapper{max-width:calc(100% / 0.75)}.textarea-wrapper textarea{-webkit-transition:opacity var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));transition:opacity var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1))}:host(.textarea-label-placement-fixed) .label-text{-ms-flex:0 0 calc(var(--token-scale-2400, 96px) + var(--token-space-100, var(--token-scale-100, 4px)));flex:0 0 calc(var(--token-scale-2400, 96px) + var(--token-space-100, var(--token-scale-100, 4px)));width:calc(var(--token-scale-2400, 96px) + var(--token-space-100, var(--token-scale-100, 4px)));min-width:calc(var(--token-scale-2400, 96px) + var(--token-space-100, var(--token-scale-100, 4px)));max-width:var(--token-scale-5000, 200px)}ion-icon{--color:globals.$ion-icon-subtlest;font-size:var(--token-scale-400, 16px)}.start-slot-wrapper,.end-slot-wrapper{margin-top:var(--token-space-050, var(--token-scale-050, 2px))}:host([rows]:not([auto-grow])) .start-slot-wrapper,:host([rows]:not([auto-grow])) .end-slot-wrapper{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host(.has-focus){--border-color:var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7));--border-width:var(--token-border-size-050, var(--token-scale-050, 2px))}:host(.has-focus) .textarea-highlight{-webkit-transform:scale(1);transform:scale(1)}@media (any-hover: hover){:host(:hover){--border-color:var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7))}}:host(.textarea-disabled){--color:var(--token-text-disabled, var(--token-primitives-neutral-500, #a2a2a2));--background:var(--token-bg-input-disabled, var(--token-primitives-neutral-100, #f3f3f3));--border-color:var(--token-border-disabled, var(--token-primitives-neutral-300, #e0e0e0));--placeholder-color:var(--token-text-disabled, var(--token-primitives-neutral-500, #a2a2a2))}:host(.textarea-disabled:not(.ion-valid)) .textarea-bottom .helper-text,:host(.textarea-disabled) .textarea-bottom .counter,:host(.textarea-disabled) .label-text-wrapper{color:var(--token-text-disabled, var(--token-primitives-neutral-500, #a2a2a2))}:host(.textarea-disabled.has-focus.ion-valid){--border-color:rgba(var(--token-semantics-success-base-rgb, 27, 164, 51), 0.6)}:host(.textarea-disabled.ion-touched.ion-invalid){--border-color:rgba(var(--token-semantics-danger-base-rgb, 229, 41, 41), 0.6)}:host(.textarea-disabled.ion-color){--border-color:rgba(var(--ion-color-base-rgb), 0.6)}:host(.textarea-disabled.has-focus.ion-valid) .textarea-bottom .helper-text,:host(.textarea-disabled.ion-touched.ion-invalid) .error-text{opacity:0.6}:host(.textarea-readonly){--background:var(--token-bg-input-read-only, var(--token-primitives-neutral-100, #f3f3f3))}`;
|
|
15
15
|
|
|
16
|
-
const textareaMdCss = () => `.sc-ion-textarea-md-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--padding-top:0;--padding-end:0;--padding-bottom:8px;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}[cols].sc-ion-textarea-md-h:not([auto-grow]){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.ion-color.sc-ion-textarea-md-h{--highlight-color-focused:var(--ion-color-base);background:initial}ion-item.sc-ion-textarea-md-h,ion-item .sc-ion-textarea-md-h{-ms-flex-item-align:baseline;align-self:baseline}ion-item[slot=start].sc-ion-textarea-md-h,ion-item [slot=start].sc-ion-textarea-md-h,ion-item[slot=end].sc-ion-textarea-md-h,ion-item [slot=end].sc-ion-textarea-md-h{width:auto}.native-textarea.sc-ion-textarea-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea.sc-ion-textarea-md::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input.sc-ion-textarea-md{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input.sc-ion-textarea-md:disabled{opacity:1}[auto-grow].sc-ion-textarea-md-h .cloned-input.sc-ion-textarea-md{height:100%}[auto-grow].sc-ion-textarea-md-h .native-textarea.sc-ion-textarea-md{overflow:hidden}.textarea-wrapper.sc-ion-textarea-md{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0;padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.textarea-control.sc-ion-textarea-md{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:start;-ms-flex-item-align:stretch;align-self:stretch;width:100%;min-width:0}.native-wrapper.sc-ion-textarea-md{position:relative;width:100%;height:100%}.textarea-label-placement-start.sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md,.textarea-label-placement-end.sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md,.textarea-label-placement-fixed.sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md{-ms-flex:1 1 0px;flex:1 1 0}.has-focus.sc-ion-textarea-md-h textarea.sc-ion-textarea-md{caret-color:var(--highlight-color)}.native-wrapper.sc-ion-textarea-md{display:grid;min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit;grid-auto-rows:100%}.native-wrapper.sc-ion-textarea-md::after{white-space:pre-wrap;content:attr(data-replicated-value) " ";visibility:hidden}.native-wrapper.sc-ion-textarea-md::after{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.ion-touched.ion-invalid.sc-ion-textarea-md-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-textarea-md-h{--highlight-color:var(--highlight-color-valid)}.textarea-bottom.sc-ion-textarea-md{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}.has-focus.ion-valid.sc-ion-textarea-md-h,.ion-touched.ion-invalid.sc-ion-textarea-md-h{--border-color:var(--highlight-color)}.textarea-bottom.sc-ion-textarea-md .error-text.sc-ion-textarea-md{display:none;color:var(--highlight-color-invalid)}.textarea-bottom.sc-ion-textarea-md .helper-text.sc-ion-textarea-md{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid.sc-ion-textarea-md-h .textarea-bottom.sc-ion-textarea-md .error-text.sc-ion-textarea-md{display:block}.ion-touched.ion-invalid.sc-ion-textarea-md-h .textarea-bottom.sc-ion-textarea-md .helper-text.sc-ion-textarea-md{display:none}.textarea-bottom.sc-ion-textarea-md .counter.sc-ion-textarea-md{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}.label-text-wrapper.sc-ion-textarea-md{min-width:0;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.skip-label-transition.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transition:none;transition:none}.label-text.sc-ion-textarea-md,.sc-ion-textarea-md-s>[slot=label]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden.sc-ion-textarea-md,.textarea-outline-notch-hidden.sc-ion-textarea-md{display:none}.textarea-wrapper.sc-ion-textarea-md textarea.sc-ion-textarea-md{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-label-placement-start.sc-ion-textarea-md-h .textarea-control.sc-ion-textarea-md{-ms-flex-direction:row;flex-direction:row}.textarea-label-placement-start.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-end.sc-ion-textarea-md-h .textarea-control.sc-ion-textarea-md{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.textarea-label-placement-end.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-md-h .label-text.sc-ion-textarea-md{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.textarea-label-placement-stacked.sc-ion-textarea-md-h,.textarea-label-placement-floating.sc-ion-textarea-md-h{--padding-top:20px;--padding-bottom:6px}.textarea-label-placement-stacked.sc-ion-textarea-md-h .textarea-control.sc-ion-textarea-md,.textarea-label-placement-floating.sc-ion-textarea-md-h .textarea-control.sc-ion-textarea-md{padding-top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:left top;transform-origin:left top;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;max-width:100%;z-index:2}[dir=rtl].sc-ion-textarea-md-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .sc-ion-textarea-md-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].sc-ion-textarea-md-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .sc-ion-textarea-md-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.textarea-label-placement-stacked.sc-ion-textarea-md-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-md,.textarea-label-placement-floating.sc-ion-textarea-md-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:right top;transform-origin:right top}}.textarea-label-placement-stacked.sc-ion-textarea-md-h textarea.sc-ion-textarea-md,.textarea-label-placement-floating.sc-ion-textarea-md-h textarea.sc-ion-textarea-md,.textarea-label-placement-stacked[auto-grow].sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md::after,.textarea-label-placement-floating[auto-grow].sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}.textarea-label-placement-floating.sc-ion-textarea-md-h textarea.sc-ion-textarea-md{opacity:0}.has-focus.textarea-label-placement-floating.sc-ion-textarea-md-h textarea.sc-ion-textarea-md,.has-value.textarea-label-placement-floating.sc-ion-textarea-md-h textarea.sc-ion-textarea-md{opacity:1}.label-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.textarea-start.sc-ion-textarea-md,.textarea-end.sc-ion-textarea-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:start;align-self:start}.sc-ion-textarea-md-s>[slot=start],.sc-ion-textarea-md-s>[slot=end]{margin-top:var(--padding-top)}.sc-ion-textarea-md-s>[slot=start]:last-of-type{-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}.sc-ion-textarea-md-s>[slot=end]:first-of-type{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}.textarea-fill-solid.sc-ion-textarea-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-500, var(--ion-background-color-step-500, gray));--border-radius:4px;--padding-start:16px;--padding-end:16px}.textarea-fill-solid.sc-ion-textarea-md-h .textarea-wrapper.sc-ion-textarea-md{border-bottom:var(--border-width) var(--border-style) var(--border-color)}.has-focus.textarea-fill-solid.ion-valid.sc-ion-textarea-md-h,.textarea-fill-solid.ion-touched.ion-invalid.sc-ion-textarea-md-h{--border-color:var(--highlight-color)}.textarea-fill-solid.sc-ion-textarea-md-h .textarea-bottom.sc-ion-textarea-md{border-top:none}@media (any-hover: hover){.textarea-fill-solid.sc-ion-textarea-md-h:hover{--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}.textarea-fill-solid.has-focus.sc-ion-textarea-md-h{--background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}.textarea-fill-solid.sc-ion-textarea-md-h .textarea-wrapper.sc-ion-textarea-md{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0px;border-end-start-radius:0px}.label-floating.textarea-fill-solid.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{max-width:calc(100% / 0.75)}.textarea-fill-outline.sc-ion-textarea-md-h{--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));--border-radius:4px;--padding-start:16px;--padding-end:16px;--internal-start-container-adjustment:0px}.textarea-fill-outline.textarea-shape-round.sc-ion-textarea-md-h{--border-radius:28px;--padding-start:32px;--padding-end:32px}.has-focus.textarea-fill-outline.ion-valid.sc-ion-textarea-md-h,.textarea-fill-outline.ion-touched.ion-invalid.sc-ion-textarea-md-h{--border-color:var(--highlight-color)}@media (any-hover: hover){.textarea-fill-outline.sc-ion-textarea-md-h:hover{--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}.textarea-fill-outline.has-focus.sc-ion-textarea-md-h{--border-width:var(--highlight-height);--border-color:var(--highlight-color)}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-bottom.sc-ion-textarea-md{border-top:none}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-wrapper.sc-ion-textarea-md{border-bottom:none}.textarea-fill-outline.sc-ion-textarea-md-h:not(.label-floating) .textarea-control.sc-ion-textarea-md{position:relative}.textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:left top;transform-origin:left top;position:absolute;max-width:100%}[dir=rtl].sc-ion-textarea-md-h -no-combinator.textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .sc-ion-textarea-md-h -no-combinator.textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].sc-ion-textarea-md-h -no-combinator.textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .sc-ion-textarea-md-h -no-combinator.textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-md,.textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:right top;transform-origin:right top}}.textarea-fill-outline.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{position:relative}.label-floating.textarea-fill-outline.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform:translate(var(--internal-start-container-adjustment, 0px), -32%) scale(0.75);transform:translate(var(--internal-start-container-adjustment, 0px), -32%) scale(0.75);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;max-width:calc( (100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75 )}.textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h textarea.sc-ion-textarea-md,.textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h textarea.sc-ion-textarea-md,.textarea-fill-outline.textarea-label-placement-stacked[auto-grow].sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md::after,.textarea-fill-outline.textarea-label-placement-floating[auto-grow].sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:19px;margin-bottom:0px}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-container.sc-ion-textarea-md{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;width:100%;height:100%}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-start.sc-ion-textarea-md,.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-end.sc-ion-textarea-md{pointer-events:none}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-start.sc-ion-textarea-md,.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-notch.sc-ion-textarea-md,.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-end.sc-ion-textarea-md{border-top:var(--border-width) var(--border-style) var(--border-color);border-bottom:var(--border-width) var(--border-style) var(--border-color)}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-notch.sc-ion-textarea-md{max-width:calc(100% - var(--padding-start) - var(--padding-end))}.textarea-fill-outline.sc-ion-textarea-md-h .notch-spacer.sc-ion-textarea-md{-webkit-padding-end:8px;padding-inline-end:8px;font-size:calc(1em * 0.75);opacity:0;pointer-events:none;-webkit-box-sizing:content-box;box-sizing:content-box}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-start.sc-ion-textarea-md{border-start-start-radius:var(--border-radius);border-start-end-radius:0px;border-end-end-radius:0px;border-end-start-radius:var(--border-radius);-webkit-border-start:var(--border-width) var(--border-style) var(--border-color);border-inline-start:var(--border-width) var(--border-style) var(--border-color);width:calc(var(--padding-start) - 4px)}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-end.sc-ion-textarea-md{-webkit-border-end:var(--border-width) var(--border-style) var(--border-color);border-inline-end:var(--border-width) var(--border-style) var(--border-color);border-start-start-radius:0px;border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius);border-end-start-radius:0px;-ms-flex-positive:1;flex-grow:1}.label-floating.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-notch.sc-ion-textarea-md{border-top:none}.sc-ion-textarea-md-h{--border-width:1px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--padding-top:18px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;--highlight-height:2px;min-height:72px;font-size:inherit}.textarea-bottom.sc-ion-textarea-md .counter.sc-ion-textarea-md{letter-spacing:0.0333333333em}.textarea-label-placement-floating.has-focus.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.textarea-label-placement-stacked.has-focus.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{color:var(--highlight-color)}.has-focus.textarea-label-placement-floating.ion-valid.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.textarea-label-placement-floating.ion-touched.ion-invalid.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.has-focus.textarea-label-placement-stacked.ion-valid.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.textarea-label-placement-stacked.ion-touched.ion-invalid.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{color:var(--highlight-color)}.textarea-disabled.sc-ion-textarea-md-h{opacity:0.38}.textarea-highlight.sc-ion-textarea-md{bottom:-1px;position:absolute;width:100%;height:var(--highlight-height);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 200ms;transition:-webkit-transform 200ms;transition:transform 200ms;transition:transform 200ms, -webkit-transform 200ms;background:var(--highlight-color)}.textarea-highlight.sc-ion-textarea-md{inset-inline-start:0}.has-focus.sc-ion-textarea-md-h .textarea-highlight.sc-ion-textarea-md{-webkit-transform:scale(1);transform:scale(1)}.in-item.sc-ion-textarea-md-h .textarea-highlight.sc-ion-textarea-md{bottom:0}.in-item.sc-ion-textarea-md-h .textarea-highlight.sc-ion-textarea-md{inset-inline-start:0}.textarea-shape-round.sc-ion-textarea-md-h{--border-radius:16px}.sc-ion-textarea-md-s>ion-button[slot=start],.sc-ion-textarea-md-s>ion-button[slot=end]{margin-top:7px}.sc-ion-textarea-md-s>ion-button[slot=start].button-has-icon-only,.sc-ion-textarea-md-s>ion-button[slot=end].button-has-icon-only{--border-radius:50%;--padding-start:8px;--padding-end:8px;--padding-top:8px;--padding-bottom:8px;aspect-ratio:1;min-height:40px}`;
|
|
16
|
+
const textareaIosCss = () => `:host{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--padding-top:0;--padding-end:0;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box}:host([cols]:not([auto-grow])){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}:host(.ion-color){background:initial}:host(.in-item){-ms-flex-item-align:baseline;align-self:baseline}:host(.in-item[slot=start]),:host(.in-item[slot=end]){width:auto}.native-textarea{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input:disabled{opacity:1}:host([auto-grow]) .cloned-input{height:100%}:host([auto-grow]) .native-textarea{overflow:hidden}.textarea-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0px;padding-bottom:0px;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper{position:relative;width:100%;height:100%}:host(.has-focus) textarea{caret-color:var(--highlight-color)}.native-wrapper{display:grid;min-width:inherit;max-width:inherit;grid-auto-rows:100%}.native-wrapper::after{white-space:pre-wrap;content:attr(data-replicated-value) " ";visibility:hidden}.native-wrapper::after{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.textarea-wrapper-inner{display:-ms-flexbox;display:flex;width:100%;min-height:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.textarea-bottom{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);white-space:normal}:host(.has-focus.ion-valid),:host(.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.textarea-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.textarea-bottom .helper-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .helper-text{display:none}.textarea-bottom .counter{-webkit-margin-start:auto;margin-inline-start:auto;white-space:nowrap}.label-text-wrapper{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.textarea-outline{-webkit-box-sizing:border-box;box-sizing:border-box}.label-text-wrapper-hidden,.textarea-outline-notch-hidden{display:none}:host(.textarea-label-placement-start) .textarea-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.textarea-label-placement-end) .textarea-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.textarea-label-placement-stacked) .textarea-wrapper,:host(.textarea-label-placement-floating) .textarea-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.textarea-label-placement-stacked) .label-text-wrapper,:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;max-width:100%;z-index:2}:host-context([dir=rtl]):host(.textarea-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-stacked .label-text-wrapper,:host-context([dir=rtl]):host(.textarea-label-placement-floating) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-floating .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.textarea-label-placement-stacked:dir(rtl)) .label-text-wrapper,:host(.textarea-label-placement-floating:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.textarea-label-placement-floating) textarea{opacity:0}:host(.has-focus.textarea-label-placement-floating) textarea,:host(.has-value.textarea-label-placement-floating) textarea{opacity:1}.start-slot-wrapper,.end-slot-wrapper{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:start;align-self:start}:host{--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--padding-bottom:8px;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);min-height:44px;font-family:var(--ion-font-family, inherit);z-index:2}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.textarea-label-placement-floating),:host(.textarea-label-placement-stacked){--padding-top:0px;min-height:56px}.native-wrapper{min-height:inherit;max-height:inherit}.native-wrapper textarea{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}.textarea-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;font-size:0.75rem}.textarea-bottom .helper-text{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.textarea-bottom .counter{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));-webkit-padding-start:16px;padding-inline-start:16px}:host(.textarea-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-stacked) textarea,:host(.textarea-label-placement-floating) textarea,:host(.textarea-label-placement-stacked[auto-grow]) .native-wrapper::after,:host(.textarea-label-placement-floating[auto-grow]) .native-wrapper::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.start-slot-wrapper,.end-slot-wrapper{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host(.textarea-label-placement-stacked) ::slotted([slot=start]),:host(.textarea-label-placement-stacked) ::slotted([slot=end]),:host(.textarea-label-placement-floating) ::slotted([slot=start]),:host(.textarea-label-placement-floating) ::slotted([slot=end]){margin-top:8px}::slotted([slot=start]),::slotted([slot=end]){margin-top:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.label-text-wrapper{max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-wrapper textarea{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}:host(.textarea-label-placement-fixed) .label-text{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--padding-top:10px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;--highlight-height:0px;font-size:inherit}:host(.textarea-disabled){opacity:0.3}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}`;
|
|
17
|
+
|
|
18
|
+
const textareaMdCss = () => `:host{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--padding-top:0;--padding-end:0;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box}:host([cols]:not([auto-grow])){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}:host(.ion-color){background:initial}:host(.in-item){-ms-flex-item-align:baseline;align-self:baseline}:host(.in-item[slot=start]),:host(.in-item[slot=end]){width:auto}.native-textarea{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input:disabled{opacity:1}:host([auto-grow]) .cloned-input{height:100%}:host([auto-grow]) .native-textarea{overflow:hidden}.textarea-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0px;padding-bottom:0px;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper{position:relative;width:100%;height:100%}:host(.has-focus) textarea{caret-color:var(--highlight-color)}.native-wrapper{display:grid;min-width:inherit;max-width:inherit;grid-auto-rows:100%}.native-wrapper::after{white-space:pre-wrap;content:attr(data-replicated-value) " ";visibility:hidden}.native-wrapper::after{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.textarea-wrapper-inner{display:-ms-flexbox;display:flex;width:100%;min-height:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.textarea-bottom{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);white-space:normal}:host(.has-focus.ion-valid),:host(.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.textarea-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.textarea-bottom .helper-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .helper-text{display:none}.textarea-bottom .counter{-webkit-margin-start:auto;margin-inline-start:auto;white-space:nowrap}.label-text-wrapper{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.textarea-outline{-webkit-box-sizing:border-box;box-sizing:border-box}.label-text-wrapper-hidden,.textarea-outline-notch-hidden{display:none}:host(.textarea-label-placement-start) .textarea-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.textarea-label-placement-end) .textarea-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.textarea-label-placement-stacked) .textarea-wrapper,:host(.textarea-label-placement-floating) .textarea-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.textarea-label-placement-stacked) .label-text-wrapper,:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;max-width:100%;z-index:2}:host-context([dir=rtl]):host(.textarea-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-stacked .label-text-wrapper,:host-context([dir=rtl]):host(.textarea-label-placement-floating) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-floating .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.textarea-label-placement-stacked:dir(rtl)) .label-text-wrapper,:host(.textarea-label-placement-floating:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.textarea-label-placement-floating) textarea{opacity:0}:host(.has-focus.textarea-label-placement-floating) textarea,:host(.has-value.textarea-label-placement-floating) textarea{opacity:1}.start-slot-wrapper,.end-slot-wrapper{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:start;align-self:start}:host{--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--padding-bottom:8px;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);min-height:44px;font-family:var(--ion-font-family, inherit);z-index:2}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.textarea-label-placement-floating),:host(.textarea-label-placement-stacked){--padding-top:0px;min-height:56px}.native-wrapper{min-height:inherit;max-height:inherit}.native-wrapper textarea{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}.textarea-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;font-size:0.75rem}.textarea-bottom .helper-text{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.textarea-bottom .counter{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));-webkit-padding-start:16px;padding-inline-start:16px}:host(.textarea-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-stacked) textarea,:host(.textarea-label-placement-floating) textarea,:host(.textarea-label-placement-stacked[auto-grow]) .native-wrapper::after,:host(.textarea-label-placement-floating[auto-grow]) .native-wrapper::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.start-slot-wrapper,.end-slot-wrapper{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host(.textarea-label-placement-stacked) ::slotted([slot=start]),:host(.textarea-label-placement-stacked) ::slotted([slot=end]),:host(.textarea-label-placement-floating) ::slotted([slot=start]),:host(.textarea-label-placement-floating) ::slotted([slot=end]){margin-top:8px}::slotted([slot=start]),::slotted([slot=end]){margin-top:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.label-text-wrapper{max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-wrapper textarea{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}:host(.textarea-label-placement-fixed) .label-text{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.textarea-fill-solid){--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-500, var(--ion-background-color-step-500, gray));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.textarea-fill-solid) .textarea-wrapper{border-bottom:var(--border-width) var(--border-style) var(--border-color)}:host(.has-focus.textarea-fill-solid.ion-valid),:host(.textarea-fill-solid.ion-touched.ion-invalid){--border-color:var(--highlight-color)}:host(.textarea-fill-solid) .textarea-bottom{border-top:none}@media (any-hover: hover){:host(.textarea-fill-solid:hover){--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.textarea-fill-solid.has-focus){--background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}:host(.textarea-fill-solid) .textarea-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0px;border-end-start-radius:0px}:host(.label-floating.textarea-fill-solid) .label-text-wrapper{max-width:calc(100% / 0.75)}:host(.textarea-fill-outline){--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.textarea-fill-outline.textarea-shape-round){--border-radius:28px;--padding-start:32px;--padding-end:32px}:host(.has-focus.textarea-fill-outline.ion-valid),:host(.textarea-fill-outline.ion-touched.ion-invalid){--border-color:var(--highlight-color)}@media (any-hover: hover){:host(.textarea-fill-outline:hover){--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.textarea-fill-outline.has-focus){--border-width:var(--highlight-height);--border-color:var(--highlight-color)}:host(.textarea-fill-outline) .textarea-bottom{border-top:none}:host(.textarea-fill-outline) .textarea-wrapper{border-bottom:none}:host(.textarea-fill-outline.textarea-label-placement-stacked) .label-text-wrapper,:host(.textarea-fill-outline.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;position:absolute;max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host-context([dir=rtl]):host(.textarea-fill-outline.textarea-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).textarea-fill-outline.textarea-label-placement-stacked .label-text-wrapper,:host-context([dir=rtl]):host(.textarea-fill-outline.textarea-label-placement-floating) .label-text-wrapper,:host-context([dir=rtl]).textarea-fill-outline.textarea-label-placement-floating .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.textarea-fill-outline.textarea-label-placement-stacked:dir(rtl)) .label-text-wrapper,:host(.textarea-fill-outline.textarea-label-placement-floating:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.textarea-fill-outline) .label-text-wrapper{position:relative}:host(.label-floating.textarea-fill-outline) .label-text-wrapper{-webkit-transform:translateY(-32%) scale(0.75);transform:translateY(-32%) scale(0.75);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;max-width:calc( (100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75 )}:host(.textarea-fill-outline.textarea-label-placement-stacked) textarea,:host(.textarea-fill-outline.textarea-label-placement-floating) textarea,:host(.textarea-fill-outline.textarea-label-placement-stacked[auto-grow]) .native-wrapper::after,:host(.textarea-fill-outline.textarea-label-placement-floating[auto-grow]) .native-wrapper::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:12px;margin-bottom:0px}:host(.textarea-fill-outline.textarea-label-placement-stacked) ::slotted([slot=start]),:host(.textarea-fill-outline.textarea-label-placement-stacked) ::slotted([slot=end]),:host(.textarea-fill-outline.textarea-label-placement-floating) ::slotted([slot=start]),:host(.textarea-fill-outline.textarea-label-placement-floating) ::slotted([slot=end]){margin-top:12px}:host(.textarea-fill-outline) .textarea-outline-container{right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;width:100%;height:100%}:host(.textarea-fill-outline) .textarea-outline-start,:host(.textarea-fill-outline) .textarea-outline-end{pointer-events:none}:host(.textarea-fill-outline) .textarea-outline-start,:host(.textarea-fill-outline) .textarea-outline-notch,:host(.textarea-fill-outline) .textarea-outline-end{border-top:var(--border-width) var(--border-style) var(--border-color);border-bottom:var(--border-width) var(--border-style) var(--border-color);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.textarea-fill-outline) .textarea-outline-notch{max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host(.textarea-fill-outline) .notch-spacer{-webkit-padding-end:8px;padding-inline-end:8px;font-size:calc(1em * 0.75);opacity:0;pointer-events:none;-webkit-box-sizing:content-box;box-sizing:content-box}:host(.textarea-fill-outline) .textarea-outline-start{border-start-start-radius:var(--border-radius);border-start-end-radius:0px;border-end-end-radius:0px;border-end-start-radius:var(--border-radius);-webkit-border-start:var(--border-width) var(--border-style) var(--border-color);border-inline-start:var(--border-width) var(--border-style) var(--border-color);width:calc(var(--padding-start) - 4px)}:host(.textarea-fill-outline) .textarea-outline-end{-webkit-border-end:var(--border-width) var(--border-style) var(--border-color);border-inline-end:var(--border-width) var(--border-style) var(--border-color);border-start-start-radius:0px;border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius);border-end-start-radius:0px;-ms-flex-positive:1;flex-grow:1}:host(.label-floating.textarea-fill-outline) .textarea-outline-notch{border-top:none}:host{--border-width:1px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--padding-top:18px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;--highlight-height:2px;font-size:inherit}.textarea-bottom .counter{letter-spacing:0.0333333333em}:host(.textarea-label-placement-floating.has-focus) .label-text-wrapper,:host(.textarea-label-placement-stacked.has-focus) .label-text-wrapper{color:var(--highlight-color)}:host(.has-focus.textarea-label-placement-floating.ion-valid) .label-text-wrapper,:host(.textarea-label-placement-floating.ion-touched.ion-invalid) .label-text-wrapper,:host(.has-focus.textarea-label-placement-stacked.ion-valid) .label-text-wrapper,:host(.textarea-label-placement-stacked.ion-touched.ion-invalid) .label-text-wrapper{color:var(--highlight-color)}:host(.textarea-disabled){opacity:0.38}.textarea-highlight{bottom:-1px;position:absolute;width:100%;height:var(--highlight-height);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 200ms;transition:-webkit-transform 200ms;transition:transform 200ms;transition:transform 200ms, -webkit-transform 200ms;background:var(--highlight-color)}.textarea-highlight{inset-inline-start:0}:host(.has-focus) .textarea-highlight{-webkit-transform:scale(1);transform:scale(1)}:host(.in-item) .textarea-highlight{bottom:0}:host(.in-item) .textarea-highlight{inset-inline-start:0}:host(.textarea-shape-round){--border-radius:16px}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:8px;--padding-end:8px;--padding-top:8px;--padding-bottom:8px;aspect-ratio:1;min-height:40px}`;
|
|
17
19
|
|
|
18
20
|
const Textarea = class {
|
|
19
21
|
constructor(hostRef) {
|
|
@@ -22,190 +24,162 @@ const Textarea = class {
|
|
|
22
24
|
this.ionInput = createEvent(this, "ionInput", 7);
|
|
23
25
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
24
26
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
27
|
+
if (hostRef.$hostElement$["s-ei"]) {
|
|
28
|
+
this.internals = hostRef.$hostElement$["s-ei"];
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.internals = hostRef.$hostElement$.attachInternals();
|
|
32
|
+
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
33
|
+
}
|
|
34
|
+
this.inputId = `ion-textarea-${textareaIds++}`;
|
|
35
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
36
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
37
|
+
/**
|
|
38
|
+
* `true` if the textarea was cleared as a result of the user typing
|
|
39
|
+
* with `clearOnEdit` enabled.
|
|
40
|
+
*
|
|
41
|
+
* Resets when the textarea loses focus.
|
|
42
|
+
*/
|
|
43
|
+
this.didTextareaClearOnEdit = false;
|
|
44
|
+
this.inheritedAttributes = {};
|
|
45
|
+
/**
|
|
46
|
+
* The `hasFocus` state ensures the focus class is
|
|
47
|
+
* added regardless of how the element is focused.
|
|
48
|
+
* The `ion-focused` class only applies when focused
|
|
49
|
+
* via tabbing, not by clicking.
|
|
50
|
+
* The `has-focus` logic was added to ensure the class
|
|
51
|
+
* is applied in both cases.
|
|
52
|
+
*/
|
|
53
|
+
this.hasFocus = false;
|
|
54
|
+
/**
|
|
55
|
+
* Track validation state for proper aria-live announcements
|
|
56
|
+
*/
|
|
57
|
+
this.isInvalid = false;
|
|
58
|
+
/**
|
|
59
|
+
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
60
|
+
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
61
|
+
*/
|
|
62
|
+
this.autocapitalize = 'none';
|
|
63
|
+
/**
|
|
64
|
+
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
65
|
+
*
|
|
66
|
+
* This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
|
|
67
|
+
*/
|
|
68
|
+
this.autofocus = false;
|
|
69
|
+
/**
|
|
70
|
+
* If `true`, the value will be cleared after focus upon edit.
|
|
71
|
+
*/
|
|
72
|
+
this.clearOnEdit = false;
|
|
73
|
+
/**
|
|
74
|
+
* If `true`, the user cannot interact with the textarea.
|
|
75
|
+
*/
|
|
76
|
+
this.disabled = false;
|
|
77
|
+
/**
|
|
78
|
+
* The name of the control, which is submitted with the form data.
|
|
79
|
+
*/
|
|
80
|
+
this.name = this.inputId;
|
|
81
|
+
/**
|
|
82
|
+
* If `true`, the user cannot modify the value.
|
|
83
|
+
*/
|
|
84
|
+
this.readonly = false;
|
|
85
|
+
/**
|
|
86
|
+
* If `true`, the user must fill in a value before submitting a form.
|
|
87
|
+
*/
|
|
88
|
+
this.required = false;
|
|
89
|
+
/**
|
|
90
|
+
* If `true`, the element will have its spelling and grammar checked.
|
|
91
|
+
*/
|
|
92
|
+
this.spellcheck = false;
|
|
93
|
+
/**
|
|
94
|
+
* If `true`, the textarea container will grow and shrink based
|
|
95
|
+
* on the contents of the textarea.
|
|
96
|
+
*/
|
|
97
|
+
this.autoGrow = false;
|
|
98
|
+
/**
|
|
99
|
+
* The value of the textarea.
|
|
100
|
+
*/
|
|
101
|
+
this.value = '';
|
|
102
|
+
/**
|
|
103
|
+
* If `true`, a character counter will display the ratio of characters used and the total character limit.
|
|
104
|
+
* Developers must also set the `maxlength` property for the counter to be calculated correctly.
|
|
105
|
+
*/
|
|
106
|
+
this.counter = false;
|
|
107
|
+
/**
|
|
108
|
+
* Where to place the label relative to the textarea.
|
|
109
|
+
* `"start"`: The label will appear to the left of the textarea in LTR and to the right in RTL.
|
|
110
|
+
* `"end"`: The label will appear to the right of the textarea in LTR and to the left in RTL.
|
|
111
|
+
* `"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.
|
|
112
|
+
* `"stacked"`: The label will appear smaller and above the textarea regardless even when the textarea is blurred or has no value.
|
|
113
|
+
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
114
|
+
*/
|
|
115
|
+
this.labelPlacement = 'start';
|
|
116
|
+
/**
|
|
117
|
+
* The size of the textarea. If "large" it will increase the height of the textarea, while
|
|
118
|
+
* "small" and "medium" provide progressively smaller heights. The default size is "medium".
|
|
119
|
+
* This property only applies to the `"ionic"` theme.
|
|
120
|
+
*/
|
|
121
|
+
this.size = 'medium';
|
|
122
|
+
// `Event` type is used instead of `InputEvent`
|
|
123
|
+
// since the types from Stencil are not derived
|
|
124
|
+
// from the element (e.g. textarea and input
|
|
125
|
+
// should be InputEvent, but all other elements
|
|
126
|
+
// should be Event).
|
|
127
|
+
this.onInput = (ev) => {
|
|
128
|
+
const input = ev.target;
|
|
129
|
+
if (input) {
|
|
130
|
+
this.value = input.value || '';
|
|
131
|
+
}
|
|
132
|
+
this.emitInputChange(ev);
|
|
133
|
+
};
|
|
134
|
+
this.onChange = (ev) => {
|
|
135
|
+
this.emitValueChange(ev);
|
|
136
|
+
};
|
|
137
|
+
this.onFocus = (ev) => {
|
|
138
|
+
this.hasFocus = true;
|
|
139
|
+
this.focusedValue = this.value;
|
|
140
|
+
this.ionFocus.emit(ev);
|
|
141
|
+
};
|
|
142
|
+
this.onBlur = (ev) => {
|
|
143
|
+
this.hasFocus = false;
|
|
144
|
+
if (this.focusedValue !== this.value) {
|
|
145
|
+
/**
|
|
146
|
+
* Emits the `ionChange` event when the textarea value
|
|
147
|
+
* is different than the value when the textarea was focused.
|
|
148
|
+
*/
|
|
149
|
+
this.emitValueChange(ev);
|
|
150
|
+
}
|
|
151
|
+
this.didTextareaClearOnEdit = false;
|
|
152
|
+
this.ionBlur.emit(ev);
|
|
153
|
+
};
|
|
154
|
+
this.onKeyDown = (ev) => {
|
|
155
|
+
this.checkClearOnEdit(ev);
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Stops propagation when the label is clicked,
|
|
159
|
+
* otherwise, two clicks will be triggered.
|
|
160
|
+
*/
|
|
161
|
+
this.onLabelClick = (ev) => {
|
|
162
|
+
// Only stop propagation if the click was directly on the label
|
|
163
|
+
// and not on the input or other child elements
|
|
164
|
+
if (ev.target === ev.currentTarget) {
|
|
165
|
+
ev.stopPropagation();
|
|
166
|
+
}
|
|
167
|
+
};
|
|
25
168
|
}
|
|
26
|
-
nativeInput;
|
|
27
|
-
inputId = `ion-textarea-${textareaIds++}`;
|
|
28
|
-
helperTextId = `${this.inputId}-helper-text`;
|
|
29
|
-
errorTextId = `${this.inputId}-error-text`;
|
|
30
|
-
/**
|
|
31
|
-
* `true` if the textarea was cleared as a result of the user typing
|
|
32
|
-
* with `clearOnEdit` enabled.
|
|
33
|
-
*
|
|
34
|
-
* Resets when the textarea loses focus.
|
|
35
|
-
*/
|
|
36
|
-
didTextareaClearOnEdit = false;
|
|
37
|
-
textareaWrapper;
|
|
38
|
-
inheritedAttributes = {};
|
|
39
|
-
originalIonInput;
|
|
40
|
-
slotMutationController;
|
|
41
|
-
notchController;
|
|
42
|
-
notchSpacerEl;
|
|
43
|
-
startContainerController;
|
|
44
|
-
startContainerEl;
|
|
45
|
-
/**
|
|
46
|
-
* The value of the textarea when the textarea is focused.
|
|
47
|
-
*/
|
|
48
|
-
focusedValue;
|
|
49
|
-
get el() { return getElement(this); }
|
|
50
|
-
/**
|
|
51
|
-
* The `hasFocus` state ensures the focus class is
|
|
52
|
-
* added regardless of how the element is focused.
|
|
53
|
-
* The `ion-focused` class only applies when focused
|
|
54
|
-
* via tabbing, not by clicking.
|
|
55
|
-
* The `has-focus` logic was added to ensure the class
|
|
56
|
-
* is applied in both cases.
|
|
57
|
-
*/
|
|
58
|
-
hasFocus = false;
|
|
59
|
-
/**
|
|
60
|
-
* Track validation state for proper aria-live announcements
|
|
61
|
-
*/
|
|
62
|
-
isInvalid = false;
|
|
63
|
-
validationObserver;
|
|
64
|
-
/**
|
|
65
|
-
* The color to use from your application's color palette.
|
|
66
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
67
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
68
|
-
*/
|
|
69
|
-
color;
|
|
70
|
-
/**
|
|
71
|
-
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
72
|
-
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
73
|
-
*/
|
|
74
|
-
autocapitalize = 'none';
|
|
75
|
-
/**
|
|
76
|
-
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
77
|
-
*
|
|
78
|
-
* This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
|
|
79
|
-
*/
|
|
80
|
-
autofocus = false;
|
|
81
|
-
/**
|
|
82
|
-
* If `true`, the value will be cleared after focus upon edit.
|
|
83
|
-
*/
|
|
84
|
-
clearOnEdit = false;
|
|
85
|
-
/**
|
|
86
|
-
* Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke.
|
|
87
|
-
*/
|
|
88
|
-
debounce;
|
|
89
169
|
debounceChanged() {
|
|
90
170
|
const { ionInput, debounce, originalIonInput } = this;
|
|
91
171
|
/**
|
|
92
172
|
* If debounce is undefined, we have to manually revert the ionInput emitter in case
|
|
93
173
|
* debounce used to be set to a number. Otherwise, the event would stay debounced.
|
|
94
174
|
*/
|
|
95
|
-
this.ionInput = debounce === undefined ? originalIonInput
|
|
175
|
+
this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
|
|
96
176
|
}
|
|
97
177
|
/**
|
|
98
|
-
*
|
|
99
|
-
*/
|
|
100
|
-
disabled = false;
|
|
101
|
-
/**
|
|
102
|
-
* The fill for the item. If `"solid"` the item will have a background. If
|
|
103
|
-
* `"outline"` the item will be transparent with a border. Only available in `md` mode.
|
|
104
|
-
*/
|
|
105
|
-
fill;
|
|
106
|
-
/**
|
|
107
|
-
* A hint to the browser for which keyboard to display.
|
|
108
|
-
* Possible values: `"none"`, `"text"`, `"tel"`, `"url"`,
|
|
109
|
-
* `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
|
|
110
|
-
*/
|
|
111
|
-
inputmode;
|
|
112
|
-
/**
|
|
113
|
-
* A hint to the browser for which enter key to display.
|
|
114
|
-
* Possible values: `"enter"`, `"done"`, `"go"`, `"next"`,
|
|
115
|
-
* `"previous"`, `"search"`, and `"send"`.
|
|
116
|
-
*/
|
|
117
|
-
enterkeyhint;
|
|
118
|
-
/**
|
|
119
|
-
* This attribute specifies the maximum number of characters that the user can enter.
|
|
120
|
-
*/
|
|
121
|
-
maxlength;
|
|
122
|
-
/**
|
|
123
|
-
* This attribute specifies the minimum number of characters that the user can enter.
|
|
124
|
-
*/
|
|
125
|
-
minlength;
|
|
126
|
-
/**
|
|
127
|
-
* The name of the control, which is submitted with the form data.
|
|
128
|
-
*/
|
|
129
|
-
name = this.inputId;
|
|
130
|
-
/**
|
|
131
|
-
* Instructional text that shows before the input has a value.
|
|
132
|
-
*/
|
|
133
|
-
placeholder;
|
|
134
|
-
/**
|
|
135
|
-
* If `true`, the user cannot modify the value.
|
|
136
|
-
*/
|
|
137
|
-
readonly = false;
|
|
138
|
-
/**
|
|
139
|
-
* If `true`, the user must fill in a value before submitting a form.
|
|
140
|
-
*/
|
|
141
|
-
required = false;
|
|
142
|
-
/**
|
|
143
|
-
* If `true`, the element will have its spelling and grammar checked.
|
|
144
|
-
*/
|
|
145
|
-
spellcheck = false;
|
|
146
|
-
/**
|
|
147
|
-
* The visible width of the text control, in average character widths. If it is specified, it must be a positive integer.
|
|
148
|
-
*/
|
|
149
|
-
cols;
|
|
150
|
-
/**
|
|
151
|
-
* The number of visible text lines for the control.
|
|
152
|
-
*/
|
|
153
|
-
rows;
|
|
154
|
-
/**
|
|
155
|
-
* Indicates how the control wraps text.
|
|
156
|
-
*/
|
|
157
|
-
wrap;
|
|
158
|
-
/**
|
|
159
|
-
* If `true`, the textarea container will grow and shrink based
|
|
160
|
-
* on the contents of the textarea.
|
|
161
|
-
*/
|
|
162
|
-
autoGrow = false;
|
|
163
|
-
/**
|
|
164
|
-
* The value of the textarea.
|
|
165
|
-
*/
|
|
166
|
-
value = '';
|
|
167
|
-
/**
|
|
168
|
-
* If `true`, a character counter will display the ratio of characters used and the total character limit.
|
|
169
|
-
* Developers must also set the `maxlength` property for the counter to be calculated correctly.
|
|
170
|
-
*/
|
|
171
|
-
counter = false;
|
|
172
|
-
/**
|
|
173
|
-
* A callback used to format the counter text.
|
|
174
|
-
* By default the counter text is set to "itemLength / maxLength".
|
|
175
|
-
*
|
|
176
|
-
* See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
|
|
177
|
-
* if you need to access `this` from within the callback.
|
|
178
|
-
*/
|
|
179
|
-
counterFormatter;
|
|
180
|
-
/**
|
|
181
|
-
* Text that is placed under the textarea and displayed when an error is detected.
|
|
178
|
+
* Update element internals when disabled prop changes
|
|
182
179
|
*/
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
*/
|
|
187
|
-
helperText;
|
|
188
|
-
/**
|
|
189
|
-
* The visible label associated with the textarea.
|
|
190
|
-
*
|
|
191
|
-
* Use this if you need to render a plaintext label.
|
|
192
|
-
*
|
|
193
|
-
* The `label` property will take priority over the `label` slot if both are used.
|
|
194
|
-
*/
|
|
195
|
-
label;
|
|
196
|
-
/**
|
|
197
|
-
* Where to place the label relative to the textarea.
|
|
198
|
-
* `"start"`: The label will appear to the left of the textarea in LTR and to the right in RTL.
|
|
199
|
-
* `"end"`: The label will appear to the right of the textarea in LTR and to the left in RTL.
|
|
200
|
-
* `"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.
|
|
201
|
-
* `"stacked"`: The label will appear smaller and above the textarea regardless even when the textarea is blurred or has no value.
|
|
202
|
-
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
203
|
-
*/
|
|
204
|
-
labelPlacement = 'start';
|
|
205
|
-
/**
|
|
206
|
-
* The shape of the textarea. If "round" it will have an increased border radius.
|
|
207
|
-
*/
|
|
208
|
-
shape;
|
|
180
|
+
disabledChanged() {
|
|
181
|
+
this.updateElementInternals();
|
|
182
|
+
}
|
|
209
183
|
/**
|
|
210
184
|
* Update the native input element when the value changes
|
|
211
185
|
*/
|
|
@@ -215,8 +189,22 @@ const Textarea = class {
|
|
|
215
189
|
if (nativeInput && nativeInput.value !== value) {
|
|
216
190
|
nativeInput.value = value;
|
|
217
191
|
}
|
|
192
|
+
this.updateElementInternals();
|
|
218
193
|
this.runAutoGrow();
|
|
219
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Update native input and element internals when required prop changes
|
|
197
|
+
*/
|
|
198
|
+
requiredChanged() {
|
|
199
|
+
// Explicitly update the native element's required attribute to ensure
|
|
200
|
+
// browser validation works correctly when required changes dynamically.
|
|
201
|
+
// While the template binding should handle this, we need to update it
|
|
202
|
+
// synchronously for the browser's validation to recognize the change.
|
|
203
|
+
if (this.nativeInput) {
|
|
204
|
+
this.nativeInput.required = this.required;
|
|
205
|
+
}
|
|
206
|
+
this.updateElementInternals();
|
|
207
|
+
}
|
|
220
208
|
/**
|
|
221
209
|
* dir is a globally enumerated attribute.
|
|
222
210
|
* As a result, creating these as properties
|
|
@@ -225,37 +213,9 @@ const Textarea = class {
|
|
|
225
213
|
* to the inner `<textarea>` element.
|
|
226
214
|
*/
|
|
227
215
|
onDirChanged(newValue) {
|
|
228
|
-
this.inheritedAttributes = {
|
|
229
|
-
...this.inheritedAttributes,
|
|
230
|
-
dir: newValue,
|
|
231
|
-
};
|
|
216
|
+
this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { dir: newValue });
|
|
232
217
|
forceUpdate(this);
|
|
233
218
|
}
|
|
234
|
-
/**
|
|
235
|
-
* The `ionChange` event is fired when the user modifies the textarea's value.
|
|
236
|
-
* Unlike the `ionInput` event, the `ionChange` event is fired when
|
|
237
|
-
* the element loses focus after its value has been modified.
|
|
238
|
-
*
|
|
239
|
-
* This event will not emit when programmatically setting the `value` property.
|
|
240
|
-
*/
|
|
241
|
-
ionChange;
|
|
242
|
-
/**
|
|
243
|
-
* The `ionInput` event is fired each time the user modifies the textarea's value.
|
|
244
|
-
* Unlike the `ionChange` event, the `ionInput` event is fired for each alteration
|
|
245
|
-
* to the textarea's value. This typically happens for each keystroke as the user types.
|
|
246
|
-
*
|
|
247
|
-
* When `clearOnEdit` is enabled, the `ionInput` event will be fired when
|
|
248
|
-
* the user clears the textarea by performing a keydown event.
|
|
249
|
-
*/
|
|
250
|
-
ionInput;
|
|
251
|
-
/**
|
|
252
|
-
* Emitted when the input loses focus.
|
|
253
|
-
*/
|
|
254
|
-
ionBlur;
|
|
255
|
-
/**
|
|
256
|
-
* Emitted when the input has focus.
|
|
257
|
-
*/
|
|
258
|
-
ionFocus;
|
|
259
219
|
/**
|
|
260
220
|
* This prevents the native input from emitting the click event.
|
|
261
221
|
* Instead, the click event from the ion-textarea is emitted.
|
|
@@ -269,15 +229,8 @@ const Textarea = class {
|
|
|
269
229
|
}
|
|
270
230
|
connectedCallback() {
|
|
271
231
|
const { el } = this;
|
|
272
|
-
this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () =>
|
|
273
|
-
this.startContainerController?.calculateStartContainerWidth();
|
|
274
|
-
forceUpdate(this);
|
|
275
|
-
});
|
|
232
|
+
this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate(this));
|
|
276
233
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
277
|
-
this.startContainerController = createStartContainerController(el, () => this.startContainerEl, () => {
|
|
278
|
-
return getIonMode(this) === 'md' && this.fill === 'outline';
|
|
279
|
-
});
|
|
280
|
-
this.startContainerController.calculateStartContainerWidth();
|
|
281
234
|
// Watch for class changes to update validation state
|
|
282
235
|
if (typeof MutationObserver !== 'undefined') {
|
|
283
236
|
this.validationObserver = new MutationObserver(() => {
|
|
@@ -316,10 +269,6 @@ const Textarea = class {
|
|
|
316
269
|
this.notchController.destroy();
|
|
317
270
|
this.notchController = undefined;
|
|
318
271
|
}
|
|
319
|
-
if (this.startContainerController) {
|
|
320
|
-
this.startContainerController.destroy();
|
|
321
|
-
this.startContainerController = undefined;
|
|
322
|
-
}
|
|
323
272
|
// Clean up validation observer to prevent memory leaks
|
|
324
273
|
if (this.validationObserver) {
|
|
325
274
|
this.validationObserver.disconnect();
|
|
@@ -327,18 +276,22 @@ const Textarea = class {
|
|
|
327
276
|
}
|
|
328
277
|
}
|
|
329
278
|
componentWillLoad() {
|
|
330
|
-
this.inheritedAttributes = {
|
|
331
|
-
...inheritAriaAttributes(this.el),
|
|
332
|
-
...inheritAttributes(this.el, ['data-form-type', 'title', 'tabindex', 'dir']),
|
|
333
|
-
};
|
|
279
|
+
this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['data-form-type', 'title', 'tabindex', 'dir']));
|
|
334
280
|
}
|
|
335
281
|
componentDidLoad() {
|
|
336
282
|
this.originalIonInput = this.ionInput;
|
|
283
|
+
this.updateElementInternals();
|
|
337
284
|
this.runAutoGrow();
|
|
285
|
+
// Override focus() to delegate to the native textarea.
|
|
286
|
+
// This is needed for Safari and Firefox which don't properly
|
|
287
|
+
// delegate focus when calling focus() directly on the host.
|
|
288
|
+
this.el.focus = () => {
|
|
289
|
+
this.setFocus();
|
|
290
|
+
};
|
|
338
291
|
}
|
|
339
292
|
componentDidRender() {
|
|
340
|
-
|
|
341
|
-
this.
|
|
293
|
+
var _a;
|
|
294
|
+
(_a = this.notchController) === null || _a === void 0 ? void 0 : _a.calculateNotchWidth();
|
|
342
295
|
}
|
|
343
296
|
/**
|
|
344
297
|
* Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global
|
|
@@ -388,10 +341,11 @@ const Textarea = class {
|
|
|
388
341
|
runAutoGrow() {
|
|
389
342
|
if (this.nativeInput && this.autoGrow) {
|
|
390
343
|
writeTask(() => {
|
|
344
|
+
var _a;
|
|
391
345
|
if (this.textareaWrapper) {
|
|
392
346
|
// Replicated value is an attribute to be used in the stylesheet
|
|
393
347
|
// to set the inner contents of a pseudo element.
|
|
394
|
-
this.textareaWrapper.dataset.replicatedValue = this.value
|
|
348
|
+
this.textareaWrapper.dataset.replicatedValue = (_a = this.value) !== null && _a !== void 0 ? _a : '';
|
|
395
349
|
}
|
|
396
350
|
});
|
|
397
351
|
}
|
|
@@ -442,47 +396,43 @@ const Textarea = class {
|
|
|
442
396
|
getValue() {
|
|
443
397
|
return this.value || '';
|
|
444
398
|
}
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
this.
|
|
399
|
+
/**
|
|
400
|
+
* Called when the form state is restored.
|
|
401
|
+
* Restores the component's value.
|
|
402
|
+
*/
|
|
403
|
+
formStateRestoreCallback(value) {
|
|
404
|
+
this.value = value;
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Called when the form is reset.
|
|
408
|
+
* Resets the component's value.
|
|
409
|
+
*/
|
|
410
|
+
formResetCallback() {
|
|
411
|
+
this.value = '';
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Updates the form value and reports validity state to the browser via
|
|
415
|
+
* ElementInternals. This should be called when the component loads, when
|
|
416
|
+
* the required prop changes, when the disabled prop changes, and when the value
|
|
417
|
+
* changes to ensure the form value stays in sync and validation state is updated.
|
|
418
|
+
*/
|
|
419
|
+
updateElementInternals() {
|
|
420
|
+
// Disabled form controls should not be included in form data
|
|
421
|
+
// Pass null to setFormValue when disabled to exclude it from form submission
|
|
422
|
+
const value = this.disabled ? null : this.getValue();
|
|
423
|
+
// ElementInternals may not be fully available in test environments
|
|
424
|
+
// so we need to check if the method exists before calling it
|
|
425
|
+
if (typeof this.internals.setFormValue === 'function') {
|
|
426
|
+
this.internals.setFormValue(value);
|
|
473
427
|
}
|
|
474
|
-
this.
|
|
475
|
-
|
|
476
|
-
};
|
|
477
|
-
onKeyDown = (ev) => {
|
|
478
|
-
this.checkClearOnEdit(ev);
|
|
479
|
-
};
|
|
428
|
+
reportValidityToElementInternals(this.nativeInput, this.internals);
|
|
429
|
+
}
|
|
480
430
|
renderLabel() {
|
|
481
431
|
const { label } = this;
|
|
482
432
|
return (h("div", { class: {
|
|
483
433
|
'label-text-wrapper': true,
|
|
484
434
|
'label-text-wrapper-hidden': !this.hasLabel,
|
|
485
|
-
} }, label === undefined ? h("slot", { name: "label" }) : h("div", { class: "label-text" }, label)));
|
|
435
|
+
}, part: "label" }, label === undefined ? h("slot", { name: "label" }) : h("div", { class: "label-text" }, label)));
|
|
486
436
|
}
|
|
487
437
|
/**
|
|
488
438
|
* Gets any content passed into the `label` slot,
|
|
@@ -500,30 +450,50 @@ const Textarea = class {
|
|
|
500
450
|
get hasLabel() {
|
|
501
451
|
return this.label !== undefined || this.labelSlot !== null;
|
|
502
452
|
}
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
* Only slots belonging directly to this textarea should be considered.
|
|
509
|
-
* The textarea itself may have a slot attribute when placed in an item
|
|
510
|
-
* or toolbar, which does not make its content slotted content.
|
|
511
|
-
*/
|
|
512
|
-
onLabelClick = (ev) => {
|
|
513
|
-
const target = ev.target;
|
|
514
|
-
const slotted = target.closest('[slot="start"], [slot="end"]');
|
|
515
|
-
if (slotted === null || slotted === this.el || !this.el.contains(slotted)) {
|
|
516
|
-
ev.stopPropagation();
|
|
453
|
+
getFill() {
|
|
454
|
+
const theme = getIonTheme(this);
|
|
455
|
+
const { fill } = this;
|
|
456
|
+
if (theme === 'ionic' && fill === undefined) {
|
|
457
|
+
return 'outline';
|
|
517
458
|
}
|
|
518
|
-
|
|
459
|
+
return fill;
|
|
460
|
+
}
|
|
461
|
+
getShape() {
|
|
462
|
+
const theme = getIonTheme(this);
|
|
463
|
+
const { shape } = this;
|
|
464
|
+
// TODO(ROU-11050): Update theme check when shapes are defined for all themes.
|
|
465
|
+
if (theme === 'ionic' && shape === undefined) {
|
|
466
|
+
return 'round';
|
|
467
|
+
}
|
|
468
|
+
return shape;
|
|
469
|
+
}
|
|
519
470
|
/**
|
|
520
|
-
* Renders the
|
|
471
|
+
* Renders the border container when fill="outline".
|
|
521
472
|
*/
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
473
|
+
renderLabelContainer() {
|
|
474
|
+
const theme = getIonTheme(this);
|
|
475
|
+
const hasOutlineFill = theme === 'md' && this.fill === 'outline';
|
|
476
|
+
if (hasOutlineFill) {
|
|
477
|
+
/**
|
|
478
|
+
* The outline fill has a special outline
|
|
479
|
+
* that appears around the textarea and the label.
|
|
480
|
+
* Certain stacked and floating label placements cause the
|
|
481
|
+
* label to translate up and create a "cut out"
|
|
482
|
+
* inside of that border by using the notch-spacer element.
|
|
483
|
+
*/
|
|
484
|
+
return [
|
|
485
|
+
h("div", { class: "textarea-outline-container" }, h("div", { class: "textarea-outline-start" }), h("div", { class: {
|
|
486
|
+
'textarea-outline-notch': true,
|
|
487
|
+
'textarea-outline-notch-hidden': !this.hasLabel,
|
|
488
|
+
} }, h("div", { class: "notch-spacer", "aria-hidden": "true", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h("div", { class: "textarea-outline-end" })),
|
|
489
|
+
this.renderLabel(),
|
|
490
|
+
];
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* If not using the outline style,
|
|
494
|
+
* we can render just the label.
|
|
495
|
+
*/
|
|
496
|
+
return this.renderLabel();
|
|
527
497
|
}
|
|
528
498
|
/**
|
|
529
499
|
* Renders the helper text or error text values
|
|
@@ -531,8 +501,8 @@ const Textarea = class {
|
|
|
531
501
|
renderHintText() {
|
|
532
502
|
const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
|
|
533
503
|
return [
|
|
534
|
-
h("div", { id: helperTextId, class: "helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null),
|
|
535
|
-
h("div", { id: errorTextId, class: "error-text", role: "alert" }, isInvalid ? errorText : null),
|
|
504
|
+
h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null),
|
|
505
|
+
h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text", role: "alert" }, isInvalid ? errorText : null),
|
|
536
506
|
];
|
|
537
507
|
}
|
|
538
508
|
getHintTextID() {
|
|
@@ -550,7 +520,7 @@ const Textarea = class {
|
|
|
550
520
|
if (counter !== true || maxlength === undefined) {
|
|
551
521
|
return;
|
|
552
522
|
}
|
|
553
|
-
return h("div", { class: "counter" }, getCounterText(value, maxlength, counterFormatter));
|
|
523
|
+
return (h("div", { class: "counter", part: "counter" }, getCounterText(value, maxlength, counterFormatter)));
|
|
554
524
|
}
|
|
555
525
|
/**
|
|
556
526
|
* Responsible for rendering helper text,
|
|
@@ -568,40 +538,76 @@ const Textarea = class {
|
|
|
568
538
|
if (!hasHintText && !hasCounter) {
|
|
569
539
|
return;
|
|
570
540
|
}
|
|
571
|
-
return (h("div", { class: "textarea-bottom" }, this.renderHintText(), this.renderCounter()));
|
|
541
|
+
return (h("div", { class: "textarea-bottom", part: "bottom" }, this.renderHintText(), this.renderCounter()));
|
|
572
542
|
}
|
|
573
543
|
render() {
|
|
574
|
-
const { inputId, disabled,
|
|
575
|
-
const
|
|
544
|
+
const { inputId, disabled, readonly, size, labelPlacement, el, hasFocus } = this;
|
|
545
|
+
const fill = this.getFill();
|
|
546
|
+
const theme = getIonTheme(this);
|
|
547
|
+
const shape = this.getShape();
|
|
576
548
|
const value = this.getValue();
|
|
577
549
|
const inItem = hostContext('ion-item', this.el);
|
|
578
|
-
const shouldRenderHighlight =
|
|
550
|
+
const shouldRenderHighlight = theme === 'md' && fill !== 'outline' && !inItem;
|
|
579
551
|
const hasValue = this.hasValue();
|
|
580
|
-
const
|
|
552
|
+
const hasStartEndSlots = el.querySelector('[slot="start"], [slot="end"]') !== null;
|
|
581
553
|
/**
|
|
582
554
|
* If the label is stacked, it should always sit above the textarea.
|
|
583
555
|
* For floating labels, the label should move above the textarea if
|
|
584
|
-
* the textarea has a value or
|
|
556
|
+
* the textarea has a value, is focused, or has anything in either
|
|
557
|
+
* the start or end slot.
|
|
558
|
+
*
|
|
559
|
+
* If there is content in the start slot, the label would overlap
|
|
560
|
+
* it if not forced to float. This is also applied to the end slot
|
|
561
|
+
* because with the default or solid fills, the textarea is not
|
|
562
|
+
* vertically centered in the container, but the label is. This
|
|
563
|
+
* causes the slots and label to appear vertically offset from each
|
|
564
|
+
* other when the label isn't floating above the input. This doesn't
|
|
565
|
+
* apply to the outline fill, but this was not accounted for to keep
|
|
566
|
+
* things consistent.
|
|
567
|
+
*
|
|
568
|
+
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
585
569
|
*/
|
|
586
|
-
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus));
|
|
587
|
-
return (h(Host, { key: '
|
|
588
|
-
[
|
|
570
|
+
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
571
|
+
return (h(Host, { key: 'b613bb449100c5d7a982ffb0a39ea6324e8eb6ea', class: createColorClasses(this.color, {
|
|
572
|
+
[theme]: true,
|
|
589
573
|
'has-value': hasValue,
|
|
590
574
|
'has-focus': hasFocus,
|
|
591
575
|
'label-floating': labelShouldFloat,
|
|
592
576
|
[`textarea-fill-${fill}`]: fill !== undefined,
|
|
593
577
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
578
|
+
[`textarea-size-${size}`]: true,
|
|
594
579
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
580
|
+
'in-item': inItem,
|
|
595
581
|
'textarea-disabled': disabled,
|
|
596
|
-
|
|
582
|
+
'textarea-readonly': readonly,
|
|
583
|
+
}) }, h("label", { key: '08a603a3fa102701d756d36d4d5d2d5e01f2895f', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '076362fb04fa45e89c2ecb46b51937ab80026e34', class: "textarea-wrapper-inner" },
|
|
584
|
+
/**
|
|
585
|
+
* For the ionic theme, we render the outline container here
|
|
586
|
+
* instead of higher up, so it can be positioned relative to
|
|
587
|
+
* the native wrapper instead of the <label> element or the
|
|
588
|
+
* entire component. This allows the label text to be positioned
|
|
589
|
+
* above the outline, while staying within the bounds of the
|
|
590
|
+
* <label> element, ensuring that clicking the label text
|
|
591
|
+
* focuses the textarea.
|
|
592
|
+
*/
|
|
593
|
+
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()));
|
|
597
594
|
}
|
|
595
|
+
static get delegatesFocus() { return true; }
|
|
596
|
+
static get formAssociated() { return true; }
|
|
597
|
+
get el() { return getElement(this); }
|
|
598
598
|
static get watchers() { return {
|
|
599
599
|
"debounce": [{
|
|
600
600
|
"debounceChanged": 0
|
|
601
601
|
}],
|
|
602
|
+
"disabled": [{
|
|
603
|
+
"disabledChanged": 0
|
|
604
|
+
}],
|
|
602
605
|
"value": [{
|
|
603
606
|
"valueChanged": 0
|
|
604
607
|
}],
|
|
608
|
+
"required": [{
|
|
609
|
+
"requiredChanged": 0
|
|
610
|
+
}],
|
|
605
611
|
"dir": [{
|
|
606
612
|
"onDirChanged": 0
|
|
607
613
|
}]
|
|
@@ -609,6 +615,7 @@ const Textarea = class {
|
|
|
609
615
|
};
|
|
610
616
|
let textareaIds = 0;
|
|
611
617
|
Textarea.style = {
|
|
618
|
+
ionic: textareaIonicCss(),
|
|
612
619
|
ios: textareaIosCss(),
|
|
613
620
|
md: textareaMdCss()
|
|
614
621
|
};
|