funuicss 3.6.19 β†’ 3.6.20

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/css/fun.css CHANGED
@@ -2344,6 +2344,7 @@ border-radius: var(--borderRadius);
2344
2344
  font-size: var(--minifiedFontSize);
2345
2345
  color: var(--text-color);
2346
2346
  opacity: 0.6;
2347
+ left: 0.9rem;
2347
2348
  pointer-events: none;
2348
2349
  transition: all 0.2s ease;
2349
2350
  background-color: transparent;
@@ -6016,6 +6017,7 @@ background-color: rgba(0, 0, 0, 0.2);
6016
6017
  display: none; /* Chrome/Safari */
6017
6018
  }
6018
6019
 
6020
+ .carousel-wrapper{width: 100%; position: relative;}
6019
6021
  /* Scrollable carousel container */
6020
6022
  .carousel-container {
6021
6023
  display: flex;
@@ -6025,6 +6027,18 @@ background-color: rgba(0, 0, 0, 0.2);
6025
6027
  padding: 1rem 0;
6026
6028
  scroll-behavior: smooth;
6027
6029
  }
6030
+ .carouselLeft{
6031
+ position: absolute;
6032
+ top: 50%;
6033
+ left: 0;
6034
+ transform: translateY(-50%);
6035
+ }
6036
+ .carouselRight{
6037
+ position: absolute;
6038
+ top: 50%;
6039
+ right: 0;
6040
+ transform: translateY(-50%);
6041
+ }
6028
6042
  .carousel-item {scroll-snap-align: start;flex: 0 0 auto;}
6029
6043
 
6030
6044
  /* small screens */
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.6.19",
2
+ "version": "3.6.20",
3
3
  "name": "funuicss",
4
4
  "description": "React and Next.js component UI Library for creating Easy and good looking websites with fewer lines of code. Elevate your web development experience with our cutting-edge React/Next.js component UI Library. Craft stunning websites effortlessly, boasting both seamless functionality and aesthetic appealβ€”all achieved with minimal lines of code. Unleash the power of simplicity and style in your projects!",
5
5
  "main": "index.js",
@@ -44,7 +44,6 @@
44
44
  "dependencies": {
45
45
  "aos": "^2.3.4",
46
46
  "dayjs": "^1.11.13",
47
- "firebase": "^12.3.0",
48
47
  "framer-motion": "^12.23.6",
49
48
  "hls.js": "^1.6.5",
50
49
  "next": "^13.4.4",
@@ -7,6 +7,8 @@ interface CarouselProps extends React.HTMLAttributes<HTMLDivElement> {
7
7
  showDashes?: boolean;
8
8
  allowVerticalOverflow?: boolean;
9
9
  itemPadding?: string;
10
+ controlerSize?: number;
11
+ controlerIconSize?: number;
10
12
  }
11
13
  declare const Carousel: React.FC<CarouselProps>;
12
14
  export default Carousel;
@@ -65,11 +65,11 @@ var Circle_1 = __importDefault(require("../specials/Circle"));
65
65
  var RowFlex_1 = __importDefault(require("../specials/RowFlex"));
66
66
  var Functions_1 = require("../../utils/Functions");
67
67
  var Carousel = function (_a) {
68
- var _b = _a.scrollNumber, scrollNumber = _b === void 0 ? 320 : _b, _c = _a.gap, gap = _c === void 0 ? 0.5 : _c, _d = _a.funcss, funcss = _d === void 0 ? '' : _d, _e = _a.showDashes, showDashes = _e === void 0 ? true : _e, _f = _a.allowVerticalOverflow, allowVerticalOverflow = _f === void 0 ? false : _f, _g = _a.itemPadding, itemPadding = _g === void 0 ? '0rem' : _g, children = _a.children, rest = __rest(_a, ["scrollNumber", "gap", "funcss", "showDashes", "allowVerticalOverflow", "itemPadding", "children"]);
68
+ var _b = _a.scrollNumber, scrollNumber = _b === void 0 ? 320 : _b, _c = _a.gap, gap = _c === void 0 ? 0.5 : _c, _d = _a.funcss, funcss = _d === void 0 ? '' : _d, _e = _a.showDashes, showDashes = _e === void 0 ? true : _e, _f = _a.allowVerticalOverflow, allowVerticalOverflow = _f === void 0 ? false : _f, _g = _a.itemPadding, itemPadding = _g === void 0 ? '0rem' : _g, children = _a.children, _h = _a.controlerSize, controlerSize = _h === void 0 ? 2.5 : _h, _j = _a.controlerIconSize, controlerIconSize = _j === void 0 ? 20 : _j, rest = __rest(_a, ["scrollNumber", "gap", "funcss", "showDashes", "allowVerticalOverflow", "itemPadding", "children", "controlerSize", "controlerIconSize"]);
69
69
  var scrollRef = (0, react_1.useRef)(null);
70
- var _h = (0, react_1.useState)('start'), scrollPosition = _h[0], setScrollPosition = _h[1];
71
- var _j = (0, react_1.useState)(false), isPhone = _j[0], setIsPhone = _j[1];
72
- var _k = (0, react_1.useState)(false), isScrollable = _k[0], setIsScrollable = _k[1];
70
+ var _k = (0, react_1.useState)('start'), scrollPosition = _k[0], setScrollPosition = _k[1];
71
+ var _l = (0, react_1.useState)(false), isPhone = _l[0], setIsPhone = _l[1];
72
+ var _m = (0, react_1.useState)(false), isScrollable = _m[0], setIsScrollable = _m[1];
73
73
  var checkScrollable = function () {
74
74
  var container = scrollRef.current;
75
75
  if (container) {
@@ -123,10 +123,10 @@ var Carousel = function (_a) {
123
123
  }
124
124
  }, []);
125
125
  return (react_1.default.createElement("div", __assign({ className: "carousel-wrapper ".concat(funcss) }, rest),
126
- react_1.default.createElement(RowFlex_1.default, { gap: 1, wrap: "nowrap", alignItems: "center" },
127
- !isPhone && isScrollable && (react_1.default.createElement("div", null,
128
- react_1.default.createElement(Circle_1.default, { onClick: function () { return scroll('left'); } },
129
- react_1.default.createElement(pi_1.PiCaretLeft, { size: 24 })))),
126
+ react_1.default.createElement(react_1.default.Fragment, null,
127
+ !isPhone && isScrollable && (react_1.default.createElement("div", { className: 'carouselLeft' },
128
+ react_1.default.createElement(Circle_1.default, { bordered: true, size: controlerSize, onClick: function () { return scroll('left'); } },
129
+ react_1.default.createElement(pi_1.PiCaretLeft, { className: 'text-primary', size: controlerIconSize })))),
130
130
  react_1.default.createElement("div", { ref: scrollRef, className: "carousel-container scrollbar-hide w-full", style: {
131
131
  width: '100%',
132
132
  gap: gap + 'rem',
@@ -139,9 +139,9 @@ var Carousel = function (_a) {
139
139
  padding: itemPadding || "0.5rem"
140
140
  } }, react_1.default.Children.map(children, function (child) { return (react_1.default.createElement("div", { className: "carousel-item", style: { flexShrink: 0 } },
141
141
  react_1.default.createElement("div", { className: "carousel-card" }, child))); })),
142
- !isPhone && isScrollable && (react_1.default.createElement("div", null,
143
- react_1.default.createElement(Circle_1.default, { onClick: function () { return scroll('right'); } },
144
- react_1.default.createElement(pi_1.PiCaretRight, { size: 24 }))))),
142
+ !isPhone && isScrollable && (react_1.default.createElement("div", { className: 'carouselRight' },
143
+ react_1.default.createElement(Circle_1.default, { bordered: true, size: controlerSize, onClick: function () { return scroll('right'); } },
144
+ react_1.default.createElement(pi_1.PiCaretRight, { className: 'text-primary', size: controlerIconSize }))))),
145
145
  (showDashes && isScrollable) && (react_1.default.createElement("div", { className: "center padding-top-10" },
146
146
  react_1.default.createElement(RowFlex_1.default, { gap: 0.5, justify: "center" }, ['start', 'middle', 'end'].map(function (pos) { return (react_1.default.createElement("div", { className: 'pointer ', key: pos, onClick: function () {
147
147
  var _a, _b;
@@ -1,191 +0,0 @@
1
- import { Auth, User, UserCredential } from 'firebase/auth';
2
- interface AuthResponse {
3
- user: User;
4
- credential: UserCredential;
5
- isNewUser?: boolean;
6
- }
7
- interface AuthStateCallback {
8
- (user: User | null): void;
9
- }
10
- type ProviderType = 'google' | 'facebook' | 'github' | 'twitter' | 'microsoft' | 'apple';
11
- /**
12
- * Firebase Authentication Operations
13
- * Users must pass their Auth instance to each method
14
- */
15
- export declare const FunFireAuth: {
16
- /**
17
- * πŸ“§ Sign in with email and password
18
- * @param auth - Firebase Auth instance
19
- * @param email - User email
20
- * @param password - User password
21
- */
22
- signInWithEmail: (auth: Auth, email: string, password: string) => Promise<AuthResponse>;
23
- /**
24
- * ✍️ Create account with email and password
25
- * @param auth - Firebase Auth instance
26
- * @param email - User email
27
- * @param password - User password
28
- * @param displayName - Optional display name
29
- * @param photoURL - Optional photo URL
30
- */
31
- createAccount: (auth: Auth, email: string, password: string, displayName?: string, photoURL?: string) => Promise<AuthResponse>;
32
- /**
33
- * πŸ” Sign in with Google (Popup)
34
- * @param auth - Firebase Auth instance
35
- */
36
- signInWithGoogle: (auth: Auth) => Promise<AuthResponse>;
37
- /**
38
- * πŸ” Sign in with Facebook (Popup)
39
- * @param auth - Firebase Auth instance
40
- */
41
- signInWithFacebook: (auth: Auth) => Promise<AuthResponse>;
42
- /**
43
- * πŸ” Sign in with GitHub (Popup)
44
- * @param auth - Firebase Auth instance
45
- */
46
- signInWithGithub: (auth: Auth) => Promise<AuthResponse>;
47
- /**
48
- * πŸ” Sign in with Twitter (Popup)
49
- * @param auth - Firebase Auth instance
50
- */
51
- signInWithTwitter: (auth: Auth) => Promise<AuthResponse>;
52
- /**
53
- * πŸ” Sign in with Microsoft (Popup)
54
- * @param auth - Firebase Auth instance
55
- */
56
- signInWithMicrosoft: (auth: Auth) => Promise<AuthResponse>;
57
- /**
58
- * πŸ” Sign in with Apple (Popup)
59
- * @param auth - Firebase Auth instance
60
- */
61
- signInWithApple: (auth: Auth) => Promise<AuthResponse>;
62
- /**
63
- * πŸ” Generic provider sign in with redirect (better for mobile)
64
- * @param auth - Firebase Auth instance
65
- * @param providerType - Provider type
66
- */
67
- signInWithRedirect: (auth: Auth, providerType: ProviderType) => Promise<void>;
68
- /**
69
- * πŸšͺ Sign out
70
- * @param auth - Firebase Auth instance
71
- */
72
- signOut: (auth: Auth) => Promise<void>;
73
- /**
74
- * πŸ”„ Send password reset email
75
- * @param auth - Firebase Auth instance
76
- * @param email - User email
77
- * @param actionCodeSettings - Optional action code settings for custom redirect
78
- */
79
- resetPassword: (auth: Auth, email: string, actionCodeSettings?: {
80
- url: string;
81
- handleCodeInApp?: boolean;
82
- }) => Promise<void>;
83
- /**
84
- * βœ‰οΈ Send email verification
85
- * @param auth - Firebase Auth instance
86
- * @param actionCodeSettings - Optional action code settings for custom redirect
87
- */
88
- sendVerificationEmail: (auth: Auth, actionCodeSettings?: {
89
- url: string;
90
- handleCodeInApp?: boolean;
91
- }) => Promise<void>;
92
- /**
93
- * πŸ”‘ Update user password
94
- * @param auth - Firebase Auth instance
95
- * @param newPassword - New password
96
- */
97
- updatePassword: (auth: Auth, newPassword: string) => Promise<void>;
98
- /**
99
- * πŸ“§ Update user email
100
- * @param auth - Firebase Auth instance
101
- * @param newEmail - New email
102
- */
103
- updateEmail: (auth: Auth, newEmail: string) => Promise<void>;
104
- /**
105
- * πŸ‘€ Update user profile
106
- * @param auth - Firebase Auth instance
107
- * @param displayName - Display name
108
- * @param photoURL - Photo URL
109
- */
110
- updateProfile: (auth: Auth, displayName?: string, photoURL?: string) => Promise<void>;
111
- /**
112
- * πŸ” Reauthenticate user (required before sensitive operations)
113
- * @param auth - Firebase Auth instance
114
- * @param password - Current password
115
- */
116
- reauthenticate: (auth: Auth, password: string) => Promise<UserCredential>;
117
- /**
118
- * ❌ Delete user account
119
- * @param auth - Firebase Auth instance
120
- */
121
- deleteAccount: (auth: Auth) => Promise<void>;
122
- /**
123
- * πŸ‘οΈ Listen to auth state changes
124
- * @param auth - Firebase Auth instance
125
- * @param callback - Callback function that receives user or null
126
- * @returns Unsubscribe function
127
- */
128
- onAuthStateChanged: (auth: Auth, callback: AuthStateCallback) => (() => void);
129
- /**
130
- * πŸ” Get current user
131
- * @param auth - Firebase Auth instance
132
- * @returns Current user or null
133
- */
134
- getCurrentUser: (auth: Auth) => User | null;
135
- /**
136
- * πŸ” Check if email exists
137
- * @param auth - Firebase Auth instance
138
- * @param email - Email to check
139
- * @returns Array of sign-in methods for the email
140
- */
141
- checkEmailExists: (auth: Auth, email: string) => Promise<string[]>;
142
- /**
143
- * βœ… Apply action code (email verification, password reset)
144
- * @param auth - Firebase Auth instance
145
- * @param code - Action code from email link
146
- */
147
- applyActionCode: (auth: Auth, code: string) => Promise<void>;
148
- /**
149
- * πŸ” Verify password reset code
150
- * @param auth - Firebase Auth instance
151
- * @param code - Password reset code
152
- * @returns Email associated with the code
153
- */
154
- verifyPasswordResetCode: (auth: Auth, code: string) => Promise<string>;
155
- /**
156
- * βœ… Confirm password reset
157
- * @param auth - Firebase Auth instance
158
- * @param code - Password reset code
159
- * @param newPassword - New password
160
- */
161
- confirmPasswordReset: (auth: Auth, code: string, newPassword: string) => Promise<void>;
162
- /**
163
- * πŸ”— Link account with Google
164
- * @param auth - Firebase Auth instance
165
- */
166
- linkWithGoogle: (auth: Auth) => Promise<UserCredential>;
167
- /**
168
- * πŸ”“ Unlink provider from account
169
- * @param auth - Firebase Auth instance
170
- * @param providerId - Provider ID to unlink (e.g., 'google.com', 'password')
171
- */
172
- unlinkProvider: (auth: Auth, providerId: string) => Promise<User>;
173
- /**
174
- * πŸ“± Get ID token (for backend verification)
175
- * @param auth - Firebase Auth instance
176
- * @param forceRefresh - Force token refresh
177
- */
178
- getIdToken: (auth: Auth, forceRefresh?: boolean) => Promise<string>;
179
- };
180
- export declare const AuthErrorCodes: {
181
- EMAIL_EXISTS: string;
182
- INVALID_EMAIL: string;
183
- WEAK_PASSWORD: string;
184
- USER_NOT_FOUND: string;
185
- WRONG_PASSWORD: string;
186
- TOO_MANY_REQUESTS: string;
187
- NETWORK_ERROR: string;
188
- POPUP_CLOSED: string;
189
- REQUIRES_RECENT_LOGIN: string;
190
- };
191
- export type { AuthResponse, AuthStateCallback, ProviderType };