@ionic/core
Version:
Base components for Ionic
310 lines (283 loc) • 8.53 kB
CSS
/**
* Convert a font size to a dynamic font size.
* Fonts that participate in Dynamic Type should use
* dynamic font sizes.
* @param size - The initial font size including the unit (i.e. px or pt)
* @param unit (optional) - The unit to convert to. Use this if you want to
* convert to a unit other than $baselineUnit.
*/
/**
* Convert a font size to a dynamic font size but impose
* a maximum font size.
* @param size - The initial font size including the unit (i.e. px or pt)
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
* convert to a unit other than $baselineUnit.
*/
/**
* Convert a font size to a dynamic font size but impose
* a minimum font size.
* @param size - The initial font size including the unit (i.e. px or pt)
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
* convert to a unit other than $baselineUnit.
*/
/**
* Convert a font size to a dynamic font size but impose
* maximum and minimum font sizes.
* @param size - The initial font size including the unit (i.e. px or pt)
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
* convert to a unit other than $baselineUnit.
*/
/**
* A heuristic that applies CSS to tablet
* viewports.
*
* Usage:
* @include tablet-viewport() {
* :host {
* background-color: green;
* }
* }
*/
/**
* A heuristic that applies CSS to mobile
* viewports (i.e. phones, not tablets).
*
* Usage:
* @include mobile-viewport() {
* :host {
* background-color: blue;
* }
* }
*/
:host {
/**
* @prop --color: Text color of the breadcrumb
* @prop --color-active: Text color of the active breadcrumb
* @prop --color-hover: Text color of the breadcrumb on hover
* @prop --color-focused: Text color of the breadcrumb when focused
* @prop --background-focused: Background color of the breadcrumb when focused
*/
display: flex;
flex: 0 0 auto;
align-items: center;
color: var(--color);
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
}
.breadcrumb-native {
font-family: inherit;
font-size: inherit;
font-style: inherit;
font-weight: inherit;
letter-spacing: inherit;
text-decoration: inherit;
text-indent: inherit;
text-overflow: inherit;
text-transform: inherit;
text-align: inherit;
white-space: inherit;
color: inherit;
padding-left: 0;
padding-right: 0;
padding-top: 0;
padding-bottom: 0;
margin-left: 0;
margin-right: 0;
margin-top: 0;
margin-bottom: 0;
display: flex;
align-items: center;
width: 100%;
outline: none;
background: inherit;
}
:host(.breadcrumb-disabled) {
cursor: default;
opacity: 0.5;
pointer-events: none;
}
:host(.breadcrumb-active) {
color: var(--color-active);
}
:host(.ion-focused) {
color: var(--color-focused);
}
:host(.ion-focused) .breadcrumb-native {
background: var(--background-focused);
}
@media (any-hover: hover) {
:host(.ion-activatable:hover) {
color: var(--color-hover);
}
:host(.ion-activatable.in-breadcrumbs-color:hover),
:host(.ion-activatable.ion-color:hover) {
color: var(--ion-color-shade);
}
}
.breadcrumb-separator {
display: inline-flex;
}
:host(.breadcrumb-collapsed) .breadcrumb-native {
display: none;
}
:host(.in-breadcrumbs-color),
:host(.in-breadcrumbs-color.breadcrumb-active) {
color: var(--ion-color-base);
}
:host(.in-breadcrumbs-color) .breadcrumb-separator {
color: var(--ion-color-base);
}
:host(.ion-color) {
color: var(--ion-color-base);
}
:host(.in-toolbar-color),
:host(.in-toolbar-color) .breadcrumb-separator {
color: rgba(var(--ion-color-contrast-rgb), 0.8);
}
:host(.in-toolbar-color.breadcrumb-active) {
color: var(--ion-color-contrast);
}
.breadcrumbs-collapsed-indicator {
padding-left: 0;
padding-right: 0;
padding-top: 0;
padding-bottom: 0;
-webkit-margin-start: 14px;
margin-inline-start: 14px;
-webkit-margin-end: 14px;
margin-inline-end: 14px;
margin-top: 0;
margin-bottom: 0;
display: flex;
flex: 1 1 100%;
align-items: center;
justify-content: center;
width: 32px;
height: 18px;
border: 0;
outline: none;
cursor: pointer;
appearance: none;
}
.breadcrumbs-collapsed-indicator ion-icon {
margin-top: 1px;
font-size: 1.375rem;
}
/**
* Convert a font size to a dynamic font size.
* Fonts that participate in Dynamic Type should use
* dynamic font sizes.
* @param size - The initial font size including the unit (i.e. px or pt)
* @param unit (optional) - The unit to convert to. Use this if you want to
* convert to a unit other than $baselineUnit.
*/
/**
* Convert a font size to a dynamic font size but impose
* a maximum font size.
* @param size - The initial font size including the unit (i.e. px or pt)
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
* convert to a unit other than $baselineUnit.
*/
/**
* Convert a font size to a dynamic font size but impose
* a minimum font size.
* @param size - The initial font size including the unit (i.e. px or pt)
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
* convert to a unit other than $baselineUnit.
*/
/**
* Convert a font size to a dynamic font size but impose
* maximum and minimum font sizes.
* @param size - The initial font size including the unit (i.e. px or pt)
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
* convert to a unit other than $baselineUnit.
*/
/**
* A heuristic that applies CSS to tablet
* viewports.
*
* Usage:
* @include tablet-viewport() {
* :host {
* background-color: green;
* }
* }
*/
/**
* A heuristic that applies CSS to mobile
* viewports (i.e. phones, not tablets).
*
* Usage:
* @include mobile-viewport() {
* :host {
* background-color: blue;
* }
* }
*/
:host {
--color: var(--ion-color-step-600, var(--ion-text-color-step-400, #677483));
--color-active: var(--ion-text-color, #03060b);
--color-hover: var(--ion-text-color, #03060b);
--color-focused: var(--ion-color-step-800, var(--ion-text-color-step-200, #35404e));
--background-focused: var(--ion-color-step-50, var(--ion-background-color-step-50, #fff));
}
:host(.breadcrumb-active) {
font-weight: 500;
}
.breadcrumb-native {
-webkit-padding-start: 12px;
padding-inline-start: 12px;
-webkit-padding-end: 12px;
padding-inline-end: 12px;
padding-top: 6px;
padding-bottom: 6px;
}
.breadcrumb-separator {
-webkit-margin-start: 10px;
margin-inline-start: 10px;
-webkit-margin-end: 10px;
margin-inline-end: 10px;
margin-top: -1px;
}
:host(.ion-focused) .breadcrumb-native {
border-radius: 4px;
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2), 0px 2px 8px rgba(0, 0, 0, 0.12);
}
.breadcrumb-separator {
color: var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a));
}
::slotted(ion-icon) {
color: var(--ion-color-step-550, var(--ion-text-color-step-450, #7d8894));
font-size: 1.125rem;
}
::slotted(ion-icon[slot=start]) {
-webkit-margin-end: 8px;
margin-inline-end: 8px;
}
::slotted(ion-icon[slot=end]) {
-webkit-margin-start: 8px;
margin-inline-start: 8px;
}
:host(.breadcrumb-active) ::slotted(ion-icon) {
color: var(--ion-color-step-850, var(--ion-text-color-step-150, #222d3a));
}
.breadcrumbs-collapsed-indicator {
border-radius: 2px;
background: var(--ion-color-step-100, var(--ion-background-color-step-100, #eef1f3));
color: var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a));
}
.breadcrumbs-collapsed-indicator:hover {
opacity: 0.7;
}
.breadcrumbs-collapsed-indicator:focus {
background: var(--ion-color-step-150, var(--ion-background-color-step-150, #dfe5e8));
}