@djangocfg/ui-tools 2.1.91
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/LottiePlayer.client-LBEC2JKY.mjs +161 -0
- package/dist/LottiePlayer.client-LBEC2JKY.mjs.map +1 -0
- package/dist/LottiePlayer.client-WFMG2OOW.cjs +168 -0
- package/dist/LottiePlayer.client-WFMG2OOW.cjs.map +1 -0
- package/dist/Mermaid.client-4TU2TSH3.mjs +477 -0
- package/dist/Mermaid.client-4TU2TSH3.mjs.map +1 -0
- package/dist/Mermaid.client-SBYY364Q.cjs +483 -0
- package/dist/Mermaid.client-SBYY364Q.cjs.map +1 -0
- package/dist/PlaygroundLayout-3YVSAEAF.cjs +1003 -0
- package/dist/PlaygroundLayout-3YVSAEAF.cjs.map +1 -0
- package/dist/PlaygroundLayout-4DYBORAS.mjs +996 -0
- package/dist/PlaygroundLayout-4DYBORAS.mjs.map +1 -0
- package/dist/PrettyCode.client-LCBPPTIX.mjs +152 -0
- package/dist/PrettyCode.client-LCBPPTIX.mjs.map +1 -0
- package/dist/PrettyCode.client-PNPLXRH6.cjs +154 -0
- package/dist/PrettyCode.client-PNPLXRH6.cjs.map +1 -0
- package/dist/chunk-37ZI6VD4.mjs +12 -0
- package/dist/chunk-37ZI6VD4.mjs.map +1 -0
- package/dist/chunk-3HK2OE62.cjs +81 -0
- package/dist/chunk-3HK2OE62.cjs.map +1 -0
- package/dist/chunk-7DGDQVQW.cjs +591 -0
- package/dist/chunk-7DGDQVQW.cjs.map +1 -0
- package/dist/chunk-M6P2FU7L.mjs +572 -0
- package/dist/chunk-M6P2FU7L.mjs.map +1 -0
- package/dist/chunk-UQ3XI5MY.cjs +15 -0
- package/dist/chunk-UQ3XI5MY.cjs.map +1 -0
- package/dist/chunk-YFRNE2IR.mjs +79 -0
- package/dist/chunk-YFRNE2IR.mjs.map +1 -0
- package/dist/index.cjs +5042 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1591 -0
- package/dist/index.d.ts +1591 -0
- package/dist/index.mjs +4941 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +86 -0
- package/src/components/markdown/MarkdownMessage.tsx +340 -0
- package/src/components/markdown/index.ts +5 -0
- package/src/index.ts +26 -0
- package/src/stores/index.ts +9 -0
- package/src/stores/mediaCache.ts +534 -0
- package/src/tools/AudioPlayer/README.md +206 -0
- package/src/tools/AudioPlayer/components/HybridAudioPlayer.tsx +216 -0
- package/src/tools/AudioPlayer/components/HybridSimplePlayer.tsx +280 -0
- package/src/tools/AudioPlayer/components/HybridWaveform.tsx +279 -0
- package/src/tools/AudioPlayer/components/ReactiveCover/AudioReactiveCover.tsx +149 -0
- package/src/tools/AudioPlayer/components/ReactiveCover/effects/GlowEffect.tsx +110 -0
- package/src/tools/AudioPlayer/components/ReactiveCover/effects/MeshEffect.tsx +58 -0
- package/src/tools/AudioPlayer/components/ReactiveCover/effects/OrbsEffect.tsx +45 -0
- package/src/tools/AudioPlayer/components/ReactiveCover/effects/SpotlightEffect.tsx +82 -0
- package/src/tools/AudioPlayer/components/ReactiveCover/effects/index.ts +8 -0
- package/src/tools/AudioPlayer/components/ReactiveCover/index.ts +6 -0
- package/src/tools/AudioPlayer/components/index.ts +22 -0
- package/src/tools/AudioPlayer/context/HybridAudioProvider.tsx +158 -0
- package/src/tools/AudioPlayer/context/index.ts +16 -0
- package/src/tools/AudioPlayer/effects/index.ts +412 -0
- package/src/tools/AudioPlayer/hooks/index.ts +35 -0
- package/src/tools/AudioPlayer/hooks/useHybridAudio.ts +387 -0
- package/src/tools/AudioPlayer/hooks/useHybridAudioAnalysis.ts +95 -0
- package/src/tools/AudioPlayer/hooks/useVisualization.tsx +207 -0
- package/src/tools/AudioPlayer/index.ts +133 -0
- package/src/tools/AudioPlayer/types/effects.ts +73 -0
- package/src/tools/AudioPlayer/types/index.ts +27 -0
- package/src/tools/AudioPlayer/utils/debug.ts +14 -0
- package/src/tools/AudioPlayer/utils/formatTime.ts +10 -0
- package/src/tools/AudioPlayer/utils/index.ts +6 -0
- package/src/tools/ImageViewer/@refactoring/00-PLAN.md +71 -0
- package/src/tools/ImageViewer/@refactoring/01-TYPES.md +121 -0
- package/src/tools/ImageViewer/@refactoring/02-UTILS.md +143 -0
- package/src/tools/ImageViewer/@refactoring/03-HOOKS.md +261 -0
- package/src/tools/ImageViewer/@refactoring/04-COMPONENTS.md +427 -0
- package/src/tools/ImageViewer/@refactoring/05-EXECUTION-CHECKLIST.md +126 -0
- package/src/tools/ImageViewer/README.md +200 -0
- package/src/tools/ImageViewer/components/ImageInfo.tsx +44 -0
- package/src/tools/ImageViewer/components/ImageToolbar.tsx +145 -0
- package/src/tools/ImageViewer/components/ImageViewer.tsx +241 -0
- package/src/tools/ImageViewer/components/index.ts +7 -0
- package/src/tools/ImageViewer/hooks/index.ts +9 -0
- package/src/tools/ImageViewer/hooks/useImageLoading.ts +204 -0
- package/src/tools/ImageViewer/hooks/useImageTransform.ts +101 -0
- package/src/tools/ImageViewer/index.ts +60 -0
- package/src/tools/ImageViewer/types.ts +81 -0
- package/src/tools/ImageViewer/utils/constants.ts +59 -0
- package/src/tools/ImageViewer/utils/debug.ts +14 -0
- package/src/tools/ImageViewer/utils/index.ts +17 -0
- package/src/tools/ImageViewer/utils/lqip.ts +47 -0
- package/src/tools/JsonForm/JsonSchemaForm.tsx +197 -0
- package/src/tools/JsonForm/examples/BotConfigExample.tsx +249 -0
- package/src/tools/JsonForm/examples/RealBotConfigExample.tsx +161 -0
- package/src/tools/JsonForm/index.ts +46 -0
- package/src/tools/JsonForm/templates/ArrayFieldItemTemplate.tsx +47 -0
- package/src/tools/JsonForm/templates/ArrayFieldTemplate.tsx +74 -0
- package/src/tools/JsonForm/templates/BaseInputTemplate.tsx +107 -0
- package/src/tools/JsonForm/templates/ErrorListTemplate.tsx +35 -0
- package/src/tools/JsonForm/templates/FieldTemplate.tsx +62 -0
- package/src/tools/JsonForm/templates/ObjectFieldTemplate.tsx +116 -0
- package/src/tools/JsonForm/templates/index.ts +12 -0
- package/src/tools/JsonForm/types.ts +83 -0
- package/src/tools/JsonForm/utils.ts +213 -0
- package/src/tools/JsonForm/widgets/CheckboxWidget.tsx +37 -0
- package/src/tools/JsonForm/widgets/ColorWidget.tsx +219 -0
- package/src/tools/JsonForm/widgets/NumberWidget.tsx +89 -0
- package/src/tools/JsonForm/widgets/SelectWidget.tsx +97 -0
- package/src/tools/JsonForm/widgets/SliderWidget.tsx +148 -0
- package/src/tools/JsonForm/widgets/SwitchWidget.tsx +35 -0
- package/src/tools/JsonForm/widgets/TextWidget.tsx +96 -0
- package/src/tools/JsonForm/widgets/index.ts +14 -0
- package/src/tools/JsonTree/index.tsx +243 -0
- package/src/tools/LottiePlayer/LottiePlayer.client.tsx +213 -0
- package/src/tools/LottiePlayer/index.tsx +56 -0
- package/src/tools/LottiePlayer/types.ts +108 -0
- package/src/tools/LottiePlayer/useLottie.ts +164 -0
- package/src/tools/Mermaid/Mermaid.client.tsx +82 -0
- package/src/tools/Mermaid/components/MermaidCodeViewer.tsx +95 -0
- package/src/tools/Mermaid/components/MermaidFullscreenModal.tsx +103 -0
- package/src/tools/Mermaid/hooks/index.ts +4 -0
- package/src/tools/Mermaid/hooks/useMermaidCleanup.ts +73 -0
- package/src/tools/Mermaid/hooks/useMermaidFullscreen.ts +46 -0
- package/src/tools/Mermaid/hooks/useMermaidRenderer.ts +226 -0
- package/src/tools/Mermaid/hooks/useMermaidValidation.ts +29 -0
- package/src/tools/Mermaid/index.tsx +44 -0
- package/src/tools/Mermaid/utils/mermaid-helpers.ts +33 -0
- package/src/tools/OpenapiViewer/components/EndpointInfo.tsx +149 -0
- package/src/tools/OpenapiViewer/components/EndpointsLibrary.tsx +263 -0
- package/src/tools/OpenapiViewer/components/PlaygroundLayout.tsx +125 -0
- package/src/tools/OpenapiViewer/components/PlaygroundStepper.tsx +100 -0
- package/src/tools/OpenapiViewer/components/RequestBuilder.tsx +157 -0
- package/src/tools/OpenapiViewer/components/RequestParametersForm.tsx +253 -0
- package/src/tools/OpenapiViewer/components/ResponseViewer.tsx +173 -0
- package/src/tools/OpenapiViewer/components/VersionSelector.tsx +68 -0
- package/src/tools/OpenapiViewer/components/index.ts +14 -0
- package/src/tools/OpenapiViewer/constants.ts +39 -0
- package/src/tools/OpenapiViewer/context/PlaygroundContext.tsx +337 -0
- package/src/tools/OpenapiViewer/hooks/index.ts +8 -0
- package/src/tools/OpenapiViewer/hooks/useMobile.ts +10 -0
- package/src/tools/OpenapiViewer/hooks/useOpenApiSchema.ts +199 -0
- package/src/tools/OpenapiViewer/index.tsx +37 -0
- package/src/tools/OpenapiViewer/types.ts +151 -0
- package/src/tools/OpenapiViewer/utils/apiKeyManager.ts +149 -0
- package/src/tools/OpenapiViewer/utils/formatters.ts +71 -0
- package/src/tools/OpenapiViewer/utils/index.ts +9 -0
- package/src/tools/OpenapiViewer/utils/versionManager.ts +161 -0
- package/src/tools/PrettyCode/PrettyCode.client.tsx +208 -0
- package/src/tools/PrettyCode/index.tsx +47 -0
- package/src/tools/VideoPlayer/@refactoring/00-PLAN.md +91 -0
- package/src/tools/VideoPlayer/@refactoring/01-TYPES.md +284 -0
- package/src/tools/VideoPlayer/@refactoring/02-UTILS.md +141 -0
- package/src/tools/VideoPlayer/@refactoring/03-HOOKS.md +178 -0
- package/src/tools/VideoPlayer/@refactoring/04-COMPONENTS.md +95 -0
- package/src/tools/VideoPlayer/@refactoring/05-EXECUTION-CHECKLIST.md +139 -0
- package/src/tools/VideoPlayer/README.md +264 -0
- package/src/tools/VideoPlayer/components/VideoControls.tsx +138 -0
- package/src/tools/VideoPlayer/components/VideoErrorFallback.tsx +172 -0
- package/src/tools/VideoPlayer/components/VideoPlayer.tsx +201 -0
- package/src/tools/VideoPlayer/components/index.ts +14 -0
- package/src/tools/VideoPlayer/context/VideoPlayerContext.tsx +52 -0
- package/src/tools/VideoPlayer/context/index.ts +8 -0
- package/src/tools/VideoPlayer/hooks/index.ts +12 -0
- package/src/tools/VideoPlayer/hooks/useVideoPlayerSettings.ts +70 -0
- package/src/tools/VideoPlayer/hooks/useVideoPositionCache.ts +116 -0
- package/src/tools/VideoPlayer/index.ts +77 -0
- package/src/tools/VideoPlayer/providers/NativeProvider.tsx +284 -0
- package/src/tools/VideoPlayer/providers/StreamProvider.tsx +505 -0
- package/src/tools/VideoPlayer/providers/VidstackProvider.tsx +400 -0
- package/src/tools/VideoPlayer/providers/index.ts +8 -0
- package/src/tools/VideoPlayer/types/index.ts +38 -0
- package/src/tools/VideoPlayer/types/player.ts +116 -0
- package/src/tools/VideoPlayer/types/provider.ts +93 -0
- package/src/tools/VideoPlayer/types/sources.ts +97 -0
- package/src/tools/VideoPlayer/utils/debug.ts +14 -0
- package/src/tools/VideoPlayer/utils/fileSource.ts +78 -0
- package/src/tools/VideoPlayer/utils/index.ts +12 -0
- package/src/tools/VideoPlayer/utils/resolvers.ts +75 -0
- package/src/tools/_shared.ts +29 -0
- package/src/tools/index.ts +172 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tools/PrettyCode/PrettyCode.client.tsx"],"names":["__name","useResolvedTheme","themes","bgClass","jsx","Highlight","className","jsxs","CopyButton"],"mappings":"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","file":"PrettyCode.client-PNPLXRH6.cjs","sourcesContent":["'use client';\n\nimport { Highlight, Language, themes } from 'prism-react-renderer';\nimport React from 'react';\n\nimport { CopyButton } from '@djangocfg/ui-core/components';\n\nimport { useResolvedTheme } from '@djangocfg/ui-core/hooks';\n\ninterface PrettyCodeProps {\n data: string | object;\n language: Language;\n className?: string;\n mode?: 'dark' | 'light';\n inline?: boolean;\n customBg?: string; // Custom background class\n isCompact?: boolean; // Compact mode for smaller font sizes\n}\n\nconst PrettyCode = ({ data, language, className, mode, inline = false, customBg, isCompact = false }: PrettyCodeProps) => {\n const detectedTheme = useResolvedTheme();\n\n // Font size based on compact mode\n const fontSize = isCompact ? '0.75rem' : '0.875rem'; // 12px vs 14px\n\n // Use provided mode or fall back to detected theme\n const currentTheme = mode || detectedTheme;\n const isDarkMode = currentTheme === 'dark';\n\n // Select the Prism theme based on the current theme\n const prismTheme = isDarkMode ? themes.vsDark : themes.vsLight;\n\n // Convert form object to JSON string with proper formatting\n const contentJson = typeof data === 'string' ? data : JSON.stringify(data || {}, null, 2);\n \n // Handle empty content\n if (!contentJson || contentJson.trim() === '') {\n const bgClass = customBg || 'bg-muted dark:bg-zinc-900';\n return (\n <div className={`relative h-full ${bgClass} rounded-sm border border-border dark:border-zinc-700 ${className || ''}`}>\n <div className=\"h-full overflow-auto p-4\">\n <p className=\"text-muted-foreground text-sm italic\">No content available</p>\n </div>\n </div>\n );\n }\n\n // Get display name for language badge\n const getLanguageDisplayName = (lang: string): string => {\n switch (lang.toLowerCase()) {\n case 'bash':\n case 'shell':\n return 'Bash';\n case 'python':\n case 'py':\n return 'Python';\n case 'javascript':\n case 'js':\n return 'JavaScript';\n case 'typescript':\n case 'ts':\n return 'TypeScript';\n case 'json':\n return 'JSON';\n case 'yaml':\n case 'yml':\n return 'YAML';\n case 'html':\n return 'HTML';\n case 'css':\n return 'CSS';\n case 'sql':\n return 'SQL';\n case 'xml':\n return 'XML';\n case 'markdown':\n case 'md':\n return 'Markdown';\n case 'plaintext':\n case 'text':\n return 'Text';\n case 'mermaid':\n return 'Mermaid';\n default:\n return lang.charAt(0).toUpperCase() + lang.slice(1);\n }\n };\n\n // Normalize language for Prism - use only basic supported languages\n const normalizedLanguage = (() => {\n const lang = language.toLowerCase();\n \n // Try basic languages that are definitely supported\n switch (lang) {\n case 'javascript':\n case 'js':\n return 'javascript';\n case 'typescript':\n case 'ts':\n return 'typescript'; // Try TypeScript first\n case 'python':\n case 'py':\n return 'python';\n case 'json':\n return 'json';\n case 'css':\n return 'css';\n case 'html':\n return 'markup';\n case 'xml':\n return 'markup';\n case 'bash':\n case 'shell':\n return 'bash';\n case 'sql':\n return 'sql';\n case 'yaml':\n case 'yml':\n return 'yaml';\n case 'markdown':\n case 'md':\n return 'markdown';\n case 'mermaid':\n return 'text'; // Mermaid is handled separately in MarkdownMessage\n default:\n // For unknown languages, try to use the original name first\n // If it doesn't work, Prism will fallback to plain text\n return lang || 'text';\n }\n })();\n\n const displayLanguage = getLanguageDisplayName(language);\n\n if (inline) {\n const inlineBgClass = customBg || 'bg-muted dark:bg-[#1e1e1e]';\n return (\n <Highlight theme={prismTheme} code={contentJson} language={normalizedLanguage as Language}>\n {({ className, style, tokens, getTokenProps }) => (\n <code\n className={`${className} ${inlineBgClass} px-2 py-1 rounded ${isCompact ? 'text-xs' : 'text-sm'} font-mono inline-block`}\n style={{\n ...style,\n fontSize,\n fontFamily: 'monospace',\n }}\n >\n {tokens.map((line) => (\n line.map((token, key) => (\n <span key={key} {...getTokenProps({ token })} />\n ))\n ))}\n </code>\n )}\n </Highlight>\n );\n }\n\n const bgClass = customBg || 'bg-muted dark:bg-[#1e1e1e]';\n \n return (\n <div className={`relative h-full ${bgClass} rounded-sm border border-border dark:border-zinc-800 dark:shadow-sm ${className || ''}`}>\n {/* Header with language badge and copy button */}\n <div className=\"absolute top-2 left-3 right-3 z-10 flex items-center justify-between\">\n <span className=\"inline-flex items-center px-2 py-1 rounded text-xs font-medium bg-background/80 text-muted-foreground border border-border/50 backdrop-blur-sm\">\n {displayLanguage}\n </span>\n <CopyButton\n value={contentJson}\n variant=\"ghost\"\n className=\"h-7 w-7 bg-background/80 border border-border/50 backdrop-blur-sm\"\n iconClassName=\"h-3.5 w-3.5\"\n title=\"Copy code\"\n />\n </div>\n \n <div className=\"h-full overflow-auto\">\n <Highlight theme={prismTheme} code={contentJson} language={normalizedLanguage as Language}>\n {({ className, style, tokens, getLineProps, getTokenProps }) => (\n <pre\n className={`${className}`}\n style={{\n ...style,\n margin: 0,\n padding: '2.5rem 1rem 1rem 1rem', // Extra top padding for language badge\n fontSize,\n lineHeight: isCompact ? 1.4 : 1.5,\n fontFamily: 'monospace',\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflowWrap: 'break-word',\n }}\n >\n {tokens.map((line, i) => (\n <div key={i} {...getLineProps({ line })}>\n {line.map((token, key) => (\n <span key={key} {...getTokenProps({ token })} />\n ))}\n </div>\n ))}\n </pre>\n )}\n </Highlight>\n </div>\n </div>\n );\n};\n\nexport default PrettyCode; "]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
4
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
5
|
+
}) : x)(function(x) {
|
|
6
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
7
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export { __name, __require };
|
|
11
|
+
//# sourceMappingURL=chunk-37ZI6VD4.mjs.map
|
|
12
|
+
//# sourceMappingURL=chunk-37ZI6VD4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-37ZI6VD4.mjs"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkUQ3XI5MY_cjs = require('./chunk-UQ3XI5MY.cjs');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
|
|
6
|
+
var animationCache = /* @__PURE__ */ new Map();
|
|
7
|
+
function useLottie(options) {
|
|
8
|
+
const { src, cache = true } = options;
|
|
9
|
+
const [animationData, setAnimationData] = react.useState(null);
|
|
10
|
+
const [isLoading, setIsLoading] = react.useState(false);
|
|
11
|
+
const [error, setError] = react.useState(null);
|
|
12
|
+
const [retryCount, setRetryCount] = react.useState(0);
|
|
13
|
+
const isMountedRef = react.useRef(true);
|
|
14
|
+
react.useEffect(() => {
|
|
15
|
+
isMountedRef.current = true;
|
|
16
|
+
return () => {
|
|
17
|
+
isMountedRef.current = false;
|
|
18
|
+
};
|
|
19
|
+
}, []);
|
|
20
|
+
react.useEffect(() => {
|
|
21
|
+
if (typeof src === "object" && src !== null) {
|
|
22
|
+
setAnimationData(src);
|
|
23
|
+
setIsLoading(false);
|
|
24
|
+
setError(null);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (typeof src === "string") {
|
|
28
|
+
const loadAnimation = /* @__PURE__ */ chunkUQ3XI5MY_cjs.__name(async () => {
|
|
29
|
+
if (cache && animationCache.has(src)) {
|
|
30
|
+
if (isMountedRef.current) {
|
|
31
|
+
setAnimationData(animationCache.get(src));
|
|
32
|
+
setIsLoading(false);
|
|
33
|
+
setError(null);
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (isMountedRef.current) {
|
|
38
|
+
setIsLoading(true);
|
|
39
|
+
setError(null);
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
const response = await fetch(src);
|
|
43
|
+
if (!response.ok) {
|
|
44
|
+
throw new Error(`Failed to load animation: ${response.status} ${response.statusText}`);
|
|
45
|
+
}
|
|
46
|
+
const data = await response.json();
|
|
47
|
+
if (!data || typeof data !== "object" || !data.v || !data.layers) {
|
|
48
|
+
throw new Error("Invalid Lottie animation data");
|
|
49
|
+
}
|
|
50
|
+
if (cache) {
|
|
51
|
+
animationCache.set(src, data);
|
|
52
|
+
}
|
|
53
|
+
if (isMountedRef.current) {
|
|
54
|
+
setAnimationData(data);
|
|
55
|
+
setIsLoading(false);
|
|
56
|
+
}
|
|
57
|
+
} catch (err) {
|
|
58
|
+
if (isMountedRef.current) {
|
|
59
|
+
setError(err instanceof Error ? err : new Error("Failed to load animation"));
|
|
60
|
+
setIsLoading(false);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}, "loadAnimation");
|
|
64
|
+
loadAnimation();
|
|
65
|
+
}
|
|
66
|
+
}, [src, cache, retryCount]);
|
|
67
|
+
const retry = /* @__PURE__ */ chunkUQ3XI5MY_cjs.__name(() => {
|
|
68
|
+
setRetryCount((prev) => prev + 1);
|
|
69
|
+
}, "retry");
|
|
70
|
+
return {
|
|
71
|
+
animationData,
|
|
72
|
+
isLoading,
|
|
73
|
+
error,
|
|
74
|
+
retry
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
chunkUQ3XI5MY_cjs.__name(useLottie, "useLottie");
|
|
78
|
+
|
|
79
|
+
exports.useLottie = useLottie;
|
|
80
|
+
//# sourceMappingURL=chunk-3HK2OE62.cjs.map
|
|
81
|
+
//# sourceMappingURL=chunk-3HK2OE62.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tools/LottiePlayer/useLottie.ts"],"names":["useState","useRef","useEffect","__name"],"mappings":"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","file":"chunk-3HK2OE62.cjs","sourcesContent":["/**\n * useLottie Hook\n *\n * Hook for loading and managing Lottie animation data\n */\n\n'use client';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { LottieAnimationData } from './types';\n\nexport interface UseLottieOptions {\n /**\n * Animation data (JSON object) or URL to load from\n */\n src: string | object;\n\n /**\n * Enable caching of loaded animations\n * @default true\n */\n cache?: boolean;\n}\n\nexport interface UseLottieReturn {\n /**\n * Loaded animation data\n */\n animationData: object | null;\n\n /**\n * Loading state\n */\n isLoading: boolean;\n\n /**\n * Error state\n */\n error: Error | null;\n\n /**\n * Retry loading the animation\n */\n retry: () => void;\n}\n\n// Simple in-memory cache for loaded animations\nconst animationCache = new Map<string, object>();\n\n/**\n * Hook for loading Lottie animations from URLs or objects\n *\n * Features:\n * - Loads animations from URLs or accepts animation objects directly\n * - Caching support to prevent re-fetching the same animation\n * - Error handling with retry capability\n * - Loading states\n *\n * Usage:\n * ```tsx\n * const { animationData, isLoading, error, retry } = useLottie({\n * src: 'https://example.com/animation.json'\n * });\n *\n * if (isLoading) return <div>Loading...</div>;\n * if (error) return <div>Error: {error.message} <button onClick={retry}>Retry</button></div>;\n * if (!animationData) return null;\n *\n * return <LottiePlayer animationData={animationData} />;\n * ```\n */\nexport function useLottie(options: UseLottieOptions): UseLottieReturn {\n const { src, cache = true } = options;\n\n const [animationData, setAnimationData] = useState<object | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [retryCount, setRetryCount] = useState(0);\n\n // Track if component is mounted to prevent state updates on unmounted component\n const isMountedRef = useRef(true);\n\n useEffect(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n\n useEffect(() => {\n // If src is already an object, use it directly\n if (typeof src === 'object' && src !== null) {\n setAnimationData(src);\n setIsLoading(false);\n setError(null);\n return;\n }\n\n // If src is a string (URL), fetch it\n if (typeof src === 'string') {\n const loadAnimation = async () => {\n // Check cache first\n if (cache && animationCache.has(src)) {\n if (isMountedRef.current) {\n setAnimationData(animationCache.get(src)!);\n setIsLoading(false);\n setError(null);\n }\n return;\n }\n\n // Load from URL\n if (isMountedRef.current) {\n setIsLoading(true);\n setError(null);\n }\n\n try {\n const response = await fetch(src);\n\n if (!response.ok) {\n throw new Error(`Failed to load animation: ${response.status} ${response.statusText}`);\n }\n\n const data = await response.json();\n\n // Validate that it's a valid Lottie animation\n if (!data || typeof data !== 'object' || !data.v || !data.layers) {\n throw new Error('Invalid Lottie animation data');\n }\n\n // Cache the loaded animation\n if (cache) {\n animationCache.set(src, data);\n }\n\n if (isMountedRef.current) {\n setAnimationData(data);\n setIsLoading(false);\n }\n } catch (err) {\n if (isMountedRef.current) {\n setError(err instanceof Error ? err : new Error('Failed to load animation'));\n setIsLoading(false);\n }\n }\n };\n\n loadAnimation();\n }\n }, [src, cache, retryCount]);\n\n const retry = () => {\n setRetryCount((prev) => prev + 1);\n };\n\n return {\n animationData,\n isLoading,\n error,\n retry,\n };\n}\n"]}
|