@djangocfg/ui-tools 2.1.389 → 2.1.393

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 (183) hide show
  1. package/README.md +7 -10
  2. package/dist/chunk-PAWJFY3S.mjs +6 -0
  3. package/dist/{chunk-N2XQF2OL.mjs.map → chunk-PAWJFY3S.mjs.map} +1 -1
  4. package/dist/chunk-PK6SKIKE.cjs +8 -0
  5. package/dist/{chunk-OLISEQHS.cjs.map → chunk-PK6SKIKE.cjs.map} +1 -1
  6. package/dist/file-icon/index.cjs +6 -6
  7. package/dist/file-icon/index.d.cts +1 -1
  8. package/dist/file-icon/index.d.ts +1 -1
  9. package/dist/file-icon/index.mjs +1 -1
  10. package/dist/tree/index.cjs +1372 -143
  11. package/dist/tree/index.cjs.map +1 -1
  12. package/dist/tree/index.d.cts +2 -2
  13. package/dist/tree/index.d.ts +2 -2
  14. package/dist/tree/index.mjs +1322 -3
  15. package/dist/tree/index.mjs.map +1 -1
  16. package/dist/{types-CevSbyfD.d.cts → types-B_zhyAqR.d.cts} +1 -1
  17. package/dist/{types-CevSbyfD.d.ts → types-B_zhyAqR.d.ts} +1 -1
  18. package/package.json +9 -17
  19. package/src/tools/AudioPlayer/README.md +4 -4
  20. package/src/tools/Chat/README.md +6 -6
  21. package/src/tools/CronScheduler/index.tsx +1 -1
  22. package/src/tools/CronScheduler/lazy.tsx +1 -1
  23. package/src/tools/ImageViewer/README.md +1 -1
  24. package/src/tools/JsonForm/README.md +2 -2
  25. package/src/tools/MarkdownEditor/README.md +3 -3
  26. package/src/tools/MarkdownMessage/README.md +2 -2
  27. package/src/tools/OpenapiViewer/components/DocsLayout/grouping.ts +5 -1
  28. package/src/tools/SpeechRecognition/README.md +1 -1
  29. package/dist/ChatRoot-EFNXQXXN.cjs +0 -15
  30. package/dist/ChatRoot-EFNXQXXN.cjs.map +0 -1
  31. package/dist/ChatRoot-FITF5RVP.mjs +0 -6
  32. package/dist/ChatRoot-FITF5RVP.mjs.map +0 -1
  33. package/dist/ChatRoot-PNNGQCYF.css +0 -7
  34. package/dist/ChatRoot-PNNGQCYF.css.map +0 -1
  35. package/dist/CronScheduler.client-DLMXCPAJ.mjs +0 -67
  36. package/dist/CronScheduler.client-DLMXCPAJ.mjs.map +0 -1
  37. package/dist/CronScheduler.client-WEJF4PWQ.cjs +0 -72
  38. package/dist/CronScheduler.client-WEJF4PWQ.cjs.map +0 -1
  39. package/dist/DictationField-AS2F33WI.cjs +0 -13
  40. package/dist/DictationField-AS2F33WI.cjs.map +0 -1
  41. package/dist/DictationField-WPONUCYE.mjs +0 -4
  42. package/dist/DictationField-WPONUCYE.mjs.map +0 -1
  43. package/dist/DocsLayout-EKASBSP7.mjs +0 -3448
  44. package/dist/DocsLayout-EKASBSP7.mjs.map +0 -1
  45. package/dist/DocsLayout-MBFIB4NO.css +0 -7
  46. package/dist/DocsLayout-MBFIB4NO.css.map +0 -1
  47. package/dist/DocsLayout-OURFYWQE.cjs +0 -3455
  48. package/dist/DocsLayout-OURFYWQE.cjs.map +0 -1
  49. package/dist/JsonSchemaForm-DD7CLRIG.cjs +0 -13
  50. package/dist/JsonSchemaForm-DD7CLRIG.cjs.map +0 -1
  51. package/dist/JsonSchemaForm-XKUIVELK.mjs +0 -4
  52. package/dist/JsonSchemaForm-XKUIVELK.mjs.map +0 -1
  53. package/dist/JsonTree-43PQAJKY.mjs +0 -5
  54. package/dist/JsonTree-43PQAJKY.mjs.map +0 -1
  55. package/dist/JsonTree-MLET23ZA.css +0 -7
  56. package/dist/JsonTree-MLET23ZA.css.map +0 -1
  57. package/dist/JsonTree-X6W5YEVY.cjs +0 -11
  58. package/dist/JsonTree-X6W5YEVY.cjs.map +0 -1
  59. package/dist/LottiePlayer.client-2S7ISJ2S.cjs +0 -168
  60. package/dist/LottiePlayer.client-2S7ISJ2S.cjs.map +0 -1
  61. package/dist/LottiePlayer.client-5LDSSJWS.mjs +0 -161
  62. package/dist/LottiePlayer.client-5LDSSJWS.mjs.map +0 -1
  63. package/dist/MapContainer-AKIPABJK.mjs +0 -4
  64. package/dist/MapContainer-AKIPABJK.mjs.map +0 -1
  65. package/dist/MapContainer-STVDMC36.cjs +0 -17
  66. package/dist/MapContainer-STVDMC36.cjs.map +0 -1
  67. package/dist/Mermaid.client-DDXWXZXY.css +0 -7
  68. package/dist/Mermaid.client-DDXWXZXY.css.map +0 -1
  69. package/dist/Mermaid.client-NL4SVR7F.mjs +0 -481
  70. package/dist/Mermaid.client-NL4SVR7F.mjs.map +0 -1
  71. package/dist/Mermaid.client-NNTI6DFX.cjs +0 -487
  72. package/dist/Mermaid.client-NNTI6DFX.cjs.map +0 -1
  73. package/dist/Player-BRV7XTWR.mjs +0 -4
  74. package/dist/Player-BRV7XTWR.mjs.map +0 -1
  75. package/dist/Player-PM7F7DD7.cjs +0 -13
  76. package/dist/Player-PM7F7DD7.cjs.map +0 -1
  77. package/dist/Player-ZGQKKOWI.css +0 -66
  78. package/dist/Player-ZGQKKOWI.css.map +0 -1
  79. package/dist/PrettyCode.client-GWFAIVFN.css +0 -7
  80. package/dist/PrettyCode.client-GWFAIVFN.css.map +0 -1
  81. package/dist/PrettyCode.client-KOHDVPPN.cjs +0 -285
  82. package/dist/PrettyCode.client-KOHDVPPN.cjs.map +0 -1
  83. package/dist/PrettyCode.client-ZGYGKE7G.mjs +0 -283
  84. package/dist/PrettyCode.client-ZGYGKE7G.mjs.map +0 -1
  85. package/dist/TreeRoot-5COOOSWG.mjs +0 -4
  86. package/dist/TreeRoot-5COOOSWG.mjs.map +0 -1
  87. package/dist/TreeRoot-AABP2J6Y.cjs +0 -19
  88. package/dist/TreeRoot-AABP2J6Y.cjs.map +0 -1
  89. package/dist/chunk-2NG4SXEP.mjs +0 -743
  90. package/dist/chunk-2NG4SXEP.mjs.map +0 -1
  91. package/dist/chunk-4LFB7I5K.cjs +0 -1387
  92. package/dist/chunk-4LFB7I5K.cjs.map +0 -1
  93. package/dist/chunk-5D2OCOPQ.cjs +0 -222
  94. package/dist/chunk-5D2OCOPQ.cjs.map +0 -1
  95. package/dist/chunk-5I5QNGUG.cjs +0 -611
  96. package/dist/chunk-5I5QNGUG.cjs.map +0 -1
  97. package/dist/chunk-6ZX2G25W.mjs +0 -1361
  98. package/dist/chunk-6ZX2G25W.mjs.map +0 -1
  99. package/dist/chunk-76NNDZH6.cjs +0 -1061
  100. package/dist/chunk-76NNDZH6.cjs.map +0 -1
  101. package/dist/chunk-7CWGZPO3.mjs +0 -214
  102. package/dist/chunk-7CWGZPO3.mjs.map +0 -1
  103. package/dist/chunk-7EYHNP3E.cjs +0 -965
  104. package/dist/chunk-7EYHNP3E.cjs.map +0 -1
  105. package/dist/chunk-7IYXZUJO.cjs +0 -769
  106. package/dist/chunk-7IYXZUJO.cjs.map +0 -1
  107. package/dist/chunk-ADEN3UA4.cjs +0 -892
  108. package/dist/chunk-ADEN3UA4.cjs.map +0 -1
  109. package/dist/chunk-B6IR5KSC.mjs +0 -59
  110. package/dist/chunk-B6IR5KSC.mjs.map +0 -1
  111. package/dist/chunk-C6GXVH5J.mjs +0 -338
  112. package/dist/chunk-C6GXVH5J.mjs.map +0 -1
  113. package/dist/chunk-DMX7W4XZ.mjs +0 -1113
  114. package/dist/chunk-DMX7W4XZ.mjs.map +0 -1
  115. package/dist/chunk-ECONRHIG.mjs +0 -212
  116. package/dist/chunk-ECONRHIG.mjs.map +0 -1
  117. package/dist/chunk-FEN5S772.cjs +0 -1227
  118. package/dist/chunk-FEN5S772.cjs.map +0 -1
  119. package/dist/chunk-FP2RLYQZ.cjs +0 -187
  120. package/dist/chunk-FP2RLYQZ.cjs.map +0 -1
  121. package/dist/chunk-FVVF7VCD.cjs +0 -1325
  122. package/dist/chunk-FVVF7VCD.cjs.map +0 -1
  123. package/dist/chunk-GYIO7W7M.mjs +0 -1197
  124. package/dist/chunk-GYIO7W7M.mjs.map +0 -1
  125. package/dist/chunk-KNDLV4PI.cjs +0 -1356
  126. package/dist/chunk-KNDLV4PI.cjs.map +0 -1
  127. package/dist/chunk-KNEQRUBA.mjs +0 -181
  128. package/dist/chunk-KNEQRUBA.mjs.map +0 -1
  129. package/dist/chunk-N2XQF2OL.mjs +0 -14
  130. package/dist/chunk-N4MZYNR4.mjs +0 -1342
  131. package/dist/chunk-N4MZYNR4.mjs.map +0 -1
  132. package/dist/chunk-NTVBIIUD.mjs +0 -1439
  133. package/dist/chunk-NTVBIIUD.mjs.map +0 -1
  134. package/dist/chunk-OBRSGM64.mjs +0 -607
  135. package/dist/chunk-OBRSGM64.mjs.map +0 -1
  136. package/dist/chunk-ODO4GMW7.mjs +0 -79
  137. package/dist/chunk-ODO4GMW7.mjs.map +0 -1
  138. package/dist/chunk-OLISEQHS.cjs +0 -18
  139. package/dist/chunk-PVAX67JG.mjs +0 -1041
  140. package/dist/chunk-PVAX67JG.mjs.map +0 -1
  141. package/dist/chunk-QJ6GTUCO.cjs +0 -81
  142. package/dist/chunk-QJ6GTUCO.cjs.map +0 -1
  143. package/dist/chunk-T3MWM23F.cjs +0 -214
  144. package/dist/chunk-T3MWM23F.cjs.map +0 -1
  145. package/dist/chunk-TBSHZO5R.cjs +0 -1134
  146. package/dist/chunk-TBSHZO5R.cjs.map +0 -1
  147. package/dist/chunk-UNCS5V5F.mjs +0 -887
  148. package/dist/chunk-UNCS5V5F.mjs.map +0 -1
  149. package/dist/chunk-VWQ5WOIL.mjs +0 -2059
  150. package/dist/chunk-VWQ5WOIL.mjs.map +0 -1
  151. package/dist/chunk-W75B7Y6C.cjs +0 -1478
  152. package/dist/chunk-W75B7Y6C.cjs.map +0 -1
  153. package/dist/chunk-Y6UTOBF6.mjs +0 -938
  154. package/dist/chunk-Y6UTOBF6.mjs.map +0 -1
  155. package/dist/chunk-YDPDTOSP.cjs +0 -2061
  156. package/dist/chunk-YDPDTOSP.cjs.map +0 -1
  157. package/dist/chunk-YW5IVWHQ.cjs +0 -346
  158. package/dist/chunk-YW5IVWHQ.cjs.map +0 -1
  159. package/dist/chunk-YXZ6GU7H.cjs +0 -63
  160. package/dist/chunk-YXZ6GU7H.cjs.map +0 -1
  161. package/dist/chunk-ZL7FH4NW.mjs +0 -1274
  162. package/dist/chunk-ZL7FH4NW.mjs.map +0 -1
  163. package/dist/components-EHOGXATG.cjs +0 -22
  164. package/dist/components-EHOGXATG.cjs.map +0 -1
  165. package/dist/components-MQ6DR7TX.cjs +0 -26
  166. package/dist/components-MQ6DR7TX.cjs.map +0 -1
  167. package/dist/components-XRX7QGLB.mjs +0 -5
  168. package/dist/components-XRX7QGLB.mjs.map +0 -1
  169. package/dist/components-YATKRWLH.mjs +0 -5
  170. package/dist/components-YATKRWLH.mjs.map +0 -1
  171. package/dist/index.cjs +0 -3674
  172. package/dist/index.cjs.map +0 -1
  173. package/dist/index.css +0 -234
  174. package/dist/index.css.map +0 -1
  175. package/dist/index.d.cts +0 -4929
  176. package/dist/index.d.ts +0 -4929
  177. package/dist/index.mjs +0 -2912
  178. package/dist/index.mjs.map +0 -1
  179. package/dist/launcher-5Y42OBSN.mjs +0 -6
  180. package/dist/launcher-5Y42OBSN.mjs.map +0 -1
  181. package/dist/launcher-PMW2YB24.cjs +0 -59
  182. package/dist/launcher-PMW2YB24.cjs.map +0 -1
  183. package/src/index.ts +0 -157
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkFEN5S772_cjs = require('./chunk-FEN5S772.cjs');
4
- require('./chunk-OLISEQHS.cjs');
5
-
6
-
7
-
8
- Object.defineProperty(exports, "JsonSchemaForm", {
9
- enumerable: true,
10
- get: function () { return chunkFEN5S772_cjs.JsonSchemaForm; }
11
- });
12
- //# sourceMappingURL=JsonSchemaForm-DD7CLRIG.cjs.map
13
- //# sourceMappingURL=JsonSchemaForm-DD7CLRIG.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"JsonSchemaForm-DD7CLRIG.cjs"}
@@ -1,4 +0,0 @@
1
- export { JsonSchemaForm } from './chunk-GYIO7W7M.mjs';
2
- import './chunk-N2XQF2OL.mjs';
3
- //# sourceMappingURL=JsonSchemaForm-XKUIVELK.mjs.map
4
- //# sourceMappingURL=JsonSchemaForm-XKUIVELK.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"JsonSchemaForm-XKUIVELK.mjs"}
@@ -1,5 +0,0 @@
1
- export { JsonTree_default as default } from './chunk-ECONRHIG.mjs';
2
- import './chunk-KNEQRUBA.mjs';
3
- import './chunk-N2XQF2OL.mjs';
4
- //# sourceMappingURL=JsonTree-43PQAJKY.mjs.map
5
- //# sourceMappingURL=JsonTree-43PQAJKY.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"JsonTree-43PQAJKY.mjs"}
@@ -1,7 +0,0 @@
1
- @source "../src/**/*.{ts,tsx}";
2
- /* src/components/FloatingToolbar/FloatingToolbar.css */
3
- .scroll-unlocked {
4
- box-shadow: 0 0 0 2px hsl(var(--ring));
5
- transition: box-shadow 150ms;
6
- }
7
- /*# sourceMappingURL=JsonTree-MLET23ZA.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/FloatingToolbar/FloatingToolbar.css"],"sourcesContent":["/* Focus ring when scroll isolation is unlocked */\n.scroll-unlocked {\n box-shadow: 0 0 0 2px hsl(var(--ring));\n transition: box-shadow 150ms;\n}\n"],"mappings":";AACA,CAAC;AACC,cAAY,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI;AAC9B,cAAY,WAAW;AACzB;","names":[]}
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkT3MWM23F_cjs = require('./chunk-T3MWM23F.cjs');
4
- require('./chunk-FP2RLYQZ.cjs');
5
- require('./chunk-OLISEQHS.cjs');
6
-
7
-
8
-
9
- module.exports = chunkT3MWM23F_cjs.JsonTree_default;
10
- //# sourceMappingURL=JsonTree-X6W5YEVY.cjs.map
11
- //# sourceMappingURL=JsonTree-X6W5YEVY.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"JsonTree-X6W5YEVY.cjs"}
@@ -1,168 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkQJ6GTUCO_cjs = require('./chunk-QJ6GTUCO.cjs');
4
- var chunkOLISEQHS_cjs = require('./chunk-OLISEQHS.cjs');
5
- var React = require('react');
6
- var Lottie = require('react-lottie-player');
7
- var jsxRuntime = require('react/jsx-runtime');
8
-
9
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
-
11
- var React__default = /*#__PURE__*/_interopDefault(React);
12
- var Lottie__default = /*#__PURE__*/_interopDefault(Lottie);
13
-
14
- var SIZE_PRESETS = {
15
- xs: { width: 64, height: 64 },
16
- sm: { width: 128, height: 128 },
17
- md: { width: 256, height: 256 },
18
- lg: { width: 384, height: 384 },
19
- xl: { width: 512, height: 512 },
20
- full: { width: "100%", height: "100%" }
21
- };
22
- function LottiePlayer({
23
- src,
24
- size = "md",
25
- width,
26
- height,
27
- autoplay = true,
28
- loop = true,
29
- speed = 1,
30
- direction = 1,
31
- controls = false,
32
- background,
33
- className,
34
- showLoading = true,
35
- onComplete,
36
- onLoad,
37
- onError
38
- }) {
39
- const { animationData, isLoading, error, retry } = chunkQJ6GTUCO_cjs.useLottie({ src });
40
- React__default.default.useEffect(() => {
41
- if (animationData && onLoad) {
42
- onLoad();
43
- }
44
- }, [animationData, onLoad]);
45
- React__default.default.useEffect(() => {
46
- if (error && onError) {
47
- onError(error);
48
- }
49
- }, [error, onError]);
50
- const dimensions = React__default.default.useMemo(() => {
51
- if (width !== void 0 || height !== void 0) {
52
- return {
53
- width: width ?? SIZE_PRESETS[size].width,
54
- height: height ?? SIZE_PRESETS[size].height
55
- };
56
- }
57
- return SIZE_PRESETS[size];
58
- }, [size, width, height]);
59
- const handleComplete = React__default.default.useCallback(() => {
60
- if (onComplete) {
61
- onComplete();
62
- }
63
- }, [onComplete]);
64
- if (isLoading && showLoading) {
65
- return /* @__PURE__ */ jsxRuntime.jsx(
66
- "div",
67
- {
68
- className: `flex items-center justify-center ${className || ""}`,
69
- style: {
70
- width: dimensions.width,
71
- height: dimensions.height,
72
- background: background || "transparent"
73
- },
74
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-2", children: [
75
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-8 w-8 animate-spin rounded-full border-4 border-gray-300 border-t-gray-900" }),
76
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-gray-500", children: "Loading animation..." })
77
- ] })
78
- }
79
- );
80
- }
81
- if (error) {
82
- return /* @__PURE__ */ jsxRuntime.jsx(
83
- "div",
84
- {
85
- className: `flex items-center justify-center ${className || ""}`,
86
- style: {
87
- width: dimensions.width,
88
- height: dimensions.height,
89
- background: background || "transparent"
90
- },
91
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-2 p-4 text-center", children: [
92
- /* @__PURE__ */ jsxRuntime.jsx(
93
- "svg",
94
- {
95
- className: "h-8 w-8 text-red-500",
96
- fill: "none",
97
- stroke: "currentColor",
98
- viewBox: "0 0 24 24",
99
- children: /* @__PURE__ */ jsxRuntime.jsx(
100
- "path",
101
- {
102
- strokeLinecap: "round",
103
- strokeLinejoin: "round",
104
- strokeWidth: 2,
105
- d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
106
- }
107
- )
108
- }
109
- ),
110
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-red-600", children: error.message }),
111
- /* @__PURE__ */ jsxRuntime.jsx(
112
- "button",
113
- {
114
- onClick: retry,
115
- className: "rounded bg-red-100 px-3 py-1 text-sm text-red-700 hover:bg-red-200",
116
- children: "Retry"
117
- }
118
- )
119
- ] })
120
- }
121
- );
122
- }
123
- if (!animationData) {
124
- return null;
125
- }
126
- return /* @__PURE__ */ jsxRuntime.jsxs(
127
- "div",
128
- {
129
- className,
130
- style: {
131
- width: dimensions.width,
132
- height: dimensions.height,
133
- background: background || "transparent"
134
- },
135
- children: [
136
- /* @__PURE__ */ jsxRuntime.jsx(
137
- Lottie__default.default,
138
- {
139
- animationData,
140
- play: autoplay,
141
- loop,
142
- speed,
143
- direction,
144
- style: {
145
- width: "100%",
146
- height: "100%"
147
- },
148
- onComplete: handleComplete,
149
- rendererSettings: {
150
- preserveAspectRatio: "xMidYMid meet"
151
- }
152
- }
153
- ),
154
- controls && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 flex items-center justify-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-gray-500", children: [
155
- "Speed: ",
156
- speed,
157
- "x | Direction: ",
158
- direction === 1 ? "Forward" : "Reverse"
159
- ] }) })
160
- ]
161
- }
162
- );
163
- }
164
- chunkOLISEQHS_cjs.__name(LottiePlayer, "LottiePlayer");
165
-
166
- exports.LottiePlayer = LottiePlayer;
167
- //# sourceMappingURL=LottiePlayer.client-2S7ISJ2S.cjs.map
168
- //# sourceMappingURL=LottiePlayer.client-2S7ISJ2S.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/tools/LottiePlayer/LottiePlayer.client.tsx"],"names":["useLottie","React","jsx","jsxs","Lottie","__name"],"mappings":"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","file":"LottiePlayer.client-2S7ISJ2S.cjs","sourcesContent":["/**\n * LottiePlayer Component\n *\n * Universal Lottie animation player component\n */\n\n'use client';\n\nimport React from 'react';\nimport Lottie from 'react-lottie-player';\n\nimport { LottiePlayerProps } from './types';\nimport { useLottie } from './useLottie';\n\n// Size presets mapping\nconst SIZE_PRESETS = {\n xs: { width: 64, height: 64 },\n sm: { width: 128, height: 128 },\n md: { width: 256, height: 256 },\n lg: { width: 384, height: 384 },\n xl: { width: 512, height: 512 },\n full: { width: '100%', height: '100%' },\n} as const;\n\n/**\n * LottiePlayer component for displaying Lottie animations\n *\n * Features:\n * - Loads animations from URLs or objects\n * - Size presets or custom dimensions\n * - Playback controls (speed, direction, loop)\n * - Loading and error states\n * - Event callbacks\n *\n * Usage:\n * ```tsx\n * // From URL with size preset\n * <LottiePlayer\n * src=\"https://example.com/animation.json\"\n * size=\"md\"\n * autoplay\n * loop\n * />\n *\n * // From object with custom size\n * <LottiePlayer\n * src={animationData}\n * width={300}\n * height={300}\n * speed={1.5}\n * controls\n * />\n *\n * // With callbacks\n * <LottiePlayer\n * src=\"https://example.com/animation.json\"\n * onLoad={() => console.log('Animation loaded')}\n * onComplete={() => console.log('Animation completed')}\n * onError={(err) => console.error('Error:', err)}\n * />\n * ```\n */\nexport function LottiePlayer({\n src,\n size = 'md',\n width,\n height,\n autoplay = true,\n loop = true,\n speed = 1,\n direction = 1,\n controls = false,\n background,\n className,\n showLoading = true,\n onComplete,\n onLoad,\n onError,\n}: LottiePlayerProps) {\n // Load animation data using our custom hook\n const { animationData, isLoading, error, retry } = useLottie({ src });\n\n // Notify parent about load state\n React.useEffect(() => {\n if (animationData && onLoad) {\n onLoad();\n }\n }, [animationData, onLoad]);\n\n // Notify parent about errors\n React.useEffect(() => {\n if (error && onError) {\n onError(error);\n }\n }, [error, onError]);\n\n // Determine dimensions\n const dimensions = React.useMemo(() => {\n // Custom dimensions override size preset\n if (width !== undefined || height !== undefined) {\n return {\n width: width ?? SIZE_PRESETS[size].width,\n height: height ?? SIZE_PRESETS[size].height,\n };\n }\n\n // Use size preset\n return SIZE_PRESETS[size];\n }, [size, width, height]);\n\n // Handle complete event\n const handleComplete = React.useCallback(() => {\n if (onComplete) {\n onComplete();\n }\n }, [onComplete]);\n\n // Loading state\n if (isLoading && showLoading) {\n return (\n <div\n className={`flex items-center justify-center ${className || ''}`}\n style={{\n width: dimensions.width,\n height: dimensions.height,\n background: background || 'transparent',\n }}\n >\n <div className=\"flex flex-col items-center gap-2\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-4 border-gray-300 border-t-gray-900\" />\n <span className=\"text-sm text-gray-500\">Loading animation...</span>\n </div>\n </div>\n );\n }\n\n // Error state\n if (error) {\n return (\n <div\n className={`flex items-center justify-center ${className || ''}`}\n style={{\n width: dimensions.width,\n height: dimensions.height,\n background: background || 'transparent',\n }}\n >\n <div className=\"flex flex-col items-center gap-2 p-4 text-center\">\n <svg\n className=\"h-8 w-8 text-red-500\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <div className=\"text-sm text-red-600\">{error.message}</div>\n <button\n onClick={retry}\n className=\"rounded bg-red-100 px-3 py-1 text-sm text-red-700 hover:bg-red-200\"\n >\n Retry\n </button>\n </div>\n </div>\n );\n }\n\n // No animation data\n if (!animationData) {\n return null;\n }\n\n // Render the Lottie player\n return (\n <div\n className={className}\n style={{\n width: dimensions.width,\n height: dimensions.height,\n background: background || 'transparent',\n }}\n >\n <Lottie\n animationData={animationData}\n play={autoplay}\n loop={loop}\n speed={speed}\n direction={direction}\n style={{\n width: '100%',\n height: '100%',\n }}\n onComplete={handleComplete}\n rendererSettings={{\n preserveAspectRatio: 'xMidYMid meet',\n }}\n />\n {controls && (\n <div className=\"mt-2 flex items-center justify-center gap-2\">\n <span className=\"text-xs text-gray-500\">\n Speed: {speed}x | Direction: {direction === 1 ? 'Forward' : 'Reverse'}\n </span>\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -1,161 +0,0 @@
1
- import { useLottie } from './chunk-ODO4GMW7.mjs';
2
- import { __name } from './chunk-N2XQF2OL.mjs';
3
- import React from 'react';
4
- import Lottie from 'react-lottie-player';
5
- import { jsx, jsxs } from 'react/jsx-runtime';
6
-
7
- var SIZE_PRESETS = {
8
- xs: { width: 64, height: 64 },
9
- sm: { width: 128, height: 128 },
10
- md: { width: 256, height: 256 },
11
- lg: { width: 384, height: 384 },
12
- xl: { width: 512, height: 512 },
13
- full: { width: "100%", height: "100%" }
14
- };
15
- function LottiePlayer({
16
- src,
17
- size = "md",
18
- width,
19
- height,
20
- autoplay = true,
21
- loop = true,
22
- speed = 1,
23
- direction = 1,
24
- controls = false,
25
- background,
26
- className,
27
- showLoading = true,
28
- onComplete,
29
- onLoad,
30
- onError
31
- }) {
32
- const { animationData, isLoading, error, retry } = useLottie({ src });
33
- React.useEffect(() => {
34
- if (animationData && onLoad) {
35
- onLoad();
36
- }
37
- }, [animationData, onLoad]);
38
- React.useEffect(() => {
39
- if (error && onError) {
40
- onError(error);
41
- }
42
- }, [error, onError]);
43
- const dimensions = React.useMemo(() => {
44
- if (width !== void 0 || height !== void 0) {
45
- return {
46
- width: width ?? SIZE_PRESETS[size].width,
47
- height: height ?? SIZE_PRESETS[size].height
48
- };
49
- }
50
- return SIZE_PRESETS[size];
51
- }, [size, width, height]);
52
- const handleComplete = React.useCallback(() => {
53
- if (onComplete) {
54
- onComplete();
55
- }
56
- }, [onComplete]);
57
- if (isLoading && showLoading) {
58
- return /* @__PURE__ */ jsx(
59
- "div",
60
- {
61
- className: `flex items-center justify-center ${className || ""}`,
62
- style: {
63
- width: dimensions.width,
64
- height: dimensions.height,
65
- background: background || "transparent"
66
- },
67
- children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-2", children: [
68
- /* @__PURE__ */ jsx("div", { className: "h-8 w-8 animate-spin rounded-full border-4 border-gray-300 border-t-gray-900" }),
69
- /* @__PURE__ */ jsx("span", { className: "text-sm text-gray-500", children: "Loading animation..." })
70
- ] })
71
- }
72
- );
73
- }
74
- if (error) {
75
- return /* @__PURE__ */ jsx(
76
- "div",
77
- {
78
- className: `flex items-center justify-center ${className || ""}`,
79
- style: {
80
- width: dimensions.width,
81
- height: dimensions.height,
82
- background: background || "transparent"
83
- },
84
- children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-2 p-4 text-center", children: [
85
- /* @__PURE__ */ jsx(
86
- "svg",
87
- {
88
- className: "h-8 w-8 text-red-500",
89
- fill: "none",
90
- stroke: "currentColor",
91
- viewBox: "0 0 24 24",
92
- children: /* @__PURE__ */ jsx(
93
- "path",
94
- {
95
- strokeLinecap: "round",
96
- strokeLinejoin: "round",
97
- strokeWidth: 2,
98
- d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
99
- }
100
- )
101
- }
102
- ),
103
- /* @__PURE__ */ jsx("div", { className: "text-sm text-red-600", children: error.message }),
104
- /* @__PURE__ */ jsx(
105
- "button",
106
- {
107
- onClick: retry,
108
- className: "rounded bg-red-100 px-3 py-1 text-sm text-red-700 hover:bg-red-200",
109
- children: "Retry"
110
- }
111
- )
112
- ] })
113
- }
114
- );
115
- }
116
- if (!animationData) {
117
- return null;
118
- }
119
- return /* @__PURE__ */ jsxs(
120
- "div",
121
- {
122
- className,
123
- style: {
124
- width: dimensions.width,
125
- height: dimensions.height,
126
- background: background || "transparent"
127
- },
128
- children: [
129
- /* @__PURE__ */ jsx(
130
- Lottie,
131
- {
132
- animationData,
133
- play: autoplay,
134
- loop,
135
- speed,
136
- direction,
137
- style: {
138
- width: "100%",
139
- height: "100%"
140
- },
141
- onComplete: handleComplete,
142
- rendererSettings: {
143
- preserveAspectRatio: "xMidYMid meet"
144
- }
145
- }
146
- ),
147
- controls && /* @__PURE__ */ jsx("div", { className: "mt-2 flex items-center justify-center gap-2", children: /* @__PURE__ */ jsxs("span", { className: "text-xs text-gray-500", children: [
148
- "Speed: ",
149
- speed,
150
- "x | Direction: ",
151
- direction === 1 ? "Forward" : "Reverse"
152
- ] }) })
153
- ]
154
- }
155
- );
156
- }
157
- __name(LottiePlayer, "LottiePlayer");
158
-
159
- export { LottiePlayer };
160
- //# sourceMappingURL=LottiePlayer.client-5LDSSJWS.mjs.map
161
- //# sourceMappingURL=LottiePlayer.client-5LDSSJWS.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/tools/LottiePlayer/LottiePlayer.client.tsx"],"names":[],"mappings":"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","file":"LottiePlayer.client-5LDSSJWS.mjs","sourcesContent":["/**\n * LottiePlayer Component\n *\n * Universal Lottie animation player component\n */\n\n'use client';\n\nimport React from 'react';\nimport Lottie from 'react-lottie-player';\n\nimport { LottiePlayerProps } from './types';\nimport { useLottie } from './useLottie';\n\n// Size presets mapping\nconst SIZE_PRESETS = {\n xs: { width: 64, height: 64 },\n sm: { width: 128, height: 128 },\n md: { width: 256, height: 256 },\n lg: { width: 384, height: 384 },\n xl: { width: 512, height: 512 },\n full: { width: '100%', height: '100%' },\n} as const;\n\n/**\n * LottiePlayer component for displaying Lottie animations\n *\n * Features:\n * - Loads animations from URLs or objects\n * - Size presets or custom dimensions\n * - Playback controls (speed, direction, loop)\n * - Loading and error states\n * - Event callbacks\n *\n * Usage:\n * ```tsx\n * // From URL with size preset\n * <LottiePlayer\n * src=\"https://example.com/animation.json\"\n * size=\"md\"\n * autoplay\n * loop\n * />\n *\n * // From object with custom size\n * <LottiePlayer\n * src={animationData}\n * width={300}\n * height={300}\n * speed={1.5}\n * controls\n * />\n *\n * // With callbacks\n * <LottiePlayer\n * src=\"https://example.com/animation.json\"\n * onLoad={() => console.log('Animation loaded')}\n * onComplete={() => console.log('Animation completed')}\n * onError={(err) => console.error('Error:', err)}\n * />\n * ```\n */\nexport function LottiePlayer({\n src,\n size = 'md',\n width,\n height,\n autoplay = true,\n loop = true,\n speed = 1,\n direction = 1,\n controls = false,\n background,\n className,\n showLoading = true,\n onComplete,\n onLoad,\n onError,\n}: LottiePlayerProps) {\n // Load animation data using our custom hook\n const { animationData, isLoading, error, retry } = useLottie({ src });\n\n // Notify parent about load state\n React.useEffect(() => {\n if (animationData && onLoad) {\n onLoad();\n }\n }, [animationData, onLoad]);\n\n // Notify parent about errors\n React.useEffect(() => {\n if (error && onError) {\n onError(error);\n }\n }, [error, onError]);\n\n // Determine dimensions\n const dimensions = React.useMemo(() => {\n // Custom dimensions override size preset\n if (width !== undefined || height !== undefined) {\n return {\n width: width ?? SIZE_PRESETS[size].width,\n height: height ?? SIZE_PRESETS[size].height,\n };\n }\n\n // Use size preset\n return SIZE_PRESETS[size];\n }, [size, width, height]);\n\n // Handle complete event\n const handleComplete = React.useCallback(() => {\n if (onComplete) {\n onComplete();\n }\n }, [onComplete]);\n\n // Loading state\n if (isLoading && showLoading) {\n return (\n <div\n className={`flex items-center justify-center ${className || ''}`}\n style={{\n width: dimensions.width,\n height: dimensions.height,\n background: background || 'transparent',\n }}\n >\n <div className=\"flex flex-col items-center gap-2\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-4 border-gray-300 border-t-gray-900\" />\n <span className=\"text-sm text-gray-500\">Loading animation...</span>\n </div>\n </div>\n );\n }\n\n // Error state\n if (error) {\n return (\n <div\n className={`flex items-center justify-center ${className || ''}`}\n style={{\n width: dimensions.width,\n height: dimensions.height,\n background: background || 'transparent',\n }}\n >\n <div className=\"flex flex-col items-center gap-2 p-4 text-center\">\n <svg\n className=\"h-8 w-8 text-red-500\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <div className=\"text-sm text-red-600\">{error.message}</div>\n <button\n onClick={retry}\n className=\"rounded bg-red-100 px-3 py-1 text-sm text-red-700 hover:bg-red-200\"\n >\n Retry\n </button>\n </div>\n </div>\n );\n }\n\n // No animation data\n if (!animationData) {\n return null;\n }\n\n // Render the Lottie player\n return (\n <div\n className={className}\n style={{\n width: dimensions.width,\n height: dimensions.height,\n background: background || 'transparent',\n }}\n >\n <Lottie\n animationData={animationData}\n play={autoplay}\n loop={loop}\n speed={speed}\n direction={direction}\n style={{\n width: '100%',\n height: '100%',\n }}\n onComplete={handleComplete}\n rendererSettings={{\n preserveAspectRatio: 'xMidYMid meet',\n }}\n />\n {controls && (\n <div className=\"mt-2 flex items-center justify-center gap-2\">\n <span className=\"text-xs text-gray-500\">\n Speed: {speed}x | Direction: {direction === 1 ? 'Forward' : 'Reverse'}\n </span>\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -1,4 +0,0 @@
1
- export { MapContainer, MapView } from './chunk-7CWGZPO3.mjs';
2
- import './chunk-N2XQF2OL.mjs';
3
- //# sourceMappingURL=MapContainer-AKIPABJK.mjs.map
4
- //# sourceMappingURL=MapContainer-AKIPABJK.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"MapContainer-AKIPABJK.mjs"}
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- var chunk5D2OCOPQ_cjs = require('./chunk-5D2OCOPQ.cjs');
4
- require('./chunk-OLISEQHS.cjs');
5
-
6
-
7
-
8
- Object.defineProperty(exports, "MapContainer", {
9
- enumerable: true,
10
- get: function () { return chunk5D2OCOPQ_cjs.MapContainer; }
11
- });
12
- Object.defineProperty(exports, "MapView", {
13
- enumerable: true,
14
- get: function () { return chunk5D2OCOPQ_cjs.MapView; }
15
- });
16
- //# sourceMappingURL=MapContainer-STVDMC36.cjs.map
17
- //# sourceMappingURL=MapContainer-STVDMC36.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"MapContainer-STVDMC36.cjs"}
@@ -1,7 +0,0 @@
1
- @source "../src/**/*.{ts,tsx}";
2
- /* src/components/FloatingToolbar/FloatingToolbar.css */
3
- .scroll-unlocked {
4
- box-shadow: 0 0 0 2px hsl(var(--ring));
5
- transition: box-shadow 150ms;
6
- }
7
- /*# sourceMappingURL=Mermaid.client-DDXWXZXY.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/FloatingToolbar/FloatingToolbar.css"],"sourcesContent":["/* Focus ring when scroll isolation is unlocked */\n.scroll-unlocked {\n box-shadow: 0 0 0 2px hsl(var(--ring));\n transition: box-shadow 150ms;\n}\n"],"mappings":";AACA,CAAC;AACC,cAAY,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI;AAC9B,cAAY,WAAW;AACzB;","names":[]}