@sudobility/components 4.0.109 → 4.0.110
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/core/auth/ProtectedRoute.d.ts +51 -0
- package/dist/core/auth/ProtectedRoute.d.ts.map +1 -0
- package/dist/core/auth/index.d.ts +6 -0
- package/dist/core/auth/index.d.ts.map +1 -0
- package/dist/core/error/DetailErrorState.d.ts +64 -0
- package/dist/core/error/DetailErrorState.d.ts.map +1 -0
- package/dist/core/error/index.d.ts +6 -0
- package/dist/core/error/index.d.ts.map +1 -0
- package/dist/core/i18n-routing/LanguageValidator.d.ts +47 -0
- package/dist/core/i18n-routing/LanguageValidator.d.ts.map +1 -0
- package/dist/core/i18n-routing/LocalizedLink.d.ts +35 -0
- package/dist/core/i18n-routing/LocalizedLink.d.ts.map +1 -0
- package/dist/core/i18n-routing/index.d.ts +42 -0
- package/dist/core/i18n-routing/index.d.ts.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/theme/index.d.ts +34 -0
- package/dist/core/theme/index.d.ts.map +1 -0
- package/dist/core/theme/theme-context.d.ts +39 -0
- package/dist/core/theme/theme-context.d.ts.map +1 -0
- package/dist/core/theme/types.d.ts +59 -0
- package/dist/core/theme/types.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +12 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/useLocalizedNavigate.d.ts +55 -0
- package/dist/hooks/useLocalizedNavigate.d.ts.map +1 -0
- package/dist/hooks/useRoutePerformance.d.ts +11 -0
- package/dist/hooks/useRoutePerformance.d.ts.map +1 -0
- package/dist/index.d.ts +1 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +5491 -4942
- package/dist/index.umd.js +11 -11
- package/dist/optimization/index.d.ts +1 -0
- package/dist/optimization/index.d.ts.map +1 -1
- package/dist/optimization/web-vitals.d.ts +62 -0
- package/dist/optimization/web-vitals.d.ts.map +1 -0
- package/dist/ui/toast/Toast.d.ts +7 -0
- package/dist/ui/toast/Toast.d.ts.map +1 -0
- package/dist/ui/toast/ToastContainer.d.ts +7 -0
- package/dist/ui/toast/ToastContainer.d.ts.map +1 -0
- package/dist/ui/toast/index.d.ts +43 -0
- package/dist/ui/toast/index.d.ts.map +1 -0
- package/dist/ui/toast/toast-context.d.ts +8 -0
- package/dist/ui/toast/toast-context.d.ts.map +1 -0
- package/dist/ui/toast/types.d.ts +46 -0
- package/dist/ui/toast/types.d.ts.map +1 -0
- package/dist/ui/toast/useToast.d.ts +24 -0
- package/dist/ui/toast/useToast.d.ts.map +1 -0
- package/dist/utils/analytics-utils.d.ts +84 -0
- package/dist/utils/analytics-utils.d.ts.map +1 -0
- package/dist/utils/error-utils.d.ts +47 -0
- package/dist/utils/error-utils.d.ts.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ProtectedRouteProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
/**
|
|
5
|
+
* Whether the user is authenticated
|
|
6
|
+
*/
|
|
7
|
+
isAuthenticated: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Whether authentication status is still being determined
|
|
10
|
+
*/
|
|
11
|
+
isLoading?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Path to redirect to when not authenticated
|
|
14
|
+
* Use ':lang' placeholder for language parameter
|
|
15
|
+
* @default '/:lang' or '/en' if no lang param
|
|
16
|
+
*/
|
|
17
|
+
redirectPath?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Custom loading component
|
|
20
|
+
*/
|
|
21
|
+
loadingComponent?: ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Custom fallback when not authenticated (before redirect)
|
|
24
|
+
*/
|
|
25
|
+
fallback?: ReactNode;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Route wrapper that protects content behind authentication.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* // Basic usage
|
|
33
|
+
* const { user, loading } = useAuth();
|
|
34
|
+
*
|
|
35
|
+
* <ProtectedRoute isAuthenticated={!!user} isLoading={loading}>
|
|
36
|
+
* <Dashboard />
|
|
37
|
+
* </ProtectedRoute>
|
|
38
|
+
*
|
|
39
|
+
* // With custom redirect
|
|
40
|
+
* <ProtectedRoute
|
|
41
|
+
* isAuthenticated={!!user}
|
|
42
|
+
* isLoading={loading}
|
|
43
|
+
* redirectPath="/:lang/login"
|
|
44
|
+
* >
|
|
45
|
+
* <Dashboard />
|
|
46
|
+
* </ProtectedRoute>
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function ProtectedRoute({ children, isAuthenticated, isLoading, redirectPath, loadingComponent, fallback, }: ProtectedRouteProps): React.ReactElement | null;
|
|
50
|
+
export default ProtectedRoute;
|
|
51
|
+
//# sourceMappingURL=ProtectedRoute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtectedRoute.d.ts","sourceRoot":"","sources":["../../../src/core/auth/ProtectedRoute.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAaD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,eAAe,EACf,SAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,QAAe,GAChB,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAyBjD;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/auth/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface DetailErrorStateProps {
|
|
3
|
+
/**
|
|
4
|
+
* Error title
|
|
5
|
+
*/
|
|
6
|
+
title?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Error message/description
|
|
9
|
+
*/
|
|
10
|
+
message?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Retry callback
|
|
13
|
+
*/
|
|
14
|
+
onRetry?: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* Whether a retry is in progress
|
|
17
|
+
*/
|
|
18
|
+
isRetrying?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Custom retry button text
|
|
21
|
+
* @default 'Retry'
|
|
22
|
+
*/
|
|
23
|
+
retryText?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Custom loading text shown during retry
|
|
26
|
+
* @default 'Loading...'
|
|
27
|
+
*/
|
|
28
|
+
loadingText?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Custom icon to display (defaults to warning triangle)
|
|
31
|
+
*/
|
|
32
|
+
icon?: ReactNode;
|
|
33
|
+
/**
|
|
34
|
+
* Additional className for the container
|
|
35
|
+
*/
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Error state display component with optional retry functionality.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```tsx
|
|
43
|
+
* // Basic usage
|
|
44
|
+
* <DetailErrorState
|
|
45
|
+
* title="Something went wrong"
|
|
46
|
+
* message="Unable to load data from the server."
|
|
47
|
+
* onRetry={() => refetch()}
|
|
48
|
+
* isRetrying={isRefetching}
|
|
49
|
+
* />
|
|
50
|
+
*
|
|
51
|
+
* // With translations
|
|
52
|
+
* const { t } = useTranslation();
|
|
53
|
+
* <DetailErrorState
|
|
54
|
+
* title={t('errors.serverDown.title')}
|
|
55
|
+
* message={t('errors.serverDown.message')}
|
|
56
|
+
* retryText={t('common.retry')}
|
|
57
|
+
* loadingText={t('common.loading')}
|
|
58
|
+
* onRetry={handleRetry}
|
|
59
|
+
* />
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function DetailErrorState({ title, message, onRetry, isRetrying, retryText, loadingText, icon, className, }: DetailErrorStateProps): React.ReactElement;
|
|
63
|
+
export default DetailErrorState;
|
|
64
|
+
//# sourceMappingURL=DetailErrorState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DetailErrorState.d.ts","sourceRoot":"","sources":["../../../src/core/error/DetailErrorState.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgDD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAA8B,EAC9B,OAA2D,EAC3D,OAAO,EACP,UAAkB,EAClB,SAAmB,EACnB,WAA0B,EAC1B,IAAI,EACJ,SAAc,GACf,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CA6B5C;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/error/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language validator route component for i18n routing
|
|
3
|
+
* Validates the language parameter and syncs with i18next
|
|
4
|
+
*/
|
|
5
|
+
export interface LanguageValidatorProps {
|
|
6
|
+
/**
|
|
7
|
+
* Function to check if a language code is supported
|
|
8
|
+
* Required to validate against your app's supported languages
|
|
9
|
+
*/
|
|
10
|
+
isLanguageSupported: (lang: string) => boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Default language to redirect to when invalid
|
|
13
|
+
* @default 'en'
|
|
14
|
+
*/
|
|
15
|
+
defaultLanguage?: string;
|
|
16
|
+
/**
|
|
17
|
+
* localStorage key for persisting language preference
|
|
18
|
+
* @default 'language'
|
|
19
|
+
*/
|
|
20
|
+
storageKey?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Custom fallback component to render instead of null during redirect
|
|
23
|
+
*/
|
|
24
|
+
fallback?: React.ReactNode;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Route wrapper that validates the language parameter and syncs i18n.
|
|
28
|
+
* Use this as a parent route to wrap all language-prefixed routes.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* // In your router config
|
|
33
|
+
* const router = createBrowserRouter([
|
|
34
|
+
* {
|
|
35
|
+
* path: '/:lang',
|
|
36
|
+
* element: <LanguageValidator isLanguageSupported={isLangSupported} />,
|
|
37
|
+
* children: [
|
|
38
|
+
* { path: '', element: <HomePage /> },
|
|
39
|
+
* { path: 'about', element: <AboutPage /> },
|
|
40
|
+
* ],
|
|
41
|
+
* },
|
|
42
|
+
* ]);
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function LanguageValidator({ isLanguageSupported, defaultLanguage, storageKey, fallback, }: LanguageValidatorProps): React.ReactElement | null;
|
|
46
|
+
export default LanguageValidator;
|
|
47
|
+
//# sourceMappingURL=LanguageValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageValidator.d.ts","sourceRoot":"","sources":["../../../src/core/i18n-routing/LanguageValidator.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,mBAAmB,EACnB,eAAsB,EACtB,UAAuB,EACvB,QAAe,GAChB,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA+BpD;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { LinkProps } from 'react-router-dom';
|
|
2
|
+
export interface LocalizedLinkProps extends Omit<LinkProps, 'to'> {
|
|
3
|
+
to: string;
|
|
4
|
+
/**
|
|
5
|
+
* Optional specific language override
|
|
6
|
+
*/
|
|
7
|
+
language?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Function to check if a language code is supported
|
|
10
|
+
* If not provided, any 2-letter code is considered valid
|
|
11
|
+
*/
|
|
12
|
+
isLanguageSupported?: (lang: string) => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Default language to use when none is detected
|
|
15
|
+
* @default 'en'
|
|
16
|
+
*/
|
|
17
|
+
defaultLanguage?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A Link component that automatically adds the current language prefix to paths.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* // Current URL: /en/dashboard
|
|
25
|
+
* <LocalizedLink to="/about">About</LocalizedLink>
|
|
26
|
+
* // Renders: <a href="/en/about">About</a>
|
|
27
|
+
*
|
|
28
|
+
* // With language override
|
|
29
|
+
* <LocalizedLink to="/about" language="fr">About (French)</LocalizedLink>
|
|
30
|
+
* // Renders: <a href="/fr/about">About (French)</a>
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function LocalizedLink({ to, language, children, isLanguageSupported, defaultLanguage, ...props }: LocalizedLinkProps): React.ReactElement;
|
|
34
|
+
export default LocalizedLink;
|
|
35
|
+
//# sourceMappingURL=LocalizedLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalizedLink.d.ts","sourceRoot":"","sources":["../../../src/core/i18n-routing/LocalizedLink.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AASD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,EAC5B,EAAE,EACF,QAAQ,EACR,QAAQ,EACR,mBAAgD,EAChD,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAkBzC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* i18n routing components and utilities
|
|
3
|
+
*
|
|
4
|
+
* Components and hooks for language-aware routing in React applications.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* import {
|
|
9
|
+
* LocalizedLink,
|
|
10
|
+
* LanguageValidator,
|
|
11
|
+
* useLocalizedNavigate,
|
|
12
|
+
* } from '@sudobility/components/core/i18n-routing';
|
|
13
|
+
*
|
|
14
|
+
* // Define your supported languages
|
|
15
|
+
* const LANGUAGES = ['en', 'es', 'fr', 'de'] as const;
|
|
16
|
+
* const isSupported = (lang: string) => LANGUAGES.includes(lang as any);
|
|
17
|
+
*
|
|
18
|
+
* // Use in router
|
|
19
|
+
* const router = createBrowserRouter([
|
|
20
|
+
* {
|
|
21
|
+
* path: '/:lang',
|
|
22
|
+
* element: <LanguageValidator isLanguageSupported={isSupported} />,
|
|
23
|
+
* children: [
|
|
24
|
+
* { path: '', element: <Home /> },
|
|
25
|
+
* ],
|
|
26
|
+
* },
|
|
27
|
+
* ]);
|
|
28
|
+
*
|
|
29
|
+
* // Use LocalizedLink
|
|
30
|
+
* <LocalizedLink to="/about" isLanguageSupported={isSupported}>About</LocalizedLink>
|
|
31
|
+
*
|
|
32
|
+
* // Use navigation hook
|
|
33
|
+
* const { navigate, switchLanguage } = useLocalizedNavigate({ isLanguageSupported: isSupported });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export { LocalizedLink } from './LocalizedLink';
|
|
37
|
+
export type { LocalizedLinkProps } from './LocalizedLink';
|
|
38
|
+
export { LanguageValidator } from './LanguageValidator';
|
|
39
|
+
export type { LanguageValidatorProps } from './LanguageValidator';
|
|
40
|
+
export { useLocalizedNavigate, addLanguageToPath, removeLanguageFromPath, } from '../../hooks/useLocalizedNavigate';
|
|
41
|
+
export type { UseLocalizedNavigateOptions, UseLocalizedNavigateReturn, } from '../../hooks/useLocalizedNavigate';
|
|
42
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/i18n-routing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,kCAAkC,CAAC"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -16,4 +16,8 @@ export { SafeAppWrapper } from './SafeAppWrapper';
|
|
|
16
16
|
export { SecurityProvider } from './SecurityProvider';
|
|
17
17
|
export * from './icons';
|
|
18
18
|
export * from './optimized';
|
|
19
|
+
export * from './i18n-routing';
|
|
20
|
+
export * from './auth';
|
|
21
|
+
export * from './error';
|
|
22
|
+
export * from './theme';
|
|
19
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,6BAA6B,EAC7B,KAAK,kCAAkC,EACvC,KAAK,UAAU,GAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,aAAa,EACb,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,WAAW,EACX,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,6BAA6B,EAC7B,KAAK,kCAAkC,EACvC,KAAK,UAAU,GAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,aAAa,EACb,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,WAAW,EACX,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,QAAQ,CAAC;AAGvB,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme system for managing application appearance
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { ThemeProvider, useTheme, Theme, FontSize } from '@sudobility/components/core/theme';
|
|
7
|
+
*
|
|
8
|
+
* // Wrap your app
|
|
9
|
+
* function App() {
|
|
10
|
+
* return (
|
|
11
|
+
* <ThemeProvider defaultTheme={Theme.SYSTEM}>
|
|
12
|
+
* <YourApp />
|
|
13
|
+
* </ThemeProvider>
|
|
14
|
+
* );
|
|
15
|
+
* }
|
|
16
|
+
*
|
|
17
|
+
* // Use in components
|
|
18
|
+
* function ThemeToggle() {
|
|
19
|
+
* const { theme, setTheme, resolvedTheme } = useTheme();
|
|
20
|
+
*
|
|
21
|
+
* return (
|
|
22
|
+
* <select value={theme} onChange={(e) => setTheme(e.target.value as Theme)}>
|
|
23
|
+
* <option value={Theme.LIGHT}>Light</option>
|
|
24
|
+
* <option value={Theme.DARK}>Dark</option>
|
|
25
|
+
* <option value={Theme.SYSTEM}>System</option>
|
|
26
|
+
* </select>
|
|
27
|
+
* );
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export { ThemeProvider, ThemeContext, useTheme } from './theme-context';
|
|
32
|
+
export { Theme, FontSize } from './types';
|
|
33
|
+
export type { ThemeContextType, ThemeProviderProps } from './types';
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/theme/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ThemeContextType, ThemeProviderProps } from './types';
|
|
2
|
+
export declare const ThemeContext: import('react').Context<ThemeContextType | undefined>;
|
|
3
|
+
/**
|
|
4
|
+
* Hook to access the theme context
|
|
5
|
+
*
|
|
6
|
+
* @returns Theme context value
|
|
7
|
+
* @throws Error if used outside ThemeProvider
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* const { theme, setTheme, resolvedTheme } = useTheme();
|
|
12
|
+
*
|
|
13
|
+
* // Toggle between light and dark
|
|
14
|
+
* <button onClick={() => setTheme(resolvedTheme === Theme.LIGHT ? Theme.DARK : Theme.LIGHT)}>
|
|
15
|
+
* Toggle Theme
|
|
16
|
+
* </button>
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function useTheme(): ThemeContextType;
|
|
20
|
+
/**
|
|
21
|
+
* Theme provider component that manages theme and font size preferences.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* function App() {
|
|
26
|
+
* return (
|
|
27
|
+
* <ThemeProvider
|
|
28
|
+
* themeStorageKey="my-app-theme"
|
|
29
|
+
* defaultTheme={Theme.SYSTEM}
|
|
30
|
+
* >
|
|
31
|
+
* <YourApp />
|
|
32
|
+
* </ThemeProvider>
|
|
33
|
+
* );
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function ThemeProvider({ children, themeStorageKey, fontSizeStorageKey, defaultTheme, defaultFontSize, }: ThemeProviderProps): React.ReactElement;
|
|
38
|
+
export default ThemeProvider;
|
|
39
|
+
//# sourceMappingURL=theme-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-context.d.ts","sourceRoot":"","sources":["../../../src/core/theme/theme-context.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAsBpE,eAAO,MAAM,YAAY,uDAExB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,IAAI,gBAAgB,CAM3C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,eAAyB,EACzB,kBAAgC,EAChC,YAA0B,EAC1B,eAAiC,GAClC,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAqGzC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme system types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Available theme modes
|
|
6
|
+
*/
|
|
7
|
+
export declare enum Theme {
|
|
8
|
+
LIGHT = "light",
|
|
9
|
+
DARK = "dark",
|
|
10
|
+
SYSTEM = "system"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Available font sizes
|
|
14
|
+
*/
|
|
15
|
+
export declare enum FontSize {
|
|
16
|
+
SMALL = "small",
|
|
17
|
+
MEDIUM = "medium",
|
|
18
|
+
LARGE = "large"
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Theme context value
|
|
22
|
+
*/
|
|
23
|
+
export interface ThemeContextType {
|
|
24
|
+
theme: Theme;
|
|
25
|
+
fontSize: FontSize;
|
|
26
|
+
setTheme: (theme: Theme) => void;
|
|
27
|
+
setFontSize: (fontSize: FontSize) => void;
|
|
28
|
+
/**
|
|
29
|
+
* The actual theme being applied (resolves 'system' to 'light' or 'dark')
|
|
30
|
+
*/
|
|
31
|
+
resolvedTheme: Theme.LIGHT | Theme.DARK;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Theme provider props
|
|
35
|
+
*/
|
|
36
|
+
export interface ThemeProviderProps {
|
|
37
|
+
children: React.ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Storage key for theme preference
|
|
40
|
+
* @default 'theme'
|
|
41
|
+
*/
|
|
42
|
+
themeStorageKey?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Storage key for font size preference
|
|
45
|
+
* @default 'font-size'
|
|
46
|
+
*/
|
|
47
|
+
fontSizeStorageKey?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Default theme
|
|
50
|
+
* @default Theme.LIGHT
|
|
51
|
+
*/
|
|
52
|
+
defaultTheme?: Theme;
|
|
53
|
+
/**
|
|
54
|
+
* Default font size
|
|
55
|
+
* @default FontSize.MEDIUM
|
|
56
|
+
*/
|
|
57
|
+
defaultFontSize?: FontSize;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/theme/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,oBAAY,KAAK;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC1C;;OAEG;IACH,aAAa,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,QAAQ,CAAC;CAC5B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hooks
|
|
3
|
+
*/
|
|
4
|
+
export { useClickOutside } from './useClickOutside';
|
|
5
|
+
export { useCodeLoader } from './useCodeLoader';
|
|
6
|
+
export { useFormSubmission, type UseFormSubmissionOptions, type UseFormSubmissionReturn, } from './useFormSubmission';
|
|
7
|
+
export { useToggle, type UseToggleReturn } from './useToggle';
|
|
8
|
+
export { useCopyToClipboard, useMultipleCopyToClipboard, type CopyToClipboardOptions, type CopyToClipboardResult, } from './useCopyToClipboard';
|
|
9
|
+
export { useLocalizedNavigate, addLanguageToPath, removeLanguageFromPath, } from './useLocalizedNavigate';
|
|
10
|
+
export type { UseLocalizedNavigateOptions, UseLocalizedNavigateReturn, } from './useLocalizedNavigate';
|
|
11
|
+
export { useRoutePerformance } from './useRoutePerformance';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook for language-aware navigation in i18n applications
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Add language prefix to a path
|
|
6
|
+
*/
|
|
7
|
+
export declare function addLanguageToPath(path: string, lang: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* Remove language prefix from a path
|
|
10
|
+
* Assumes language codes are 2 lowercase letters, optionally followed by -xx
|
|
11
|
+
*/
|
|
12
|
+
export declare function removeLanguageFromPath(path: string, isLanguageSupported?: (lang: string) => boolean): string;
|
|
13
|
+
export interface UseLocalizedNavigateOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Function to check if a language code is supported
|
|
16
|
+
* If not provided, any 2-letter code is considered valid
|
|
17
|
+
*/
|
|
18
|
+
isLanguageSupported?: (lang: string) => boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Default language to use if none is detected
|
|
21
|
+
* @default 'en'
|
|
22
|
+
*/
|
|
23
|
+
defaultLanguage?: string;
|
|
24
|
+
/**
|
|
25
|
+
* localStorage key for persisting language preference
|
|
26
|
+
* @default 'language'
|
|
27
|
+
*/
|
|
28
|
+
storageKey?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface UseLocalizedNavigateReturn {
|
|
31
|
+
/**
|
|
32
|
+
* Navigate to a path with the current language prefix
|
|
33
|
+
*/
|
|
34
|
+
navigate: (to: string | number, options?: {
|
|
35
|
+
replace?: boolean;
|
|
36
|
+
state?: unknown;
|
|
37
|
+
}) => void;
|
|
38
|
+
/**
|
|
39
|
+
* Switch to a different language and navigate to the same page in that language
|
|
40
|
+
*/
|
|
41
|
+
switchLanguage: (newLanguage: string, currentPath?: string) => void;
|
|
42
|
+
/**
|
|
43
|
+
* The current language
|
|
44
|
+
*/
|
|
45
|
+
currentLanguage: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Hook for language-aware navigation
|
|
49
|
+
*
|
|
50
|
+
* @param options - Configuration options
|
|
51
|
+
* @returns Navigation functions and current language
|
|
52
|
+
*/
|
|
53
|
+
export declare function useLocalizedNavigate(options?: UseLocalizedNavigateOptions): UseLocalizedNavigateReturn;
|
|
54
|
+
export default useLocalizedNavigate;
|
|
55
|
+
//# sourceMappingURL=useLocalizedNavigate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocalizedNavigate.d.ts","sourceRoot":"","sources":["../../src/hooks/useLocalizedNavigate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAC9C,MAAM,CAcR;AAED,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,QAAQ,EAAE,CACR,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAC7C,IAAI,CAAC;IACV;;OAEG;IACH,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,2BAAgC,GACxC,0BAA0B,CAmD5B;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook to track route change performance
|
|
3
|
+
* Measures time between route changes and reports to performance monitoring
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Hook that tracks route change performance
|
|
7
|
+
* Measures the time between route changes and reports it
|
|
8
|
+
*/
|
|
9
|
+
export declare function useRoutePerformance(): void;
|
|
10
|
+
export default useRoutePerformance;
|
|
11
|
+
//# sourceMappingURL=useRoutePerformance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRoutePerformance.d.ts","sourceRoot":"","sources":["../../src/hooks/useRoutePerformance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CA2B1C;AAED,eAAe,mBAAmB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -53,11 +53,7 @@ export * from './layout';
|
|
|
53
53
|
export * from './seo';
|
|
54
54
|
export * from './optimization';
|
|
55
55
|
export * from './dev-tools';
|
|
56
|
-
export
|
|
57
|
-
export { useCodeLoader } from './hooks/useCodeLoader';
|
|
58
|
-
export { useFormSubmission, type UseFormSubmissionOptions, type UseFormSubmissionReturn, } from './hooks/useFormSubmission';
|
|
59
|
-
export { useToggle, type UseToggleReturn } from './hooks/useToggle';
|
|
60
|
-
export { useCopyToClipboard, useMultipleCopyToClipboard, type CopyToClipboardOptions, type CopyToClipboardResult, } from './hooks/useCopyToClipboard';
|
|
56
|
+
export * from './hooks';
|
|
61
57
|
export { formatFileSize, convertFileSize, parseFileSize, } from './utils/formatFileSize';
|
|
62
58
|
export * from './utils';
|
|
63
59
|
export { getPerformanceMonitor, initializePerformanceMonitoring, type PerformanceMetrics, } from './optimization/performance-monitoring';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,QAAQ,CAAC;AAGvB,cAAc,YAAY,CAAC;AAG3B,cAAc,OAAO,CAAC;AAGtB,cAAc,UAAU,CAAC;AAGzB,cAAc,OAAO,CAAC;AAGtB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,aAAa,CAAC;AAG5B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,QAAQ,CAAC;AAGvB,cAAc,YAAY,CAAC;AAG3B,cAAc,OAAO,CAAC;AAGtB,cAAc,UAAU,CAAC;AAGzB,cAAc,OAAO,CAAC;AAGtB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,OAAO,EACL,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,wBAAwB,CAAC;AAGhC,cAAc,SAAS,CAAC;AAGxB,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,KAAK,kBAAkB,GACxB,MAAM,uCAAuC,CAAC;AAY/C,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;;;;;AAEjC,wBAIE"}
|