Spaces:
Sleeping
Sleeping
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.default = createGetCssVar; | |
| /** | |
| * The benefit of this function is to help developers get CSS var from theme without specifying the whole variable | |
| * and they does not need to remember the prefix (defined once). | |
| */ | |
| function createGetCssVar(prefix = '') { | |
| function appendVar(...vars) { | |
| if (!vars.length) { | |
| return ''; | |
| } | |
| const value = vars[0]; | |
| if (typeof value === 'string' && !value.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/)) { | |
| return `, var(--${prefix ? `${prefix}-` : ''}${value}${appendVar(...vars.slice(1))})`; | |
| } | |
| return `, ${value}`; | |
| } | |
| // AdditionalVars makes `getCssVar` less strict, so it can be use like this `getCssVar('non-mui-variable')` without type error. | |
| const getCssVar = (field, ...fallbacks) => { | |
| return `var(--${prefix ? `${prefix}-` : ''}${field}${appendVar(...fallbacks)})`; | |
| }; | |
| return getCssVar; | |
| } |