{"version":3,"file":"build-tailwind-4.cjs","sources":["../../../../src/core/tokens/build-tailwind-4.ts"],"sourcesContent":["import { existsSync, mkdirSync } from \"node:fs\";\nimport { writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { kebabCase } from \"change-case\";\n\nexport const buildTailwind4Theme = async () => {\n    const { default: colors } = await import(\"../../tailwind/colors.js\");\n    const { default: tokens } = await import(\"../tokens.js\");\n\n    const colorVariables = Object.entries(colors).map(\n        ([name, value]) => `    --color-${name}: ${value};`,\n    );\n\n    const spacingVariables = Object.entries(tokens.spacing).map(\n        ([step, value]) => `    --spacing-${kebabCase(step)}: ${value};`,\n    );\n\n    const fontWeights = Object.entries(tokens.typography.font.weight).map(\n        ([weight, value]) => `    --font-weight-${weight}: ${value};`,\n    );\n\n    const breakpoints = Object.entries(tokens.breakpoint).map(\n        ([step, value]) => `    --breakpoint-${kebabCase(step)}: ${value};`,\n    );\n\n    const borderRadii = Object.entries(tokens.border.radius).map(\n        ([step, value]) => `    --radius-${step}: ${value};`,\n    );\n\n    const borderWidths = Object.entries(tokens.border.width).map(\n        ([step, value]) => `    --border-width-${step}: ${value};`,\n    );\n\n    const textUtilities = Object.entries(tokens.typography.style).map(\n        ([name, value]) =>\n            [\n                `@utility ${kebabCase(name)} {`,\n                ...Object.entries(value.small).map(\n                    ([property, value]) =>\n                        `    ${kebabCase(property)}: ${value};`,\n                ),\n                \"\",\n                `    @media (min-width: ${tokens.breakpoint.medium}) {`,\n                ...Object.entries(value.base).map(\n                    ([property, value]) =>\n                        `        ${kebabCase(property)}: ${value};`,\n                ),\n                \"    }\",\n                \"}\",\n            ].join(\"\\n\"),\n    );\n\n    const tailwindTheme = `\n/**\n * Do not edit directly, this file was auto-generated.\n */\n/* stylelint-disable */\n\n@theme {\n    --*: initial;\n\n${colorVariables.join(\"\\n\")}\n\n${spacingVariables.join(\"\\n\")}\n\n${fontWeights.join(\"\\n\")}\n\n${breakpoints.join(\"\\n\")}\n\n${borderRadii.join(\"\\n\")}\n${borderWidths.join(\"\\n\")}\n}\n\n${textUtilities.join(\"\\n\\n\")}\n`;\n\n    if (!existsSync(\"src/tailwind/v4\")) {\n        mkdirSync(\"src/tailwind/v4\", { recursive: true });\n    }\n\n    await writeFile(\n        path.resolve(\"src/tailwind/v4/jokul-tailwind.css\"),\n        tailwindTheme,\n    );\n};\n"],"names":["async","default","colors","Promise","resolve","then","_interopNamespaceDefaultOnly","require","tokens","colorVariables","Object","entries","map","name","value","spacingVariables","spacing","step","kebabCase","fontWeights","typography","font","weight","breakpoints","breakpoint","borderRadii","border","radius","borderWidths","width","textUtilities","style","small","property","medium","base","join","tailwindTheme","existsSync","mkdirSync","recursive","writeFile","path"],"mappings":"+UAKmCA,UAC/B,MAAQC,QAASC,SAAiBC,QAAAC,UAAAC,KAAA,IAAAC,EAAAC,QAAO,gCACjCN,QAASO,SAAiBL,QAAAC,UAAAC,KAAA,IAAAC,EAAAC,QAAO,mBAEnCE,EAAiBC,OAAOC,QAAQT,GAAQU,IAC1C,EAAEC,EAAMC,KAAW,eAAeD,MAASC,MAGzCC,EAAmBL,OAAOC,QAAQH,EAAOQ,SAASJ,IACpD,EAAEK,EAAMH,KAAW,iBAAiBI,EAAAA,UAAUD,OAAUH,MAGtDK,EAAcT,OAAOC,QAAQH,EAAOY,WAAWC,KAAKC,QAAQV,IAC9D,EAAEU,EAAQR,KAAW,qBAAqBQ,MAAWR,MAGnDS,EAAcb,OAAOC,QAAQH,EAAOgB,YAAYZ,IAClD,EAAEK,EAAMH,KAAW,oBAAoBI,EAAAA,UAAUD,OAAUH,MAGzDW,EAAcf,OAAOC,QAAQH,EAAOkB,OAAOC,QAAQf,IACrD,EAAEK,EAAMH,KAAW,gBAAgBG,MAASH,MAG1Cc,EAAelB,OAAOC,QAAQH,EAAOkB,OAAOG,OAAOjB,IACrD,EAAEK,EAAMH,KAAW,sBAAsBG,MAASH,MAGhDgB,EAAgBpB,OAAOC,QAAQH,EAAOY,WAAWW,OAAOnB,IAC1D,EAAEC,EAAMC,KACJ,CACI,YAAYI,EAAAA,UAAUL,UACnBH,OAAOC,QAAQG,EAAMkB,OAAOpB,IAC3B,EAAEqB,EAAUnB,KACR,OAAOI,EAAAA,UAAUe,OAAcnB,MAEvC,GACA,0BAA0BN,EAAOgB,WAAWU,eACzCxB,OAAOC,QAAQG,EAAMqB,MAAMvB,IAC1B,EAAEqB,EAAUnB,KACR,WAAWI,EAAAA,UAAUe,OAAcnB,MAE3C,QACA,KACFsB,KAAK,OAGTC,EAAgB,iIASxB5B,EAAe2B,KAAK,YAEpBrB,EAAiBqB,KAAK,YAEtBjB,EAAYiB,KAAK,YAEjBb,EAAYa,KAAK,YAEjBX,EAAYW,KAAK,UACjBR,EAAaQ,KAAK,eAGlBN,EAAcM,KAAK,YAGZE,EAAAA,WAAW,oBACZC,EAAAA,UAAU,kBAAmB,CAAEC,WAAW,UAGxCC,EAAAA,UACFC,EAAKtC,QAAQ,sCACbiC"}