@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
36 lines (33 loc) • 1.2 kB
JavaScript
import { ref, computed, unref } from 'vue';
import '../../utils/index.mjs';
import '../../constants/index.mjs';
import { useProp } from '../use-prop/index.mjs';
import { buildProp } from '../../utils/vue/props/runtime.mjs';
import { componentSizes } from '../../constants/size.mjs';
import { vuesaxColors } from '../../constants/color.mjs';
import { isValidComponentColor } from '../../utils/vue/validator.mjs';
const useSizeProp = buildProp({
type: String,
values: componentSizes,
required: false
});
const useSize = (fallback, ignore = {}) => {
const emptyRef = ref(void 0);
const size = ignore.prop ? emptyRef : useProp("size");
return computed(() => size.value || unref(fallback) || "");
};
const useDisabled = (fallback) => {
const disabled = useProp("disabled");
return computed(() => disabled.value || unref(fallback) || false);
};
const useColorProp = buildProp({
type: String,
values: vuesaxColors,
validator: isValidComponentColor
});
const useColor = (fallback) => {
const color = useProp("color");
return computed(() => color.value || unref(fallback));
};
export { useColor, useColorProp, useDisabled, useSize, useSizeProp };
//# sourceMappingURL=index.mjs.map