iconflow 1.2.1 → 1.2.3

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/dist/index.css CHANGED
@@ -1,4 +1,9 @@
1
1
  /* src/styles.css */
2
+ .iconflow-wrapper {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ }
2
7
  .iconflow-shake.iconflow-active {
3
8
  animation: iconflow-shake calc(0.5s / var(--iconflow-speed)) ease-in-out;
4
9
  }
package/dist/index.js CHANGED
@@ -72,13 +72,14 @@ var AnimatedIcon = ({
72
72
  onMouseLeave: () => setIsTriggered(false)
73
73
  },
74
74
  click: { onClick: () => setIsTriggered((prev) => !prev) },
75
- mount: {}
75
+ mount: {},
76
+ loop: {}
76
77
  };
77
78
  return /* @__PURE__ */ import_react.default.createElement(
78
79
  "span",
79
80
  {
80
- className: `iconflow-${animationType} ${isTriggered ? "iconflow-active" : ""} ${className}`.trim(),
81
- style: { "--iconflow-speed": `${speed}s` },
81
+ className: `iconflow-wrapper iconflow-${animationType} ${isTriggered ? "iconflow-active" : ""} ${className}`.trim(),
82
+ style: { "--iconflow-speed": speed },
82
83
  ...handlers[triggerType]
83
84
  },
84
85
  /* @__PURE__ */ import_react.default.createElement(Icon, { size, color, strokeWidth })
package/dist/index.mjs CHANGED
@@ -35,13 +35,14 @@ var AnimatedIcon = ({
35
35
  onMouseLeave: () => setIsTriggered(false)
36
36
  },
37
37
  click: { onClick: () => setIsTriggered((prev) => !prev) },
38
- mount: {}
38
+ mount: {},
39
+ loop: {}
39
40
  };
40
41
  return /* @__PURE__ */ React.createElement(
41
42
  "span",
42
43
  {
43
- className: `iconflow-${animationType} ${isTriggered ? "iconflow-active" : ""} ${className}`.trim(),
44
- style: { "--iconflow-speed": `${speed}s` },
44
+ className: `iconflow-wrapper iconflow-${animationType} ${isTriggered ? "iconflow-active" : ""} ${className}`.trim(),
45
+ style: { "--iconflow-speed": speed },
45
46
  ...handlers[triggerType]
46
47
  },
47
48
  /* @__PURE__ */ React.createElement(Icon, { size, color, strokeWidth })
@@ -1,3 +1,10 @@
1
+ /* WRAPPER */
2
+ .iconflow-wrapper {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ }
7
+
1
8
  /* SHAKE */
2
9
  .iconflow-shake.iconflow-active {
3
10
  animation: iconflow-shake calc(0.5s / var(--iconflow-speed)) ease-in-out;
@@ -30,35 +37,92 @@
30
37
 
31
38
  /* KEYFRAMES */
32
39
  @keyframes iconflow-shake {
33
- 0%, 100% { transform: rotate(0deg); }
34
- 25% { transform: rotate(-15deg); }
35
- 75% { transform: rotate(15deg); }
40
+
41
+ 0%,
42
+ 100% {
43
+ transform: rotate(0deg);
44
+ }
45
+
46
+ 25% {
47
+ transform: rotate(-15deg);
48
+ }
49
+
50
+ 75% {
51
+ transform: rotate(15deg);
52
+ }
36
53
  }
37
54
 
38
55
  @keyframes iconflow-spin {
39
- from { transform: rotate(0deg); }
40
- to { transform: rotate(360deg); }
56
+ from {
57
+ transform: rotate(0deg);
58
+ }
59
+
60
+ to {
61
+ transform: rotate(360deg);
62
+ }
41
63
  }
42
64
 
43
65
  @keyframes iconflow-bounce {
44
- 0%, 100% { transform: translateY(0); }
45
- 50% { transform: translateY(-6px); }
66
+
67
+ 0%,
68
+ 100% {
69
+ transform: translateY(0);
70
+ }
71
+
72
+ 50% {
73
+ transform: translateY(-6px);
74
+ }
46
75
  }
47
76
 
48
77
  @keyframes iconflow-swing {
49
- 0%, 100% { transform: rotate(0deg); transform-origin: top center; }
50
- 25% { transform: rotate(15deg); transform-origin: top center; }
51
- 75% { transform: rotate(-15deg); transform-origin: top center; }
78
+
79
+ 0%,
80
+ 100% {
81
+ transform: rotate(0deg);
82
+ transform-origin: top center;
83
+ }
84
+
85
+ 25% {
86
+ transform: rotate(15deg);
87
+ transform-origin: top center;
88
+ }
89
+
90
+ 75% {
91
+ transform: rotate(-15deg);
92
+ transform-origin: top center;
93
+ }
52
94
  }
53
95
 
54
96
  @keyframes iconflow-pulse {
55
- 0%, 100% { opacity: 1; transform: scale(1); }
56
- 50% { opacity: 0.6; transform: scale(0.9); }
97
+
98
+ 0%,
99
+ 100% {
100
+ opacity: 1;
101
+ transform: scale(1);
102
+ }
103
+
104
+ 50% {
105
+ opacity: 0.6;
106
+ transform: scale(0.9);
107
+ }
57
108
  }
58
109
 
59
110
  @keyframes iconflow-heartbeat {
60
- 0%, 100% { transform: scale(1); }
61
- 25% { transform: scale(1.3); }
62
- 50% { transform: scale(1); }
63
- 75% { transform: scale(1.2); }
111
+
112
+ 0%,
113
+ 100% {
114
+ transform: scale(1);
115
+ }
116
+
117
+ 25% {
118
+ transform: scale(1.3);
119
+ }
120
+
121
+ 50% {
122
+ transform: scale(1);
123
+ }
124
+
125
+ 75% {
126
+ transform: scale(1.2);
127
+ }
64
128
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iconflow",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "description": "Animated icon wrapper for Lucide React icons",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",