UNPKG

@ionic/core

Version:

Base components for Ionic

149 lines (136 loc) • 3.07 kB
:host { /** * @prop --padding-top: Top padding of the select * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the select * @prop --padding-bottom: Bottom padding of the select * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the select * * @prop --placeholder-color: Color of the select placeholder text * @prop --placeholder-opacity: Opacity of the select placeholder text */ --placeholder-color: currentColor; --placeholder-opacity: 0.33; padding-left: var(--padding-start); padding-right: var(--padding-end); padding-top: var(--padding-top); padding-bottom: var(--padding-bottom); display: flex; position: relative; align-items: center; font-family: var(--ion-font-family, inherit); overflow: hidden; z-index: 2; } @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) { :host { padding-left: unset; padding-right: unset; -webkit-padding-start: var(--padding-start); padding-inline-start: var(--padding-start); -webkit-padding-end: var(--padding-end); padding-inline-end: var(--padding-end); } } :host(.in-item) { position: static; max-width: 45%; } :host(.select-disabled) { opacity: 0.4; pointer-events: none; } :host(.ion-focused) button { border: 2px solid #5e9ed6; } .select-placeholder { color: var(--placeholder-color); opacity: var(--placeholder-opacity); } label { left: 0; top: 0; margin-left: 0; margin-right: 0; margin-top: 0; margin-bottom: 0; position: absolute; width: 100%; height: 100%; border: 0; background: transparent; cursor: pointer; appearance: none; outline: none; display: flex; align-items: center; opacity: 0; } [dir=rtl] label, :host-context([dir=rtl]) label { left: unset; right: unset; right: 0; } label::-moz-focus-inner { border: 0; } button { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; outline: 0; clip: rect(0 0 0 0); opacity: 0; overflow: hidden; -webkit-appearance: none; -moz-appearance: none; } .select-icon { position: relative; opacity: 0.33; } .select-text { flex: 1; min-width: 16px; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .select-icon-inner { left: 5px; top: 50%; margin-top: -2px; position: absolute; width: 0; height: 0; border-top: 5px solid; border-right: 5px solid transparent; border-left: 5px solid transparent; color: currentColor; pointer-events: none; } [dir=rtl] .select-icon-inner, :host-context([dir=rtl]) .select-icon-inner { left: unset; right: unset; right: 5px; } :host { --padding-top: 10px; --padding-end: 0; --padding-bottom: 10px; --padding-start: 16px; } .select-icon { width: 19px; height: 19px; } :host-context(.item-label-floating) .select-icon { transform: translate3d(0, -9px, 0); }