{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/progress/style/index.ts"],"sourcesContent":["import type { CSSObject, FullToken, GenerateStyle } from '@antdv/theme';\nimport { genComponentStyleHook, Keyframes, mergeToken, resetComponent } from '@antdv/theme';\n\nexport interface ComponentToken {}\n\ninterface ProgressToken extends FullToken<'Progress'> {\n  progressLineRadius: number\n  progressInfoTextColor: string\n  progressRemainingColor: string\n  progressDefaultColor: string\n  progressStepMinWidth: number\n  progressStepMarginInlineEnd: number\n  progressActiveMotionDuration: string\n}\n\nconst antProgressActive = new Keyframes('antProgressActive', {\n  '0%': {\n    transform: 'translateX(-100%) scaleX(0)',\n    opacity: 0.1,\n  },\n  '20%': {\n    transform: 'translateX(-100%) scaleX(0)',\n    opacity: 0.5,\n  },\n  'to': {\n    transform: 'translateX(0) scaleX(1)',\n    opacity: 0,\n  },\n});\n\nconst genBaseStyle: GenerateStyle<ProgressToken> = (token) => {\n  const { componentCls: progressCls, iconCls: iconPrefixCls } = token;\n\n  return {\n    [progressCls]: {\n      ...resetComponent(token),\n\n      'display': 'inline-block',\n\n      '&-rtl': {\n        direction: 'rtl',\n      },\n\n      '&-line': {\n        position: 'relative',\n        width: '100%',\n        fontSize: token.fontSize,\n        marginInlineEnd: token.marginXS,\n        marginBottom: token.marginXS,\n      },\n\n      [`${progressCls}-outer`]: {\n        display: 'inline-block',\n        width: '100%',\n      },\n\n      [`&${progressCls}-show-info`]: {\n        [`${progressCls}-outer`]: {\n          marginInlineEnd: `calc(-2em - ${token.marginXS}px)`,\n          paddingInlineEnd: `calc(2em + ${token.paddingXS}px)`,\n        },\n      },\n\n      [`${progressCls}-inner`]: {\n        position: 'relative',\n        display: 'inline-block',\n        width: '100%',\n        overflow: 'hidden',\n        verticalAlign: 'middle',\n        backgroundColor: token.progressRemainingColor,\n        borderRadius: token.progressLineRadius,\n      },\n\n      [`${progressCls}-inner:not(${progressCls}-circle-gradient)`]: {\n        [`${progressCls}-circle-path`]: {\n          stroke: token.colorInfo,\n        },\n      },\n\n      [`${progressCls}-success-bg, ${progressCls}-bg`]: {\n        position: 'relative',\n        backgroundColor: token.colorInfo,\n        borderRadius: token.progressLineRadius,\n        transition: `all ${token.motionDurationSlow} ${token.motionEaseInOutCirc}`,\n      },\n\n      [`${progressCls}-success-bg`]: {\n        position: 'absolute',\n        insetBlockStart: 0,\n        insetInlineStart: 0,\n        backgroundColor: token.colorSuccess,\n      },\n\n      [`${progressCls}-text`]: {\n        display: 'inline-block',\n        width: '2em',\n        marginInlineStart: token.marginXS,\n        color: token.progressInfoTextColor,\n        lineHeight: 1,\n        whiteSpace: 'nowrap',\n        textAlign: 'start',\n        verticalAlign: 'middle',\n        wordBreak: 'normal',\n        [iconPrefixCls]: {\n          fontSize: token.fontSize,\n        },\n      },\n\n      [`&${progressCls}-status-active`]: {\n        [`${progressCls}-bg::before`]: {\n          position: 'absolute',\n          inset: 0,\n          backgroundColor: token.colorBgContainer,\n          borderRadius: token.progressLineRadius,\n          opacity: 0,\n          animationName: antProgressActive,\n          animationDuration: token.progressActiveMotionDuration,\n          animationTimingFunction: token.motionEaseOutQuint,\n          animationIterationCount: 'infinite',\n          content: '\"\"',\n        },\n      },\n\n      [`&${progressCls}-status-exception`]: {\n        [`${progressCls}-bg`]: {\n          backgroundColor: token.colorError,\n        },\n        [`${progressCls}-text`]: {\n          color: token.colorError,\n        },\n      },\n\n      [`&${progressCls}-status-exception ${progressCls}-inner:not(${progressCls}-circle-gradient)`]:\n        {\n          [`${progressCls}-circle-path`]: {\n            stroke: token.colorError,\n          },\n        },\n\n      [`&${progressCls}-status-success`]: {\n        [`${progressCls}-bg`]: {\n          backgroundColor: token.colorSuccess,\n        },\n        [`${progressCls}-text`]: {\n          color: token.colorSuccess,\n        },\n      },\n\n      [`&${progressCls}-status-success ${progressCls}-inner:not(${progressCls}-circle-gradient)`]: {\n        [`${progressCls}-circle-path`]: {\n          stroke: token.colorSuccess,\n        },\n      },\n    },\n  };\n};\n\nconst genCircleStyle: GenerateStyle<ProgressToken> = (token) => {\n  const { componentCls: progressCls, iconCls: iconPrefixCls } = token;\n\n  return {\n    [progressCls]: {\n      [`${progressCls}-circle-trail`]: {\n        stroke: token.progressRemainingColor,\n      },\n\n      [`&${progressCls}-circle ${progressCls}-inner`]: {\n        position: 'relative',\n        lineHeight: 1,\n        backgroundColor: 'transparent',\n      },\n\n      [`&${progressCls}-circle ${progressCls}-text`]: {\n        position: 'absolute',\n        insetBlockStart: '50%',\n        insetInlineStart: 0,\n        width: '100%',\n        margin: 0,\n        padding: 0,\n        color: token.colorText,\n        lineHeight: 1,\n        whiteSpace: 'normal',\n        textAlign: 'center',\n        transform: 'translateY(-50%)',\n\n        [iconPrefixCls]: {\n          fontSize: `${token.fontSize / token.fontSizeSM}em`,\n        },\n      },\n\n      [`${progressCls}-circle&-status-exception`]: {\n        [`${progressCls}-text`]: {\n          color: token.colorError,\n        },\n      },\n\n      [`${progressCls}-circle&-status-success`]: {\n        [`${progressCls}-text`]: {\n          color: token.colorSuccess,\n        },\n      },\n    },\n    [`${progressCls}-inline-circle`]: {\n      lineHeight: 1,\n      [`${progressCls}-inner`]: {\n        verticalAlign: 'bottom',\n      },\n    },\n  };\n};\n\nconst genStepStyle: GenerateStyle<ProgressToken> = (token: ProgressToken): CSSObject => {\n  const { componentCls: progressCls } = token;\n\n  return {\n    [progressCls]: {\n      [`${progressCls}-steps`]: {\n        'display': 'inline-block',\n        '&-outer': {\n          display: 'flex',\n          flexDirection: 'row',\n          alignItems: 'center',\n        },\n        '&-item': {\n          'flexShrink': 0,\n          'minWidth': token.progressStepMinWidth,\n          'marginInlineEnd': token.progressStepMarginInlineEnd,\n          'backgroundColor': token.progressRemainingColor,\n          'transition': `all ${token.motionDurationSlow}`,\n\n          '&-active': {\n            backgroundColor: token.colorInfo,\n          },\n        },\n      },\n    },\n  };\n};\n\nconst genSmallLine: GenerateStyle<ProgressToken> = (token: ProgressToken): CSSObject => {\n  const { componentCls: progressCls, iconCls: iconPrefixCls } = token;\n\n  return {\n    [progressCls]: {\n      [`${progressCls}-small&-line, ${progressCls}-small&-line ${progressCls}-text ${iconPrefixCls}`]:\n        {\n          fontSize: token.fontSizeSM,\n        },\n    },\n  };\n};\n\nexport default genComponentStyleHook('Progress', (token) => {\n  const progressStepMarginInlineEnd = token.marginXXS / 2;\n\n  const progressToken = mergeToken<ProgressToken>(token, {\n    progressLineRadius: 100, // magic for capsule shape, should be a very large number\n    progressInfoTextColor: token.colorText,\n    progressDefaultColor: token.colorInfo,\n    progressRemainingColor: token.colorFillSecondary,\n    progressStepMarginInlineEnd,\n    progressStepMinWidth: progressStepMarginInlineEnd,\n    progressActiveMotionDuration: '2.4s',\n  });\n  return [\n    genBaseStyle(progressToken),\n    genCircleStyle(progressToken),\n    genStepStyle(progressToken),\n    genSmallLine(progressToken),\n  ];\n});\n"],"names":["Keyframes","mergeToken"],"mappings":"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"}