/opt/canhelp/node_modules/tailwindcss/src/util
NameSizeModeActions
applyImportantSelector.js7740644editdlrm
bigSign.js980644editdlrm
buildMediaQuery.js5600644editdlrm
cloneDeep.js2830644editdlrm
cloneNodes.js13330644editdlrm
color.js27180644editdlrm
colorNames.js43010644editdlrm
configurePlugins.js5780644editdlrm
createPlugin.js7030644editdlrm
createUtilityPlugin.js12220644editdlrm
dataTypes.js73320644editdlrm
defaults.js3610644editdlrm
escapeClassName.js2550644editdlrm
escapeCommas.js960644editdlrm
flattenColorPalette.js4100644editdlrm
formatVariantSelector.js98620644editdlrm
getAllConfigs.js10370644editdlrm
hashConfig.js1260644editdlrm
isKeyframeRule.js1420644editdlrm
isPlainObject.js2620644editdlrm
isSyntacticallyValidPropertyValue.js16120644editdlrm
log.js7890644editdlrm
math-operators.ts52900644editdlrm
nameClass.js6340644editdlrm
negateValue.js7710644editdlrm
normalizeConfig.js90240644editdlrm
normalizeScreens.js43460644editdlrm
parseAnimationValue.js23510644editdlrm
parseBoxShadowValue.js18550644editdlrm
parseDependency.js8670644editdlrm
parseGlob.js5100644editdlrm
parseObjectStyles.js4290644editdlrm
pluginUtils.js81830644editdlrm
prefixSelector.js9920644editdlrm
pseudoElements.js57170644editdlrm
removeAlphaVariables.js7850644editdlrm
resolveConfig.js69670644editdlrm
resolveConfigPath.js15910644editdlrm
responsive.js2430644editdlrm
splitAtTopLevelOnly.js15270644editdlrm
tap.js720644editdlrm
toColorValue.js1370644editdlrm
toPath.js7390644editdlrm
transformThemeValue.js16370644editdlrm
validateConfig.js8880644editdlrm
validateFormalSyntax.js10200644editdlrm
withAlphaVariable.js12150644editdlrm
Edit: /opt/canhelp/node_modules/tailwindcss/src/util/parseBoxShadowValue.js (1855B)
import { splitAtTopLevelOnly } from './splitAtTopLevelOnly' let KEYWORDS = new Set(['inset', 'inherit', 'initial', 'revert', 'unset']) let SPACE = /\ +(?![^(]*\))/g // Similar to the one above, but with spaces instead. let LENGTH = /^-?(\d+|\.\d+)(.*?)$/g export function parseBoxShadowValue(input) { let shadows = splitAtTopLevelOnly(input, ',') return shadows.map((shadow) => { let value = shadow.trim() let result = { raw: value } let parts = value.split(SPACE) let seen = new Set() for (let part of parts) { // Reset index, since the regex is stateful. LENGTH.lastIndex = 0 // Keyword if (!seen.has('KEYWORD') && KEYWORDS.has(part)) { result.keyword = part seen.add('KEYWORD') } // Length value else if (LENGTH.test(part)) { if (!seen.has('X')) { result.x = part seen.add('X') } else if (!seen.has('Y')) { result.y = part seen.add('Y') } else if (!seen.has('BLUR')) { result.blur = part seen.add('BLUR') } else if (!seen.has('SPREAD')) { result.spread = part seen.add('SPREAD') } } // Color or unknown else { if (!result.color) { result.color = part } else { if (!result.unknown) result.unknown = [] result.unknown.push(part) } } } // Check if valid result.valid = result.x !== undefined && result.y !== undefined return result }) } export function formatBoxShadowValue(shadows) { return shadows .map((shadow) => { if (!shadow.valid) { return shadow.raw } return [shadow.keyword, shadow.x, shadow.y, shadow.blur, shadow.spread, shadow.color] .filter(Boolean) .join(' ') }) .join(', ') }