UNPKG

ivue-material-plus

Version:

A high quality UI components Library with Vue.js

18 lines (15 loc) 510 B
import { inject, computed, unref } from 'vue'; const ID_INJECTION_KEY = Symbol("ivue-id-injection"); const defaultIdInjection = { prefix: Math.floor(Math.random() * 1e4), current: 0 }; const useId = (deterministicId) => { const idInjection = inject(ID_INJECTION_KEY, defaultIdInjection); const setId = computed( () => unref(deterministicId) || `ivue-id-${idInjection.prefix}-${idInjection.current++}` ); return setId; }; export { ID_INJECTION_KEY, useId }; //# sourceMappingURL=index.mjs.map