{"version":3,"file":"expand.mjs","sources":["../../../../../../packages/components/table/style/expand.ts"],"sourcesContent":["import type { CSSObject, GenerateStyle } from '@antdv/theme';\nimport type { TableToken } from './index';\nimport { operationUnit } from '@antdv/theme';\n\nconst genExpandStyle: GenerateStyle<TableToken, CSSObject> = (token) => {\n  const {\n    componentCls,\n    antCls,\n    controlInteractiveSize: checkboxSize,\n    motionDurationSlow,\n    lineWidth,\n    paddingXS,\n    lineType,\n    tableBorderColor,\n    tableExpandIconBg,\n    tableExpandColumnWidth,\n    borderRadius,\n    fontSize,\n    fontSizeSM,\n    lineHeight,\n    tablePaddingVertical,\n    tablePaddingHorizontal,\n    tableExpandedRowBg,\n    paddingXXS,\n  } = token;\n  const halfInnerSize = checkboxSize / 2 - lineWidth;\n  // must be odd number, unless it cannot align center\n  const expandIconSize = halfInnerSize * 2 + lineWidth * 3;\n  const tableBorder = `${lineWidth}px ${lineType} ${tableBorderColor}`;\n  const expandIconLineOffset = paddingXXS - lineWidth;\n\n  return {\n    [`${componentCls}-wrapper`]: {\n      [`${componentCls}-expand-icon-col`]: {\n        width: tableExpandColumnWidth,\n      },\n\n      [`${componentCls}-row-expand-icon-cell`]: {\n        textAlign: 'center',\n\n        [`${componentCls}-row-expand-icon`]: {\n          display: 'inline-flex',\n          float: 'none',\n          verticalAlign: 'sub',\n        },\n      },\n\n      [`${componentCls}-row-indent`]: {\n        height: 1,\n        float: 'left',\n      },\n\n      [`${componentCls}-row-expand-icon`]: {\n        ...operationUnit(token),\n        'position': 'relative',\n        'float': 'left',\n        'boxSizing': 'border-box',\n        'width': expandIconSize,\n        'height': expandIconSize,\n        'padding': 0,\n        'color': 'inherit',\n        'lineHeight': `${expandIconSize}px`,\n        'background': tableExpandIconBg,\n        'border': tableBorder,\n        borderRadius,\n        'transform': `scale(${checkboxSize / expandIconSize})`,\n        'transition': `all ${motionDurationSlow}`,\n        'userSelect': 'none',\n\n        '&:focus, &:hover, &:active': {\n          borderColor: 'currentcolor',\n        },\n\n        '&::before, &::after': {\n          position: 'absolute',\n          background: 'currentcolor',\n          transition: `transform ${motionDurationSlow} ease-out`,\n          content: '\"\"',\n        },\n\n        '&::before': {\n          top: halfInnerSize,\n          insetInlineEnd: expandIconLineOffset,\n          insetInlineStart: expandIconLineOffset,\n          height: lineWidth,\n        },\n\n        '&::after': {\n          top: expandIconLineOffset,\n          bottom: expandIconLineOffset,\n          insetInlineStart: halfInnerSize,\n          width: lineWidth,\n          transform: 'rotate(90deg)',\n        },\n\n        // Motion effect\n        '&-collapsed::before': {\n          transform: 'rotate(-180deg)',\n        },\n\n        '&-collapsed::after': {\n          transform: 'rotate(0deg)',\n        },\n\n        '&-spaced': {\n          '&::before, &::after': {\n            display: 'none',\n            content: 'none',\n          },\n          'background': 'transparent',\n          'border': 0,\n          'visibility': 'hidden',\n        },\n      },\n\n      [`${componentCls}-row-indent + ${componentCls}-row-expand-icon`]: {\n        marginTop:\n          (fontSize * lineHeight - lineWidth * 3) / 2\n          - Math.ceil((fontSizeSM * 1.4 - lineWidth * 3) / 2),\n        marginInlineEnd: paddingXS,\n      },\n\n      [`tr${componentCls}-expanded-row`]: {\n        '&, &:hover': {\n          '> td': {\n            background: tableExpandedRowBg,\n          },\n        },\n\n        // https://github.com/ant-design/ant-design/issues/25573\n        [`${antCls}-descriptions-view`]: {\n          display: 'flex',\n\n          table: {\n            flex: 'auto',\n            width: 'auto',\n          },\n        },\n      },\n\n      // With fixed\n      [`${componentCls}-expanded-row-fixed`]: {\n        position: 'relative',\n        margin: `-${tablePaddingVertical}px -${tablePaddingHorizontal}px`,\n        padding: `${tablePaddingVertical}px ${tablePaddingHorizontal}px`,\n      },\n    },\n  };\n};\n\nexport default genExpandStyle;\n"],"names":[],"mappings":"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"}