apex-ui-kit 2.0.5

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.
Files changed (40) hide show
  1. package/Licence.md +21 -0
  2. package/ReadMe.md +75 -0
  3. package/dist/ApexUI-Kit/templates/Avatar/Avatar.jsx +81 -0
  4. package/dist/ApexUI-Kit/templates/BeamBar/BeamBar.jsx +101 -0
  5. package/dist/ApexUI-Kit/templates/Cards/BasicCard.jsx +60 -0
  6. package/dist/ApexUI-Kit/templates/Carousel/Carousel.jsx +95 -0
  7. package/dist/ApexUI-Kit/templates/Carousel/DragCarousel.jsx +105 -0
  8. package/dist/ApexUI-Kit/templates/Carousel/ParallaxCarousel.jsx +161 -0
  9. package/dist/ApexUI-Kit/templates/DragCarousel/DragCarousel.jsx +105 -0
  10. package/dist/ApexUI-Kit/templates/EdgeGlowForm/EdgeGlowFrom.jsx +297 -0
  11. package/dist/ApexUI-Kit/templates/FlipProfile/FlipProfile.jsx +125 -0
  12. package/dist/ApexUI-Kit/templates/GlareCard/GlareCard.jsx +146 -0
  13. package/dist/ApexUI-Kit/templates/GlassCardStack/GlassCardStack.jsx +111 -0
  14. package/dist/ApexUI-Kit/templates/HoverText/HoverText.jsx +371 -0
  15. package/dist/ApexUI-Kit/templates/HyperCard/HyperCard.jsx +183 -0
  16. package/dist/ApexUI-Kit/templates/KineticThreadsBackground/KineticThreadBackground.jsx +249 -0
  17. package/dist/ApexUI-Kit/templates/LensFlareBackground/LensFlareBackground.jsx +268 -0
  18. package/dist/ApexUI-Kit/templates/LuminousParticleOcean/LuminousParticleOcean.jsx +155 -0
  19. package/dist/ApexUI-Kit/templates/NavDropDown/NavDropDown.jsx +114 -0
  20. package/dist/ApexUI-Kit/templates/NavMenu/NavMenu.jsx +153 -0
  21. package/dist/ApexUI-Kit/templates/OrbsBackground/FloatingOrbs.jsx +96 -0
  22. package/dist/ApexUI-Kit/templates/ParallaxCard/ParallaxCard.jsx +127 -0
  23. package/dist/ApexUI-Kit/templates/ParallaxCarousel/ParallaxCarousel.jsx +161 -0
  24. package/dist/ApexUI-Kit/templates/ParallaxProfile/ParallaxProfile.jsx +107 -0
  25. package/dist/ApexUI-Kit/templates/PointerFollower/PointerFollower.jsx +126 -0
  26. package/dist/ApexUI-Kit/templates/RainBackground/RainBackground.jsx +109 -0
  27. package/dist/ApexUI-Kit/templates/RippleBackground/RippleBackground.jsx +160 -0
  28. package/dist/ApexUI-Kit/templates/ScrollMarquee/ScrollMarquee.jsx +174 -0
  29. package/dist/ApexUI-Kit/templates/SmartGridCard/SmartGridCard.jsx +241 -0
  30. package/dist/ApexUI-Kit/templates/SmokeBackground/SmokeBackground.jsx +216 -0
  31. package/dist/ApexUI-Kit/templates/Testimonials/Testimonials.jsx +117 -0
  32. package/dist/ApexUI-Kit/templates/ThemeToggle/ThemeAnimation.js +252 -0
  33. package/dist/ApexUI-Kit/templates/ThemeToggle/ThemeConfig.js +8 -0
  34. package/dist/ApexUI-Kit/templates/ThemeToggle/ThemeToggle.css +560 -0
  35. package/dist/ApexUI-Kit/templates/ThemeToggle/ThemeToggle.jsx +118 -0
  36. package/dist/ApexUI-Kit/templates/ToolTip/ToolTip.jsx +85 -0
  37. package/dist/ApexUI-Kit/templates/WaterDropReveal/WaterDropReveal.jsx +151 -0
  38. package/dist/cli/index.d.ts +2 -0
  39. package/dist/cli/index.js +145 -0
  40. package/package.json +56 -0
@@ -0,0 +1,252 @@
1
+ // config/animations.js
2
+
3
+ // Small utility to escape quotes in data-URIs
4
+ const esc = (s = "") => s.replace(/#/g, "%23").replace(/\n/g, "");
5
+
6
+ export function buildAnimationCSS(animation, opts = {}) {
7
+ const duration = opts.duration || "1.5s";
8
+ const ease = opts.ease || "var(--vt-ease)";
9
+
10
+ const header = `
11
+ :root { --vt-duration: ${duration}; --vt-ease: ${ease}; }
12
+ ::view-transition-group(root){ animation-timing-function: var(--vt-ease); }
13
+ `;
14
+
15
+ // GIF MASK
16
+ if (typeof animation === "object" && animation?.type === "gif") {
17
+ const link = animation.link || "";
18
+ return header + `
19
+ ::view-transition-new(root) {
20
+ mask: url('${link}') center / 0 no-repeat;
21
+ -webkit-mask: url('${link}') center / 0 no-repeat;
22
+ animation: vt-scale-gif var(--vt-duration);
23
+ }
24
+ ::view-transition-old(root), .dark::view-transition-old(root) {
25
+ animation: vt-scale-gif var(--vt-duration);
26
+ }
27
+ @keyframes vt-scale-gif {
28
+ 0% { mask-size: 0; -webkit-mask-size: 0; }
29
+ 10% { mask-size: 50vmax; -webkit-mask-size: 40vmax; }
30
+ 90% { mask-size: 50vmax; -webkit-mask-size: 40vmax; }
31
+ 100% { mask-size: 2000vmax; -webkit-mask-size: 2000vmax; }
32
+ }
33
+ `;
34
+ }
35
+
36
+ // Named PRESETS
37
+ const preset = typeof animation === "string" ? animation : animation?.type;
38
+
39
+ switch (preset) {
40
+ case "circle": {
41
+ const circleSVG = esc(
42
+ `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" fill="white"/></svg>`
43
+ );
44
+ return header + `
45
+ ::view-transition-new(root) {
46
+ mask: url('data:image/svg+xml,${circleSVG}') center / 0 no-repeat;
47
+ -webkit-mask: url('data:image/svg+xml,${circleSVG}') center / 0 no-repeat;
48
+ animation: vt-scale var(--vt-duration);
49
+ }
50
+ ::view-transition-old(root), .dark::view-transition-old(root) {
51
+ animation: vt-scale var(--vt-duration);
52
+ }
53
+ @keyframes vt-scale {
54
+ to { mask-size: 200vmax; -webkit-mask-size: 200vmax; }
55
+ }
56
+ `;
57
+ }
58
+
59
+ case "circle-left": {
60
+ const svg = esc(
61
+ `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><filter id="b"><feGaussianBlur stdDeviation="2"/></filter></defs><circle cx="0" cy="0" r="18" fill="white" filter="url(%23b)"/></svg>`
62
+ );
63
+ return header + `
64
+ ::view-transition-new(root) {
65
+ mask: url('data:image/svg+xml,${svg}') top left / 0 no-repeat;
66
+ -webkit-mask: url('data:image/svg+xml,${svg}') top left / 0 no-repeat;
67
+ transform-origin: top left;
68
+ animation: vt-scale-tl var(--vt-duration);
69
+ }
70
+ ::view-transition-old(root), .dark::view-transition-old(root) {
71
+ transform-origin: top left;
72
+ animation: vt-scale-tl var(--vt-duration);
73
+ }
74
+ @keyframes vt-scale-tl { to { mask-size: 350vmax; -webkit-mask-size: 350vmax; } }
75
+ `;
76
+ }
77
+ case "circle-right": {
78
+ const svg = esc(
79
+ `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40">
80
+ <defs><filter id="b"><feGaussianBlur stdDeviation="2"/></filter></defs>
81
+ <circle cx="40" cy="0" r="18" fill="white" filter="url(%23b)"/>
82
+ </svg>`
83
+ );
84
+
85
+ return header + `
86
+ ::view-transition-new(root) {
87
+ mask: url('data:image/svg+xml,${svg}') top right / 0 no-repeat;
88
+ -webkit-mask: url('data:image/svg+xml,${svg}') top right / 0 no-repeat;
89
+ transform-origin: top right;
90
+ animation: vt-scale-tr 0.9s;
91
+ }
92
+
93
+ ::view-transition-old(root), .dark::view-transition-old(root) {
94
+ transform-origin: top right;
95
+ animation: vt-scale-tr 0.9s;
96
+ }
97
+
98
+ @keyframes vt-scale-tr {
99
+ to {
100
+ mask-size: 350vmax;
101
+ -webkit-mask-size: 350vmax;
102
+ }
103
+ }
104
+ `;
105
+ }
106
+ case "split-reveal-horizontal": {
107
+ return header + `
108
+ ::view-transition-new(root) {
109
+ /* Start as a 0-height line in the middle */
110
+ clip-path: inset(50% 0 50% 0);
111
+ animation: vt-split-reveal var(--vt-duration) cubic-bezier(0.25, 1, 0.5, 1);
112
+ }
113
+
114
+ ::view-transition-old(root), .dark::view-transition-old(root) {
115
+ /* The old view just fades away in the background */
116
+ animation: vt-fade-out calc(var(--vt-duration) * 0.5) ease-out forwards;
117
+ }
118
+
119
+ @keyframes vt-split-reveal {
120
+ to {
121
+ /* Expand to full height */
122
+ clip-path: inset(0 0 0 0);
123
+ }
124
+ }
125
+
126
+ @keyframes vt-fade-out {
127
+ to { opacity: 0; }
128
+ }
129
+ `;
130
+ }
131
+
132
+ case "chevron-wipe-right": {
133
+ return header + `
134
+ ::view-transition-new(root) {
135
+ clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 50%, 0% 0%);
136
+ animation: vt-chevron-wipe var(--vt-duration) ease-in-out;
137
+ }
138
+ ::view-transition-old(root) {
139
+ animation: vt-fade-out calc(var(--vt-duration) * 0.5) forwards;
140
+ }
141
+ @keyframes vt-chevron-wipe {
142
+ to { clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 125% 50%, 100% 0%); }
143
+ }
144
+ @keyframes vt-fade-out { to { opacity: 0; } }
145
+ `;
146
+ }
147
+ case "blinds-reveal-down": {
148
+ return header + `
149
+ ::view-transition-new(root) {
150
+ clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%, 0% 20%, 100% 20%, 100% 20%, 0% 20%, 0% 40%, 100% 40%, 100% 40%, 0% 40%, 0% 60%, 100% 60%, 100% 60%, 0% 60%, 0% 80%, 100% 80%, 100% 80%, 0% 80%, 0% 100%, 100% 100%, 100% 100%, 0% 100%);
151
+ animation: vt-blinds-reveal var(--vt-duration) ease-out;
152
+ }
153
+ ::view-transition-old(root) {
154
+ animation: vt-fade-out calc(var(--vt-duration) * 0.5) forwards;
155
+ }
156
+ @keyframes vt-blinds-reveal {
157
+ to {
158
+ clip-path: polygon(0% 0%, 100% 0%, 100% 20%, 0% 20%, 0% 20%, 100% 20%, 100% 40%, 0% 40%, 0% 40%, 100% 40%, 100% 60%, 0% 60%, 0% 60%, 100% 60%, 100% 80%, 0% 80%, 0% 80%, 100% 80%, 100% 100%, 0% 100%, 0% 100%, 100% 100%, 100% 100%, 0% 100%);
159
+ }
160
+ }
161
+ @keyframes vt-fade-out { to { opacity: 0; } }
162
+ `;
163
+ }
164
+
165
+ case "clock-wipe": {
166
+ return header + `
167
+ @property --angle {
168
+ syntax: '<angle>';
169
+ initial-value: 0deg;
170
+ inherits: false;
171
+ }
172
+ ::view-transition-new(root) {
173
+ mask: conic-gradient(from 90deg, #000 var(--angle), transparent var(--angle));
174
+ -webkit-mask: conic-gradient(from 90deg, #000 var(--angle), transparent var(--angle));
175
+ animation: vt-clock-wipe var(--vt-duration) linear;
176
+ }
177
+ ::view-transition-old(root) {
178
+ animation: vt-fade-out calc(var(--vt-duration) * 0.5) forwards;
179
+ }
180
+ @keyframes vt-clock-wipe {
181
+ to { --angle: 360deg; }
182
+ }
183
+ @keyframes vt-fade-out { to { opacity: 0; } }
184
+ `;
185
+ }
186
+
187
+ case "polygon": {
188
+ return header + `
189
+ ::view-transition-group(root){ animation-duration: ${duration}; }
190
+ ::view-transition-new(root){ animation-name: vt-reveal-light; }
191
+ ::view-transition-old(root), .dark::view-transition-old(root){ animation:none; z-index:-1; }
192
+ .dark::view-transition-new(root){ animation-name: vt-reveal-dark; }
193
+ @keyframes vt-reveal-dark {
194
+ from { clip-path: polygon(50% -71%, -50% 71%, -50% 71%, 50% -71%); }
195
+ to { clip-path: polygon(50% -71%, -50% 71%, 50% 171%, 171% 50%); }
196
+ }
197
+ @keyframes vt-reveal-light {
198
+ from { clip-path: polygon(171% 50%, 50% 171%, 50% 171%, 171% 50%); }
199
+ to { clip-path: polygon(171% 50%, 50% 171%, -50% 71%, 50% -71%); }
200
+ }
201
+ `;
202
+ }
203
+
204
+ case "blur-fade": {
205
+ return header + `
206
+ ::view-transition-new(root) {
207
+ filter: blur(40px);
208
+ animation: vt-fade-in ${duration} forwards;
209
+ }
210
+ ::view-transition-old(root) {
211
+ filter: blur(0);
212
+ animation: vt-fade-out ${duration} forwards;
213
+ }
214
+ @keyframes vt-fade-in { from { filter: blur(40px); opacity:0; } to { filter: blur(0); opacity:1; } }
215
+ @keyframes vt-fade-out { from { filter: blur(0); opacity:1; } to { filter: blur(40px); opacity:0; } }
216
+ `;
217
+
218
+ }
219
+
220
+ case "curtain-wipe": {
221
+ return header + `
222
+ ::view-transition-new(root) {
223
+ clip-path: inset(100% 0 0 0); /* pura niche se hidden */
224
+ animation: vt-curtain-wipe var(--vt-duration) forwards;
225
+ }
226
+ ::view-transition-old(root), .dark::view-transition-old(root) {
227
+ clip-path: inset(0 0 0 0);
228
+ animation: vt-curtain-wipe-old var(--vt-duration) forwards;
229
+ }
230
+
231
+ @keyframes vt-curtain-wipe {
232
+ to {
233
+ clip-path: inset(0 0 0 0); /* pura screen visible */
234
+ }
235
+ }
236
+
237
+ @keyframes vt-curtain-wipe-old {
238
+ to {
239
+ clip-path: inset(0 0 100% 0); /* pura upar slide hoke gayab */
240
+ }
241
+ }
242
+ `;
243
+ }
244
+ // Add more animation
245
+
246
+
247
+
248
+
249
+ default:
250
+ return header; // no-op if unknown
251
+ }
252
+ }
@@ -0,0 +1,8 @@
1
+ // config/themes.js
2
+ export const THEMES = {
3
+ light: "theme-light",
4
+ dark: "theme-dark",
5
+ ocean: "theme-ocean",
6
+ forest: "theme-forest",
7
+ home: "theme-home",
8
+ };