Blame view

天文台pc/tianwentai-ui/node_modules/@emotion/react/src/keyframes.ts 654 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  import { CSSInterpolation } from '@emotion/serialize'
  import css from './css'
  
  type Keyframes = {
    name: string
    styles: string
    anim: 1
    toString: () => string
  } & string
  
  export function keyframes(
    template: TemplateStringsArray,
    ...args: CSSInterpolation[]
  ): Keyframes
  export function keyframes(...args: CSSInterpolation[]): Keyframes
  export function keyframes(...args: CSSInterpolation[]) {
    let insertable = css(...args)
    const name = `animation-${insertable.name}`
    return {
      name,
      styles: `@keyframes ${name}{${insertable.styles}}`,
      anim: 1,
      toString() {
        return `_EMO_${this.name}_${this.styles}_EMO_`
      }
    }
  }