/
sweetebin
/
hackaton_26
Обзор
Документация
Войти
/
sweetebin
/
hackaton_26
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
web-form-project/node_modules/@mui/utils/composeClasses/composeClasses.js
59 строк
1 KB
AKorostelev
web form project added
28 июл 2026, 10:57
28 июл 2026, 10:57
4339e77
Код
Авторство
О чём код?
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = composeClasses; /* eslint no-restricted-syntax: 0, prefer-template: 0, guard-for-in: 0 --- These rules are preventing the performance optimizations below. */ /** * Compose classes from multiple sources. * * @example * ```tsx * const slots = { * root: ['root', 'primary'], * label: ['label'], * }; * * const getUtilityClass = (slot) => `MuiButton-${slot}`; * * const classes = { * root: 'my-root-class', * }; * * const output = composeClasses(slots, getUtilityClass, classes); * // { * // root: 'MuiButton-root MuiButton-primary my-root-class', * // label: 'MuiButton-label', * // } * ``` * * @param slots a list of classes for each possible slot * @param getUtilityClass a function to resolve the class based on the slot name * @param classes the input classes from props * @returns the resolved classes for all slots */ function composeClasses(slots, getUtilityClass, classes = undefined) { const output = {}; for (const slotName in slots) { const slot = slots[slotName]; let buffer = ''; let start = true; for (let i = 0; i < slot.length; i += 1) { const value = slot[i]; if (value) { buffer += (start === true ? '' : ' ') + getUtilityClass(value); start = false; if (classes && classes[value]) { buffer += ' ' + classes[value]; } } } output[slotName] = buffer; } return output; }