{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/flex/style/index.ts"],"sourcesContent":["import type { CSSInterpolation, FullToken, GenerateStyle } from '@antdv/theme';\nimport { genComponentStyleHook, mergeToken } from '@antdv/theme';\nimport { alignItemsValues, flexWrapValues, justifyContentValues } from '../src/util';\n\n/** Component only token. Which will handle additional calculation of alias token */\nexport interface ComponentToken {\n  // Component token here\n}\n\nexport interface FlexToken extends FullToken<'Flex'> {\n  /**\n   * @nameZH 小间隙\n   * @nameEN Small Gap\n   * @desc 控制元素的小间隙。\n   * @descEN Control the small gap of the element.\n   */\n  flexGapSM: number\n  /**\n   * @nameZH 间隙\n   * @nameEN Gap\n   * @desc 控制元素的间隙。\n   * @descEN Control the gap of the element.\n   */\n  flexGap: number\n  /**\n   * @nameZH 大间隙\n   * @nameEN Large Gap\n   * @desc 控制元素的大间隙。\n   * @descEN Control the large gap of the element.\n   */\n  flexGapLG: number\n}\n\nconst genFlexStyle: GenerateStyle<FlexToken> = (token) => {\n  const { componentCls } = token;\n  return {\n    [componentCls]: {\n      'display': 'flex',\n      '&-vertical': {\n        flexDirection: 'column',\n      },\n      '&-rtl': {\n        direction: 'rtl',\n      },\n      '&:empty': {\n        display: 'none',\n      },\n    },\n  };\n};\n\nconst genFlexGapStyle: GenerateStyle<FlexToken> = (token) => {\n  const { componentCls } = token;\n  return {\n    [componentCls]: {\n      '&-gap-small': {\n        gap: token.flexGapSM,\n      },\n      '&-gap-middle': {\n        gap: token.flexGap,\n      },\n      '&-gap-large': {\n        gap: token.flexGapLG,\n      },\n    },\n  };\n};\n\nconst genFlexWrapStyle: GenerateStyle<FlexToken> = (token) => {\n  const { componentCls } = token;\n  const wrapStyle: CSSInterpolation = {};\n  flexWrapValues.forEach((value) => {\n    wrapStyle[`${componentCls}-wrap-${value}`] = { flexWrap: value };\n  });\n  return wrapStyle;\n};\n\nconst genAlignItemsStyle: GenerateStyle<FlexToken> = (token) => {\n  const { componentCls } = token;\n  const alignStyle: CSSInterpolation = {};\n  alignItemsValues.forEach((value) => {\n    alignStyle[`${componentCls}-align-${value}`] = { alignItems: value };\n  });\n  return alignStyle;\n};\n\nconst genJustifyContentStyle: GenerateStyle<FlexToken> = (token) => {\n  const { componentCls } = token;\n  const justifyStyle: CSSInterpolation = {};\n  justifyContentValues.forEach((value) => {\n    justifyStyle[`${componentCls}-justify-${value}`] = { justifyContent: value };\n  });\n  return justifyStyle;\n};\n\nexport default genComponentStyleHook<'Flex'>('Flex', (token) => {\n  const flexToken = mergeToken<FlexToken>(token, {\n    flexGapSM: token.paddingXS,\n    flexGap: token.padding,\n    flexGapLG: token.paddingLG,\n  });\n  return [\n    genFlexStyle(flexToken),\n    genFlexGapStyle(flexToken),\n    genFlexWrapStyle(flexToken),\n    genAlignItemsStyle(flexToken),\n    genJustifyContentStyle(flexToken),\n  ];\n});\n"],"names":["mergeToken"],"mappings":"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"}