{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/tour/style/index.ts"],"sourcesContent":["import type { FullToken, GenerateStyle } from '@antdv/theme';\nimport { genComponentStyleHook, mergeToken, resetComponent } from '@antdv/theme';\nimport getArrowStyle, { MAX_VERTICAL_CONTENT_RADIUS } from '@antdv/theme/style/placementArrow';\nimport { TinyColor } from '@ctrl/tinycolor';\n\nexport interface ComponentToken {}\n\ninterface TourToken extends FullToken<'Tour'> {\n  tourZIndexPopup: number\n  indicatorWidth: number\n  indicatorHeight: number\n  tourBorderRadius: number\n  tourCloseSize: number\n}\n\n// =============================== Base ===============================\nconst genBaseStyle: GenerateStyle<TourToken> = (token) => {\n  const {\n    componentCls,\n    lineHeight,\n    padding,\n    paddingXS,\n    borderRadius,\n    borderRadiusXS,\n    colorPrimary,\n    colorText,\n    colorFill,\n    indicatorHeight,\n    indicatorWidth,\n    boxShadowTertiary,\n    tourZIndexPopup,\n    fontSize,\n    colorBgContainer,\n    fontWeightStrong,\n    marginXS,\n    colorTextLightSolid,\n    tourBorderRadius,\n    colorWhite,\n    colorBgTextHover,\n    tourCloseSize,\n    motionDurationSlow,\n    antCls,\n  } = token;\n\n  return [\n    {\n      [componentCls]: {\n        ...resetComponent(token),\n\n        'color': colorText,\n        'position': 'absolute',\n        'zIndex': tourZIndexPopup,\n        'display': 'block',\n        'visibility': 'visible',\n        fontSize,\n        lineHeight,\n        'width': 520,\n        '--antd-arrow-background-color': colorBgContainer,\n\n        '&-pure': {\n          maxWidth: '100%',\n          position: 'relative',\n        },\n\n        [`&${componentCls}-hidden`]: {\n          display: 'none',\n        },\n\n        // ============================= panel content ============================\n        [`${componentCls}-content`]: {\n          position: 'relative',\n        },\n        [`${componentCls}-inner`]: {\n          textAlign: 'start',\n          textDecoration: 'none',\n          borderRadius: tourBorderRadius,\n          boxShadow: boxShadowTertiary,\n          position: 'relative',\n          backgroundColor: colorBgContainer,\n          border: 'none',\n          backgroundClip: 'padding-box',\n\n          [`${componentCls}-close`]: {\n            'position': 'absolute',\n            'top': padding,\n            'insetInlineEnd': padding,\n            'color': token.colorIcon,\n            'outline': 'none',\n            'width': tourCloseSize,\n            'height': tourCloseSize,\n            'borderRadius': token.borderRadiusSM,\n            'transition': `background-color ${token.motionDurationMid}, color ${token.motionDurationMid}`,\n            'display': 'flex',\n            'alignItems': 'center',\n            'justifyContent': 'center',\n\n            '&:hover': {\n              color: token.colorIconHover,\n              backgroundColor: token.wireframe ? 'transparent' : token.colorFillContent,\n            },\n          },\n\n          [`${componentCls}-cover`]: {\n            textAlign: 'center',\n            padding: `${padding + tourCloseSize + paddingXS}px ${padding}px 0`,\n            img: {\n              width: '100%',\n            },\n          },\n          [`${componentCls}-header`]: {\n            padding: `${padding}px ${padding}px ${paddingXS}px`,\n\n            [`${componentCls}-title`]: {\n              lineHeight,\n              fontSize,\n              fontWeight: fontWeightStrong,\n            },\n          },\n\n          [`${componentCls}-description`]: {\n            padding: `0 ${padding}px`,\n            lineHeight,\n            wordWrap: 'break-word',\n          },\n\n          [`${componentCls}-footer`]: {\n            padding: `${paddingXS}px ${padding}px ${padding}px`,\n            textAlign: 'end',\n            borderRadius: `0 0 ${borderRadiusXS}px ${borderRadiusXS}px`,\n            display: 'flex',\n            [`${componentCls}-indicators`]: {\n              display: 'inline-block',\n\n              [`${componentCls}-indicator`]: {\n                'width': indicatorWidth,\n                'height': indicatorHeight,\n                'display': 'inline-block',\n                'borderRadius': '50%',\n                'background': colorFill,\n                '&:not(:last-child)': {\n                  marginInlineEnd: indicatorHeight,\n                },\n                '&-active': {\n                  background: colorPrimary,\n                },\n              },\n            },\n            [`${componentCls}-buttons`]: {\n              marginInlineStart: 'auto',\n              [`${antCls}-btn`]: {\n                marginInlineStart: marginXS,\n              },\n            },\n          },\n        },\n\n        // =============================  primary type  ===========================\n        // `$` for panel, `&$` for pure panel\n        [`${componentCls}-primary, &${componentCls}-primary`]: {\n          '--antd-arrow-background-color': colorPrimary,\n\n          [`${componentCls}-inner`]: {\n            color: colorTextLightSolid,\n            textAlign: 'start',\n            textDecoration: 'none',\n            backgroundColor: colorPrimary,\n            borderRadius,\n            boxShadow: boxShadowTertiary,\n\n            [`${componentCls}-close`]: {\n              color: colorTextLightSolid,\n            },\n\n            [`${componentCls}-indicators`]: {\n              [`${componentCls}-indicator`]: {\n                'background': new TinyColor(colorTextLightSolid).setAlpha(0.15).toRgbString(),\n                '&-active': {\n                  background: colorTextLightSolid,\n                },\n              },\n            },\n\n            [`${componentCls}-prev-btn`]: {\n              'color': colorTextLightSolid,\n              'borderColor': new TinyColor(colorTextLightSolid).setAlpha(0.15).toRgbString(),\n              'backgroundColor': colorPrimary,\n\n              '&:hover': {\n                backgroundColor: new TinyColor(colorTextLightSolid).setAlpha(0.15).toRgbString(),\n                borderColor: 'transparent',\n              },\n            },\n\n            [`${componentCls}-next-btn`]: {\n              'color': colorPrimary,\n              'borderColor': 'transparent',\n              'background': colorWhite,\n\n              '&:hover': {\n                background: new TinyColor(colorBgTextHover).onBackground(colorWhite).toRgbString(),\n              },\n            },\n          },\n        },\n      },\n\n      // ============================= mask ===========================\n      [`${componentCls}-mask`]: {\n        [`${componentCls}-placeholder-animated`]: {\n          transition: `all ${motionDurationSlow}`,\n        },\n      },\n\n      // =========== Limit left and right placement radius ==============\n      [[\n        '&-placement-left',\n        '&-placement-leftTop',\n        '&-placement-leftBottom',\n        '&-placement-right',\n        '&-placement-rightTop',\n        '&-placement-rightBottom',\n      ].join(',')]: {\n        [`${componentCls}-inner`]: {\n          borderRadius: Math.min(tourBorderRadius, MAX_VERTICAL_CONTENT_RADIUS),\n        },\n      },\n    },\n\n    // ============================= Arrow ===========================\n    getArrowStyle<TourToken>(token, {\n      colorBg: 'var(--antd-arrow-background-color)',\n      contentRadius: tourBorderRadius,\n      limitVerticalRadius: true,\n    }),\n  ];\n};\n\n// ============================== Export ==============================\nexport default genComponentStyleHook('Tour', (token) => {\n  const { borderRadiusLG, fontSize, lineHeight } = token;\n  const TourToken = mergeToken<TourToken>(token, {\n    tourZIndexPopup: token.zIndexPopupBase + 70,\n    indicatorWidth: 6,\n    indicatorHeight: 6,\n    tourBorderRadius: borderRadiusLG,\n    tourCloseSize: fontSize * lineHeight,\n  });\n  return [genBaseStyle(TourToken)];\n});\n"],"names":["mergeToken"],"mappings":"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"}