{"version":3,"file":"createSpacing.cjs","sources":["../../src/themes/createSpacing.ts"],"sourcesContent":["import { defaultHtmlFontSize } from './createFontSize'\nexport const defaultBaseSize = defaultHtmlFontSize / 2\n\nexport type SpacingProperty = {\n  baseSize?: number\n}\n\nexport type CreatedSpacingTheme = {\n  X3S: string\n  XXS: string\n  XS: string\n  S: string\n  M: string\n  L: string\n  XL: string\n  XXL: string\n  X3L: string\n}\n\nexport type CreatedSpacingByCharTheme = (size: CharRelativeSize) => string\n\nexport const primitiveTokens = [\n  0, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 2, 2.5, 3, 3.5, 4, 8, -0.25, -0.5, -0.75, -1, -1.25, -1.5, -2,\n  -2.5, -3, -3.5, -4, -8,\n] as const\n\nexport type CharRelativeSize = (typeof primitiveTokens)[number]\nexport type AbstractSize = keyof CreatedSpacingTheme\n\nconst getSpacing = (baseSize: number) => {\n  const spacings = getSpacingByChar(baseSize)\n\n  return {\n    X3S: spacings[0.25],\n    XXS: spacings[0.5],\n    XS: spacings[1],\n    S: spacings[1.5],\n    M: spacings[2],\n    L: spacings[2.5],\n    XL: spacings[3],\n    XXL: spacings[3.5],\n    X3L: spacings[4],\n    NONE: spacings[0],\n  }\n}\n\nconst getSpacingByChar = (baseSize: number) => {\n  const charSize = baseSize * 2\n\n  return primitiveTokens.reduce(\n    (prev, size) => {\n      prev[size] = size ? `${charSize * size}px` : '0'\n\n      return prev\n    },\n    {} as { [key: string]: string },\n  )\n}\n\nexport const createSpacing = (userBaseSize: number = defaultBaseSize) => getSpacing(userBaseSize)\nexport const createSpacingByChar = (userBaseSize: number = defaultBaseSize) => {\n  const spacings = getSpacingByChar(userBaseSize)\n\n  return (size: CharRelativeSize) => spacings[size]\n}\n\nexport const defaultSpacing = createSpacing()\n"],"names":["defaultHtmlFontSize"],"mappings":";;;;AACO,MAAM,eAAe,GAAGA,yCAAmB,GAAG;AAoB9C,MAAM,eAAe,GAAG;IAC7B,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;AAC/F,IAAA,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;;AAMxB,MAAM,UAAU,GAAG,CAAC,QAAgB,KAAI;AACtC,IAAA,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;IAE3C,OAAO;AACL,QAAA,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC;AACnB,QAAA,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;AAClB,QAAA,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;AACf,QAAA,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;AAChB,QAAA,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AACd,QAAA,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;AAChB,QAAA,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;AACf,QAAA,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;AAClB,QAAA,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChB,QAAA,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;KAClB;AACH,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,QAAgB,KAAI;AAC5C,IAAA,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC;IAE7B,OAAO,eAAe,CAAC,MAAM,CAC3B,CAAC,IAAI,EAAE,IAAI,KAAI;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAA,EAAG,QAAQ,GAAG,IAAI,CAAA,EAAA,CAAI,GAAG,GAAG;AAEhD,QAAA,OAAO,IAAI;IACb,CAAC,EACD,EAA+B,CAChC;AACH,CAAC;AAEM,MAAM,aAAa,GAAG,CAAC,YAAA,GAAuB,eAAe,KAAK,UAAU,CAAC,YAAY;MACnF,mBAAmB,GAAG,CAAC,YAAA,GAAuB,eAAe,KAAI;AAC5E,IAAA,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC;IAE/C,OAAO,CAAC,IAAsB,KAAK,QAAQ,CAAC,IAAI,CAAC;AACnD;AAEO,MAAM,cAAc,GAAG,aAAa;;;;;;;;"}