primevue-mirror/components/lib/themes/utils/dt.js

23 lines
818 B
JavaScript
Raw Normal View History

2024-03-05 09:22:33 +00:00
import Theme, { SharedUtils } from 'primevue/themes';
2024-03-13 12:05:23 +00:00
const VARIABLE = Theme.defaults.variable;
2024-03-05 09:22:33 +00:00
export const $dt = (tokenPath) => {
const config = Theme.getPConfig();
return dt(config?.theme, tokenPath);
};
export const dt = (theme = {}, tokenPath) => {
if (tokenPath) {
const { prefix, transform } = theme?.options || {};
const regex = /{([^}]*)}/g;
const token = SharedUtils.object.test(regex, tokenPath) ? tokenPath : `{${tokenPath}}`;
const isStrictTransform = transform === 'strict'; // @todo - TRANSFORM: strict | lenient
2024-03-13 12:05:23 +00:00
return isStrictTransform ? SharedUtils.object.getComputedValue(theme?.preset, token, [VARIABLE.excludedKeyRegex]) : SharedUtils.object.getVariableValue(token, undefined, prefix, [VARIABLE.excludedKeyRegex]);
2024-03-05 09:22:33 +00:00
}
return '';
};