UNPKG

@ionic/core

Version:

Base components for Ionic

210 lines (193 loc) • 5.7 kB
ion-refresher { left: 0; top: 0; display: none; position: absolute; width: 100%; height: 60px; pointer-events: none; z-index: -1; } [dir=rtl] ion-refresher, :host-context([dir=rtl]) ion-refresher { left: unset; right: unset; right: 0; } ion-refresher.refresher-active { display: block; } ion-refresher-content { display: flex; flex-direction: column; justify-content: center; height: 100%; } .refresher-pulling, .refresher-refreshing { display: none; width: 100%; } .refresher-pulling-icon, .refresher-refreshing-icon { transform-origin: center; transition: 200ms; font-size: 30px; text-align: center; } [dir=rtl] .refresher-pulling-icon, :host-context([dir=rtl]) .refresher-pulling-icon, [dir=rtl] .refresher-refreshing-icon, :host-context([dir=rtl]) .refresher-refreshing-icon { transform-origin: calc(100% - center); } .refresher-pulling-text, .refresher-refreshing-text { font-size: 16px; text-align: center; } ion-refresher-content .arrow-container { display: none; } .refresher-pulling ion-refresher-content .refresher-pulling { display: block; } .refresher-ready ion-refresher-content .refresher-pulling { display: block; } .refresher-ready ion-refresher-content .refresher-pulling-icon { transform: rotate(180deg); } .refresher-refreshing ion-refresher-content .refresher-refreshing { display: block; } .refresher-cancelling ion-refresher-content .refresher-pulling { display: block; } .refresher-cancelling ion-refresher-content .refresher-pulling-icon { transform: scale(0); } .refresher-completing ion-refresher-content .refresher-refreshing { display: block; } .refresher-completing ion-refresher-content .refresher-refreshing-icon { transform: scale(0); } .refresher-native .refresher-pulling-text, .refresher-native .refresher-refreshing-text { display: none; } .refresher-md .refresher-pulling-icon, .refresher-md .refresher-refreshing-icon { color: var(--ion-text-color, #000); } .refresher-md .refresher-pulling-text, .refresher-md .refresher-refreshing-text { color: var(--ion-text-color, #000); } .refresher-md .refresher-refreshing .spinner-lines-md line, .refresher-md .refresher-refreshing .spinner-lines-small-md line, .refresher-md .refresher-refreshing .spinner-crescent circle { stroke: var(--ion-text-color, #000); } .refresher-md .refresher-refreshing .spinner-bubbles circle, .refresher-md .refresher-refreshing .spinner-circles circle, .refresher-md .refresher-refreshing .spinner-dots circle { fill: var(--ion-text-color, #000); } ion-refresher.refresher-native { display: block; z-index: 1; } ion-refresher.refresher-native ion-spinner { margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; width: 24px; height: 24px; color: var(--ion-color-primary, #3880ff); } @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) { ion-refresher.refresher-native ion-spinner { margin-left: unset; margin-right: unset; -webkit-margin-start: auto; margin-inline-start: auto; -webkit-margin-end: auto; margin-inline-end: auto; } } ion-refresher.refresher-native .spinner-arrow-container { display: inherit; } ion-refresher.refresher-native .arrow-container { display: block; position: absolute; width: 24px; height: 24px; } ion-refresher.refresher-native .arrow-container ion-icon { margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; left: 0; right: 0; bottom: -4px; position: absolute; color: var(--ion-color-primary, #3880ff); font-size: 12px; } @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) { ion-refresher.refresher-native .arrow-container ion-icon { margin-left: unset; margin-right: unset; -webkit-margin-start: auto; margin-inline-start: auto; -webkit-margin-end: auto; margin-inline-end: auto; } } ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling, ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling { display: flex; } ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing, ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing, ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing { display: flex; } ion-refresher.refresher-native .refresher-pulling-icon { transform: translateY(calc(-100% - 10px)); } ion-refresher.refresher-native .refresher-pulling-icon, ion-refresher.refresher-native .refresher-refreshing-icon { margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; border-radius: 100%; padding-left: 8px; padding-right: 8px; padding-top: 8px; padding-bottom: 8px; display: flex; border: 1px solid var(--ion-color-step-200, #ececec); background: var(--ion-color-step-250, #ffffff); box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.1); } @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) { ion-refresher.refresher-native .refresher-pulling-icon, ion-refresher.refresher-native .refresher-refreshing-icon { margin-left: unset; margin-right: unset; -webkit-margin-start: auto; margin-inline-start: auto; -webkit-margin-end: auto; margin-inline-end: auto; } } @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) { ion-refresher.refresher-native .refresher-pulling-icon, ion-refresher.refresher-native .refresher-refreshing-icon { padding-left: unset; padding-right: unset; -webkit-padding-start: 8px; padding-inline-start: 8px; -webkit-padding-end: 8px; padding-inline-end: 8px; } }