{"version":3,"sources":["../src/index.ts","../src/generator.ts","../src/Scheme.ts","../src/formats/json/flat/format.ts","../src/formats/json/flat/index.ts","../src/formats/json/index.ts","../src/formats/eval.ts","../src/formats/javascript/moduleReduced/format.ts","../src/formats/javascript/moduleReduced/index.ts","../src/formats/javascript/moduleReducedMin/format.ts","../src/formats/javascript/moduleReducedMin/index.ts","../src/formats/javascript/esmReducedMin/format.ts","../src/formats/javascript/esmReducedMin/index.ts","../src/formats/javascript/index.ts","../src/formats/serialization.ts","../src/formats/text/flat/format.ts","../src/formats/text/flat/index.ts","../src/formats/text/index.ts","../src/formats/typescript/moduleReducedDeclarations/format.ts","../src/formats/typescript/moduleReducedDeclarations/index.ts","../src/formats/typescript/index.ts","../src/constants.ts","../src/formats/figma/figmatokens/format.ts","../src/formats/figma/figmatokens/index.ts","../src/formats/figma/index.ts","../src/transforms/alias/cti/path.ts","../src/transforms/alias/cti/index.ts","../src/transforms/alias/group/transform.ts","../src/transforms/alias/group/index.ts","../src/transforms/alias/jsonComponent/transform.ts","../src/transforms/alias/jsonComponent/index.ts","../src/transforms/alias/index.ts","../src/transforms/shadow/boxShadowToFigma/errors.ts","../src/transforms/shadow/boxShadowToFigma/normalization.ts","../src/transforms/shadow/boxShadowToFigma/split.ts","../src/transforms/shadow/boxShadowToFigma/variations.ts","../src/transforms/shadow/boxShadowToFigma/transform.ts","../src/transforms/shadow/boxShadowToFigma/index.ts","../src/transforms/shadow/index.ts","../src/transforms/size/filter.ts","../src/transforms/size/pxToDp/transform.ts","../src/transforms/size/pxToDp/index.ts","../src/transforms/size/pxToPt/transform.ts","../src/transforms/size/pxToPt/index.ts","../src/transforms/size/remToIntegerBase10/transform.ts","../src/transforms/size/remToPxBase10/transform.ts","../src/transforms/size/remToPxBase10/index.ts","../src/transforms/size/remToIntegerBase10/index.ts","../src/transforms/size/index.ts","../src/filters/isAlias/filter.ts","../src/filters/isAlias/index.ts","../src/filters/isBrand/filter.ts","../src/filters/isBrand/index.ts","../src/filters/isCmp/filter.ts","../src/filters/isCmp/index.ts","../src/token.ts","../src/filters/isFigmaBase/filter.ts","../src/filters/isFigmaBase/index.ts","../src/filters/isFigmaScheme/filter.ts","../src/filters/isFigmaScheme/index.ts","../src/filters/isGlobal/filter.ts","../src/filters/isGlobal/index.ts","../src/filters/isGroup/filter.ts","../src/filters/isGroup/index.ts","../src/filters/isNotFigma/filter.ts","../src/filters/isNotFigma/index.ts","../src/filters/isCmpAlias/filter.ts","../src/filters/isCmpAlias/index.ts","../src/transformGroups/figma.ts","../src/transformGroups/styleguide.ts","../src/transformGroups/styleguidejs.ts","../src/transformGroups/tokensJs.ts","../src/transformGroups/tokensJson.ts","../src/transformGroups/tokensScss.ts","../src/transformGroups/tokensCss.ts","../src/transformGroups/tokensAndroid.ts","../src/styleDictionary.ts","../src/validations/json.ts"],"sourcesContent":["export * from './generator';\nexport * from './Scheme';\nexport * from './validations';\n","import StyleDictionary from 'style-dictionary';\n\nimport { Scheme } from './Scheme';\nimport * as formats from './formats';\nimport * as transforms from './transforms';\nimport * as filters from './filters';\nimport * as transformGroups from './transformGroups';\n\nimport { getStyleDictionaryConfig } from './styleDictionary';\n\nStyleDictionary.registerFormat(formats.json.flat);\nStyleDictionary.registerFormat(formats.figma.figmatokens);\nStyleDictionary.registerFormat(formats.text.flat);\nStyleDictionary.registerFormat(formats.javascript.moduleReduced);\nStyleDictionary.registerFormat(formats.javascript.moduleReducedMin);\nStyleDictionary.registerFormat(formats.javascript.esmReducedMin);\nStyleDictionary.registerFormat(formats.typescript.moduleReducedDeclarations);\n\nStyleDictionary.registerTransform(transforms.size.pxToPt);\n\nStyleDictionary.registerTransform(transforms.alias.cti);\nStyleDictionary.registerTransform(transforms.alias.group);\nStyleDictionary.registerTransform(transforms.alias.jsonComponent);\nStyleDictionary.registerTransform(transforms.size.pxToDp);\nStyleDictionary.registerTransform(transforms.size.remToPxBase10);\nStyleDictionary.registerTransform(transforms.size.remToIntegerBase10);\nStyleDictionary.registerTransform(transforms.shadow.boxShadowToFigma);\n\nStyleDictionary.registerFilter(filters.isGlobal);\nStyleDictionary.registerFilter(filters.isAlias);\nStyleDictionary.registerFilter(filters.isFigmaBase);\nStyleDictionary.registerFilter(filters.isFigmaScheme);\nStyleDictionary.registerFilter(filters.isBrand);\nStyleDictionary.registerFilter(filters.isCmp);\nStyleDictionary.registerFilter(filters.isGroup);\nStyleDictionary.registerFilter(filters.isNotFigma);\nStyleDictionary.registerFilter(filters.isCmpAlias);\n\nStyleDictionary.registerTransformGroup(transformGroups.figma);\nStyleDictionary.registerTransformGroup(transformGroups.styleguide);\nStyleDictionary.registerTransformGroup(transformGroups.styleguidejs);\nStyleDictionary.registerTransformGroup(transformGroups.tokensJs);\nStyleDictionary.registerTransformGroup(transformGroups.tokensJson);\nStyleDictionary.registerTransformGroup(transformGroups.tokensScss);\nStyleDictionary.registerTransformGroup(transformGroups.tokensCss);\nStyleDictionary.registerTransformGroup(transformGroups.tokensAndroid);\n\nexport interface GenerateParams {\n  scheme?: Scheme;\n  menuScheme?: Scheme;\n  source: string;\n  output: string;\n}\n\nexport interface GenerateTypesParams {\n  output: string;\n}\n\nexport const generate = async ({\n  scheme = Scheme.Light,\n  menuScheme = Scheme.Light,\n  source,\n  output,\n}: GenerateParams) => {\n  const config = getStyleDictionaryConfig(scheme, menuScheme, source, output);\n  const sd = new StyleDictionary(config);\n  await sd.hasInitialized;\n\n  await sd.buildPlatform('web/js');\n  await sd.buildPlatform('web/json');\n  await sd.buildPlatform('web/scss');\n  await sd.buildPlatform('web/css');\n  await sd.buildPlatform('figma');\n\n  return true;\n};\n\nexport const generateTypes = async ({ output }: GenerateTypesParams) => {\n  const config = getStyleDictionaryConfig(\n    Scheme.Light,\n    Scheme.Light,\n    null,\n    output,\n  );\n  const sd = new StyleDictionary(config);\n  await sd.hasInitialized;\n\n  await sd.buildPlatform('web/ts');\n\n  return true;\n};\n","export enum Scheme {\n  Light = 'light',\n  Dark = 'dark',\n}\n","import type { FormatFn } from 'style-dictionary/types';\n\nexport const format: FormatFn = ({ dictionary }) =>\n  JSON.stringify(dictionary.allTokens, null, 2);\n","import type { Format } from 'style-dictionary/types';\n\nimport { format } from './format';\n\nexport const flat: Format = {\n  name: 'json/flat',\n  format,\n};\n","import { flat } from './flat';\n\nexport const json = {\n  flat,\n};\n","import type {\n  TransformedToken,\n  TransformedTokens,\n} from 'style-dictionary/types';\n\nexport type Formatter<S> = (token: TransformedToken) => S;\n\nexport type EvaluatedNode<T> =\n  | T\n  | {\n      [key: string]: EvaluatedNode<T>;\n    };\n\n/**\n * Flat the last tree node based on value props\n */\nexport const evalNode = <T>(\n  token: TransformedTokens,\n  formatter: Formatter<T>,\n): EvaluatedNode<T> =>\n  token.hasOwnProperty('value')\n    ? formatter(token as TransformedToken)\n    : Object.entries(token)\n        .map(([key, value]) => ({ [key]: evalNode(value, formatter) }))\n        .reduce((acc, cur) => ({ ...acc, ...cur }), {});\n","import type { FormatFn } from 'style-dictionary/types';\n\nimport { evalNode } from '../../eval';\n\nexport const format: FormatFn = ({ dictionary }) =>\n  `module.exports = ${JSON.stringify(\n    evalNode<string>(dictionary.tokens, (token) => token.value),\n    null,\n    2,\n  )};`;\n","import type { Format } from 'style-dictionary/types';\n\nimport { format } from './format';\n\nexport const moduleReduced: Format = {\n  name: 'javascript/module-reduced',\n  format,\n};\n","import type { FormatFn } from 'style-dictionary/types';\n\nimport { evalNode } from '../../eval';\n\nexport const format: FormatFn = ({ dictionary }) =>\n  `module.exports = ${JSON.stringify(\n    evalNode<string>(dictionary.tokens, (node) => node.value),\n  )};`;\n","import type { Format } from 'style-dictionary/types';\n\nimport { format } from './format';\n\nexport const moduleReducedMin: Format = {\n  name: 'javascript/module-reduced-min',\n  format,\n};\n","import type { FormatFn } from 'style-dictionary/types';\n\nimport { evalNode } from '../../eval';\n\nexport const format: FormatFn = ({ dictionary }) =>\n  `export default ${JSON.stringify(\n    evalNode<string>(dictionary.tokens, (node) => node.value),\n  )};`;\n","import type { Format } from 'style-dictionary/types';\n\nimport { format } from './format';\n\nexport const esmReducedMin: Format = {\n  name: 'javascript/esm-reduced-min',\n  format,\n};\n","import { moduleReduced } from './moduleReduced';\nimport { moduleReducedMin } from './moduleReducedMin';\nimport { esmReducedMin } from './esmReducedMin';\n\nexport const javascript = {\n  moduleReduced,\n  moduleReducedMin,\n  esmReducedMin,\n};\n","import type { TransformedToken } from 'style-dictionary/types';\n\nexport const stringify = (prefix: string) => (token: TransformedToken) =>\n  `${prefix}${token.name}: ${\n    token.attributes?.category === 'asset'\n      ? '\"' + token.value + '\"'\n      : token.value\n  };`;\n\nexport const addComment =\n  (commentStyle: 'short' | 'normal') => (comment: string) =>\n    comment\n      ? comment.concat(\n          commentStyle === 'short'\n            ? ' // ' + comment\n            : ' /* ' + comment + ' */',\n        )\n      : comment;\n","import type { FormatFn } from 'style-dictionary/types';\n\nimport { addComment, stringify } from '../../serialization';\n\nexport const format: FormatFn = ({ dictionary }) =>\n  dictionary.allTokens\n    .map((prop) => addComment('short')(stringify('')(prop)))\n    .join('\\n');\n","import type { Format } from 'style-dictionary/types';\n\nimport { format } from './format';\n\nexport const flat: Format = {\n  name: 'text/flat',\n  format,\n};\n","import { flat } from './flat';\n\nexport const text = {\n  flat,\n};\n","import type { FormatFn } from 'style-dictionary/types';\nimport {\n  InputData,\n  quicktypeMultiFileSync,\n  jsonInputForTargetLanguage,\n} from 'quicktype-core';\n\nimport { evalNode } from '../../eval';\n\nconst quicktypeJSON = (\n  targetLanguage: string,\n  typeName: string,\n  jsonString: string,\n) => {\n  const jsonInput = jsonInputForTargetLanguage(targetLanguage);\n\n  jsonInput.addSourceSync({\n    name: typeName,\n    samples: [jsonString],\n  });\n\n  const inputData = new InputData();\n  inputData.addInput(jsonInput);\n\n  return quicktypeMultiFileSync({\n    inputData,\n    lang: targetLanguage,\n    rendererOptions: { 'just-types': 'true' },\n  });\n};\n\nexport const format: FormatFn = ({ dictionary }) => {\n  const resMap = quicktypeJSON(\n    'typescript',\n    'Brand',\n    JSON.stringify(evalNode<string>(dictionary.tokens, (token) => token.value)),\n  );\n  const declarationsLines = resMap.get('stdout')?.lines || [];\n  const declarations = JSON.parse(JSON.stringify(declarationsLines.join('\\n')));\n  return declarations;\n};\n","import type { Format } from 'style-dictionary/types';\n\nimport { format } from './format';\n\nexport const moduleReducedDeclarations: Format = {\n  name: 'typescript/module-reduced-declarations',\n  format,\n};\n","import { moduleReducedDeclarations } from './moduleReducedDeclarations';\n\nexport const typescript = {\n  moduleReducedDeclarations,\n};\n","export const TOKENS_TIER = {\n  ALIAS: 'alias',\n  BRAND: 'brand',\n  CMP: 'cmp',\n  FIGMA: 'figma',\n  GLOBAL: 'global',\n  META: 'meta',\n};\n\nexport const TOKENS_CAT = {\n  BREAKPOINTS: 'breakpoints',\n  COLOR: 'color',\n  ELEVATION: 'elevation',\n  MUTATION: 'mutation',\n  SHAPE: 'shape',\n  SIZE: 'size',\n  SPACE: 'space',\n  TYPO: 'typo',\n};\n\n// export const TOKENS_CAT_VALUES = Object.values(TOKENS_CAT);[\nexport const TOKENS_CAT_VALUES = [\n  'breakpoints',\n  'color',\n  'elevation',\n  'mutation',\n  'shape',\n  'size',\n  'space',\n  'typo',\n];\n\nexport const TOKENS_CAT_PROP = {\n  BREAKPOINTS: {\n    NAME: TOKENS_CAT.BREAKPOINTS,\n    PROPS: {\n      MEDIA_QUERY: 'mediaQuery',\n    },\n  },\n  COLOR: {\n    NAME: TOKENS_CAT.COLOR,\n    PROPS: {\n      BACKGROUND: 'background',\n      TEXT: 'text',\n      BORDER: 'border',\n      FILL: 'fill',\n      SHADOW: 'shadow',\n    },\n  },\n  ELEVATION: {\n    NAME: TOKENS_CAT.ELEVATION,\n    PROPS: {\n      BOX_SHADOW: 'boxShadow',\n      TEXT_SHADOW: 'textShadow',\n      Z_INDEX: 'zIndex',\n    },\n  },\n  MUTATION: {\n    NAME: TOKENS_CAT.MUTATION,\n    PROPS: {\n      TRANSITION: 'transition',\n      TRANSITION_PROPERTY: 'transitionProperty',\n      TRANSITION_DURATION: 'transitionDuration',\n      TRANSITION_TIMING_FUNCTION: 'transitionTimingFunction',\n      TRANSITION_TYPE: 'transitionType',\n      TRANSITION_DELAY: 'transitionDelay',\n      TRANSFORM: 'transform',\n    },\n  },\n  SHAPE: {\n    NAME: TOKENS_CAT.SHAPE,\n    PROPS: {\n      BORDER_RADIUS: 'borderRadius',\n      BORDER: 'border',\n      BORDER_SIZE: 'borderSize',\n      BORDER_STYLE: 'borderStyle',\n      STROKE: 'stroke',\n      OUTLINE: 'outline',\n      OPACITY: 'opacity',\n      CONTENT: 'content',\n    },\n  },\n  SIZE: {\n    NAME: TOKENS_CAT.SIZE,\n    PROPS: {\n      WIDTH: 'width',\n      MIN_WIDTH: 'minWidth',\n      MAX_WIDTH: 'maxWidth',\n      HEIGHT: 'height',\n      MIN_HEIGHT: 'minHeight',\n      MAX_HEIGHT: 'maxHeight',\n      SQUARE: 'square',\n    },\n  },\n  TYPO: {\n    NAME: TOKENS_CAT.TYPO,\n    PROPS: {\n      FONT_SIZE: 'fontSize',\n      FONT_WEIGHT: 'fontWeight',\n      FONT_FAMILY: 'fontFamily',\n      LINE_HEIGHT: 'lineHeight',\n      LETTER_SPACING: 'letterSpacing',\n      TEXT_TRANSFORM: 'textTransform',\n      TEXT_DECORATION: 'textDecoration',\n    },\n  },\n  SPACE: {\n    NAME: TOKENS_CAT.SPACE,\n    PROPS: {\n      PADDING: 'padding',\n      PADDING_TOP: 'paddingTop',\n      PADDING_RIGHT: 'paddingRight',\n      PADDING_BOTTOM: 'paddingBottom',\n      PADDING_LEFT: 'paddingLeft',\n      PADDING_VER: 'paddingVer',\n      PADDING_HOR: 'paddingHor',\n      MARGIN: 'margin',\n      MARGIN_TOP: 'marginTop',\n      MARGIN_RIGHT: 'marginRight',\n      MARGIN_BOTTOM: 'marginBottom',\n      MARGIN_LEFT: 'marginLeft',\n      MARGIN_VER: 'marginVer',\n      MARGIN_HOR: 'marginHor',\n      GAP: 'gap',\n      ROW_GAP: 'rowGap',\n      COLUMN_GAP: 'columnGap',\n    },\n  },\n};\n\nexport const FIGMA_TOKENS_CAT = {\n  COLOR: 'color',\n  BORDER_RADIUS: 'borderRadius',\n  SIZE: 'sizing',\n  SPACE: 'spacing',\n  BORDER_SIZE: 'borderWidth',\n  BOX_SHADOW: 'boxShadow',\n  OPACITY: 'opacity',\n  TYPO: 'typography',\n  FONT_SIZE: 'fontSizes',\n  FONT_WEIGHT: 'fontWeights',\n  FONT_FAMILY: 'fontFamilies',\n  LINE_HEIGHT: 'lineHeights',\n  LETTER_SPACING: 'letterSpacing',\n  TEXT_TRANSFORM: 'case',\n  OTHER: 'other',\n};\n","import type { FormatFn } from 'style-dictionary/types';\n\nimport { FIGMA_TOKENS_CAT } from '../../../constants';\nimport { evalNode, EvaluatedNode } from '../../eval';\n\nexport const format: FormatFn = ({ dictionary }) => {\n  const tree = evalNode<{ value: string; type: string }>(\n    dictionary.tokens,\n    (node) => ({\n      value: node.value,\n      type: node.attributes?.figmaType as string,\n    }),\n  );\n\n  // avoid redundant info in Figma\n  if ('figma' in tree && FIGMA_TOKENS_CAT.TYPO in tree.figma) {\n    tree[FIGMA_TOKENS_CAT.TYPO] = (\n      tree.figma as {\n        [key: string]: EvaluatedNode<{ value: string; type: string }>;\n      }\n    )[FIGMA_TOKENS_CAT.TYPO];\n    delete tree.figma;\n  }\n\n  return JSON.stringify(tree, null, 2);\n};\n","import type { Format } from 'style-dictionary/types';\n\nimport { format } from './format';\n\nexport const figmatokens: Format = {\n  name: 'figma/figmatokens',\n  format,\n};\n","import { figmatokens } from './figmatokens';\n\nexport const figma = {\n  figmatokens,\n};\n","import { TransformedToken } from 'style-dictionary/types';\n\nimport {\n  FIGMA_TOKENS_CAT,\n  TOKENS_CAT_PROP,\n  TOKENS_CAT_VALUES,\n  TOKENS_TIER,\n} from '../../../constants';\n\n/**\n * Get the figma tokens plugin token type: color, sizing, spacing... etc.\n *\n * @param path - The array generated by the token name, containing each name block\n */\nexport const getFigmaTokenType = (path: string[]) =>\n  path.includes(TOKENS_CAT_PROP.COLOR.NAME)\n    ? FIGMA_TOKENS_CAT.COLOR\n    : path.includes(TOKENS_CAT_PROP.SHAPE.PROPS.BORDER_RADIUS)\n    ? FIGMA_TOKENS_CAT.BORDER_RADIUS\n    : path.includes(TOKENS_CAT_PROP.SIZE.NAME)\n    ? FIGMA_TOKENS_CAT.SIZE\n    : path.includes(TOKENS_CAT_PROP.SPACE.NAME)\n    ? FIGMA_TOKENS_CAT.SPACE\n    : path.includes(TOKENS_CAT_PROP.SHAPE.PROPS.BORDER_SIZE)\n    ? FIGMA_TOKENS_CAT.BORDER_SIZE\n    : path.includes(TOKENS_CAT_PROP.SHAPE.NAME) &&\n      path.includes(TOKENS_CAT_PROP.SHAPE.PROPS.OPACITY)\n    ? FIGMA_TOKENS_CAT.OPACITY\n    : path.includes(TOKENS_CAT_PROP.ELEVATION.PROPS.BOX_SHADOW)\n    ? FIGMA_TOKENS_CAT.BOX_SHADOW\n    : path.includes(FIGMA_TOKENS_CAT.TYPO)\n    ? FIGMA_TOKENS_CAT.TYPO\n    : path.includes(TOKENS_CAT_PROP.TYPO.PROPS.FONT_SIZE)\n    ? FIGMA_TOKENS_CAT.FONT_SIZE\n    : path.includes(TOKENS_CAT_PROP.TYPO.PROPS.FONT_WEIGHT)\n    ? FIGMA_TOKENS_CAT.FONT_WEIGHT\n    : path.includes(TOKENS_CAT_PROP.TYPO.PROPS.LINE_HEIGHT)\n    ? FIGMA_TOKENS_CAT.LINE_HEIGHT\n    : path.includes(TOKENS_CAT_PROP.TYPO.PROPS.LETTER_SPACING)\n    ? FIGMA_TOKENS_CAT.LETTER_SPACING\n    : path.includes(TOKENS_CAT_PROP.TYPO.PROPS.FONT_FAMILY)\n    ? FIGMA_TOKENS_CAT.FONT_FAMILY\n    : path.includes(TOKENS_CAT_PROP.TYPO.PROPS.TEXT_TRANSFORM)\n    ? FIGMA_TOKENS_CAT.TEXT_TRANSFORM\n    : FIGMA_TOKENS_CAT.OTHER;\n\nexport const parsePath = (token: TransformedToken, paths: string[]) =>\n  paths.reduce((acc, cur, idx) => ({ ...acc, [cur]: token.path[idx] }), {\n    figmaType: getFigmaTokenType(token.path),\n  });\n\nexport const getPaths = (token: TransformedToken) => {\n  const isCmp = token.path[0] === TOKENS_TIER.CMP;\n  const isAlias = token.path[0] === TOKENS_TIER.ALIAS;\n  const isExportable = isCmp || isAlias;\n  const hasElement = isExportable && TOKENS_CAT_VALUES.includes(token.path[3]);\n  const hasGroup = isAlias && !TOKENS_CAT_VALUES.includes(token.path[1]);\n\n  return [\n    'tier',\n    ...(isCmp ? ['component'] : []),\n    ...(hasGroup ? ['group'] : []),\n    ...(hasElement ? ['element'] : []),\n    'category',\n    'property',\n    ...(isAlias && !hasGroup ? ['concept'] : []),\n    'variant',\n    'modifier',\n  ];\n};\n","import type { Transform } from 'style-dictionary/types';\n\nimport { parsePath, getPaths } from './path';\n\nexport const cti: Transform = {\n  name: 'alias-cti',\n  type: 'attribute',\n  transform: (token) => parsePath(token, getPaths(token)),\n};\n","import type { TransformedToken } from 'style-dictionary/types';\n\nexport const transform = (token: TransformedToken) =>\n  String(token.path.shift());\n","import type { Transform } from 'style-dictionary/types';\n\nimport { transform } from './transform';\n\nexport const group: Transform = {\n  name: 'name/token-group',\n  type: 'name',\n  transform,\n};\n","import type { TransformedToken } from 'style-dictionary/types';\n\nexport const transform = (token: TransformedToken) => token.path.join('-');\n","import type { Transform } from 'style-dictionary/types';\n\nimport { transform } from './transform';\n\nexport const jsonComponent: Transform = {\n  name: 'name/token-json-component',\n  type: 'name',\n  transform,\n};\n","import { cti } from './cti';\nimport { group } from './group';\nimport { jsonComponent } from './jsonComponent';\n\nexport const alias = {\n  cti,\n  group,\n  jsonComponent,\n};\n","import type { TransformedToken } from 'style-dictionary/types';\n\nexport const getValidFormatMessage = (token: TransformedToken) => `\nThere is an error on the next boxShadow format:\n\n${JSON.stringify(token, null, 2)}\n\nThe accepted values are:\n- 'inset? x y color',\n- 'inset? x y blur color',\n- 'inset? x y blur spread color',\n\nFix, drop and roll...\n`;\n","/**\n * Normalize the unit to base10\n *\n * @param value The value to normalize\n * @return The value normalized\n */\nexport const unitToIntegerBase10 = (value: string) => {\n  const mult = value.endsWith('rem') ? 10 : 1;\n  const numberValue = Number(value.replace(/rem/, '').replace(/px/, ''));\n  return parseFloat((numberValue * mult).toFixed(4));\n};\n","/**\n * Split a text by commas that are not inside of a parenthesys\n *\n * @param text Text for split\n * @return Array splited of expressions\n */\nexport const breakExpressions = (text: string) =>\n  text.split(/\\s*,(?![^(]*\\))\\s*/);\n","export const InsetXYColor =\n  /(inset)?\\s*([\\d.-]+(?:rem|px)?)\\s+([\\d.-]+(?:rem|px)?)\\s+(#[\\da-fA-F]{6}|rgba?\\(\\s*\\d+\\s*,\\s*\\d+\\s*,\\s*\\d+\\s*(?:\\s*,\\s*[\\d.]+)?\\)\\s*)/;\nexport const InsetXYBlurColor =\n  /(inset)?\\s*([\\d.-]+(?:rem|px)?)\\s+([\\d.-]+(?:rem|px)?)\\s+([\\d.-]+(?:rem|px)?)\\s+(#[\\da-fA-F]{6}|rgba?\\(\\s*\\d+\\s*,\\s*\\d+\\s*,\\s*\\d+\\s*(?:\\s*,\\s*[\\d.]+)?\\)\\s*)/;\nexport const InsetXYBlurSpreadColor =\n  /(inset)?\\s*([\\d.-]+(?:rem|px)?)\\s+([\\d.-]+(?:rem|px)?)\\s+([\\d.-]+(?:rem|px)?)\\s+([\\d.-]+(?:rem|px)?)\\s+(#[\\da-fA-F]{6}|rgba?\\(\\s*\\d+\\s*,\\s*\\d+\\s*,\\s*\\d+\\s*(?:\\s*,\\s*[\\d.]+)?\\)\\s*)/;\n","import type { TransformedToken } from 'style-dictionary/types';\n\nimport { getValidFormatMessage } from './errors';\nimport { unitToIntegerBase10 } from './normalization';\nimport { breakExpressions } from './split';\nimport {\n  InsetXYColor,\n  InsetXYBlurColor,\n  InsetXYBlurSpreadColor,\n} from './variations';\n\nexport interface FigmaBoxShadow {\n  type: 'dropShadow' | 'innerShadow';\n  x: number;\n  y: number;\n  blur: number;\n  spread: number;\n  color: string;\n}\n\nexport const transform = (token: TransformedToken) =>\n  Array.isArray(token.value)\n    ? token.value\n    : breakExpressions(token.value).map((item) => {\n        let captured;\n        if (\n          [\n            'none',\n            'inherit',\n            'initial',\n            'revert',\n            'revert-layer',\n            'unset',\n          ].includes(item)\n        ) {\n          return {\n            type: 'dropShadow',\n            x: 0,\n            y: 0,\n            blur: 0,\n            spread: 0,\n            color: 'rgba(0,0,0,0)',\n          };\n        } else if ((captured = InsetXYBlurSpreadColor.exec(item))) {\n          return {\n            type: captured[1] ? 'innerShadow' : 'dropShadow',\n            x: unitToIntegerBase10(captured[2]),\n            y: unitToIntegerBase10(captured[3]),\n            blur: unitToIntegerBase10(captured[4]),\n            spread: unitToIntegerBase10(captured[5]),\n            color: captured[6],\n          };\n        } else if ((captured = InsetXYBlurColor.exec(item))) {\n          return {\n            type: captured[1] ? 'innerShadow' : 'dropShadow',\n            x: unitToIntegerBase10(captured[2]),\n            y: unitToIntegerBase10(captured[3]),\n            blur: unitToIntegerBase10(captured[4]),\n            spread: 0,\n            color: captured[5],\n          };\n        } else if ((captured = InsetXYColor.exec(item))) {\n          return {\n            type: captured[1] ? 'innerShadow' : 'dropShadow',\n            x: unitToIntegerBase10(captured[2]),\n            y: unitToIntegerBase10(captured[3]),\n            blur: 0,\n            spread: 0,\n            color: captured[4],\n          };\n        } else {\n          throw new Error(getValidFormatMessage(token));\n        }\n      });\n","import { Transform } from 'style-dictionary/types';\n\nimport { transform } from './transform';\n\n// To transform boxShadow to Figma format\nexport const boxShadowToFigma: Transform = {\n  name: 'shadow/boxShadowToFigma',\n  transitive: true,\n  type: 'value',\n  filter: (token) => token.path.includes('boxShadow'),\n  transform,\n};\n","import { boxShadowToFigma } from './boxShadowToFigma';\n\nexport const shadow = {\n  boxShadowToFigma,\n};\n","import type { Filter } from 'style-dictionary/types';\n\nexport const filterPx: Filter['filter'] = (token) =>\n  !!token.value.match(/^[\\d.]+px$/);\n\nexport const filterRem: Filter['filter'] = (token) =>\n  typeof token.value === 'string' && !!token.value.match(/^-*[\\d.]+rem$/);\n","import type { TransformedTokens } from 'style-dictionary/types';\n\nexport const transform = (token: TransformedTokens) =>\n  token.value.replace(/px$/, 'dp');\n","import type { Transform } from 'style-dictionary/types';\n\nimport { filterPx } from '../filter';\nimport { transform } from './transform';\n\nexport const pxToDp: Transform = {\n  name: 'size/pxToDp',\n  type: 'value',\n  filter: filterPx,\n  transform,\n};\n","import type { TransformedToken } from 'style-dictionary/types';\n\nexport const transform = (token: TransformedToken) =>\n  token.value.replace(/px$/, 'pt');\n","import type { Transform } from 'style-dictionary/types';\n\nimport { filterPx } from '../filter';\nimport { transform } from './transform';\n\nexport const pxToPt: Transform = {\n  name: 'size/pxToPt',\n  type: 'value',\n  filter: filterPx,\n  transform,\n};\n","import type { TransformedToken } from 'style-dictionary/types';\n\nexport const transform = (token: TransformedToken) =>\n  parseFloat((Number(token.value.replace(/rem$/, '')) * 10).toFixed(4));\n","import type { TransformedToken } from 'style-dictionary';\n\nimport { transform as transformToNum } from '../remToIntegerBase10/transform';\n\nexport const transform = (token: TransformedToken) =>\n  `${transformToNum(token)}px`;\n","import type { Transform } from 'style-dictionary/types';\n\nimport { filterRem } from '../filter';\nimport { transform } from './transform';\n\n// To transform the size values from rem to integer without units\nexport const remToPxBase10: Transform = {\n  name: 'size/remToPxBase10',\n  type: 'value',\n  filter: filterRem,\n  transform,\n};\n","import type { Transform } from 'style-dictionary/types';\n\nimport { filterRem } from '../filter';\nimport { transform } from './transform';\n\n// To transform the size values from rem to integer without units\nexport const remToIntegerBase10: Transform = {\n  name: 'size/remToIntegerBase10',\n  type: 'value',\n  filter: filterRem,\n  transform,\n};\n","import { pxToDp } from './pxToDp';\nimport { pxToPt } from './pxToPt';\nimport { remToPxBase10 } from './remToPxBase10';\nimport { remToIntegerBase10 } from './remToIntegerBase10';\n\nexport const size = {\n  pxToDp,\n  pxToPt,\n  remToPxBase10,\n  remToIntegerBase10,\n};\n","import type { Filter } from 'style-dictionary/types';\n\nimport { TOKENS_TIER } from '../../constants';\n\nexport const filter: Filter['filter'] = (token) =>\n  token.attributes?.tier === TOKENS_TIER.ALIAS;\n","import type { Filter } from 'style-dictionary/types';\n\nimport { filter } from './filter';\n\nexport const isAlias: Filter = {\n  name: 'isAlias',\n  filter,\n};\n","import type { Filter } from 'style-dictionary/types';\n\nimport { TOKENS_TIER } from '../../constants';\n\nexport const filter: Filter['filter'] = (token) =>\n  token.attributes?.tier === TOKENS_TIER.BRAND;\n","import type { Filter } from 'style-dictionary/types';\n\nimport { filter } from './filter';\n\nexport const isBrand: Filter = {\n  name: 'isBrand',\n  filter,\n};\n","import type { Filter } from 'style-dictionary/types';\n\nimport { TOKENS_TIER } from '../../constants';\n\nexport const filter: Filter['filter'] = (token) =>\n  token.attributes?.tier === TOKENS_TIER.CMP;\n","import type { Filter} from 'style-dictionary/types';\n\nimport { filter } from './filter';\n\nexport const isCmp: Filter = {\n  name: 'isCmp',\n  filter\n};\n","import type { TransformedToken } from 'style-dictionary/types';\n\nimport { FIGMA_TOKENS_CAT, TOKENS_TIER, TOKENS_CAT_PROP } from './constants';\n\n/**\n * Evaluate if the token is figma type\n */\nexport const isFigmaProp = (token: TransformedToken) =>\n  (token.attributes?.tier === TOKENS_TIER.FIGMA ||\n    token.attributes?.tier === TOKENS_TIER.ALIAS ||\n    token.attributes?.tier === TOKENS_TIER.CMP) &&\n  token.attributes.figmaType !== FIGMA_TOKENS_CAT.OTHER;\n\n/**\n * Evaluate if the token has scheme (it depends on the dark or light scheme)\n */\nexport const evalHasScheme = (token: TransformedToken) =>\n  token.attributes?.category === TOKENS_CAT_PROP.COLOR.NAME ||\n  (token.attributes?.category === TOKENS_CAT_PROP.ELEVATION.NAME &&\n    (token.attributes.property === TOKENS_CAT_PROP.ELEVATION.PROPS.BOX_SHADOW ||\n      token.attributes.property ===\n        TOKENS_CAT_PROP.ELEVATION.PROPS.TEXT_SHADOW));\n","import type { Filter } from 'style-dictionary/types';\n\nimport { isFigmaProp, evalHasScheme } from '../../token';\n\nexport const filter: Filter['filter'] = (token) =>\n  isFigmaProp(token) && !evalHasScheme(token);\n","import type { Filter } from 'style-dictionary/types';\n\nimport { filter } from './filter';\n\nexport const isFigmaBase: Filter = {\n  name: 'isFigmaBase',\n  filter,\n};\n","import type { Filter } from 'style-dictionary/types';\n\nimport { isFigmaProp, evalHasScheme } from '../../token';\n\nexport const filter: Filter['filter'] = (token) =>\n  isFigmaProp(token) && evalHasScheme(token);\n","import type { Filter } from 'style-dictionary/types';\n\nimport { filter } from './filter';\n\nexport const isFigmaScheme: Filter = {\n  name: 'isFigmaScheme',\n  filter,\n};\n","import type { Filter } from 'style-dictionary/types';\n\nimport { TOKENS_TIER } from '../../constants';\n\nexport const filter: Filter['filter'] = (token) =>\n  token.attributes?.tier === TOKENS_TIER.GLOBAL;\n","import type { Filter } from 'style-dictionary/types';\n\nimport { filter } from './filter';\n\nexport const isGlobal: Filter = {\n  name: 'isGlobal',\n  filter,\n};\n","import type { Filter } from 'style-dictionary/types';\n\nexport const filter: Filter['filter'] = (token) => !!token.attributes?.group;\n","import type { Filter } from 'style-dictionary/types';\n\nimport { filter } from './filter';\n\nexport const isGroup: Filter = {\n  name: 'isGroup',\n  filter,\n};\n","import type { Filter } from 'style-dictionary/types';\n\nimport { TOKENS_TIER } from '../../constants';\n\nexport const filter: Filter['filter'] = (token) =>\n  token.attributes?.tier !== TOKENS_TIER.FIGMA;\n","import type { Filter } from 'style-dictionary';\n\nimport { filter } from './filter';\n\nexport const isNotFigma: Filter = {\n  name: 'isNotFigma',\n  filter,\n};\n","import type { Filter } from 'style-dictionary/types';\n\nimport { TOKENS_TIER } from '../../constants';\n\nexport const filter: Filter['filter'] = (token) =>\n  [TOKENS_TIER.CMP, TOKENS_TIER.ALIAS, TOKENS_TIER.META].includes(\n    token.attributes?.tier as string,\n  );\n","import type { Filter } from 'style-dictionary/types';\n\nimport { filter } from './filter';\n\nexport const isCmpAlias: Filter = {\n  name: 'isCmpAlias',\n  filter,\n};\n","export const figma = {\n  name: 'figma-alias',\n  transforms: [\n    'alias-cti',\n    'name/kebab',\n    'time/seconds',\n    'color/css',\n    'size/remToIntegerBase10',\n    'shadow/boxShadowToFigma',\n  ],\n};\n","export const styleguide = {\n  name: 'styleguide',\n  transforms: ['attribute/cti', 'name/kebab', 'color/css'],\n};\n","export const styleguidejs = {\n  name: 'styleguideJs',\n  transforms: ['attribute/cti', 'name/snake', 'color/css'],\n};\n","export const tokensJs = {\n  name: 'tokens-js',\n  transforms: ['alias-cti', 'color/css', 'name/constant'],\n};\n","export const tokensJson = {\n  name: 'tokens-json',\n  transforms: [\n    'alias-cti',\n    'name/kebab',\n    'name/token-json-component',\n    'color/css',\n  ],\n};\n","export const tokensScss = {\n  name: 'tokens-scss',\n  // to see the pre-defined \"scss\" transformation use:\n  // console.log(StyleDictionaryPackage.transformGroup['scss']);\n  transforms: [\n    'alias-cti',\n    //'name/token-group',\n    'time/seconds',\n    'color/css',\n    'name/kebab',\n  ],\n};\n","export const tokensCss = {\n  name: 'tokens-css',\n  // to see the pre-defined \"scss\" transformation use:\n  // console.log(StyleDictionaryPackage.transformGroup['scss']);\n  transforms: ['alias-cti', 'time/seconds', 'color/css', 'name/kebab'],\n};\n","export const tokensAndroid = {\n  name: 'tokens-android',\n  // to see the pre-defined \"android\" transformation use:\n  // console.log(StyleDictionaryPackage.transformGroup['android']);\n  transforms: ['attribute/cti', 'name/camel', 'size/pxToDp'],\n};\n","import { Config } from 'style-dictionary/types';\nimport { resolve } from 'node:path';\nimport type { Scheme } from './Scheme';\n\nconst tokensPath = resolve(__dirname, 'tokens');\n\nexport const getStyleDictionaryConfig = (\n  scheme: Scheme,\n  menuScheme: Scheme,\n  source: string | null,\n  output: string,\n): Config => ({\n  source: [\n    /* --------------------- COMMON TOKENS -------------------- */\n    // global.x\n    `${tokensPath}/global/**/*.json`,\n    // theme.x\n    `${tokensPath}/schemes/${scheme}/*.json`,\n    // alias.x\n    `${tokensPath}/alias/**/*.json`,\n    // figma.x\n    `${tokensPath}/figma/**/*.json`,\n\n    /* --------------- COMMON COMPONENTS TOKENS --------------- */\n    // cmp.x\n    `${tokensPath}/component/**/*.json`,\n\n    /* --------------- COMMON MENU SCHEME TOKENS -------------- */\n    // theme.mainMenu.x\n    `${tokensPath}/schemes/${menuScheme}/component/theme-main-menu.json`,\n    /* --------------- CUSTOM BRAND SCHEME TOKENS --------------- */\n    // Overrides for brand.x in include property if brand is specified\n    // brand.x\n    ...(source ? [`${source}/*.json`] : []),\n  ],\n  include: [\n    /* --------------- BASE BRAND SCHEME TOKENS --------------- */\n    // brand.x\n    `${tokensPath}/brand-defaults/**/*.json`,\n  ],\n  platforms: {\n    'web/js': {\n      transformGroup: 'tokens-js',\n      buildPath: output,\n      files: [\n        // MODULE\n        {\n          destination: 'js/dev/tokens.module.all.js',\n          format: 'javascript/module',\n          filter: 'isNotFigma',\n        },\n        {\n          destination: 'js/dev/tokens.module.alias.js',\n          format: 'javascript/module',\n          filter: 'isAlias',\n        },\n        {\n          destination: 'js/dev/tokens.module.cmp.js',\n          format: 'javascript/module',\n          filter: 'isCmp',\n        },\n        // MODULE REDUCED\n        // dev\n        {\n          destination: 'js/dev/tokens.module.reduced.global.js',\n          format: 'javascript/module-reduced',\n          filter: 'isGlobal',\n        },\n        {\n          destination: 'js/dev/tokens.module.reduced.alias.js',\n          format: 'javascript/module-reduced',\n          filter: 'isAlias',\n        },\n        {\n          destination: 'js/dev/tokens.module.reduced.cmp.js',\n          format: 'javascript/module-reduced',\n          filter: 'isCmp',\n        },\n        {\n          destination: 'js/dev/tokens.module.reduced.group.js',\n          format: 'javascript/module-reduced',\n          filter: 'isGroup',\n        },\n        {\n          destination: 'js/dev/tokens.module.reduced.brand.js',\n          format: 'javascript/module-reduced',\n          filter: 'isBrand',\n        },\n        // root\n        {\n          destination: 'js/tokens.module.reduced.alias.js',\n          format: 'javascript/module-reduced',\n          filter: 'isAlias',\n        },\n        {\n          destination: 'js/tokens.module.reduced.meta.js',\n          format: 'javascript/module-reduced',\n          filter: {\n            attributes: {\n              tier: 'meta',\n            },\n          },\n        },\n        {\n          destination: 'js/tokens.module.reduced.cmp.js',\n          format: 'javascript/module-reduced',\n          filter: 'isCmp',\n        },\n        // MODULE REDUCED MIN\n        {\n          destination: 'js/tokens.module.reduced.alias.min.js',\n          format: 'javascript/module-reduced-min',\n          filter: 'isAlias',\n        },\n        {\n          destination: 'js/tokens.module.reduced.cmp.min.js',\n          format: 'javascript/module-reduced-min',\n          filter: 'isCmp',\n        },\n        // ESM\n        {\n          destination: 'js/tokens.esm.alias.js',\n          format: 'javascript/esm-reduced-min',\n          filter: 'isAlias',\n        },\n        {\n          destination: 'js/tokens.esm.meta.js',\n          format: 'javascript/esm-reduced-min',\n          filter: {\n            attributes: {\n              tier: 'meta',\n            },\n          },\n        },\n        {\n          destination: 'js/tokens.esm.cmp.js',\n          format: 'javascript/esm-reduced-min',\n          filter: 'isCmp',\n        },\n      ],\n    },\n    'web/ts': {\n      transformGroup: 'tokens-js',\n      buildPath: output,\n      files: [\n        {\n          destination: 'brand.d.ts',\n          format: 'typescript/module-reduced-declarations',\n          filter: 'isCmpAlias',\n        },\n      ],\n    },\n    'web/html': {\n      transformGroup: 'tokens-js',\n      buildPath: output,\n      files: [\n        {\n          destination: 'html/preview/tokens.alias.html',\n          format: 'html/preview',\n          filter: 'isAlias',\n        },\n        {\n          destination: 'html/preview/tokens.cmp.html',\n          format: 'html/preview',\n          filter: 'isCmp',\n        },\n        {\n          destination: 'html/preview/tokens.all.html',\n          format: 'html/preview',\n          filter: 'isCmpAlias',\n        },\n      ],\n    },\n    'web/json': {\n      transformGroup: 'tokens-json',\n      buildPath: output,\n      files: [\n        {\n          destination: 'json/tokens.json.all.json',\n          format: 'json/flat',\n          filter: 'isNotFigma',\n        },\n        {\n          destination: 'json/tokens.json.global.json',\n          format: 'json/flat',\n          filter: 'isGlobal',\n        },\n        {\n          destination: 'json/tokens.json.alias.json',\n          format: 'json/flat',\n          filter: 'isAlias',\n        },\n        {\n          destination: 'json/tokens.json.cmp.json',\n          format: 'json/flat',\n          filter: 'isCmp',\n        },\n        {\n          destination: 'json/tokens.json.group.json',\n          format: 'json/flat',\n          filter: 'isGroup',\n        },\n        {\n          destination: 'json/tokens.json.brand.json',\n          format: 'json/flat',\n          filter: 'isBrand',\n        },\n      ],\n    },\n    'web/scss': {\n      transformGroup: 'tokens-scss',\n      buildPath: output,\n      files: [\n        {\n          destination: 'scss/dev/tokens.sass.all.scss',\n          format: 'scss/variables',\n          filter: 'isNotFigma',\n        },\n        {\n          destination: 'scss/dev/tokens.sass.global.scss',\n          format: 'scss/variables',\n          filter: 'isGlobal',\n        },\n        {\n          destination: 'scss/dev/tokens.sass.alias.scss',\n          format: 'scss/variables',\n          filter: 'isAlias',\n        },\n        {\n          destination: 'scss/tokens.sass.alias.scss',\n          format: 'scss/variables',\n          filter: 'isAlias',\n        },\n        {\n          destination: 'scss/dev/tokens.sass.cmp.scss',\n          format: 'scss/variables',\n          filter: 'isCmp',\n        },\n        {\n          destination: 'scss/tokens.sass.cmp.scss',\n          format: 'scss/variables',\n          filter: 'isCmp',\n        },\n        {\n          destination: 'scss/dev/tokens.sass.group.scss',\n          format: 'scss/variables',\n          filter: 'isGroup',\n        },\n        {\n          destination: 'scss/dev/tokens.sass.brand.scss',\n          format: 'scss/variables',\n          filter: 'isBrand',\n        },\n      ],\n    },\n    'web/css': {\n      transformGroup: 'tokens-css',\n      buildPath: output,\n      files: [\n        {\n          destination: 'css/dev/tokens.css.all.css',\n          format: 'css/variables',\n          filter: 'isNotFigma',\n        },\n        {\n          destination: 'css/dev/tokens.css.global.css',\n          format: 'css/variables',\n          filter: 'isGlobal',\n        },\n        {\n          destination: 'css/dev/tokens.css.alias.css',\n          format: 'css/variables',\n          filter: 'isAlias',\n        },\n        {\n          destination: 'css/tokens.css.alias.css',\n          format: 'css/variables',\n          filter: 'isAlias',\n        },\n        {\n          destination: 'css/dev/tokens.css.cmp.css',\n          format: 'css/variables',\n          filter: 'isCmp',\n        },\n        {\n          destination: 'css/tokens.css.cmp.css',\n          format: 'css/variables',\n          filter: 'isCmp',\n        },\n        {\n          destination: 'css/dev/tokens.css.group.css',\n          format: 'css/variables',\n          filter: 'isGroup',\n        },\n        {\n          destination: 'css/dev/tokens.css.brand.css',\n          format: 'css/variables',\n          filter: 'isBrand',\n        },\n      ],\n    },\n    figma: {\n      transformGroup: 'figma-alias',\n      buildPath: output,\n      files: [\n        // new Figma plugin format:\n        // https://www.figma.com/community/plugin/843461159747178978/Figma-Tokens\n        {\n          destination: 'figma/figma_base.json',\n          format: 'figma/figmatokens',\n          filter: 'isFigmaBase',\n        },\n        {\n          destination: 'figma/figma_scheme.json',\n          format: 'figma/figmatokens',\n          filter: 'isFigmaScheme',\n        },\n      ],\n    },\n  },\n});\n","export interface TokenTestable {\n  value: unknown;\n  name: string;\n}\n\nexport const validate = (tokens: TokenTestable[]) =>\n  tokens.reduce(\n    (acc: string[], cur: TokenTestable) =>\n      typeof cur.value !== 'string' &&\n      typeof cur.value !== 'number' &&\n      typeof cur.value !== 'object'\n        ? [...acc, cur.name]\n        : acc,\n    []\n  );\n"],"mappings":"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","names":["Scheme","format","format","format","format","format","format","format","flat","format","flat","format","format","format","format","isCmp","isAlias","transform","transform","text","transform","transform","transform","transform","transform","transform","transform","transform","transform","transform","filter","filter","filter","filter","filter","filter","filter","filter","filter","filter","filter","filter","filter","filter","filter","filter","figma","StyleDictionary","figma"]}