UNPKG

phosphor-vue

Version:

A clean and friendly icon family for Vue, too!

43 lines (35 loc) 1.2 kB
import { computed, inject, isRef } from 'vue'; const defaults = { weight: "regular", size: "1em", color: "currentColor", mirrored: false }; function unwrapIfRef(obj) { if (isRef(obj)) return obj.value; return obj; } function useDefaultPropsFromContext(props) { const contextProps = { weight: unwrapIfRef(inject("weight", defaults.weight)), size: unwrapIfRef(inject("size", defaults.size)), color: unwrapIfRef(inject("color", defaults.color)), mirrored: unwrapIfRef(inject("mirrored", defaults.mirrored)) }; return { weight: computed(() => { var _props$weight; return (_props$weight = props.weight) !== null && _props$weight !== void 0 ? _props$weight : contextProps.weight; }), size: computed(() => { var _props$size; return (_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : contextProps.size; }), color: computed(() => { var _props$color; return (_props$color = props.color) !== null && _props$color !== void 0 ? _props$color : contextProps.color; }), mirrored: computed(() => props.mirrored || contextProps.mirrored) }; } export default useDefaultPropsFromContext;