@ionic/core 8.7.17-dev.11771870864.19b2cde1 → 8.7.17-dev.11771959013.18adabe2
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 +1 -561
- package/components/alert.js +1 -610
- package/components/animation.js +1 -817
- package/components/backdrop.js +1 -72
- package/components/button-active.js +1 -64
- package/components/button.js +1 -303
- package/components/buttons.js +1 -56
- package/components/capacitor.js +1 -10
- package/components/checkbox.js +1 -261
- package/components/config.js +1 -192
- package/components/content.js +1 -475
- package/components/cubic-bezier.js +1 -87
- package/components/data.js +1 -1635
- package/components/dir.js +1 -15
- package/components/focus-visible.js +1 -72
- package/components/framework-delegate.js +1 -137
- package/components/gesture-controller.js +1 -192
- package/components/haptic.js +1 -155
- package/components/hardware-back-button.js +1 -112
- package/components/header.js +1 -417
- package/components/helpers.js +1 -336
- package/components/icon.js +1 -456
- package/components/index.d.ts +2 -0
- package/components/index.js +1 -115
- package/components/index2.js +1 -416
- package/components/index3.js +1 -452
- package/components/index4.js +1 -118
- package/components/index5.js +1 -303
- package/components/index6.js +1 -29
- package/components/index7.js +1 -164
- package/components/index8.js +1 -125
- package/components/index9.js +1 -4
- package/components/input-shims.js +1 -624
- package/components/input.utils.js +1 -144
- package/components/ion-accordion-group.js +1 -269
- package/components/ion-accordion.js +1 -457
- package/components/ion-action-sheet.js +1 -6
- package/components/ion-alert.js +1 -6
- package/components/ion-app.js +1 -128
- package/components/ion-avatar.js +1 -41
- package/components/ion-back-button.js +1 -131
- package/components/ion-backdrop.js +1 -6
- package/components/ion-badge.js +1 -47
- package/components/ion-breadcrumb.js +1 -137
- package/components/ion-breadcrumbs.js +1 -164
- package/components/ion-button.js +1 -6
- package/components/ion-buttons.js +1 -6
- package/components/ion-card-content.js +1 -45
- package/components/ion-card-header.js +1 -56
- package/components/ion-card-subtitle.js +1 -48
- package/components/ion-card-title.js +1 -48
- package/components/ion-card.js +1 -107
- package/components/ion-checkbox.js +1 -6
- package/components/ion-chip.js +1 -66
- package/components/ion-col.js +1 -163
- package/components/ion-content.js +1 -6
- package/components/ion-datetime-button.js +1 -384
- package/components/ion-datetime.js +1 -2046
- package/components/ion-fab-button.js +1 -151
- package/components/ion-fab-list.js +1 -66
- package/components/ion-fab.js +1 -101
- package/components/ion-footer.js +1 -159
- package/components/ion-grid.js +1 -46
- package/components/ion-header.js +1 -6
- package/components/ion-icon.js +1 -6
- package/components/ion-img.js +1 -124
- package/components/ion-infinite-scroll-content.js +1 -70
- package/components/ion-infinite-scroll.js +1 -236
- package/components/ion-input-otp.js +1 -683
- package/components/ion-input-password-toggle.js +1 -129
- package/components/ion-input.js +1 -617
- package/components/ion-item-divider.js +1 -59
- package/components/ion-item-group.js +1 -46
- package/components/ion-item-option.js +1 -91
- package/components/ion-item-options.js +1 -73
- package/components/ion-item-sliding.js +1 -458
- package/components/ion-item.js +1 -6
- package/components/ion-label.js +1 -6
- package/components/ion-list-header.js +1 -6
- package/components/ion-list.js +1 -6
- package/components/ion-loading.js +1 -344
- package/components/ion-menu-button.js +1 -110
- package/components/ion-menu-toggle.js +1 -64
- package/components/ion-menu.js +1 -745
- package/components/ion-modal.js +1 -6
- package/components/ion-nav-link.js +1 -64
- package/components/ion-nav.js +1 -956
- package/components/ion-note.js +1 -47
- package/components/ion-picker-column-option.js +1 -6
- package/components/ion-picker-column.js +1 -6
- package/components/ion-picker-legacy-column.js +1 -6
- package/components/ion-picker-legacy.js +1 -343
- package/components/ion-picker.js +1 -6
- package/components/ion-popover.js +1 -6
- package/components/ion-progress-bar.js +1 -101
- package/components/ion-radio-group.js +1 -6
- package/components/ion-radio.js +1 -6
- package/components/ion-range.js +1 -853
- package/components/ion-refresher-content.js +1 -89
- package/components/ion-refresher.js +1 -751
- package/components/ion-reorder-group.js +1 -322
- package/components/ion-reorder.js +1 -60
- package/components/ion-ripple-effect.js +1 -6
- package/components/ion-route-redirect.js +1 -45
- package/components/ion-route.js +1 -74
- package/components/ion-router-link.js +1 -61
- package/components/ion-router-outlet.js +1 -227
- package/components/ion-router.js +1 -841
- package/components/ion-row.js +1 -36
- package/components/ion-searchbar.js +1 -530
- package/components/ion-segment-button.js +1 -174
- package/components/ion-segment-content.js +1 -35
- package/components/ion-segment-view.js +1 -148
- package/components/ion-segment.js +1 -602
- package/components/ion-select-modal.js +1 -6
- package/components/ion-select-option.js +1 -46
- package/components/ion-select-popover.js +1 -6
- package/components/ion-select.js +1 -1037
- package/components/ion-skeleton-text.js +1 -65
- package/components/ion-spinner.js +1 -6
- package/components/ion-split-pane.js +1 -197
- package/components/ion-tab-bar.js +1 -115
- package/components/ion-tab-button.js +1 -128
- package/components/ion-tab.js +1 -91
- package/components/ion-tabs.js +1 -205
- package/components/ion-text.js +1 -42
- package/components/ion-textarea.js +1 -554
- package/components/ion-thumbnail.js +1 -36
- package/components/ion-title.js +1 -6
- package/components/ion-toast.js +1 -941
- package/components/ion-toggle.js +1 -361
- package/components/ion-toolbar.js +1 -6
- package/components/ionic-global.js +1 -144
- package/components/ios.transition.js +1 -672
- package/components/item.js +1 -302
- package/components/keyboard-controller.js +1 -162
- package/components/keyboard.js +1 -141
- package/components/keyboard2.js +1 -76
- package/components/label.js +1 -100
- package/components/list-header.js +1 -47
- package/components/list.js +1 -68
- package/components/lock-controller.js +1 -35
- package/components/md.transition.js +1 -51
- package/components/menu-toggle-util.js +1 -9
- package/components/modal.js +1 -2674
- package/components/notch-controller.js +1 -150
- package/components/overlays.js +1 -912
- package/components/picker-column-option.js +1 -136
- package/components/picker-column.js +1 -595
- package/components/picker-column2.js +1 -377
- package/components/picker.js +1 -498
- package/components/popover.js +1 -1502
- package/components/radio-group.js +1 -287
- package/components/radio.js +1 -229
- package/components/refresher.utils.js +1 -193
- package/components/ripple-effect.js +1 -109
- package/components/select-modal.js +1 -196
- package/components/select-popover.js +1 -189
- package/components/spinner.js +1 -224
- package/components/status-tap.js +1 -36
- package/components/swipe-back.js +1 -75
- package/components/theme.js +1 -40
- package/components/title.js +1 -70
- package/components/toolbar.js +1 -89
- package/components/validity.js +1 -14
- package/components/watch-options.js +1 -44
- package/dist/cjs/{animation-Bt3H9L1C.js → animation-Dg4yiuR2.js} +1 -1
- package/dist/cjs/app-globals-CLI8xCmk.js +11 -0
- package/dist/cjs/{button-active-CMc8cD90.js → button-active-FscMI17-.js} +1 -1
- package/dist/cjs/{config-C5fsO43a.js → config-BukYi_pW.js} +1 -1
- package/dist/cjs/{data-JwZKaIQB.js → data-BYlBjkMU.js} +1 -1
- package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-CRgp8o_p.js} +1 -1
- package/dist/cjs/{hardware-back-button-VCK4V3mG.js → hardware-back-button-C4rMJ5uI.js} +1 -1
- package/dist/cjs/{helpers-DrTqNghc.js → helpers-CxTYJdbT.js} +1 -1
- package/dist/cjs/{index-094mMFB-.js → index-C845Ti6K.js} +4 -4
- package/dist/cjs/{index-DrMUZJj6.js → index-CFUwM5x_.js} +5 -5
- package/dist/cjs/{index-D6Wc6v08.js → index-CqT-2gKy.js} +503 -382
- package/dist/cjs/{index-CO6eryBo.js → index-MbaBbWXk.js} +2 -2
- package/dist/cjs/{index-C534ULug.js → index-YcSftOMz.js} +2 -2
- package/dist/cjs/index.cjs.js +12 -12
- package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-DlFhYYTs.js} +3 -3
- package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DmeJ8dmo.js} +2 -2
- package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -15
- package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -15
- package/dist/cjs/ion-alert.cjs.entry.js +25 -17
- package/dist/cjs/ion-app_8.cjs.entry.js +44 -40
- package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -12
- package/dist/cjs/ion-back-button.cjs.entry.js +7 -7
- package/dist/cjs/ion-backdrop.cjs.entry.js +6 -6
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -14
- package/dist/cjs/ion-button_2.cjs.entry.js +36 -18
- package/dist/cjs/ion-card_5.cjs.entry.js +23 -23
- package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
- package/dist/cjs/ion-chip.cjs.entry.js +6 -6
- package/dist/cjs/ion-col_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
- package/dist/cjs/ion-datetime_3.cjs.entry.js +67 -39
- package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
- package/dist/cjs/ion-img.cjs.entry.js +8 -6
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -13
- package/dist/cjs/ion-input-otp.cjs.entry.js +16 -10
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -7
- package/dist/cjs/ion-input.cjs.entry.js +21 -13
- package/dist/cjs/ion-item-option_3.cjs.entry.js +17 -15
- package/dist/cjs/ion-item_8.cjs.entry.js +42 -36
- package/dist/cjs/ion-loading.cjs.entry.js +18 -14
- package/dist/cjs/ion-menu_3.cjs.entry.js +30 -22
- package/dist/cjs/ion-modal.cjs.entry.js +62 -221
- package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -8
- package/dist/cjs/ion-picker-column.cjs.entry.js +11 -7
- package/dist/cjs/ion-picker.cjs.entry.js +6 -6
- package/dist/cjs/ion-popover.cjs.entry.js +21 -15
- package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
- package/dist/cjs/ion-radio_2.cjs.entry.js +17 -13
- package/dist/cjs/ion-range.cjs.entry.js +180 -54
- package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -14
- package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -11
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
- package/dist/cjs/ion-route_4.cjs.entry.js +20 -10
- package/dist/cjs/ion-searchbar.cjs.entry.js +22 -12
- package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment-view.cjs.entry.js +5 -5
- package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
- package/dist/cjs/ion-select-modal.cjs.entry.js +12 -12
- package/dist/cjs/ion-select_3.cjs.entry.js +29 -21
- package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
- package/dist/cjs/ion-split-pane.cjs.entry.js +15 -9
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +14 -12
- package/dist/cjs/ion-tab_2.cjs.entry.js +10 -8
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +18 -12
- package/dist/cjs/ion-toast.cjs.entry.js +21 -15
- package/dist/cjs/ion-toggle.cjs.entry.js +10 -8
- package/dist/cjs/{ionic-global-HMVqOFGO.js → ionic-global-Bc3kJi1Z.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-trBiC95R.js} +4 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-CUQECuvD.js} +4 -4
- package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-sD-lTpdc.js} +1 -1
- package/dist/cjs/{overlays-B2b-TTbl.js → overlays-C2jiBSNQ.js} +5 -5
- package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-CCJk5VgT.js} +3 -3
- package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BGhTQ1CU.js} +2 -2
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/accordion-group/accordion-group.js +4 -2
- package/dist/collection/components/action-sheet/action-sheet.js +20 -10
- package/dist/collection/components/alert/alert.js +24 -12
- package/dist/collection/components/back-button/back-button.js +4 -2
- package/dist/collection/components/badge/badge.js +2 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +8 -4
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +4 -2
- package/dist/collection/components/button/button.js +6 -3
- package/dist/collection/components/card/card.js +6 -3
- package/dist/collection/components/card-header/card-header.js +2 -1
- package/dist/collection/components/card-subtitle/card-subtitle.js +2 -1
- package/dist/collection/components/card-title/card-title.js +2 -1
- package/dist/collection/components/checkbox/checkbox.js +4 -2
- package/dist/collection/components/chip/chip.js +2 -1
- package/dist/collection/components/content/content.js +8 -4
- package/dist/collection/components/datetime/datetime.js +34 -15
- package/dist/collection/components/datetime-button/datetime-button.js +2 -1
- package/dist/collection/components/fab-button/fab-button.js +6 -3
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -2
- package/dist/collection/components/input/input.js +11 -6
- package/dist/collection/components/input-otp/input-otp.js +8 -4
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +4 -2
- package/dist/collection/components/item/item.js +6 -3
- package/dist/collection/components/item-divider/item-divider.js +2 -1
- package/dist/collection/components/item-option/item-option.js +2 -1
- package/dist/collection/components/item-options/item-options.js +2 -1
- package/dist/collection/components/item-sliding/item-sliding.js +2 -1
- package/dist/collection/components/label/label.js +6 -3
- package/dist/collection/components/list-header/list-header.js +2 -1
- package/dist/collection/components/loading/loading.js +22 -11
- package/dist/collection/components/menu/menu.js +10 -5
- package/dist/collection/components/menu-button/menu-button.js +2 -1
- package/dist/collection/components/modal/gestures/sheet.js +11 -108
- package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -54
- package/dist/collection/components/modal/modal.js +58 -112
- package/dist/collection/components/nav/nav.js +89 -45
- package/dist/collection/components/nav-link/nav-link.js +9 -5
- package/dist/collection/components/note/note.js +2 -1
- package/dist/collection/components/picker/picker.js +2 -1
- package/dist/collection/components/picker-column/picker-column.js +6 -3
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
- package/dist/collection/components/picker-legacy/picker.js +24 -12
- package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
- package/dist/collection/components/popover/popover.js +33 -17
- package/dist/collection/components/progress-bar/progress-bar.js +2 -1
- package/dist/collection/components/radio/radio.js +2 -1
- package/dist/collection/components/radio-group/radio-group.js +6 -3
- package/dist/collection/components/range/range.js +189 -50
- package/dist/collection/components/refresher/refresher.js +73 -5
- package/dist/collection/components/refresher-content/refresher-content.js +8 -4
- package/dist/collection/components/reorder-group/reorder-group.js +6 -3
- package/dist/collection/components/route/route.js +4 -2
- package/dist/collection/components/router/router.js +10 -5
- package/dist/collection/components/router-link/router-link.js +6 -3
- package/dist/collection/components/router-outlet/router-outlet.js +18 -9
- package/dist/collection/components/searchbar/searchbar.js +11 -6
- package/dist/collection/components/segment/segment.js +10 -5
- package/dist/collection/components/segment-button/segment-button.js +4 -2
- package/dist/collection/components/segment-view/segment-view.js +2 -1
- package/dist/collection/components/select/select.js +10 -5
- package/dist/collection/components/select-modal/select-modal.js +2 -1
- package/dist/collection/components/select-popover/select-popover.js +2 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
- package/dist/collection/components/spinner/spinner.js +4 -2
- package/dist/collection/components/tab/tab.js +4 -2
- package/dist/collection/components/tab-bar/tab-bar.js +4 -2
- package/dist/collection/components/tab-button/tab-button.js +4 -2
- package/dist/collection/components/tabs/tabs.js +4 -2
- package/dist/collection/components/text/text.js +2 -1
- package/dist/collection/components/textarea/textarea.js +6 -3
- package/dist/collection/components/title/title.js +4 -2
- package/dist/collection/components/toast/toast.js +34 -17
- package/dist/collection/components/toggle/toggle.js +4 -2
- package/dist/collection/components/toolbar/toolbar.js +2 -1
- package/dist/docs.d.ts +37 -0
- package/dist/docs.json +971 -442
- package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
- package/dist/esm/app-globals-DhZjtldk.js +9 -0
- package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
- package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
- package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
- package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
- package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
- package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
- package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
- package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
- package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
- package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
- package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
- package/dist/esm/index.js +12 -12
- package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-C1hAaHcP.js} +3 -3
- package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
- package/dist/esm/ion-accordion_2.entry.js +23 -15
- package/dist/esm/ion-action-sheet.entry.js +21 -15
- package/dist/esm/ion-alert.entry.js +25 -17
- package/dist/esm/ion-app_8.entry.js +44 -40
- package/dist/esm/ion-avatar_3.entry.js +12 -12
- package/dist/esm/ion-back-button.entry.js +7 -7
- package/dist/esm/ion-backdrop.entry.js +6 -6
- package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
- package/dist/esm/ion-button_2.entry.js +36 -18
- package/dist/esm/ion-card_5.entry.js +23 -23
- package/dist/esm/ion-checkbox.entry.js +7 -7
- package/dist/esm/ion-chip.entry.js +6 -6
- package/dist/esm/ion-col_3.entry.js +8 -8
- package/dist/esm/ion-datetime-button.entry.js +8 -8
- package/dist/esm/ion-datetime_3.entry.js +67 -39
- package/dist/esm/ion-fab_3.entry.js +17 -13
- package/dist/esm/ion-img.entry.js +8 -6
- package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
- package/dist/esm/ion-input-otp.entry.js +16 -10
- package/dist/esm/ion-input-password-toggle.entry.js +9 -7
- package/dist/esm/ion-input.entry.js +21 -13
- package/dist/esm/ion-item-option_3.entry.js +17 -15
- package/dist/esm/ion-item_8.entry.js +42 -36
- package/dist/esm/ion-loading.entry.js +18 -14
- package/dist/esm/ion-menu_3.entry.js +30 -22
- package/dist/esm/ion-modal.entry.js +62 -221
- package/dist/esm/ion-nav_2.entry.js +14 -10
- package/dist/esm/ion-picker-column-option.entry.js +10 -8
- package/dist/esm/ion-picker-column.entry.js +11 -7
- package/dist/esm/ion-picker.entry.js +6 -6
- package/dist/esm/ion-popover.entry.js +21 -15
- package/dist/esm/ion-progress-bar.entry.js +7 -7
- package/dist/esm/ion-radio_2.entry.js +17 -13
- package/dist/esm/ion-range.entry.js +180 -54
- package/dist/esm/ion-refresher_2.entry.js +45 -14
- package/dist/esm/ion-reorder_2.entry.js +13 -11
- package/dist/esm/ion-ripple-effect.entry.js +4 -4
- package/dist/esm/ion-route_4.entry.js +20 -10
- package/dist/esm/ion-searchbar.entry.js +22 -12
- package/dist/esm/ion-segment-content.entry.js +3 -3
- package/dist/esm/ion-segment-view.entry.js +5 -5
- package/dist/esm/ion-segment_2.entry.js +26 -16
- package/dist/esm/ion-select-modal.entry.js +12 -12
- package/dist/esm/ion-select_3.entry.js +29 -21
- package/dist/esm/ion-spinner.entry.js +4 -4
- package/dist/esm/ion-split-pane.entry.js +15 -9
- package/dist/esm/ion-tab-bar_2.entry.js +14 -12
- package/dist/esm/ion-tab_2.entry.js +10 -8
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +18 -12
- package/dist/esm/ion-toast.entry.js +21 -15
- package/dist/esm/ion-toggle.entry.js +10 -8
- package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
- package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
- package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
- package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
- package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
- package/dist/html.html-data.json +109 -109
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-316c0420.entry.js → p-025d2d32.entry.js} +1 -1
- package/dist/ionic/p-02acdef4.entry.js +4 -0
- package/dist/ionic/p-04e2c388.entry.js +4 -0
- package/dist/ionic/{p-370e4237.entry.js → p-074344b8.entry.js} +1 -1
- package/dist/ionic/p-13ade5c8.entry.js +4 -0
- package/dist/ionic/p-1b02923f.entry.js +4 -0
- package/dist/ionic/p-1bd477a9.entry.js +4 -0
- package/dist/ionic/{p-d2489bf2.entry.js → p-1fa1406c.entry.js} +1 -1
- package/dist/ionic/{p-46d74291.entry.js → p-1fd588a7.entry.js} +1 -1
- package/dist/ionic/p-239a27a4.entry.js +4 -0
- package/dist/ionic/{p-94de5cfa.entry.js → p-277abec1.entry.js} +1 -1
- package/dist/ionic/{p-dd1aef77.entry.js → p-28d7852f.entry.js} +1 -1
- package/dist/ionic/{p-49d06882.entry.js → p-301c43f8.entry.js} +1 -1
- package/dist/ionic/{p-79bd78f9.entry.js → p-370a60ee.entry.js} +1 -1
- package/dist/ionic/p-3e143d1d.entry.js +4 -0
- package/dist/ionic/p-4431ef7e.entry.js +4 -0
- package/dist/ionic/p-463767ce.entry.js +4 -0
- package/dist/ionic/p-4f888343.entry.js +4 -0
- package/dist/ionic/p-51c11c47.entry.js +4 -0
- package/dist/ionic/p-56050077.entry.js +4 -0
- package/dist/ionic/p-6a3a5aae.entry.js +4 -0
- package/dist/ionic/p-6b97f2a3.entry.js +4 -0
- package/dist/ionic/p-77de9c60.entry.js +4 -0
- package/dist/ionic/{p-51a60e0f.entry.js → p-7c72d482.entry.js} +1 -1
- package/dist/ionic/p-7d20f4f8.entry.js +4 -0
- package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
- package/dist/ionic/p-91fc7352.entry.js +4 -0
- package/dist/ionic/p-93845421.entry.js +4 -0
- package/dist/ionic/{p-3a6caca9.entry.js → p-964090ef.entry.js} +1 -1
- package/dist/ionic/p-96a2e768.entry.js +4 -0
- package/dist/ionic/{p-d126e8d3.entry.js → p-9745651b.entry.js} +1 -1
- package/dist/ionic/{p-f9061316.entry.js → p-9802c88e.entry.js} +1 -1
- package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
- package/dist/ionic/p-9d1676bb.entry.js +4 -0
- package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
- package/dist/ionic/{p-CwgG81ZD.js → p-B8xlpH8p.js} +1 -1
- package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
- package/dist/ionic/p-BW_TRJm8.js +4 -0
- package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
- package/dist/ionic/{p-D0dMcSkw.js → p-BvFYtOdE.js} +1 -1
- package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
- package/dist/ionic/{p-BYEqWnSg.js → p-C0JvVFMv.js} +1 -1
- package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
- package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
- package/dist/ionic/{p-D-eFFUkA.js → p-CmFz1Mjc.js} +1 -1
- package/dist/ionic/p-CtA-yJYy.js +4 -0
- package/dist/ionic/p-D8HJQ1qq.js +4 -0
- package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
- package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
- package/dist/ionic/{p-DdR6rpbR.js → p-DTPR1Wpn.js} +1 -1
- package/dist/ionic/{p-DCv9sLH2.js → p-DjriolRs.js} +1 -1
- package/dist/ionic/p-DtVZDHlS.js +4 -0
- package/dist/ionic/{p-QHYY4sjU.js → p-GWUGgWx6.js} +1 -1
- package/dist/ionic/p-IGIE5vDm.js +5 -0
- package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
- package/dist/ionic/{p-86f53961.entry.js → p-a287e18e.entry.js} +1 -1
- package/dist/ionic/p-a805674e.entry.js +4 -0
- package/dist/ionic/p-a81ae2cd.entry.js +4 -0
- package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
- package/dist/ionic/{p-dbbe606a.entry.js → p-b2d5238b.entry.js} +1 -1
- package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
- package/dist/ionic/{p-72c38b88.entry.js → p-b4d52b58.entry.js} +1 -1
- package/dist/ionic/{p-2a939845.entry.js → p-b67a2114.entry.js} +1 -1
- package/dist/ionic/{p-c73627c8.entry.js → p-bced1f3e.entry.js} +1 -1
- package/dist/ionic/{p-9a2d390d.entry.js → p-c1c9b2bb.entry.js} +1 -1
- package/dist/ionic/{p-f8f22cc0.entry.js → p-c3e65e45.entry.js} +1 -1
- package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
- package/dist/ionic/p-cbf245b5.entry.js +4 -0
- package/dist/ionic/p-d68b665a.entry.js +4 -0
- package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
- package/dist/ionic/p-efe86ed9.entry.js +4 -0
- package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
- package/dist/ionic/{p-DbQ5QkTP.js → p-gbVXD275.js} +1 -1
- package/dist/ionic/p-hNN3VvaC.js +4 -0
- package/dist/types/components/datetime/datetime.d.ts +9 -0
- package/dist/types/components/header/header.utils.d.ts +2 -1
- package/dist/types/components/modal/gestures/sheet.d.ts +2 -2
- package/dist/types/components/modal/gestures/swipe-to-close.d.ts +2 -2
- package/dist/types/components/modal/modal-interface.d.ts +0 -7
- package/dist/types/components/modal/modal.d.ts +1 -17
- package/dist/types/components/range/range-interface.d.ts +1 -0
- package/dist/types/components/range/range.d.ts +33 -4
- package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
- package/dist/types/components/refresher/refresher.d.ts +16 -3
- package/dist/types/components.d.ts +929 -206
- package/dist/types/interface.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +126 -14
- package/dist/types/utils/gesture/listener.d.ts +2 -1
- package/hydrate/index.d.ts +12 -0
- package/hydrate/index.js +5375 -1550
- package/hydrate/index.mjs +5374 -1551
- package/package.json +2 -2
- package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
- package/dist/esm/app-globals-BDSf8fOA.js +0 -8
- package/dist/ionic/p-012212e4.entry.js +0 -4
- package/dist/ionic/p-074839fc.entry.js +0 -4
- package/dist/ionic/p-0dfa5a37.entry.js +0 -4
- package/dist/ionic/p-0f418a37.entry.js +0 -4
- package/dist/ionic/p-11518b31.entry.js +0 -4
- package/dist/ionic/p-1838bed5.entry.js +0 -4
- package/dist/ionic/p-29721c43.entry.js +0 -4
- package/dist/ionic/p-31f7095f.entry.js +0 -4
- package/dist/ionic/p-34642fa1.entry.js +0 -4
- package/dist/ionic/p-35696017.entry.js +0 -4
- package/dist/ionic/p-40c261a3.entry.js +0 -4
- package/dist/ionic/p-4e41ea20.entry.js +0 -4
- package/dist/ionic/p-6241ce47.entry.js +0 -4
- package/dist/ionic/p-639dd543.entry.js +0 -4
- package/dist/ionic/p-6444c606.entry.js +0 -4
- package/dist/ionic/p-6d070558.entry.js +0 -4
- package/dist/ionic/p-7268efa5.entry.js +0 -4
- package/dist/ionic/p-7babec72.entry.js +0 -4
- package/dist/ionic/p-BKc55Xev.js +0 -4
- package/dist/ionic/p-Bmgaetn_.js +0 -4
- package/dist/ionic/p-C8IsBmNU.js +0 -5
- package/dist/ionic/p-CJxh_yLS.js +0 -4
- package/dist/ionic/p-DUt5fQmA.js +0 -4
- package/dist/ionic/p-DZRJwG4S.js +0 -4
- package/dist/ionic/p-a127bee2.entry.js +0 -4
- package/dist/ionic/p-b3d44509.entry.js +0 -4
- package/dist/ionic/p-cc45bcbc.entry.js +0 -4
- package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
- package/dist/ionic/p-d3014190.entry.js +0 -4
- package/dist/ionic/p-db82892c.entry.js +0 -4
- package/dist/ionic/p-e1d1f3cc.entry.js +0 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { Host, h } from "@stencil/core";
|
|
4
|
+
import { Build, Host, h } from "@stencil/core";
|
|
5
5
|
import { findClosestIonContent, disableContentScrollY, resetContentScrollY } from "../../utils/content/index";
|
|
6
6
|
import { inheritAriaAttributes, clamp, debounceEvent, renderHiddenInput, isSafeNumber } from "../../utils/helpers";
|
|
7
7
|
import { printIonWarning } from "../../utils/logging/index";
|
|
@@ -17,13 +17,30 @@ import { roundToMaxDecimalPlaces } from "../../utils/floating-point";
|
|
|
17
17
|
* @slot start - Content is placed to the left of the range slider in LTR, and to the right in RTL.
|
|
18
18
|
* @slot end - Content is placed to the right of the range slider in LTR, and to the left in RTL.
|
|
19
19
|
*
|
|
20
|
+
* @part label - The label text describing the range.
|
|
20
21
|
* @part tick - An inactive tick mark.
|
|
21
22
|
* @part tick-active - An active tick mark.
|
|
22
|
-
* @part pin - The counter that appears above a knob.
|
|
23
|
-
* @part knob - The handle that is used to drag the range.
|
|
24
23
|
* @part bar - The inactive part of the bar.
|
|
25
24
|
* @part bar-active - The active part of the bar.
|
|
26
|
-
* @part
|
|
25
|
+
* @part knob-handle - The container element that wraps the knob and handles drag interactions.
|
|
26
|
+
* @part knob-handle-a - The container element for the first knob. Only available when `dualKnobs` is `true`.
|
|
27
|
+
* @part knob-handle-b - The container element for the second knob. Only available when `dualKnobs` is `true`.
|
|
28
|
+
* @part knob-handle-lower - The container element for the lower knob. Only available when `dualKnobs` is `true`.
|
|
29
|
+
* @part knob-handle-upper - The container element for the upper knob. Only available when `dualKnobs` is `true`.
|
|
30
|
+
* @part pin - The counter that appears above a knob.
|
|
31
|
+
* @part pin-a - The counter that appears above the first knob. Only available when `dualKnobs` is `true`.
|
|
32
|
+
* @part pin-b - The counter that appears above the second knob. Only available when `dualKnobs` is `true`.
|
|
33
|
+
* @part pin-lower - The counter that appears above the lower knob. Only available when `dualKnobs` is `true`.
|
|
34
|
+
* @part pin-upper - The counter that appears above the upper knob. Only available when `dualKnobs` is `true`.
|
|
35
|
+
* @part knob - The visual knob element that appears on the range track.
|
|
36
|
+
* @part knob-a - The visual knob element for the first knob. Only available when `dualKnobs` is `true`.
|
|
37
|
+
* @part knob-b - The visual knob element for the second knob. Only available when `dualKnobs` is `true`.
|
|
38
|
+
* @part knob-lower - The visual knob element for the lower knob. Only available when `dualKnobs` is `true`.
|
|
39
|
+
* @part knob-upper - The visual knob element for the upper knob. Only available when `dualKnobs` is `true`.
|
|
40
|
+
* @part activated - Added to the knob-handle, knob, and pin when the knob is activated (has the `ion-activated` class). Only one set has this part at a time when `dualKnobs` is `true`.
|
|
41
|
+
* @part focused - Added to the knob-handle, knob, and pin that currently has focus. Only one set has this part at a time when `dualKnobs` is `true`.
|
|
42
|
+
* @part hover - Added to the knob-handle, knob, and pin when the knob has hover. Only one set has this part at a time when `dualKnobs` is `true`.
|
|
43
|
+
* @part pressed - Added to the knob-handle, knob, and pin that is currently being pressed to drag. Only one set has this part at a time when `dualKnobs` is `true`.
|
|
27
44
|
*/
|
|
28
45
|
export class Range {
|
|
29
46
|
constructor() {
|
|
@@ -34,6 +51,7 @@ export class Range {
|
|
|
34
51
|
this.inheritedAttributes = {};
|
|
35
52
|
this.contentEl = null;
|
|
36
53
|
this.initialContentScrollY = true;
|
|
54
|
+
this.focusFromPointer = false;
|
|
37
55
|
this.ratioA = 0;
|
|
38
56
|
this.ratioB = 0;
|
|
39
57
|
/**
|
|
@@ -143,6 +161,31 @@ export class Range {
|
|
|
143
161
|
this.gesture.enable(!this.disabled);
|
|
144
162
|
}
|
|
145
163
|
};
|
|
164
|
+
/**
|
|
165
|
+
* Observes the knob handles for the ion-activated class and syncs
|
|
166
|
+
* activatedKnob so the activated part is correctly set on the handle,
|
|
167
|
+
* knob, and pin.
|
|
168
|
+
*/
|
|
169
|
+
this.setupActivatedObserver = () => {
|
|
170
|
+
const knobHandleA = this.el.shadowRoot.querySelector('.range-knob-handle-a');
|
|
171
|
+
const knobHandleB = this.el.shadowRoot.querySelector('.range-knob-handle-b');
|
|
172
|
+
const syncActivated = () => {
|
|
173
|
+
this.activatedKnob = (knobHandleA === null || knobHandleA === void 0 ? void 0 : knobHandleA.classList.contains('ion-activated'))
|
|
174
|
+
? 'A'
|
|
175
|
+
: (knobHandleB === null || knobHandleB === void 0 ? void 0 : knobHandleB.classList.contains('ion-activated'))
|
|
176
|
+
? 'B'
|
|
177
|
+
: undefined;
|
|
178
|
+
};
|
|
179
|
+
if (Build.isBrowser && typeof MutationObserver !== 'undefined') {
|
|
180
|
+
this.activatedObserver = new MutationObserver(syncActivated);
|
|
181
|
+
this.activatedObserver.observe(this.el.shadowRoot, {
|
|
182
|
+
attributes: true,
|
|
183
|
+
attributeFilter: ['class'],
|
|
184
|
+
subtree: true,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
syncActivated();
|
|
188
|
+
};
|
|
146
189
|
this.handleKeyboard = (knob, isIncrease) => {
|
|
147
190
|
const { ensureValueInBounds } = this;
|
|
148
191
|
let step = this.step;
|
|
@@ -165,6 +208,7 @@ export class Range {
|
|
|
165
208
|
this.onBlur = () => {
|
|
166
209
|
if (this.hasFocus) {
|
|
167
210
|
this.hasFocus = false;
|
|
211
|
+
this.focusedKnob = undefined;
|
|
168
212
|
this.ionBlur.emit();
|
|
169
213
|
}
|
|
170
214
|
};
|
|
@@ -175,21 +219,20 @@ export class Range {
|
|
|
175
219
|
}
|
|
176
220
|
};
|
|
177
221
|
this.onKnobFocus = (knob) => {
|
|
222
|
+
// Clicking focuses the range which is needed for the keyboard,
|
|
223
|
+
// but we only want to add the ion-focused class when focused via Tab.
|
|
224
|
+
if (!this.focusFromPointer) {
|
|
225
|
+
this.focusedKnob = knob;
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
this.focusFromPointer = false;
|
|
229
|
+
this.focusedKnob = undefined;
|
|
230
|
+
}
|
|
231
|
+
// If the knob was not already focused, emit the focus event
|
|
178
232
|
if (!this.hasFocus) {
|
|
179
233
|
this.hasFocus = true;
|
|
180
234
|
this.ionFocus.emit();
|
|
181
235
|
}
|
|
182
|
-
// Manually manage ion-focused class for dual knobs
|
|
183
|
-
if (this.dualKnobs && this.el.shadowRoot) {
|
|
184
|
-
const knobA = this.el.shadowRoot.querySelector('.range-knob-a');
|
|
185
|
-
const knobB = this.el.shadowRoot.querySelector('.range-knob-b');
|
|
186
|
-
// Remove ion-focused from both knobs first
|
|
187
|
-
knobA === null || knobA === void 0 ? void 0 : knobA.classList.remove('ion-focused');
|
|
188
|
-
knobB === null || knobB === void 0 ? void 0 : knobB.classList.remove('ion-focused');
|
|
189
|
-
// Add ion-focused only to the focused knob
|
|
190
|
-
const focusedKnobEl = knob === 'A' ? knobA : knobB;
|
|
191
|
-
focusedKnobEl === null || focusedKnobEl === void 0 ? void 0 : focusedKnobEl.classList.add('ion-focused');
|
|
192
|
-
}
|
|
193
236
|
};
|
|
194
237
|
this.onKnobBlur = () => {
|
|
195
238
|
// Check if focus is moving to another knob within the same range
|
|
@@ -201,18 +244,18 @@ export class Range {
|
|
|
201
244
|
if (!isStillFocusedOnKnob) {
|
|
202
245
|
if (this.hasFocus) {
|
|
203
246
|
this.hasFocus = false;
|
|
247
|
+
this.focusedKnob = undefined;
|
|
204
248
|
this.ionBlur.emit();
|
|
205
249
|
}
|
|
206
|
-
// Remove ion-focused from both knobs when focus leaves the range
|
|
207
|
-
if (this.dualKnobs && this.el.shadowRoot) {
|
|
208
|
-
const knobA = this.el.shadowRoot.querySelector('.range-knob-a');
|
|
209
|
-
const knobB = this.el.shadowRoot.querySelector('.range-knob-b');
|
|
210
|
-
knobA === null || knobA === void 0 ? void 0 : knobA.classList.remove('ion-focused');
|
|
211
|
-
knobB === null || knobB === void 0 ? void 0 : knobB.classList.remove('ion-focused');
|
|
212
|
-
}
|
|
213
250
|
}
|
|
214
251
|
}, 0);
|
|
215
252
|
};
|
|
253
|
+
this.onKnobMouseEnter = (knob) => {
|
|
254
|
+
this.hoveredKnob = knob;
|
|
255
|
+
};
|
|
256
|
+
this.onKnobMouseLeave = () => {
|
|
257
|
+
this.hoveredKnob = undefined;
|
|
258
|
+
};
|
|
216
259
|
}
|
|
217
260
|
debounceChanged() {
|
|
218
261
|
const { ionInput, debounce, originalIonInput } = this;
|
|
@@ -289,6 +332,7 @@ export class Range {
|
|
|
289
332
|
this.originalIonInput = this.ionInput;
|
|
290
333
|
this.setupGesture();
|
|
291
334
|
this.updateRatio();
|
|
335
|
+
this.setupActivatedObserver();
|
|
292
336
|
this.didLoad = true;
|
|
293
337
|
}
|
|
294
338
|
connectedCallback() {
|
|
@@ -314,6 +358,10 @@ export class Range {
|
|
|
314
358
|
this.gesture.destroy();
|
|
315
359
|
this.gesture = undefined;
|
|
316
360
|
}
|
|
361
|
+
if (this.activatedObserver) {
|
|
362
|
+
this.activatedObserver.disconnect();
|
|
363
|
+
this.activatedObserver = undefined;
|
|
364
|
+
}
|
|
317
365
|
}
|
|
318
366
|
getValue() {
|
|
319
367
|
var _a;
|
|
@@ -466,7 +514,6 @@ export class Range {
|
|
|
466
514
|
ratio = 1 - ratio;
|
|
467
515
|
}
|
|
468
516
|
this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
|
|
469
|
-
this.setFocus(this.pressedKnob);
|
|
470
517
|
}
|
|
471
518
|
get valA() {
|
|
472
519
|
return ratioToValue(this.ratioA, this.min, this.max, this.step);
|
|
@@ -493,9 +540,23 @@ export class Range {
|
|
|
493
540
|
updateRatio() {
|
|
494
541
|
const value = this.getValue();
|
|
495
542
|
const { min, max } = this;
|
|
543
|
+
/**
|
|
544
|
+
* For dual knobs, value gives lower/upper but not which is A vs B.
|
|
545
|
+
* Assign (lowerRatio, upperRatio) to (ratioA, ratioB) in the way that
|
|
546
|
+
* minimizes change from the current ratios so the knobs don't swap.
|
|
547
|
+
*/
|
|
496
548
|
if (this.dualKnobs) {
|
|
497
|
-
|
|
498
|
-
|
|
549
|
+
const lowerRatio = valueToRatio(value.lower, min, max);
|
|
550
|
+
const upperRatio = valueToRatio(value.upper, min, max);
|
|
551
|
+
if (Math.abs(this.ratioA - lowerRatio) + Math.abs(this.ratioB - upperRatio) <=
|
|
552
|
+
Math.abs(this.ratioA - upperRatio) + Math.abs(this.ratioB - lowerRatio)) {
|
|
553
|
+
this.ratioA = lowerRatio;
|
|
554
|
+
this.ratioB = upperRatio;
|
|
555
|
+
}
|
|
556
|
+
else {
|
|
557
|
+
this.ratioA = upperRatio;
|
|
558
|
+
this.ratioB = lowerRatio;
|
|
559
|
+
}
|
|
499
560
|
}
|
|
500
561
|
else {
|
|
501
562
|
this.ratioA = valueToRatio(value, min, max);
|
|
@@ -512,14 +573,6 @@ export class Range {
|
|
|
512
573
|
};
|
|
513
574
|
this.noUpdate = false;
|
|
514
575
|
}
|
|
515
|
-
setFocus(knob) {
|
|
516
|
-
if (this.el.shadowRoot) {
|
|
517
|
-
const knobEl = this.el.shadowRoot.querySelector(knob === 'A' ? '.range-knob-a' : '.range-knob-b');
|
|
518
|
-
if (knobEl) {
|
|
519
|
-
knobEl.focus();
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
}
|
|
523
576
|
/**
|
|
524
577
|
* Returns true if content was passed to the "start" slot
|
|
525
578
|
*/
|
|
@@ -537,7 +590,7 @@ export class Range {
|
|
|
537
590
|
}
|
|
538
591
|
renderRangeSlider() {
|
|
539
592
|
var _a;
|
|
540
|
-
const { min, max, step, handleKeyboard, pressedKnob, disabled, pin, ratioLower, ratioUpper, pinFormatter, inheritedAttributes, } = this;
|
|
593
|
+
const { min, max, step, handleKeyboard, activatedKnob, focusedKnob, hoveredKnob, pressedKnob, disabled, pin, ratioLower, ratioUpper, pinFormatter, inheritedAttributes, } = this;
|
|
541
594
|
let barStart = `${ratioLower * 100}%`;
|
|
542
595
|
let barEnd = `${100 - ratioUpper * 100}%`;
|
|
543
596
|
const rtl = isRTL(this.el);
|
|
@@ -597,7 +650,9 @@ export class Range {
|
|
|
597
650
|
ticks.push(tick);
|
|
598
651
|
}
|
|
599
652
|
}
|
|
600
|
-
return (h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl),
|
|
653
|
+
return (h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl), onPointerDown: () => {
|
|
654
|
+
this.focusFromPointer = true;
|
|
655
|
+
},
|
|
601
656
|
/**
|
|
602
657
|
* Since the gesture has a threshold, the value
|
|
603
658
|
* won't change until the user has dragged past
|
|
@@ -610,6 +665,7 @@ export class Range {
|
|
|
610
665
|
* we need to listen for the "pointerUp" event.
|
|
611
666
|
*/
|
|
612
667
|
onPointerUp: (ev) => {
|
|
668
|
+
this.focusFromPointer = false;
|
|
613
669
|
/**
|
|
614
670
|
* If the user drags the knob on the web
|
|
615
671
|
* version (does not occur on mobile),
|
|
@@ -635,6 +691,11 @@ export class Range {
|
|
|
635
691
|
'has-ticks': ticks.length > 0,
|
|
636
692
|
}, role: "presentation", style: barStyle, part: "bar-active" })), renderKnob(rtl, {
|
|
637
693
|
knob: 'A',
|
|
694
|
+
position: getKnobPosition('A', this.ratioA, this.ratioB, this.dualKnobs),
|
|
695
|
+
dualKnobs: this.dualKnobs,
|
|
696
|
+
activated: activatedKnob === 'A',
|
|
697
|
+
focused: focusedKnob === 'A',
|
|
698
|
+
hovered: hoveredKnob === 'A',
|
|
638
699
|
pressed: pressedKnob === 'A',
|
|
639
700
|
value: this.valA,
|
|
640
701
|
ratio: this.ratioA,
|
|
@@ -647,9 +708,16 @@ export class Range {
|
|
|
647
708
|
inheritedAttributes,
|
|
648
709
|
onKnobFocus: this.onKnobFocus,
|
|
649
710
|
onKnobBlur: this.onKnobBlur,
|
|
711
|
+
onKnobMouseEnter: this.onKnobMouseEnter,
|
|
712
|
+
onKnobMouseLeave: this.onKnobMouseLeave,
|
|
650
713
|
}), this.dualKnobs &&
|
|
651
714
|
renderKnob(rtl, {
|
|
652
715
|
knob: 'B',
|
|
716
|
+
position: getKnobPosition('B', this.ratioA, this.ratioB, this.dualKnobs),
|
|
717
|
+
dualKnobs: this.dualKnobs,
|
|
718
|
+
activated: activatedKnob === 'B',
|
|
719
|
+
focused: focusedKnob === 'B',
|
|
720
|
+
hovered: hoveredKnob === 'B',
|
|
653
721
|
pressed: pressedKnob === 'B',
|
|
654
722
|
value: this.valB,
|
|
655
723
|
ratio: this.ratioB,
|
|
@@ -662,6 +730,8 @@ export class Range {
|
|
|
662
730
|
inheritedAttributes,
|
|
663
731
|
onKnobFocus: this.onKnobFocus,
|
|
664
732
|
onKnobBlur: this.onKnobBlur,
|
|
733
|
+
onKnobMouseEnter: this.onKnobMouseEnter,
|
|
734
|
+
onKnobMouseLeave: this.onKnobMouseLeave,
|
|
665
735
|
})));
|
|
666
736
|
}
|
|
667
737
|
render() {
|
|
@@ -680,6 +750,12 @@ export class Range {
|
|
|
680
750
|
const hasEndContent = (hasLabel && labelPlacement === 'end') || this.hasEndSlotContent;
|
|
681
751
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
682
752
|
const mode = getIonMode(this);
|
|
753
|
+
/**
|
|
754
|
+
* Determine the name and position of the pressed knob to apply
|
|
755
|
+
* Host classes for styling.
|
|
756
|
+
*/
|
|
757
|
+
const pressedKnobName = dualKnobs ? pressedKnob === null || pressedKnob === void 0 ? void 0 : pressedKnob.toLowerCase() : undefined;
|
|
758
|
+
const pressedKnobPosition = dualKnobs && pressedKnob ? getKnobPosition(pressedKnob, this.ratioA, this.ratioB, dualKnobs) : undefined;
|
|
683
759
|
/**
|
|
684
760
|
* Determine if any knob is at the min or max value to
|
|
685
761
|
* apply Host classes for styling.
|
|
@@ -687,21 +763,24 @@ export class Range {
|
|
|
687
763
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
688
764
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
689
765
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
690
|
-
return (h(Host, { key: '
|
|
766
|
+
return (h(Host, { key: '3d87901f6acf5848e1891e387f9042e2a1e3f91e', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
|
691
767
|
[mode]: true,
|
|
692
768
|
'in-item': inItem,
|
|
693
769
|
'range-disabled': disabled,
|
|
770
|
+
'range-dual-knobs': dualKnobs,
|
|
694
771
|
'range-pressed': pressedKnob !== undefined,
|
|
772
|
+
[`range-pressed-${pressedKnobName}`]: pressedKnob !== undefined && pressedKnobName !== undefined,
|
|
773
|
+
[`range-pressed-${pressedKnobPosition}`]: pressedKnob !== undefined && pressedKnobPosition !== undefined,
|
|
695
774
|
'range-has-pin': pin,
|
|
696
775
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
697
776
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
698
777
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
699
778
|
'range-value-min': valueAtMin,
|
|
700
779
|
'range-value-max': valueAtMax,
|
|
701
|
-
}) }, h("label", { key: '
|
|
780
|
+
}) }, h("label", { key: '33a3fa985121811828dcfa4244edd73c28d18182', class: "range-wrapper", id: "range-label" }, h("div", { key: '36cd13d03e67fee8c92ade30ac1d3c6ae7a32126', class: {
|
|
702
781
|
'label-text-wrapper': true,
|
|
703
782
|
'label-text-wrapper-hidden': !hasLabel,
|
|
704
|
-
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '
|
|
783
|
+
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '1650c180246f80340f0313b16dbdd8eae7451fb5', class: "native-wrapper" }, h("slot", { key: 'ca73ff66e30a49056d76cbd3007ece207ca5261d', name: "start" }), this.renderRangeSlider(), h("slot", { key: '59a90b1f4fd4a6879c90bb46d20f8df53d8456f6', name: "end" })))));
|
|
705
784
|
}
|
|
706
785
|
static get is() { return "ion-range"; }
|
|
707
786
|
static get encapsulation() { return "shadow"; }
|
|
@@ -729,7 +808,8 @@ export class Range {
|
|
|
729
808
|
"Color": {
|
|
730
809
|
"location": "import",
|
|
731
810
|
"path": "../../interface",
|
|
732
|
-
"id": "src/interface.d.ts::Color"
|
|
811
|
+
"id": "src/interface.d.ts::Color",
|
|
812
|
+
"referenceLocation": "Color"
|
|
733
813
|
}
|
|
734
814
|
}
|
|
735
815
|
},
|
|
@@ -892,7 +972,8 @@ export class Range {
|
|
|
892
972
|
"PinFormatter": {
|
|
893
973
|
"location": "import",
|
|
894
974
|
"path": "./range-interface",
|
|
895
|
-
"id": "src/components/range/range-interface.ts::PinFormatter"
|
|
975
|
+
"id": "src/components/range/range-interface.ts::PinFormatter",
|
|
976
|
+
"referenceLocation": "PinFormatter"
|
|
896
977
|
}
|
|
897
978
|
}
|
|
898
979
|
},
|
|
@@ -1015,7 +1096,8 @@ export class Range {
|
|
|
1015
1096
|
"RangeValue": {
|
|
1016
1097
|
"location": "import",
|
|
1017
1098
|
"path": "./range-interface",
|
|
1018
|
-
"id": "src/components/range/range-interface.ts::RangeValue"
|
|
1099
|
+
"id": "src/components/range/range-interface.ts::RangeValue",
|
|
1100
|
+
"referenceLocation": "RangeValue"
|
|
1019
1101
|
}
|
|
1020
1102
|
}
|
|
1021
1103
|
},
|
|
@@ -1057,6 +1139,9 @@ export class Range {
|
|
|
1057
1139
|
return {
|
|
1058
1140
|
"ratioA": {},
|
|
1059
1141
|
"ratioB": {},
|
|
1142
|
+
"activatedKnob": {},
|
|
1143
|
+
"focusedKnob": {},
|
|
1144
|
+
"hoveredKnob": {},
|
|
1060
1145
|
"pressedKnob": {}
|
|
1061
1146
|
};
|
|
1062
1147
|
}
|
|
@@ -1078,7 +1163,8 @@ export class Range {
|
|
|
1078
1163
|
"RangeChangeEventDetail": {
|
|
1079
1164
|
"location": "import",
|
|
1080
1165
|
"path": "./range-interface",
|
|
1081
|
-
"id": "src/components/range/range-interface.ts::RangeChangeEventDetail"
|
|
1166
|
+
"id": "src/components/range/range-interface.ts::RangeChangeEventDetail",
|
|
1167
|
+
"referenceLocation": "RangeChangeEventDetail"
|
|
1082
1168
|
}
|
|
1083
1169
|
}
|
|
1084
1170
|
}
|
|
@@ -1099,7 +1185,8 @@ export class Range {
|
|
|
1099
1185
|
"RangeChangeEventDetail": {
|
|
1100
1186
|
"location": "import",
|
|
1101
1187
|
"path": "./range-interface",
|
|
1102
|
-
"id": "src/components/range/range-interface.ts::RangeChangeEventDetail"
|
|
1188
|
+
"id": "src/components/range/range-interface.ts::RangeChangeEventDetail",
|
|
1189
|
+
"referenceLocation": "RangeChangeEventDetail"
|
|
1103
1190
|
}
|
|
1104
1191
|
}
|
|
1105
1192
|
}
|
|
@@ -1150,7 +1237,8 @@ export class Range {
|
|
|
1150
1237
|
"RangeKnobMoveStartEventDetail": {
|
|
1151
1238
|
"location": "import",
|
|
1152
1239
|
"path": "./range-interface",
|
|
1153
|
-
"id": "src/components/range/range-interface.ts::RangeKnobMoveStartEventDetail"
|
|
1240
|
+
"id": "src/components/range/range-interface.ts::RangeKnobMoveStartEventDetail",
|
|
1241
|
+
"referenceLocation": "RangeKnobMoveStartEventDetail"
|
|
1154
1242
|
}
|
|
1155
1243
|
}
|
|
1156
1244
|
}
|
|
@@ -1171,7 +1259,8 @@ export class Range {
|
|
|
1171
1259
|
"RangeKnobMoveEndEventDetail": {
|
|
1172
1260
|
"location": "import",
|
|
1173
1261
|
"path": "./range-interface",
|
|
1174
|
-
"id": "src/components/range/range-interface.ts::RangeKnobMoveEndEventDetail"
|
|
1262
|
+
"id": "src/components/range/range-interface.ts::RangeKnobMoveEndEventDetail",
|
|
1263
|
+
"referenceLocation": "RangeKnobMoveEndEventDetail"
|
|
1175
1264
|
}
|
|
1176
1265
|
}
|
|
1177
1266
|
}
|
|
@@ -1203,7 +1292,7 @@ export class Range {
|
|
|
1203
1292
|
}];
|
|
1204
1293
|
}
|
|
1205
1294
|
}
|
|
1206
|
-
const renderKnob = (rtl, { knob, value, ratio, min, max, disabled, pressed, pin, handleKeyboard, pinFormatter, inheritedAttributes, onKnobFocus, onKnobBlur, }) => {
|
|
1295
|
+
const renderKnob = (rtl, { knob, position, dualKnobs, value, ratio, min, max, disabled, activated, focused, hovered, pressed, pin, handleKeyboard, pinFormatter, inheritedAttributes, onKnobFocus, onKnobBlur, onKnobMouseEnter, onKnobMouseLeave, }) => {
|
|
1207
1296
|
const start = rtl ? 'right' : 'left';
|
|
1208
1297
|
const knobStyle = () => {
|
|
1209
1298
|
const style = {};
|
|
@@ -1224,16 +1313,66 @@ const renderKnob = (rtl, { knob, value, ratio, min, max, disabled, pressed, pin,
|
|
|
1224
1313
|
ev.preventDefault();
|
|
1225
1314
|
ev.stopPropagation();
|
|
1226
1315
|
}
|
|
1227
|
-
}, onFocus: () => onKnobFocus(knob), onBlur: onKnobBlur, class: {
|
|
1316
|
+
}, onFocus: () => onKnobFocus(knob), onBlur: onKnobBlur, onMouseEnter: () => onKnobMouseEnter(knob), onMouseLeave: onKnobMouseLeave, class: {
|
|
1228
1317
|
'range-knob-handle': true,
|
|
1229
|
-
'range-knob-a': knob === 'A',
|
|
1230
|
-
'range-knob-b': knob === 'B',
|
|
1318
|
+
'range-knob-handle-a': knob === 'A',
|
|
1319
|
+
'range-knob-handle-b': knob === 'B',
|
|
1231
1320
|
'range-knob-pressed': pressed,
|
|
1232
1321
|
'range-knob-min': value === min,
|
|
1233
1322
|
'range-knob-max': value === max,
|
|
1234
1323
|
'ion-activatable': true,
|
|
1235
1324
|
'ion-focusable': true,
|
|
1236
|
-
|
|
1325
|
+
'ion-focused': focused,
|
|
1326
|
+
}, part: [
|
|
1327
|
+
'knob-handle',
|
|
1328
|
+
dualKnobs && knob === 'A' && 'knob-handle-a',
|
|
1329
|
+
dualKnobs && knob === 'B' && 'knob-handle-b',
|
|
1330
|
+
dualKnobs && position === 'lower' && 'knob-handle-lower',
|
|
1331
|
+
dualKnobs && position === 'upper' && 'knob-handle-upper',
|
|
1332
|
+
pressed && 'pressed',
|
|
1333
|
+
focused && 'focused',
|
|
1334
|
+
hovered && 'hover',
|
|
1335
|
+
activated && 'activated',
|
|
1336
|
+
]
|
|
1337
|
+
.filter(Boolean)
|
|
1338
|
+
.join(' '), style: knobStyle(), role: "slider", tabindex: disabled ? -1 : 0, "aria-label": ariaLabel !== undefined ? ariaLabel : null, "aria-labelledby": ariaLabel === undefined ? 'range-label' : null, "aria-valuemin": min, "aria-valuemax": max, "aria-disabled": disabled ? 'true' : null, "aria-valuenow": value }, pin && (h("div", { class: "range-pin", role: "presentation", part: [
|
|
1339
|
+
'pin',
|
|
1340
|
+
dualKnobs && knob === 'A' && 'pin-a',
|
|
1341
|
+
dualKnobs && knob === 'B' && 'pin-b',
|
|
1342
|
+
dualKnobs && position === 'lower' && 'pin-lower',
|
|
1343
|
+
dualKnobs && position === 'upper' && 'pin-upper',
|
|
1344
|
+
pressed && 'pressed',
|
|
1345
|
+
focused && 'focused',
|
|
1346
|
+
hovered && 'hover',
|
|
1347
|
+
activated && 'activated',
|
|
1348
|
+
]
|
|
1349
|
+
.filter(Boolean)
|
|
1350
|
+
.join(' ') }, pinFormatter(value))), h("div", { class: "range-knob", role: "presentation", part: [
|
|
1351
|
+
'knob',
|
|
1352
|
+
dualKnobs && knob === 'A' && 'knob-a',
|
|
1353
|
+
dualKnobs && knob === 'B' && 'knob-b',
|
|
1354
|
+
dualKnobs && position === 'lower' && 'knob-lower',
|
|
1355
|
+
dualKnobs && position === 'upper' && 'knob-upper',
|
|
1356
|
+
pressed && 'pressed',
|
|
1357
|
+
focused && 'focused',
|
|
1358
|
+
hovered && 'hover',
|
|
1359
|
+
activated && 'activated',
|
|
1360
|
+
]
|
|
1361
|
+
.filter(Boolean)
|
|
1362
|
+
.join(' ') })));
|
|
1363
|
+
};
|
|
1364
|
+
/**
|
|
1365
|
+
* Returns whether the given knob is at the lower or upper position based
|
|
1366
|
+
* on current ratios for the given knob.
|
|
1367
|
+
*/
|
|
1368
|
+
const getKnobPosition = (knob, ratioA, ratioB, dualKnobs) => {
|
|
1369
|
+
if (dualKnobs) {
|
|
1370
|
+
if (knob === 'A') {
|
|
1371
|
+
return ratioA <= ratioB ? 'lower' : 'upper';
|
|
1372
|
+
}
|
|
1373
|
+
return ratioB <= ratioA ? 'lower' : 'upper';
|
|
1374
|
+
}
|
|
1375
|
+
return 'lower';
|
|
1237
1376
|
};
|
|
1238
1377
|
const ratioToValue = (ratio, min, max, step) => {
|
|
1239
1378
|
let value = (max - min) * ratio;
|
|
@@ -68,8 +68,8 @@ export class Refresher {
|
|
|
68
68
|
* than `1`. The default value is `1` which is equal to the speed of the cursor.
|
|
69
69
|
* If a negative value is passed in, the factor will be `1` instead.
|
|
70
70
|
*
|
|
71
|
-
* For example
|
|
72
|
-
* `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels
|
|
71
|
+
* For example, If the value passed is `1.2` and the content is dragged by
|
|
72
|
+
* `10` pixels, instead of `10` pixels, the content will be pulled by `12` pixels
|
|
73
73
|
* (an increase of 20 percent). If the value passed is `0.8`, the dragged amount
|
|
74
74
|
* will be `8` pixels, less than the amount the cursor has moved.
|
|
75
75
|
*
|
|
@@ -119,6 +119,9 @@ export class Refresher {
|
|
|
119
119
|
this.animations = [];
|
|
120
120
|
this.progress = 0;
|
|
121
121
|
this.state = 1 /* RefresherState.Inactive */;
|
|
122
|
+
this.ionPullEnd.emit({
|
|
123
|
+
reason: state === 32 /* RefresherState.Completing */ ? 'complete' : 'cancel',
|
|
124
|
+
});
|
|
122
125
|
}
|
|
123
126
|
async setupiOSNativeRefresher(pullingSpinner, refreshingSpinner) {
|
|
124
127
|
this.elementToTransform = this.scrollEl;
|
|
@@ -151,6 +154,7 @@ export class Refresher {
|
|
|
151
154
|
if (!this.didStart) {
|
|
152
155
|
this.didStart = true;
|
|
153
156
|
this.ionStart.emit();
|
|
157
|
+
this.ionPullStart.emit();
|
|
154
158
|
}
|
|
155
159
|
// emit "pulling" on every move
|
|
156
160
|
if (this.pointerDown) {
|
|
@@ -226,6 +230,7 @@ export class Refresher {
|
|
|
226
230
|
this.lastVelocityY = ev.velocityY;
|
|
227
231
|
},
|
|
228
232
|
onEnd: () => {
|
|
233
|
+
const hadStarted = this.didStart;
|
|
229
234
|
this.pointerDown = false;
|
|
230
235
|
this.didStart = false;
|
|
231
236
|
if (this.needsCompletion) {
|
|
@@ -235,6 +240,13 @@ export class Refresher {
|
|
|
235
240
|
else if (this.didRefresh) {
|
|
236
241
|
readTask(() => translateElement(this.elementToTransform, `${this.el.clientHeight}px`));
|
|
237
242
|
}
|
|
243
|
+
else if (hadStarted) {
|
|
244
|
+
/**
|
|
245
|
+
* User started pulling but released before reaching the refresh threshold.
|
|
246
|
+
* Emit ionPullEnd to complete the event pair.
|
|
247
|
+
*/
|
|
248
|
+
this.ionPullEnd.emit({ reason: 'cancel' });
|
|
249
|
+
}
|
|
238
250
|
},
|
|
239
251
|
});
|
|
240
252
|
this.disabledChanged();
|
|
@@ -281,6 +293,7 @@ export class Refresher {
|
|
|
281
293
|
ev.data.animation = animation;
|
|
282
294
|
animation.progressStart(false, 0);
|
|
283
295
|
this.ionStart.emit();
|
|
296
|
+
this.ionPullStart.emit();
|
|
284
297
|
this.animations.push(animation);
|
|
285
298
|
return;
|
|
286
299
|
}
|
|
@@ -303,6 +316,7 @@ export class Refresher {
|
|
|
303
316
|
this.animations = [];
|
|
304
317
|
this.gesture.enable(true);
|
|
305
318
|
this.state = 1 /* RefresherState.Inactive */;
|
|
319
|
+
this.ionPullEnd.emit({ reason: 'cancel' });
|
|
306
320
|
});
|
|
307
321
|
return;
|
|
308
322
|
}
|
|
@@ -547,6 +561,7 @@ export class Refresher {
|
|
|
547
561
|
if (!this.didStart) {
|
|
548
562
|
this.didStart = true;
|
|
549
563
|
this.ionStart.emit();
|
|
564
|
+
this.ionPullStart.emit();
|
|
550
565
|
}
|
|
551
566
|
// emit "pulling" on every move
|
|
552
567
|
this.ionPull.emit();
|
|
@@ -590,6 +605,15 @@ export class Refresher {
|
|
|
590
605
|
* available right away.
|
|
591
606
|
*/
|
|
592
607
|
this.restoreOverflowStyle();
|
|
608
|
+
/**
|
|
609
|
+
* If ionPullStart was emitted, we need to emit ionPullEnd
|
|
610
|
+
* even though the gesture was aborted before reaching the
|
|
611
|
+
* pulling threshold.
|
|
612
|
+
*/
|
|
613
|
+
if (this.didStart) {
|
|
614
|
+
this.didStart = false;
|
|
615
|
+
this.ionPullEnd.emit({ reason: 'cancel' });
|
|
616
|
+
}
|
|
593
617
|
}
|
|
594
618
|
}
|
|
595
619
|
beginRefresh() {
|
|
@@ -636,6 +660,9 @@ export class Refresher {
|
|
|
636
660
|
if (this.contentFullscreen && this.backgroundContentEl) {
|
|
637
661
|
(_a = this.backgroundContentEl) === null || _a === void 0 ? void 0 : _a.style.removeProperty('--offset-top');
|
|
638
662
|
}
|
|
663
|
+
this.ionPullEnd.emit({
|
|
664
|
+
reason: state === 32 /* RefresherState.Completing */ ? 'complete' : 'cancel',
|
|
665
|
+
});
|
|
639
666
|
}, 600);
|
|
640
667
|
// reset the styles on the scroll element
|
|
641
668
|
// set that the refresh is actively cancelling/completing
|
|
@@ -689,7 +716,7 @@ export class Refresher {
|
|
|
689
716
|
}
|
|
690
717
|
render() {
|
|
691
718
|
const mode = getIonMode(this);
|
|
692
|
-
return (h(Host, { key: '
|
|
719
|
+
return (h(Host, { key: 'bed0c2f44c32ecac24b7d8326ac7c7ef1d12c44f', slot: "fixed", class: {
|
|
693
720
|
[mode]: true,
|
|
694
721
|
// Used internally for styling
|
|
695
722
|
[`refresher-${mode}`]: true,
|
|
@@ -809,7 +836,7 @@ export class Refresher {
|
|
|
809
836
|
"optional": false,
|
|
810
837
|
"docs": {
|
|
811
838
|
"tags": [],
|
|
812
|
-
"text": "How much to multiply the pull speed by. To slow the pull animation down,\npass a number less than `1`. To speed up the pull, pass a number greater\nthan `1`. The default value is `1` which is equal to the speed of the cursor.\nIf a negative value is passed in, the factor will be `1` instead.\n\nFor example
|
|
839
|
+
"text": "How much to multiply the pull speed by. To slow the pull animation down,\npass a number less than `1`. To speed up the pull, pass a number greater\nthan `1`. The default value is `1` which is equal to the speed of the cursor.\nIf a negative value is passed in, the factor will be `1` instead.\n\nFor example, If the value passed is `1.2` and the content is dragged by\n`10` pixels, instead of `10` pixels, the content will be pulled by `12` pixels\n(an increase of 20 percent). If the value passed is `0.8`, the dragged amount\nwill be `8` pixels, less than the amount the cursor has moved.\n\nDoes not apply when the refresher content uses a spinner,\nenabling the native refresher."
|
|
813
840
|
},
|
|
814
841
|
"getter": false,
|
|
815
842
|
"setter": false,
|
|
@@ -863,7 +890,8 @@ export class Refresher {
|
|
|
863
890
|
"RefresherEventDetail": {
|
|
864
891
|
"location": "import",
|
|
865
892
|
"path": "./refresher-interface",
|
|
866
|
-
"id": "src/components/refresher/refresher-interface.ts::RefresherEventDetail"
|
|
893
|
+
"id": "src/components/refresher/refresher-interface.ts::RefresherEventDetail",
|
|
894
|
+
"referenceLocation": "RefresherEventDetail"
|
|
867
895
|
}
|
|
868
896
|
}
|
|
869
897
|
}
|
|
@@ -888,6 +916,24 @@ export class Refresher {
|
|
|
888
916
|
"bubbles": true,
|
|
889
917
|
"cancelable": true,
|
|
890
918
|
"composed": true,
|
|
919
|
+
"docs": {
|
|
920
|
+
"tags": [{
|
|
921
|
+
"name": "deprecated",
|
|
922
|
+
"text": "Use `ionPullStart` instead."
|
|
923
|
+
}],
|
|
924
|
+
"text": "Emitted when the user begins to start pulling down.\nTODO(FW-7044): Remove this in a major release"
|
|
925
|
+
},
|
|
926
|
+
"complexType": {
|
|
927
|
+
"original": "void",
|
|
928
|
+
"resolved": "void",
|
|
929
|
+
"references": {}
|
|
930
|
+
}
|
|
931
|
+
}, {
|
|
932
|
+
"method": "ionPullStart",
|
|
933
|
+
"name": "ionPullStart",
|
|
934
|
+
"bubbles": true,
|
|
935
|
+
"cancelable": true,
|
|
936
|
+
"composed": true,
|
|
891
937
|
"docs": {
|
|
892
938
|
"tags": [],
|
|
893
939
|
"text": "Emitted when the user begins to start pulling down."
|
|
@@ -897,6 +943,28 @@ export class Refresher {
|
|
|
897
943
|
"resolved": "void",
|
|
898
944
|
"references": {}
|
|
899
945
|
}
|
|
946
|
+
}, {
|
|
947
|
+
"method": "ionPullEnd",
|
|
948
|
+
"name": "ionPullEnd",
|
|
949
|
+
"bubbles": true,
|
|
950
|
+
"cancelable": true,
|
|
951
|
+
"composed": true,
|
|
952
|
+
"docs": {
|
|
953
|
+
"tags": [],
|
|
954
|
+
"text": "Emitted when the refresher has returned to the inactive state\nafter a pull gesture. This fires whether the refresh completed\nsuccessfully or was canceled."
|
|
955
|
+
},
|
|
956
|
+
"complexType": {
|
|
957
|
+
"original": "RefresherPullEndEventDetail",
|
|
958
|
+
"resolved": "RefresherPullEndEventDetail",
|
|
959
|
+
"references": {
|
|
960
|
+
"RefresherPullEndEventDetail": {
|
|
961
|
+
"location": "import",
|
|
962
|
+
"path": "./refresher-interface",
|
|
963
|
+
"id": "src/components/refresher/refresher-interface.ts::RefresherPullEndEventDetail",
|
|
964
|
+
"referenceLocation": "RefresherPullEndEventDetail"
|
|
965
|
+
}
|
|
966
|
+
}
|
|
967
|
+
}
|
|
900
968
|
}];
|
|
901
969
|
}
|
|
902
970
|
static get methods() {
|