UNPKG

@ionic/core

Version:

Base components for Ionic

283 lines (259 loc) • 6.25 kB
:host { /** * @prop --background: Background of the toast * @prop --color: Color of the toast text * * @prop --border-color: Border color of the toast * @prop --border-radius: Border radius of the toast * @prop --border-width: Border width of the toast * @prop --border-style: Border style of the toast * * @prop --white-space: White space of the toast message * * @prop --box-shadow: Box shadow of the toast * * @prop --min-width: Minimum width of the toast * @prop --width: Width of the toast * @prop --max-width: Maximum width of the toast * * @prop --min-height: Minimum height of the toast * @prop --height: Height of the toast * @prop --max-height: Maximum height of the toast * * @prop --button-color: Color of the button text * * @prop --start: Position from the left if direction is left-to-right, and from the right if direction is right-to-left * @prop --end: Position from the right if direction is left-to-right, and from the left if direction is right-to-left */ --border-width: 0; --border-style: none; --border-color: initial; --box-shadow: none; --min-width: auto; --width: auto; --min-height: auto; --height: auto; --max-height: auto; --white-space: pre-wrap; left: 0; top: 0; display: block; position: absolute; width: 100%; height: 100%; outline: none; color: var(--color); font-family: var(--ion-font-family, inherit); contain: strict; z-index: 1001; pointer-events: none; } :host-context([dir=rtl]) { left: unset; right: unset; right: 0; } :host(.overlay-hidden) { display: none; } :host(.ion-color) { --button-color: inherit; color: var(--ion-color-contrast); } :host(.ion-color) .toast-button-cancel { color: inherit; } :host(.ion-color) .toast-wrapper { background: var(--ion-color-base); } .toast-wrapper { border-radius: var(--border-radius); left: var(--start); right: var(--end); width: var(--width); min-width: var(--min-width); max-width: var(--max-width); height: var(--height); min-height: var(--min-height); max-height: var(--max-height); border-width: var(--border-width); border-style: var(--border-style); border-color: var(--border-color); background: var(--background); box-shadow: var(--box-shadow); } [dir=rtl] .toast-wrapper, :host-context([dir=rtl]) .toast-wrapper { left: unset; right: unset; left: var(--end); right: var(--start); } .toast-container { display: flex; align-items: center; pointer-events: auto; height: inherit; min-height: inherit; max-height: inherit; contain: content; } .toast-content { display: flex; flex: 1; flex-direction: column; justify-content: center; } .toast-message { flex: 1; white-space: var(--white-space); } .toast-button-group { display: flex; } .toast-button { border: 0; outline: none; color: var(--button-color); z-index: 0; } .toast-icon { font-size: 1.4em; } .toast-button-inner { display: flex; align-items: center; } @media (any-hover: hover) { .toast-button:hover { cursor: pointer; } } :host { --background: var(--ion-color-step-800, #333333); --border-radius: 4px; --box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12); --button-color: var(--ion-color-primary, #3880ff); --color: var(--ion-color-step-50, #f2f2f2); --max-width: 700px; --start: 8px; --end: 8px; font-size: 14px; } .toast-wrapper { margin-left: auto; margin-right: auto; margin-top: auto; margin-bottom: auto; display: block; position: absolute; opacity: 0.01; z-index: 10; } @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) { .toast-wrapper { margin-left: unset; margin-right: unset; -webkit-margin-start: auto; margin-inline-start: auto; -webkit-margin-end: auto; margin-inline-end: auto; } } .toast-content { padding-left: 16px; padding-right: 16px; padding-top: 14px; padding-bottom: 14px; } @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) { .toast-content { padding-left: unset; padding-right: unset; -webkit-padding-start: 16px; padding-inline-start: 16px; -webkit-padding-end: 16px; padding-inline-end: 16px; } } .toast-header { margin-bottom: 2px; font-weight: 500; line-height: 20px; } .toast-message { line-height: 20px; } .toast-button-group-start { margin-left: 8px; } @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) { .toast-button-group-start { margin-left: unset; -webkit-margin-start: 8px; margin-inline-start: 8px; } } .toast-button-group-end { margin-right: 8px; } @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) { .toast-button-group-end { margin-right: unset; -webkit-margin-end: 8px; margin-inline-end: 8px; } } .toast-button { padding-left: 15px; padding-right: 15px; padding-top: 10px; padding-bottom: 10px; position: relative; background-color: transparent; font-family: var(--ion-font-family); font-size: 14px; font-weight: 500; letter-spacing: 0.84px; text-transform: uppercase; overflow: hidden; } @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) { .toast-button { padding-left: unset; padding-right: unset; -webkit-padding-start: 15px; padding-inline-start: 15px; -webkit-padding-end: 15px; padding-inline-end: 15px; } } .toast-button-cancel { color: var(--ion-color-step-100, #e6e6e6); } .toast-button-icon-only { border-radius: 50%; padding-left: 9px; padding-right: 9px; padding-top: 9px; padding-bottom: 9px; width: 36px; height: 36px; } @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) { .toast-button-icon-only { padding-left: unset; padding-right: unset; -webkit-padding-start: 9px; padding-inline-start: 9px; -webkit-padding-end: 9px; padding-inline-end: 9px; } } @media (any-hover: hover) { .toast-button:hover { background-color: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08); } .toast-button-cancel:hover { background-color: rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.08); } }