{"version":3,"file":"index.cjs","sources":["../../../../../../packages/components/spin/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  contentHeight: number\n}\n\ninterface SpinToken extends FullToken<'Spin'> {\n  spinDotDefault: string\n  spinDotSize: number\n  spinDotSizeSM: number\n  spinDotSizeLG: number\n}\n\nconst antSpinMove = new Keyframes('antSpinMove', {\n  to: { opacity: 1 },\n});\n\nconst antRotate = new Keyframes('antRotate', {\n  to: { transform: 'rotate(405deg)' },\n});\n\nconst genSpinStyle: GenerateStyle<SpinToken> = (token: SpinToken): CSSObject => ({\n  [`${token.componentCls}`]: {\n    ...resetComponent(token),\n    'position': 'absolute',\n    'display': 'none',\n    'color': token.colorPrimary,\n    'textAlign': 'center',\n    'verticalAlign': 'middle',\n    'opacity': 0,\n    'transition': `transform ${token.motionDurationSlow} ${token.motionEaseInOutCirc}`,\n\n    '&-spinning': {\n      position: 'static',\n      display: 'inline-block',\n      opacity: 1,\n    },\n\n    '&-nested-loading': {\n      position: 'relative',\n      [`> div > ${token.componentCls}`]: {\n        'position': 'absolute',\n        'top': 0,\n        'insetInlineStart': 0,\n        'zIndex': 4,\n        'display': 'block',\n        'width': '100%',\n        'height': '100%',\n        'maxHeight': token.contentHeight,\n\n        [`${token.componentCls}-dot`]: {\n          position: 'absolute',\n          top: '50%',\n          insetInlineStart: '50%',\n          margin: -token.spinDotSize / 2,\n        },\n\n        [`${token.componentCls}-text`]: {\n          position: 'absolute',\n          top: '50%',\n          width: '100%',\n          paddingTop: (token.spinDotSize - token.fontSize) / 2 + 2,\n          textShadow: `0 1px 2px ${token.colorBgContainer}`, // FIXME: shadow\n        },\n\n        [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n          marginTop: -(token.spinDotSize / 2) - 10,\n        },\n\n        '&-sm': {\n          [`${token.componentCls}-dot`]: {\n            margin: -token.spinDotSizeSM / 2,\n          },\n          [`${token.componentCls}-text`]: {\n            paddingTop: (token.spinDotSizeSM - token.fontSize) / 2 + 2,\n          },\n          [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n            marginTop: -(token.spinDotSizeSM / 2) - 10,\n          },\n        },\n\n        '&-lg': {\n          [`${token.componentCls}-dot`]: {\n            margin: -(token.spinDotSizeLG / 2),\n          },\n          [`${token.componentCls}-text`]: {\n            paddingTop: (token.spinDotSizeLG - token.fontSize) / 2 + 2,\n          },\n          [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n            marginTop: -(token.spinDotSizeLG / 2) - 10,\n          },\n        },\n      },\n\n      [`${token.componentCls}-container`]: {\n        'position': 'relative',\n        'transition': `opacity ${token.motionDurationSlow}`,\n\n        '&::after': {\n          position: 'absolute',\n          top: 0,\n          insetInlineEnd: 0,\n          bottom: 0,\n          insetInlineStart: 0,\n          zIndex: 10,\n          width: '100%',\n          height: '100%',\n          background: token.colorBgContainer,\n          opacity: 0,\n          transition: `all ${token.motionDurationSlow}`,\n          content: '\"\"',\n          pointerEvents: 'none',\n        },\n      },\n\n      [`${token.componentCls}-blur`]: {\n        'clear': 'both',\n        'opacity': 0.5,\n        'userSelect': 'none',\n        'pointerEvents': 'none',\n\n        '&::after': {\n          opacity: 0.4,\n          pointerEvents: 'auto',\n        },\n      },\n    },\n\n    // tip\n    // ------------------------------\n    '&-tip': {\n      color: token.spinDotDefault,\n    },\n\n    // dots\n    // ------------------------------\n    [`${token.componentCls}-dot`]: {\n      'position': 'relative',\n      'display': 'inline-block',\n      'fontSize': token.spinDotSize,\n      'width': '1em',\n      'height': '1em',\n\n      '&-item': {\n        'position': 'absolute',\n        'display': 'block',\n        'width': (token.spinDotSize - token.marginXXS / 2) / 2,\n        'height': (token.spinDotSize - token.marginXXS / 2) / 2,\n        'backgroundColor': token.colorPrimary,\n        'borderRadius': '100%',\n        'transform': 'scale(0.75)',\n        'transformOrigin': '50% 50%',\n        'opacity': 0.3,\n        'animationName': antSpinMove,\n        'animationDuration': '1s',\n        'animationIterationCount': 'infinite',\n        'animationTimingFunction': 'linear',\n        'animationDirection': 'alternate',\n\n        '&:nth-child(1)': {\n          top: 0,\n          insetInlineStart: 0,\n        },\n\n        '&:nth-child(2)': {\n          top: 0,\n          insetInlineEnd: 0,\n          animationDelay: '0.4s',\n        },\n\n        '&:nth-child(3)': {\n          insetInlineEnd: 0,\n          bottom: 0,\n          animationDelay: '0.8s',\n        },\n\n        '&:nth-child(4)': {\n          bottom: 0,\n          insetInlineStart: 0,\n          animationDelay: '1.2s',\n        },\n      },\n\n      '&-spin': {\n        transform: 'rotate(45deg)',\n        animationName: antRotate,\n        animationDuration: '1.2s',\n        animationIterationCount: 'infinite',\n        animationTimingFunction: 'linear',\n      },\n    },\n\n    // Sizes\n    // ------------------------------\n\n    // small\n    [`&-sm ${token.componentCls}-dot`]: {\n      fontSize: token.spinDotSizeSM,\n\n      i: {\n        width: (token.spinDotSizeSM - token.marginXXS / 2) / 2,\n        height: (token.spinDotSizeSM - token.marginXXS / 2) / 2,\n      },\n    },\n\n    // large\n    [`&-lg ${token.componentCls}-dot`]: {\n      fontSize: token.spinDotSizeLG,\n\n      i: {\n        width: (token.spinDotSizeLG - token.marginXXS) / 2,\n        height: (token.spinDotSizeLG - token.marginXXS) / 2,\n      },\n    },\n\n    [`&${token.componentCls}-show-text ${token.componentCls}-text`]: {\n      display: 'block',\n    },\n  },\n});\n\n// ============================== Export ==============================\nexport default genComponentStyleHook(\n  'Spin',\n  (token) => {\n    const spinToken = mergeToken<SpinToken>(token, {\n      spinDotDefault: token.colorTextDescription,\n      spinDotSize: token.controlHeightLG / 2,\n      spinDotSizeSM: token.controlHeightLG * 0.35,\n      spinDotSizeLG: token.controlHeight,\n    });\n    return [genSpinStyle(spinToken)];\n  },\n  {\n    contentHeight: 400,\n  },\n);\n"],"names":["Keyframes","resetComponent","genComponentStyleHook","mergeToken"],"mappings":"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"}