@turinhub/atomix-common-ui 0.3.0 → 0.5.0

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 (161) hide show
  1. package/README.md +50 -17
  2. package/dist/AuthPanel-C_2JBE7t.cjs +2 -0
  3. package/dist/AuthPanel-C_2JBE7t.cjs.map +1 -0
  4. package/dist/AuthPanel-D2HFX8eN.js +656 -0
  5. package/dist/AuthPanel-D2HFX8eN.js.map +1 -0
  6. package/dist/PDFSidebar-BBtucLK6.js +232 -0
  7. package/dist/PDFSidebar-BBtucLK6.js.map +1 -0
  8. package/dist/PDFSidebar-Di0D-yPS.cjs +2 -0
  9. package/dist/PDFSidebar-Di0D-yPS.cjs.map +1 -0
  10. package/dist/auth.cjs +2 -0
  11. package/dist/auth.cjs.map +1 -0
  12. package/dist/auth.d.ts +11 -0
  13. package/dist/auth.d.ts.map +1 -0
  14. package/dist/auth.js +9 -0
  15. package/dist/auth.js.map +1 -0
  16. package/dist/component-types.cjs +2 -0
  17. package/dist/component-types.cjs.map +1 -0
  18. package/dist/component-types.d.ts +2 -0
  19. package/dist/component-types.d.ts.map +1 -0
  20. package/dist/component-types.js +2 -0
  21. package/dist/component-types.js.map +1 -0
  22. package/dist/components/AuthLoginPanel.d.ts +55 -0
  23. package/dist/components/AuthLoginPanel.d.ts.map +1 -0
  24. package/dist/components/AuthPageShell.d.ts +11 -0
  25. package/dist/components/AuthPageShell.d.ts.map +1 -0
  26. package/dist/components/AuthPanel.d.ts +20 -0
  27. package/dist/components/AuthPanel.d.ts.map +1 -0
  28. package/dist/components/AuthRegisterPanel.d.ts +34 -0
  29. package/dist/components/AuthRegisterPanel.d.ts.map +1 -0
  30. package/dist/components/AuthVisualCarousel.d.ts +20 -0
  31. package/dist/components/AuthVisualCarousel.d.ts.map +1 -0
  32. package/dist/components/DataTable.d.ts +2 -2
  33. package/dist/components/DataTable.d.ts.map +1 -1
  34. package/dist/components/ImageReader.d.ts +44 -0
  35. package/dist/components/ImageReader.d.ts.map +1 -0
  36. package/dist/components/MarkdownReader.d.ts +26 -0
  37. package/dist/components/MarkdownReader.d.ts.map +1 -0
  38. package/dist/components/PDFReader.d.ts +2 -2
  39. package/dist/components/PDFReader.d.ts.map +1 -1
  40. package/dist/components/PDFSidebar.d.ts +1 -1
  41. package/dist/components/PDFSidebar.d.ts.map +1 -1
  42. package/dist/components/SimplePDFReader.d.ts +1 -1
  43. package/dist/components/VideoReader.d.ts +39 -0
  44. package/dist/components/VideoReader.d.ts.map +1 -0
  45. package/dist/components/media-utils.d.ts +9 -0
  46. package/dist/components/media-utils.d.ts.map +1 -0
  47. package/dist/data-table.cjs +2 -0
  48. package/dist/data-table.cjs.map +1 -0
  49. package/dist/data-table.d.ts +3 -0
  50. package/dist/data-table.d.ts.map +1 -0
  51. package/dist/data-table.js +169 -0
  52. package/dist/data-table.js.map +1 -0
  53. package/dist/delete-confirm-dialog.cjs +2 -0
  54. package/dist/delete-confirm-dialog.cjs.map +1 -0
  55. package/dist/delete-confirm-dialog.d.ts +3 -0
  56. package/dist/delete-confirm-dialog.d.ts.map +1 -0
  57. package/dist/delete-confirm-dialog.js +109 -0
  58. package/dist/delete-confirm-dialog.js.map +1 -0
  59. package/dist/file-upload.cjs +2 -0
  60. package/dist/file-upload.cjs.map +1 -0
  61. package/dist/file-upload.d.ts +3 -0
  62. package/dist/file-upload.d.ts.map +1 -0
  63. package/dist/file-upload.js +354 -0
  64. package/dist/file-upload.js.map +1 -0
  65. package/dist/image-reader.cjs +2 -0
  66. package/dist/image-reader.cjs.map +1 -0
  67. package/dist/image-reader.d.ts +3 -0
  68. package/dist/image-reader.d.ts.map +1 -0
  69. package/dist/image-reader.js +214 -0
  70. package/dist/image-reader.js.map +1 -0
  71. package/dist/index.cjs +2 -0
  72. package/dist/index.cjs.map +1 -0
  73. package/dist/index.d.ts +10 -20
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +8 -12
  76. package/dist/index.js.map +1 -1
  77. package/dist/jsx-runtime-B4hRZ52C.js +283 -0
  78. package/dist/jsx-runtime-B4hRZ52C.js.map +1 -0
  79. package/dist/jsx-runtime-BB_1_6y_.cjs +23 -0
  80. package/dist/jsx-runtime-BB_1_6y_.cjs.map +1 -0
  81. package/dist/markdown-reader.cjs +2 -0
  82. package/dist/markdown-reader.cjs.map +1 -0
  83. package/dist/markdown-reader.d.ts +3 -0
  84. package/dist/markdown-reader.d.ts.map +1 -0
  85. package/dist/markdown-reader.js +145 -0
  86. package/dist/markdown-reader.js.map +1 -0
  87. package/dist/media-utils-5UPuocc1.js +23 -0
  88. package/dist/media-utils-5UPuocc1.js.map +1 -0
  89. package/dist/media-utils-X1dDYP9W.cjs +2 -0
  90. package/dist/media-utils-X1dDYP9W.cjs.map +1 -0
  91. package/dist/pdf-reader.cjs +2 -0
  92. package/dist/pdf-reader.cjs.map +1 -0
  93. package/dist/pdf-reader.d.ts +3 -0
  94. package/dist/pdf-reader.d.ts.map +1 -0
  95. package/dist/pdf-reader.js +427 -0
  96. package/dist/pdf-reader.js.map +1 -0
  97. package/dist/pdf-sidebar.cjs +2 -0
  98. package/dist/pdf-sidebar.cjs.map +1 -0
  99. package/dist/pdf-sidebar.d.ts +3 -0
  100. package/dist/pdf-sidebar.d.ts.map +1 -0
  101. package/dist/pdf-sidebar.js +5 -0
  102. package/dist/pdf-sidebar.js.map +1 -0
  103. package/dist/simple-pdf-reader.cjs +2 -0
  104. package/dist/simple-pdf-reader.cjs.map +1 -0
  105. package/dist/simple-pdf-reader.d.ts +3 -0
  106. package/dist/simple-pdf-reader.d.ts.map +1 -0
  107. package/dist/simple-pdf-reader.js +268 -0
  108. package/dist/simple-pdf-reader.js.map +1 -0
  109. package/dist/table-header.cjs +2 -0
  110. package/dist/table-header.cjs.map +1 -0
  111. package/dist/table-header.d.ts +3 -0
  112. package/dist/table-header.d.ts.map +1 -0
  113. package/dist/table-header.js +63 -0
  114. package/dist/table-header.js.map +1 -0
  115. package/dist/table-pagination.cjs +2 -0
  116. package/dist/table-pagination.cjs.map +1 -0
  117. package/dist/table-pagination.d.ts +3 -0
  118. package/dist/table-pagination.d.ts.map +1 -0
  119. package/dist/table-pagination.js +172 -0
  120. package/dist/table-pagination.js.map +1 -0
  121. package/dist/theme-switcher-content.cjs +2 -0
  122. package/dist/theme-switcher-content.cjs.map +1 -0
  123. package/dist/theme-switcher-content.d.ts +3 -0
  124. package/dist/theme-switcher-content.d.ts.map +1 -0
  125. package/dist/theme-switcher-content.js +103 -0
  126. package/dist/theme-switcher-content.js.map +1 -0
  127. package/dist/theme-switcher.cjs +2 -0
  128. package/dist/theme-switcher.cjs.map +1 -0
  129. package/dist/theme-switcher.d.ts +3 -0
  130. package/dist/theme-switcher.d.ts.map +1 -0
  131. package/dist/theme-switcher.js +140 -0
  132. package/dist/theme-switcher.js.map +1 -0
  133. package/dist/types/component-types.d.ts +1 -0
  134. package/dist/types/component-types.d.ts.map +1 -1
  135. package/dist/utils-B6yFEsav.js +9 -0
  136. package/dist/utils-B6yFEsav.js.map +1 -0
  137. package/dist/utils-IjLH3w2e.cjs +2 -0
  138. package/dist/utils-IjLH3w2e.cjs.map +1 -0
  139. package/dist/utils.cjs +2 -0
  140. package/dist/utils.cjs.map +1 -0
  141. package/dist/utils.d.ts +2 -0
  142. package/dist/utils.d.ts.map +1 -0
  143. package/dist/utils.js +5 -0
  144. package/dist/utils.js.map +1 -0
  145. package/dist/video-reader.cjs +2 -0
  146. package/dist/video-reader.cjs.map +1 -0
  147. package/dist/video-reader.d.ts +3 -0
  148. package/dist/video-reader.d.ts.map +1 -0
  149. package/dist/video-reader.js +158 -0
  150. package/dist/video-reader.js.map +1 -0
  151. package/package.json +191 -3
  152. package/dist/index-DJdfLA8M.js +0 -2140
  153. package/dist/index-DJdfLA8M.js.map +0 -1
  154. package/dist/index-DUxYhmkV.js +0 -18821
  155. package/dist/index-DUxYhmkV.js.map +0 -1
  156. package/dist/index-miejqTjn.cjs +0 -13
  157. package/dist/index-miejqTjn.cjs.map +0 -1
  158. package/dist/index-tIca-Q_M.cjs +0 -23
  159. package/dist/index-tIca-Q_M.cjs.map +0 -1
  160. package/dist/index.c.js +0 -2
  161. package/dist/index.c.js.map +0 -1
@@ -0,0 +1,214 @@
1
+ import { j as e } from "./jsx-runtime-B4hRZ52C.js";
2
+ import { ZoomOut as de, ZoomIn as ue, RotateCcw as xe, RotateCw as fe, ExternalLink as pe } from "lucide-react";
3
+ import { useState as m, useCallback as F, useMemo as ge, useEffect as je } from "react";
4
+ import { c as I } from "./utils-B6yFEsav.js";
5
+ import { i as he, g as be } from "./media-utils-5UPuocc1.js";
6
+ const ve = [
7
+ "jpg",
8
+ "jpeg",
9
+ "png",
10
+ "gif",
11
+ "webp",
12
+ "svg",
13
+ "bmp",
14
+ "avif",
15
+ "ico"
16
+ ], we = [
17
+ "image/jpeg",
18
+ "image/png",
19
+ "image/gif",
20
+ "image/webp",
21
+ "image/svg+xml",
22
+ "image/bmp",
23
+ "image/avif",
24
+ "image/x-icon",
25
+ "image/vnd.microsoft.icon"
26
+ ], Ne = (s) => s ? s instanceof Error ? s : new Error(s) : null, Ee = (s, d, a) => Math.min(Math.max(s, d), a);
27
+ function Oe({
28
+ src: s,
29
+ alt: d = "",
30
+ fileName: a,
31
+ mimeType: u,
32
+ components: G,
33
+ loading: S = !1,
34
+ error: Z,
35
+ className: M,
36
+ containerClassName: $,
37
+ imageClassName: T,
38
+ toolbarClassName: X,
39
+ loadingText: Y = "正在加载图片...",
40
+ errorText: y = "图片加载失败",
41
+ unsupportedText: q = "暂不支持该图片格式",
42
+ showToolbar: H = !0,
43
+ showOpenInNewTab: J = !0,
44
+ objectFit: K = "contain",
45
+ initialScale: Q = 1,
46
+ minScale: x = 0.25,
47
+ maxScale: f = 4,
48
+ scaleStep: _ = 0.25,
49
+ scale: p,
50
+ onScaleChange: l,
51
+ rotation: g,
52
+ onRotationChange: c,
53
+ allowUnsupportedFormat: V = !1,
54
+ supportedExtensions: W = ve,
55
+ supportedMimeTypes: C = we,
56
+ onLoad: j,
57
+ onError: h,
58
+ style: ee,
59
+ ...te
60
+ }) {
61
+ const { Card: k, CardContent: O, Button: P, Skeleton: b } = G || {}, [se, ne] = m(Q), [re, ie] = m(0), [ae, v] = m(!0), [oe, w] = m(null), i = p ?? se, N = g ?? re, r = Ne(Z) || oe, z = V || he({
62
+ src: s,
63
+ fileName: a,
64
+ mimeType: u,
65
+ supportedExtensions: W,
66
+ supportedMimeTypes: C
67
+ }), L = S || ae && !r, R = F(
68
+ (t) => {
69
+ const n = Ee(t, x, f);
70
+ p === void 0 && ne(n), l == null || l(n);
71
+ },
72
+ [p, f, x, l]
73
+ ), U = F(
74
+ (t) => {
75
+ const n = (t % 360 + 360) % 360;
76
+ g === void 0 && ie(n), c == null || c(n);
77
+ },
78
+ [g, c]
79
+ ), le = ge(() => {
80
+ const t = be(s, a);
81
+ return t ? t.toUpperCase() : u || "图片";
82
+ }, [a, u, s]);
83
+ je(() => {
84
+ v(!0), w(null);
85
+ }, [s]);
86
+ const o = (t, n, B, D) => {
87
+ const me = "inline-flex h-8 w-8 items-center justify-center rounded-md border border-input bg-background text-foreground shadow-sm transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50";
88
+ return P ? /* @__PURE__ */ e.jsx(
89
+ P,
90
+ {
91
+ "aria-label": t,
92
+ className: "h-8 w-8",
93
+ disabled: D,
94
+ onClick: B,
95
+ size: "icon",
96
+ title: t,
97
+ type: "button",
98
+ variant: "outline",
99
+ children: n
100
+ }
101
+ ) : /* @__PURE__ */ e.jsx(
102
+ "button",
103
+ {
104
+ "aria-label": t,
105
+ className: me,
106
+ disabled: D,
107
+ onClick: B,
108
+ title: t,
109
+ type: "button",
110
+ children: n
111
+ }
112
+ );
113
+ }, ce = () => /* @__PURE__ */ e.jsx("div", { className: "w-full space-y-3 p-4", role: "status", "aria-live": "polite", children: b ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
114
+ /* @__PURE__ */ e.jsx(b, { className: "h-4 w-32" }),
115
+ /* @__PURE__ */ e.jsx(b, { className: "h-80 w-full" })
116
+ ] }) : /* @__PURE__ */ e.jsx("p", { className: "text-sm text-muted-foreground", children: Y }) }), A = (t) => /* @__PURE__ */ e.jsxs("div", { className: "p-4 text-center text-sm text-destructive", role: "alert", children: [
117
+ /* @__PURE__ */ e.jsx("p", { className: "font-medium", children: t || y }),
118
+ r != null && r.message ? /* @__PURE__ */ e.jsx("p", { className: "mt-1 opacity-80", children: r.message }) : null
119
+ ] }), E = /* @__PURE__ */ e.jsxs(
120
+ "div",
121
+ {
122
+ className: I(
123
+ "flex h-full min-h-[360px] flex-col overflow-hidden rounded-md border bg-background",
124
+ $
125
+ ),
126
+ children: [
127
+ H ? /* @__PURE__ */ e.jsxs(
128
+ "div",
129
+ {
130
+ className: I(
131
+ "flex flex-wrap items-center justify-between gap-2 border-b px-3 py-2",
132
+ X
133
+ ),
134
+ children: [
135
+ /* @__PURE__ */ e.jsx("span", { className: "text-xs font-medium text-muted-foreground", children: le }),
136
+ /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-1", children: [
137
+ o(
138
+ "缩小",
139
+ /* @__PURE__ */ e.jsx(de, { className: "h-4 w-4" }),
140
+ () => R(i - _),
141
+ i <= x
142
+ ),
143
+ /* @__PURE__ */ e.jsxs("span", { className: "min-w-14 text-center text-xs text-muted-foreground", children: [
144
+ Math.round(i * 100),
145
+ "%"
146
+ ] }),
147
+ o(
148
+ "放大",
149
+ /* @__PURE__ */ e.jsx(ue, { className: "h-4 w-4" }),
150
+ () => R(i + _),
151
+ i >= f
152
+ ),
153
+ o(
154
+ "向左旋转",
155
+ /* @__PURE__ */ e.jsx(xe, { className: "h-4 w-4" }),
156
+ () => U(N - 90)
157
+ ),
158
+ o(
159
+ "向右旋转",
160
+ /* @__PURE__ */ e.jsx(fe, { className: "h-4 w-4" }),
161
+ () => U(N + 90)
162
+ ),
163
+ J ? o(
164
+ "新窗口打开",
165
+ /* @__PURE__ */ e.jsx(pe, { className: "h-4 w-4" }),
166
+ () => window.open(s, "_blank", "noreferrer")
167
+ ) : null
168
+ ] })
169
+ ]
170
+ }
171
+ ) : null,
172
+ /* @__PURE__ */ e.jsxs("div", { className: "relative flex min-h-0 flex-1 items-center justify-center overflow-auto bg-muted/20 p-4", children: [
173
+ z ? r ? A() : null : A(q),
174
+ z && !r ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
175
+ L ? ce() : null,
176
+ /* @__PURE__ */ e.jsx(
177
+ "img",
178
+ {
179
+ ...te,
180
+ alt: d,
181
+ className: I(
182
+ "max-h-full max-w-full transition-transform",
183
+ L ? "invisible absolute" : "visible",
184
+ T
185
+ ),
186
+ onError: () => {
187
+ const t = new Error(y);
188
+ v(!1), w(t), h == null || h(t);
189
+ },
190
+ onLoad: () => {
191
+ v(!1), w(null), j == null || j();
192
+ },
193
+ src: s,
194
+ style: {
195
+ objectFit: K,
196
+ transform: `scale(${i}) rotate(${N}deg)`,
197
+ transformOrigin: "center center",
198
+ ...ee
199
+ }
200
+ }
201
+ )
202
+ ] }) : null
203
+ ] })
204
+ ]
205
+ }
206
+ );
207
+ return k ? /* @__PURE__ */ e.jsx(k, { className: M, children: O ? /* @__PURE__ */ e.jsx(O, { children: E }) : E }) : /* @__PURE__ */ e.jsx("div", { className: M, children: E });
208
+ }
209
+ export {
210
+ Oe as ImageReader,
211
+ ve as SUPPORTED_IMAGE_EXTENSIONS,
212
+ we as SUPPORTED_IMAGE_MIME_TYPES
213
+ };
214
+ //# sourceMappingURL=image-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-reader.js","sources":["../src/components/ImageReader.tsx"],"sourcesContent":["import {\n ExternalLink as ExternalLinkIcon,\n RotateCcw as RotateCcwIcon,\n RotateCw as RotateCwIcon,\n ZoomIn as ZoomInIcon,\n ZoomOut as ZoomOutIcon,\n} from 'lucide-react';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport type { HTMLAttributes, ImgHTMLAttributes, ReactNode } from 'react';\n\nimport { cn } from '../lib/utils';\nimport type {\n ButtonComponent,\n CardComponent,\n SkeletonComponent,\n UIComponent,\n} from '../types/component-types';\n\nimport { getMediaExtension, isSupportedMediaSource } from './media-utils';\n\nexport const SUPPORTED_IMAGE_EXTENSIONS = [\n 'jpg',\n 'jpeg',\n 'png',\n 'gif',\n 'webp',\n 'svg',\n 'bmp',\n 'avif',\n 'ico',\n] as const;\n\nexport const SUPPORTED_IMAGE_MIME_TYPES = [\n 'image/jpeg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n 'image/svg+xml',\n 'image/bmp',\n 'image/avif',\n 'image/x-icon',\n 'image/vnd.microsoft.icon',\n] as const;\n\nexport interface ImageReaderUIComponents {\n Card?: CardComponent;\n CardContent?: UIComponent<HTMLAttributes<HTMLDivElement>>;\n Button?: ButtonComponent;\n Skeleton?: SkeletonComponent;\n}\n\nexport interface ImageReaderProps\n extends Omit<\n ImgHTMLAttributes<HTMLImageElement>,\n | 'alt'\n | 'children'\n | 'className'\n | 'loading'\n | 'onError'\n | 'onLoad'\n | 'src'\n > {\n src: string;\n alt?: string;\n fileName?: string;\n mimeType?: string;\n components?: ImageReaderUIComponents;\n loading?: boolean;\n error?: Error | string | null;\n className?: string;\n containerClassName?: string;\n imageClassName?: string;\n toolbarClassName?: string;\n loadingText?: string;\n errorText?: string;\n unsupportedText?: string;\n showToolbar?: boolean;\n showOpenInNewTab?: boolean;\n objectFit?: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';\n initialScale?: number;\n minScale?: number;\n maxScale?: number;\n scaleStep?: number;\n scale?: number;\n onScaleChange?: (scale: number) => void;\n rotation?: number;\n onRotationChange?: (rotation: number) => void;\n allowUnsupportedFormat?: boolean;\n supportedExtensions?: readonly string[];\n supportedMimeTypes?: readonly string[];\n onLoad?: () => void;\n onError?: (error: Error) => void;\n}\n\nconst normalizeError = (error: Error | string | null | undefined) => {\n if (!error) return null;\n return error instanceof Error ? error : new Error(error);\n};\n\nconst clamp = (value: number, min: number, max: number) =>\n Math.min(Math.max(value, min), max);\n\nexport function ImageReader({\n src,\n alt = '',\n fileName,\n mimeType,\n components,\n loading = false,\n error,\n className,\n containerClassName,\n imageClassName,\n toolbarClassName,\n loadingText = '正在加载图片...',\n errorText = '图片加载失败',\n unsupportedText = '暂不支持该图片格式',\n showToolbar = true,\n showOpenInNewTab = true,\n objectFit = 'contain',\n initialScale = 1,\n minScale = 0.25,\n maxScale = 4,\n scaleStep = 0.25,\n scale: controlledScale,\n onScaleChange,\n rotation: controlledRotation,\n onRotationChange,\n allowUnsupportedFormat = false,\n supportedExtensions = SUPPORTED_IMAGE_EXTENSIONS,\n supportedMimeTypes = SUPPORTED_IMAGE_MIME_TYPES,\n onLoad,\n onError,\n style,\n ...imageProps\n}: ImageReaderProps) {\n const { Card, CardContent, Button, Skeleton } = components || {};\n const [internalScale, setInternalScale] = useState(initialScale);\n const [internalRotation, setInternalRotation] = useState(0);\n const [isImageLoading, setIsImageLoading] = useState(true);\n const [imageError, setImageError] = useState<Error | null>(null);\n\n const scale = controlledScale ?? internalScale;\n const rotation = controlledRotation ?? internalRotation;\n const displayedError = normalizeError(error) || imageError;\n const isSupported =\n allowUnsupportedFormat ||\n isSupportedMediaSource({\n src,\n fileName,\n mimeType,\n supportedExtensions,\n supportedMimeTypes,\n });\n const isLoading = loading || (isImageLoading && !displayedError);\n\n const setNextScale = useCallback(\n (nextScale: number) => {\n const clampedScale = clamp(nextScale, minScale, maxScale);\n if (controlledScale === undefined) {\n setInternalScale(clampedScale);\n }\n onScaleChange?.(clampedScale);\n },\n [controlledScale, maxScale, minScale, onScaleChange]\n );\n\n const setNextRotation = useCallback(\n (nextRotation: number) => {\n const normalizedRotation = ((nextRotation % 360) + 360) % 360;\n if (controlledRotation === undefined) {\n setInternalRotation(normalizedRotation);\n }\n onRotationChange?.(normalizedRotation);\n },\n [controlledRotation, onRotationChange]\n );\n\n const formatLabel = useMemo(() => {\n const extension = getMediaExtension(src, fileName);\n return extension ? extension.toUpperCase() : mimeType || '图片';\n }, [fileName, mimeType, src]);\n\n useEffect(() => {\n setIsImageLoading(true);\n setImageError(null);\n }, [src]);\n\n const renderButton = (\n label: string,\n icon: ReactNode,\n onClick: () => void,\n disabled?: boolean\n ) => {\n const buttonClassName =\n 'inline-flex h-8 w-8 items-center justify-center rounded-md border border-input bg-background text-foreground shadow-sm transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50';\n\n if (Button) {\n return (\n <Button\n aria-label={label}\n className=\"h-8 w-8\"\n disabled={disabled}\n onClick={onClick}\n size=\"icon\"\n title={label}\n type=\"button\"\n variant=\"outline\"\n >\n {icon}\n </Button>\n );\n }\n\n return (\n <button\n aria-label={label}\n className={buttonClassName}\n disabled={disabled}\n onClick={onClick}\n title={label}\n type=\"button\"\n >\n {icon}\n </button>\n );\n };\n\n const renderLoading = () => (\n <div className=\"w-full space-y-3 p-4\" role=\"status\" aria-live=\"polite\">\n {Skeleton ? (\n <>\n <Skeleton className=\"h-4 w-32\" />\n <Skeleton className=\"h-80 w-full\" />\n </>\n ) : (\n <p className=\"text-sm text-muted-foreground\">{loadingText}</p>\n )}\n </div>\n );\n\n const renderError = (message?: string) => (\n <div className=\"p-4 text-center text-sm text-destructive\" role=\"alert\">\n <p className=\"font-medium\">{message || errorText}</p>\n {displayedError?.message ? (\n <p className=\"mt-1 opacity-80\">{displayedError.message}</p>\n ) : null}\n </div>\n );\n\n const body = (\n <div\n className={cn(\n 'flex h-full min-h-[360px] flex-col overflow-hidden rounded-md border bg-background',\n containerClassName\n )}\n >\n {showToolbar ? (\n <div\n className={cn(\n 'flex flex-wrap items-center justify-between gap-2 border-b px-3 py-2',\n toolbarClassName\n )}\n >\n <span className=\"text-xs font-medium text-muted-foreground\">\n {formatLabel}\n </span>\n <div className=\"flex items-center gap-1\">\n {renderButton(\n '缩小',\n <ZoomOutIcon className=\"h-4 w-4\" />,\n () => setNextScale(scale - scaleStep),\n scale <= minScale\n )}\n <span className=\"min-w-14 text-center text-xs text-muted-foreground\">\n {Math.round(scale * 100)}%\n </span>\n {renderButton(\n '放大',\n <ZoomInIcon className=\"h-4 w-4\" />,\n () => setNextScale(scale + scaleStep),\n scale >= maxScale\n )}\n {renderButton(\n '向左旋转',\n <RotateCcwIcon className=\"h-4 w-4\" />,\n () => setNextRotation(rotation - 90)\n )}\n {renderButton(\n '向右旋转',\n <RotateCwIcon className=\"h-4 w-4\" />,\n () => setNextRotation(rotation + 90)\n )}\n {showOpenInNewTab\n ? renderButton(\n '新窗口打开',\n <ExternalLinkIcon className=\"h-4 w-4\" />,\n () => window.open(src, '_blank', 'noreferrer')\n )\n : null}\n </div>\n </div>\n ) : null}\n <div className=\"relative flex min-h-0 flex-1 items-center justify-center overflow-auto bg-muted/20 p-4\">\n {!isSupported\n ? renderError(unsupportedText)\n : displayedError\n ? renderError()\n : null}\n {isSupported && !displayedError ? (\n <>\n {isLoading ? renderLoading() : null}\n <img\n {...imageProps}\n alt={alt}\n className={cn(\n 'max-h-full max-w-full transition-transform',\n isLoading ? 'invisible absolute' : 'visible',\n imageClassName\n )}\n onError={() => {\n const nextError = new Error(errorText);\n setIsImageLoading(false);\n setImageError(nextError);\n onError?.(nextError);\n }}\n onLoad={() => {\n setIsImageLoading(false);\n setImageError(null);\n onLoad?.();\n }}\n src={src}\n style={{\n objectFit,\n transform: `scale(${scale}) rotate(${rotation}deg)`,\n transformOrigin: 'center center',\n ...style,\n }}\n />\n </>\n ) : null}\n </div>\n </div>\n );\n\n if (Card) {\n return (\n <Card className={className}>\n {CardContent ? <CardContent>{body}</CardContent> : body}\n </Card>\n );\n }\n\n return <div className={className}>{body}</div>;\n}\n"],"names":["SUPPORTED_IMAGE_EXTENSIONS","SUPPORTED_IMAGE_MIME_TYPES","normalizeError","error","clamp","value","min","max","ImageReader","src","alt","fileName","mimeType","components","loading","className","containerClassName","imageClassName","toolbarClassName","loadingText","errorText","unsupportedText","showToolbar","showOpenInNewTab","objectFit","initialScale","minScale","maxScale","scaleStep","controlledScale","onScaleChange","controlledRotation","onRotationChange","allowUnsupportedFormat","supportedExtensions","supportedMimeTypes","onLoad","onError","style","imageProps","Card","CardContent","Button","Skeleton","internalScale","setInternalScale","useState","internalRotation","setInternalRotation","isImageLoading","setIsImageLoading","imageError","setImageError","scale","rotation","displayedError","isSupported","isSupportedMediaSource","isLoading","setNextScale","useCallback","nextScale","clampedScale","setNextRotation","nextRotation","normalizedRotation","formatLabel","useMemo","extension","getMediaExtension","useEffect","renderButton","label","icon","onClick","disabled","buttonClassName","jsx","renderLoading","jsxs","Fragment","renderError","message","body","cn","ZoomOutIcon","ZoomInIcon","RotateCcwIcon","RotateCwIcon","ExternalLinkIcon","nextError"],"mappings":"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"}
package/dist/index.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./utils-IjLH3w2e.cjs"),e=require("./AuthPanel-C_2JBE7t.cjs");exports.cn=t.cn;exports.AuthLoginPanel=e.AuthLoginPanel;exports.AuthPageShell=e.AuthPageShell;exports.AuthPanel=e.AuthPanel;exports.AuthRegisterPanel=e.AuthRegisterPanel;exports.AuthVisualCarousel=e.AuthVisualCarousel;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,23 +1,13 @@
1
1
  export { cn } from './lib/utils';
2
- export { DataTable } from './components/DataTable';
3
- export { DeleteConfirmDialog } from './components/DeleteConfirmDialog';
4
- export { TableHeader } from './components/TableHeader';
5
- export { TablePagination } from './components/TablePagination';
6
- export { ThemeSwitcher } from './components/ThemeSwitcher';
7
- export { ThemeSwitcherContent } from './components/ThemeSwitcherContent';
8
- export { SimplePDFReader } from './components/SimplePDFReader';
9
- export { PDFReader } from './components/PDFReader';
10
- export { PDFSidebar } from './components/PDFSidebar';
11
- export { FileUpload } from './components/FileUpload';
12
- export type { Column, DataTableProps, UIComponents, } from './components/DataTable';
13
- export type { DeleteConfirmDialogProps, DialogUIComponents, } from './components/DeleteConfirmDialog';
14
- export type { TableHeaderProps, HeaderUIComponents, } from './components/TableHeader';
15
- export type { TablePaginationProps, PaginationUIComponents, } from './components/TablePagination';
16
- export type { ThemeSwitcherProps, ThemeSwitcherUIComponents, ThemeOption, } from './components/ThemeSwitcher';
17
- export type { ThemeSwitcherContentProps, ThemeSwitcherContentUIComponents, } from './components/ThemeSwitcherContent';
18
- export type { SimplePDFReaderProps, SimplePDFReaderUIComponents, } from './components/SimplePDFReader';
19
- export type { PDFReaderProps, PDFReaderUIComponents, } from './components/PDFReader';
20
- export type { PDFSidebarProps, PDFDocumentProxy, PDFPageProxy, PDFViewport, PDFOutline, } from './components/PDFSidebar';
21
- export type { FileUploadProps, FileUploadUIComponents, FileUploadItem, FileUploadStatus, FileUploadHelpers, } from './components/FileUpload';
2
+ export { AuthLoginPanel } from './components/AuthLoginPanel';
3
+ export type { AuthLoginMethod, AuthLoginPanelProps, AuthPasswordLoginPayload, AuthSmsCodeResult, AuthSmsLoginPayload, AuthSocialProvider, AuthUIComponents, AuthValidationResult, } from './components/AuthLoginPanel';
4
+ export { AuthRegisterPanel } from './components/AuthRegisterPanel';
5
+ export type { AuthRegisterPanelProps, AuthRegisterPayload, } from './components/AuthRegisterPanel';
6
+ export { AuthPageShell } from './components/AuthPageShell';
7
+ export type { AuthPageShellProps } from './components/AuthPageShell';
8
+ export { AuthVisualCarousel } from './components/AuthVisualCarousel';
9
+ export type { AuthVisualCarouselItem, AuthVisualCarouselProps, } from './components/AuthVisualCarousel';
10
+ export { AuthPanel } from './components/AuthPanel';
11
+ export type { AuthPanelMode, AuthPanelProps } from './components/AuthPanel';
22
12
  export type { UIComponent, ButtonComponent, InputComponent, CardComponent, TableComponent, TableRowComponent, TableCellComponent, SelectComponent, SelectTriggerComponent, SelectContentComponent, SelectItemComponent, SelectValueComponent, DialogComponent, DialogContentComponent, DialogHeaderComponent, DialogFooterComponent, DialogTitleComponent, DialogDescriptionComponent, LabelComponent, DropdownMenuComponent, DropdownMenuTriggerComponent, DropdownMenuContentComponent, DropdownMenuRadioGroupComponent, DropdownMenuRadioItemComponent, SkeletonComponent, TabsComponent, TabsListComponent, TabsTriggerComponent, TabsContentComponent, ScrollAreaComponent, } from './types/component-types';
23
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,YAAY,EACV,MAAM,EACN,cAAc,EACd,YAAY,GACb,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,GACZ,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACV,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,UAAU,GACX,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC9B,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,YAAY,EACV,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,YAAY,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG5E,YAAY,EACV,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC9B,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -1,15 +1,11 @@
1
- import { D as s, a as i, F as r, P as l, b as t, S as o, T as D, c as d, d as n, e as T, f as b } from "./index-DJdfLA8M.js";
1
+ import { c as s } from "./utils-B6yFEsav.js";
2
+ import { A as l, a as u, b as h, c as o, d as r } from "./AuthPanel-D2HFX8eN.js";
2
3
  export {
3
- s as DataTable,
4
- i as DeleteConfirmDialog,
5
- r as FileUpload,
6
- l as PDFReader,
7
- t as PDFSidebar,
8
- o as SimplePDFReader,
9
- D as TableHeader,
10
- d as TablePagination,
11
- n as ThemeSwitcher,
12
- T as ThemeSwitcherContent,
13
- b as cn
4
+ l as AuthLoginPanel,
5
+ u as AuthPageShell,
6
+ h as AuthPanel,
7
+ o as AuthRegisterPanel,
8
+ r as AuthVisualCarousel,
9
+ s as cn
14
10
  };
15
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,283 @@
1
+ import K from "react";
2
+ var v = { exports: {} }, m = {};
3
+ /**
4
+ * @license React
5
+ * react-jsx-runtime.production.js
6
+ *
7
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ */
12
+ var $;
13
+ function ee() {
14
+ if ($) return m;
15
+ $ = 1;
16
+ var u = Symbol.for("react.transitional.element"), E = Symbol.for("react.fragment");
17
+ function c(i, o, s) {
18
+ var f = null;
19
+ if (s !== void 0 && (f = "" + s), o.key !== void 0 && (f = "" + o.key), "key" in o) {
20
+ s = {};
21
+ for (var d in o)
22
+ d !== "key" && (s[d] = o[d]);
23
+ } else s = o;
24
+ return o = s.ref, {
25
+ $$typeof: u,
26
+ type: i,
27
+ key: f,
28
+ ref: o !== void 0 ? o : null,
29
+ props: s
30
+ };
31
+ }
32
+ return m.Fragment = E, m.jsx = c, m.jsxs = c, m;
33
+ }
34
+ var _ = {};
35
+ /**
36
+ * @license React
37
+ * react-jsx-runtime.development.js
38
+ *
39
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
40
+ *
41
+ * This source code is licensed under the MIT license found in the
42
+ * LICENSE file in the root directory of this source tree.
43
+ */
44
+ var I;
45
+ function re() {
46
+ return I || (I = 1, process.env.NODE_ENV !== "production" && (function() {
47
+ function u(e) {
48
+ if (e == null) return null;
49
+ if (typeof e == "function")
50
+ return e.$$typeof === H ? null : e.displayName || e.name || null;
51
+ if (typeof e == "string") return e;
52
+ switch (e) {
53
+ case p:
54
+ return "Fragment";
55
+ case U:
56
+ return "Profiler";
57
+ case W:
58
+ return "StrictMode";
59
+ case z:
60
+ return "Suspense";
61
+ case G:
62
+ return "SuspenseList";
63
+ case B:
64
+ return "Activity";
65
+ }
66
+ if (typeof e == "object")
67
+ switch (typeof e.tag == "number" && console.error(
68
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
69
+ ), e.$$typeof) {
70
+ case M:
71
+ return "Portal";
72
+ case J:
73
+ return e.displayName || "Context";
74
+ case q:
75
+ return (e._context.displayName || "Context") + ".Consumer";
76
+ case V:
77
+ var r = e.render;
78
+ return e = e.displayName, e || (e = r.displayName || r.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
79
+ case X:
80
+ return r = e.displayName || null, r !== null ? r : u(e.type) || "Memo";
81
+ case T:
82
+ r = e._payload, e = e._init;
83
+ try {
84
+ return u(e(r));
85
+ } catch {
86
+ }
87
+ }
88
+ return null;
89
+ }
90
+ function E(e) {
91
+ return "" + e;
92
+ }
93
+ function c(e) {
94
+ try {
95
+ E(e);
96
+ var r = !1;
97
+ } catch {
98
+ r = !0;
99
+ }
100
+ if (r) {
101
+ r = console;
102
+ var t = r.error, n = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
103
+ return t.call(
104
+ r,
105
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
106
+ n
107
+ ), E(e);
108
+ }
109
+ }
110
+ function i(e) {
111
+ if (e === p) return "<>";
112
+ if (typeof e == "object" && e !== null && e.$$typeof === T)
113
+ return "<...>";
114
+ try {
115
+ var r = u(e);
116
+ return r ? "<" + r + ">" : "<...>";
117
+ } catch {
118
+ return "<...>";
119
+ }
120
+ }
121
+ function o() {
122
+ var e = k.A;
123
+ return e === null ? null : e.getOwner();
124
+ }
125
+ function s() {
126
+ return Error("react-stack-top-frame");
127
+ }
128
+ function f(e) {
129
+ if (x.call(e, "key")) {
130
+ var r = Object.getOwnPropertyDescriptor(e, "key").get;
131
+ if (r && r.isReactWarning) return !1;
132
+ }
133
+ return e.key !== void 0;
134
+ }
135
+ function d(e, r) {
136
+ function t() {
137
+ g || (g = !0, console.error(
138
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
139
+ r
140
+ ));
141
+ }
142
+ t.isReactWarning = !0, Object.defineProperty(e, "key", {
143
+ get: t,
144
+ configurable: !0
145
+ });
146
+ }
147
+ function D() {
148
+ var e = u(this.type);
149
+ return h[e] || (h[e] = !0, console.error(
150
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
151
+ )), e = this.props.ref, e !== void 0 ? e : null;
152
+ }
153
+ function L(e, r, t, n, b, A) {
154
+ var a = t.ref;
155
+ return e = {
156
+ $$typeof: j,
157
+ type: e,
158
+ key: r,
159
+ props: t,
160
+ _owner: n
161
+ }, (a !== void 0 ? a : null) !== null ? Object.defineProperty(e, "ref", {
162
+ enumerable: !1,
163
+ get: D
164
+ }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
165
+ configurable: !1,
166
+ enumerable: !1,
167
+ writable: !0,
168
+ value: 0
169
+ }), Object.defineProperty(e, "_debugInfo", {
170
+ configurable: !1,
171
+ enumerable: !1,
172
+ writable: !0,
173
+ value: null
174
+ }), Object.defineProperty(e, "_debugStack", {
175
+ configurable: !1,
176
+ enumerable: !1,
177
+ writable: !0,
178
+ value: b
179
+ }), Object.defineProperty(e, "_debugTask", {
180
+ configurable: !1,
181
+ enumerable: !1,
182
+ writable: !0,
183
+ value: A
184
+ }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
185
+ }
186
+ function P(e, r, t, n, b, A) {
187
+ var a = r.children;
188
+ if (a !== void 0)
189
+ if (n)
190
+ if (Z(a)) {
191
+ for (n = 0; n < a.length; n++)
192
+ w(a[n]);
193
+ Object.freeze && Object.freeze(a);
194
+ } else
195
+ console.error(
196
+ "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
197
+ );
198
+ else w(a);
199
+ if (x.call(r, "key")) {
200
+ a = u(e);
201
+ var l = Object.keys(r).filter(function(Q) {
202
+ return Q !== "key";
203
+ });
204
+ n = 0 < l.length ? "{key: someKey, " + l.join(": ..., ") + ": ...}" : "{key: someKey}", Y[a + n] || (l = 0 < l.length ? "{" + l.join(": ..., ") + ": ...}" : "{}", console.error(
205
+ `A props object containing a "key" prop is being spread into JSX:
206
+ let props = %s;
207
+ <%s {...props} />
208
+ React keys must be passed directly to JSX without using spread:
209
+ let props = %s;
210
+ <%s key={someKey} {...props} />`,
211
+ n,
212
+ a,
213
+ l,
214
+ a
215
+ ), Y[a + n] = !0);
216
+ }
217
+ if (a = null, t !== void 0 && (c(t), a = "" + t), f(r) && (c(r.key), a = "" + r.key), "key" in r) {
218
+ t = {};
219
+ for (var S in r)
220
+ S !== "key" && (t[S] = r[S]);
221
+ } else t = r;
222
+ return a && d(
223
+ t,
224
+ typeof e == "function" ? e.displayName || e.name || "Unknown" : e
225
+ ), L(
226
+ e,
227
+ a,
228
+ t,
229
+ o(),
230
+ b,
231
+ A
232
+ );
233
+ }
234
+ function w(e) {
235
+ y(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === T && (e._payload.status === "fulfilled" ? y(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
236
+ }
237
+ function y(e) {
238
+ return typeof e == "object" && e !== null && e.$$typeof === j;
239
+ }
240
+ var R = K, j = Symbol.for("react.transitional.element"), M = Symbol.for("react.portal"), p = Symbol.for("react.fragment"), W = Symbol.for("react.strict_mode"), U = Symbol.for("react.profiler"), q = Symbol.for("react.consumer"), J = Symbol.for("react.context"), V = Symbol.for("react.forward_ref"), z = Symbol.for("react.suspense"), G = Symbol.for("react.suspense_list"), X = Symbol.for("react.memo"), T = Symbol.for("react.lazy"), B = Symbol.for("react.activity"), H = Symbol.for("react.client.reference"), k = R.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, x = Object.prototype.hasOwnProperty, Z = Array.isArray, O = console.createTask ? console.createTask : function() {
241
+ return null;
242
+ };
243
+ R = {
244
+ react_stack_bottom_frame: function(e) {
245
+ return e();
246
+ }
247
+ };
248
+ var g, h = {}, N = R.react_stack_bottom_frame.bind(
249
+ R,
250
+ s
251
+ )(), C = O(i(s)), Y = {};
252
+ _.Fragment = p, _.jsx = function(e, r, t) {
253
+ var n = 1e4 > k.recentlyCreatedOwnerStacks++;
254
+ return P(
255
+ e,
256
+ r,
257
+ t,
258
+ !1,
259
+ n ? Error("react-stack-top-frame") : N,
260
+ n ? O(i(e)) : C
261
+ );
262
+ }, _.jsxs = function(e, r, t) {
263
+ var n = 1e4 > k.recentlyCreatedOwnerStacks++;
264
+ return P(
265
+ e,
266
+ r,
267
+ t,
268
+ !0,
269
+ n ? Error("react-stack-top-frame") : N,
270
+ n ? O(i(e)) : C
271
+ );
272
+ };
273
+ })()), _;
274
+ }
275
+ var F;
276
+ function te() {
277
+ return F || (F = 1, process.env.NODE_ENV === "production" ? v.exports = ee() : v.exports = re()), v.exports;
278
+ }
279
+ var ae = te();
280
+ export {
281
+ ae as j
282
+ };
283
+ //# sourceMappingURL=jsx-runtime-B4hRZ52C.js.map