/opt/canhelp/node_modules/tailwindcss/lib/util
NameSizeModeActions
applyImportantSelector.js13810644editdlrm
bigSign.js2890644editdlrm
buildMediaQuery.js7800644editdlrm
cloneDeep.js5440644editdlrm
cloneNodes.js19150644editdlrm
color.js39120644editdlrm
colorNames.js92430644editdlrm
configurePlugins.js6850644editdlrm
createPlugin.js9610644editdlrm
createUtilityPlugin.js19300644editdlrm
dataTypes.js90340644editdlrm
defaults.js10360644editdlrm
escapeClassName.js9580644editdlrm
escapeCommas.js2920644editdlrm
flattenColorPalette.js6630644editdlrm
formatVariantSelector.js116120644editdlrm
getAllConfigs.js17130644editdlrm
hashConfig.js5180644editdlrm
isKeyframeRule.js3400644editdlrm
isPlainObject.js4700644editdlrm
isSyntacticallyValidPropertyValue.js20720644editdlrm
log.js16060644editdlrm
math-operators.js52140644editdlrm
nameClass.js13160644editdlrm
negateValue.js10530644editdlrm
normalizeConfig.js149790644editdlrm
normalizeScreens.js56020644editdlrm
parseAnimationValue.js29120644editdlrm
parseBoxShadowValue.js26260644editdlrm
parseDependency.js11820644editdlrm
parseGlob.js8620644editdlrm
parseObjectStyles.js10250644editdlrm
pluginUtils.js111610644editdlrm
prefixSelector.js14080644editdlrm
pseudoElements.js69850644editdlrm
removeAlphaVariables.js10730644editdlrm
resolveConfig.js93470644editdlrm
resolveConfigPath.js22890644editdlrm
responsive.js6720644editdlrm
splitAtTopLevelOnly.js18050644editdlrm
tap.js2660644editdlrm
toColorValue.js3330644editdlrm
toPath.js9510644editdlrm
transformThemeValue.js22770644editdlrm
validateConfig.js13590644editdlrm
validateFormalSyntax.js9980644editdlrm
withAlphaVariable.js20560644editdlrm
Edit: /opt/canhelp/node_modules/tailwindcss/lib/util/isSyntacticallyValidPropertyValue.js (2072B)
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, // Arbitrary values must contain balanced brackets (), [] and {}. Escaped // values don't count, and brackets inside quotes also don't count. // // E.g.: w-[this-is]w-[weird-and-invalid] // E.g.: w-[this-is\\]w-\\[weird-but-valid] // E.g.: content-['this-is-also-valid]-weirdly-enough'] "default", { enumerable: true, get: function() { return isSyntacticallyValidPropertyValue; } }); let matchingBrackets = new Map([ [ "{", "}" ], [ "[", "]" ], [ "(", ")" ] ]); let inverseMatchingBrackets = new Map(Array.from(matchingBrackets.entries()).map(([k, v])=>[ v, k ])); let quotes = new Set([ '"', "'", "`" ]); function isSyntacticallyValidPropertyValue(value) { let stack = []; let inQuotes = false; for(let i = 0; i < value.length; i++){ let char = value[i]; if (char === ":" && !inQuotes && stack.length === 0) { return false; } // Non-escaped quotes allow us to "allow" anything in between if (quotes.has(char) && value[i - 1] !== "\\") { inQuotes = !inQuotes; } if (inQuotes) continue; if (value[i - 1] === "\\") continue; // Escaped if (matchingBrackets.has(char)) { stack.push(char); } else if (inverseMatchingBrackets.has(char)) { let inverse = inverseMatchingBrackets.get(char); // Nothing to pop from, therefore it is unbalanced if (stack.length <= 0) { return false; } // Popped value must match the inverse value, otherwise it is unbalanced if (stack.pop() !== inverse) { return false; } } } // If there is still something on the stack, it is also unbalanced if (stack.length > 0) { return false; } // All good, totally balanced! return true; }