@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 @@
1
+ {"version":3,"file":"AuthLoginPanel.d.ts","sourceRoot":"","sources":["../../src/components/AuthLoginPanel.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,KAAK,CAAC;AACjD,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,EAAE,oBAAoB,CAAC;IAClC,WAAW,EAAE,oBAAoB,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,eAAe,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,oBAAoB,CAAC;IACxD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,oBAAoB,CAAC;IAC/E,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9E,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAClE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACrE;AAmBD,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,KAAc,EACd,WAAiC,EACjC,SAAS,EACT,aAA0B,EAC1B,cAAoC,EACpC,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe,EACf,SAAS,EACT,mBAAwB,EACxB,aAAoC,EACpC,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,UAAU,GACX,EAAE,mBAAmB,2CA2TrB"}
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AuthPageShellProps {
3
+ children: ReactNode;
4
+ visual?: ReactNode;
5
+ overlay?: ReactNode;
6
+ className?: string;
7
+ contentClassName?: string;
8
+ panelClassName?: string;
9
+ }
10
+ export declare function AuthPageShell({ children, visual, overlay, className, contentClassName, panelClassName, }: AuthPageShellProps): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=AuthPageShell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthPageShell.d.ts","sourceRoot":"","sources":["../../src/components/AuthPageShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,cAAc,GACf,EAAE,kBAAkB,2CAmBpB"}
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ import { AuthLoginPanelProps, AuthUIComponents } from './AuthLoginPanel';
3
+ import { AuthRegisterPanelProps } from './AuthRegisterPanel';
4
+ export type AuthPanelMode = 'login' | 'register';
5
+ export interface AuthPanelProps {
6
+ components?: AuthUIComponents;
7
+ mode?: AuthPanelMode;
8
+ defaultMode?: AuthPanelMode;
9
+ onModeChange?: (mode: AuthPanelMode) => void;
10
+ loginProps?: Omit<AuthLoginPanelProps, 'components' | 'footer'> & {
11
+ footer?: ReactNode;
12
+ };
13
+ registerProps?: Omit<AuthRegisterPanelProps, 'components' | 'footer'> & {
14
+ footer?: ReactNode;
15
+ };
16
+ loginLabel?: ReactNode;
17
+ registerLabel?: ReactNode;
18
+ }
19
+ export declare function AuthPanel({ components, mode, defaultMode, onModeChange, loginProps, registerProps, loginLabel, registerLabel, }: AuthPanelProps): import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=AuthPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthPanel.d.ts","sourceRoot":"","sources":["../../src/components/AuthPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,GAAG,QAAQ,CAAC,GAAG;QAChE,MAAM,CAAC,EAAE,SAAS,CAAC;KACpB,CAAC;IACF,aAAa,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,GAAG,QAAQ,CAAC,GAAG;QACtE,MAAM,CAAC,EAAE,SAAS,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,wBAAgB,SAAS,CAAC,EACxB,UAAU,EACV,IAAI,EACJ,WAAqB,EACrB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAsB,EACtB,aAAyB,GAC1B,EAAE,cAAc,2CAgDhB"}
@@ -0,0 +1,34 @@
1
+ import { ReactNode } from 'react';
2
+ import { AuthSmsCodeResult, AuthSocialProvider, AuthUIComponents, AuthValidationResult } from './AuthLoginPanel';
3
+ export interface AuthRegisterPayload {
4
+ username: string;
5
+ password: string;
6
+ confirmPassword: string;
7
+ phone: string;
8
+ code: string;
9
+ smsId?: string;
10
+ smsType?: string;
11
+ termsAccepted: boolean;
12
+ }
13
+ export interface AuthRegisterPanelProps {
14
+ components?: AuthUIComponents;
15
+ title?: ReactNode;
16
+ description?: ReactNode;
17
+ brandIcon?: ReactNode;
18
+ requirePhoneVerification?: boolean;
19
+ requireTermsAccepted?: boolean;
20
+ termsLabel?: ReactNode;
21
+ error?: ReactNode;
22
+ extraActions?: ReactNode;
23
+ footer?: ReactNode;
24
+ socialProviders?: AuthSocialProvider[];
25
+ className?: string;
26
+ smsCountdownSeconds?: number;
27
+ validatePhone?: (phone: string) => AuthValidationResult;
28
+ validatePassword?: (payload: AuthRegisterPayload) => AuthValidationResult;
29
+ validateRegister?: (payload: AuthRegisterPayload) => AuthValidationResult;
30
+ onSendSmsCode?: (phone: string) => Promise<AuthSmsCodeResult | void> | AuthSmsCodeResult | void;
31
+ onRegister?: (payload: AuthRegisterPayload) => Promise<void> | void;
32
+ }
33
+ export declare function AuthRegisterPanel({ components, title, description, brandIcon, requirePhoneVerification, requireTermsAccepted, termsLabel, error, extraActions, footer, socialProviders, className, smsCountdownSeconds, validatePhone, validatePassword, validateRegister, onSendSmsCode, onRegister, }: AuthRegisterPanelProps): import("react/jsx-runtime").JSX.Element;
34
+ //# sourceMappingURL=AuthRegisterPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthRegisterPanel.d.ts","sourceRoot":"","sources":["../../src/components/AuthRegisterPanel.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,eAAe,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,oBAAoB,CAAC;IACxD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,oBAAoB,CAAC;IAC1E,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,oBAAoB,CAAC;IAC1E,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAClE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACrE;AAmBD,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,KAAc,EACd,WAA8B,EAC9B,SAAS,EACT,wBAA+B,EAC/B,oBAA4B,EAC5B,UAA0B,EAC1B,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe,EACf,SAAS,EACT,mBAAwB,EACxB,aAAoC,EACpC,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,UAAU,GACX,EAAE,sBAAsB,2CAmRxB"}
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AuthVisualCarouselItem {
3
+ image: string;
4
+ alt: string;
5
+ title?: ReactNode;
6
+ description?: ReactNode;
7
+ eyebrow?: ReactNode;
8
+ }
9
+ export interface AuthVisualCarouselProps {
10
+ items: AuthVisualCarouselItem[];
11
+ intervalMs?: number;
12
+ showIndicators?: boolean;
13
+ showText?: boolean;
14
+ className?: string;
15
+ imageClassName?: string;
16
+ contentClassName?: string;
17
+ ariaLabel?: string;
18
+ }
19
+ export declare function AuthVisualCarousel({ items, intervalMs, showIndicators, showText, className, imageClassName, contentClassName, ariaLabel, }: AuthVisualCarouselProps): import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=AuthVisualCarousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthVisualCarousel.d.ts","sourceRoot":"","sources":["../../src/components/AuthVisualCarousel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAItD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,UAAiB,EACjB,cAAqB,EACrB,QAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,SAAqB,GACtB,EAAE,uBAAuB,2CAgIzB"}
@@ -1,4 +1,4 @@
1
- import { ReactNode, HTMLAttributes, ButtonHTMLAttributes } from 'react';
1
+ import { ReactNode, HTMLAttributes, ButtonHTMLAttributes, MouseEvent } from 'react';
2
2
  import { UIComponent, ButtonComponent, CardComponent, TableComponent, TableRowComponent, TableCellComponent } from '../types/component-types';
3
3
  import { TableHeaderProps } from './TableHeader';
4
4
  import { TablePaginationProps } from './TablePagination';
@@ -46,7 +46,7 @@ export interface UIComponents {
46
46
  align?: 'start' | 'end' | 'center';
47
47
  }>;
48
48
  DropdownMenuItem: UIComponent<ButtonHTMLAttributes<HTMLDivElement> & {
49
- onClick?: (e: React.MouseEvent) => void;
49
+ onClick?: (e: MouseEvent) => void;
50
50
  }>;
51
51
  DropdownMenuSeparator: UIComponent;
52
52
  Skeleton: UIComponent<HTMLAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../src/components/DataTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../src/components/DataTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { HTMLAttributes, ImgHTMLAttributes } from 'react';
2
+ import { ButtonComponent, CardComponent, SkeletonComponent, UIComponent } from '../types/component-types';
3
+ export declare const SUPPORTED_IMAGE_EXTENSIONS: readonly ["jpg", "jpeg", "png", "gif", "webp", "svg", "bmp", "avif", "ico"];
4
+ export declare const SUPPORTED_IMAGE_MIME_TYPES: readonly ["image/jpeg", "image/png", "image/gif", "image/webp", "image/svg+xml", "image/bmp", "image/avif", "image/x-icon", "image/vnd.microsoft.icon"];
5
+ export interface ImageReaderUIComponents {
6
+ Card?: CardComponent;
7
+ CardContent?: UIComponent<HTMLAttributes<HTMLDivElement>>;
8
+ Button?: ButtonComponent;
9
+ Skeleton?: SkeletonComponent;
10
+ }
11
+ export interface ImageReaderProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'alt' | 'children' | 'className' | 'loading' | 'onError' | 'onLoad' | 'src'> {
12
+ src: string;
13
+ alt?: string;
14
+ fileName?: string;
15
+ mimeType?: string;
16
+ components?: ImageReaderUIComponents;
17
+ loading?: boolean;
18
+ error?: Error | string | null;
19
+ className?: string;
20
+ containerClassName?: string;
21
+ imageClassName?: string;
22
+ toolbarClassName?: string;
23
+ loadingText?: string;
24
+ errorText?: string;
25
+ unsupportedText?: string;
26
+ showToolbar?: boolean;
27
+ showOpenInNewTab?: boolean;
28
+ objectFit?: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
29
+ initialScale?: number;
30
+ minScale?: number;
31
+ maxScale?: number;
32
+ scaleStep?: number;
33
+ scale?: number;
34
+ onScaleChange?: (scale: number) => void;
35
+ rotation?: number;
36
+ onRotationChange?: (rotation: number) => void;
37
+ allowUnsupportedFormat?: boolean;
38
+ supportedExtensions?: readonly string[];
39
+ supportedMimeTypes?: readonly string[];
40
+ onLoad?: () => void;
41
+ onError?: (error: Error) => void;
42
+ }
43
+ export declare function ImageReader({ src, alt, fileName, mimeType, components, loading, error, className, containerClassName, imageClassName, toolbarClassName, loadingText, errorText, unsupportedText, showToolbar, showOpenInNewTab, objectFit, initialScale, minScale, maxScale, scaleStep, scale: controlledScale, onScaleChange, rotation: controlledRotation, onRotationChange, allowUnsupportedFormat, supportedExtensions, supportedMimeTypes, onLoad, onError, style, ...imageProps }: ImageReaderProps): import("react/jsx-runtime").JSX.Element;
44
+ //# sourceMappingURL=ImageReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageReader.d.ts","sourceRoot":"","sources":["../../src/components/ImageReader.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAG1E,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAIlC,eAAO,MAAM,0BAA0B,6EAU7B,CAAC;AAEX,eAAO,MAAM,0BAA0B,yJAU7B,CAAC;AAEX,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CACV,iBAAiB,CAAC,gBAAgB,CAAC,EACjC,KAAK,GACL,UAAU,GACV,WAAW,GACX,SAAS,GACT,SAAS,GACT,QAAQ,GACR,KAAK,CACR;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAUD,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,GAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,OAAe,EACf,KAAK,EACL,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,WAAyB,EACzB,SAAoB,EACpB,eAA6B,EAC7B,WAAkB,EAClB,gBAAuB,EACvB,SAAqB,EACrB,YAAgB,EAChB,QAAe,EACf,QAAY,EACZ,SAAgB,EAChB,KAAK,EAAE,eAAe,EACtB,aAAa,EACb,QAAQ,EAAE,kBAAkB,EAC5B,gBAAgB,EAChB,sBAA8B,EAC9B,mBAAgD,EAChD,kBAA+C,EAC/C,MAAM,EACN,OAAO,EACP,KAAK,EACL,GAAG,UAAU,EACd,EAAE,gBAAgB,2CA2NlB"}
@@ -0,0 +1,26 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { CardComponent, SkeletonComponent, UIComponent } from '../types/component-types';
3
+ export interface MarkdownReaderUIComponents {
4
+ Card?: CardComponent;
5
+ CardContent?: UIComponent<HTMLAttributes<HTMLDivElement>>;
6
+ Skeleton?: SkeletonComponent;
7
+ }
8
+ export interface MarkdownReaderProps {
9
+ content?: string;
10
+ sourceUrl?: string;
11
+ components?: MarkdownReaderUIComponents;
12
+ loading?: boolean;
13
+ error?: Error | string | null;
14
+ className?: string;
15
+ contentClassName?: string;
16
+ loadingText?: string;
17
+ errorText?: string;
18
+ emptyText?: string;
19
+ allowImages?: boolean;
20
+ openLinksInNewTab?: boolean;
21
+ transformLinkHref?: (href: string) => string | undefined;
22
+ transformImageSrc?: (src: string) => string | undefined;
23
+ onLoadError?: (error: Error) => void;
24
+ }
25
+ export declare function MarkdownReader({ content, sourceUrl, components, loading, error, className, contentClassName, loadingText, errorText, emptyText, allowImages, openLinksInNewTab, transformLinkHref, transformImageSrc, onLoadError, }: MarkdownReaderProps): import("react/jsx-runtime").JSX.Element;
26
+ //# sourceMappingURL=MarkdownReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownReader.d.ts","sourceRoot":"","sources":["../../src/components/MarkdownReader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACzD,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACtC;AAqCD,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,SAAS,EACT,UAAU,EACV,OAAe,EACf,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,WAAmC,EACnC,SAA2B,EAC3B,SAA4B,EAC5B,WAAkB,EAClB,iBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,GACZ,EAAE,mBAAmB,2CA6NrB"}
@@ -79,7 +79,7 @@ export interface PDFReaderProps {
79
79
  enableHotkeys?: boolean;
80
80
  /** 启用移动端导航 (默认 true) */
81
81
  enableMobileNav?: boolean;
82
- /** 显示模式: 'scroll' 显示所有页面, 'single' 单页模式 (默认 'scroll') */
82
+ /** 显示模式: 'scroll' 显示所有页面, 'single' 单页模式 (默认 'single') */
83
83
  displayMode?: 'scroll' | 'single';
84
84
  /** 容器类名 */
85
85
  className?: string;
@@ -117,7 +117,7 @@ export interface PDFReaderProps {
117
117
  *
118
118
  * @example
119
119
  * ```tsx
120
- * import { PDFReader } from '@turinhub/atomix-common-ui';
120
+ * import { PDFReader } from '@turinhub/atomix-common-ui/pdf-reader';
121
121
  * import { Card, Button, Input, Label, Skeleton } from '@/components/ui';
122
122
  * import { Tabs, ScrollArea } from '@/components/ui';
123
123
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PDFReader.d.ts","sourceRoot":"","sources":["../../src/components/PDFReader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PDFReader.d.ts","sourceRoot":"","sources":["../../src/components/PDFReader.tsx"],"names":[],"mappings":"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"}
@@ -65,7 +65,7 @@ export interface PDFSidebarProps {
65
65
  *
66
66
  * @example
67
67
  * ```tsx
68
- * import { PDFSidebar } from '@turinhub/atomix-common-ui';
68
+ * import { PDFSidebar } from '@turinhub/atomix-common-ui/pdf-sidebar';
69
69
  * import { Tabs, ScrollArea, Skeleton } from '@/components/ui';
70
70
  *
71
71
  * <PDFSidebar
@@ -1 +1 @@
1
- {"version":3,"file":"PDFSidebar.d.ts","sourceRoot":"","sources":["../../src/components/PDFSidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACnD,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACxD,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW,CAAC;IACrD,MAAM,CAAC,aAAa,EAAE;QACpB,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,WAAW,CAAC;QACtB,MAAM,EAAE,iBAAiB,CAAC;KAC3B,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe;IACf,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,cAAc;IACd,UAAU,EAAE;QACV,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,WAAW,EAAE,oBAAoB,CAAC;QAClC,WAAW,EAAE,oBAAoB,CAAC;QAClC,UAAU,EAAE,mBAAmB,CAAC;QAChC,QAAQ,EAAE,iBAAiB,CAAC;KAC7B,CAAC;CACH;AAuED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,GACX,EAAE,eAAe,2CAsKjB"}
1
+ {"version":3,"file":"PDFSidebar.d.ts","sourceRoot":"","sources":["../../src/components/PDFSidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACnD,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACxD,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW,CAAC;IACrD,MAAM,CAAC,aAAa,EAAE;QACpB,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,WAAW,CAAC;QACtB,MAAM,EAAE,iBAAiB,CAAC;KAC3B,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAsBD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe;IACf,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,cAAc;IACd,UAAU,EAAE;QACV,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,WAAW,EAAE,oBAAoB,CAAC;QAClC,WAAW,EAAE,oBAAoB,CAAC;QAClC,UAAU,EAAE,mBAAmB,CAAC;QAChC,QAAQ,EAAE,iBAAiB,CAAC;KAC7B,CAAC;CACH;AAuED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,GACX,EAAE,eAAe,2CAsSjB"}
@@ -51,7 +51,7 @@ export interface SimplePDFReaderProps {
51
51
  *
52
52
  * @example
53
53
  * ```tsx
54
- * import { SimplePDFReader } from '@turinhub/atomix-common-ui';
54
+ * import { SimplePDFReader } from '@turinhub/atomix-common-ui/simple-pdf-reader';
55
55
  * import { Card, Button, Skeleton } from '@/components/ui';
56
56
  *
57
57
  * <SimplePDFReader
@@ -0,0 +1,39 @@
1
+ import { HTMLAttributes, TrackHTMLAttributes, VideoHTMLAttributes } from 'react';
2
+ import { ButtonComponent, CardComponent, SkeletonComponent, UIComponent } from '../types/component-types';
3
+ export declare const SUPPORTED_VIDEO_EXTENSIONS: readonly ["mp4", "webm", "ogg", "ogv", "mov", "m4v"];
4
+ export declare const SUPPORTED_VIDEO_MIME_TYPES: readonly ["video/mp4", "video/webm", "video/ogg", "video/quicktime", "video/x-m4v"];
5
+ export interface VideoReaderUIComponents {
6
+ Card?: CardComponent;
7
+ CardContent?: UIComponent<HTMLAttributes<HTMLDivElement>>;
8
+ Button?: ButtonComponent;
9
+ Skeleton?: SkeletonComponent;
10
+ }
11
+ export interface VideoReaderTrack extends Omit<TrackHTMLAttributes<HTMLTrackElement>, 'children'> {
12
+ src: string;
13
+ }
14
+ export interface VideoReaderProps extends Omit<VideoHTMLAttributes<HTMLVideoElement>, 'children' | 'className' | 'onError' | 'onLoadedData' | 'src'> {
15
+ src: string;
16
+ fileName?: string;
17
+ mimeType?: string;
18
+ title?: string;
19
+ components?: VideoReaderUIComponents;
20
+ tracks?: VideoReaderTrack[];
21
+ loading?: boolean;
22
+ error?: Error | string | null;
23
+ className?: string;
24
+ containerClassName?: string;
25
+ videoClassName?: string;
26
+ toolbarClassName?: string;
27
+ loadingText?: string;
28
+ errorText?: string;
29
+ unsupportedText?: string;
30
+ showToolbar?: boolean;
31
+ showOpenInNewTab?: boolean;
32
+ allowUnsupportedFormat?: boolean;
33
+ supportedExtensions?: readonly string[];
34
+ supportedMimeTypes?: readonly string[];
35
+ onLoadedData?: () => void;
36
+ onError?: (error: Error) => void;
37
+ }
38
+ export declare function VideoReader({ src, fileName, mimeType, title, components, tracks, loading, error, className, containerClassName, videoClassName, toolbarClassName, loadingText, errorText, unsupportedText, showToolbar, showOpenInNewTab, allowUnsupportedFormat, supportedExtensions, supportedMimeTypes, controls, preload, playsInline, onLoadedData, onError, ...videoProps }: VideoReaderProps): import("react/jsx-runtime").JSX.Element;
39
+ //# sourceMappingURL=VideoReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoReader.d.ts","sourceRoot":"","sources":["../../src/components/VideoReader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAEd,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAIlC,eAAO,MAAM,0BAA0B,sDAO7B,CAAC;AAEX,eAAO,MAAM,0BAA0B,qFAM7B,CAAC;AAEX,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC/D,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CACV,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,KAAK,CAC9D;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAOD,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,MAAM,EACN,OAAe,EACf,KAAK,EACL,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,WAAyB,EACzB,SAAoB,EACpB,eAA6B,EAC7B,WAAkB,EAClB,gBAAuB,EACvB,sBAA8B,EAC9B,mBAAgD,EAChD,kBAA+C,EAC/C,QAAe,EACf,OAAoB,EACpB,WAAkB,EAClB,YAAY,EACZ,OAAO,EACP,GAAG,UAAU,EACd,EAAE,gBAAgB,2CAmKlB"}
@@ -0,0 +1,9 @@
1
+ export declare const getMediaExtension: (src?: string, fileName?: string) => string;
2
+ export declare const isSupportedMediaSource: ({ src, fileName, mimeType, supportedExtensions, supportedMimeTypes, }: {
3
+ src?: string;
4
+ fileName?: string;
5
+ mimeType?: string;
6
+ supportedExtensions: readonly string[];
7
+ supportedMimeTypes: readonly string[];
8
+ }) => boolean;
9
+ //# sourceMappingURL=media-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-utils.d.ts","sourceRoot":"","sources":["../../src/components/media-utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,WAUhE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,uEAMpC;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,YAeA,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-BB_1_6y_.cjs"),ee=require("lucide-react");function te({data:b,loading:M=!1,columns:u,rowKey:c,emptyText:D="暂无数据",searchActiveEmptyText:B="未找到匹配的记录",header:o,pagination:n,rowClassName:g,onRow:R,actions:s,components:S,renderCard:N,renderTable:j,renderActions:T}){var k,v;if(!S)return e.jsxRuntimeExports.jsxs("div",{className:"p-4 text-center text-destructive",children:["错误:请通过 components prop 注入 UI 组件",e.jsxRuntimeExports.jsx("br",{}),e.jsxRuntimeExports.jsx("code",{className:"text-sm",children:'import { Card, Table, Button, ... } from "@/components/ui"'})]});const{Card:$,CardContent:A,CardFooter:H,Table:V,TableBody:E,TableCell:i,TableHead:P,TableHeader:O,TableRow:p,Button:q,DropdownMenu:I,DropdownMenuTrigger:J,DropdownMenuContent:F,DropdownMenuItem:U,DropdownMenuSeparator:_,Skeleton:w,TableHeaderComponent:G,TablePaginationComponent:L}=S,Q=(t,x)=>{if(typeof c=="function")return c(t);const r=t[c];return r!=null?String(r):`row-${x}`},y=!!(o!=null&&o.searchValue&&o.searchValue.trim().length>0),a=!!(s!=null&&s.render||(k=s==null?void 0:s.items)!=null&&k.length),W=(s==null?void 0:s.mode)??((v=s==null?void 0:s.items)!=null&&v.length?"collapsed":"expanded"),X=t=>t.separator===!0,Y=(t,x)=>!s||!a?null:W==="collapsed"&&s.items&&s.items.length>0?e.jsxRuntimeExports.jsxs(I,{children:[e.jsxRuntimeExports.jsx(J,{asChild:!0,children:e.jsxRuntimeExports.jsx(q,{variant:"ghost",className:"h-8 w-8 p-0","aria-label":"打开行操作菜单",onClick:r=>r.stopPropagation(),children:e.jsxRuntimeExports.jsx(ee.MoreVertical,{className:"h-4 w-4"})})}),e.jsxRuntimeExports.jsx(F,{align:"end",children:s.items.map((r,d)=>X(r)?e.jsxRuntimeExports.jsx(_,{},`separator-${d}`):e.jsxRuntimeExports.jsxs(U,{onClick:f=>{f.stopPropagation(),r.onClick(t,x)},className:r.className,children:[r.icon&&e.jsxRuntimeExports.jsx("span",{className:"mr-2 h-4 w-4",children:r.icon}),r.label]},`action-${d}`))})]}):s.render?s.render(t,x):null,h=()=>e.jsxRuntimeExports.jsx(O,{children:e.jsxRuntimeExports.jsxs(p,{className:"bg-muted/50 hover:bg-muted/50",children:[u.map(t=>e.jsxRuntimeExports.jsx(P,{className:`font-semibold text-foreground ${t.align==="center"?"text-center":t.align==="right"?"text-right":"text-left"}`,style:{width:t.width},children:t.title},String(t.key))),a&&e.jsxRuntimeExports.jsx(P,{className:"text-right font-semibold text-foreground",children:(s==null?void 0:s.title)||"操作"})]})}),m=()=>M?e.jsxRuntimeExports.jsx(E,{children:Array.from({length:5}).map((t,x)=>e.jsxRuntimeExports.jsxs(p,{children:[u.map(r=>e.jsxRuntimeExports.jsx(i,{style:{width:r.width},className:r.align==="center"?"text-center":r.align==="right"?"text-right":"",children:e.jsxRuntimeExports.jsx(w,{className:"h-4 w-full"})},String(r.key))),a&&e.jsxRuntimeExports.jsx(i,{children:e.jsxRuntimeExports.jsx(w,{className:"ml-auto h-4 w-8"})})]},x))}):b.length===0?e.jsxRuntimeExports.jsx(E,{children:e.jsxRuntimeExports.jsx(p,{children:e.jsxRuntimeExports.jsx(i,{colSpan:u.length+(a?1:0),className:"py-8 text-center text-muted-foreground",children:y?B:D})})}):e.jsxRuntimeExports.jsx(E,{children:b.map((t,x)=>{const r=Q(t,x),d=R==null?void 0:R(t,x),f=g==null?void 0:g(t,x);return e.jsxRuntimeExports.jsxs(p,{className:`${f||""} hover:bg-muted/50`,...d,children:[u.map(l=>{const z=t[l.key],K=l.render?l.render(z,t,x):z;return e.jsxRuntimeExports.jsx(i,{className:l.align==="center"?"text-center":l.align==="right"?"text-right":"",children:K},String(l.key))}),a&&e.jsxRuntimeExports.jsx(i,{className:"text-right",onClick:l=>l.stopPropagation(),children:T?T(t,x):Y(t,x)})]},r)})}),Z=t=>e.jsxRuntimeExports.jsxs($,{children:[o&&e.jsxRuntimeExports.jsx("div",{className:"p-6 pb-0",children:e.jsxRuntimeExports.jsx(G,{...o})}),e.jsxRuntimeExports.jsx(A,{className:"p-0",children:t}),(n==null?void 0:n.show)!==!1&&n&&e.jsxRuntimeExports.jsx(H,{className:"border-t py-4",children:e.jsxRuntimeExports.jsx(L,{currentPage:n.currentPage,pageSize:n.pageSize,total:n.total,onPageChange:n.onPageChange,onPageSizeChange:n.onPageSizeChange,pageSizeOptions:n.pageSizeOptions,showPageSizeSelector:n.showPageSizeSelector,showJumpToPage:n.showJumpToPage,showTotal:n.showTotal,searchActive:y})})]}),C=(t,x)=>e.jsxRuntimeExports.jsxs(V,{children:[t,x]});return N?N(j?j(h(),m()):C(h(),m())):Z(j?j(h(),m()):C(h(),m()))}exports.DataTable=te;
2
+ //# sourceMappingURL=data-table.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.cjs","sources":["../src/components/DataTable.tsx"],"sourcesContent":["import { MoreVertical } from 'lucide-react';\nimport { ReactNode } from 'react';\nimport type {\n HTMLAttributes,\n ButtonHTMLAttributes,\n MouseEvent,\n} from 'react';\n\nimport type {\n UIComponent,\n ButtonComponent,\n CardComponent,\n TableComponent,\n TableRowComponent,\n TableCellComponent,\n} from '../types/component-types';\n\nimport type { TableHeaderProps } from './TableHeader';\nimport type { TablePaginationProps } from './TablePagination';\n\ntype ColumnKey<T> = Extract<keyof T, string>;\n\ntype ActionMenuItem<T> = {\n label: ReactNode;\n icon?: ReactNode;\n onClick: (record: T, index: number) => void;\n className?: string;\n separator?: never;\n};\n\ntype ActionSeparatorItem = {\n separator: true;\n className?: string;\n label?: never;\n icon?: never;\n onClick?: never;\n};\n\ntype ActionItem<T> = ActionMenuItem<T> | ActionSeparatorItem;\n\nexport interface Column<T = unknown> {\n key: ColumnKey<T>;\n title: ReactNode;\n render?: (value: T[ColumnKey<T>], record: T, index: number) => ReactNode;\n width?: string;\n align?: 'left' | 'center' | 'right';\n}\n\n/**\n * UI 组件适配器接口\n * 业务项目应该传入自己项目中的 shadcn/ui 组件\n */\nexport interface UIComponents {\n Card: CardComponent;\n CardContent: UIComponent<HTMLAttributes<HTMLDivElement>>;\n CardFooter: UIComponent<HTMLAttributes<HTMLDivElement>>;\n Table: TableComponent;\n TableBody: UIComponent<HTMLAttributes<HTMLTableSectionElement>>;\n TableCell: TableCellComponent;\n TableHead: TableCellComponent;\n TableHeader: UIComponent<HTMLAttributes<HTMLTableSectionElement>>;\n TableRow: TableRowComponent;\n Button: ButtonComponent;\n DropdownMenu: UIComponent<HTMLAttributes<HTMLDivElement>>;\n DropdownMenuTrigger: ButtonComponent;\n DropdownMenuContent: UIComponent<\n HTMLAttributes<HTMLDivElement> & { align?: 'start' | 'end' | 'center' }\n >;\n DropdownMenuItem: UIComponent<\n ButtonHTMLAttributes<HTMLDivElement> & {\n onClick?: (e: MouseEvent) => void;\n }\n >;\n DropdownMenuSeparator: UIComponent;\n Skeleton: UIComponent<HTMLAttributes<HTMLDivElement>>;\n TableHeaderComponent: React.ComponentType<TableHeaderProps>;\n TablePaginationComponent: React.ComponentType<TablePaginationProps>;\n}\n\nexport interface DataTableProps<T = unknown> {\n // 数据相关\n data: T[];\n loading?: boolean;\n columns: Column<T>[];\n rowKey: keyof T | ((record: T) => string);\n\n // 空状态\n emptyText?: string;\n searchActiveEmptyText?: string;\n\n // 头部配置\n header?: TableHeaderProps;\n\n // 分页配置\n pagination?: TablePaginationProps & {\n show?: boolean;\n };\n\n // 表格行样式\n rowClassName?: (record: T, index: number) => string;\n onRow?: (\n record: T,\n index: number\n ) => {\n onClick?: () => void;\n onDoubleClick?: () => void;\n };\n\n // 操作列\n actions?: {\n title?: string;\n mode?: 'expanded' | 'collapsed';\n render?: (record: T, index: number) => ReactNode;\n items?: ActionItem<T>[];\n };\n\n // UI 组件注入(可选)\n components?: UIComponents;\n\n // 自定义渲染函数(更灵活)\n renderCard?: (content: ReactNode) => ReactNode;\n renderTable?: (header: ReactNode, body: ReactNode) => ReactNode;\n renderActions?: (record: T, index: number) => ReactNode;\n}\n\n/**\n * 默认的 DataTable 实现\n * 需要通过 components prop 注入 UI 组件\n */\nexport function DataTable<T extends Record<string, any>>({\n data,\n loading = false,\n columns,\n rowKey,\n emptyText = '暂无数据',\n searchActiveEmptyText = '未找到匹配的记录',\n header,\n pagination,\n rowClassName,\n onRow,\n actions,\n components,\n renderCard,\n renderTable,\n renderActions,\n}: DataTableProps<T>) {\n if (!components) {\n return (\n <div className=\"p-4 text-center text-destructive\">\n 错误:请通过 components prop 注入 UI 组件\n <br />\n <code className=\"text-sm\">\n {'import { Card, Table, Button, ... } from \"@/components/ui\"'}\n </code>\n </div>\n );\n }\n\n const {\n Card,\n CardContent,\n CardFooter,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n Skeleton,\n TableHeaderComponent,\n TablePaginationComponent,\n } = components;\n\n // 获取行的唯一标识\n const getRowKey = (record: T, index: number): string => {\n if (typeof rowKey === 'function') {\n return rowKey(record);\n }\n const keyVal = record[rowKey];\n return keyVal !== undefined && keyVal !== null\n ? String(keyVal)\n : `row-${index}`;\n };\n\n // 检查是否有搜索活动\n const isSearchActive = Boolean(\n header?.searchValue && header.searchValue.trim().length > 0\n );\n const hasActions = Boolean(actions?.render || actions?.items?.length);\n const actionMode: 'expanded' | 'collapsed' =\n actions?.mode ?? (actions?.items?.length ? 'collapsed' : 'expanded');\n const isSeparatorItem = (item: ActionItem<T>): item is ActionSeparatorItem =>\n item.separator === true;\n\n // 渲染操作列\n const defaultRenderActions = (record: T, index: number) => {\n if (!actions || !hasActions) return null;\n\n // 折叠模式:使用 DropdownMenu\n if (\n actionMode === 'collapsed' &&\n actions.items &&\n actions.items.length > 0\n ) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n className=\"h-8 w-8 p-0\"\n aria-label=\"打开行操作菜单\"\n onClick={(event) => event.stopPropagation()}\n >\n <MoreVertical className=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n {actions.items.map((item, itemIndex) =>\n isSeparatorItem(item) ? (\n <DropdownMenuSeparator key={`separator-${itemIndex}`} />\n ) : (\n <DropdownMenuItem\n key={`action-${itemIndex}`}\n onClick={(event) => {\n event.stopPropagation();\n item.onClick(record, index);\n }}\n className={item.className}\n >\n {item.icon && (\n <span className=\"mr-2 h-4 w-4\">{item.icon}</span>\n )}\n {item.label}\n </DropdownMenuItem>\n )\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n }\n\n // 展开模式:使用自定义 render\n return actions.render ? actions.render(record, index) : null;\n };\n\n // 渲染表头\n const renderTableHeader = () => {\n return (\n <TableHeader>\n <TableRow className=\"bg-muted/50 hover:bg-muted/50\">\n {columns.map((column) => (\n <TableHead\n key={String(column.key)}\n className={`font-semibold text-foreground ${\n column.align === 'center'\n ? 'text-center'\n : column.align === 'right'\n ? 'text-right'\n : 'text-left'\n }`}\n style={{ width: column.width }}\n >\n {column.title}\n </TableHead>\n ))}\n {hasActions && (\n <TableHead className=\"text-right font-semibold text-foreground\">\n {actions?.title || '操作'}\n </TableHead>\n )}\n </TableRow>\n </TableHeader>\n );\n };\n\n // 渲染表体\n const renderTableBody = () => {\n // Loading 状态\n if (loading) {\n return (\n <TableBody>\n {Array.from({ length: 5 }).map((_, index) => (\n <TableRow key={index}>\n {columns.map((column) => (\n <TableCell\n key={String(column.key)}\n style={{ width: column.width }}\n className={\n column.align === 'center'\n ? 'text-center'\n : column.align === 'right'\n ? 'text-right'\n : ''\n }\n >\n <Skeleton className=\"h-4 w-full\" />\n </TableCell>\n ))}\n {hasActions && (\n <TableCell>\n <Skeleton className=\"ml-auto h-4 w-8\" />\n </TableCell>\n )}\n </TableRow>\n ))}\n </TableBody>\n );\n }\n\n // 空数据状态\n if (data.length === 0) {\n return (\n <TableBody>\n <TableRow>\n <TableCell\n colSpan={columns.length + (hasActions ? 1 : 0)}\n className=\"py-8 text-center text-muted-foreground\"\n >\n {isSearchActive ? searchActiveEmptyText : emptyText}\n </TableCell>\n </TableRow>\n </TableBody>\n );\n }\n\n // 数据行\n return (\n <TableBody>\n {data.map((record, index) => {\n const key = getRowKey(record, index);\n const rowProps = onRow?.(record, index);\n const className = rowClassName?.(record, index);\n\n return (\n <TableRow\n key={key}\n className={`${className || ''} hover:bg-muted/50`}\n {...rowProps}\n >\n {columns.map((column) => {\n const value = record[column.key as keyof T];\n const content = column.render\n ? column.render(value as T[ColumnKey<T>], record, index)\n : value;\n\n return (\n <TableCell\n key={String(column.key)}\n className={\n column.align === 'center'\n ? 'text-center'\n : column.align === 'right'\n ? 'text-right'\n : ''\n }\n >\n {content}\n </TableCell>\n );\n })}\n {hasActions && (\n <TableCell\n className=\"text-right\"\n onClick={(event) => event.stopPropagation()}\n >\n {renderActions\n ? renderActions(record, index)\n : defaultRenderActions(record, index)}\n </TableCell>\n )}\n </TableRow>\n );\n })}\n </TableBody>\n );\n };\n\n // 默认的卡片渲染\n const defaultRenderCard = (content: ReactNode) => (\n <Card>\n {header && (\n <div className=\"p-6 pb-0\">\n <TableHeaderComponent {...header} />\n </div>\n )}\n <CardContent className=\"p-0\">{content}</CardContent>\n {pagination?.show !== false && pagination && (\n <CardFooter className=\"border-t py-4\">\n <TablePaginationComponent\n currentPage={pagination.currentPage}\n pageSize={pagination.pageSize}\n total={pagination.total}\n onPageChange={pagination.onPageChange}\n onPageSizeChange={pagination.onPageSizeChange}\n pageSizeOptions={pagination.pageSizeOptions}\n showPageSizeSelector={pagination.showPageSizeSelector}\n showJumpToPage={pagination.showJumpToPage}\n showTotal={pagination.showTotal}\n searchActive={isSearchActive}\n />\n </CardFooter>\n )}\n </Card>\n );\n\n // 默认的表格渲染\n const defaultRenderTable = (tableHeader: ReactNode, tableBody: ReactNode) => (\n <Table>\n {tableHeader}\n {tableBody}\n </Table>\n );\n\n return renderCard\n ? renderCard(\n renderTable\n ? renderTable(renderTableHeader(), renderTableBody())\n : defaultRenderTable(renderTableHeader(), renderTableBody())\n )\n : defaultRenderCard(\n renderTable\n ? renderTable(renderTableHeader(), renderTableBody())\n : defaultRenderTable(renderTableHeader(), renderTableBody())\n );\n}\n"],"names":["DataTable","data","loading","columns","rowKey","emptyText","searchActiveEmptyText","header","pagination","rowClassName","onRow","actions","components","renderCard","renderTable","renderActions","jsxs","jsx","Card","CardContent","CardFooter","Table","TableBody","TableCell","TableHead","TableHeader","TableRow","Button","DropdownMenu","DropdownMenuTrigger","DropdownMenuContent","DropdownMenuItem","DropdownMenuSeparator","Skeleton","TableHeaderComponent","TablePaginationComponent","getRowKey","record","index","keyVal","isSearchActive","hasActions","_a","actionMode","_b","isSeparatorItem","item","defaultRenderActions","event","MoreVertical","itemIndex","renderTableHeader","column","renderTableBody","_","key","rowProps","className","value","content","defaultRenderCard","defaultRenderTable","tableHeader","tableBody"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { DataTable } from './components/DataTable';
2
+ export type { Column, DataTableProps, UIComponents, } from './components/DataTable';
3
+ //# sourceMappingURL=data-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../src/data-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EACV,MAAM,EACN,cAAc,EACd,YAAY,GACb,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,169 @@
1
+ import { j as e } from "./jsx-runtime-B4hRZ52C.js";
2
+ import { MoreVertical as ee } from "lucide-react";
3
+ function le({
4
+ data: N,
5
+ loading: D = !1,
6
+ columns: c,
7
+ rowKey: u,
8
+ emptyText: $ = "暂无数据",
9
+ searchActiveEmptyText: A = "未找到匹配的记录",
10
+ header: h,
11
+ pagination: n,
12
+ rowClassName: m,
13
+ onRow: f,
14
+ actions: r,
15
+ components: w,
16
+ renderCard: P,
17
+ renderTable: x,
18
+ renderActions: T
19
+ }) {
20
+ var z, M;
21
+ if (!w)
22
+ return /* @__PURE__ */ e.jsxs("div", { className: "p-4 text-center text-destructive", children: [
23
+ "错误:请通过 components prop 注入 UI 组件",
24
+ /* @__PURE__ */ e.jsx("br", {}),
25
+ /* @__PURE__ */ e.jsx("code", { className: "text-sm", children: 'import { Card, Table, Button, ... } from "@/components/ui"' })
26
+ ] });
27
+ const {
28
+ Card: H,
29
+ CardContent: V,
30
+ CardFooter: I,
31
+ Table: J,
32
+ TableBody: b,
33
+ TableCell: d,
34
+ TableHead: C,
35
+ TableHeader: O,
36
+ TableRow: g,
37
+ Button: R,
38
+ DropdownMenu: E,
39
+ DropdownMenuTrigger: F,
40
+ DropdownMenuContent: U,
41
+ DropdownMenuItem: _,
42
+ DropdownMenuSeparator: q,
43
+ Skeleton: y,
44
+ TableHeaderComponent: G,
45
+ TablePaginationComponent: L
46
+ } = w, Q = (t, s) => {
47
+ if (typeof u == "function")
48
+ return u(t);
49
+ const l = t[u];
50
+ return l != null ? String(l) : `row-${s}`;
51
+ }, k = !!(h != null && h.searchValue && h.searchValue.trim().length > 0), o = !!(r != null && r.render || (z = r == null ? void 0 : r.items) != null && z.length), W = (r == null ? void 0 : r.mode) ?? ((M = r == null ? void 0 : r.items) != null && M.length ? "collapsed" : "expanded"), X = (t) => t.separator === !0, Y = (t, s) => !r || !o ? null : W === "collapsed" && r.items && r.items.length > 0 ? /* @__PURE__ */ e.jsxs(E, { children: [
52
+ /* @__PURE__ */ e.jsx(F, { asChild: !0, children: /* @__PURE__ */ e.jsx(
53
+ R,
54
+ {
55
+ variant: "ghost",
56
+ className: "h-8 w-8 p-0",
57
+ "aria-label": "打开行操作菜单",
58
+ onClick: (l) => l.stopPropagation(),
59
+ children: /* @__PURE__ */ e.jsx(ee, { className: "h-4 w-4" })
60
+ }
61
+ ) }),
62
+ /* @__PURE__ */ e.jsx(U, { align: "end", children: r.items.map(
63
+ (l, j) => X(l) ? /* @__PURE__ */ e.jsx(q, {}, `separator-${j}`) : /* @__PURE__ */ e.jsxs(
64
+ _,
65
+ {
66
+ onClick: (S) => {
67
+ S.stopPropagation(), l.onClick(t, s);
68
+ },
69
+ className: l.className,
70
+ children: [
71
+ l.icon && /* @__PURE__ */ e.jsx("span", { className: "mr-2 h-4 w-4", children: l.icon }),
72
+ l.label
73
+ ]
74
+ },
75
+ `action-${j}`
76
+ )
77
+ ) })
78
+ ] }) : r.render ? r.render(t, s) : null, i = () => /* @__PURE__ */ e.jsx(O, { children: /* @__PURE__ */ e.jsxs(g, { className: "bg-muted/50 hover:bg-muted/50", children: [
79
+ c.map((t) => /* @__PURE__ */ e.jsx(
80
+ C,
81
+ {
82
+ className: `font-semibold text-foreground ${t.align === "center" ? "text-center" : t.align === "right" ? "text-right" : "text-left"}`,
83
+ style: { width: t.width },
84
+ children: t.title
85
+ },
86
+ String(t.key)
87
+ )),
88
+ o && /* @__PURE__ */ e.jsx(C, { className: "text-right font-semibold text-foreground", children: (r == null ? void 0 : r.title) || "操作" })
89
+ ] }) }), p = () => D ? /* @__PURE__ */ e.jsx(b, { children: Array.from({ length: 5 }).map((t, s) => /* @__PURE__ */ e.jsxs(g, { children: [
90
+ c.map((l) => /* @__PURE__ */ e.jsx(
91
+ d,
92
+ {
93
+ style: { width: l.width },
94
+ className: l.align === "center" ? "text-center" : l.align === "right" ? "text-right" : "",
95
+ children: /* @__PURE__ */ e.jsx(y, { className: "h-4 w-full" })
96
+ },
97
+ String(l.key)
98
+ )),
99
+ o && /* @__PURE__ */ e.jsx(d, { children: /* @__PURE__ */ e.jsx(y, { className: "ml-auto h-4 w-8" }) })
100
+ ] }, s)) }) : N.length === 0 ? /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(g, { children: /* @__PURE__ */ e.jsx(
101
+ d,
102
+ {
103
+ colSpan: c.length + (o ? 1 : 0),
104
+ className: "py-8 text-center text-muted-foreground",
105
+ children: k ? A : $
106
+ }
107
+ ) }) }) : /* @__PURE__ */ e.jsx(b, { children: N.map((t, s) => {
108
+ const l = Q(t, s), j = f == null ? void 0 : f(t, s), S = m == null ? void 0 : m(t, s);
109
+ return /* @__PURE__ */ e.jsxs(
110
+ g,
111
+ {
112
+ className: `${S || ""} hover:bg-muted/50`,
113
+ ...j,
114
+ children: [
115
+ c.map((a) => {
116
+ const B = t[a.key], K = a.render ? a.render(B, t, s) : B;
117
+ return /* @__PURE__ */ e.jsx(
118
+ d,
119
+ {
120
+ className: a.align === "center" ? "text-center" : a.align === "right" ? "text-right" : "",
121
+ children: K
122
+ },
123
+ String(a.key)
124
+ );
125
+ }),
126
+ o && /* @__PURE__ */ e.jsx(
127
+ d,
128
+ {
129
+ className: "text-right",
130
+ onClick: (a) => a.stopPropagation(),
131
+ children: T ? T(t, s) : Y(t, s)
132
+ }
133
+ )
134
+ ]
135
+ },
136
+ l
137
+ );
138
+ }) }), Z = (t) => /* @__PURE__ */ e.jsxs(H, { children: [
139
+ h && /* @__PURE__ */ e.jsx("div", { className: "p-6 pb-0", children: /* @__PURE__ */ e.jsx(G, { ...h }) }),
140
+ /* @__PURE__ */ e.jsx(V, { className: "p-0", children: t }),
141
+ (n == null ? void 0 : n.show) !== !1 && n && /* @__PURE__ */ e.jsx(I, { className: "border-t py-4", children: /* @__PURE__ */ e.jsx(
142
+ L,
143
+ {
144
+ currentPage: n.currentPage,
145
+ pageSize: n.pageSize,
146
+ total: n.total,
147
+ onPageChange: n.onPageChange,
148
+ onPageSizeChange: n.onPageSizeChange,
149
+ pageSizeOptions: n.pageSizeOptions,
150
+ showPageSizeSelector: n.showPageSizeSelector,
151
+ showJumpToPage: n.showJumpToPage,
152
+ showTotal: n.showTotal,
153
+ searchActive: k
154
+ }
155
+ ) })
156
+ ] }), v = (t, s) => /* @__PURE__ */ e.jsxs(J, { children: [
157
+ t,
158
+ s
159
+ ] });
160
+ return P ? P(
161
+ x ? x(i(), p()) : v(i(), p())
162
+ ) : Z(
163
+ x ? x(i(), p()) : v(i(), p())
164
+ );
165
+ }
166
+ export {
167
+ le as DataTable
168
+ };
169
+ //# sourceMappingURL=data-table.js.map