@ehfuse/react-vfx 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -0
- package/dist/VfxTyping.d.ts +34 -0
- package/dist/VfxTyping.d.ts.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +103 -99
- package/dist/index.esm.js.map +4 -4
- package/dist/index.js +124 -120
- package/dist/index.js.map +4 -4
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -4
- package/dist/VfxDiv.backup.d.ts +0 -28
- package/dist/VfxDiv.backup.d.ts.map +0 -1
- package/dist/VfxText.backup.d.ts +0 -28
- package/dist/VfxText.backup.d.ts.map +0 -1
- package/dist/border-effects/dash-flow.d.ts +0 -11
- package/dist/border-effects/dash-flow.d.ts.map +0 -1
- package/dist/border-effects/dash-rotate.d.ts +0 -12
- package/dist/border-effects/dash-rotate.d.ts.map +0 -1
- package/dist/border-effects/index.d.ts +0 -16
- package/dist/border-effects/index.d.ts.map +0 -1
- package/dist/border-effects/pulse.d.ts +0 -11
- package/dist/border-effects/pulse.d.ts.map +0 -1
- package/dist/border-effects/sparkle.d.ts +0 -12
- package/dist/border-effects/sparkle.d.ts.map +0 -1
- package/dist/border-effects/special.d.ts +0 -8
- package/dist/border-effects/special.d.ts.map +0 -1
- package/dist/border-effects/types.d.ts +0 -25
- package/dist/border-effects/types.d.ts.map +0 -1
- package/dist/particles/balloons.d.ts +0 -6
- package/dist/particles/balloons.d.ts.map +0 -1
- package/dist/particles/bubbles.d.ts +0 -7
- package/dist/particles/bubbles.d.ts.map +0 -1
- package/dist/particles/coins.d.ts +0 -6
- package/dist/particles/coins.d.ts.map +0 -1
- package/dist/particles/confetti.d.ts +0 -6
- package/dist/particles/confetti.d.ts.map +0 -1
- package/dist/particles/dust.d.ts +0 -6
- package/dist/particles/dust.d.ts.map +0 -1
- package/dist/particles/electric.d.ts +0 -6
- package/dist/particles/electric.d.ts.map +0 -1
- package/dist/particles/explosion.d.ts +0 -6
- package/dist/particles/explosion.d.ts.map +0 -1
- package/dist/particles/firefly.d.ts +0 -6
- package/dist/particles/firefly.d.ts.map +0 -1
- package/dist/particles/fireworks.d.ts +0 -6
- package/dist/particles/fireworks.d.ts.map +0 -1
- package/dist/particles/fog.d.ts +0 -6
- package/dist/particles/fog.d.ts.map +0 -1
- package/dist/particles/hearts.d.ts +0 -9
- package/dist/particles/hearts.d.ts.map +0 -1
- package/dist/particles/index.d.ts +0 -30
- package/dist/particles/index.d.ts.map +0 -1
- package/dist/particles/leaves.d.ts +0 -6
- package/dist/particles/leaves.d.ts.map +0 -1
- package/dist/particles/lightning.d.ts +0 -6
- package/dist/particles/lightning.d.ts.map +0 -1
- package/dist/particles/magic.d.ts +0 -6
- package/dist/particles/magic.d.ts.map +0 -1
- package/dist/particles/matrix.d.ts +0 -6
- package/dist/particles/matrix.d.ts.map +0 -1
- package/dist/particles/portal.d.ts +0 -6
- package/dist/particles/portal.d.ts.map +0 -1
- package/dist/particles/rain.d.ts +0 -6
- package/dist/particles/rain.d.ts.map +0 -1
- package/dist/particles/sakura.d.ts +0 -6
- package/dist/particles/sakura.d.ts.map +0 -1
- package/dist/particles/smoke.d.ts +0 -6
- package/dist/particles/smoke.d.ts.map +0 -1
- package/dist/particles/snow.d.ts +0 -6
- package/dist/particles/snow.d.ts.map +0 -1
- package/dist/particles/sparkle.d.ts +0 -6
- package/dist/particles/sparkle.d.ts.map +0 -1
- package/dist/particles/stars.d.ts +0 -7
- package/dist/particles/stars.d.ts.map +0 -1
- package/dist/particles/types.d.ts +0 -40
- package/dist/particles/types.d.ts.map +0 -1
- package/dist/slide-effects/drift.d.ts +0 -12
- package/dist/slide-effects/drift.d.ts.map +0 -1
- package/dist/slide-effects/fade.d.ts +0 -10
- package/dist/slide-effects/fade.d.ts.map +0 -1
- package/dist/slide-effects/flip.d.ts +0 -8
- package/dist/slide-effects/flip.d.ts.map +0 -1
- package/dist/slide-effects/index.d.ts +0 -28
- package/dist/slide-effects/index.d.ts.map +0 -1
- package/dist/slide-effects/rotate.d.ts +0 -9
- package/dist/slide-effects/rotate.d.ts.map +0 -1
- package/dist/slide-effects/slide.d.ts +0 -9
- package/dist/slide-effects/slide.d.ts.map +0 -1
- package/dist/slide-effects/special.d.ts +0 -10
- package/dist/slide-effects/special.d.ts.map +0 -1
- package/dist/slide-effects/types.d.ts +0 -25
- package/dist/slide-effects/types.d.ts.map +0 -1
- package/dist/slide-effects/zoom.d.ts +0 -11
- package/dist/slide-effects/zoom.d.ts.map +0 -1
- package/dist/text-effects/blink.d.ts +0 -6
- package/dist/text-effects/blink.d.ts.map +0 -1
- package/dist/text-effects/blur.d.ts +0 -6
- package/dist/text-effects/blur.d.ts.map +0 -1
- package/dist/text-effects/bounce.d.ts +0 -6
- package/dist/text-effects/bounce.d.ts.map +0 -1
- package/dist/text-effects/fade.d.ts +0 -6
- package/dist/text-effects/fade.d.ts.map +0 -1
- package/dist/text-effects/flowing.d.ts +0 -6
- package/dist/text-effects/flowing.d.ts.map +0 -1
- package/dist/text-effects/fly-in.d.ts +0 -6
- package/dist/text-effects/fly-in.d.ts.map +0 -1
- package/dist/text-effects/glitch.d.ts +0 -6
- package/dist/text-effects/glitch.d.ts.map +0 -1
- package/dist/text-effects/index.d.ts +0 -28
- package/dist/text-effects/index.d.ts.map +0 -1
- package/dist/text-effects/jitter.d.ts +0 -6
- package/dist/text-effects/jitter.d.ts.map +0 -1
- package/dist/text-effects/neon.d.ts +0 -6
- package/dist/text-effects/neon.d.ts.map +0 -1
- package/dist/text-effects/pulse.d.ts +0 -11
- package/dist/text-effects/pulse.d.ts.map +0 -1
- package/dist/text-effects/rainbow.d.ts +0 -6
- package/dist/text-effects/rainbow.d.ts.map +0 -1
- package/dist/text-effects/shake.d.ts +0 -6
- package/dist/text-effects/shake.d.ts.map +0 -1
- package/dist/text-effects/spin.d.ts +0 -8
- package/dist/text-effects/spin.d.ts.map +0 -1
- package/dist/text-effects/swing.d.ts +0 -7
- package/dist/text-effects/swing.d.ts.map +0 -1
- package/dist/text-effects/types.d.ts +0 -22
- package/dist/text-effects/types.d.ts.map +0 -1
- package/dist/text-effects/wave.d.ts +0 -6
- package/dist/text-effects/wave.d.ts.map +0 -1
- package/dist/text-effects/zoom.d.ts +0 -6
- package/dist/text-effects/zoom.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -12,6 +12,33 @@ MUI 없이 React에서 사용할 수 있는 시각 효과 라이브러리입니
|
|
|
12
12
|
<VfxText title="Hello" effect="typing" isActive={true} />
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
+
### VfxTyping (1.1.0)
|
|
16
|
+
|
|
17
|
+
문장 안에 끼워 쓰는 타이핑. 한 번 치고 멈추고(반복은 `loop`), 안 나온 글자 자리를 미리 잡아 아래 내용이 들썩이지 않습니다.
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
import { VfxTyping, typingDuration } from "@ehfuse/react-vfx";
|
|
21
|
+
|
|
22
|
+
const opts = { speed: 45, maxDuration: 1400 };
|
|
23
|
+
<p aria-label={`${line1} ${line2}`}>
|
|
24
|
+
<VfxTyping text={line1} delay={300} caret="wait" ariaHidden {...opts} />
|
|
25
|
+
<VfxTyping text={line2} delay={300 + typingDuration(line1, opts) + 250} ariaHidden {...opts} />
|
|
26
|
+
</p>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
| prop | 기본 | 설명 |
|
|
30
|
+
| --- | --- | --- |
|
|
31
|
+
| `delay` | 0 | 시작 전 기다림(ms) |
|
|
32
|
+
| `speed` | 45 | 한 글자 간격(ms) |
|
|
33
|
+
| `maxDuration` | - | 한 줄을 이 시간(ms) 안에 끝내게(긴 글은 더 빨리) |
|
|
34
|
+
| `loop` | false | `true` 면 2초 쉬고 다시, 숫자면 그만큼 쉬고 |
|
|
35
|
+
| `caret` | `"typing"` | `"typing"` 치는 동안 · `"wait"` 시작 전부터 · `"always"` · `"none"` |
|
|
36
|
+
| `reserveSpace` | true | 안 나온 글자를 투명하게 미리 그린다 |
|
|
37
|
+
| `as` | `"span"` | `"span"` · `"div"` |
|
|
38
|
+
| `respectReducedMotion` | true | 움직임 줄이기면 처음부터 다 보인다 |
|
|
39
|
+
|
|
40
|
+
커서 · 남은 글자 모양은 `.vfx-typing-caret` · `.vfx-typing-rest` 로 바꿉니다(패키지 스타일은 `:where()` 라 쓰는 쪽 CSS 가 이깁니다).
|
|
41
|
+
|
|
15
42
|
### VfxDiv
|
|
16
43
|
|
|
17
44
|
컨테이너에 테두리 효과를 적용합니다.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VfxTyping.tsx
|
|
3
|
+
* IMPORTANT NOTICE (중요 공지):
|
|
4
|
+
* This code is the intellectual property of 김영진 (Kim Young Jin).
|
|
5
|
+
* All rights reserved. Unauthorized copying, modification, distribution,
|
|
6
|
+
* or use of this code is strictly prohibited without prior written
|
|
7
|
+
* permission from the copyright holder.
|
|
8
|
+
* 이 코드는 김영진의 지적재산권입니다.
|
|
9
|
+
* 모든 권리가 보호됩니다. 저작권자의 사전 서면 허가 없이
|
|
10
|
+
* 무단 복사, 수정, 배포 또는 사용을 엄격히 금지합니다.
|
|
11
|
+
* For licensing inquiries, please contact (라이선스 문의):
|
|
12
|
+
* Email: ehfuse@gmail.com
|
|
13
|
+
*/
|
|
14
|
+
import React from "react";
|
|
15
|
+
import type { VfxTypingProps } from "./types";
|
|
16
|
+
/**
|
|
17
|
+
* 글을 다 치는 데 걸리는 시간(ms, 지연 제외) — 다음 줄의 delay 를 정할 때 쓴다(같은 speed · maxDuration 을 준다).
|
|
18
|
+
* 글자 수는 화면에 보이는 글자 기준(이모지 · 결합 문자도 한 글자).
|
|
19
|
+
*/
|
|
20
|
+
export declare const typingDuration: (text: string, options?: {
|
|
21
|
+
speed?: number;
|
|
22
|
+
maxDuration?: number;
|
|
23
|
+
}) => number;
|
|
24
|
+
/**
|
|
25
|
+
* 타이핑 효과(1.1.0) — 문장 안에 끼워 쓰는 한 줄 타이핑.
|
|
26
|
+
*
|
|
27
|
+
* - delay 뒤 한 글자씩. loop 를 주지 않으면 한 번 치고 멈춘다(VfxText effect="typing" 은 늘 반복한다).
|
|
28
|
+
* - reserveSpace(기본 켬): 아직 안 나온 글자를 투명하게 미리 그려 자리를 잡는다 — 치는 동안 줄 높이 · 아래 내용이 들썩이지 않는다.
|
|
29
|
+
* - caret: "typing"(치는 동안만, 기본) · "wait"(시작 전부터 치는 동안) · "always"(다 친 뒤에도) · "none".
|
|
30
|
+
* - 기기의 움직임 줄이기가 켜져 있으면 처음부터 다 보인다(respectReducedMotion, 기본 켬).
|
|
31
|
+
* - 글이 바뀌면 처음부터 다시 친다.
|
|
32
|
+
*/
|
|
33
|
+
export declare const VfxTyping: React.FC<VfxTypingProps>;
|
|
34
|
+
//# sourceMappingURL=VfxTyping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VfxTyping.d.ts","sourceRoot":"","sources":["../src/VfxTyping.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA8B9C;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,UAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,KAAG,MAGrG,CAAC;AAKF;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAqE9C,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export { VfxText, addTextEffectStyles } from "./VfxText";
|
|
2
|
+
export { VfxTyping, typingDuration } from "./VfxTyping";
|
|
2
3
|
export { VfxDiv, addBorderEffectStyles } from "./VfxDiv";
|
|
3
4
|
export { VfxParticle } from "./VfxParticle";
|
|
4
5
|
export { default as VfxSlide } from "./VfxSlide";
|
|
5
6
|
export { default as VfxSlideItem } from "./VfxSlideItem";
|
|
6
7
|
export { useTextEffect } from "./hooks/useTextEffect";
|
|
7
|
-
export type { TextEffectType, BorderEffectType, VfxTextProps, VfxDivProps, ParticleEffectType, ParticleOptions, VfxParticleProps, SlideEffectType, DriftEffectType, VfxSlideItemProps, VfxSlideProps, } from "./types";
|
|
8
|
+
export type { TextEffectType, BorderEffectType, VfxTextProps, VfxTypingProps, VfxTypingCaret, VfxDivProps, ParticleEffectType, ParticleOptions, VfxParticleProps, SlideEffectType, DriftEffectType, VfxSlideItemProps, VfxSlideProps, } from "./types";
|
|
8
9
|
export { slideEffectRegistry, driftEffectRegistry } from "./effects/slides";
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EACR,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EACR,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
|