botech-library 1.0.68 → 1.0.73

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.
@@ -0,0 +1,16 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface AuthLayoutProps {
3
+ systemName: string;
4
+ leftPanelTitle: ReactNode;
5
+ quote?: string;
6
+ quoteAuthor?: string;
7
+ /** Right-panel content */
8
+ children: ReactNode;
9
+ }
10
+ /**
11
+ * Shared page shell for auth screens.
12
+ * Left: decorative branded panel.
13
+ * Right: system name header + children.
14
+ */
15
+ export declare function AuthLayout({ systemName, leftPanelTitle, quote, quoteAuthor, children, }: AuthLayoutProps): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=AuthLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/AuthLayout.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,cAAc,EACd,KAAwE,EACxE,WAA6B,EAC7B,QAAQ,GACT,EAAE,eAAe,2CAsDjB"}
@@ -0,0 +1,27 @@
1
+ import { type ReactNode } from 'react';
2
+ declare global {
3
+ interface Window {
4
+ google?: any;
5
+ }
6
+ }
7
+ export interface LoginPageProps {
8
+ systemName: string;
9
+ leftPanelTitle: ReactNode;
10
+ quote?: string;
11
+ quoteAuthor?: string;
12
+ googleClientId: string;
13
+ /** Called when the user submits email+password. Should throw or reject on error. */
14
+ onLogin: (email: string, password: string) => Promise<void>;
15
+ /** Called with the raw Google credential JWT from the Google Identity button. */
16
+ onGoogleCredential: (credential: string) => Promise<void>;
17
+ /** Called with the email to send a password reset link. */
18
+ onForgotPassword: (email: string) => Promise<{
19
+ ok: boolean;
20
+ message?: string;
21
+ error?: string;
22
+ }>;
23
+ /** Called when the user clicks "Regístrate aquí". */
24
+ onNavigateToRegister: () => void;
25
+ }
26
+ export declare function LoginPage({ systemName, leftPanelTitle, quote, quoteAuthor, googleClientId, onLogin, onGoogleCredential, onForgotPassword, onNavigateToRegister, }: LoginPageProps): import("react/jsx-runtime").JSX.Element;
27
+ //# sourceMappingURL=LoginPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginPage.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/LoginPage.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AAMnE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,CAAC,EAAE,GAAG,CAAC;KACd;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,iFAAiF;IACjF,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,2DAA2D;IAC3D,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChG,qDAAqD;IACrD,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAClC;AAED,wBAAgB,SAAS,CAAC,EACxB,UAAU,EACV,cAAc,EACd,KAAK,EACL,WAAW,EACX,cAAc,EACd,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,EAAE,cAAc,2CAgJhB"}
@@ -0,0 +1,13 @@
1
+ import { type JSX } from 'react';
2
+ export interface PasswordResetModalProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ /** Called with the entered email. Must return {ok, message?, error?}. */
6
+ onSendReset: (email: string) => Promise<{
7
+ ok: boolean;
8
+ message?: string;
9
+ error?: string;
10
+ }>;
11
+ }
12
+ export declare function PasswordResetModal({ isOpen, onClose, onSendReset, }: PasswordResetModalProps): JSX.Element | null;
13
+ //# sourceMappingURL=PasswordResetModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordResetModal.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/PasswordResetModal.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,GAAG,EAAY,MAAM,OAAO,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yEAAyE;IACzE,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5F;AAED,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,OAAO,EACP,WAAW,GACZ,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAmG9C"}
@@ -0,0 +1,62 @@
1
+ import { type JSX, type ReactNode } from 'react';
2
+ declare global {
3
+ interface Window {
4
+ google?: any;
5
+ }
6
+ }
7
+ export interface FirebaseSignInResult {
8
+ ok: boolean;
9
+ localId?: string;
10
+ idToken?: string;
11
+ email?: string;
12
+ displayName?: string;
13
+ error?: string;
14
+ }
15
+ export interface SSORegisterParams {
16
+ productKey: string;
17
+ idToken: string;
18
+ firebaseUid: string;
19
+ email: string;
20
+ systemCode: string;
21
+ fullName: string;
22
+ phoneNumber: string;
23
+ tokenFcm: string;
24
+ }
25
+ export interface RegisterProductKeyPageProps {
26
+ systemName: string;
27
+ leftPanelTitle: ReactNode;
28
+ quote?: string;
29
+ quoteAuthor?: string;
30
+ googleClientId: string;
31
+ systemCode: string;
32
+ /** Validate the product key against the backend. */
33
+ onValidateKey: (key: string) => Promise<{
34
+ ok: boolean;
35
+ message?: string;
36
+ error?: string;
37
+ }>;
38
+ /** Register user with email+password form. */
39
+ onRegisterWithForm: (email: string, password: string, fullName: string, phoneNumber: string, productKey: string) => Promise<{
40
+ ok: boolean;
41
+ error?: string;
42
+ }>;
43
+ /** Call SSO registration endpoint. */
44
+ onRegisterWithSSO: (params: SSORegisterParams) => Promise<{
45
+ ok: boolean;
46
+ error?: string;
47
+ }>;
48
+ /** Sign in with Firebase Google credential (exchanges Google JWT for Firebase token). */
49
+ onFirebaseGoogleSignIn: (credential: string) => Promise<FirebaseSignInResult>;
50
+ /** App-level auth action after Google registration is complete. */
51
+ onGoogleAuthLogin: (params: {
52
+ firebaseUid: string;
53
+ idToken: string;
54
+ systemCode: string;
55
+ }) => Promise<void>;
56
+ /** Navigate to login page. */
57
+ onNavigateToLogin: () => void;
58
+ /** Called after successful registration (navigate to dashboard or success page). */
59
+ onSuccess: () => void;
60
+ }
61
+ export declare function RegisterProductKeyPage({ systemName, leftPanelTitle, quote, quoteAuthor, googleClientId, systemCode, onValidateKey, onRegisterWithForm, onRegisterWithSSO, onFirebaseGoogleSignIn, onGoogleAuthLogin, onNavigateToLogin, onSuccess, }: RegisterProductKeyPageProps): JSX.Element;
62
+ //# sourceMappingURL=RegisterProductKeyPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisterProductKeyPage.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/RegisterProductKeyPage.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAwC,MAAM,OAAO,CAAC;AAI9F,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,CAAC,EAAE,GAAG,CAAC;KACd;CACF;AAuBD,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3F,8CAA8C;IAC9C,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,sCAAsC;IACtC,iBAAiB,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3F,yFAAyF;IACzF,sBAAsB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9E,mEAAmE;IACnE,iBAAiB,EAAE,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3G,8BAA8B;IAC9B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,oFAAoF;IACpF,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,UAAU,EACV,cAAc,EACd,KAAK,EACL,WAAW,EACX,cAAc,EACd,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACV,EAAE,2BAA2B,GAAG,GAAG,CAAC,OAAO,CAuX3C"}
@@ -0,0 +1,9 @@
1
+ export { AuthLayout } from './AuthLayout';
2
+ export type { AuthLayoutProps } from './AuthLayout';
3
+ export { LoginPage } from './LoginPage';
4
+ export type { LoginPageProps } from './LoginPage';
5
+ export { PasswordResetModal } from './PasswordResetModal';
6
+ export type { PasswordResetModalProps } from './PasswordResetModal';
7
+ export { RegisterProductKeyPage } from './RegisterProductKeyPage';
8
+ export type { RegisterProductKeyPageProps, FirebaseSignInResult, SSORegisterParams, } from './RegisterProductKeyPage';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EACV,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC"}
@@ -18,4 +18,6 @@ export type { TableProps, TableColumn, TableColumnAlignment, TableSize, TableRow
18
18
  export { StudentSummaryModal } from './StudentSummary';
19
19
  export type { StudentSummaryModalProps } from './StudentSummary';
20
20
  export { default as NotFound } from './NotFound';
21
+ export { AuthLayout, LoginPage, PasswordResetModal, RegisterProductKeyPage, } from './Auth';
22
+ export type { AuthLayoutProps, LoginPageProps, PasswordResetModalProps, RegisterProductKeyPageProps, FirebaseSignInResult, SSORegisterParams, } from './Auth';
21
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EACR,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,mBAAmB,EACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACH,2BAA2B,EAC3B,yBAAyB,EAC5B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACR,gCAAgC,EAChC,8BAA8B,EACjC,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3D,YAAY,EACR,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,YAAY,EACR,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,eAAe,EAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EACR,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,mBAAmB,EACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACH,2BAA2B,EAC3B,yBAAyB,EAC5B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACR,gCAAgC,EAChC,8BAA8B,EACjC,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3D,YAAY,EACR,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,YAAY,EACR,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,eAAe,EAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGjD,OAAO,EACL,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,QAAQ,CAAC;AAChB,YAAY,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botech-library",
3
- "version": "1.0.68",
3
+ "version": "1.0.73",
4
4
  "type": "module",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -15,7 +15,9 @@
15
15
  "test": "jest",
16
16
  "test:watch": "jest --watch",
17
17
  "test:coverage": "jest --coverage",
18
- "yalc:push": "npm version patch --no-git-tag-version && yalc publish --push"
18
+ "yalc:push": "npm version patch --no-git-tag-version && yalc publish --push",
19
+ "storybook": "storybook dev -p 6006",
20
+ "build-storybook": "storybook build"
19
21
  },
20
22
  "peerDependencies": {
21
23
  "axios": ">=1.6.0",
@@ -23,17 +25,25 @@
23
25
  "react-dom": ">=16.8.0",
24
26
  "sweetalert2": ">=11.0.0"
25
27
  },
28
+ "engines": {
29
+ "node": ">=24"
30
+ },
26
31
  "devDependencies": {
27
32
  "@rollup/plugin-commonjs": "^24.1.0",
28
33
  "@rollup/plugin-node-resolve": "^15.1.0",
29
34
  "@rollup/plugin-terser": "^0.4.3",
30
35
  "@rollup/plugin-typescript": "^11.1.2",
36
+ "@storybook/addon-a11y": "^10.3.3",
37
+ "@storybook/react": "^10.3.3",
38
+ "@storybook/react-vite": "^10.3.3",
39
+ "@tailwindcss/vite": "^4.2.2",
31
40
  "@testing-library/jest-dom": "^6.6.3",
32
41
  "@testing-library/react": "^16.3.0",
33
42
  "@testing-library/user-event": "^14.6.1",
34
43
  "@types/jest": "^30.0.0",
35
44
  "@types/react": "^18.2.21",
36
45
  "@types/react-dom": "^18.2.7",
46
+ "@vitejs/plugin-react": "^6.0.1",
37
47
  "autoprefixer": "^10.4.16",
38
48
  "axios": "^1.6.0",
39
49
  "cssnano": "^7.0.4",
@@ -45,10 +55,12 @@
45
55
  "react-dom": "^18.2.0",
46
56
  "rollup": "^3.29.4",
47
57
  "rollup-plugin-postcss": "^4.0.2",
58
+ "storybook": "^10.3.3",
48
59
  "tailwindcss": "^4.0.0",
49
60
  "ts-jest": "^29.4.0",
50
61
  "tslib": "^2.6.2",
51
- "typescript": "^5.2.2"
62
+ "typescript": "^5.2.2",
63
+ "vite": "^8.0.2"
52
64
  },
53
65
  "dependencies": {
54
66
  "@headlessui/react": "^2.2.7",