vue-cesium-jyt
Version:
Vue 3.x components for CesiumJS.
1 lines • 9.57 kB
Source Map (JSON)
{"version":3,"file":"use-btn.mjs","sources":["../../../../../../packages/components/ui/btn/use-btn.ts"],"sourcesContent":["import { computed } from 'vue'\nimport useAlign, { useAlignProps } from '@vue-cesium/composables/private/use-align'\nimport useSize, { useSizeProps } from '@vue-cesium/composables/private/use-size'\n\nconst padding = {\n none: 0,\n xs: 4,\n sm: 8,\n md: 16,\n lg: 24,\n xl: 32\n}\n\nconst defaultSizes = {\n xs: 8,\n sm: 10,\n md: 14,\n lg: 20,\n xl: 24\n}\n\nexport const useBtnProps = {\n ...useSizeProps,\n\n type: {\n type: String,\n default: 'button'\n },\n\n label: [Number, String],\n icon: String,\n iconRight: String,\n\n round: Boolean,\n outline: Boolean,\n flat: Boolean,\n unelevated: Boolean,\n rounded: Boolean,\n push: Boolean,\n glossy: Boolean,\n\n size: String,\n fab: Boolean,\n fabMini: Boolean,\n padding: String,\n\n color: String,\n textColor: String,\n noCaps: Boolean,\n noWrap: Boolean,\n dense: Boolean,\n\n tabindex: [Number, String],\n\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n\n align: {\n ...useAlignProps.align,\n default: 'center'\n },\n stack: Boolean,\n stretch: Boolean,\n loading: {\n type: Boolean,\n default: null\n },\n disable: Boolean\n}\n\nexport default function (props) {\n const sizeStyle = useSize(props, defaultSizes)\n const alignClass = useAlign(props)\n\n const style = computed(() => {\n const obj = props.fab === false && props.fabMini === false ? sizeStyle.value : {}\n return props.padding !== void 0\n ? Object.assign({}, obj, {\n padding: props.padding\n .split(/\\s+/)\n .map(v => (v in padding ? padding[v] + 'px' : v))\n .join(' '),\n minWidth: '0',\n minHeight: '0'\n })\n : obj\n })\n\n const isRounded = computed(() => props.rounded === true || props.fab === true || props.fabMini === true)\n\n const isActionable = computed(() => props.disable !== true && props.loading !== true)\n\n const tabIndex = computed(() => (isActionable.value === true ? props.tabindex || 0 : -1))\n\n const design = computed(() => {\n if (props.flat === true) return 'flat'\n if (props.outline === true) return 'outline'\n if (props.push === true) return 'push'\n if (props.unelevated === true) return 'unelevated'\n return 'standard'\n })\n\n const attributes = computed(() => {\n const acc: any = { tabindex: tabIndex.value }\n\n if (props.type !== 'a') {\n acc.type = props.type\n }\n\n acc.role = props.type === 'a' ? 'link' : 'button'\n\n if (props.loading === true && props.percentage !== void 0) {\n Object.assign(acc, {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': props.percentage\n })\n }\n\n if (props.disable === true) {\n acc.disabled = ''\n acc['aria-disabled'] = 'true'\n }\n\n return acc\n })\n\n const classes = computed(() => {\n let colors\n\n if (props.color !== void 0) {\n if (props.flat === true || props.outline === true) {\n colors = `text-${props.textColor || props.color}`\n } else {\n colors = `bg-${props.color} text-${props.textColor || 'white'}`\n }\n } else if (props.textColor) {\n colors = `text-${props.textColor}`\n }\n\n return (\n `vc-btn--${design.value} ` +\n `vc-btn--${props.round === true ? 'round' : `rectangle${isRounded.value === true ? ' vc-btn--rounded' : ''}`}` +\n (colors !== void 0 ? ' ' + colors : '') +\n (isActionable.value === true ? ' vc-btn--actionable vc-focusable vc-hoverable' : props.disable === true ? ' disabled' : '') +\n (props.fab === true ? ' vc-btn--fab' : props.fabMini === true ? ' vc-btn--fab-mini' : '') +\n (props.noCaps === true ? ' vc-btn--no-uppercase' : '') +\n (props.dense === true ? ' vc-btn--dense' : '') +\n (props.stretch === true ? ' no-border-radius self-stretch' : '') +\n (props.glossy === true ? ' glossy' : '')\n )\n })\n\n const innerClasses = computed(\n () =>\n alignClass.value +\n (props.stack === true ? ' column' : ' row') +\n (props.noWrap === true ? ' no-wrap text-no-wrap' : '') +\n (props.loading === true ? ' vc-btn__content--hidden' : '')\n )\n\n return {\n classes,\n style,\n innerClasses,\n attributes,\n isActionable\n }\n}\n"],"names":[],"mappings":"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"}