{"version":3,"file":"index.cjs","sources":["../../../../../../packages/components/grid/style/index.ts"],"sourcesContent":["import type { CSSObject, FullToken, GenerateStyle } from '@antdv/theme';\nimport { genComponentStyleHook, mergeToken } from '@antdv/theme';\n\ninterface GridRowToken extends FullToken<'Grid'> {}\n\ninterface GridColToken extends FullToken<'Grid'> {\n  gridColumns: number\n}\n\n// ============================== Row-Shared ==============================\nconst genGridRowStyle: GenerateStyle<GridRowToken> = (token): CSSObject => {\n  const { componentCls } = token;\n\n  return {\n    // Grid system\n    [componentCls]: {\n      'display': 'flex',\n      'flexFlow': 'row wrap',\n      'minWidth': 0,\n\n      '&::before, &::after': {\n        display: 'flex',\n      },\n\n      '&-no-wrap': {\n        flexWrap: 'nowrap',\n      },\n\n      // The origin of the X-axis\n      '&-start': {\n        justifyContent: 'flex-start',\n      },\n\n      // The center of the X-axis\n      '&-center': {\n        justifyContent: 'center',\n      },\n\n      // The opposite of the X-axis\n      '&-end': {\n        justifyContent: 'flex-end',\n      },\n\n      '&-space-between': {\n        justifyContent: 'space-between',\n      },\n\n      '&-space-around ': {\n        justifyContent: 'space-around',\n      },\n      '&-space-evenly ': {\n        justifyContent: 'space-evenly',\n      },\n      // Align at the top\n      '&-top': {\n        alignItems: 'flex-start',\n      },\n\n      // Align at the center\n      '&-middle': {\n        alignItems: 'center',\n      },\n\n      '&-bottom': {\n        alignItems: 'flex-end',\n      },\n    },\n  };\n};\n\n// ============================== Col-Shared ==============================\nconst genGridColStyle: GenerateStyle<GridColToken> = (token): CSSObject => {\n  const { componentCls } = token;\n\n  return {\n    // Grid system\n    [componentCls]: {\n      position: 'relative',\n      maxWidth: '100%',\n      // Prevent columns from collapsing when empty\n      minHeight: 1,\n    },\n  };\n};\n\nfunction genLoopGridColumnsStyle(token: GridColToken, sizeCls: string): CSSObject {\n  const { componentCls, gridColumns } = token;\n\n  const gridColumnsStyle: CSSObject = {};\n  for (let i = gridColumns; i >= 0; i--) {\n    if (i === 0) {\n      gridColumnsStyle[`${componentCls}${sizeCls}-${i}`] = {\n        display: 'none',\n      };\n      gridColumnsStyle[`${componentCls}-push-${i}`] = {\n        insetInlineStart: 'auto',\n      };\n      gridColumnsStyle[`${componentCls}-pull-${i}`] = {\n        insetInlineEnd: 'auto',\n      };\n      gridColumnsStyle[`${componentCls}${sizeCls}-push-${i}`] = {\n        insetInlineStart: 'auto',\n      };\n      gridColumnsStyle[`${componentCls}${sizeCls}-pull-${i}`] = {\n        insetInlineEnd: 'auto',\n      };\n      gridColumnsStyle[`${componentCls}${sizeCls}-offset-${i}`] = {\n        marginInlineEnd: 0,\n      };\n      gridColumnsStyle[`${componentCls}${sizeCls}-order-${i}`] = {\n        order: 0,\n      };\n    } else {\n      gridColumnsStyle[`${componentCls}${sizeCls}-${i}`] = {\n        display: 'block',\n        flex: `0 0 ${(i / gridColumns) * 100}%`,\n        maxWidth: `${(i / gridColumns) * 100}%`,\n      };\n      gridColumnsStyle[`${componentCls}${sizeCls}-push-${i}`] = {\n        insetInlineStart: `${(i / gridColumns) * 100}%`,\n      };\n      gridColumnsStyle[`${componentCls}${sizeCls}-pull-${i}`] = {\n        insetInlineEnd: `${(i / gridColumns) * 100}%`,\n      };\n      gridColumnsStyle[`${componentCls}${sizeCls}-offset-${i}`] = {\n        marginInlineStart: `${(i / gridColumns) * 100}%`,\n      };\n      gridColumnsStyle[`${componentCls}${sizeCls}-order-${i}`] = {\n        order: i,\n      };\n    }\n  }\n\n  return gridColumnsStyle;\n}\n\nfunction genGridStyle(token: GridColToken, sizeCls: string): CSSObject {\n  return genLoopGridColumnsStyle(token, sizeCls);\n}\n\nfunction genGridMediaStyle(token: GridColToken, screenSize: number, sizeCls: string): CSSObject {\n  return {\n    [`@media (min-width: ${screenSize}px)`]: {\n      ...genGridStyle(token, sizeCls),\n    },\n  };\n}\n\n// ============================== Export ==============================\nexport const useRowStyle = genComponentStyleHook('Grid', token => [genGridRowStyle(token)]);\n\nexport const useColStyle = genComponentStyleHook('Grid', (token) => {\n  const gridToken: GridColToken = mergeToken<GridColToken>(token, {\n    gridColumns: 24, // Row is divided into 24 parts in Grid\n  });\n\n  const gridMediaSizesMap = {\n    '-sm': gridToken.screenSMMin,\n    '-md': gridToken.screenMDMin,\n    '-lg': gridToken.screenLGMin,\n    '-xl': gridToken.screenXLMin,\n    '-xxl': gridToken.screenXXLMin,\n  };\n\n  return [\n    genGridColStyle(gridToken),\n    genGridStyle(gridToken, ''),\n    genGridStyle(gridToken, '-xs'),\n    Object.keys(gridMediaSizesMap)\n      .map((key: keyof typeof gridMediaSizesMap) => genGridMediaStyle(gridToken, gridMediaSizesMap[key], key))\n      .reduce((pre, cur) => ({ ...pre, ...cur }), {}),\n  ];\n});\n"],"names":["genComponentStyleHook","mergeToken"],"mappings":"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"}