@ionic/core 8.6.5-dev.11752319737.1be47888 → 8.6.5-dev.11752589924.176e0985
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/action-sheet.js +13 -9
- package/components/alert.js +14 -11
- package/components/animation.js +1 -1
- package/components/backdrop.js +9 -6
- package/components/button.js +41 -10
- package/components/buttons.js +11 -8
- package/components/capacitor.js +1 -1
- package/components/caret-down.js +6 -0
- package/components/caret-left.js +6 -0
- package/components/caret-right.js +6 -0
- package/components/checkbox.js +31 -12
- package/components/content.js +14 -12
- package/components/data.js +5 -5
- package/components/focus-visible.js +23 -1
- package/components/framework-delegate.js +3 -1
- package/components/header.js +28 -16
- package/components/helpers.js +42 -3
- package/components/index5.js +8 -8
- package/components/index6.js +3 -3
- package/components/index7.js +111 -150
- package/components/index8.js +150 -111
- package/components/input-shims.js +2 -2
- package/components/input.utils.js +1 -1
- package/components/ion-accordion-group.js +23 -5
- package/components/ion-accordion.js +32 -21
- package/components/ion-app.js +12 -77
- package/components/ion-avatar.js +58 -5
- package/components/ion-back-button.js +27 -19
- package/components/ion-badge.js +73 -9
- package/components/ion-breadcrumb.js +43 -10
- package/components/ion-breadcrumbs.js +8 -5
- package/components/ion-card-content.js +10 -7
- package/components/ion-card-header.js +9 -6
- package/components/ion-card-subtitle.js +8 -5
- package/components/ion-card-title.js +8 -5
- package/components/ion-card.js +21 -9
- package/components/ion-chip.js +53 -8
- package/components/ion-col.js +5 -5
- package/components/ion-datetime-button.js +8 -5
- package/components/ion-datetime.js +98 -21
- package/components/ion-divider.d.ts +11 -0
- package/components/ion-divider.js +70 -0
- package/components/ion-fab-button.js +31 -15
- package/components/ion-fab-list.js +5 -5
- package/components/ion-fab.js +6 -6
- package/components/ion-footer.js +18 -13
- package/components/ion-grid.js +5 -5
- package/components/ion-img.js +5 -2
- package/components/ion-infinite-scroll-content.js +11 -8
- package/components/ion-infinite-scroll.js +5 -5
- package/components/ion-input-otp.js +56 -106
- package/components/ion-input-password-toggle.js +51 -13
- package/components/ion-input.js +120 -28
- package/components/ion-item-divider.js +8 -5
- package/components/ion-item-group.js +8 -5
- package/components/ion-item-option.js +36 -9
- package/components/ion-item-options.js +10 -7
- package/components/ion-item-sliding.js +5 -5
- package/components/ion-loading.js +12 -9
- package/components/ion-menu-button.js +26 -10
- package/components/ion-menu-toggle.js +5 -5
- package/components/ion-menu.js +10 -8
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +7 -5
- package/components/ion-note.js +8 -5
- package/components/ion-picker-legacy.js +7 -7
- package/components/ion-progress-bar.js +25 -7
- package/components/ion-range.js +12 -9
- package/components/ion-refresher-content.js +23 -8
- package/components/ion-refresher.js +10 -7
- package/components/ion-reorder-group.js +5 -5
- package/components/ion-reorder.js +30 -5
- package/components/ion-router-link.js +6 -6
- package/components/ion-router-outlet.js +4 -4
- package/components/ion-row.js +5 -2
- package/components/ion-searchbar.js +137 -23
- package/components/ion-segment-button.js +10 -7
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +5 -2
- package/components/ion-segment.js +10 -7
- package/components/ion-select-option.js +5 -2
- package/components/ion-select.js +117 -33
- package/components/ion-skeleton-text.js +5 -5
- package/components/ion-split-pane.js +11 -8
- package/components/ion-tab-bar.js +39 -9
- package/components/ion-tab-button.js +25 -7
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +2 -2
- package/components/ion-text.js +5 -5
- package/components/ion-textarea.js +52 -11
- package/components/ion-thumbnail.js +5 -2
- package/components/ion-toast.js +37 -12
- package/components/ion-toggle.js +74 -17
- package/components/ionic-global.js +349 -15
- package/components/ios.transition.js +1 -0
- package/components/item.js +39 -14
- package/components/keyboard-controller.js +4 -2
- package/components/label.js +8 -5
- package/components/list-header.js +10 -7
- package/components/list.js +27 -6
- package/components/list2.js +6 -0
- package/components/modal.js +48 -103
- package/components/notch-controller.js +1 -1
- package/components/overlays.js +3 -4
- package/components/picker-column-option.js +8 -5
- package/components/picker-column.js +7 -8
- package/components/picker-column2.js +4 -4
- package/components/picker.js +7 -4
- package/components/popover.js +12 -9
- package/components/radio-group.js +10 -5
- package/components/radio.js +11 -8
- package/components/ripple-effect.js +15 -7
- package/components/select-modal.js +4 -4
- package/components/select-popover.js +8 -2
- package/components/spinner.js +31 -8
- package/components/status-tap.js +1 -1
- package/components/title.js +10 -7
- package/components/toolbar.js +153 -9
- package/components/x.js +6 -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-0T7gKwOt.js → animation-Bcz4qmJk.js} +2 -3
- package/dist/cjs/{button-active-C-4ud7Ht.js → button-active-1nO6qpCH.js} +2 -2
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CzFst28-.js} +1 -1
- package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
- package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
- package/dist/cjs/caret-right-CRCgv98E.js +8 -0
- package/dist/cjs/{config-U7OAuj53.js → config-DGKt4XfG.js} +1 -1
- package/dist/cjs/{data-DRqa6oM4.js → data-B3i-krcw.js} +6 -6
- package/dist/{esm/focus-visible-BmVRXR1y.js → cjs/focus-visible-BIj-I3-C.js} +27 -1
- package/dist/cjs/{framework-delegate-C7sIJyT5.js → framework-delegate-DfEY5uyC.js} +4 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-DbqPcCc9.js} +1 -1
- package/dist/cjs/{helpers-BITAzJfi.js → helpers-DmAvmm2T.js} +42 -3
- package/dist/cjs/{index-CVa6JE57.js → index-CaZ3uzAD.js} +2 -2
- package/dist/cjs/{index-DODXXb_r.js → index-CmckMMX1.js} +352 -12
- package/dist/cjs/{index-CPbAsnJK.js → index-DPBLiXfW.js} +2 -2
- package/dist/cjs/{index-CxfLS2mX.js → index-DcPe_YcG.js} +12 -12
- package/dist/cjs/{index-y0QaNtCi.js → index-DxVhwe3d.js} +4 -4
- package/dist/cjs/{index-BDBT0u4l.js → index-YEjC0pvJ.js} +3 -3
- package/dist/cjs/index.cjs.js +11 -12
- package/dist/cjs/{input-shims-D1Mfgd4s.js → input-shims-BwdlNkON.js} +6 -6
- package/dist/cjs/{input.utils-DSoBEyUu.js → input.utils-CfjyQhpu.js} +3 -4
- package/dist/cjs/ion-accordion_2.cjs.entry.js +56 -27
- package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -18
- package/dist/cjs/ion-alert.cjs.entry.js +23 -21
- package/dist/cjs/ion-app_8.cjs.entry.js +243 -144
- package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -11
- package/dist/cjs/ion-back-button.cjs.entry.js +29 -20
- package/dist/cjs/ion-backdrop.cjs.entry.js +9 -6
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +52 -16
- package/dist/cjs/ion-button_2.cjs.entry.js +43 -11
- package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
- package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
- package/dist/cjs/ion-chip.cjs.entry.js +48 -7
- package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
- package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -7
- package/dist/cjs/ion-datetime_3.cjs.entry.js +114 -39
- package/dist/cjs/ion-divider.cjs.entry.js +50 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +42 -26
- package/dist/cjs/ion-img.cjs.entry.js +7 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +18 -14
- package/dist/cjs/ion-input-otp.cjs.entry.js +58 -106
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +51 -13
- package/dist/cjs/ion-input.cjs.entry.js +121 -31
- package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -19
- package/dist/cjs/ion-item_8.cjs.entry.js +106 -46
- package/dist/cjs/ion-loading.cjs.entry.js +18 -16
- package/dist/cjs/ion-menu_3.cjs.entry.js +45 -27
- package/dist/cjs/ion-modal.cjs.entry.js +83 -139
- package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -6
- package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
- package/dist/cjs/ion-picker.cjs.entry.js +10 -6
- package/dist/cjs/ion-popover.cjs.entry.js +18 -16
- package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -7
- package/dist/cjs/ion-radio_2.cjs.entry.js +22 -13
- package/dist/cjs/ion-range.cjs.entry.js +14 -10
- package/dist/cjs/ion-refresher_2.cjs.entry.js +38 -20
- package/dist/cjs/ion-reorder_2.cjs.entry.js +37 -13
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -6
- package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
- package/dist/cjs/ion-searchbar.cjs.entry.js +135 -22
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +21 -14
- package/dist/cjs/ion-select-modal.cjs.entry.js +8 -9
- package/dist/cjs/ion-select_3.cjs.entry.js +130 -39
- package/dist/cjs/ion-spinner.cjs.entry.js +28 -6
- package/dist/cjs/ion-split-pane.cjs.entry.js +11 -8
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +65 -20
- package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
- package/dist/cjs/ion-text.cjs.entry.js +5 -5
- package/dist/cjs/ion-textarea.cjs.entry.js +55 -15
- package/dist/cjs/ion-toast.cjs.entry.js +65 -42
- package/dist/cjs/ion-toggle.cjs.entry.js +79 -22
- package/dist/cjs/ionic.cjs.js +2 -2
- package/dist/cjs/{ios.transition-baEy2tr4.js → ios.transition-BMRClUxZ.js} +6 -5
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Chl5cusY.js} +1 -1
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-yLvXRMuh.js} +4 -3
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-nXDIskl9.js} +3 -3
- package/dist/cjs/list-a-7GSA6K.js +8 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{md.transition-Bvc-JrM5.js → md.transition-D2ZL4jgW.js} +5 -5
- package/dist/cjs/{notch-controller-BAbqGXRi.js → notch-controller-S50JyZJs.js} +2 -2
- package/dist/cjs/{overlays-DRDumz2b.js → overlays-DbrifhWu.js} +13 -14
- package/dist/cjs/{status-tap-Db3WeCkO.js → status-tap-DMaRrHIS.js} +4 -3
- package/dist/cjs/{swipe-back-D_VN6H9r.js → swipe-back-CEVlQT7C.js} +3 -2
- package/dist/cjs/x-BTF99yFH.js +8 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/accordion/accordion.ionic.css +197 -0
- package/dist/collection/components/accordion/accordion.ios.css +73 -58
- package/dist/collection/components/accordion/accordion.js +36 -26
- package/dist/collection/components/accordion/accordion.md.css +67 -59
- package/dist/collection/components/accordion-group/accordion-group.ionic.css +95 -0
- package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
- package/dist/collection/components/accordion-group/accordion-group.js +44 -8
- package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
- package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
- package/dist/collection/components/action-sheet/action-sheet.js +15 -11
- package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
- package/dist/collection/components/alert/alert.ios.css +19 -1
- package/dist/collection/components/alert/alert.js +16 -13
- package/dist/collection/components/alert/alert.md.css +19 -1
- package/dist/collection/components/app/app.js +15 -78
- package/dist/collection/components/avatar/avatar.ionic.css +365 -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 +27 -19
- package/dist/collection/components/back-button/back-button.md.css +60 -48
- package/dist/collection/components/backdrop/backdrop.ionic.css +111 -0
- package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
- package/dist/collection/components/backdrop/backdrop.js +12 -6
- package/dist/collection/components/backdrop/backdrop.md.css +56 -19
- package/dist/collection/components/badge/badge.ionic.css +277 -0
- package/dist/collection/components/badge/badge.ios.css +139 -12
- package/dist/collection/components/badge/badge.js +145 -9
- package/dist/collection/components/badge/badge.md.css +123 -12
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
- package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
- 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 +11 -9
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
- package/dist/collection/components/button/button.ionic.css +622 -0
- package/dist/collection/components/button/button.ios.css +135 -46
- package/dist/collection/components/button/button.js +48 -17
- package/dist/collection/components/button/button.md.css +126 -50
- package/dist/collection/components/buttons/buttons.ionic.css +100 -0
- package/dist/collection/components/buttons/buttons.ios.css +59 -7
- package/dist/collection/components/buttons/buttons.js +15 -9
- package/dist/collection/components/buttons/buttons.md.css +55 -3
- package/dist/collection/components/card/card.ionic.css +146 -0
- package/dist/collection/components/card/card.ios.css +65 -14
- package/dist/collection/components/card/card.js +41 -10
- package/dist/collection/components/card/card.md.css +65 -14
- package/dist/collection/components/card-content/card-content.ionic.css +94 -0
- package/dist/collection/components/card-content/card-content.ios.css +16 -1
- package/dist/collection/components/card-content/card-content.js +11 -8
- package/dist/collection/components/card-content/card-content.md.css +16 -1
- package/dist/collection/components/card-header/card-header.ionic.css +87 -0
- package/dist/collection/components/card-header/card-header.ios.css +27 -15
- package/dist/collection/components/card-header/card-header.js +13 -10
- package/dist/collection/components/card-header/card-header.md.css +27 -15
- package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +146 -0
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
- package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
- 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 -8
- package/dist/collection/components/card-title/card-title.md.css +73 -0
- package/dist/collection/components/checkbox/checkbox.ionic.css +527 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
- package/dist/collection/components/checkbox/checkbox.js +70 -14
- package/dist/collection/components/checkbox/checkbox.md.css +162 -102
- package/dist/collection/components/chip/chip.ionic.css +230 -0
- package/dist/collection/components/chip/chip.ios.css +67 -14
- package/dist/collection/components/chip/chip.js +108 -8
- package/dist/collection/components/chip/chip.md.css +67 -14
- package/dist/collection/components/col/col.css +12 -0
- package/dist/collection/components/col/col.js +9 -5
- package/dist/collection/components/content/content.css +8 -2
- package/dist/collection/components/content/content.js +16 -11
- package/dist/collection/components/datetime/datetime.ionic.css +699 -0
- package/dist/collection/components/datetime/datetime.ios.css +242 -86
- package/dist/collection/components/datetime/datetime.js +98 -20
- package/dist/collection/components/datetime/datetime.md.css +242 -86
- package/dist/collection/components/datetime/utils/data.js +5 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
- package/dist/collection/components/datetime-button/datetime-button.js +11 -8
- package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
- package/dist/collection/components/divider/divider.ionic.css +150 -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 +9 -5
- package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
- package/dist/collection/components/fab-button/fab-button.js +36 -21
- 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 +9 -5
- package/dist/collection/components/footer/footer.ios.css +14 -2
- package/dist/collection/components/footer/footer.js +21 -16
- package/dist/collection/components/footer/footer.md.css +12 -0
- package/dist/collection/components/grid/grid.css +12 -0
- package/dist/collection/components/grid/grid.js +9 -5
- package/dist/collection/components/header/header.ionic.css +100 -0
- package/dist/collection/components/header/header.ios.css +25 -10
- package/dist/collection/components/header/header.js +49 -18
- package/dist/collection/components/header/header.md.css +23 -8
- package/dist/collection/components/img/img.js +8 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
- 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 +16 -10
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
- package/dist/collection/components/input/input.ionic.css +883 -0
- package/dist/collection/components/input/input.ios.css +223 -140
- package/dist/collection/components/input/input.js +149 -38
- package/dist/collection/components/input/input.md.css +194 -213
- package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +106 -60
- package/dist/collection/components/input-otp/input-otp.js +55 -106
- package/dist/collection/components/input-otp/input-otp.md.css +106 -60
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +80 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
- package/dist/collection/components/item/item.ionic.css +502 -0
- package/dist/collection/components/item/item.ios.css +109 -69
- package/dist/collection/components/item/item.js +43 -19
- package/dist/collection/components/item/item.md.css +120 -68
- package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
- package/dist/collection/components/item-divider/item-divider.js +11 -8
- 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 +280 -0
- package/dist/collection/components/item-option/item-option.ios.css +136 -29
- package/dist/collection/components/item-option/item-option.js +73 -9
- package/dist/collection/components/item-option/item-option.md.css +136 -29
- package/dist/collection/components/item-options/item-options.ionic.css +223 -0
- package/dist/collection/components/item-options/item-options.ios.css +77 -34
- package/dist/collection/components/item-options/item-options.js +13 -7
- package/dist/collection/components/item-options/item-options.md.css +77 -34
- package/dist/collection/components/item-sliding/item-sliding.css +6 -0
- package/dist/collection/components/item-sliding/item-sliding.js +8 -4
- package/dist/collection/components/label/label.ios.css +18 -0
- package/dist/collection/components/label/label.js +11 -8
- package/dist/collection/components/label/label.md.css +18 -0
- package/dist/collection/components/list/list.ionic.css +214 -0
- package/dist/collection/components/list/list.ios.css +54 -14
- package/dist/collection/components/list/list.js +48 -9
- package/dist/collection/components/list/list.md.css +56 -16
- package/dist/collection/components/list-header/list-header.ionic.css +192 -0
- package/dist/collection/components/list-header/list-header.ios.css +82 -38
- package/dist/collection/components/list-header/list-header.js +11 -8
- 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 +14 -11
- 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 +12 -7
- package/dist/collection/components/menu/menu.md.css +15 -3
- package/dist/collection/components/menu-button/menu-button.ionic.css +238 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
- package/dist/collection/components/menu-button/menu-button.js +26 -10
- package/dist/collection/components/menu-button/menu-button.md.css +49 -15
- package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
- package/dist/collection/components/modal/animations/sheet.js +8 -2
- package/dist/collection/components/modal/gestures/sheet.js +10 -6
- package/dist/collection/components/modal/modal.ionic.css +243 -0
- package/dist/collection/components/modal/modal.ios.css +174 -70
- package/dist/collection/components/modal/modal.js +48 -94
- package/dist/collection/components/modal/modal.md.css +174 -70
- package/dist/collection/components/nav/nav.css +7 -1
- package/dist/collection/components/nav/nav.js +11 -5
- package/dist/collection/components/nav-link/nav-link.js +5 -1
- package/dist/collection/components/note/note.ios.css +12 -0
- package/dist/collection/components/note/note.js +11 -8
- 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 +8 -5
- package/dist/collection/components/picker/picker.md.css +15 -3
- package/dist/collection/components/picker-column/picker-column.css +9 -2
- package/dist/collection/components/picker-column/picker-column.js +8 -7
- 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 +13 -7
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
- package/dist/collection/components/picker-legacy/picker.js +7 -6
- package/dist/collection/components/picker-legacy/picker.md.css +13 -1
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
- package/dist/collection/components/popover/popover.ios.css +13 -1
- package/dist/collection/components/popover/popover.js +17 -14
- package/dist/collection/components/popover/popover.md.css +13 -1
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +289 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
- package/dist/collection/components/progress-bar/progress-bar.js +43 -7
- package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
- package/dist/collection/components/radio/radio.ionic.css +424 -0
- package/dist/collection/components/radio/radio.ios.css +134 -91
- package/dist/collection/components/radio/radio.js +12 -9
- package/dist/collection/components/radio/radio.md.css +134 -91
- package/dist/collection/components/radio-group/radio-group.ionic.css +127 -0
- package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
- package/dist/collection/components/radio-group/radio-group.js +13 -5
- package/dist/collection/components/radio-group/radio-group.md.css +42 -18
- package/dist/collection/components/range/range.ionic.css +555 -0
- package/dist/collection/components/range/range.ios.css +128 -85
- package/dist/collection/components/range/range.js +12 -9
- 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 +11 -8
- package/dist/collection/components/refresher/refresher.md.css +15 -2
- package/dist/collection/components/refresher-content/refresher-content.js +28 -7
- package/dist/collection/components/reorder/reorder.ios.css +6 -0
- package/dist/collection/components/reorder/reorder.js +33 -6
- 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 +8 -4
- 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 +217 -0
- package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
- package/dist/collection/components/route/route.js +4 -0
- package/dist/collection/components/router/router.js +4 -0
- package/dist/collection/components/router-link/router-link.css +8 -2
- package/dist/collection/components/router-link/router-link.js +9 -5
- package/dist/collection/components/router-outlet/router-outlet.css +7 -1
- package/dist/collection/components/router-outlet/router-outlet.js +6 -3
- package/dist/collection/components/row/row.css +12 -0
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.ionic.css +628 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +181 -34
- package/dist/collection/components/searchbar/searchbar.md.css +56 -18
- package/dist/collection/components/segment/segment.ionic.css +117 -0
- package/dist/collection/components/segment/segment.ios.css +45 -2
- package/dist/collection/components/segment/segment.js +11 -8
- package/dist/collection/components/segment/segment.md.css +45 -2
- package/dist/collection/components/segment-button/segment-button.ionic.css +355 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
- package/dist/collection/components/segment-button/segment-button.js +11 -8
- 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 +6 -4
- package/dist/collection/components/segment-view/segment-view.md.css +6 -0
- package/dist/collection/components/select/select.ionic.css +765 -0
- package/dist/collection/components/select/select.ios.css +315 -176
- package/dist/collection/components/select/select.js +157 -54
- package/dist/collection/components/select/select.md.css +331 -178
- package/dist/collection/components/select-modal/select-modal.ionic.css +121 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
- package/dist/collection/components/select-modal/select-modal.js +3 -3
- package/dist/collection/components/select-modal/select-modal.md.css +7 -3
- package/dist/collection/components/select-option/select-option.js +9 -2
- package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
- package/dist/collection/components/select-popover/select-popover.js +12 -4
- package/dist/collection/components/select-popover/select-popover.md.css +18 -0
- package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
- package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +79 -10
- package/dist/collection/components/spinner/spinner.js +47 -6
- package/dist/collection/components/spinner/spinner.native.css +198 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
- package/dist/collection/components/split-pane/split-pane.js +14 -8
- package/dist/collection/components/split-pane/split-pane.md.css +20 -2
- package/dist/collection/components/tab/tab.js +6 -2
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +188 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
- package/dist/collection/components/tab-bar/tab-bar.js +78 -11
- package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +338 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
- package/dist/collection/components/tab-button/tab-button.js +44 -8
- 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 +4 -1
- package/dist/collection/components/text/text.css +6 -0
- package/dist/collection/components/text/text.js +7 -6
- package/dist/collection/components/textarea/textarea.ionic.css +830 -0
- package/dist/collection/components/textarea/textarea.ios.css +275 -139
- package/dist/collection/components/textarea/textarea.js +76 -16
- package/dist/collection/components/textarea/textarea.md.css +288 -140
- 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 +129 -0
- package/dist/collection/components/title/title.ios.css +32 -4
- package/dist/collection/components/title/title.js +13 -7
- package/dist/collection/components/title/title.md.css +32 -4
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ionic.css +396 -0
- package/dist/collection/components/toast/toast.ios.css +84 -45
- package/dist/collection/components/toast/toast.js +75 -12
- package/dist/collection/components/toast/toast.md.css +84 -45
- package/dist/collection/components/toggle/toggle.ionic.css +511 -0
- package/dist/collection/components/toggle/toggle.ios.css +247 -131
- package/dist/collection/components/toggle/toggle.js +73 -18
- package/dist/collection/components/toggle/toggle.md.css +244 -131
- package/dist/collection/components/toolbar/test/image.svg +1 -0
- package/dist/collection/components/toolbar/toolbar.ionic.css +243 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
- package/dist/collection/components/toolbar/toolbar.js +157 -13
- package/dist/collection/components/toolbar/toolbar.md.css +90 -47
- package/dist/collection/global/ionic-global.js +228 -13
- package/dist/collection/utils/focus-visible.js +22 -0
- package/dist/collection/utils/framework-delegate.js +3 -1
- package/dist/collection/utils/helpers.js +42 -2
- package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
- 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/overlays.js +2 -1
- package/dist/collection/utils/test/playwright/generator.js +48 -23
- package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +24 -3
- package/dist/collection/utils/transition/ios.transition.js +1 -0
- package/dist/docs.json +7887 -359
- package/dist/esm/{animation-BWcUKtbn.js → animation-Cgfm6Out.js} +1 -2
- package/dist/esm/{button-active-Bxcnevju.js → button-active-DvzVF2u_.js} +2 -2
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-Dvc8Ydvg.js} +1 -1
- package/dist/esm/caret-down-D1t981Ih.js +6 -0
- package/dist/esm/caret-left-fIOYmaqA.js +6 -0
- package/dist/esm/caret-right-BYSs-jZz.js +6 -0
- package/dist/esm/{config-AaTyISnm.js → config-DwiPHIF5.js} +1 -1
- package/dist/esm/{data-GIsHsYIB.js → data-HHZs0eLV.js} +6 -6
- package/dist/{cjs/focus-visible-CCvKiLh3.js → esm/focus-visible-vXpMhGrs.js} +23 -3
- package/dist/esm/{framework-delegate-DxcnWic_.js → framework-delegate-B4Rily6A.js} +4 -2
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-ZZTn7IWt.js} +1 -1
- package/dist/esm/{helpers-1O4D2b7y.js → helpers-D_90HVv6.js} +42 -3
- package/dist/esm/{index-B_U9CtaY.js → index-BBrR3goV.js} +347 -13
- package/dist/esm/{index-DfBA5ztX.js → index-BoSPzYKk.js} +4 -4
- package/dist/esm/{index-BlJTBdxG.js → index-ByqmqxGO.js} +2 -2
- package/dist/esm/{index-BLV6ykCk.js → index-CFd-a2gp.js} +3 -3
- package/dist/esm/{index-D8sncTHY.js → index-D4D_NUAr.js} +10 -10
- package/dist/esm/{index-CWbP1eJz.js → index-k4x4i7EL.js} +3 -3
- package/dist/esm/index.js +11 -12
- package/dist/esm/{input-shims-C3lNp93k.js → input-shims-DEtEJcaS.js} +6 -6
- package/dist/esm/{input.utils-zWijNCrx.js → input.utils-DNE0LB5g.js} +2 -3
- package/dist/esm/ion-accordion_2.entry.js +56 -27
- package/dist/esm/ion-action-sheet.entry.js +21 -18
- package/dist/esm/ion-alert.entry.js +23 -21
- package/dist/esm/ion-app_8.entry.js +243 -144
- package/dist/esm/ion-avatar_3.entry.js +124 -12
- package/dist/esm/ion-back-button.entry.js +29 -20
- package/dist/esm/ion-backdrop.entry.js +9 -6
- package/dist/esm/ion-breadcrumb_2.entry.js +52 -16
- package/dist/esm/ion-button_2.entry.js +43 -11
- package/dist/esm/ion-card_5.entry.js +53 -29
- package/dist/esm/ion-checkbox.entry.js +31 -13
- package/dist/esm/ion-chip.entry.js +48 -7
- package/dist/esm/ion-col_3.entry.js +13 -10
- package/dist/esm/ion-datetime-button.entry.js +11 -7
- package/dist/esm/ion-datetime_3.entry.js +114 -39
- package/dist/esm/ion-divider.entry.js +48 -0
- package/dist/esm/ion-fab_3.entry.js +42 -26
- package/dist/esm/ion-img.entry.js +7 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +18 -14
- package/dist/esm/ion-input-otp.entry.js +58 -106
- package/dist/esm/ion-input-password-toggle.entry.js +51 -13
- package/dist/esm/ion-input.entry.js +121 -31
- package/dist/esm/ion-item-option_3.entry.js +48 -19
- package/dist/esm/ion-item_8.entry.js +106 -46
- package/dist/esm/ion-loading.entry.js +18 -16
- package/dist/esm/ion-menu_3.entry.js +45 -27
- package/dist/esm/ion-modal.entry.js +56 -112
- package/dist/esm/ion-nav_2.entry.js +13 -10
- package/dist/esm/ion-picker-column-option.entry.js +10 -6
- package/dist/esm/ion-picker-column.entry.js +11 -11
- package/dist/esm/ion-picker.entry.js +10 -6
- package/dist/esm/ion-popover.entry.js +18 -16
- package/dist/esm/ion-progress-bar.entry.js +25 -7
- package/dist/esm/ion-radio_2.entry.js +22 -13
- package/dist/esm/ion-range.entry.js +14 -10
- package/dist/esm/ion-refresher_2.entry.js +38 -20
- package/dist/esm/ion-reorder_2.entry.js +37 -13
- package/dist/esm/ion-ripple-effect.entry.js +14 -6
- package/dist/esm/ion-route_4.entry.js +8 -7
- package/dist/esm/ion-searchbar.entry.js +136 -23
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +6 -3
- package/dist/esm/ion-segment_2.entry.js +21 -14
- package/dist/esm/ion-select-modal.entry.js +8 -9
- package/dist/esm/ion-select_3.entry.js +130 -39
- package/dist/esm/ion-spinner.entry.js +28 -6
- package/dist/esm/ion-split-pane.entry.js +11 -8
- package/dist/esm/ion-tab-bar_2.entry.js +65 -20
- package/dist/esm/ion-tab_2.entry.js +8 -7
- package/dist/esm/ion-text.entry.js +5 -5
- package/dist/esm/ion-textarea.entry.js +55 -15
- package/dist/esm/ion-toast.entry.js +41 -18
- package/dist/esm/ion-toggle.entry.js +79 -22
- package/dist/esm/ionic.js +3 -3
- package/dist/esm/{ios.transition-BmXtMRXZ.js → ios.transition-C_-UP8wE.js} +6 -5
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-BsZp3qPH.js} +3 -3
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cvigb3Rv.js} +1 -1
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-lts2Pswq.js} +4 -3
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{md.transition-CLI683c7.js → md.transition-BDWkLsNw.js} +5 -5
- package/dist/esm/{notch-controller-C5LPspO8.js → notch-controller-ClKrf2l9.js} +2 -2
- package/dist/esm/{overlays-8Y2rA-ps.js → overlays-DDeOq6un.js} +5 -6
- package/dist/esm/{status-tap-7t9T91bG.js → status-tap-DLatL9pG.js} +4 -3
- package/dist/esm/{swipe-back-VdaUzLWy.js → swipe-back-YYylMb0l.js} +3 -2
- package/dist/esm/x-BDqjX7Z_.js +6 -0
- package/dist/html.html-data.json +2508 -230
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-034b2ca2.entry.js +4 -0
- package/dist/ionic/p-08dfb85e.entry.js +4 -0
- package/dist/ionic/p-0db4cc59.entry.js +4 -0
- package/dist/ionic/p-0eab9ecf.entry.js +4 -0
- package/dist/ionic/p-13c72b4e.entry.js +4 -0
- package/dist/ionic/p-1984e701.entry.js +4 -0
- package/dist/ionic/p-19959eec.entry.js +4 -0
- package/dist/ionic/p-1f976fad.entry.js +4 -0
- package/dist/ionic/p-1fd06a55.entry.js +4 -0
- package/dist/ionic/p-1fedceb6.entry.js +4 -0
- package/dist/ionic/p-208954ca.entry.js +4 -0
- package/dist/ionic/p-2d5f9656.entry.js +4 -0
- package/dist/ionic/p-30c2256c.entry.js +4 -0
- package/dist/ionic/p-32f9c041.entry.js +4 -0
- package/dist/ionic/p-3a2af867.entry.js +4 -0
- package/dist/ionic/p-3c361403.entry.js +4 -0
- package/dist/ionic/p-40f4609e.entry.js +4 -0
- package/dist/ionic/p-4d4dcd38.entry.js +4 -0
- package/dist/ionic/p-4d7443cd.entry.js +4 -0
- package/dist/ionic/p-4d7ac4db.entry.js +4 -0
- package/dist/ionic/p-50ce7a3d.entry.js +4 -0
- package/dist/ionic/p-5adff2f0.entry.js +4 -0
- package/dist/ionic/p-63766f09.entry.js +4 -0
- package/dist/ionic/p-6957ab67.entry.js +4 -0
- package/dist/ionic/p-6e6ce506.entry.js +4 -0
- package/dist/ionic/p-6ea34add.entry.js +4 -0
- package/dist/ionic/p-6f17f8ed.entry.js +4 -0
- package/dist/ionic/p-7049bf1c.entry.js +4 -0
- package/dist/ionic/p-7ace7638.entry.js +4 -0
- package/dist/ionic/p-7f1e83a4.entry.js +4 -0
- package/dist/ionic/p-82796bb0.entry.js +4 -0
- package/dist/ionic/p-9cb0fd91.entry.js +4 -0
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BJ-EYogw.js +4 -0
- package/dist/ionic/p-BK3Vo2GA.js +4 -0
- package/dist/ionic/p-BKDxK6_S.js +4 -0
- package/dist/ionic/p-BMPzyWDm.js +4 -0
- package/dist/ionic/p-BTqHM5hg.js +4 -0
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BZR5I9yn.js +4 -0
- package/dist/ionic/p-BZSKvxFv.js +4 -0
- package/dist/ionic/p-BaAcx1TO.js +4 -0
- package/dist/ionic/p-BeJdFlAB.js +4 -0
- package/dist/ionic/{p-D13Eaw-8.js → p-Bi_aZreq.js} +1 -1
- package/dist/ionic/p-BpUl-Ubc.js +4 -0
- package/dist/ionic/{p-CKvCXMs9.js → p-BuAY53fC.js} +1 -1
- package/dist/ionic/{p-BLV6ykCk.js → p-CFd-a2gp.js} +1 -1
- package/dist/ionic/p-CnPZjTVf.js +4 -0
- package/dist/ionic/{p-7qk7mxdr.js → p-D-g7JYuH.js} +1 -1
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/dist/ionic/p-D6quDhlh.js +4 -0
- package/dist/ionic/{p-CPgXVSua.js → p-DIZM2shZ.js} +1 -1
- package/dist/ionic/p-DJD59Sq4.js +4 -0
- package/dist/ionic/p-DZmL55Qn.js +4 -0
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/p-DjxV6ul_.js +4 -0
- package/dist/ionic/p-DkXsr7m2.js +4 -0
- package/dist/ionic/p-Dpa-63kX.js +4 -0
- package/dist/ionic/p-HOJ_eq4V.js +5 -0
- package/dist/ionic/p-MBiM0IFp.js +4 -0
- package/dist/ionic/p-a036ba35.entry.js +4 -0
- package/dist/ionic/p-a1af546a.entry.js +4 -0
- package/dist/ionic/p-ae3dad82.entry.js +4 -0
- package/dist/ionic/{p-a9ac80bd.entry.js → p-b2fe9962.entry.js} +1 -1
- package/dist/ionic/p-b493f149.entry.js +4 -0
- package/dist/ionic/p-b767c96a.entry.js +4 -0
- package/dist/ionic/p-bb85830d.entry.js +4 -0
- package/dist/ionic/p-c565e353.entry.js +4 -0
- package/dist/ionic/p-ccf3b065.entry.js +4 -0
- package/dist/ionic/p-d2ca6a9d.entry.js +4 -0
- package/dist/ionic/p-db6e0330.entry.js +4 -0
- package/dist/ionic/p-dd5e8e7a.entry.js +4 -0
- package/dist/ionic/p-deb1d888.entry.js +4 -0
- package/dist/ionic/p-dec5b3dc.entry.js +4 -0
- package/dist/ionic/p-e4ed2971.entry.js +4 -0
- package/dist/ionic/p-e89e89eb.entry.js +4 -0
- package/dist/ionic/{p-ei_RiGrl.js → p-eZzo_1L1.js} +1 -1
- package/dist/ionic/p-ed214a9c.entry.js +4 -0
- package/dist/ionic/p-eebf0420.entry.js +4 -0
- package/dist/ionic/p-f2cd0d41.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-fbd73129.entry.js +4 -0
- package/dist/ionic/p-fc8e47a4.entry.js +4 -0
- package/dist/ionic/p-vXpMhGrs.js +4 -0
- package/dist/ionic/svg/accessibility-outline.svg +1 -1
- package/dist/ionic/svg/accessibility-sharp.svg +1 -1
- package/dist/ionic/svg/accessibility.svg +1 -1
- package/dist/ionic/svg/arrow-down-left-box-outline.svg +1 -0
- package/dist/ionic/svg/arrow-down-left-box-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-down-left-box.svg +1 -0
- package/dist/ionic/svg/arrow-down-right-box-outline.svg +1 -0
- package/dist/ionic/svg/arrow-down-right-box-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-down-right-box.svg +1 -0
- package/dist/ionic/svg/arrow-up-left-box-outline.svg +1 -0
- package/dist/ionic/svg/arrow-up-left-box-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-up-left-box.svg +1 -0
- package/dist/ionic/svg/arrow-up-right-box-outline.svg +1 -0
- package/dist/ionic/svg/arrow-up-right-box-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-up-right-box.svg +1 -0
- package/dist/ionic/svg/bag-add-outline.svg +1 -1
- package/dist/ionic/svg/bag-add-sharp.svg +1 -1
- package/dist/ionic/svg/bag-add.svg +1 -1
- package/dist/ionic/svg/bag-check-outline.svg +1 -1
- package/dist/ionic/svg/bag-check-sharp.svg +1 -1
- package/dist/ionic/svg/bag-check.svg +1 -1
- package/dist/ionic/svg/bag-handle-outline.svg +1 -1
- package/dist/ionic/svg/bag-handle-sharp.svg +1 -1
- package/dist/ionic/svg/bag-handle.svg +1 -1
- package/dist/ionic/svg/bag-outline.svg +1 -1
- package/dist/ionic/svg/bag-remove-outline.svg +1 -1
- package/dist/ionic/svg/bag-remove-sharp.svg +1 -1
- package/dist/ionic/svg/bag-remove.svg +1 -1
- package/dist/ionic/svg/bag-sharp.svg +1 -1
- package/dist/ionic/svg/bag.svg +1 -1
- package/dist/ionic/svg/balloon-outline.svg +1 -1
- package/dist/ionic/svg/balloon-sharp.svg +1 -1
- package/dist/ionic/svg/balloon.svg +1 -1
- package/dist/ionic/svg/ban-outline.svg +1 -1
- package/dist/ionic/svg/ban-sharp.svg +1 -1
- package/dist/ionic/svg/ban.svg +1 -1
- package/dist/ionic/svg/binoculars-outline.svg +1 -0
- package/dist/ionic/svg/binoculars-sharp.svg +1 -0
- package/dist/ionic/svg/binoculars.svg +1 -0
- package/dist/ionic/svg/body-outline.svg +1 -1
- package/dist/ionic/svg/bowling-ball-outline.svg +1 -1
- package/dist/ionic/svg/bowling-ball-sharp.svg +1 -1
- package/dist/ionic/svg/bowling-ball.svg +1 -1
- package/dist/ionic/svg/calendar-clear-outline.svg +1 -1
- package/dist/ionic/svg/calendar-clear-sharp.svg +1 -1
- package/dist/ionic/svg/calendar-clear.svg +1 -1
- package/dist/ionic/svg/calendar-number-outline.svg +1 -1
- package/dist/ionic/svg/calendar-number-sharp.svg +1 -1
- package/dist/ionic/svg/calendar-number.svg +1 -1
- package/dist/ionic/svg/calendar-outline.svg +1 -1
- package/dist/ionic/svg/calendar-sharp.svg +1 -1
- package/dist/ionic/svg/calendar.svg +1 -1
- package/dist/ionic/svg/chevron-collapse-outline.svg +1 -1
- package/dist/ionic/svg/chevron-collapse-sharp.svg +1 -1
- package/dist/ionic/svg/chevron-collapse.svg +1 -1
- package/dist/ionic/svg/chevron-expand-outline.svg +1 -1
- package/dist/ionic/svg/chevron-expand-sharp.svg +1 -1
- package/dist/ionic/svg/chevron-expand.svg +1 -1
- package/dist/ionic/svg/color-wand-outline.svg +1 -1
- package/dist/ionic/svg/color-wand.svg +1 -1
- package/dist/ionic/svg/diamond-outline.svg +1 -1
- package/dist/ionic/svg/diamond-sharp.svg +1 -1
- package/dist/ionic/svg/diamond.svg +1 -1
- package/dist/ionic/svg/dice-outline.svg +1 -1
- package/dist/ionic/svg/dice-sharp.svg +1 -1
- package/dist/ionic/svg/dice.svg +1 -1
- package/dist/ionic/svg/document-lock-outline.svg +1 -1
- package/dist/ionic/svg/document-lock-sharp.svg +1 -1
- package/dist/ionic/svg/document-lock.svg +1 -1
- package/dist/ionic/svg/extension-puzzle-outline.svg +1 -1
- package/dist/ionic/svg/extension-puzzle-sharp.svg +1 -1
- package/dist/ionic/svg/extension-puzzle.svg +1 -1
- package/dist/ionic/svg/filter-circle-outline.svg +1 -1
- package/dist/ionic/svg/filter-circle-sharp.svg +1 -1
- package/dist/ionic/svg/filter-circle.svg +1 -1
- package/dist/ionic/svg/fish-outline.svg +1 -1
- package/dist/ionic/svg/fish-sharp.svg +1 -1
- package/dist/ionic/svg/fish.svg +1 -1
- package/dist/ionic/svg/footsteps-outline.svg +1 -1
- package/dist/ionic/svg/footsteps-sharp.svg +1 -1
- package/dist/ionic/svg/footsteps.svg +1 -1
- package/dist/ionic/svg/id-card-outline.svg +1 -1
- package/dist/ionic/svg/id-card-sharp.svg +1 -1
- package/dist/ionic/svg/id-card.svg +1 -1
- package/dist/ionic/svg/invert-mode-outline.svg +1 -1
- package/dist/ionic/svg/invert-mode-sharp.svg +1 -1
- package/dist/ionic/svg/invert-mode.svg +1 -1
- package/dist/ionic/svg/logo-alipay.svg +1 -1
- package/dist/ionic/svg/logo-android.svg +1 -1
- package/dist/ionic/svg/logo-appflow.svg +1 -0
- package/dist/ionic/svg/logo-apple-ar.svg +1 -1
- package/dist/ionic/svg/logo-behance.svg +1 -1
- package/dist/ionic/svg/logo-bitbucket.svg +1 -1
- package/dist/ionic/svg/logo-deviantart.svg +1 -1
- package/dist/ionic/svg/logo-discord.svg +1 -1
- package/dist/ionic/svg/logo-docker.svg +1 -1
- package/dist/ionic/svg/logo-edge.svg +1 -1
- package/dist/ionic/svg/logo-facebook.svg +1 -1
- package/dist/ionic/svg/logo-figma.svg +1 -1
- package/dist/ionic/svg/logo-firebase.svg +1 -1
- package/dist/ionic/svg/logo-gitlab.svg +1 -1
- package/dist/ionic/svg/logo-ionic.svg +1 -1
- package/dist/ionic/svg/logo-mastodon.svg +1 -1
- package/dist/ionic/svg/logo-medium.svg +1 -1
- package/dist/ionic/svg/logo-microsoft.svg +1 -1
- package/dist/ionic/svg/logo-npm.svg +1 -1
- package/dist/ionic/svg/logo-paypal.svg +1 -1
- package/dist/ionic/svg/logo-soundcloud.svg +1 -1
- package/dist/ionic/svg/logo-tableau.svg +1 -1
- package/dist/ionic/svg/logo-tiktok.svg +1 -1
- package/dist/ionic/svg/logo-trapeze.svg +1 -0
- package/dist/ionic/svg/logo-venmo.svg +1 -1
- package/dist/ionic/svg/logo-vercel.svg +1 -1
- package/dist/ionic/svg/logo-wechat.svg +1 -1
- package/dist/ionic/svg/logo-x.svg +1 -0
- package/dist/ionic/svg/logo-yahoo.svg +1 -1
- package/dist/ionic/svg/prism-outline.svg +1 -1
- package/dist/ionic/svg/prism-sharp.svg +1 -1
- package/dist/ionic/svg/prism.svg +1 -1
- package/dist/ionic/svg/scale-outline.svg +1 -1
- package/dist/ionic/svg/scale-sharp.svg +1 -1
- package/dist/ionic/svg/scale.svg +1 -1
- package/dist/ionic/svg/server-outline.svg +1 -1
- package/dist/ionic/svg/server-sharp.svg +1 -1
- package/dist/ionic/svg/server.svg +1 -1
- package/dist/ionic/svg/shield-half-outline.svg +1 -1
- package/dist/ionic/svg/shield-half-sharp.svg +1 -1
- package/dist/ionic/svg/shield-half.svg +1 -1
- package/dist/ionic/svg/sparkles-outline.svg +1 -1
- package/dist/ionic/svg/sparkles-sharp.svg +1 -1
- package/dist/ionic/svg/sparkles.svg +1 -1
- package/dist/ionic/svg/storefront-outline.svg +1 -1
- package/dist/ionic/svg/storefront-sharp.svg +1 -1
- package/dist/ionic/svg/storefront.svg +1 -1
- package/dist/ionic/svg/telescope-outline.svg +1 -1
- package/dist/ionic/svg/telescope-sharp.svg +1 -1
- package/dist/ionic/svg/telescope.svg +1 -1
- package/dist/ionic/svg/ticket-outline.svg +1 -1
- package/dist/ionic/svg/ticket-sharp.svg +1 -1
- package/dist/ionic/svg/ticket.svg +1 -1
- package/dist/ionic/svg/today-outline.svg +1 -1
- package/dist/ionic/svg/today-sharp.svg +1 -1
- package/dist/ionic/svg/today.svg +1 -1
- package/dist/ionic/svg/unlink-outline.svg +1 -1
- package/dist/ionic/svg/unlink-sharp.svg +1 -1
- package/dist/ionic/svg/unlink.svg +1 -1
- package/dist/ionic/svg/videocam-off-outline.svg +1 -1
- package/dist/ionic/svg/videocam-off-sharp.svg +1 -1
- package/dist/ionic/svg/videocam-off.svg +1 -1
- package/dist/ionic/svg/wifi-outline.svg +1 -1
- package/dist/ionic/svg/wifi-sharp.svg +1 -1
- package/dist/ionic/svg/wifi.svg +1 -1
- package/dist/types/components/accordion/accordion.d.ts +5 -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 -2
- package/dist/types/components/avatar/avatar.d.ts +32 -0
- package/dist/types/components/back-button/back-button.d.ts +2 -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 +4 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +19 -6
- 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 +14 -4
- package/dist/types/components/chip/chip.d.ts +26 -1
- package/dist/types/components/col/col.d.ts +4 -0
- 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 +5 -3
- package/dist/types/components/fab-list/fab-list.d.ts +4 -0
- package/dist/types/components/footer/footer.d.ts +4 -3
- package/dist/types/components/grid/grid.d.ts +4 -0
- package/dist/types/components/header/header.d.ts +9 -3
- package/dist/types/components/img/img.d.ts +3 -0
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +31 -5
- package/dist/types/components/input-otp/input-otp.d.ts +8 -12
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
- package/dist/types/components/item/item.d.ts +11 -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 +4 -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 +3 -1
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +4 -7
- package/dist/types/components/modal/modal.d.ts +11 -14
- package/dist/types/components/nav/nav-interface.d.ts +9 -1
- package/dist/types/components/nav/nav.d.ts +5 -1
- 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/picker.d.ts +2 -1
- 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 +4 -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 +4 -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 +4 -0
- 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 -1
- package/dist/types/components/row/row.d.ts +4 -0
- package/dist/types/components/searchbar/searchbar.d.ts +51 -9
- 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 +41 -13
- package/dist/types/components/select-option/select-option.d.ts +4 -0
- 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.d.ts +22 -2
- package/dist/types/components/tab-button/tab-button.d.ts +11 -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 +17 -4
- 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 +15 -1
- package/dist/types/components/toolbar/toolbar.d.ts +20 -3
- package/dist/types/components.d.ts +1511 -196
- package/dist/types/global/ionic-global.d.ts +27 -2
- package/dist/types/interface.d.ts +3 -0
- package/dist/types/utils/config.d.ts +106 -2
- package/dist/types/utils/focus-visible.d.ts +13 -0
- package/dist/types/utils/helpers.d.ts +11 -0
- package/dist/types/utils/overlays-interface.d.ts +31 -1
- package/dist/types/utils/test/playwright/generator.d.ts +31 -2
- package/hydrate/index.js +2780 -1087
- package/hydrate/index.mjs +2780 -1087
- package/package.json +9 -4
- package/components/hardware-back-button.js +0 -115
- package/components/index9.js +0 -7
- package/dist/cjs/hardware-back-button-D90qZxju.js +0 -121
- package/dist/cjs/index-DkNv4J_i.js +0 -10
- package/dist/esm/hardware-back-button-DcH0BbDp.js +0 -115
- package/dist/esm/index-ZjP4CjeZ.js +0 -7
- package/dist/ionic/p-01123ecf.entry.js +0 -4
- package/dist/ionic/p-03d21728.entry.js +0 -4
- package/dist/ionic/p-0d131a02.entry.js +0 -4
- package/dist/ionic/p-0fc6fc38.entry.js +0 -4
- package/dist/ionic/p-15da9760.entry.js +0 -4
- package/dist/ionic/p-1739f5f2.entry.js +0 -4
- package/dist/ionic/p-18f1813b.entry.js +0 -4
- package/dist/ionic/p-2bc871ee.entry.js +0 -4
- package/dist/ionic/p-2c6c6991.entry.js +0 -4
- package/dist/ionic/p-2cfd6b61.entry.js +0 -4
- package/dist/ionic/p-2d0eccfb.entry.js +0 -4
- package/dist/ionic/p-2da6a16b.entry.js +0 -4
- package/dist/ionic/p-2dca6aac.entry.js +0 -4
- package/dist/ionic/p-35c4a63f.entry.js +0 -4
- package/dist/ionic/p-3c855fa9.entry.js +0 -4
- package/dist/ionic/p-4b7d1f35.entry.js +0 -4
- package/dist/ionic/p-4d61f20b.entry.js +0 -4
- package/dist/ionic/p-5f671887.entry.js +0 -4
- package/dist/ionic/p-69f91268.entry.js +0 -4
- package/dist/ionic/p-73d7ad90.entry.js +0 -4
- package/dist/ionic/p-76b697a3.entry.js +0 -4
- package/dist/ionic/p-7d5cf8c1.entry.js +0 -4
- package/dist/ionic/p-8957540a.entry.js +0 -4
- package/dist/ionic/p-89918ad1.entry.js +0 -4
- package/dist/ionic/p-8a8ef46b.entry.js +0 -4
- package/dist/ionic/p-8c674371.entry.js +0 -4
- package/dist/ionic/p-8f2f76e0.entry.js +0 -4
- package/dist/ionic/p-91bde659.entry.js +0 -4
- package/dist/ionic/p-97667b9c.entry.js +0 -4
- package/dist/ionic/p-9b46b31b.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-B1MNHTYX.js +0 -4
- package/dist/ionic/p-B3XSxWNQ.js +0 -4
- package/dist/ionic/p-BROiNJRB.js +0 -4
- package/dist/ionic/p-B_U9CtaY.js +0 -5
- package/dist/ionic/p-BhLqfMrf.js +0 -4
- package/dist/ionic/p-BmQduG8c.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-CIGNaXM1.js +0 -4
- package/dist/ionic/p-CL-KfWxq.js +0 -4
- package/dist/ionic/p-CRiGyYOA.js +0 -4
- package/dist/ionic/p-CbI9XwwW.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-D-7TeYC4.js +0 -4
- package/dist/ionic/p-DCfS5Jk_.js +0 -4
- package/dist/ionic/p-DgdWETCP.js +0 -4
- package/dist/ionic/p-Do-uqmtX.js +0 -4
- package/dist/ionic/p-DzH0J0yi.js +0 -4
- package/dist/ionic/p-QwEXyOze.js +0 -4
- package/dist/ionic/p-ZjP4CjeZ.js +0 -4
- package/dist/ionic/p-a6282370.entry.js +0 -4
- package/dist/ionic/p-a92bfa13.entry.js +0 -4
- package/dist/ionic/p-a9f99c74.entry.js +0 -4
- package/dist/ionic/p-aIxOGKys.js +0 -4
- package/dist/ionic/p-aa8956c2.entry.js +0 -4
- package/dist/ionic/p-b37dbc31.entry.js +0 -4
- package/dist/ionic/p-b758a177.entry.js +0 -4
- package/dist/ionic/p-b9ba04ca.entry.js +0 -4
- package/dist/ionic/p-b9f79efc.entry.js +0 -4
- package/dist/ionic/p-bNmY-WfR.js +0 -4
- package/dist/ionic/p-bc01c127.entry.js +0 -4
- package/dist/ionic/p-c0335397.entry.js +0 -4
- package/dist/ionic/p-c4912ca5.entry.js +0 -4
- package/dist/ionic/p-c884d7e3.entry.js +0 -4
- package/dist/ionic/p-cf632ee2.entry.js +0 -4
- package/dist/ionic/p-d47b85ea.entry.js +0 -4
- package/dist/ionic/p-d8429eb4.entry.js +0 -4
- package/dist/ionic/p-d8ed5df0.entry.js +0 -4
- package/dist/ionic/p-e1260ed5.entry.js +0 -4
- package/dist/ionic/p-e37d6c67.entry.js +0 -4
- package/dist/ionic/p-f83db8cd.entry.js +0 -4
- package/dist/ionic/p-fbc5481b.entry.js +0 -4
- package/dist/ionic/p-fcc7437b.entry.js +0 -4
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -1,3 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a pixels given value into rem
|
|
3
|
+
*
|
|
4
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
5
|
+
* @param context (optional) - Baseline value
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Convert a font size to a dynamic font size.
|
|
9
|
+
* Fonts that participate in Dynamic Type should use
|
|
10
|
+
* dynamic font sizes.
|
|
11
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
12
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
13
|
+
* convert to a unit other than $baselineUnit.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Convert a font size to a dynamic font size but impose
|
|
17
|
+
* a maximum font size.
|
|
18
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
19
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
20
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
21
|
+
* convert to a unit other than $baselineUnit.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Convert a font size to a dynamic font size but impose
|
|
25
|
+
* a minimum font size.
|
|
26
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
27
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
28
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
29
|
+
* convert to a unit other than $baselineUnit.
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* Convert a font size to a dynamic font size but impose
|
|
33
|
+
* maximum and minimum font sizes.
|
|
34
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
35
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
36
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
37
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
38
|
+
* convert to a unit other than $baselineUnit.
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* A heuristic that applies CSS to tablet
|
|
42
|
+
* viewports.
|
|
43
|
+
*
|
|
44
|
+
* Usage:
|
|
45
|
+
* @include tablet-viewport() {
|
|
46
|
+
* :host {
|
|
47
|
+
* background-color: green;
|
|
48
|
+
* }
|
|
49
|
+
* }
|
|
50
|
+
*/
|
|
51
|
+
/**
|
|
52
|
+
* A heuristic that applies CSS to mobile
|
|
53
|
+
* viewports (i.e. phones, not tablets).
|
|
54
|
+
*
|
|
55
|
+
* Usage:
|
|
56
|
+
* @include mobile-viewport() {
|
|
57
|
+
* :host {
|
|
58
|
+
* background-color: blue;
|
|
59
|
+
* }
|
|
60
|
+
* }
|
|
61
|
+
*/
|
|
62
|
+
/**
|
|
63
|
+
* Convert a pixels given value into rem
|
|
64
|
+
*
|
|
65
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
66
|
+
* @param context (optional) - Baseline value
|
|
67
|
+
*/
|
|
1
68
|
/**
|
|
2
69
|
* Convert a font size to a dynamic font size.
|
|
3
70
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -56,16 +123,6 @@
|
|
|
56
123
|
:host {
|
|
57
124
|
/**
|
|
58
125
|
* @prop --background: The primary background of the datetime component.
|
|
59
|
-
* @prop --background-rgb: The primary background of the datetime component in RGB format.
|
|
60
|
-
* @prop --title-color: The text color of the title.
|
|
61
|
-
*
|
|
62
|
-
* @prop --wheel-highlight-background: The background of the highlight under the selected
|
|
63
|
-
* item when using a wheel style layout, or in the month/year picker for grid style layouts.
|
|
64
|
-
* @prop --wheel-highlight-border-radius: The border radius of the highlight under the selected
|
|
65
|
-
* item when using a wheel style layout, or in the month/year picker for grid style layouts.
|
|
66
|
-
* @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items
|
|
67
|
-
* when using a wheel style layout, or in the month/year picker for grid style layouts. Must
|
|
68
|
-
* be in RGB format, e.g. `255, 255, 255`.
|
|
69
126
|
*/
|
|
70
127
|
display: flex;
|
|
71
128
|
flex-flow: column;
|
|
@@ -78,19 +135,6 @@
|
|
|
78
135
|
height: auto;
|
|
79
136
|
}
|
|
80
137
|
|
|
81
|
-
:host(.datetime-size-fixed:not(.datetime-prefer-wheel)) {
|
|
82
|
-
max-width: 350px;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* This ensures that the picker is appropriately
|
|
87
|
-
* sized and never truncates the text.
|
|
88
|
-
*/
|
|
89
|
-
:host(.datetime-size-fixed.datetime-prefer-wheel) {
|
|
90
|
-
min-width: 350px;
|
|
91
|
-
max-width: max-content;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
138
|
:host(.datetime-size-cover) {
|
|
95
139
|
width: 100%;
|
|
96
140
|
}
|
|
@@ -172,6 +216,7 @@
|
|
|
172
216
|
:host(.datetime-disabled) {
|
|
173
217
|
pointer-events: none;
|
|
174
218
|
}
|
|
219
|
+
|
|
175
220
|
:host(.datetime-disabled) .calendar-days-of-week,
|
|
176
221
|
:host(.datetime-disabled) .datetime-time {
|
|
177
222
|
opacity: 0.4;
|
|
@@ -188,11 +233,13 @@
|
|
|
188
233
|
* in readonly mode
|
|
189
234
|
*/
|
|
190
235
|
}
|
|
236
|
+
|
|
191
237
|
:host(.datetime-readonly) .calendar-action-buttons,
|
|
192
238
|
:host(.datetime-readonly) .calendar-body,
|
|
193
239
|
:host(.datetime-readonly) .datetime-year {
|
|
194
240
|
pointer-events: initial;
|
|
195
241
|
}
|
|
242
|
+
|
|
196
243
|
:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),
|
|
197
244
|
:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled] {
|
|
198
245
|
opacity: 1;
|
|
@@ -213,19 +260,7 @@
|
|
|
213
260
|
width: 100%;
|
|
214
261
|
}
|
|
215
262
|
|
|
216
|
-
:host .datetime-action-buttons ion-buttons
|
|
217
|
-
display: flex;
|
|
218
|
-
justify-content: space-between;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
/**
|
|
222
|
-
* The confirm and clear buttons are grouped in a
|
|
223
|
-
* container so that they appear on the end opposite
|
|
224
|
-
* of the cancel button.
|
|
225
|
-
* We use display: flex so that the
|
|
226
|
-
* wrapper only takes up as much
|
|
227
|
-
* height as it needs.
|
|
228
|
-
*/
|
|
263
|
+
:host .datetime-action-buttons ion-buttons,
|
|
229
264
|
.datetime-action-buttons .datetime-action-buttons-container {
|
|
230
265
|
display: flex;
|
|
231
266
|
}
|
|
@@ -240,10 +275,6 @@
|
|
|
240
275
|
justify-content: space-between;
|
|
241
276
|
}
|
|
242
277
|
|
|
243
|
-
:host .calendar-action-buttons ion-button {
|
|
244
|
-
--background: transparent;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
278
|
:host .calendar-days-of-week {
|
|
248
279
|
display: grid;
|
|
249
280
|
grid-template-columns: repeat(7, 1fr);
|
|
@@ -339,7 +370,6 @@
|
|
|
339
370
|
* and horizontally within its grid cell.
|
|
340
371
|
*/
|
|
341
372
|
.calendar-day {
|
|
342
|
-
border-radius: 50%;
|
|
343
373
|
-webkit-padding-start: 0px;
|
|
344
374
|
padding-inline-start: 0px;
|
|
345
375
|
-webkit-padding-end: 0px;
|
|
@@ -360,20 +390,13 @@
|
|
|
360
390
|
outline: none;
|
|
361
391
|
background: none;
|
|
362
392
|
color: currentColor;
|
|
363
|
-
font-family: var(--ion-font-family, inherit);
|
|
364
393
|
cursor: pointer;
|
|
365
394
|
appearance: none;
|
|
366
395
|
z-index: 0;
|
|
367
396
|
}
|
|
368
397
|
|
|
369
|
-
|
|
398
|
+
.calendar-day[disabled] {
|
|
370
399
|
pointer-events: none;
|
|
371
|
-
opacity: 0.4;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
.calendar-day:not(.calendar-day-adjacent-day):focus {
|
|
375
|
-
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
376
|
-
box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
|
|
377
400
|
}
|
|
378
401
|
|
|
379
402
|
:host .datetime-time {
|
|
@@ -381,69 +404,41 @@
|
|
|
381
404
|
justify-content: space-between;
|
|
382
405
|
}
|
|
383
406
|
|
|
384
|
-
:host(.datetime-presentation-time) .datetime-time {
|
|
385
|
-
padding-left: 0;
|
|
386
|
-
padding-right: 0;
|
|
387
|
-
padding-top: 0;
|
|
388
|
-
padding-bottom: 0;
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
:host ion-popover {
|
|
392
|
-
--height: 200px;
|
|
393
|
-
}
|
|
394
|
-
|
|
395
407
|
:host .time-header {
|
|
396
408
|
display: flex;
|
|
397
409
|
align-items: center;
|
|
398
410
|
}
|
|
399
411
|
|
|
400
412
|
:host .time-body {
|
|
401
|
-
border-radius: 8px;
|
|
402
|
-
-webkit-padding-start: 12px;
|
|
403
|
-
padding-inline-start: 12px;
|
|
404
|
-
-webkit-padding-end: 12px;
|
|
405
|
-
padding-inline-end: 12px;
|
|
406
|
-
padding-top: 6px;
|
|
407
|
-
padding-bottom: 6px;
|
|
408
413
|
display: flex;
|
|
409
414
|
border: none;
|
|
410
|
-
background: var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));
|
|
411
|
-
color: var(--ion-text-color, #000);
|
|
412
415
|
font-family: inherit;
|
|
413
416
|
font-size: inherit;
|
|
414
417
|
cursor: pointer;
|
|
415
418
|
appearance: none;
|
|
416
419
|
}
|
|
417
420
|
|
|
418
|
-
:host .time-body-active {
|
|
419
|
-
color: var(--ion-color-base);
|
|
420
|
-
}
|
|
421
|
-
|
|
422
421
|
:host(.in-item) {
|
|
423
422
|
position: static;
|
|
424
423
|
}
|
|
425
424
|
|
|
426
|
-
:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
|
|
427
|
-
color: var(--ion-color-base);
|
|
428
|
-
}
|
|
429
|
-
|
|
430
425
|
.calendar-month-year {
|
|
431
426
|
min-width: 0;
|
|
432
427
|
}
|
|
433
428
|
|
|
434
429
|
.calendar-month-year-toggle {
|
|
430
|
+
color: inherit;
|
|
435
431
|
font-family: inherit;
|
|
436
432
|
font-size: inherit;
|
|
437
433
|
font-style: inherit;
|
|
438
434
|
font-weight: inherit;
|
|
439
435
|
letter-spacing: inherit;
|
|
436
|
+
text-align: inherit;
|
|
440
437
|
text-decoration: inherit;
|
|
441
438
|
text-indent: inherit;
|
|
442
439
|
text-overflow: inherit;
|
|
443
440
|
text-transform: inherit;
|
|
444
|
-
text-align: inherit;
|
|
445
441
|
white-space: inherit;
|
|
446
|
-
color: inherit;
|
|
447
442
|
position: relative;
|
|
448
443
|
border: 0;
|
|
449
444
|
outline: none;
|
|
@@ -451,9 +446,105 @@
|
|
|
451
446
|
cursor: pointer;
|
|
452
447
|
z-index: 1;
|
|
453
448
|
}
|
|
449
|
+
|
|
450
|
+
.calendar-month-year-toggle ion-icon {
|
|
451
|
+
flex-shrink: 0;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
.calendar-month-year-toggle #toggle-wrapper {
|
|
455
|
+
display: inline-flex;
|
|
456
|
+
align-items: center;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
:host {
|
|
460
|
+
/**
|
|
461
|
+
* @prop --background-rgb: The primary background of the datetime component in RGB format.
|
|
462
|
+
* @prop --title-color: The text color of the title.
|
|
463
|
+
*
|
|
464
|
+
* @prop --wheel-highlight-background: The background of the highlight under the selected
|
|
465
|
+
* item when using a wheel style layout, or in the month/year picker for grid style layouts.
|
|
466
|
+
* @prop --wheel-highlight-border-radius: The border radius of the highlight under the selected
|
|
467
|
+
* item when using a wheel style layout, or in the month/year picker for grid style layouts.
|
|
468
|
+
* @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items
|
|
469
|
+
* when using a wheel style layout, or in the month/year picker for grid style layouts. Must
|
|
470
|
+
* be in RGB format, e.g. `255, 255, 255`.
|
|
471
|
+
*/
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
:host(.datetime-size-fixed:not(.datetime-prefer-wheel)) {
|
|
475
|
+
max-width: 350px;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
* This ensures that the picker is appropriately
|
|
480
|
+
* sized and never truncates the text.
|
|
481
|
+
*/
|
|
482
|
+
:host(.datetime-size-fixed.datetime-prefer-wheel) {
|
|
483
|
+
min-width: 350px;
|
|
484
|
+
max-width: max-content;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
:host .calendar-action-buttons ion-button {
|
|
488
|
+
--background: transparent;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
/**
|
|
492
|
+
* Center the day text vertically
|
|
493
|
+
* and horizontally within its grid cell.
|
|
494
|
+
*/
|
|
495
|
+
.calendar-day {
|
|
496
|
+
border-radius: 50%;
|
|
497
|
+
font-family: var(--ion-font-family, inherit);
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
:host .calendar-day[disabled] {
|
|
501
|
+
opacity: 0.4;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
.calendar-day:not(.calendar-day-adjacent-day):focus {
|
|
505
|
+
background: current-color(base, 0.2);
|
|
506
|
+
box-shadow: 0px 0px 0px 4px current-color(base, 0.2);
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
.calendar-day:focus {
|
|
510
|
+
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
511
|
+
box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
:host(.datetime-presentation-time) .datetime-time {
|
|
515
|
+
padding-left: 0;
|
|
516
|
+
padding-right: 0;
|
|
517
|
+
padding-top: 0;
|
|
518
|
+
padding-bottom: 0;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
:host ion-popover {
|
|
522
|
+
--height: 200px;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
:host .time-body {
|
|
526
|
+
border-radius: 8px;
|
|
527
|
+
-webkit-padding-start: 12px;
|
|
528
|
+
padding-inline-start: 12px;
|
|
529
|
+
-webkit-padding-end: 12px;
|
|
530
|
+
padding-inline-end: 12px;
|
|
531
|
+
padding-top: 6px;
|
|
532
|
+
padding-bottom: 6px;
|
|
533
|
+
background: var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));
|
|
534
|
+
color: var(--ion-text-color, #000);
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
:host .time-body-active {
|
|
538
|
+
color: var(--ion-color-base);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
|
|
542
|
+
color: var(--ion-color-base);
|
|
543
|
+
}
|
|
544
|
+
|
|
454
545
|
.calendar-month-year-toggle::after {
|
|
455
|
-
left: 0;
|
|
456
546
|
right: 0;
|
|
547
|
+
left: 0;
|
|
457
548
|
top: 0;
|
|
458
549
|
bottom: 0;
|
|
459
550
|
position: absolute;
|
|
@@ -477,12 +568,6 @@
|
|
|
477
568
|
padding-inline-end: 0;
|
|
478
569
|
padding-top: 0;
|
|
479
570
|
padding-bottom: 0;
|
|
480
|
-
flex-shrink: 0;
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
.calendar-month-year-toggle #toggle-wrapper {
|
|
484
|
-
display: inline-flex;
|
|
485
|
-
align-items: center;
|
|
486
571
|
}
|
|
487
572
|
|
|
488
573
|
ion-picker {
|
|
@@ -491,6 +576,77 @@ ion-picker {
|
|
|
491
576
|
--fade-background-rgb: var(--wheel-fade-background-rgb);
|
|
492
577
|
}
|
|
493
578
|
|
|
579
|
+
:host .datetime-action-buttons ion-buttons {
|
|
580
|
+
justify-content: space-between;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Convert a pixels given value into rem
|
|
585
|
+
*
|
|
586
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
587
|
+
* @param context (optional) - Baseline value
|
|
588
|
+
*/
|
|
589
|
+
/**
|
|
590
|
+
* Convert a font size to a dynamic font size.
|
|
591
|
+
* Fonts that participate in Dynamic Type should use
|
|
592
|
+
* dynamic font sizes.
|
|
593
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
594
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
595
|
+
* convert to a unit other than $baselineUnit.
|
|
596
|
+
*/
|
|
597
|
+
/**
|
|
598
|
+
* Convert a font size to a dynamic font size but impose
|
|
599
|
+
* a maximum font size.
|
|
600
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
601
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
602
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
603
|
+
* convert to a unit other than $baselineUnit.
|
|
604
|
+
*/
|
|
605
|
+
/**
|
|
606
|
+
* Convert a font size to a dynamic font size but impose
|
|
607
|
+
* a minimum font size.
|
|
608
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
609
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
610
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
611
|
+
* convert to a unit other than $baselineUnit.
|
|
612
|
+
*/
|
|
613
|
+
/**
|
|
614
|
+
* Convert a font size to a dynamic font size but impose
|
|
615
|
+
* maximum and minimum font sizes.
|
|
616
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
617
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
618
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
619
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
620
|
+
* convert to a unit other than $baselineUnit.
|
|
621
|
+
*/
|
|
622
|
+
/**
|
|
623
|
+
* A heuristic that applies CSS to tablet
|
|
624
|
+
* viewports.
|
|
625
|
+
*
|
|
626
|
+
* Usage:
|
|
627
|
+
* @include tablet-viewport() {
|
|
628
|
+
* :host {
|
|
629
|
+
* background-color: green;
|
|
630
|
+
* }
|
|
631
|
+
* }
|
|
632
|
+
*/
|
|
633
|
+
/**
|
|
634
|
+
* A heuristic that applies CSS to mobile
|
|
635
|
+
* viewports (i.e. phones, not tablets).
|
|
636
|
+
*
|
|
637
|
+
* Usage:
|
|
638
|
+
* @include mobile-viewport() {
|
|
639
|
+
* :host {
|
|
640
|
+
* background-color: blue;
|
|
641
|
+
* }
|
|
642
|
+
* }
|
|
643
|
+
*/
|
|
644
|
+
/**
|
|
645
|
+
* Convert a pixels given value into rem
|
|
646
|
+
*
|
|
647
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
648
|
+
* @param context (optional) - Baseline value
|
|
649
|
+
*/
|
|
494
650
|
/**
|
|
495
651
|
* Convert a font size to a dynamic font size.
|
|
496
652
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import caretLeftRegular from "@phosphor-icons/core/assets/regular/caret-left.svg";
|
|
5
|
+
import caretRightRegular from "@phosphor-icons/core/assets/regular/caret-right.svg";
|
|
4
6
|
import { Host, h, writeTask } from "@stencil/core";
|
|
5
7
|
import { startFocusVisible } from "../../utils/focus-visible";
|
|
6
8
|
import { getElementRoot, raf, renderHiddenInput } from "../../utils/helpers";
|
|
@@ -8,7 +10,8 @@ import { printIonError, printIonWarning } from "../../utils/logging/index";
|
|
|
8
10
|
import { isRTL } from "../../utils/rtl/index";
|
|
9
11
|
import { createColorClasses } from "../../utils/theme";
|
|
10
12
|
import { caretDownSharp, caretUpSharp, chevronBack, chevronDown, chevronForward } from "ionicons/icons";
|
|
11
|
-
import {
|
|
13
|
+
import { config } from "../../global/config";
|
|
14
|
+
import { getIonMode, getIonTheme } from "../../global/ionic-global";
|
|
12
15
|
import { isSameDay, warnIfValueOutOfBounds, isBefore, isAfter } from "./utils/comparison";
|
|
13
16
|
import { generateMonths, getDaysOfMonth, getDaysOfWeek, getToday, getMonthColumnData, getDayColumnData, getYearColumnData, getTimeColumnsData, getCombinedDateColumnData, } from "./utils/data";
|
|
14
17
|
import { formatValue, getLocalizedDateTime, getLocalizedTime, getMonthAndYear } from "./utils/format";
|
|
@@ -18,7 +21,8 @@ import { clampDate, convertToArrayOfNumbers, getPartsFromCalendarDay, parseAmPm,
|
|
|
18
21
|
import { getCalendarDayState, getHighlightStyles, isDayDisabled, isMonthDisabled, isNextMonthDisabled, isPrevMonthDisabled, } from "./utils/state";
|
|
19
22
|
import { checkForPresentationFormatMismatch, warnIfTimeZoneProvided } from "./utils/validate";
|
|
20
23
|
/**
|
|
21
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines
|
|
24
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
25
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
22
26
|
*
|
|
23
27
|
* @slot title - The title of the datetime.
|
|
24
28
|
* @slot buttons - The buttons in the datetime.
|
|
@@ -1056,6 +1060,7 @@ export class Datetime {
|
|
|
1056
1060
|
* are rendered independently of presentation.
|
|
1057
1061
|
*/
|
|
1058
1062
|
renderFooter() {
|
|
1063
|
+
const theme = getIonTheme(this);
|
|
1059
1064
|
const { disabled, readonly, showDefaultButtons, showClearButton } = this;
|
|
1060
1065
|
/**
|
|
1061
1066
|
* The cancel, clear, and confirm buttons
|
|
@@ -1063,6 +1068,7 @@ export class Datetime {
|
|
|
1063
1068
|
* is disabled or readonly.
|
|
1064
1069
|
*/
|
|
1065
1070
|
const isButtonDisabled = disabled || readonly;
|
|
1071
|
+
const confirmFill = theme === 'ionic' ? 'solid' : undefined;
|
|
1066
1072
|
const hasSlottedButtons = this.el.querySelector('[slot="buttons"]') !== null;
|
|
1067
1073
|
if (!hasSlottedButtons && !showDefaultButtons && !showClearButton) {
|
|
1068
1074
|
return;
|
|
@@ -1081,7 +1087,7 @@ export class Datetime {
|
|
|
1081
1087
|
return (h("div", { class: "datetime-footer" }, h("div", { class: "datetime-buttons" }, h("div", { class: {
|
|
1082
1088
|
['datetime-action-buttons']: true,
|
|
1083
1089
|
['has-clear-button']: this.showClearButton,
|
|
1084
|
-
} }, h("slot", { name: "buttons" }, h("ion-buttons", null, showDefaultButtons && (h("ion-button", { id: "cancel-button", color: this.color, onClick: () => this.cancel(true), disabled: isButtonDisabled }, this.cancelText)), h("div", { class: "datetime-action-buttons-container" }, showClearButton && (h("ion-button", { id: "clear-button", color: this.color, onClick: () => clearButtonClick(), disabled: isButtonDisabled }, this.clearText)), showDefaultButtons && (h("ion-button", { id: "confirm-button", color: this.color, onClick: () => this.confirm(true), disabled: isButtonDisabled }, this.doneText)))))))));
|
|
1090
|
+
} }, h("slot", { name: "buttons" }, h("ion-buttons", null, showDefaultButtons && (h("ion-button", { id: "cancel-button", color: this.color, onClick: () => this.cancel(true), disabled: isButtonDisabled }, this.cancelText)), h("div", { class: "datetime-action-buttons-container" }, showClearButton && (h("ion-button", { id: "clear-button", color: this.color, onClick: () => clearButtonClick(), disabled: isButtonDisabled }, this.clearText)), showDefaultButtons && (h("ion-button", { id: "confirm-button", color: this.color, onClick: () => this.confirm(true), disabled: isButtonDisabled, fill: confirmFill }, this.doneText)))))))));
|
|
1085
1091
|
}
|
|
1086
1092
|
/**
|
|
1087
1093
|
* Wheel picker render methods
|
|
@@ -1332,10 +1338,8 @@ export class Datetime {
|
|
|
1332
1338
|
/**
|
|
1333
1339
|
* Grid Render Methods
|
|
1334
1340
|
*/
|
|
1335
|
-
renderCalendarHeader(
|
|
1336
|
-
const { disabled } = this;
|
|
1337
|
-
const expandedIcon = mode === 'ios' ? chevronDown : caretUpSharp;
|
|
1338
|
-
const collapsedIcon = mode === 'ios' ? chevronForward : caretDownSharp;
|
|
1341
|
+
renderCalendarHeader(theme) {
|
|
1342
|
+
const { disabled, datetimeNextIcon, datetimePreviousIcon, datetimeCollapsedIcon, datetimeExpandedIcon } = this;
|
|
1339
1343
|
const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
|
|
1340
1344
|
const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
|
|
1341
1345
|
// don't use the inheritAttributes util because it removes dir from the host, and we still need that
|
|
@@ -1344,7 +1348,7 @@ export class Datetime {
|
|
|
1344
1348
|
'calendar-month-year-toggle': true,
|
|
1345
1349
|
'ion-activatable': true,
|
|
1346
1350
|
'ion-focusable': true,
|
|
1347
|
-
}, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ?
|
|
1351
|
+
}, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), theme !== 'ionic' && (h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? datetimeExpandedIcon : datetimeCollapsedIcon, lazy: false, flipRtl: true }))), theme === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: datetimePreviousIcon, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: datetimeNextIcon, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, theme, this.firstDayOfWeek % 7).map((d) => {
|
|
1348
1352
|
return h("div", { class: "day-of-week" }, d);
|
|
1349
1353
|
}))));
|
|
1350
1354
|
}
|
|
@@ -1495,8 +1499,8 @@ export class Datetime {
|
|
|
1495
1499
|
return this.renderMonth(month, year);
|
|
1496
1500
|
})));
|
|
1497
1501
|
}
|
|
1498
|
-
renderCalendar(
|
|
1499
|
-
return (h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(
|
|
1502
|
+
renderCalendar(theme) {
|
|
1503
|
+
return (h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(theme), this.renderCalendarBody()));
|
|
1500
1504
|
}
|
|
1501
1505
|
renderTimeLabel() {
|
|
1502
1506
|
const hasSlottedTimeLabel = this.el.querySelector('[slot="time-label"]') !== null;
|
|
@@ -1604,7 +1608,7 @@ export class Datetime {
|
|
|
1604
1608
|
* Render entry point
|
|
1605
1609
|
* All presentation types are rendered from here.
|
|
1606
1610
|
*/
|
|
1607
|
-
renderDatetime(
|
|
1611
|
+
renderDatetime(theme) {
|
|
1608
1612
|
const { presentation, preferWheel } = this;
|
|
1609
1613
|
/**
|
|
1610
1614
|
* Certain presentation types have separate grid and wheel displays.
|
|
@@ -1618,7 +1622,7 @@ export class Datetime {
|
|
|
1618
1622
|
case 'date-time':
|
|
1619
1623
|
return [
|
|
1620
1624
|
this.renderHeader(),
|
|
1621
|
-
this.renderCalendar(
|
|
1625
|
+
this.renderCalendar(theme),
|
|
1622
1626
|
this.renderCalendarViewMonthYearPicker(),
|
|
1623
1627
|
this.renderTime(),
|
|
1624
1628
|
this.renderFooter(),
|
|
@@ -1627,7 +1631,7 @@ export class Datetime {
|
|
|
1627
1631
|
return [
|
|
1628
1632
|
this.renderHeader(),
|
|
1629
1633
|
this.renderTime(),
|
|
1630
|
-
this.renderCalendar(
|
|
1634
|
+
this.renderCalendar(theme),
|
|
1631
1635
|
this.renderCalendarViewMonthYearPicker(),
|
|
1632
1636
|
this.renderFooter(),
|
|
1633
1637
|
];
|
|
@@ -1640,23 +1644,95 @@ export class Datetime {
|
|
|
1640
1644
|
default:
|
|
1641
1645
|
return [
|
|
1642
1646
|
this.renderHeader(),
|
|
1643
|
-
this.renderCalendar(
|
|
1647
|
+
this.renderCalendar(theme),
|
|
1644
1648
|
this.renderCalendarViewMonthYearPicker(),
|
|
1645
1649
|
this.renderFooter(),
|
|
1646
1650
|
];
|
|
1647
1651
|
}
|
|
1648
1652
|
}
|
|
1653
|
+
/**
|
|
1654
|
+
* Get the icon to use for the next icon.
|
|
1655
|
+
* Otherwise, use the icon set in the config.
|
|
1656
|
+
* If no icon is set in the config, use the default icon.
|
|
1657
|
+
*/
|
|
1658
|
+
get datetimeNextIcon() {
|
|
1659
|
+
// Determine the theme and map to default icons
|
|
1660
|
+
const theme = getIonTheme(this);
|
|
1661
|
+
const defaultIcons = {
|
|
1662
|
+
ios: chevronForward,
|
|
1663
|
+
ionic: caretRightRegular,
|
|
1664
|
+
md: chevronForward,
|
|
1665
|
+
};
|
|
1666
|
+
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
1667
|
+
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
1668
|
+
// Return the configured datetime next icon or the default icon
|
|
1669
|
+
return config.get('datetimeNextIcon', defaultIcon);
|
|
1670
|
+
}
|
|
1671
|
+
/**
|
|
1672
|
+
* Get the icon to use for the previous icon.
|
|
1673
|
+
* Otherwise, use the icon set in the config.
|
|
1674
|
+
* If no icon is set in the config, use the default icon.
|
|
1675
|
+
*/
|
|
1676
|
+
get datetimePreviousIcon() {
|
|
1677
|
+
// Determine the theme and map to default icons
|
|
1678
|
+
const theme = getIonTheme(this);
|
|
1679
|
+
const defaultIcons = {
|
|
1680
|
+
ios: chevronBack,
|
|
1681
|
+
ionic: caretLeftRegular,
|
|
1682
|
+
md: chevronBack,
|
|
1683
|
+
};
|
|
1684
|
+
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
1685
|
+
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
1686
|
+
// Return the configured datetime previous icon or the default icon
|
|
1687
|
+
return config.get('datetimePreviousIcon', defaultIcon);
|
|
1688
|
+
}
|
|
1689
|
+
/**
|
|
1690
|
+
* Get the icon to use for the show month and year icon.
|
|
1691
|
+
* Otherwise, use the icon set in the config.
|
|
1692
|
+
* If no icon is set in the config, use the default icon.
|
|
1693
|
+
*/
|
|
1694
|
+
get datetimeCollapsedIcon() {
|
|
1695
|
+
// Determine the theme and map to default icons
|
|
1696
|
+
const theme = getIonTheme(this);
|
|
1697
|
+
const defaultIcons = {
|
|
1698
|
+
ios: chevronForward,
|
|
1699
|
+
ionic: undefined,
|
|
1700
|
+
md: caretDownSharp,
|
|
1701
|
+
};
|
|
1702
|
+
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
1703
|
+
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
1704
|
+
// Return the configured datetime show month and year icon or the default icon
|
|
1705
|
+
return config.get('datetimeCollapsedIcon', defaultIcon);
|
|
1706
|
+
}
|
|
1707
|
+
/**
|
|
1708
|
+
* Get the icon to use for the hide month and year icon.
|
|
1709
|
+
* Otherwise, use the icon set in the config.
|
|
1710
|
+
* If no icon is set in the config, use the default icon.
|
|
1711
|
+
*/
|
|
1712
|
+
get datetimeExpandedIcon() {
|
|
1713
|
+
// Determine the theme and map to default icons
|
|
1714
|
+
const theme = getIonTheme(this);
|
|
1715
|
+
const defaultIcons = {
|
|
1716
|
+
ios: chevronDown,
|
|
1717
|
+
ionic: undefined,
|
|
1718
|
+
md: caretUpSharp,
|
|
1719
|
+
};
|
|
1720
|
+
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
1721
|
+
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
1722
|
+
// Return the configured datetime hide month and year icon or the default icon
|
|
1723
|
+
return config.get('datetimeExpandedIcon', defaultIcon);
|
|
1724
|
+
}
|
|
1649
1725
|
render() {
|
|
1650
1726
|
const { name, value, disabled, el, color, readonly, showMonthAndYear, preferWheel, presentation, size, isGridStyle, } = this;
|
|
1651
|
-
const
|
|
1727
|
+
const theme = getIonTheme(this);
|
|
1652
1728
|
const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year';
|
|
1653
1729
|
const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation;
|
|
1654
1730
|
const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation;
|
|
1655
1731
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1656
1732
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1657
1733
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1658
|
-
return (h(Host, { key: '
|
|
1659
|
-
[
|
|
1734
|
+
return (h(Host, { key: '372592447fbd2dd2f7a359fead0b1245983c7a9e', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1735
|
+
[theme]: true,
|
|
1660
1736
|
['datetime-readonly']: readonly,
|
|
1661
1737
|
['datetime-disabled']: disabled,
|
|
1662
1738
|
'show-month-and-year': shouldShowMonthAndYear,
|
|
@@ -1665,20 +1741,22 @@ export class Datetime {
|
|
|
1665
1741
|
[`datetime-size-${size}`]: true,
|
|
1666
1742
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1667
1743
|
[`datetime-grid`]: isGridStyle,
|
|
1668
|
-
})) }, h("div", { key: '
|
|
1744
|
+
})) }, h("div", { key: '7385667cd4243b2b55764192bdbedee2f67e3467', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
|
|
1669
1745
|
}
|
|
1670
1746
|
static get is() { return "ion-datetime"; }
|
|
1671
1747
|
static get encapsulation() { return "shadow"; }
|
|
1672
1748
|
static get originalStyleUrls() {
|
|
1673
1749
|
return {
|
|
1674
1750
|
"ios": ["datetime.ios.scss"],
|
|
1675
|
-
"md": ["datetime.md.scss"]
|
|
1751
|
+
"md": ["datetime.md.scss"],
|
|
1752
|
+
"ionic": ["datetime.ionic.scss"]
|
|
1676
1753
|
};
|
|
1677
1754
|
}
|
|
1678
1755
|
static get styleUrls() {
|
|
1679
1756
|
return {
|
|
1680
1757
|
"ios": ["datetime.ios.css"],
|
|
1681
|
-
"md": ["datetime.md.css"]
|
|
1758
|
+
"md": ["datetime.md.css"],
|
|
1759
|
+
"ionic": ["datetime.ionic.css"]
|
|
1682
1760
|
};
|
|
1683
1761
|
}
|
|
1684
1762
|
static get properties() {
|