ivue-material-plus
Version:
A high quality UI components Library with Vue.js
23 lines (18 loc) • 611 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
const ID_INJECTION_KEY = Symbol("ivue-id-injection");
const defaultIdInjection = {
prefix: Math.floor(Math.random() * 1e4),
current: 0
};
const useId = (deterministicId) => {
const idInjection = vue.inject(ID_INJECTION_KEY, defaultIdInjection);
const setId = vue.computed(
() => vue.unref(deterministicId) || `ivue-id-${idInjection.prefix}-${idInjection.current++}`
);
return setId;
};
exports.ID_INJECTION_KEY = ID_INJECTION_KEY;
exports.useId = useId;
//# sourceMappingURL=index.js.map