tadka-css 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +154 -0
- package/dist/tadka-css.cjs.js +1385 -0
- package/dist/tadka-css.cjs.js.map +1 -0
- package/dist/tadka-css.esm.js +1383 -0
- package/dist/tadka-css.esm.js.map +1 -0
- package/dist/tadka-css.js +1391 -0
- package/dist/tadka-css.js.map +1 -0
- package/dist/tadka-css.min.js +1 -0
- package/package.json +45 -0
- package/types/index.d.ts +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tadka-css.js","sources":["../src/config.js","../src/pseudo.js","../src/helpers.js","../src/responsive.js","../src/engine.js","../src/events.js","../src/observer.js","../src/utilities/animations.js","../src/utilities/borders.js","../src/utilities/colors.js","../src/utilities/effects.js","../src/utilities/layout.js","../src/utilities/overflow.js","../src/utilities/positioning.js","../src/utilities/sizing.js","../src/utilities/spacing.js","../src/utilities/transforms.js","../src/utilities/transitions.js","../src/utilities/typography.js","../src/parser.js","../src/index.js"],"sourcesContent":["const BREAKPOINTS = {\r\n sm: \"640px\",\r\n md: \"768px\",\r\n lg: \"1024px\",\r\n xl: \"1280px\",\r\n \"2xl\": \"1536px\",\r\n};\r\n\r\nconst SCALE = {\r\n 0: 0,\r\n 0.5: 0.125,\r\n 1: 0.25,\r\n 1.5: 0.375,\r\n 2: 0.5,\r\n 2.5: 0.625,\r\n 3: 0.75,\r\n 3.5: 0.875,\r\n 4: 1,\r\n 5: 1.25,\r\n 6: 1.5,\r\n 7: 1.75,\r\n 8: 2,\r\n 9: 2.25,\r\n 10: 2.5,\r\n 11: 2.75,\r\n 12: 3,\r\n 14: 3.5,\r\n 16: 4,\r\n 20: 5,\r\n 24: 6,\r\n 28: 7,\r\n 32: 8,\r\n 36: 9,\r\n 40: 10,\r\n 44: 11,\r\n 48: 12,\r\n 52: 13,\r\n 56: 14,\r\n 60: 15,\r\n 64: 16,\r\n 72: 18,\r\n 80: 20,\r\n 96: 24,\r\n};\r\n\r\nfunction clamp(value, min, max) {\r\n return Math.min(max, Math.max(min, value));\r\n}\r\n\r\nfunction hslToHex(h, s, l) {\r\n s /= 100;\r\n l /= 100;\r\n const a = s * Math.min(l, 1 - l);\r\n const f = (n) => {\r\n const k = (n + h / 30) % 12;\r\n const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\r\n return Math.round(255 * color)\r\n .toString(16)\r\n .padStart(2, \"0\");\r\n };\r\n\r\n return `#${f(0)}${f(8)}${f(4)}`;\r\n}\r\n\r\nfunction createShades(hue, saturation = 70) {\r\n const levels = {\r\n 50: 97,\r\n 100: 93,\r\n 200: 86,\r\n 300: 76,\r\n 400: 64,\r\n 500: 54,\r\n 600: 46,\r\n 700: 39,\r\n 800: 31,\r\n 900: 24,\r\n 950: 16,\r\n };\r\n\r\n return Object.fromEntries(\r\n Object.entries(levels).map(([key, lightness]) => [\r\n key,\r\n hslToHex(hue, clamp(saturation, 25, 90), lightness),\r\n ]),\r\n );\r\n}\r\n\r\nexport function createDefaultPalette() {\r\n return {\r\n slate: createShades(220, 18),\r\n gray: createShades(220, 8),\r\n zinc: createShades(240, 8),\r\n neutral: createShades(30, 7),\r\n stone: createShades(28, 14),\r\n red: createShades(2, 80),\r\n orange: createShades(24, 85),\r\n amber: createShades(39, 90),\r\n yellow: createShades(52, 88),\r\n lime: createShades(79, 70),\r\n green: createShades(140, 62),\r\n emerald: createShades(160, 65),\r\n teal: createShades(176, 70),\r\n cyan: createShades(190, 78),\r\n sky: createShades(205, 85),\r\n blue: createShades(220, 88),\r\n indigo: createShades(240, 76),\r\n violet: createShades(262, 77),\r\n purple: createShades(276, 75),\r\n fuchsia: createShades(300, 76),\r\n pink: createShades(336, 84),\r\n rose: createShades(348, 84),\r\n white: \"#ffffff\",\r\n black: \"#000000\",\r\n transparent: \"transparent\",\r\n inherit: \"inherit\",\r\n current: \"currentColor\",\r\n };\r\n}\r\n\r\nexport const defaultConfig = {\r\n prefix: \"tadka\",\r\n scale: 4,\r\n removeClasses: false,\r\n watch: true,\r\n breakpoints: BREAKPOINTS,\r\n spacingScale: SCALE,\r\n colors: createDefaultPalette(),\r\n extend: {},\r\n};\r\n\r\nexport function deepMerge(base, next) {\r\n const output = { ...base };\r\n for (const [key, value] of Object.entries(next || {})) {\r\n if (\r\n value &&\r\n typeof value === \"object\" &&\r\n !Array.isArray(value) &&\r\n base[key] &&\r\n typeof base[key] === \"object\" &&\r\n !Array.isArray(base[key])\r\n ) {\r\n output[key] = deepMerge(base[key], value);\r\n } else {\r\n output[key] = value;\r\n }\r\n }\r\n return output;\r\n}\r\n\r\nexport function createConfig(options = {}) {\r\n return deepMerge(defaultConfig, options);\r\n}\r\n","const pseudoState = new WeakMap();\r\n\r\nfunction getHandlers(el) {\r\n if (!pseudoState.has(el)) pseudoState.set(el, new Map());\r\n return pseudoState.get(el);\r\n}\r\n\r\nfunction setStyles(el, styles, apply) {\r\n for (const [key, value] of Object.entries(styles)) {\r\n if (apply) {\r\n el.style[key] = value;\r\n } else {\r\n el.style[key] = \"\";\r\n }\r\n }\r\n}\r\n\r\nexport function attachPseudoListener(el, parsed) {\r\n const map = getHandlers(el);\r\n const key = `${parsed.pseudo}:${parsed.token}`;\r\n if (map.has(key)) return;\r\n\r\n let on;\r\n let off;\r\n\r\n if (parsed.pseudo === \"hover\") {\r\n on = () => setStyles(el, parsed.styles, true);\r\n off = () => setStyles(el, parsed.styles, false);\r\n el.addEventListener(\"mouseenter\", on);\r\n el.addEventListener(\"mouseleave\", off);\r\n } else if (parsed.pseudo === \"focus\") {\r\n on = () => setStyles(el, parsed.styles, true);\r\n off = () => setStyles(el, parsed.styles, false);\r\n el.addEventListener(\"focus\", on);\r\n el.addEventListener(\"blur\", off);\r\n } else if (parsed.pseudo === \"active\") {\r\n on = () => setStyles(el, parsed.styles, true);\r\n off = () => setStyles(el, parsed.styles, false);\r\n el.addEventListener(\"mousedown\", on);\r\n el.addEventListener(\"mouseup\", off);\r\n el.addEventListener(\"mouseleave\", off);\r\n } else if (parsed.pseudo === \"disabled\") {\r\n if (el.hasAttribute(\"disabled\")) setStyles(el, parsed.styles, true);\r\n } else if (parsed.pseudo === \"checked\") {\r\n const sync = () => setStyles(el, parsed.styles, Boolean(el.checked));\r\n sync();\r\n el.addEventListener(\"change\", sync);\r\n on = sync;\r\n off = null;\r\n }\r\n\r\n map.set(key, { on, off, pseudo: parsed.pseudo });\r\n}\r\n\r\nexport function clearPseudoListeners(root = document) {\r\n const nodes = root.querySelectorAll(\"*\");\r\n nodes.forEach((el) => {\r\n const map = pseudoState.get(el);\r\n if (!map) return;\r\n\r\n for (const entry of map.values()) {\r\n if (entry.pseudo === \"hover\") {\r\n el.removeEventListener(\"mouseenter\", entry.on);\r\n el.removeEventListener(\"mouseleave\", entry.off);\r\n } else if (entry.pseudo === \"focus\") {\r\n el.removeEventListener(\"focus\", entry.on);\r\n el.removeEventListener(\"blur\", entry.off);\r\n } else if (entry.pseudo === \"active\") {\r\n el.removeEventListener(\"mousedown\", entry.on);\r\n el.removeEventListener(\"mouseup\", entry.off);\r\n el.removeEventListener(\"mouseleave\", entry.off);\r\n }\r\n }\r\n\r\n map.clear();\r\n });\r\n}\r\n","export function toKebab(str) {\r\n return str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\r\n}\r\n\r\nexport function isArbitrary(value) {\r\n return /^\\[.+\\]$/.test(value);\r\n}\r\n\r\nexport function readArbitrary(value) {\r\n if (!isArbitrary(value)) return null;\r\n return value.slice(1, -1).replace(/_/g, \" \");\r\n}\r\n\r\nexport function parseNumberish(value) {\r\n const num = Number(value);\r\n return Number.isFinite(num) ? num : null;\r\n}\r\n\r\nexport function resolveScaleValue(raw, scaleMap) {\r\n if (raw in scaleMap) return `${scaleMap[raw]}rem`;\r\n const num = parseNumberish(raw);\r\n if (num === null) return null;\r\n return `${num * 0.25}rem`;\r\n}\r\n\r\nexport function normalizeClassName(className) {\r\n return className.trim().replace(/\\s+/g, \" \");\r\n}\r\n","import { toKebab } from \"./helpers.js\";\r\n\r\nlet styleSheet = null;\r\nlet idCounter = 0;\r\nconst inserted = new Set();\r\n\r\nfunction ensureSheet() {\r\n if (styleSheet) return styleSheet;\r\n const style = document.createElement(\"style\");\r\n style.id = \"tadka-responsive\";\r\n document.head.appendChild(style);\r\n styleSheet = style.sheet;\r\n return styleSheet;\r\n}\r\n\r\nfunction toStyleBlock(styles) {\r\n return Object.entries(styles)\r\n .map(([property, value]) => `${toKebab(property)}: ${value}`)\r\n .join(\"; \");\r\n}\r\n\r\nexport function injectMediaQuery(el, parsed, config) {\r\n const sheet = ensureSheet();\r\n\r\n if (!el.dataset.tadkaId) {\r\n idCounter += 1;\r\n el.dataset.tadkaId = `tadka-${idCounter}`;\r\n }\r\n\r\n const selector = `[data-tadka-id='${el.dataset.tadkaId}']`;\r\n const declarations = toStyleBlock(parsed.styles);\r\n const minWidth = config.breakpoints[parsed.breakpoint];\r\n const rule = `@media (min-width: ${minWidth}) { ${selector} { ${declarations} } }`;\r\n\r\n if (inserted.has(rule)) return;\r\n inserted.add(rule);\r\n sheet.insertRule(rule, sheet.cssRules.length);\r\n}\r\n\r\nexport function resetResponsiveStyles() {\r\n inserted.clear();\r\n idCounter = 0;\r\n if (!styleSheet) return;\r\n\r\n const owner = styleSheet.ownerNode;\r\n owner?.parentNode?.removeChild(owner);\r\n styleSheet = null;\r\n}\r\n","import { attachPseudoListener, clearPseudoListeners } from \"./pseudo.js\";\r\nimport { injectMediaQuery, resetResponsiveStyles } from \"./responsive.js\";\r\n\r\nconst originalStyleMap = new WeakMap();\r\n\r\nfunction rememberOriginalStyle(el) {\r\n if (!originalStyleMap.has(el)) {\r\n originalStyleMap.set(el, el.getAttribute(\"style\") || \"\");\r\n }\r\n}\r\n\r\nfunction applyInlineStyles(el, styles) {\r\n rememberOriginalStyle(el);\r\n for (const [key, value] of Object.entries(styles)) {\r\n el.style[key] = value;\r\n }\r\n}\r\n\r\nexport function createEngine(config, parseClass, eventBus) {\r\n const prefix = config.prefix;\r\n\r\n function processElement(el) {\r\n if (!el?.classList) return false;\r\n\r\n const classes = [...el.classList].filter((cls) => cls === prefix || cls.startsWith(`${prefix}-`));\r\n if (classes.length === 0) return false;\r\n\r\n for (const cls of classes) {\r\n const parsed = parseClass(cls);\r\n\r\n if (parsed.type === \"style\") {\r\n applyInlineStyles(el, parsed.styles);\r\n } else if (parsed.type === \"responsive\") {\r\n injectMediaQuery(el, parsed, config);\r\n } else if (parsed.type === \"pseudo\") {\r\n attachPseudoListener(el, parsed);\r\n } else if (parsed.type === \"unknown\") {\r\n eventBus.emit(\"parse-error\", { className: cls });\r\n }\r\n\r\n eventBus.emit(\"apply\", { element: el, className: cls, styles: parsed.styles || null });\r\n if (config.removeClasses) el.classList.remove(cls);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function scanAndApply(root = document) {\r\n const selector = `[class*='${prefix}-']`;\r\n const candidates = root.matches?.(selector) ? [root, ...root.querySelectorAll(selector)] : [...root.querySelectorAll(selector)];\r\n let count = 0;\r\n\r\n candidates.forEach((el) => {\r\n if (processElement(el)) count += 1;\r\n });\r\n\r\n return count;\r\n }\r\n\r\n function reset(root = document) {\r\n const nodes = root.querySelectorAll(\"*\");\r\n nodes.forEach((el) => {\r\n if (!originalStyleMap.has(el)) return;\r\n const original = originalStyleMap.get(el);\r\n if (original) {\r\n el.setAttribute(\"style\", original);\r\n } else {\r\n el.removeAttribute(\"style\");\r\n }\r\n originalStyleMap.delete(el);\r\n });\r\n\r\n clearPseudoListeners(root);\r\n resetResponsiveStyles();\r\n }\r\n\r\n return {\r\n scanAndApply,\r\n apply: processElement,\r\n reset,\r\n };\r\n}\r\n","export function createEventBus() {\r\n const handlers = new Map();\r\n\r\n return {\r\n on(event, handler) {\r\n if (!handlers.has(event)) handlers.set(event, new Set());\r\n handlers.get(event).add(handler);\r\n return () => handlers.get(event)?.delete(handler);\r\n },\r\n emit(event, payload) {\r\n const set = handlers.get(event);\r\n if (!set) return;\r\n for (const handler of set) {\r\n try {\r\n handler(payload);\r\n } catch {\r\n // Event listeners should never crash the engine.\r\n }\r\n }\r\n },\r\n clear() {\r\n handlers.clear();\r\n },\r\n };\r\n}\r\n","export function watchDOM(scanAndApply) {\r\n const observer = new MutationObserver((mutations) => {\r\n for (const mutation of mutations) {\r\n if (mutation.type === \"attributes\" && mutation.target?.nodeType === Node.ELEMENT_NODE) {\r\n scanAndApply(mutation.target);\r\n }\r\n\r\n for (const node of mutation.addedNodes) {\r\n if (node.nodeType !== Node.ELEMENT_NODE) continue;\r\n scanAndApply(node);\r\n }\r\n }\r\n });\r\n\r\n observer.observe(document.body, {\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n attributeFilter: [\"class\"],\r\n });\r\n\r\n return observer;\r\n}\r\n","const animationMap = {\r\n \"animate-none\": \"none\",\r\n \"animate-spin\": \"tadka-spin 1s linear infinite\",\r\n \"animate-ping\": \"tadka-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite\",\r\n \"animate-pulse\": \"tadka-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite\",\r\n \"animate-bounce\": \"tadka-bounce 1s infinite\",\r\n};\r\n\r\nlet injected = false;\r\n\r\nexport function ensureAnimationKeyframes() {\r\n if (injected || typeof document === \"undefined\") return;\r\n const style = document.createElement(\"style\");\r\n style.id = \"tadka-keyframes\";\r\n style.textContent = `\r\n@keyframes tadka-spin { from { transform: rotate(0deg) } to { transform: rotate(360deg) } }\r\n@keyframes tadka-ping { 75%, 100% { transform: scale(2); opacity: 0; } }\r\n@keyframes tadka-pulse { 50% { opacity: .5; } }\r\n@keyframes tadka-bounce {\r\n 0%,100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8,0,1,1); }\r\n 50% { transform: none; animation-timing-function: cubic-bezier(0,0,.2,1); }\r\n}`;\r\n document.head.appendChild(style);\r\n injected = true;\r\n}\r\n\r\nexport function resolveAnimations(token) {\r\n if (!animationMap[token]) return null;\r\n ensureAnimationKeyframes();\r\n return { animation: animationMap[token] };\r\n}\r\n","import { parseNumberish } from \"../helpers.js\";\r\n\r\nconst radiusMap = {\r\n none: \"0px\",\r\n sm: \"0.125rem\",\r\n DEFAULT: \"0.25rem\",\r\n md: \"0.375rem\",\r\n lg: \"0.5rem\",\r\n xl: \"0.75rem\",\r\n \"2xl\": \"1rem\",\r\n \"3xl\": \"1.5rem\",\r\n full: \"9999px\",\r\n};\r\n\r\nexport function resolveBorders(token) {\r\n if (token === \"border\") return { borderWidth: \"1px\", borderStyle: \"solid\" };\r\n if (token.startsWith(\"border-\")) {\r\n const value = token.slice(7);\r\n const styleSet = new Set([\"solid\", \"dashed\", \"dotted\", \"double\", \"hidden\", \"none\"]);\r\n if (styleSet.has(value)) return { borderStyle: value };\r\n const n = parseNumberish(value);\r\n if (n !== null) return { borderWidth: `${n}px`, borderStyle: \"solid\" };\r\n }\r\n\r\n if (token === \"rounded\") return { borderRadius: radiusMap.DEFAULT };\r\n if (token.startsWith(\"rounded-\")) {\r\n const key = token.slice(8);\r\n if (radiusMap[key]) return { borderRadius: radiusMap[key] };\r\n }\r\n\r\n if (token.startsWith(\"ring-\")) {\r\n const size = parseNumberish(token.slice(5));\r\n if (size !== null) {\r\n return { boxShadow: `0 0 0 ${size}px var(--tadka-ring-color, rgba(59,130,246,0.5))` };\r\n }\r\n }\r\n\r\n if (token === \"outline-none\") {\r\n return { outline: \"2px solid transparent\", outlineOffset: \"2px\" };\r\n }\r\n\r\n return null;\r\n}\r\n","import { isArbitrary, readArbitrary, parseNumberish } from \"../helpers.js\";\r\n\r\nfunction resolvePaletteColor(colors, colorName, shade) {\r\n const entry = colors[colorName];\r\n if (!entry) return null;\r\n if (typeof entry === \"string\") return entry;\r\n if (!shade) return entry[500] || null;\r\n return entry[shade] || null;\r\n}\r\n\r\nfunction parseColorParts(input) {\r\n if (isArbitrary(input)) {\r\n return { value: readArbitrary(input) };\r\n }\r\n\r\n const [name, maybeShade] = input.split(\"-\");\r\n return { name, shade: maybeShade };\r\n}\r\n\r\nconst colorProps = {\r\n bg: \"backgroundColor\",\r\n text: \"color\",\r\n border: \"borderColor\",\r\n accent: \"accentColor\",\r\n caret: \"caretColor\",\r\n fill: \"fill\",\r\n stroke: \"stroke\",\r\n};\r\n\r\nexport function resolveColors(token, config) {\r\n if (token.startsWith(\"from-\")) {\r\n const payload = token.slice(5);\r\n const parsed = parseColorParts(payload);\r\n const color = parsed.value || resolvePaletteColor(config.colors, parsed.name, parsed.shade);\r\n if (!color) return null;\r\n return {\r\n \"--tadka-gradient-from\": color,\r\n \"--tadka-gradient-to\": \"rgba(255,255,255,0)\",\r\n };\r\n }\r\n\r\n if (token.startsWith(\"to-\")) {\r\n const payload = token.slice(3);\r\n const parsed = parseColorParts(payload);\r\n const color = parsed.value || resolvePaletteColor(config.colors, parsed.name, parsed.shade);\r\n if (!color) return null;\r\n return { \"--tadka-gradient-to\": color };\r\n }\r\n\r\n for (const [prefix, property] of Object.entries(colorProps)) {\r\n if (!token.startsWith(`${prefix}-`)) continue;\r\n const colorRaw = token.slice(prefix.length + 1);\r\n const parsed = parseColorParts(colorRaw);\r\n\r\n if (parsed.value) return { [property]: parsed.value };\r\n\r\n const color = resolvePaletteColor(config.colors, parsed.name, parsed.shade);\r\n if (!color) return null;\r\n return { [property]: color };\r\n }\r\n\r\n if (token.startsWith(\"bg-opacity-\")) {\r\n const value = parseNumberish(token.replace(\"bg-opacity-\", \"\"));\r\n if (value === null) return null;\r\n return { \"--tadka-bg-opacity\": `${Math.max(0, Math.min(100, value)) / 100}` };\r\n }\r\n\r\n if (token.startsWith(\"text-opacity-\")) {\r\n const value = parseNumberish(token.replace(\"text-opacity-\", \"\"));\r\n if (value === null) return null;\r\n return { \"--tadka-text-opacity\": `${Math.max(0, Math.min(100, value)) / 100}` };\r\n }\r\n\r\n if (token.startsWith(\"ring-\")) {\r\n const payload = token.slice(5);\r\n const parsed = parseColorParts(payload);\r\n if (parsed.value) return { \"--tadka-ring-color\": parsed.value };\r\n const color = resolvePaletteColor(config.colors, parsed.name, parsed.shade);\r\n if (!color) return null;\r\n return { \"--tadka-ring-color\": color };\r\n }\r\n\r\n return null;\r\n}\r\n","import { parseNumberish } from \"../helpers.js\";\r\n\r\nconst shadowMap = {\r\n \"shadow-none\": \"none\",\r\n \"shadow-sm\": \"0 1px 2px 0 rgb(0 0 0 / 0.05)\",\r\n shadow: \"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)\",\r\n \"shadow-md\": \"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)\",\r\n \"shadow-lg\": \"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)\",\r\n \"shadow-xl\": \"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)\",\r\n \"shadow-2xl\": \"0 25px 50px -12px rgb(0 0 0 / 0.25)\",\r\n \"shadow-inner\": \"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)\",\r\n};\r\n\r\nconst blurMap = {\r\n \"blur-none\": \"blur(0)\",\r\n \"blur-sm\": \"blur(4px)\",\r\n blur: \"blur(8px)\",\r\n \"blur-md\": \"blur(12px)\",\r\n \"blur-lg\": \"blur(16px)\",\r\n \"blur-xl\": \"blur(24px)\",\r\n \"blur-2xl\": \"blur(40px)\",\r\n \"blur-3xl\": \"blur(64px)\",\r\n};\r\n\r\nexport function resolveEffects(token) {\r\n if (token === \"bg-gradient-to-r\") {\r\n return {\r\n backgroundImage: \"linear-gradient(to right, var(--tadka-gradient-from), var(--tadka-gradient-to))\",\r\n };\r\n }\r\n\r\n if (token.startsWith(\"opacity-\")) {\r\n const n = parseNumberish(token.slice(8));\r\n if (n === null) return null;\r\n return { opacity: `${Math.max(0, Math.min(100, n)) / 100}` };\r\n }\r\n\r\n if (shadowMap[token]) return { boxShadow: shadowMap[token] };\r\n if (blurMap[token]) return { filter: blurMap[token] };\r\n\r\n if (token.startsWith(\"brightness-\")) {\r\n const n = parseNumberish(token.slice(11));\r\n if (n === null) return null;\r\n return { filter: `brightness(${n / 100})` };\r\n }\r\n\r\n if (token.startsWith(\"contrast-\")) {\r\n const n = parseNumberish(token.slice(9));\r\n if (n === null) return null;\r\n return { filter: `contrast(${n / 100})` };\r\n }\r\n\r\n if (token === \"grayscale\") return { filter: \"grayscale(100%)\" };\r\n if (token === \"grayscale-0\") return { filter: \"grayscale(0%)\" };\r\n\r\n return null;\r\n}\r\n","import { parseNumberish, resolveScaleValue } from \"../helpers.js\";\r\n\r\nconst displayMap = {\r\n block: \"block\",\r\n \"inline-block\": \"inline-block\",\r\n inline: \"inline\",\r\n flex: \"flex\",\r\n \"inline-flex\": \"inline-flex\",\r\n grid: \"grid\",\r\n hidden: \"none\",\r\n contents: \"contents\",\r\n};\r\n\r\nexport function resolveLayout(token, config) {\r\n if (displayMap[token]) return { display: displayMap[token] };\r\n\r\n const flexDirection = {\r\n \"flex-row\": \"row\",\r\n \"flex-col\": \"column\",\r\n \"flex-row-reverse\": \"row-reverse\",\r\n \"flex-col-reverse\": \"column-reverse\",\r\n };\r\n if (flexDirection[token]) return { display: \"flex\", flexDirection: flexDirection[token] };\r\n\r\n const justifyMap = {\r\n \"justify-start\": \"flex-start\",\r\n \"justify-end\": \"flex-end\",\r\n \"justify-center\": \"center\",\r\n \"justify-between\": \"space-between\",\r\n \"justify-around\": \"space-around\",\r\n \"justify-evenly\": \"space-evenly\",\r\n };\r\n if (justifyMap[token]) return { justifyContent: justifyMap[token] };\r\n\r\n const itemsMap = {\r\n \"items-start\": \"flex-start\",\r\n \"items-end\": \"flex-end\",\r\n \"items-center\": \"center\",\r\n \"items-baseline\": \"baseline\",\r\n \"items-stretch\": \"stretch\",\r\n };\r\n if (itemsMap[token]) return { alignItems: itemsMap[token] };\r\n\r\n if (token.startsWith(\"grid-cols-\")) {\r\n const v = token.replace(\"grid-cols-\", \"\");\r\n const n = parseNumberish(v);\r\n if (n !== null) return { display: \"grid\", gridTemplateColumns: `repeat(${n}, minmax(0, 1fr))` };\r\n }\r\n\r\n if (token.startsWith(\"grid-rows-\")) {\r\n const v = token.replace(\"grid-rows-\", \"\");\r\n const n = parseNumberish(v);\r\n if (n !== null) return { display: \"grid\", gridTemplateRows: `repeat(${n}, minmax(0, 1fr))` };\r\n }\r\n\r\n if (token.startsWith(\"basis-\")) {\r\n const value = token.replace(\"basis-\", \"\");\r\n if (value === \"full\") return { flexBasis: \"100%\" };\r\n if (value === \"auto\") return { flexBasis: \"auto\" };\r\n const scaled = resolveScaleValue(value, config.spacingScale);\r\n if (scaled) return { flexBasis: scaled };\r\n }\r\n\r\n if (token === \"flex-1\") return { flex: \"1 1 0%\" };\r\n if (token === \"flex-auto\") return { flex: \"1 1 auto\" };\r\n if (token === \"flex-none\") return { flex: \"none\" };\r\n if (token === \"flex-wrap\") return { flexWrap: \"wrap\" };\r\n if (token === \"flex-nowrap\") return { flexWrap: \"nowrap\" };\r\n\r\n return null;\r\n}\r\n","import { parseNumberish, resolveScaleValue } from \"../helpers.js\";\r\n\r\nexport function resolveOverflow(token, config) {\r\n const direct = {\r\n \"overflow-auto\": { overflow: \"auto\" },\r\n \"overflow-hidden\": { overflow: \"hidden\" },\r\n \"overflow-visible\": { overflow: \"visible\" },\r\n \"overflow-scroll\": { overflow: \"scroll\" },\r\n \"overflow-clip\": { overflow: \"clip\" },\r\n \"overflow-x-auto\": { overflowX: \"auto\" },\r\n \"overflow-x-hidden\": { overflowX: \"hidden\" },\r\n \"overflow-x-scroll\": { overflowX: \"scroll\" },\r\n \"overflow-y-auto\": { overflowY: \"auto\" },\r\n \"overflow-y-hidden\": { overflowY: \"hidden\" },\r\n \"overflow-y-scroll\": { overflowY: \"scroll\" },\r\n \"scroll-smooth\": { scrollBehavior: \"smooth\" },\r\n \"scroll-auto\": { scrollBehavior: \"auto\" },\r\n \"cursor-pointer\": { cursor: \"pointer\" },\r\n \"cursor-default\": { cursor: \"default\" },\r\n \"cursor-text\": { cursor: \"text\" },\r\n \"cursor-not-allowed\": { cursor: \"not-allowed\" },\r\n \"select-none\": { userSelect: \"none\" },\r\n \"select-text\": { userSelect: \"text\" },\r\n \"pointer-events-none\": { pointerEvents: \"none\" },\r\n \"pointer-events-auto\": { pointerEvents: \"auto\" },\r\n resize: { resize: \"both\" },\r\n \"resize-x\": { resize: \"horizontal\" },\r\n \"resize-y\": { resize: \"vertical\" },\r\n \"resize-none\": { resize: \"none\" },\r\n };\r\n\r\n if (direct[token]) return direct[token];\r\n\r\n if (token.startsWith(\"scroll-p-\")) {\r\n const raw = token.slice(9);\r\n const val = resolveScaleValue(raw, config.spacingScale);\r\n if (val) return { scrollPadding: val };\r\n }\r\n\r\n if (token.startsWith(\"scroll-m-\")) {\r\n const raw = token.slice(9);\r\n const val = resolveScaleValue(raw, config.spacingScale);\r\n if (val) return { scrollMargin: val };\r\n }\r\n\r\n if (token.startsWith(\"z-\")) {\r\n const n = parseNumberish(token.slice(2));\r\n if (n !== null) return { zIndex: `${n}` };\r\n }\r\n if (token === \"z-auto\") return { zIndex: \"auto\" };\r\n\r\n return null;\r\n}\r\n","import { isArbitrary, readArbitrary, resolveScaleValue } from \"../helpers.js\";\r\n\r\nconst posMap = {\r\n static: \"static\",\r\n relative: \"relative\",\r\n absolute: \"absolute\",\r\n fixed: \"fixed\",\r\n sticky: \"sticky\",\r\n};\r\n\r\nconst floatMap = {\r\n \"float-left\": \"left\",\r\n \"float-right\": \"right\",\r\n \"float-none\": \"none\",\r\n};\r\n\r\nexport function resolvePositioning(token, config) {\r\n if (posMap[token]) return { position: posMap[token] };\r\n if (floatMap[token]) return { float: floatMap[token] };\r\n\r\n const sides = [\"top\", \"right\", \"bottom\", \"left\"];\r\n for (const side of sides) {\r\n if (!token.startsWith(`${side}-`)) continue;\r\n const raw = token.slice(side.length + 1);\r\n if (raw === \"auto\") return { [side]: \"auto\" };\r\n if (raw === \"full\") return { [side]: \"100%\" };\r\n const value = isArbitrary(raw) ? readArbitrary(raw) : resolveScaleValue(raw, config.spacingScale);\r\n if (value) return { [side]: value };\r\n }\r\n\r\n if (token.startsWith(\"inset-\")) {\r\n const raw = token.slice(6);\r\n const value = isArbitrary(raw) ? readArbitrary(raw) : resolveScaleValue(raw, config.spacingScale);\r\n if (value) return { inset: value };\r\n }\r\n\r\n if (token.startsWith(\"inset-x-\")) {\r\n const raw = token.slice(8);\r\n const value = isArbitrary(raw) ? readArbitrary(raw) : resolveScaleValue(raw, config.spacingScale);\r\n if (value) return { left: value, right: value };\r\n }\r\n\r\n if (token.startsWith(\"inset-y-\")) {\r\n const raw = token.slice(8);\r\n const value = isArbitrary(raw) ? readArbitrary(raw) : resolveScaleValue(raw, config.spacingScale);\r\n if (value) return { top: value, bottom: value };\r\n }\r\n\r\n if (token === \"isolate\") return { isolation: \"isolate\" };\r\n if (token === \"isolation-auto\") return { isolation: \"auto\" };\r\n\r\n return null;\r\n}\r\n","import { isArbitrary, readArbitrary, resolveScaleValue } from \"../helpers.js\";\r\n\r\nconst fractionMap = {\r\n \"1/2\": \"50%\",\r\n \"1/3\": \"33.333333%\",\r\n \"2/3\": \"66.666667%\",\r\n \"1/4\": \"25%\",\r\n \"3/4\": \"75%\",\r\n \"1/5\": \"20%\",\r\n \"2/5\": \"40%\",\r\n \"3/5\": \"60%\",\r\n \"4/5\": \"80%\",\r\n \"1/6\": \"16.666667%\",\r\n \"5/6\": \"83.333333%\",\r\n};\r\n\r\nfunction resolveLength(raw, config) {\r\n if (isArbitrary(raw)) return readArbitrary(raw);\r\n const named = {\r\n auto: \"auto\",\r\n full: \"100%\",\r\n screen: \"100vw\",\r\n svw: \"100svw\",\r\n lvw: \"100lvw\",\r\n dvw: \"100dvw\",\r\n min: \"min-content\",\r\n max: \"max-content\",\r\n fit: \"fit-content\",\r\n };\r\n if (named[raw]) return named[raw];\r\n if (fractionMap[raw]) return fractionMap[raw];\r\n return resolveScaleValue(raw, config.spacingScale);\r\n}\r\n\r\nexport function resolveSizing(token, config) {\r\n if (token.startsWith(\"min-w-\")) {\r\n const value = resolveLength(token.slice(6), config);\r\n if (!value) return null;\r\n return { minWidth: value };\r\n }\r\n\r\n if (token.startsWith(\"max-w-\")) {\r\n const raw = token.slice(6);\r\n const named = {\r\n none: \"none\",\r\n full: \"100%\",\r\n screen: \"100vw\",\r\n prose: \"65ch\",\r\n xs: \"20rem\",\r\n sm: \"24rem\",\r\n md: \"28rem\",\r\n lg: \"32rem\",\r\n xl: \"36rem\",\r\n \"2xl\": \"42rem\",\r\n \"3xl\": \"48rem\",\r\n \"4xl\": \"56rem\",\r\n \"5xl\": \"64rem\",\r\n \"6xl\": \"72rem\",\r\n \"7xl\": \"80rem\",\r\n };\r\n if (named[raw]) return { maxWidth: named[raw] };\r\n const value = resolveLength(raw, config);\r\n if (!value) return null;\r\n return { maxWidth: value };\r\n }\r\n\r\n if (token.startsWith(\"min-h-\")) {\r\n const raw = token.slice(6);\r\n const named = { full: \"100%\", screen: \"100vh\" };\r\n if (named[raw]) return { minHeight: named[raw] };\r\n const value = isArbitrary(raw) ? readArbitrary(raw) : resolveScaleValue(raw, config.spacingScale);\r\n if (!value) return null;\r\n return { minHeight: value };\r\n }\r\n\r\n if (token.startsWith(\"max-h-\")) {\r\n const raw = token.slice(6);\r\n const named = { none: \"none\", full: \"100%\", screen: \"100vh\" };\r\n if (named[raw]) return { maxHeight: named[raw] };\r\n const value = isArbitrary(raw) ? readArbitrary(raw) : resolveScaleValue(raw, config.spacingScale);\r\n if (!value) return null;\r\n return { maxHeight: value };\r\n }\r\n\r\n if (token.startsWith(\"w-\")) {\r\n const value = resolveLength(token.slice(2), config);\r\n if (!value) return null;\r\n return { width: value };\r\n }\r\n\r\n if (token.startsWith(\"h-\")) {\r\n const raw = token.slice(2);\r\n const named = {\r\n auto: \"auto\",\r\n full: \"100%\",\r\n screen: \"100vh\",\r\n svh: \"100svh\",\r\n lvh: \"100lvh\",\r\n dvh: \"100dvh\",\r\n min: \"min-content\",\r\n max: \"max-content\",\r\n fit: \"fit-content\",\r\n };\r\n if (named[raw]) return { height: named[raw] };\r\n const value = isArbitrary(raw) ? readArbitrary(raw) : resolveScaleValue(raw, config.spacingScale);\r\n if (!value) return null;\r\n return { height: value };\r\n }\r\n\r\n if (token.startsWith(\"size-\")) {\r\n const value = resolveLength(token.slice(5), config);\r\n if (!value) return null;\r\n return { width: value, height: value };\r\n }\r\n\r\n if (token === \"aspect-square\") return { aspectRatio: \"1 / 1\" };\r\n if (token === \"aspect-video\") return { aspectRatio: \"16 / 9\" };\r\n if (token === \"aspect-auto\") return { aspectRatio: \"auto\" };\r\n\r\n return null;\r\n}\r\n","import { isArbitrary, readArbitrary, resolveScaleValue } from \"../helpers.js\";\r\n\r\nconst directMap = {\r\n p: [\"padding\"],\r\n px: [\"paddingLeft\", \"paddingRight\"],\r\n py: [\"paddingTop\", \"paddingBottom\"],\r\n pt: [\"paddingTop\"],\r\n pr: [\"paddingRight\"],\r\n pb: [\"paddingBottom\"],\r\n pl: [\"paddingLeft\"],\r\n m: [\"margin\"],\r\n mx: [\"marginLeft\", \"marginRight\"],\r\n my: [\"marginTop\", \"marginBottom\"],\r\n mt: [\"marginTop\"],\r\n mr: [\"marginRight\"],\r\n mb: [\"marginBottom\"],\r\n ml: [\"marginLeft\"],\r\n gap: [\"gap\"],\r\n \"gap-x\": [\"columnGap\"],\r\n \"gap-y\": [\"rowGap\"],\r\n};\r\n\r\nfunction setAll(keys, value) {\r\n return Object.fromEntries(keys.map((key) => [key, value]));\r\n}\r\n\r\nexport function resolveSpacing(token, config) {\r\n if (token === \"mx-auto\") return { marginLeft: \"auto\", marginRight: \"auto\" };\r\n\r\n const parts = token.split(\"-\");\r\n const candidates = [parts[0], parts.slice(0, 2).join(\"-\")];\r\n\r\n for (const key of candidates) {\r\n const cssKeys = directMap[key];\r\n if (!cssKeys) continue;\r\n\r\n const raw = token.slice(key.length + 1);\r\n const value = isArbitrary(raw)\r\n ? readArbitrary(raw)\r\n : resolveScaleValue(raw, config.spacingScale);\r\n\r\n if (!value) return null;\r\n return setAll(cssKeys, value);\r\n }\r\n\r\n return null;\r\n}\r\n","import { isArbitrary, parseNumberish, readArbitrary, resolveScaleValue } from \"../helpers.js\";\r\n\r\nconst originMap = {\r\n \"origin-center\": \"center\",\r\n \"origin-top\": \"top\",\r\n \"origin-bottom\": \"bottom\",\r\n \"origin-left\": \"left\",\r\n \"origin-right\": \"right\",\r\n \"origin-top-left\": \"top left\",\r\n \"origin-top-right\": \"top right\",\r\n \"origin-bottom-left\": \"bottom left\",\r\n \"origin-bottom-right\": \"bottom right\",\r\n};\r\n\r\nexport function resolveTransforms(token, config) {\r\n if (token.startsWith(\"scale-\")) {\r\n const n = parseNumberish(token.slice(6));\r\n if (n !== null) return { transform: `scale(${n / 100})` };\r\n }\r\n\r\n if (token.startsWith(\"rotate-\")) {\r\n const value = token.slice(7);\r\n const v = isArbitrary(value) ? readArbitrary(value) : `${value}deg`;\r\n return { transform: `rotate(${v})` };\r\n }\r\n\r\n if (token.startsWith(\"-rotate-\")) {\r\n const value = token.slice(8);\r\n const v = isArbitrary(value) ? readArbitrary(value) : `${value}deg`;\r\n return { transform: `rotate(-${v.replace(\"-\", \"\")})` };\r\n }\r\n\r\n if (token.startsWith(\"translate-x-\")) {\r\n const raw = token.slice(12);\r\n const v = isArbitrary(raw) ? readArbitrary(raw) : resolveScaleValue(raw, config.spacingScale);\r\n if (v) return { transform: `translateX(${v})` };\r\n }\r\n\r\n if (token.startsWith(\"translate-y-\")) {\r\n const raw = token.slice(12);\r\n const v = isArbitrary(raw) ? readArbitrary(raw) : resolveScaleValue(raw, config.spacingScale);\r\n if (v) return { transform: `translateY(${v})` };\r\n }\r\n\r\n if (token.startsWith(\"-translate-x-\")) {\r\n const raw = token.slice(13);\r\n const v = isArbitrary(raw) ? readArbitrary(raw) : resolveScaleValue(raw, config.spacingScale);\r\n if (v) return { transform: `translateX(-${v})` };\r\n }\r\n\r\n if (token.startsWith(\"-translate-y-\")) {\r\n const raw = token.slice(13);\r\n const v = isArbitrary(raw) ? readArbitrary(raw) : resolveScaleValue(raw, config.spacingScale);\r\n if (v) return { transform: `translateY(-${v})` };\r\n }\r\n\r\n if (originMap[token]) return { transformOrigin: originMap[token] };\r\n\r\n if (token.startsWith(\"skew-x-\")) {\r\n const value = token.slice(7);\r\n return { transform: `skewX(${value}deg)` };\r\n }\r\n\r\n if (token.startsWith(\"skew-y-\")) {\r\n const value = token.slice(7);\r\n return { transform: `skewY(${value}deg)` };\r\n }\r\n\r\n if (token.startsWith(\"perspective-\")) {\r\n const n = parseNumberish(token.slice(12));\r\n if (n !== null) return { perspective: `${n}px` };\r\n }\r\n\r\n return null;\r\n}\r\n","import { parseNumberish } from \"../helpers.js\";\r\n\r\nconst transitionMap = {\r\n transition:\r\n \"color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter 150ms ease\",\r\n \"transition-none\": \"none\",\r\n \"transition-all\": \"all 150ms cubic-bezier(0.4, 0, 0.2, 1)\",\r\n \"transition-colors\":\r\n \"color, background-color, border-color, text-decoration-color, fill, stroke 150ms ease\",\r\n \"transition-opacity\": \"opacity 150ms ease\",\r\n \"transition-shadow\": \"box-shadow 150ms ease\",\r\n \"transition-transform\": \"transform 150ms ease\",\r\n};\r\n\r\nconst easeMap = {\r\n \"ease-linear\": \"linear\",\r\n \"ease-in\": \"cubic-bezier(0.4, 0, 1, 1)\",\r\n \"ease-out\": \"cubic-bezier(0, 0, 0.2, 1)\",\r\n \"ease-in-out\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\r\n};\r\n\r\nexport function resolveTransitions(token) {\r\n if (transitionMap[token]) return { transition: transitionMap[token] };\r\n if (easeMap[token]) return { transitionTimingFunction: easeMap[token] };\r\n\r\n if (token.startsWith(\"duration-\")) {\r\n const n = parseNumberish(token.slice(9));\r\n if (n !== null) return { transitionDuration: `${n}ms` };\r\n }\r\n\r\n if (token.startsWith(\"delay-\")) {\r\n const n = parseNumberish(token.slice(6));\r\n if (n !== null) return { transitionDelay: `${n}ms` };\r\n }\r\n\r\n return null;\r\n}\r\n","import { isArbitrary, readArbitrary, resolveScaleValue } from \"../helpers.js\";\r\n\r\nconst fontSizeMap = {\r\n xs: [\"0.75rem\", \"1rem\"],\r\n sm: [\"0.875rem\", \"1.25rem\"],\r\n base: [\"1rem\", \"1.5rem\"],\r\n lg: [\"1.125rem\", \"1.75rem\"],\r\n xl: [\"1.25rem\", \"1.75rem\"],\r\n \"2xl\": [\"1.5rem\", \"2rem\"],\r\n \"3xl\": [\"1.875rem\", \"2.25rem\"],\r\n \"4xl\": [\"2.25rem\", \"2.5rem\"],\r\n \"5xl\": [\"3rem\", \"1\"],\r\n \"6xl\": [\"3.75rem\", \"1\"],\r\n \"7xl\": [\"4.5rem\", \"1\"],\r\n \"8xl\": [\"6rem\", \"1\"],\r\n \"9xl\": [\"8rem\", \"1\"],\r\n};\r\n\r\nconst textAlignMap = {\r\n left: \"left\",\r\n center: \"center\",\r\n right: \"right\",\r\n justify: \"justify\",\r\n start: \"start\",\r\n end: \"end\",\r\n};\r\n\r\nconst weightMap = {\r\n thin: 100,\r\n extralight: 200,\r\n light: 300,\r\n normal: 400,\r\n medium: 500,\r\n semibold: 600,\r\n bold: 700,\r\n extrabold: 800,\r\n black: 900,\r\n};\r\n\r\nexport function resolveTypography(token, config) {\r\n if (token.startsWith(\"text-\")) {\r\n const key = token.slice(5);\r\n if (fontSizeMap[key]) {\r\n const [fontSize, lineHeight] = fontSizeMap[key];\r\n return { fontSize, lineHeight };\r\n }\r\n\r\n if (textAlignMap[key]) return { textAlign: textAlignMap[key] };\r\n\r\n if (isArbitrary(key)) {\r\n const value = readArbitrary(key);\r\n return { fontSize: value };\r\n }\r\n }\r\n\r\n if (token.startsWith(\"font-\")) {\r\n const key = token.slice(5);\r\n if (weightMap[key]) return { fontWeight: String(weightMap[key]) };\r\n if (key === \"sans\") return { fontFamily: \"ui-sans-serif, system-ui, sans-serif\" };\r\n if (key === \"serif\") return { fontFamily: \"ui-serif, Georgia, serif\" };\r\n if (key === \"mono\") return { fontFamily: \"ui-monospace, SFMono-Regular, monospace\" };\r\n }\r\n\r\n if (token === \"italic\") return { fontStyle: \"italic\" };\r\n if (token === \"not-italic\") return { fontStyle: \"normal\" };\r\n if (token === \"underline\") return { textDecorationLine: \"underline\" };\r\n if (token === \"line-through\") return { textDecorationLine: \"line-through\" };\r\n if (token === \"no-underline\") return { textDecorationLine: \"none\" };\r\n if (token === \"uppercase\") return { textTransform: \"uppercase\" };\r\n if (token === \"lowercase\") return { textTransform: \"lowercase\" };\r\n if (token === \"capitalize\") return { textTransform: \"capitalize\" };\r\n if (token === \"truncate\") return { overflow: \"hidden\", textOverflow: \"ellipsis\", whiteSpace: \"nowrap\" };\r\n\r\n if (token.startsWith(\"leading-\")) {\r\n const key = token.slice(8);\r\n const map = {\r\n none: \"1\",\r\n tight: \"1.25\",\r\n snug: \"1.375\",\r\n normal: \"1.5\",\r\n relaxed: \"1.625\",\r\n loose: \"2\",\r\n };\r\n if (map[key]) return { lineHeight: map[key] };\r\n const val = isArbitrary(key) ? readArbitrary(key) : resolveScaleValue(key, config.spacingScale);\r\n if (val) return { lineHeight: val };\r\n }\r\n\r\n return null;\r\n}\r\n","import { normalizeClassName } from \"./helpers.js\";\r\nimport { resolveAnimations } from \"./utilities/animations.js\";\r\nimport { resolveBorders } from \"./utilities/borders.js\";\r\nimport { resolveColors } from \"./utilities/colors.js\";\r\nimport { resolveEffects } from \"./utilities/effects.js\";\r\nimport { resolveLayout } from \"./utilities/layout.js\";\r\nimport { resolveOverflow } from \"./utilities/overflow.js\";\r\nimport { resolvePositioning } from \"./utilities/positioning.js\";\r\nimport { resolveSizing } from \"./utilities/sizing.js\";\r\nimport { resolveSpacing } from \"./utilities/spacing.js\";\r\nimport { resolveTransforms } from \"./utilities/transforms.js\";\r\nimport { resolveTransitions } from \"./utilities/transitions.js\";\r\nimport { resolveTypography } from \"./utilities/typography.js\";\r\n\r\nconst pseudoVariants = new Set([\r\n \"hover\",\r\n \"focus\",\r\n \"active\",\r\n \"group-hover\",\r\n \"group-focus\",\r\n \"peer-hover\",\r\n \"disabled\",\r\n \"checked\",\r\n \"visited\",\r\n]);\r\n\r\nconst resolvers = [\r\n resolveSpacing,\r\n resolveColors,\r\n resolveTypography,\r\n resolveBorders,\r\n resolveLayout,\r\n resolvePositioning,\r\n resolveSizing,\r\n resolveEffects,\r\n resolveOverflow,\r\n resolveTransitions,\r\n resolveTransforms,\r\n resolveAnimations,\r\n];\r\n\r\nfunction resolveWithBuiltins(token, config) {\r\n for (const fn of resolvers) {\r\n const styles = fn(token, config);\r\n if (styles) return styles;\r\n }\r\n return null;\r\n}\r\n\r\nfunction resolveExtended(token, config) {\r\n const ext = config.extend || {};\r\n if (ext[token] && typeof ext[token] === \"object\") return ext[token];\r\n\r\n const dash = token.lastIndexOf(\"-\");\r\n if (dash === -1) return null;\r\n\r\n const name = token.slice(0, dash);\r\n const rawValue = token.slice(dash + 1);\r\n const rule = ext[name];\r\n if (typeof rule === \"function\") return rule(Number.isNaN(Number(rawValue)) ? rawValue : Number(rawValue));\r\n\r\n return null;\r\n}\r\n\r\nexport function createParser(config) {\r\n const cache = new Map();\r\n const prefixRoot = `${config.prefix}-`;\r\n\r\n return function parseClass(className) {\r\n const source = normalizeClassName(className);\r\n if (cache.has(source)) return cache.get(source);\r\n\r\n if (!(source === config.prefix || source.startsWith(prefixRoot))) {\r\n const result = { type: \"ignore\", className: source };\r\n cache.set(source, result);\r\n return result;\r\n }\r\n\r\n let body = source.slice(prefixRoot.length);\r\n const parts = body.split(\":\");\r\n const utilityToken = parts.pop();\r\n let breakpoint = null;\r\n let pseudo = null;\r\n\r\n for (const variant of parts) {\r\n if (config.breakpoints[variant]) {\r\n breakpoint = variant;\r\n continue;\r\n }\r\n if (pseudoVariants.has(variant)) {\r\n pseudo = variant;\r\n }\r\n }\r\n\r\n const extended = resolveExtended(utilityToken, config);\r\n const styles = extended || resolveWithBuiltins(utilityToken, config);\r\n\r\n if (!styles) {\r\n const unknown = { type: \"unknown\", className: source, token: utilityToken };\r\n cache.set(source, unknown);\r\n return unknown;\r\n }\r\n\r\n const result = {\r\n type: pseudo ? \"pseudo\" : breakpoint ? \"responsive\" : \"style\",\r\n className: source,\r\n token: utilityToken,\r\n pseudo,\r\n breakpoint,\r\n styles,\r\n };\r\n\r\n cache.set(source, result);\r\n return result;\r\n };\r\n}\r\n","import { createConfig, deepMerge, defaultConfig } from \"./config.js\";\r\nimport { createEngine } from \"./engine.js\";\r\nimport { createEventBus } from \"./events.js\";\r\nimport { watchDOM } from \"./observer.js\";\r\nimport { createParser } from \"./parser.js\";\r\n\r\nlet config = createConfig();\r\nlet parser = createParser(config);\r\nlet bus = createEventBus();\r\nlet engine = createEngine(config, parser, bus);\r\nlet observer = null;\r\n\r\nfunction rebuild(options = {}) {\r\n config = deepMerge(defaultConfig, config);\r\n config = deepMerge(config, options);\r\n parser = createParser(config);\r\n engine = createEngine(config, parser, bus);\r\n}\r\n\r\nconst TadkaCSS = {\r\n version: \"1.0.0\",\r\n\r\n init(options = {}) {\r\n rebuild(options);\r\n const count = engine.scanAndApply(document);\r\n\r\n if (observer) observer.disconnect();\r\n if (config.watch && typeof MutationObserver !== \"undefined\") {\r\n observer = watchDOM((root) => engine.scanAndApply(root));\r\n }\r\n\r\n bus.emit(\"ready\", { count });\r\n return count;\r\n },\r\n\r\n refresh() {\r\n const count = engine.scanAndApply(document);\r\n bus.emit(\"refresh\", { count });\r\n return count;\r\n },\r\n\r\n apply(element) {\r\n return engine.apply(element);\r\n },\r\n\r\n applyAll(nodeList) {\r\n return Array.from(nodeList || []).map((el) => engine.apply(el));\r\n },\r\n\r\n parse(className) {\r\n const parsed = parser(className);\r\n return parsed.styles || null;\r\n },\r\n\r\n register(name, styles) {\r\n config.extend[name] = styles;\r\n parser = createParser(config);\r\n },\r\n\r\n unregister(name) {\r\n delete config.extend[name];\r\n parser = createParser(config);\r\n },\r\n\r\n getConfig() {\r\n return config;\r\n },\r\n\r\n setConfig(options) {\r\n rebuild(options);\r\n return config;\r\n },\r\n\r\n reset() {\r\n if (observer) {\r\n observer.disconnect();\r\n observer = null;\r\n }\r\n engine.reset(document);\r\n },\r\n\r\n on(event, handler) {\r\n return bus.on(event, handler);\r\n },\r\n};\r\n\r\nif (typeof window !== \"undefined\") {\r\n window.TadkaCSS = TadkaCSS;\r\n if (document.readyState === \"loading\") {\r\n document.addEventListener(\"DOMContentLoaded\", () => TadkaCSS.init());\r\n } else {\r\n TadkaCSS.init();\r\n }\r\n}\r\n\r\nexport default TadkaCSS;\r\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TadkaCSS=t()}(this,function(){"use strict";function e(e,t,n){n/=100;const r=(t/=100)*Math.min(n,1-n),o=t=>{const o=(t+e/30)%12,i=n-r*Math.max(Math.min(o-3,9-o,1),-1);return Math.round(255*i).toString(16).padStart(2,"0")};return`#${o(0)}${o(8)}${o(4)}`}function t(t,n=70){return Object.fromEntries(Object.entries({50:97,100:93,200:86,300:76,400:64,500:54,600:46,700:39,800:31,900:24,950:16}).map(([r,o])=>{return[r,e(t,(i=n,s=25,a=90,Math.min(a,Math.max(s,i))),o)];var i,s,a}))}const n={prefix:"tadka",scale:4,removeClasses:!1,watch:!0,breakpoints:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},spacingScale:{0:0,.5:.125,1:.25,1.5:.375,2:.5,2.5:.625,3:.75,3.5:.875,4:1,5:1.25,6:1.5,7:1.75,8:2,9:2.25,10:2.5,11:2.75,12:3,14:3.5,16:4,20:5,24:6,28:7,32:8,36:9,40:10,44:11,48:12,52:13,56:14,60:15,64:16,72:18,80:20,96:24},colors:{slate:t(220,18),gray:t(220,8),zinc:t(240,8),neutral:t(30,7),stone:t(28,14),red:t(2,80),orange:t(24,85),amber:t(39,90),yellow:t(52,88),lime:t(79,70),green:t(140,62),emerald:t(160,65),teal:t(176,70),cyan:t(190,78),sky:t(205,85),blue:t(220,88),indigo:t(240,76),violet:t(262,77),purple:t(276,75),fuchsia:t(300,76),pink:t(336,84),rose:t(348,84),white:"#ffffff",black:"#000000",transparent:"transparent",inherit:"inherit",current:"currentColor"},extend:{}};function r(e,t){const n={...e};for(const[o,i]of Object.entries(t||{}))i&&"object"==typeof i&&!Array.isArray(i)&&e[o]&&"object"==typeof e[o]&&!Array.isArray(e[o])?n[o]=r(e[o],i):n[o]=i;return n}const o=new WeakMap;function i(e,t,n){for(const[r,o]of Object.entries(t))e.style[r]=n?o:""}function s(e,t){const n=function(e){return o.has(e)||o.set(e,new Map),o.get(e)}(e),r=`${t.pseudo}:${t.token}`;if(n.has(r))return;let s,a;if("hover"===t.pseudo)s=()=>i(e,t.styles,!0),a=()=>i(e,t.styles,!1),e.addEventListener("mouseenter",s),e.addEventListener("mouseleave",a);else if("focus"===t.pseudo)s=()=>i(e,t.styles,!0),a=()=>i(e,t.styles,!1),e.addEventListener("focus",s),e.addEventListener("blur",a);else if("active"===t.pseudo)s=()=>i(e,t.styles,!0),a=()=>i(e,t.styles,!1),e.addEventListener("mousedown",s),e.addEventListener("mouseup",a),e.addEventListener("mouseleave",a);else if("disabled"===t.pseudo)e.hasAttribute("disabled")&&i(e,t.styles,!0);else if("checked"===t.pseudo){const n=()=>i(e,t.styles,Boolean(e.checked));n(),e.addEventListener("change",n),s=n,a=null}n.set(r,{on:s,off:a,pseudo:t.pseudo})}function a(e){return/^\[.+\]$/.test(e)}function l(e){return a(e)?e.slice(1,-1).replace(/_/g," "):null}function c(e){const t=Number(e);return Number.isFinite(t)?t:null}function u(e,t){if(e in t)return`${t[e]}rem`;const n=c(e);return null===n?null:.25*n+"rem"}let f=null,d=0;const p=new Set;function m(e,t,n){const r=function(){if(f)return f;const e=document.createElement("style");return e.id="tadka-responsive",document.head.appendChild(e),f=e.sheet,f}();e.dataset.tadkaId||(d+=1,e.dataset.tadkaId=`tadka-${d}`);const o=`[data-tadka-id='${e.dataset.tadkaId}']`,i=(s=t.styles,Object.entries(s).map(([e,t])=>{return`${n=e,n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}: ${t}`;var n}).join("; "));var s;const a=`@media (min-width: ${n.breakpoints[t.breakpoint]}) { ${o} { ${i} } }`;p.has(a)||(p.add(a),r.insertRule(a,r.cssRules.length))}const h=new WeakMap;function g(e,t){!function(e){h.has(e)||h.set(e,e.getAttribute("style")||"")}(e);for(const[n,r]of Object.entries(t))e.style[n]=r}function x(e,t,n){const r=e.prefix;function i(o){if(!o?.classList)return!1;const i=[...o.classList].filter(e=>e===r||e.startsWith(`${r}-`));if(0===i.length)return!1;for(const r of i){const i=t(r);"style"===i.type?g(o,i.styles):"responsive"===i.type?m(o,i,e):"pseudo"===i.type?s(o,i):"unknown"===i.type&&n.emit("parse-error",{className:r}),n.emit("apply",{element:o,className:r,styles:i.styles||null}),e.removeClasses&&o.classList.remove(r)}return!0}return{scanAndApply:function(e=document){const t=`[class*='${r}-']`,n=e.matches?.(t)?[e,...e.querySelectorAll(t)]:[...e.querySelectorAll(t)];let o=0;return n.forEach(e=>{i(e)&&(o+=1)}),o},apply:i,reset:function(e=document){e.querySelectorAll("*").forEach(e=>{if(!h.has(e))return;const t=h.get(e);t?e.setAttribute("style",t):e.removeAttribute("style"),h.delete(e)}),function(e=document){e.querySelectorAll("*").forEach(e=>{const t=o.get(e);if(t){for(const n of t.values())"hover"===n.pseudo?(e.removeEventListener("mouseenter",n.on),e.removeEventListener("mouseleave",n.off)):"focus"===n.pseudo?(e.removeEventListener("focus",n.on),e.removeEventListener("blur",n.off)):"active"===n.pseudo&&(e.removeEventListener("mousedown",n.on),e.removeEventListener("mouseup",n.off),e.removeEventListener("mouseleave",n.off));t.clear()}})}(e),function(){if(p.clear(),d=0,!f)return;const e=f.ownerNode;e?.parentNode?.removeChild(e),f=null}()}}}const b={"animate-none":"none","animate-spin":"tadka-spin 1s linear infinite","animate-ping":"tadka-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite","animate-pulse":"tadka-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite","animate-bounce":"tadka-bounce 1s infinite"};let y=!1;const v={none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"};function w(e,t,n){const r=e[t];return r?"string"==typeof r?r:n?r[n]||null:r[500]||null:null}function k(e){if(a(e))return{value:l(e)};const[t,n]=e.split("-");return{name:t,shade:n}}const W={bg:"backgroundColor",text:"color",border:"borderColor",accent:"accentColor",caret:"caretColor",fill:"fill",stroke:"stroke"};const S={"shadow-none":"none","shadow-sm":"0 1px 2px 0 rgb(0 0 0 / 0.05)",shadow:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)","shadow-md":"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)","shadow-lg":"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)","shadow-xl":"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","shadow-2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)","shadow-inner":"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)"},$={"blur-none":"blur(0)","blur-sm":"blur(4px)",blur:"blur(8px)","blur-md":"blur(12px)","blur-lg":"blur(16px)","blur-xl":"blur(24px)","blur-2xl":"blur(40px)","blur-3xl":"blur(64px)"};const E={block:"block","inline-block":"inline-block",inline:"inline",flex:"flex","inline-flex":"inline-flex",grid:"grid",hidden:"none",contents:"contents"};const L={static:"static",relative:"relative",absolute:"absolute",fixed:"fixed",sticky:"sticky"},z={"float-left":"left","float-right":"right","float-none":"none"};const A={"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","5/6":"83.333333%"};function M(e,t){if(a(e))return l(e);const n={auto:"auto",full:"100%",screen:"100vw",svw:"100svw",lvw:"100lvw",dvw:"100dvw",min:"min-content",max:"max-content",fit:"fit-content"};return n[e]?n[e]:A[e]?A[e]:u(e,t.spacingScale)}const j={p:["padding"],px:["paddingLeft","paddingRight"],py:["paddingTop","paddingBottom"],pt:["paddingTop"],pr:["paddingRight"],pb:["paddingBottom"],pl:["paddingLeft"],m:["margin"],mx:["marginLeft","marginRight"],my:["marginTop","marginBottom"],mt:["marginTop"],mr:["marginRight"],mb:["marginBottom"],ml:["marginLeft"],gap:["gap"],"gap-x":["columnGap"],"gap-y":["rowGap"]};function N(e,t){return Object.fromEntries(e.map(e=>[e,t]))}const T={"origin-center":"center","origin-top":"top","origin-bottom":"bottom","origin-left":"left","origin-right":"right","origin-top-left":"top left","origin-top-right":"top right","origin-bottom-left":"bottom left","origin-bottom-right":"bottom right"};const C={transition:"color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter 150ms ease","transition-none":"none","transition-all":"all 150ms cubic-bezier(0.4, 0, 0.2, 1)","transition-colors":"color, background-color, border-color, text-decoration-color, fill, stroke 150ms ease","transition-opacity":"opacity 150ms ease","transition-shadow":"box-shadow 150ms ease","transition-transform":"transform 150ms ease"},O={"ease-linear":"linear","ease-in":"cubic-bezier(0.4, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.2, 1)","ease-in-out":"cubic-bezier(0.4, 0, 0.2, 1)"};const R={xs:["0.75rem","1rem"],sm:["0.875rem","1.25rem"],base:["1rem","1.5rem"],lg:["1.125rem","1.75rem"],xl:["1.25rem","1.75rem"],"2xl":["1.5rem","2rem"],"3xl":["1.875rem","2.25rem"],"4xl":["2.25rem","2.5rem"],"5xl":["3rem","1"],"6xl":["3.75rem","1"],"7xl":["4.5rem","1"],"8xl":["6rem","1"],"9xl":["8rem","1"]},D={left:"left",center:"center",right:"right",justify:"justify",start:"start",end:"end"},B={thin:100,extralight:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900};const F=new Set(["hover","focus","active","group-hover","group-focus","peer-hover","disabled","checked","visited"]),I=[function(e,t){if("mx-auto"===e)return{marginLeft:"auto",marginRight:"auto"};const n=e.split("-"),r=[n[0],n.slice(0,2).join("-")];for(const n of r){const r=j[n];if(!r)continue;const o=e.slice(n.length+1),i=a(o)?l(o):u(o,t.spacingScale);return i?N(r,i):null}return null},function(e,t){if(e.startsWith("from-")){const n=k(e.slice(5)),r=n.value||w(t.colors,n.name,n.shade);return r?{"--tadka-gradient-from":r,"--tadka-gradient-to":"rgba(255,255,255,0)"}:null}if(e.startsWith("to-")){const n=k(e.slice(3)),r=n.value||w(t.colors,n.name,n.shade);return r?{"--tadka-gradient-to":r}:null}for(const[n,r]of Object.entries(W)){if(!e.startsWith(`${n}-`))continue;const o=k(e.slice(n.length+1));if(o.value)return{[r]:o.value};const i=w(t.colors,o.name,o.shade);return i?{[r]:i}:null}if(e.startsWith("bg-opacity-")){const t=c(e.replace("bg-opacity-",""));return null===t?null:{"--tadka-bg-opacity":""+Math.max(0,Math.min(100,t))/100}}if(e.startsWith("text-opacity-")){const t=c(e.replace("text-opacity-",""));return null===t?null:{"--tadka-text-opacity":""+Math.max(0,Math.min(100,t))/100}}if(e.startsWith("ring-")){const n=k(e.slice(5));if(n.value)return{"--tadka-ring-color":n.value};const r=w(t.colors,n.name,n.shade);return r?{"--tadka-ring-color":r}:null}return null},function(e,t){if(e.startsWith("text-")){const t=e.slice(5);if(R[t]){const[e,n]=R[t];return{fontSize:e,lineHeight:n}}if(D[t])return{textAlign:D[t]};if(a(t)){return{fontSize:l(t)}}}if(e.startsWith("font-")){const t=e.slice(5);if(B[t])return{fontWeight:String(B[t])};if("sans"===t)return{fontFamily:"ui-sans-serif, system-ui, sans-serif"};if("serif"===t)return{fontFamily:"ui-serif, Georgia, serif"};if("mono"===t)return{fontFamily:"ui-monospace, SFMono-Regular, monospace"}}if("italic"===e)return{fontStyle:"italic"};if("not-italic"===e)return{fontStyle:"normal"};if("underline"===e)return{textDecorationLine:"underline"};if("line-through"===e)return{textDecorationLine:"line-through"};if("no-underline"===e)return{textDecorationLine:"none"};if("uppercase"===e)return{textTransform:"uppercase"};if("lowercase"===e)return{textTransform:"lowercase"};if("capitalize"===e)return{textTransform:"capitalize"};if("truncate"===e)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};if(e.startsWith("leading-")){const n=e.slice(8),r={none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2"};if(r[n])return{lineHeight:r[n]};const o=a(n)?l(n):u(n,t.spacingScale);if(o)return{lineHeight:o}}return null},function(e){if("border"===e)return{borderWidth:"1px",borderStyle:"solid"};if(e.startsWith("border-")){const t=e.slice(7);if(new Set(["solid","dashed","dotted","double","hidden","none"]).has(t))return{borderStyle:t};const n=c(t);if(null!==n)return{borderWidth:`${n}px`,borderStyle:"solid"}}if("rounded"===e)return{borderRadius:v.DEFAULT};if(e.startsWith("rounded-")){const t=e.slice(8);if(v[t])return{borderRadius:v[t]}}if(e.startsWith("ring-")){const t=c(e.slice(5));if(null!==t)return{boxShadow:`0 0 0 ${t}px var(--tadka-ring-color, rgba(59,130,246,0.5))`}}return"outline-none"===e?{outline:"2px solid transparent",outlineOffset:"2px"}:null},function(e,t){if(E[e])return{display:E[e]};const n={"flex-row":"row","flex-col":"column","flex-row-reverse":"row-reverse","flex-col-reverse":"column-reverse"};if(n[e])return{display:"flex",flexDirection:n[e]};const r={"justify-start":"flex-start","justify-end":"flex-end","justify-center":"center","justify-between":"space-between","justify-around":"space-around","justify-evenly":"space-evenly"};if(r[e])return{justifyContent:r[e]};const o={"items-start":"flex-start","items-end":"flex-end","items-center":"center","items-baseline":"baseline","items-stretch":"stretch"};if(o[e])return{alignItems:o[e]};if(e.startsWith("grid-cols-")){const t=c(e.replace("grid-cols-",""));if(null!==t)return{display:"grid",gridTemplateColumns:`repeat(${t}, minmax(0, 1fr))`}}if(e.startsWith("grid-rows-")){const t=c(e.replace("grid-rows-",""));if(null!==t)return{display:"grid",gridTemplateRows:`repeat(${t}, minmax(0, 1fr))`}}if(e.startsWith("basis-")){const n=e.replace("basis-","");if("full"===n)return{flexBasis:"100%"};if("auto"===n)return{flexBasis:"auto"};const r=u(n,t.spacingScale);if(r)return{flexBasis:r}}return"flex-1"===e?{flex:"1 1 0%"}:"flex-auto"===e?{flex:"1 1 auto"}:"flex-none"===e?{flex:"none"}:"flex-wrap"===e?{flexWrap:"wrap"}:"flex-nowrap"===e?{flexWrap:"nowrap"}:null},function(e,t){if(L[e])return{position:L[e]};if(z[e])return{float:z[e]};const n=["top","right","bottom","left"];for(const r of n){if(!e.startsWith(`${r}-`))continue;const n=e.slice(r.length+1);if("auto"===n)return{[r]:"auto"};if("full"===n)return{[r]:"100%"};const o=a(n)?l(n):u(n,t.spacingScale);if(o)return{[r]:o}}if(e.startsWith("inset-")){const n=e.slice(6),r=a(n)?l(n):u(n,t.spacingScale);if(r)return{inset:r}}if(e.startsWith("inset-x-")){const n=e.slice(8),r=a(n)?l(n):u(n,t.spacingScale);if(r)return{left:r,right:r}}if(e.startsWith("inset-y-")){const n=e.slice(8),r=a(n)?l(n):u(n,t.spacingScale);if(r)return{top:r,bottom:r}}return"isolate"===e?{isolation:"isolate"}:"isolation-auto"===e?{isolation:"auto"}:null},function(e,t){if(e.startsWith("min-w-")){const n=M(e.slice(6),t);return n?{minWidth:n}:null}if(e.startsWith("max-w-")){const n=e.slice(6),r={none:"none",full:"100%",screen:"100vw",prose:"65ch",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem"};if(r[n])return{maxWidth:r[n]};const o=M(n,t);return o?{maxWidth:o}:null}if(e.startsWith("min-h-")){const n=e.slice(6),r={full:"100%",screen:"100vh"};if(r[n])return{minHeight:r[n]};const o=a(n)?l(n):u(n,t.spacingScale);return o?{minHeight:o}:null}if(e.startsWith("max-h-")){const n=e.slice(6),r={none:"none",full:"100%",screen:"100vh"};if(r[n])return{maxHeight:r[n]};const o=a(n)?l(n):u(n,t.spacingScale);return o?{maxHeight:o}:null}if(e.startsWith("w-")){const n=M(e.slice(2),t);return n?{width:n}:null}if(e.startsWith("h-")){const n=e.slice(2),r={auto:"auto",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"};if(r[n])return{height:r[n]};const o=a(n)?l(n):u(n,t.spacingScale);return o?{height:o}:null}if(e.startsWith("size-")){const n=M(e.slice(5),t);return n?{width:n,height:n}:null}return"aspect-square"===e?{aspectRatio:"1 / 1"}:"aspect-video"===e?{aspectRatio:"16 / 9"}:"aspect-auto"===e?{aspectRatio:"auto"}:null},function(e){if("bg-gradient-to-r"===e)return{backgroundImage:"linear-gradient(to right, var(--tadka-gradient-from), var(--tadka-gradient-to))"};if(e.startsWith("opacity-")){const t=c(e.slice(8));return null===t?null:{opacity:""+Math.max(0,Math.min(100,t))/100}}if(S[e])return{boxShadow:S[e]};if($[e])return{filter:$[e]};if(e.startsWith("brightness-")){const t=c(e.slice(11));return null===t?null:{filter:`brightness(${t/100})`}}if(e.startsWith("contrast-")){const t=c(e.slice(9));return null===t?null:{filter:`contrast(${t/100})`}}return"grayscale"===e?{filter:"grayscale(100%)"}:"grayscale-0"===e?{filter:"grayscale(0%)"}:null},function(e,t){const n={"overflow-auto":{overflow:"auto"},"overflow-hidden":{overflow:"hidden"},"overflow-visible":{overflow:"visible"},"overflow-scroll":{overflow:"scroll"},"overflow-clip":{overflow:"clip"},"overflow-x-auto":{overflowX:"auto"},"overflow-x-hidden":{overflowX:"hidden"},"overflow-x-scroll":{overflowX:"scroll"},"overflow-y-auto":{overflowY:"auto"},"overflow-y-hidden":{overflowY:"hidden"},"overflow-y-scroll":{overflowY:"scroll"},"scroll-smooth":{scrollBehavior:"smooth"},"scroll-auto":{scrollBehavior:"auto"},"cursor-pointer":{cursor:"pointer"},"cursor-default":{cursor:"default"},"cursor-text":{cursor:"text"},"cursor-not-allowed":{cursor:"not-allowed"},"select-none":{userSelect:"none"},"select-text":{userSelect:"text"},"pointer-events-none":{pointerEvents:"none"},"pointer-events-auto":{pointerEvents:"auto"},resize:{resize:"both"},"resize-x":{resize:"horizontal"},"resize-y":{resize:"vertical"},"resize-none":{resize:"none"}};if(n[e])return n[e];if(e.startsWith("scroll-p-")){const n=u(e.slice(9),t.spacingScale);if(n)return{scrollPadding:n}}if(e.startsWith("scroll-m-")){const n=u(e.slice(9),t.spacingScale);if(n)return{scrollMargin:n}}if(e.startsWith("z-")){const t=c(e.slice(2));if(null!==t)return{zIndex:`${t}`}}return"z-auto"===e?{zIndex:"auto"}:null},function(e){if(C[e])return{transition:C[e]};if(O[e])return{transitionTimingFunction:O[e]};if(e.startsWith("duration-")){const t=c(e.slice(9));if(null!==t)return{transitionDuration:`${t}ms`}}if(e.startsWith("delay-")){const t=c(e.slice(6));if(null!==t)return{transitionDelay:`${t}ms`}}return null},function(e,t){if(e.startsWith("scale-")){const t=c(e.slice(6));if(null!==t)return{transform:`scale(${t/100})`}}if(e.startsWith("rotate-")){const t=e.slice(7);return{transform:`rotate(${a(t)?l(t):`${t}deg`})`}}if(e.startsWith("-rotate-")){const t=e.slice(8);return{transform:`rotate(-${(a(t)?l(t):`${t}deg`).replace("-","")})`}}if(e.startsWith("translate-x-")){const n=e.slice(12),r=a(n)?l(n):u(n,t.spacingScale);if(r)return{transform:`translateX(${r})`}}if(e.startsWith("translate-y-")){const n=e.slice(12),r=a(n)?l(n):u(n,t.spacingScale);if(r)return{transform:`translateY(${r})`}}if(e.startsWith("-translate-x-")){const n=e.slice(13),r=a(n)?l(n):u(n,t.spacingScale);if(r)return{transform:`translateX(-${r})`}}if(e.startsWith("-translate-y-")){const n=e.slice(13),r=a(n)?l(n):u(n,t.spacingScale);if(r)return{transform:`translateY(-${r})`}}if(T[e])return{transformOrigin:T[e]};if(e.startsWith("skew-x-")){return{transform:`skewX(${e.slice(7)}deg)`}}if(e.startsWith("skew-y-")){return{transform:`skewY(${e.slice(7)}deg)`}}if(e.startsWith("perspective-")){const t=c(e.slice(12));if(null!==t)return{perspective:`${t}px`}}return null},function(e){return b[e]?(function(){if(y||"undefined"==typeof document)return;const e=document.createElement("style");e.id="tadka-keyframes",e.textContent="\n@keyframes tadka-spin { from { transform: rotate(0deg) } to { transform: rotate(360deg) } }\n@keyframes tadka-ping { 75%, 100% { transform: scale(2); opacity: 0; } }\n@keyframes tadka-pulse { 50% { opacity: .5; } }\n@keyframes tadka-bounce {\n 0%,100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8,0,1,1); }\n 50% { transform: none; animation-timing-function: cubic-bezier(0,0,.2,1); }\n}",document.head.appendChild(e),y=!0}(),{animation:b[e]}):null}];function H(e){const t=new Map,n=`${e.prefix}-`;return function(r){const o=function(e){return e.trim().replace(/\s+/g," ")}(r);if(t.has(o))return t.get(o);if(o!==e.prefix&&!o.startsWith(n)){const e={type:"ignore",className:o};return t.set(o,e),e}const i=o.slice(n.length).split(":"),s=i.pop();let a=null,l=null;for(const t of i)e.breakpoints[t]?a=t:F.has(t)&&(l=t);const c=function(e,t){const n=t.extend||{};if(n[e]&&"object"==typeof n[e])return n[e];const r=e.lastIndexOf("-");if(-1===r)return null;const o=e.slice(0,r),i=e.slice(r+1),s=n[o];return"function"==typeof s?s(Number.isNaN(Number(i))?i:Number(i)):null}(s,e),u=c||function(e,t){for(const n of I){const r=n(e,t);if(r)return r}return null}(s,e);if(!u){const e={type:"unknown",className:o,token:s};return t.set(o,e),e}const f={type:l?"pseudo":a?"responsive":"style",className:o,token:s,pseudo:l,breakpoint:a,styles:u};return t.set(o,f),f}}let Y=function(e={}){return r(n,e)}(),X=H(Y),q=function(){const e=new Map;return{on:(t,n)=>(e.has(t)||e.set(t,new Set),e.get(t).add(n),()=>e.get(t)?.delete(n)),emit(t,n){const r=e.get(t);if(r)for(const e of r)try{e(n)}catch{}},clear(){e.clear()}}}(),G=x(Y,X,q),_=null;function U(e={}){Y=r(n,Y),Y=r(Y,e),X=H(Y),G=x(Y,X,q)}const P={version:"1.0.0",init(e={}){U(e);const t=G.scanAndApply(document);return _&&_.disconnect(),Y.watch&&"undefined"!=typeof MutationObserver&&(_=function(e){const t=new MutationObserver(t=>{for(const n of t){"attributes"===n.type&&n.target?.nodeType===Node.ELEMENT_NODE&&e(n.target);for(const t of n.addedNodes)t.nodeType===Node.ELEMENT_NODE&&e(t)}});return t.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["class"]}),t}(e=>G.scanAndApply(e))),q.emit("ready",{count:t}),t},refresh(){const e=G.scanAndApply(document);return q.emit("refresh",{count:e}),e},apply:e=>G.apply(e),applyAll:e=>Array.from(e||[]).map(e=>G.apply(e)),parse:e=>X(e).styles||null,register(e,t){Y.extend[e]=t,X=H(Y)},unregister(e){delete Y.extend[e],X=H(Y)},getConfig:()=>Y,setConfig:e=>(U(e),Y),reset(){_&&(_.disconnect(),_=null),G.reset(document)},on:(e,t)=>q.on(e,t)};return"undefined"!=typeof window&&(window.TadkaCSS=P,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>P.init()):P.init()),P});
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "tadka-css",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Utility-first CSS engine for the DOM. Add spice to your styles.",
|
|
5
|
+
"main": "dist/tadka-css.cjs.js",
|
|
6
|
+
"module": "dist/tadka-css.esm.js",
|
|
7
|
+
"browser": "dist/tadka-css.js",
|
|
8
|
+
"types": "types/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/tadka-css.esm.js",
|
|
12
|
+
"require": "./dist/tadka-css.cjs.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"types",
|
|
18
|
+
"README.md"
|
|
19
|
+
],
|
|
20
|
+
"sideEffects": false,
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "rollup -c",
|
|
23
|
+
"test": "vitest run",
|
|
24
|
+
"test:watch": "vitest"
|
|
25
|
+
},
|
|
26
|
+
"keywords": [
|
|
27
|
+
"css",
|
|
28
|
+
"utility",
|
|
29
|
+
"tailwind",
|
|
30
|
+
"dom",
|
|
31
|
+
"styling",
|
|
32
|
+
"tadka",
|
|
33
|
+
"zero-dependency"
|
|
34
|
+
],
|
|
35
|
+
"author": "",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
39
|
+
"@rollup/plugin-terser": "^1.0.0",
|
|
40
|
+
"jsdom": "^29.0.1",
|
|
41
|
+
"rollup": "^4.59.1",
|
|
42
|
+
"rollup-plugin-dts": "^6.4.1",
|
|
43
|
+
"vitest": "^4.1.0"
|
|
44
|
+
}
|
|
45
|
+
}
|
package/types/index.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
type TadkaStyleObject = Record<string, string | number>;
|
|
2
|
+
type TadkaDynamicStyle = (value: string | number) => TadkaStyleObject;
|
|
3
|
+
|
|
4
|
+
interface TadkaBreakpoints {
|
|
5
|
+
sm?: string;
|
|
6
|
+
md?: string;
|
|
7
|
+
lg?: string;
|
|
8
|
+
xl?: string;
|
|
9
|
+
"2xl"?: string;
|
|
10
|
+
[key: string]: string | undefined;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
interface TadkaInitOptions {
|
|
14
|
+
prefix?: string;
|
|
15
|
+
scale?: number;
|
|
16
|
+
removeClasses?: boolean;
|
|
17
|
+
watch?: boolean;
|
|
18
|
+
breakpoints?: TadkaBreakpoints;
|
|
19
|
+
colors?: Record<string, string | Record<string, string>>;
|
|
20
|
+
extend?: Record<string, TadkaStyleObject | TadkaDynamicStyle>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface TadkaParseResult {
|
|
24
|
+
[property: string]: string | number;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
interface TadkaCSSApi {
|
|
28
|
+
version: string;
|
|
29
|
+
init(options?: TadkaInitOptions): number;
|
|
30
|
+
refresh(): number;
|
|
31
|
+
apply(element: Element): boolean;
|
|
32
|
+
applyAll(nodeList: ArrayLike<Element>): boolean[];
|
|
33
|
+
parse(className: string): TadkaParseResult | null;
|
|
34
|
+
register(name: string, styles: TadkaStyleObject | TadkaDynamicStyle): void;
|
|
35
|
+
unregister(name: string): void;
|
|
36
|
+
getConfig(): Record<string, unknown>;
|
|
37
|
+
setConfig(options: TadkaInitOptions): Record<string, unknown>;
|
|
38
|
+
reset(): void;
|
|
39
|
+
on(event: "apply" | "parse-error" | "ready" | "refresh", handler: (payload: unknown) => void): () => void;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
declare const TadkaCSS: TadkaCSSApi;
|
|
43
|
+
|
|
44
|
+
export { TadkaCSS as default };
|
|
45
|
+
export type { TadkaBreakpoints, TadkaCSSApi, TadkaDynamicStyle, TadkaInitOptions, TadkaParseResult, TadkaStyleObject };
|