@zohodesk/components
Version:
Dot UI is a customizable React component library built to deliver a clean, accessible, and developer-friendly UI experience. It offers a growing set of reusable components designed to align with modern design systems and streamline application development
66 lines (59 loc) • 1.32 kB
JavaScript
import { useNumberGenerator, getNumberGenerators } from "./NumberGenerator/NumberGenerator";
import { getLibraryConfig } from "./Config";
let globalId = getLibraryConfig('idCounter'),
deletedIndexes = [],
globalPrefix;
export function setGlobalIdPrefix(value) {
globalPrefix = value;
}
export function removeGlobalIdPrefix() {
globalPrefix = undefined;
}
function getGlobalIdPrefix() {
return globalPrefix;
}
export function setGlobalId(id) {
globalId = id;
}
function getGlobalId() {
return globalId;
}
function setDeletedIndexes(array) {
deletedIndexes = array;
}
function getDeletedIndexes() {
return deletedIndexes;
}
function callback(_ref) {
let {
globalId,
deletedIndexes
} = _ref;
setGlobalId(globalId);
setDeletedIndexes(deletedIndexes);
}
export function useUniqueId(prefix) {
return useNumberGenerator({
getGlobalId,
prefix,
getGlobalPrefix: getGlobalIdPrefix,
getDeletedIndexes,
callback
});
}
export function getUniqueId(Component, prefix) {
return getNumberGenerators({
Component,
prefix,
getGlobalPrefix: getGlobalIdPrefix,
getGlobalId,
getDeletedIndexes,
callback
});
} // let Provider = {
// docs: {
// componentGroup: 'Provider',
// folderName: 'Functions'
// }
// };
// export { Provider };