sce-component
Version:
50 lines (45 loc) • 1.14 kB
JavaScript
export function textStyle (n) {
return n === void 0 || n < 2
? {}
: {overflow: 'hidden', display: '-webkit-box', '-webkit-box-orient': 'vertical', '-webkit-line-clamp': n}
}
const list = ['icon', 'label', 'sublabel', 'image', 'avatar', 'letter', 'stamp']
export function getType (prop) {
const len = list.length
for (let i = 0; i < len; i++) {
if (prop[list[i]]) {
return list[i]
}
}
return ''
}
export function itemClasses (prop) {
return {
's-item': true,
's-item-division': true,
'relative-position': true,
's-item-dark': prop.dark,
's-item-dense': prop.dense,
's-item-sparse': prop.sparse,
's-item-separator': prop.separator,
's-item-inset-separator': prop.insetSeparator,
's-item-multiline': prop.multiline,
's-item-highlight': prop.highlight,
's-item-link': prop.to || prop.link
}
}
export const ItemMixin = {
props: {
dark: Boolean,
dense: Boolean,
sparse: Boolean,
separator: Boolean,
insetSeparator: Boolean,
multiline: Boolean,
highlight: Boolean,
tag: {
type: String,
default: 'div'
}
}
}