UNPKG

zmp-core

Version:

Full featured mobile HTML framework for building iOS & Android apps

207 lines (166 loc) 3.44 kB
/* === Picker === */ @import url('./picker-vars.less'); .picker { width: 100%; height: var(--zmp-picker-height); &.picker-inline { height: var(--zmp-picker-inline-height); } .popover & { height: var(--zmp-picker-popover-height); } @media (orientation: landscape) and (max-height: 415px) { &:not(.picker-inline) { height: var(--zmp-picker-landscape-height); } } &.sheet-modal { background: var(--zmp-picker-sheet-bg-color, var(--zmp-sheet-bg-color)); } } .picker-popover { width: var(--zmp-picker-popover-width); .toolbar { .hairline-remove(top); background: none; border-radius: var(--zmp-popover-border-radius) var(--zmp-popover-border-radius) 0 0; } .toolbar+.picker-columns { height: calc(100% - var(--zmp-toolbar-height)); } } .picker-columns { display: flex; overflow: hidden; justify-content: center; padding: 0; text-align: right; height: 100%; position: relative; font-size: var(--zmp-picker-column-font-size); } .picker-column { position: relative; max-height: 100%; &.picker-column-first:before, &.picker-column-last:after { height: 100%; width: 100vw; position: absolute; content: ''; top: 0; } &.picker-column-first:before { .ltr( { right: 100%; } ); .rtl( { left: 100%; } ); } &.picker-column-last:after { .ltr( { left: 100%; } ); .rtl( { right: 100%; } ); } &.picker-column-left { text-align: left; } &.picker-column-center { text-align: center; } &.picker-column-right { text-align: right; } &.picker-column-divider { display: flex; align-items: center; color: var(--zmp-picker-divider-text-color); } } .picker-items { transition: 300ms; transition-timing-function: ease-out; } .picker-item { height: var(--zmp-picker-item-height); line-height: var(--zmp-picker-item-height); white-space: nowrap; position: relative; overflow: hidden; text-overflow: ellipsis; left: 0; top: 0; width: 100%; box-sizing: border-box; transition: 300ms; color: var(--zmp-picker-item-text-color); cursor: pointer; span { padding: 0 10px; } .picker-column-absolute & { position: absolute; } &.picker-item-far { pointer-events: none; } &.picker-item-selected { color: var(--zmp-picker-item-selected-text-color); transform: translate3d(0, 0, 0) rotateX(0deg); } } .picker-center-highlight { height: var(--zmp-picker-item-height); box-sizing: border-box; position: absolute; left: 16px; right: 16px; top: 50%; margin-top: calc(-1 * var(--zmp-picker-item-height) / 2); pointer-events: none; background-color: var(--zmp-picker-item-selected-bg-color); border-radius: 8px; .popover & { left: 8px; right: 8px; } } .picker-3d { .picker-columns { overflow: hidden; perspective: 1200px; } .picker-column, .picker-items, .picker-item { transform-style: preserve-3d; } .picker-column { overflow: visible; } .picker-item { transform-origin: center center -110px; backface-visibility: hidden; transition-timing-function: ease-out; } } .if-ios-theme( { @import url('./picker-ios.less'); } ); .if-md-theme( { @import url('./picker-md.less'); } ); .if-aurora-theme( { @import url('./picker-aurora.less'); } );