@fudanda/admin-antd 1.20261015.1-beta.1 → 2.20261024.1-beta.1

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 (176) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +58 -42
  3. package/THIRD_PARTY_NOTICES.md +55 -55
  4. package/dist/automation.js +3 -3
  5. package/dist/chunks/App-DNjXLysb.js +79 -0
  6. package/dist/chunks/{AppModal-B_xvSaeq.js → AppModal-DJzQA6FR.js} +1 -1
  7. package/dist/chunks/ArcBaseAdmin-BZrHGq2f.js +1 -0
  8. package/dist/chunks/ConfigurableTable-DzmZDd8F.js +55 -0
  9. package/dist/chunks/{DashboardPage-BTLufKzi.js → DashboardPage-BohGodSl.js} +1 -1
  10. package/dist/chunks/DataScopePanel-B2-x8Jcz.js +1 -0
  11. package/dist/chunks/{DateTimeText-rk9NeYgA.js → DateTimeText-CIt0Qy45.js} +1 -1
  12. package/dist/chunks/DepartmentsPage-DMWY__Y_.js +1 -0
  13. package/dist/chunks/DictTag-2-adKbYg.js +1 -0
  14. package/dist/chunks/DictsPage-DILDyHi-.js +15 -0
  15. package/dist/chunks/EditFormModal-DNHOZHxM.js +1 -0
  16. package/dist/chunks/EntityContextRuntime-DMklAv-k.js +1 -0
  17. package/dist/chunks/{EntityContextRuntime-BrAz-aCV.js → EntityContextRuntime-sslBZqYD.js} +1 -1
  18. package/dist/chunks/{EntityRelationButton-C8Cl8wyh.js → EntityRelationButton-DWn1rC2J.js} +2 -2
  19. package/dist/chunks/{ExportButton-D4IvZKHy.js → ExportButton-AzH4D0oW.js} +1 -1
  20. package/dist/chunks/FileNameCell-DPyi64Rv.js +1 -0
  21. package/dist/chunks/FileStorageConfigsPage-CzuOgeK0.js +15 -0
  22. package/dist/chunks/FileTypeIcon-DIih3XQG.js +1 -0
  23. package/dist/chunks/{FileViewerPreviewPanel-wbXzgqxc.js → FileViewerPreviewPanel-CMqVtGCr.js} +2 -2
  24. package/dist/chunks/FilesPage-BaEBCOCs.js +43 -0
  25. package/dist/chunks/IdentitySecurityPage-BO7nY8id.js +1 -0
  26. package/dist/chunks/{JsonPreviewPanel-D8YpZD1A.js → JsonPreviewPanel-Dhbza-Uu.js} +1 -1
  27. package/dist/chunks/LogStatsScaffold-CLycj3da.js +1 -0
  28. package/dist/chunks/LoginLogsPage-DTmHi8u0.js +1 -0
  29. package/dist/chunks/LoginLogsTable-DVmHnC6V.js +1 -0
  30. package/dist/chunks/{MasterDetailLayout-DDVFodpX.js → MasterDetailLayout-sjPWw8BI.js} +2 -2
  31. package/dist/chunks/{MemberAssignmentSheet-NWm5vThg.js → MemberAssignmentSheet-Czbt6_zv.js} +1 -1
  32. package/dist/chunks/MenuCommandPalette-BCOzf-Kq.js +8 -0
  33. package/dist/chunks/MenusPage-DN8DTGB1.js +1 -0
  34. package/dist/chunks/{ModalFooter-vXDpmYTM.js → ModalFooter-RMlvqrO9.js} +1 -1
  35. package/dist/chunks/NavListPanel-vjIOIqK0.js +1 -0
  36. package/dist/chunks/OnlineSessionsPage-FoHYZKlR.js +1 -0
  37. package/dist/chunks/OperationLogsPage-BeRnGcBJ.js +1 -0
  38. package/dist/chunks/OperationLogsTable-COI-Lp-y.js +1 -0
  39. package/dist/chunks/PDFPreviewPanel-BIQuBnZZ.js +37 -0
  40. package/dist/chunks/PasswordInput-DGEJO9yx.js +1 -0
  41. package/dist/chunks/PositionsPage-DohI0luX.js +1 -0
  42. package/dist/chunks/PreferencesSheetBody-B9niQABW.js +43 -0
  43. package/dist/chunks/ProfilePage-CVTRv7xb.js +15 -0
  44. package/dist/chunks/RelationPanel-B1X6AVaM.js +36 -0
  45. package/dist/chunks/RolesPage-CtUw93L8.js +1 -0
  46. package/dist/chunks/{SearchToolbar-BAh56OAa.js → SearchToolbar-CvgYKUjr.js} +1 -1
  47. package/dist/chunks/{SessionClientTag-DafwXf-o.js → SessionClientTag-DIwnYodW.js} +2 -2
  48. package/dist/chunks/SessionConflictModal-BLNuDsN_.js +1 -0
  49. package/dist/chunks/SettingRow-DVNmTJWC.js +1 -0
  50. package/dist/chunks/SettingsPage-BRnCxYQm.js +26 -0
  51. package/dist/chunks/StatCard-Czjfs0fa.js +4 -0
  52. package/dist/chunks/{UserDisplay-BYhcfa84.js → UserDisplay-J0Re8z-7.js} +1 -1
  53. package/dist/chunks/UserGroupsPage-CNwbejx-.js +1 -0
  54. package/dist/chunks/{UserLogsPanels-3ZlKQsCu.js → UserLogsPanels-BHeSxWrk.js} +2 -2
  55. package/dist/chunks/UserTransferSelect-CAeyxdor.js +22 -0
  56. package/dist/chunks/UsersPage-BXt9fOru.js +36 -0
  57. package/dist/chunks/{archive-D0BSMQmn.js → archive-B_IKvysI.js} +4 -4
  58. package/dist/chunks/chart-data-DImT_Mzn.js +5 -0
  59. package/dist/chunks/{chart-renderer-BWLqOvLF.js → chart-renderer-k-Rd8vdL.js} +1 -1
  60. package/dist/chunks/{user-cC0uCe3d.js → chevron-right-EBApfX6q.js} +2 -2
  61. package/dist/chunks/{clipboard-BKPNFY58.js → clipboard-ERcMSMRH.js} +1 -1
  62. package/dist/chunks/{confirm-CC2F8XXe.js → confirm-BtBBEqk8.js} +1 -1
  63. package/dist/chunks/{data-DPCozzrG.js → data-B05HzECj.js} +1 -1
  64. package/dist/chunks/{deleteAction-NGTDhZud.js → deleteAction-CCocr5uV.js} +1 -1
  65. package/dist/chunks/{diagram-vBbcsoK2.js → diagram-D9cwc7QH.js} +3 -3
  66. package/dist/chunks/dist-Bauqz5on.js +1 -0
  67. package/dist/chunks/{drawing-CUAfa3D5.js → drawing-D2Qrun-P.js} +2 -2
  68. package/dist/chunks/{email-U025DuXM.js → email-ByshRsFv.js} +2 -2
  69. package/dist/chunks/{export-CCaKk9VN.js → export-DlTz5dc2.js} +5 -5
  70. package/dist/chunks/{eye-DNBTmA6c.js → eye-off-BtJoIT5n.js} +1 -8
  71. package/dist/chunks/feedback-BnjMKZpz.js +1 -0
  72. package/dist/chunks/file-utils-DyvnVEoH.js +1 -0
  73. package/dist/chunks/fit-CsnhEncA.js +1 -0
  74. package/dist/chunks/{form-DhQiOMvp.js → form-CQutQFiD.js} +1 -1
  75. package/dist/chunks/geo-DR0fL7r2.js +38 -0
  76. package/dist/chunks/{image-C52XMTxg.js → image-ez9hvzKT.js} +1 -1
  77. package/dist/chunks/{lib-DZsU27Fn.js → lib-BlRm3nk1.js} +4 -4
  78. package/dist/chunks/line-BV7qVRkM.js +1 -0
  79. package/dist/chunks/{msg-DNXH9mKo.js → msg-BzZbudMm.js} +1 -1
  80. package/dist/chunks/{ofd-B0_-rey2.js → ofd-C7DKqJ6Z.js} +1 -1
  81. package/dist/chunks/{openDocument-DW7w0HpR.js → openDocument-DGzqlyJg.js} +1 -1
  82. package/dist/chunks/parse-6ZQGx714.js +1 -0
  83. package/dist/chunks/{parser-BFNqF7wU.js → parser-DC3PvpL4.js} +1 -1
  84. package/dist/chunks/ppt-B0WY5Gks.js +30 -0
  85. package/dist/chunks/pptx-DX5KDFZ7.js +109 -0
  86. package/dist/chunks/{print-mask-DTiml6Ox.js → print-mask-Dguzv0rv.js} +2 -2
  87. package/dist/chunks/{psd-yU36O76Y.js → psd-hjeNFQZ-.js} +1 -1
  88. package/dist/chunks/{search-filters-BoRMIesR.js → search-filters-CRIhZ0gL.js} +1 -1
  89. package/dist/chunks/spreadsheet-BzbBEhmY.js +1 -0
  90. package/dist/chunks/{spreadsheet-DiZ31XlH.js → spreadsheet-LR3SOG-x.js} +3 -3
  91. package/dist/chunks/toolbar-controls-CThS0xuP.js +15 -0
  92. package/dist/chunks/ui-BFsHoY7a.js +1 -0
  93. package/dist/chunks/{useCrudOperationColumn-PObQMk2y.js → useCrudOperationColumn-D935tixd.js} +1 -1
  94. package/dist/chunks/useListPage-CbcOQG4m.js +1 -0
  95. package/dist/chunks/{useStatusToggle-B7KSIN75.js → useStatusToggle-B2qZaoc-.js} +1 -1
  96. package/dist/chunks/wordDoc-BZY3ZnxN.js +152 -0
  97. package/dist/chunks/wordDocx-Bt2mlB3C.js +77 -0
  98. package/dist/chunks/{xmind-B9BtGBNI.js → xmind-CF9YwkOD.js} +2 -2
  99. package/dist/file-viewer/flyfish-viewer-assets.json +5 -5
  100. package/dist/file-viewer/vendor/docx/jszip.min.js +0 -0
  101. package/dist/file-viewer/wasm/data/sql-wasm.wasm +0 -0
  102. package/dist/index.js +1 -1
  103. package/dist/{src-DVwjbBTf.js → src-LbWcrSWe.js} +1 -1
  104. package/dist/styles.css +1 -1
  105. package/package.json +7 -7
  106. package/dist/chunks/App-DX7JOOmP.js +0 -79
  107. package/dist/chunks/ArcBaseAdmin-CdB_roNY.js +0 -1
  108. package/dist/chunks/ConfigurableTable-CyfZLgG0.js +0 -55
  109. package/dist/chunks/DataScopePanel-CubtBhTT.js +0 -1
  110. package/dist/chunks/DepartmentsPage-ECexbzsK.js +0 -1
  111. package/dist/chunks/DictTag-BerYvaUM.js +0 -1
  112. package/dist/chunks/DictsPage-65kAxYFd.js +0 -15
  113. package/dist/chunks/DirectoryLoginModal-rRXvoqV7.js +0 -1
  114. package/dist/chunks/EditFormModal-D68dOnaj.js +0 -1
  115. package/dist/chunks/EntityContextRuntime-D9mWi5xC.js +0 -1
  116. package/dist/chunks/FileNameCell-C_V1k0q-.js +0 -1
  117. package/dist/chunks/FilePreviewModal-D7v5seXB.js +0 -1
  118. package/dist/chunks/FileStorageConfigsPage-D2UYESb5.js +0 -15
  119. package/dist/chunks/FileTypeIcon-C77EVWXZ.js +0 -1
  120. package/dist/chunks/FilesPage-By81A2i7.js +0 -43
  121. package/dist/chunks/ForgotPasswordModal-DTlunJpM.js +0 -1
  122. package/dist/chunks/IdentitySecurityPage-Dp5EP7aT.js +0 -1
  123. package/dist/chunks/LogStatsScaffold-BFwbN_MU.js +0 -1
  124. package/dist/chunks/LoginField-Bu4C0-Mk.js +0 -1
  125. package/dist/chunks/LoginLogsPage-BuMJ6U8I.js +0 -1
  126. package/dist/chunks/LoginLogsTable-DfAlWPZb.js +0 -1
  127. package/dist/chunks/MenuCommandPalette-BvW2kEU4.js +0 -8
  128. package/dist/chunks/MenusPage-DT3kxAfi.js +0 -1
  129. package/dist/chunks/NavListPanel-agMt2kc6.js +0 -1
  130. package/dist/chunks/OnlineSessionsPage-BJJAB2pV.js +0 -1
  131. package/dist/chunks/OperationLogsPage-CP-wUt_N.js +0 -1
  132. package/dist/chunks/OperationLogsTable-BX0vV3fT.js +0 -1
  133. package/dist/chunks/PDFPreviewPanel-D8-74Zqs.js +0 -30
  134. package/dist/chunks/PasswordInput--G8GKd5g.js +0 -1
  135. package/dist/chunks/PositionsPage-Cs7xq89s.js +0 -1
  136. package/dist/chunks/PreferencesSheetBody-CdA4Ig_g.js +0 -43
  137. package/dist/chunks/ProfilePage-Bt3yP6D-.js +0 -15
  138. package/dist/chunks/RelationPanel-B-KAfl9B.js +0 -36
  139. package/dist/chunks/RolesPage-DDNGkGAq.js +0 -1
  140. package/dist/chunks/SessionConflictModal-DgFNCU3j.js +0 -1
  141. package/dist/chunks/SettingRow-BIb1ruW2.js +0 -1
  142. package/dist/chunks/SettingsPage-rhqkPOJ9.js +0 -16
  143. package/dist/chunks/StatCard-BwhGDWpE.js +0 -4
  144. package/dist/chunks/UserGroupsPage-D3_aji58.js +0 -1
  145. package/dist/chunks/UserTransferSelect-S-GUw2Y9.js +0 -1
  146. package/dist/chunks/UsersPage-CLRJX-V9.js +0 -29
  147. package/dist/chunks/WorkflowPrintButton-BVa-xw-8.js +0 -1
  148. package/dist/chunks/chart-data-DOMSCLwj.js +0 -5
  149. package/dist/chunks/chevron-left-DnDEG_PI.js +0 -8
  150. package/dist/chunks/chevron-right-CzizTV5i.js +0 -8
  151. package/dist/chunks/dist-BqNhxPp5.js +0 -1
  152. package/dist/chunks/feedback-D4BIfDNd.js +0 -1
  153. package/dist/chunks/file-utils-DJ9ksj-g.js +0 -1
  154. package/dist/chunks/geo-Bf8ymo43.js +0 -38
  155. package/dist/chunks/line-DSFA8EqT.js +0 -1
  156. package/dist/chunks/mail-Cduf1OFr.js +0 -8
  157. package/dist/chunks/mono-icons-CxCoktev.js +0 -1
  158. package/dist/chunks/plus-Bvdn6bx1.js +0 -8
  159. package/dist/chunks/ppt-C9RgrmNU.js +0 -30
  160. package/dist/chunks/pptx-_T8ZPVQn.js +0 -109
  161. package/dist/chunks/printer-DL8WQci4.js +0 -8
  162. package/dist/chunks/shield-check-DZGK8n9u.js +0 -8
  163. package/dist/chunks/spreadsheet-CHFSQY8j.js +0 -1
  164. package/dist/chunks/table-columns-XaoxVUJN.js +0 -1
  165. package/dist/chunks/toolbar-controls-BFOuV86W.js +0 -8
  166. package/dist/chunks/ui-DoIHGuTR.js +0 -1
  167. package/dist/chunks/useDebouncedValue-DFoJN77o.js +0 -22
  168. package/dist/chunks/useListPage-1Upr_ala.js +0 -1
  169. package/dist/chunks/wordDoc-CtetBfzo.js +0 -152
  170. package/dist/chunks/wordDocx-8ak39HcF.js +0 -77
  171. package/dist/chunks/zoom-8Eo2fTNd.js +0 -1
  172. package/dist/public/monaco/vs/editor/editor.worker.js +0 -1
  173. package/dist/public/monaco/vs/language/css/css.worker.js +0 -66
  174. package/dist/public/monaco/vs/language/html/html.worker.js +0 -443
  175. package/dist/public/monaco/vs/language/json/json.worker.js +0 -17
  176. package/dist/public/monaco/vs/language/typescript/ts.worker.js +0 -67693
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fudanda/admin-antd",
3
- "version": "1.20261015.1-beta.1",
3
+ "version": "2.20261024.1-beta.1",
4
4
  "type": "module",
5
5
  "description": "ArcBase admin-antd SDK.",
6
6
  "sideEffects": [
@@ -37,21 +37,21 @@
37
37
  "lint": "eslint src --max-warnings 0 && stylelint \"src/**/*.css\""
38
38
  },
39
39
  "peerDependencies": {
40
- "@fudanda/client": "1.20261015.1-beta.1",
40
+ "@fudanda/client": "2.20261024.1-beta.1",
41
41
  "react": "^19.0.0",
42
42
  "react-dom": "^19.0.0",
43
43
  "antd": "6.6.5",
44
44
  "@tanstack/react-query": "^5.0.0",
45
45
  "react-router-dom": "^7.18.4",
46
- "@fudanda/workflow": "1.20261015.1-beta.1"
46
+ "@fudanda/workflow": "2.20261024.1-beta.1"
47
47
  },
48
48
  "dependencies": {
49
49
  "dayjs": "^1.11.23",
50
- "@fudanda/shared": "1.20261015.1-beta.1",
51
- "@fudanda/react-core": "1.20261015.1-beta.1",
52
- "@fudanda/elements-antd": "1.20261015.1-beta.1",
50
+ "@fudanda/shared": "2.20261024.1-beta.1",
51
+ "@fudanda/react-core": "2.20261024.1-beta.1",
52
+ "@fudanda/elements-antd": "2.20261024.1-beta.1",
53
53
  "@ant-design/pro-components": "3.1.15-6",
54
- "@fudanda/table-antd": "1.20261015.1-beta.1"
54
+ "@fudanda/table-antd": "2.20261024.1-beta.1"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@types/react": "^19.0.0",
@@ -1,79 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-BKuNeK48.js";import{n as t,t as n}from"./preload-helper-C-73SErw.js";import{a as r,o as i}from"../src-DVwjbBTf.js";import{t as a}from"./controls-C5dPckUT.js";import{t as o}from"./typography-DKK_iHcj.js";import{i as s,t as c}from"./feedback-D4BIfDNd.js";import{n as l,t as u}from"./createLucideIcon-BtwfYE6A.js";import{i as d,n as f,r as p,t as m}from"./menu-mQgsexFx.js";import{n as h,t as g}from"./chevron-down-mn2tSKQd.js";import{n as _,t as v}from"./chevron-right-CzizTV5i.js";import{n as ee,t as y}from"./copy-ofLPH1I0.js";import{n as b,t as x}from"./download--5IybXxz.js";import{n as S,t as C}from"./ellipsis-Dux1Nxa5.js";import{n as w,t as T}from"./layout-grid-Bp9bwiQZ.js";import{i as E,n as D,r as te,t as O}from"./user-cC0uCe3d.js";import{i as k,n as A,r as ne,t as re}from"./user-round-kYfBkPNu.js";import{n as ie,t as j}from"./mail-Cduf1OFr.js";import{n as ae,t as M}from"./maximize-CnmQ11E7.js";import{n as N,t as oe}from"./minimize-Bpau_zCe.js";import{n as se,t as P}from"./refresh-cw-Dz8O9-Hp.js";import{n as ce,t as le}from"./rotate-ccw-D2__Zisi.js";import{n as ue,t as F}from"./search-DYZU68h1.js";import{n as de,t as fe}from"./shield-alert-De_Hx56I.js";import{n as pe,t as me}from"./shield-check-DZGK8n9u.js";import{n as he,t as ge}from"./upload-M-n6woFv.js";import{n as _e,t as ve}from"./x-Ak9hw1R9.js";import{a as I,d as ye,l as be,p as xe,v as Se,w as Ce}from"./ui-DoIHGuTR.js";import{i as we,t as Te}from"./confirm-CC2F8XXe.js";import{n as Ee,t as De}from"./ModalFooter-vXDpmYTM.js";import{n as Oe,r as ke}from"./clipboard-BKPNFY58.js";import{n as Ae,t as je}from"./EmptyIllustration-DUC3RZmF.js";import{i as Me,n as Ne,t as Pe}from"./icons-CbRx5Om7.js";import{n as Fe,t as L}from"./theme-controller-D-ATwFal.js";import{n as R,t as Ie}from"./UserAvatar-B8CFnTCn.js";import{i as Le,n as Re,r as ze,t as Be}from"./mono-icons-CxCoktev.js";import{n as Ve,t as He}from"./useDebouncedValue-DFoJN77o.js";import{i as Ue,n as We,o as Ge,r as Ke,t as z}from"./LoginField-Bu4C0-Mk.js";import{n as qe,t as Je}from"./ScrollArea-DqjJmHDN.js";import Ye,{Activity as Xe,Suspense as Ze,ViewTransition as Qe,createContext as $e,lazy as B,startTransition as et,useCallback as tt,useContext as nt,useEffect as V,useId as rt,useLayoutEffect as it,useMemo as H,useRef as U,useState as W}from"react";import{readCachedPreferences as at}from"@fudanda/react-core/lib/preference-cache";import{isScheduledDarkNow as ot,msUntilScheduleBoundary as st,sanitizeImportedPreferences as ct,useOptionalPreferences as lt,usePreferences as G}from"@fudanda/react-core/hooks/usePreferences";import{Fragment as K,jsx as q,jsxs as J}from"react/jsx-runtime";import{App as ut,Avatar as dt,BackTop as ft,Breadcrumb as pt,Button as Y,ConfigProvider as X,Drawer as mt,Dropdown as ht,Form as gt,Input as _t,Menu as vt,Modal as yt,Result as bt,Space as xt,Spin as St,Tabs as Ct,Tooltip as wt,theme as Z}from"antd";import{REFRESH_TOKEN_KEY as Tt,TOKEN_KEY as Et}from"@fudanda/shared/core";import Dt from"dayjs";import{Link as Ot,Navigate as kt,Route as Q,Routes as At,useLocation as jt,useNavigate as Mt,useOutlet as Nt}from"react-router-dom";import{api as Pt}from"@fudanda/react-core/lib/contract-query";import{useIsMobile as Ft,usePrefersDark as It}from"@fudanda/react-core/hooks/useMediaQuery";import{formatDateTime as Lt}from"@fudanda/react-core/utils/date";import{ApiError as Rt}from"@fudanda/react-core/lib/query";import{EmbeddedIdentityLogin as zt,IdentityCallback as Bt}from"@fudanda/elements-antd";import{useArcBase as Vt}from"@fudanda/react-core";import{useAuth as Ht}from"@fudanda/react-core/hooks/useAuth";import{AdminPathsContext as Ut,useAdminOptions as Wt,useAdminTitle as Gt}from"@fudanda/react-core/admin/runtime";import{useCurrentUserMenuTree as Kt}from"@fudanda/react-core/hooks/queries/menus";import{useMountedAdminModules as qt}from"@fudanda/react-core/admin/modules";import{foundationPagePaths as Jt}from"@fudanda/react-core/lib/foundation-mode";import{useTabsStore as Yt}from"@fudanda/react-core/hooks/useTabsStore";import{TabsMetaContext as Xt}from"@fudanda/react-core/hooks/useTabMeta";import{formatTopbarClock as Zt}from"@fudanda/react-core/utils/topbar-clock";import{useLockScreen as Qt}from"@fudanda/react-core/hooks/useLockScreen";import{useAutoLock as $t}from"@fudanda/react-core/hooks/useAutoLock";import{useLayoutShortcuts as en}from"@fudanda/react-core/hooks/useLayoutShortcuts";import{useFavoriteMenus as tn}from"@fudanda/react-core/hooks/useFavoriteMenus";import{PreferencesProvider as nn}from"@fudanda/react-core/hooks/PreferencesProvider";import rn from"dayjs/plugin/updateLocale";import"dayjs/locale/zh-cn";import"dayjs/locale/en";import{RealtimeBridge as an}from"@fudanda/react-core/providers/RealtimeBridge";import{useRecentMenus as on}from"@fudanda/react-core/hooks/useRecentMenus";import sn from"antd/locale/zh_CN";import cn from"antd/locale/en_US";import{getThemeColorVars as ln}from"@fudanda/react-core/lib/theme-color";import{downloadBlob as un}from"@fudanda/react-core/utils/download";import"@fudanda/elements-antd/styles.css";import{OAUTH_PROVIDER_LABELS as dn,enterpriseAuthContract as fn,oauthContract as pn}from"@fudanda/shared/identity";import{takeAuthInvalidatedReason as mn}from"@fudanda/react-core/utils/http-client";import{rememberOAuthPending as hn}from"@fudanda/react-core/lib/oauth-pending";import{useEnterpriseProviders as gn,useIdentityCapabilities as _n,useOAuthProviders as vn,usePublicCaptcha as yn}from"@fudanda/react-core/hooks/queries/auth-public";import{usePublicSettings as bn}from"@fudanda/react-core/hooks/queries/settings";var xn,Sn;function Cn(){return(Cn=e((()=>{
2
- /**
3
- * @license lucide-react v1.53.0 - ISC
4
- *
5
- * This source code is licensed under the ISC license.
6
- * See the LICENSE file in the root directory of this source tree.
7
- */
8
- l(),xn={name:`at-sign`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`,key:`7n84p3`}]]},xn.node,Sn=u(xn)})))()}var wn,Tn;function En(){return(En=e((()=>{
9
- /**
10
- * @license lucide-react v1.53.0 - ISC
11
- *
12
- * This source code is licensed under the ISC license.
13
- * See the LICENSE file in the root directory of this source tree.
14
- */
15
- l(),wn={name:`briefcase-business`,size:24,node:[[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`,key:`1ksdt3`}],[`path`,{d:`M22 13a18.15 18.15 0 0 1-20 0`,key:`12hx5q`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`,key:`i6l2r4`}]]},wn.node,Tn=u(wn)})))()}var Dn,On;function kn(){return(kn=e((()=>{
16
- /**
17
- * @license lucide-react v1.53.0 - ISC
18
- *
19
- * This source code is licensed under the ISC license.
20
- * See the LICENSE file in the root directory of this source tree.
21
- */
22
- l(),Dn={name:`house`,size:24,node:[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]],aliases:[`home`]},Dn.node,On=u(Dn)})))()}var An,jn;function Mn(){return(Mn=e((()=>{
23
- /**
24
- * @license lucide-react v1.53.0 - ISC
25
- *
26
- * This source code is licensed under the ISC license.
27
- * See the LICENSE file in the root directory of this source tree.
28
- */
29
- l(),An={name:`lock-keyhole`,size:24,node:[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]},An.node,jn=u(An)})))()}var Nn,Pn;function Fn(){return(Fn=e((()=>{
30
- /**
31
- * @license lucide-react v1.53.0 - ISC
32
- *
33
- * This source code is licensed under the ISC license.
34
- * See the LICENSE file in the root directory of this source tree.
35
- */
36
- l(),Nn={name:`moon`,size:24,node:[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]},Nn.node,Pn=u(Nn)})))()}var In,Ln;function Rn(){return(Rn=e((()=>{
37
- /**
38
- * @license lucide-react v1.53.0 - ISC
39
- *
40
- * This source code is licensed under the ISC license.
41
- * See the LICENSE file in the root directory of this source tree.
42
- */
43
- l(),In={name:`panel-left-close`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]],aliases:[`sidebar-close`]},In.node,Ln=u(In)})))()}var zn,Bn;function Vn(){return(Vn=e((()=>{
44
- /**
45
- * @license lucide-react v1.53.0 - ISC
46
- *
47
- * This source code is licensed under the ISC license.
48
- * See the LICENSE file in the root directory of this source tree.
49
- */
50
- l(),zn={name:`panel-left-open`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]],aliases:[`sidebar-open`]},zn.node,Bn=u(zn)})))()}var Hn,Un;function Wn(){return(Wn=e((()=>{
51
- /**
52
- * @license lucide-react v1.53.0 - ISC
53
- *
54
- * This source code is licensed under the ISC license.
55
- * See the LICENSE file in the root directory of this source tree.
56
- */
57
- l(),Hn={name:`pin`,size:24,node:[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]},Hn.node,Un=u(Hn)})))()}var Gn,Kn;function qn(){return(qn=e((()=>{
58
- /**
59
- * @license lucide-react v1.53.0 - ISC
60
- *
61
- * This source code is licensed under the ISC license.
62
- * See the LICENSE file in the root directory of this source tree.
63
- */
64
- l(),Gn={name:`settings`,size:24,node:[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]},Gn.node,Kn=u(Gn)})))()}var Jn,Yn;function Xn(){return(Xn=e((()=>{
65
- /**
66
- * @license lucide-react v1.53.0 - ISC
67
- *
68
- * This source code is licensed under the ISC license.
69
- * See the LICENSE file in the root directory of this source tree.
70
- */
71
- l(),Jn={name:`star`,size:24,node:[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]},Jn.node,Yn=u(Jn)})))()}var Zn,Qn;function $n(){return($n=e((()=>{
72
- /**
73
- * @license lucide-react v1.53.0 - ISC
74
- *
75
- * This source code is licensed under the ISC license.
76
- * See the LICENSE file in the root directory of this source tree.
77
- */
78
- l(),Zn={name:`sun`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]},Zn.node,Qn=u(Zn)})))()}function er(){try{sessionStorage.setItem(rr,`1`)}catch{}}function tr(){try{return sessionStorage.getItem(rr)===`1`}catch{return!1}}function nr(){try{sessionStorage.removeItem(rr)}catch{}}var rr;function ir(){return(ir=e((()=>{rr=`arcbase_post_login_home`})))()}var $,ar;function or(){return(or=e((()=>{t(),$=/* #__PURE__ */ Object.assign({"./pages/dashboard/DashboardPage.tsx":()=>n(()=>import(`./DashboardPage-BTLufKzi.js`),[],import.meta.url),"./pages/profile/ProfilePage.tsx":()=>n(()=>import(`./ProfilePage-Bt3yP6D-.js`),[],import.meta.url),"./pages/system/departments/DepartmentsPage.tsx":()=>n(()=>import(`./DepartmentsPage-ECexbzsK.js`),[],import.meta.url),"./pages/system/dicts/DictsPage.tsx":()=>n(()=>import(`./DictsPage-65kAxYFd.js`),[],import.meta.url),"./pages/system/file-configs/FileStorageConfigsPage.tsx":()=>n(()=>import(`./FileStorageConfigsPage-D2UYESb5.js`),[],import.meta.url),"./pages/system/files/FilesPage.tsx":()=>n(()=>import(`./FilesPage-By81A2i7.js`),[],import.meta.url),"./pages/system/identity-security/IdentitySecurityPage.tsx":()=>n(()=>import(`./IdentitySecurityPage-Dp5EP7aT.js`),[],import.meta.url),"./pages/system/login-logs/LoginLogsPage.tsx":()=>n(()=>import(`./LoginLogsPage-BuMJ6U8I.js`),[],import.meta.url),"./pages/system/menus/MenusPage.tsx":()=>n(()=>import(`./MenusPage-DT3kxAfi.js`),[],import.meta.url),"./pages/system/operation-logs/OperationLogsPage.tsx":()=>n(()=>import(`./OperationLogsPage-CP-wUt_N.js`).then(e=>(e.n(),e.t)),[],import.meta.url),"./pages/system/positions/PositionsPage.tsx":()=>n(()=>import(`./PositionsPage-Cs7xq89s.js`),[],import.meta.url),"./pages/system/roles/RolesPage.tsx":()=>n(()=>import(`./RolesPage-DDNGkGAq.js`),[],import.meta.url),"./pages/system/sessions/OnlineSessionsPage.tsx":()=>n(()=>import(`./OnlineSessionsPage-BJJAB2pV.js`),[],import.meta.url),"./pages/system/settings/SettingsPage.tsx":()=>n(()=>import(`./SettingsPage-rhqkPOJ9.js`),[],import.meta.url),"./pages/system/user-groups/UserGroupsPage.tsx":()=>n(()=>import(`./UserGroupsPage-D3_aji58.js`),[],import.meta.url),"./pages/users/UsersPage.tsx":()=>n(()=>import(`./UsersPage-CLRJX-V9.js`),[],import.meta.url)}),ar={"/":$[`./pages/dashboard/DashboardPage.tsx`],"/system/departments":$[`./pages/system/departments/DepartmentsPage.tsx`],"/system/positions":$[`./pages/system/positions/PositionsPage.tsx`],"/system/users":$[`./pages/users/UsersPage.tsx`],"/system/menus":$[`./pages/system/menus/MenusPage.tsx`],"/system/roles":$[`./pages/system/roles/RolesPage.tsx`],"/system/user-groups":$[`./pages/system/user-groups/UserGroupsPage.tsx`],"/system/dicts":$[`./pages/system/dicts/DictsPage.tsx`],"/system/settings":$[`./pages/system/settings/SettingsPage.tsx`],"/system/identity-security":$[`./pages/system/identity-security/IdentitySecurityPage.tsx`],"/system/file-configs":$[`./pages/system/file-configs/FileStorageConfigsPage.tsx`],"/system/files":$[`./pages/system/files/FilesPage.tsx`],"/system/sessions":$[`./pages/system/sessions/OnlineSessionsPage.tsx`],"/system/login-logs":$[`./pages/system/login-logs/LoginLogsPage.tsx`],"/system/operation-logs":$[`./pages/system/operation-logs/OperationLogsPage.tsx`],"/profile":$[`./pages/profile/ProfilePage.tsx`]}})))()}function sr({mode:e,showDate:t}){let[n,r]=W(()=>/* @__PURE__ */ new Date);return V(()=>{let e,t=setTimeout(()=>{r(/* @__PURE__ */ new Date),e=setInterval(()=>r(/* @__PURE__ */ new Date),6e4)},(60-(/* @__PURE__ */ new Date()).getSeconds())*1e3+50);return()=>{clearTimeout(t),e!==void 0&&clearInterval(e)}},[]),/* @__PURE__ */ q(`span`,{className:`admin-topbar-clock`,title:Zt(n,e,!0),children:Zt(n,e,t)})}function cr(){return(cr=e((()=>{})))()}function lr(e){return e.name===`ChunkLoadError`||/Failed to fetch dynamically imported module|error loading dynamically imported module|Importing a module script failed/i.test(e.message)}function ur({children:e}){let{pathname:t}=jt();return/* @__PURE__ */ q(dr,{resetKey:t,children:e})}var dr;function fr(){return(fr=e((()=>{Ce(),se(),kn(),ee(),ke(),Ae(),dr=class extends Ye.Component{static contextType=Ut;constructor(e){super(e),this.state={error:null,componentStack:null,resetKey:e.resetKey}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return e.resetKey===t.resetKey?null:{error:null,componentStack:null,resetKey:e.resetKey}}componentDidCatch(e,t){console.error(`[PageErrorBoundary] 捕获到运行时错误:`,e,t.componentStack),this.setState({componentStack:t.componentStack??null})}handleRetry=()=>{this.state.error&&lr(this.state.error)?globalThis.location.reload():this.setState({error:null,componentStack:null})};handleCopy=()=>{let{error:e,componentStack:t}=this.state;if(!e)return;let n=[`[ArcBase 页面错误报告]`,`时间: ${Lt(/* @__PURE__ */ new Date)}`,`页面: ${globalThis.location.href}`,`浏览器: ${navigator.userAgent}`,``,`${e.name}: ${e.message}`,e.stack?`\n堆栈:\n${e.stack}`:``,t?`\n组件栈:${t}`:``].filter(Boolean).join(`
79
- `);Oe(n,{success:`错误信息已复制,可粘贴给开发人员排查`,error:`复制失败,请手动选择复制`})};render(){if(!this.state.error)return this.props.children;let e=this.state.error,t=lr(e);return/* @__PURE__ */ q(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`safe center`,minHeight:`min(400px, 100dvh)`,maxHeight:`100dvh`,overflowY:`auto`,padding:`40px 24px`},children:/* @__PURE__ */ J(ye,{...je(`Failure`,120),title:t?`页面资源加载失败`:`页面加载出错`,description:t?`可能是网络不稳定,或系统刚刚发布了新版本。点击重新加载获取最新页面。`:`当前页面遇到了一个意外错误。你可以尝试刷新页面,或返回首页继续操作。`,children:[!1,/* @__PURE__ */ J(`div`,{style:{display:`flex`,gap:12,marginTop:16,justifyContent:`center`},children:[/* @__PURE__ */ q(I,{icon:/* @__PURE__ */ q(P,{size:14}),theme:`solid`,type:`primary`,onClick:this.handleRetry,children:`重新加载`}),/* @__PURE__ */ q(I,{icon:/* @__PURE__ */ q(On,{size:14}),theme:`light`,type:`primary`,onClick:()=>{globalThis.location.href=this.context?.basePath??`./`},children:`返回首页`}),/* @__PURE__ */ q(I,{icon:/* @__PURE__ */ q(y,{size:14}),theme:`light`,type:`tertiary`,onClick:this.handleCopy,children:`复制错误信息`})]})]})})}}})))()}function pr({lock:e,mode:t,onClose:n}){let r=Ht(),{preferences:i,setPreferences:a}=G(),{message:o}=ut.useApp();return e.isLocked?/* @__PURE__ */ q(bt,{title:`屏幕已锁定`,subTitle:`输入锁屏密码继续使用管理台`,extra:/* @__PURE__ */ J(gt,{style:{maxWidth:320,margin:`auto`},onFinish:({password:t})=>{e.unlock(t)||o.error(`锁屏密码不正确`)},children:[/* @__PURE__ */ q(gt.Item,{name:`password`,rules:[{required:!0,message:`请输入锁屏密码`}],children:/* @__PURE__ */ q(_t.Password,{autoFocus:!0,placeholder:`锁屏密码`})}),/* @__PURE__ */ q(Y,{type:`primary`,htmlType:`submit`,children:`解锁`}),` `,/* @__PURE__ */ q(Y,{onClick:()=>{e.clearLockPassword(),r.logout()},children:`退出登录`})]})}):/* @__PURE__ */ q(yt,{title:t===`change`?`修改锁屏密码`:`设置锁屏密码`,open:t!==null,onCancel:n,mask:{closable:i.modalClickMaskToClose},footer:null,destroyOnHidden:!0,children:/* @__PURE__ */ J(gt,{layout:`vertical`,onFinish:r=>{t===`change`&&!e.verifyLockPassword(r.current??``)?o.error(`原锁屏密码不正确`):(e.setLockPassword(r.password),a({enableLockScreen:!0}),n(),o.success(`锁屏密码已保存`))},children:[t===`change`&&/* @__PURE__ */ q(gt.Item,{name:`current`,label:`原锁屏密码`,rules:[{required:!0}],children:/* @__PURE__ */ q(_t.Password,{autoComplete:`off`})}),/* @__PURE__ */ q(gt.Item,{name:`password`,label:`新锁屏密码`,rules:[{required:!0},{min:4,message:`至少输入 4 位字符`}],children:/* @__PURE__ */ q(_t.Password,{autoComplete:`new-password`})}),/* @__PURE__ */ q(gt.Item,{name:`confirm`,label:`确认密码`,dependencies:[`password`],rules:[{required:!0},({getFieldValue:e})=>({validator:(t,n)=>n===e(`password`)?Promise.resolve():Promise.reject(/* @__PURE__ */ Error(`两次密码不一致`))})],children:/* @__PURE__ */ q(_t.Password,{autoComplete:`new-password`})}),/* @__PURE__ */ q(Y,{htmlType:`submit`,type:`primary`,children:`保存`})]},t)})}function mr(){return(mr=e((()=>{})))()}function hr({name:e,size:t=16,fallback:n=null,...r}){return Me(),e?Ne(e,t,r)??n:n}function gr(){return(gr=e((()=>{Pe()})))()}function _r(e){let t=e===`sunday`?0:1;return Dt.updateLocale(`zh-cn`,{weekStart:t}),Dt.updateLocale(`en`,{weekStart:t}),Promise.resolve()}function vr(){return(vr=e((()=>{Dt.extend(rn)})))()}function yr({children:e}){return/* @__PURE__ */ q(nn,{onWeekStartChange:_r,children:e})}function br(){return(br=e((()=>{vr()})))()}function xr({children:e,dark:t}){let{token:n}=Z.useToken();return V(()=>{document.body.setAttribute(`theme-mode`,t?`dark`:`light`),document.body.style.colorScheme=t?`dark`:`light`,document.body.style.fontFamily=n.fontFamily;let e={"font-family":n.fontFamily??`-apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif`,"color-primary":n.colorPrimary,"color-primary-hover":n.colorPrimaryHover,"color-primary-active":n.colorPrimaryActive,"color-primary-light-default":n.colorPrimaryBg,"color-primary-light-hover":n.colorPrimaryBgHover,"color-primary-light-active":n.colorPrimaryBorder,"color-bg-0":n.colorBgLayout,"color-bg-1":n.colorBgContainer,"color-bg-2":n.colorBgElevated,"color-bg-3":n.colorBgSpotlight,"color-text-0":n.colorText,"color-text-1":n.colorTextSecondary,"color-text-2":n.colorTextTertiary,"color-text-3":n.colorTextQuaternary,"color-border":n.colorBorder,"color-fill-0":n.colorFillTertiary,"color-fill-1":n.colorFillSecondary,"color-fill-2":n.colorFill,"color-danger":n.colorError,"color-success":n.colorSuccess,"color-warning":n.colorWarning,"color-info":n.colorInfo,"color-danger-light-default":n.colorErrorBg,"color-success-light-default":n.colorSuccessBg,"color-warning-light-default":n.colorWarningBg,"border-radius-small":n.borderRadiusSM+`px`,"border-radius-medium":n.borderRadius+`px`,"border-radius-large":n.borderRadiusLG+`px`};for(let[t,n]of Object.entries(e))document.body.style.setProperty(`--arc-antd-`+t,n);for(let[e,t]of Object.entries({primary:n.colorPrimary,success:n.colorSuccess,warning:n.colorWarning,danger:n.colorError}))document.body.style.setProperty(`--arcbase-avatar-`+e,t)},[n,t]),/* @__PURE__ */ q(K,{children:e})}function Sr({children:e}){let t=lt(),[n]=W(at),{locale:r,theme:i}=Wt(),a=H(()=>t?.preferences??{...n,colorMode:i??n.colorMode},[t?.preferences,n,i]),o=It(),[s,l]=W(()=>/* @__PURE__ */ new Date);V(()=>{l(/* @__PURE__ */ new Date)},[a.scheduledDarkMode,a.scheduledDarkStart,a.scheduledDarkEnd]),V(()=>{let e=()=>{document.visibilityState===`visible`&&l(/* @__PURE__ */ new Date)};return document.addEventListener(`visibilitychange`,e),window.addEventListener(`focus`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`focus`,e)}},[]),V(()=>{let e=st(a,s);if(e===null)return;let t=setTimeout(()=>l(/* @__PURE__ */ new Date),e+50);return()=>clearTimeout(t)},[a,s]);let u=a.colorMode===`dark`||a.colorMode===`system`&&o||ot(a,s),d=ln(a.themeColor,u),f={none:0,small:4,medium:6,large:12}[a.borderRadius],p=a.fontFamily===`mono`?`"Cascadia Code", Consolas, monospace`:a.fontFamily===`inter`?`Inter, "Microsoft YaHei", sans-serif`:a.fontFamily===`noto-sans-sc`?`"Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif`:Z.defaultSeed.fontFamily;return V(()=>{document.body.style.setProperty(`--arcbase-ui-scale`,String(a.uiScale/100)),document.body.style.setProperty(`zoom`,String(a.uiScale/100)),document.body.dataset.reduceMotion=String(a.reduceMotion),document.body.style.filter=a.grayscale?`grayscale(1)`:a.colorBlind?`saturate(.75) contrast(1.1)`:``},[a.uiScale,a.reduceMotion,a.grayscale,a.colorBlind]),/* @__PURE__ */ q(Cr.Provider,{value:u,children:/* @__PURE__ */ q(X,{locale:r===`en-US`?cn:sn,theme:{algorithm:u?Z.darkAlgorithm:Z.defaultAlgorithm,token:{colorPrimary:d.primary,borderRadius:f,fontFamily:p,...a.reduceMotion?{motionDurationFast:`0s`,motionDurationMid:`0s`,motionDurationSlow:`0s`}:{}}},children:/* @__PURE__ */ J(ut,{children:[/* @__PURE__ */ q(c,{}),/* @__PURE__ */ q(L.Provider,{value:{isDark:u,mode:a.colorMode,themeColor:a.themeColor,setThemeMode:e=>t?.setPreferences({colorMode:e}),setThemeColor:e=>t?.setPreferences({themeColor:e}),cycleTheme:()=>t?.setPreferences({colorMode:a.colorMode===`light`?`dark`:a.colorMode===`dark`?`system`:`light`}),resetTheme:()=>t?.resetPreference([`colorMode`,`themeColor`])},children:/* @__PURE__ */ q(xr,{dark:u,children:e})})]})})})}var Cr,wr;function Tr(){return(Tr=e((()=>{Ce(),Fe(),Cr=$e(!1),wr=()=>nt(Cr)})))()}function Er(){let{overrides:e,setPreferences:t}=G(),[n,r]=W(!1),[i,a]=W(``),o=tt(()=>{Oe(JSON.stringify({overrides:e},null,2),{success:`偏好设置已复制到剪贴板`,error:`复制失败,请重试`})},[e]),c=tt(()=>{un(new Blob([JSON.stringify({overrides:e},null,2)],{type:`application/json`}),`arcbase-preferences.json`),s.success(`偏好配置已导出为文件`)},[e]),[l,u]=W(!1),[d,f]=W(``);return{prefsVisible:n,setPrefsVisible:r,prefsSearch:i,setPrefsSearch:a,handleCopyPreferences:o,handleExportPreferences:c,importPrefsVisible:l,setImportPrefsVisible:u,importPrefsText:d,setImportPrefsText:f,handleImportPreferences:tt(()=>{let e;try{e=JSON.parse(d)}catch{s.error(`JSON 解析失败,请检查格式`);return}let n=ct(e&&typeof e==`object`&&`overrides`in e?e.overrides:null);if(!n){s.error(`未识别到有效的偏好设置字段`);return}let r=t(n);u(!1),f(``),r.applied>0?s.success(`已导入 ${r.applied} 项设置${r.skipped?`,跳过 ${r.skipped} 项系统管理设置`:``}`):s.info(`所选设置由系统管理,未导入任何修改`)},[d,t])}}function Dr(){return(Dr=e((()=>{Ce(),ke()})))()}function Or({homePaths:e,lock:t}){let{preferences:n,setPreferences:r,resetPreferences:i,hasEditablePreferences:a}=G(),o=Er(),s=wr(),[c,l]=W(null),u=()=>{o.setImportPrefsVisible(!1),o.setImportPrefsText(``)};return/* @__PURE__ */ J(K,{children:[/* @__PURE__ */ q(wt,{title:`偏好设置`,children:/* @__PURE__ */ q(Y,{type:`text`,"aria-label":`偏好设置`,icon:/* @__PURE__ */ q(Kn,{size:17}),onClick:()=>o.setPrefsVisible(!0)})}),/* @__PURE__ */ J(X,{theme:{algorithm:s?Z.darkAlgorithm:Z.defaultAlgorithm},children:[/* @__PURE__ */ J(mt,{title:/* @__PURE__ */ J(`div`,{className:`arc-preferences__title`,children:[`偏好设置`,/* @__PURE__ */ q(`span`,{children:`打造适合你的工作界面`})]}),open:o.prefsVisible,onClose:()=>o.setPrefsVisible(!1),size:`min(680px, 100vw)`,destroyOnHidden:!0,className:`arc-preferences`,styles:{body:{padding:0,display:`flex`,flexDirection:`column`,overflow:`hidden`}},footer:/* @__PURE__ */ J(`div`,{className:`arc-preferences__footer`,children:[/* @__PURE__ */ q(`p`,{children:`修改后自动保存;单项可通过「跟随系统」恢复默认。`}),/* @__PURE__ */ J(`div`,{className:`arc-preferences__actions`,children:[/* @__PURE__ */ q(Y,{icon:/* @__PURE__ */ q(y,{size:14}),onClick:o.handleCopyPreferences,children:`复制`}),/* @__PURE__ */ q(Y,{icon:/* @__PURE__ */ q(ge,{size:14}),disabled:!a,onClick:()=>o.setImportPrefsVisible(!0),children:`导入`}),/* @__PURE__ */ q(Y,{icon:/* @__PURE__ */ q(x,{size:14}),onClick:o.handleExportPreferences,children:`导出`}),/* @__PURE__ */ q(Y,{danger:!0,icon:/* @__PURE__ */ q(le,{size:14}),disabled:!a,onClick:()=>Te({title:`恢复系统默认`,content:`清除个人偏好覆盖,重新跟随系统当前默认值。确定恢复吗?`,okText:`重置`,cancelText:`取消`,onOk:i}),children:`恢复默认`})]})]}),children:[/* @__PURE__ */ q(`div`,{className:`arc-preferences__search`,children:/* @__PURE__ */ q(_t,{allowClear:!0,prefix:/* @__PURE__ */ q(F,{size:16}),placeholder:`搜索全部设置,如主题、表格、锁屏`,"aria-label":`搜索偏好设置`,value:o.prefsSearch,onChange:e=>o.setPrefsSearch(e.target.value)})}),/* @__PURE__ */ q(Ze,{fallback:/* @__PURE__ */ q(`div`,{className:`arc-preferences__loading`,children:/* @__PURE__ */ q(St,{tip:`正在加载设置`})}),children:/* @__PURE__ */ q(kr,{...o,preferences:n,setPreferences:r,navLayout:n.navLayout,mode:n.colorMode,handleThemeModeChange:e=>r({colorMode:e}),isDark:s,themeColor:n.themeColor,setThemeColor:e=>r({themeColor:e}),quickChatEnabled:!1,homePathOptions:e,autoLockMinutes:n.autoLockMinutes,hasPassword:t.hasPassword,clearLockPassword:t.clearLockPassword,openLockPasswordModal:l,onClearSearch:()=>o.setPrefsSearch(``)})})]}),/* @__PURE__ */ q(pr,{lock:t,mode:c,onClose:()=>l(null)}),/* @__PURE__ */ J(yt,{title:`导入偏好设置`,open:o.importPrefsVisible,onCancel:u,mask:{closable:n.modalClickMaskToClose},destroyOnHidden:!0,footer:/* @__PURE__ */ q(De,{onCancel:u,onOk:o.handleImportPreferences,okText:`导入`}),children:[/* @__PURE__ */ q(`p`,{children:`粘贴导出的配置。仅更新有效且允许个人调整的字段。`}),/* @__PURE__ */ q(_t.TextArea,{rows:10,"aria-label":`偏好配置 JSON`,value:o.importPrefsText,onChange:e=>o.setImportPrefsText(e.target.value),placeholder:`{"overrides":{}}`})]})]})]})}var kr;function Ar(){return(Ar=e((()=>{ee(),b(),ce(),ue(),qn(),he(),Tr(),Ee(),we(),mr(),Dr(),t(),kr=B(()=>n(()=>import(`./PreferencesSheetBody-CdA4Ig_g.js`),[],import.meta.url))})))()}var jr;function Mr(){return(Mr=e((()=>{jr=`route-back`})))()}function Nr({animation:e,children:t}){return!e||e===`none`?/* @__PURE__ */ q(Qe,{default:`none`,children:t}):/* @__PURE__ */ q(Qe,{default:`none`,enter:Pr[e],exit:Fr[e],children:t})}var Pr,Fr;function Ir(){return(Ir=e((()=>{Mr(),Pr={fade:`route-vt-fade-in`,"slide-up":`route-vt-slide-up-in`,"slide-left":{[jr]:`route-vt-slide-right-in`,default:`route-vt-slide-left-in`}},Fr={fade:`route-vt-fade-out`,"slide-up":`route-vt-slide-up-out`,"slide-left":{[jr]:`route-vt-slide-right-out`,default:`route-vt-slide-left-out`}}})))()}function Lr({keepAlivePaths:e,openPaths:t,refreshVersion:n,scrollContainerSelector:r=`.admin-content`,animation:i}){let a=Nt(),{pathname:o}=jt(),s=U(/* @__PURE__ */ new Map),c=U(null),l=s.current,u=e.has(o),d=n[o]??0;if(u){let e=l.get(o);!e||e.version!==d?(l.delete(o),l.set(o,{element:a,version:d,scrollTop:e?.scrollTop??0})):(e.element=a,l.delete(o),l.set(o,e))}for(let n of[...l.keys()])(!e.has(n)||n!==o&&!t.has(n))&&l.delete(n);for(;l.size>Rr;){let e=[...l.keys()].find(e=>e!==o);if(!e)break;l.delete(e)}return it(()=>{let e=document.querySelector(r),t=c.current;if(e&&t&&t!==o){let n=l.get(t);n&&(n.scrollTop=e.scrollTop)}e&&(e.scrollTop=l.get(o)?.scrollTop??0),c.current=o},[o,r,l]),/* @__PURE__ */ J(K,{children:[[...l.entries()].map(([e,t])=>/* @__PURE__ */ q(Xe,{mode:e===o?`visible`:`hidden`,children:/* @__PURE__ */ q(Nr,{animation:i,children:/* @__PURE__ */ q(`div`,{style:{height:`100%`},children:t.element})})},`${e}:${t.version}`)),!u&&/* @__PURE__ */ q(Nr,{animation:i,children:/* @__PURE__ */ q(`div`,{style:{height:`100%`},children:a})},`${o}:${d}`)]})}var Rr;function zr(){return(zr=e((()=>{Ir(),Rr=10})))()}function Br({menus:e,recentMenus:t,onClearRecents:n,onRemoveRecent:r}){let[i,a]=W(!1),[o,s]=W(!1),c=U(null),l=lt()?.preferences.enableShortcuts??!0;return V(()=>{let e=()=>{s(!0),a(!0)},t=e=>{(e.ctrlKey||e.metaKey)&&e.key===`k`&&l&&(e.preventDefault(),s(!0),a(e=>!e)),e.key===`Escape`&&a(!1)};return globalThis.addEventListener(`open-menu-palette`,e),globalThis.addEventListener(`keydown`,t),()=>{globalThis.removeEventListener(`open-menu-palette`,e),globalThis.removeEventListener(`keydown`,t)}},[l]),V(()=>{if(i)return;let e=setTimeout(()=>{let e=document.activeElement;e instanceof HTMLElement&&e.blur(),c.current?.blur()},0);return()=>clearTimeout(e)},[i]),/* @__PURE__ */ J(K,{children:[/* @__PURE__ */ J(`button`,{ref:c,type:`button`,className:`menu-search-trigger`,onClick:()=>{s(!0),a(!0)},title:`全局搜索 (Ctrl+K)`,"aria-label":`全局搜索`,"aria-expanded":i,children:[/* @__PURE__ */ q(`span`,{className:`menu-search-trigger__icon`,children:/* @__PURE__ */ q(F,{size:16,strokeWidth:1.8})}),/* @__PURE__ */ q(`span`,{className:`menu-search-trigger__label`,children:`全局搜索`}),/* @__PURE__ */ q(`kbd`,{className:`menu-search-trigger__kbd`,children:`Ctrl K`})]}),o&&/* @__PURE__ */ q(Ze,{fallback:null,children:/* @__PURE__ */ q(Vr,{menus:e,recentMenus:t,onClearRecents:n,onRemoveRecent:r,open:i,onClose:()=>{a(!1),setTimeout(()=>{let e=document.activeElement;e instanceof HTMLElement&&e.blur(),c.current?.blur()},0)}})})]})}var Vr;function Hr(){return(Hr=e((()=>{ue(),t(),Vr=B(()=>n(()=>import(`./MenuCommandPalette-BvW2kEU4.js`),[],import.meta.url))})))()}function Ur(e){return e.filter(e=>e.type!==`button`&&e.visible!==!1&&e.status===`enabled`)}function Wr(e){return e.path||Ur(e.children??[]).map(Wr).find(Boolean)}function Gr(e,t){for(let n of Ur(e)){if(n.path===t)return[n];let e=Gr(n.children??[],t);if(e.length)return[n,...e]}return[]}function Kr({menus:e,path:t,title:n,isFavorite:r,toggleFavorite:i}){let{preferences:a}=G(),o=Mt(),s=Gr(e,t),c=s.at(-1),l={title:/* @__PURE__ */ J(xt,{size:4,children:[a.breadcrumbIcon&&/* @__PURE__ */ q(On,{size:13}),`首页`]}),onClick:a.breadcrumbClickable?()=>o(`/`):void 0},u=s.map((e,t)=>({title:/* @__PURE__ */ J(xt,{size:4,children:[a.breadcrumbIcon&&e.icon&&/* @__PURE__ */ q(hr,{name:e.icon}),` `,e.title]}),onClick:t<s.length-1&&a.breadcrumbClickable&&Wr(e)?()=>o(Wr(e)):void 0,...a.breadcrumbSubMenu&&t<s.length-1?{menu:{items:Ur(e.children??[]).map(e=>({key:String(e.id),label:e.title,onClick:()=>{let t=Wr(e);t&&o(t)}}))}}:{}}));return/* @__PURE__ */ J(xt,{size:6,style:{marginBottom:12},children:[/* @__PURE__ */ q(pt,{items:[...a.breadcrumbShowHome&&t!==`/`?[l]:[],...u.length?u:[{title:n}]]}),a.showFavorites&&c&&/* @__PURE__ */ q(Y,{size:`small`,type:`text`,"aria-label":r(c.id)?`取消收藏此页`:`收藏此页`,onClick:()=>i(c.id),icon:/* @__PURE__ */ q(Yn,{size:14,fill:r(c.id)?`currentColor`:`none`,style:{color:r(c.id)?`var(--arc-antd-color-warning)`:void 0}})})]})}function qr(){return(qr=e((()=>{kn(),Xn(),gr()})))()}function Jr(){let{pathname:e}=jt(),t=U(e),[n,r]=W(0);return V(()=>{if(t.current===e)return;t.current=e,r(20);let n=setInterval(()=>r(e=>Math.min(90,e+15)),100),i=setTimeout(()=>{clearInterval(n),r(100)},400),a=setTimeout(()=>r(0),700);return()=>{clearInterval(n),clearTimeout(i),clearTimeout(a)}},[e]),n>0?/* @__PURE__ */ q(`div`,{"aria-label":`页面切换进度`,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,style:{position:`fixed`,inset:`0 auto auto 0`,height:3,width:n+`%`,background:`var(--arc-antd-color-primary)`,zIndex:2e3,transition:`width .2s, opacity .3s`,opacity:n===100?0:1}}):null}function Yr(){return(Yr=e((()=>{})))()}function Xr({menus:e,current:t,favorites:n}){let r=Mt(),i=(e,t)=>{let r=[...n.favorites],i=r.indexOf(e),a=i+t;i<0||a<0||a>=r.length||([r[i],r[a]]=[r[a],r[i]],n.reorder(r))},a=n.favorites.flatMap((t,a)=>{let o=e.find(e=>e.id===t);return o?[{key:String(t),label:o.title,children:[{key:t+`-open`,label:`打开页面`,onClick:()=>o.path&&r(o.path)},{key:t+`-up`,label:`上移`,disabled:a===0,onClick:()=>i(t,-1)},{key:t+`-down`,label:`下移`,disabled:a===n.favorites.length-1,onClick:()=>i(t,1)},{key:t+`-remove`,label:`取消收藏`,onClick:()=>n.toggle(t)}]}]:[]});return/* @__PURE__ */ q(ht,{menu:{items:[...a,...t?[{key:`current`,label:n.isFavorite(t.id)?`取消收藏此页`:`收藏此页`,onClick:()=>n.toggle(t.id)}]:[]]},children:/* @__PURE__ */ q(Y,{"aria-label":`收藏菜单`,icon:/* @__PURE__ */ q(Yn,{size:16})})})}function Zr(){return(Zr=e((()=>{Xn()})))()}function Qr(e){if(!e||typeof e!=`object`)return null;let{mfaChallenge:t,sessionConflict:n,redirectTo:r}=e,i=!!t&&typeof t==`object`&&t.mfaRequired===!0&&typeof t.challengeId==`string`,a=!!n&&typeof n==`object`&&n.sessionConflict===!0&&typeof n.ticket==`string`;return!i&&!a?null:{mfaChallenge:i?t:void 0,sessionConflict:a?n:void 0,redirectTo:r??null}}function $r(e){return e===`vertical`?{x1:`0`,y1:`0`,x2:`0`,y2:`1`}:{x1:`0`,y1:`0`,x2:`1`,y2:`0`}}function ei([e,t]){return`color-mix(in srgb, var(--arc-antd-color-primary) ${e}%, ${t})`}var ti,ni,ri;function ii(){return(ii=e((()=>{ti=`0 0 64 64`,ni=2.5,ri=[{key:`top`,d:`M8 46 L8 29 C8 15 18 6 32 6 L32 18 C25 18 20 23 20 30 L20 46Z`,axis:`horizontal`,stops:[[52,`#fff`],[70,`#fff`]]},{key:`band`,d:`M32 6 C46 6 56 15 56 29 L56 46 L44 46 L44 30 C44 23 39 18 32 18Z`,axis:`vertical`,stops:[[92,`#000`],[88,`#fff`]]},{key:`base`,d:`M8 46 L56 46 L56 57 L8 57Z M25 32 L39 32 L39 39 L25 39Z`,axis:`horizontal`,stops:[[80,`#000`],[66,`#000`]]}]})))()}function ai({size:e=28,className:t}){let n=rt().replaceAll(/[^a-zA-Z0-9]/g,``),r=Wt().brand?.logo;if(r!==void 0)return/* @__PURE__ */ q(`span`,{className:[`app-logo`,t].filter(Boolean).join(` `),style:{width:e,height:e,display:`inline-flex`,alignItems:`center`,justifyContent:`center`},children:r});let i=e=>`app-logo-${e}-${n}`,a=[`app-logo`,t].filter(Boolean).join(` `);return/* @__PURE__ */ J(`svg`,{className:a,width:e,height:e,viewBox:ti,fill:`none`,"aria-hidden":`true`,focusable:`false`,children:[/* @__PURE__ */ q(`defs`,{children:ri.map(e=>/* @__PURE__ */ J(`linearGradient`,{id:i(e.key),...$r(e.axis),children:[/* @__PURE__ */ q(`stop`,{offset:`0`,style:{stopColor:ei(e.stops[0])}}),/* @__PURE__ */ q(`stop`,{offset:`1`,style:{stopColor:ei(e.stops[1])}})]},e.key))}),ri.map(e=>/* @__PURE__ */ q(`path`,{d:e.d,fill:`url(#${i(e.key)})`,stroke:`url(#${i(e.key)})`,strokeWidth:ni,strokeLinejoin:`round`},e.key))]})}function oi(){return(oi=e((()=>{ii()})))()}function si({provider:e,size:t=16}){let{icon:n,scale:r=1}=ci[e];return/* @__PURE__ */ q(ze,{icon:Be[n],size:Math.round(t*r)})}var ci;function li(){return(li=e((()=>{Le(),Re(),ci={github:{icon:`simple-icons:github`},dingtalk:{icon:`ant-design:dingtalk-outlined`,scale:1.1},wechat_work:{icon:`ant-design:wechat-work-filled`,scale:1.1},feishu:{icon:`icon-park-outline:lark`}}})))()}function ui(e){return`mfaRequired`in e&&e.mfaRequired}function di(e){return`sessionConflict`in e&&e.sessionConflict}function fi(e){return`captchaRequired`in e&&e.captchaRequired}function pi({onLogin:e,onVerifyMfa:t,onRegister:n}){let r=Gt(),{brand:i}=Wt(),o=Mt(),c=jt(),l=new URLSearchParams(c.search),u=Qr(c.state),d=u?.redirectTo||l.get(`redirect`)||`/`,f=l.get(`username`)??``,{status:m,parkedAccounts:h,canAddAccount:g,switchAccount:_,resolveSessionConflict:ee}=Ht(),[y,b]=W(null),[x,S]=W(!1),[C,w]=W(`login`),[T,E]=W(0),D=e=>{e===`/`&&er(),o(e,{replace:!0})};V(()=>{if(T<=0)return;let e=setInterval(()=>{E(e=>e<=1?0:e-1)},1e3);return()=>clearInterval(e)},[T]);let k=_n(),A=yn(k.data?.passwordLogin===!0),[ne,re]=W(!1),[ie,ae]=W(!1),[M,N]=W(u?.mfaChallenge??null),[oe,se]=W(``),[P,ce]=W(),[le,ue]=W(!0),[F,de]=W(u?.sessionConflict??null),[pe,he]=W(!1),[ge,_e]=W(null),[ve,ye]=W(!1),[Ce,we]=W(!1),Te=A.data?.enabled??!1,Ee=A.data?.captchaId??``,De=A.data?.svg??``,Oe=()=>{A.refetch()},[ke,Ae]=W(null),je=Te||ke!==null,Me=ke?.captchaId??Ee,Ne=ke?.svg??De,Pe=H(()=>({username:[{required:!0,message:`请输入用户名/手机号`}],password:[{required:!0,message:`请输入密码`}],captchaCode:je?[{required:!0,message:`请输入验证码`}]:[]}),[je]),Fe=H(()=>({tenantCode:``,username:f,password:``,captchaCode:``}),[f]),L=Ge(Fe,Pe),R=Ge(bi,yi),[Le,Re]=W(null),ze=U(!1),Be=L.setValue;V(()=>{if(ze.current)return;ze.current=!0;let e=mn();e&&(e.reason&&e.reason!==`rotated`&&e.reason!==`logout`?(Re(e),e.username&&!f&&Be(`username`,e.username)):s.warning({content:e.message,duration:6}))},[Be,f]);let[He]=Ve(L.values.tenantCode,{wait:250}),Ue=gn(He),Ke=bn(He),qe=vn(),Je=Ke.data?.auth.allowRegistration??!1,Ye=Ke.data?.auth.forgotPasswordEnabled??!1,Xe=Ue.data?.providers??[],Qe=qe.data??[],$e=async t=>{if(!(T>0)){S(!0);try{let n=await e(t.username,t.password,Me,je?t.captchaCode:void 0,void 0,void 0);if(n.code===0){if(B(n.data))return;D(d);return}n.code===429&&n.retryAfterSeconds&&E(n.retryAfterSeconds),L.setFormError(n.message),Te&&Oe()}finally{S(!1)}}},B=e=>`csrfToken`in e?!1:ui(e)?(N(e),!0):di(e)?(de(e),!0):fi(e)?(Ae(e),L.setFormError(e.message),!0):!1,et=async()=>{if(F&&!pe){he(!0);try{let e=await ee(F.ticket,void 0);if(e.code===0){if(de(null),B(e.data))return;D(d);return}L.setFormError(e.message),de(null)}finally{he(!1)}}},tt=e=>{e.preventDefault();let t=L.validate();t&&$e(t)},nt=async()=>{if(!(!M||T>0)){if(!oe.trim())ce(`请输入动态验证码`);else{S(!0);try{let e=await t(M.challengeId,oe,le,void 0);if(e.code===0){D(d);return}ce(e.message)}finally{S(!1)}}}},rt=e=>{e.preventDefault(),nt()},it=()=>{N(null),se(``),ce(void 0),Te&&Oe()},at=async e=>{if(!(T>0)){S(!0);try{let t=await n(e,void 0);if(t.code===0){D(d);return}t.code===429&&t.retryAfterSeconds&&E(t.retryAfterSeconds),R.setFormError(t.message)}finally{S(!1)}}},ot=e=>{e.preventDefault();let t=R.validate();t&&at(t)},st=async e=>{if(y===null){b(e);try{let t=await _(e);if(t.ok)return;s.warning(t.message||`该账号登录状态已失效,请重新登录`)}finally{b(null)}}},ct=()=>{ae(!0),re(!0)},lt=()=>k.data?k.data?.externalLogin?/* @__PURE__ */ q(zt,{onSuccess:()=>D(d.startsWith(`/`)&&!d.startsWith(`//`)?d:`/`)}):/* @__PURE__ */ J(`form`,{className:`login-form`,onSubmit:tt,noValidate:!0,children:[!1,/* @__PURE__ */ q(z,{...L.field(`username`),id:`login-username`,placeholder:`请输入用户名/手机号`,prefix:/* @__PURE__ */ q(O,{}),size:`large`,autoComplete:`username`}),/* @__PURE__ */ q(z,{...L.field(`password`),id:`login-password`,mode:`password`,placeholder:`请输入密码`,prefix:/* @__PURE__ */ q(te,{}),size:`large`,autoComplete:`current-password`}),je&&/* @__PURE__ */ J(`div`,{style:{display:`flex`,gap:8,alignItems:`flex-start`},children:[/* @__PURE__ */ q(`div`,{style:{flex:1},children:/* @__PURE__ */ q(z,{...L.field(`captchaCode`),id:`login-captcha`,placeholder:`请输入验证码`,size:`large`,autoComplete:`one-time-code`})}),Te?/* @__PURE__ */ q(`button`,{type:`button`,style:{...Ci,cursor:`pointer`},title:`点击刷新验证码`,onClick:Oe,children:/* @__PURE__ */ q(`img`,{src:Ne,alt:`登录验证码`,width:160,height:48})}):/* @__PURE__ */ q(`img`,{src:Ne,alt:`登录验证码`,width:180,height:48})]}),/* @__PURE__ */ q(We,{message:L.formError}),/* @__PURE__ */ q(I,{htmlType:`submit`,type:`primary`,theme:`solid`,loading:x,disabled:T>0||!1,block:!0,size:`large`,style:Si,children:T>0?`${T}s 后可重试`:`登录`}),Ye&&/* @__PURE__ */ q(`div`,{style:{textAlign:`right`,marginTop:8},children:/* @__PURE__ */ q(I,{type:`tertiary`,theme:`borderless`,size:`small`,onClick:ct,children:`忘记密码?`})})]}):/* @__PURE__ */ J(`div`,{children:[/* @__PURE__ */ q(Se,{}),k.isError&&/* @__PURE__ */ q(I,{onClick:()=>{k.refetch()},children:`重新读取登录方式`})]}),G=()=>/* @__PURE__ */ J(`form`,{className:`login-form`,onSubmit:ot,noValidate:!0,children:[/* @__PURE__ */ q(z,{...R.field(`username`),id:`register-username`,placeholder:`用户名(3~32 个字符)`,prefix:/* @__PURE__ */ q(O,{}),size:`large`,autoComplete:`username`}),/* @__PURE__ */ q(z,{...R.field(`nickname`),id:`register-nickname`,placeholder:`昵称`,prefix:/* @__PURE__ */ q(Sn,{}),size:`large`,autoComplete:`nickname`}),/* @__PURE__ */ q(z,{...R.field(`email`),id:`register-email`,type:`email`,placeholder:`邮箱`,prefix:/* @__PURE__ */ q(j,{}),size:`large`,autoComplete:`email`}),/* @__PURE__ */ q(z,{...R.field(`password`),id:`register-password`,mode:`password`,placeholder:`密码(至少6个字符)`,prefix:/* @__PURE__ */ q(te,{}),size:`large`,autoComplete:`new-password`}),/* @__PURE__ */ q(We,{message:R.formError}),/* @__PURE__ */ q(I,{htmlType:`submit`,type:`primary`,theme:`solid`,loading:x,disabled:T>0,block:!0,size:`large`,style:Si,children:T>0?`${T}s 后可重试`:`注册`})]}),K=()=>/* @__PURE__ */ J(`form`,{className:`login-form`,onSubmit:rt,noValidate:!0,children:[/* @__PURE__ */ J(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,marginBottom:16},children:[/* @__PURE__ */ q(`div`,{style:{width:36,height:36,borderRadius:`var(--arc-antd-border-radius-medium)`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`var(--arc-antd-color-primary)`,background:`var(--arc-antd-color-primary-light-default)`},children:/* @__PURE__ */ q(me,{size:18})}),/* @__PURE__ */ J(`div`,{children:[/* @__PURE__ */ q(vi,{strong:!0,children:`需要二次验证`}),/* @__PURE__ */ q(vi,{type:`tertiary`,size:`small`,style:{display:`block`},children:M?.reason||`请输入身份验证器中的 6 位动态码`})]})]}),/* @__PURE__ */ q(`div`,{className:`login-field`,children:/* @__PURE__ */ J(`div`,{className:`login-field-main`,children:[/* @__PURE__ */ q(xe,{count:6,size:`large`,value:oe,autoFocus:!0,onChange:e=>{se(e),P&&ce(void 0)}}),P?/* @__PURE__ */ q(`div`,{className:`login-field-error`,role:`alert`,children:P}):null]})}),/* @__PURE__ */ q(`div`,{className:`login-field`,children:/* @__PURE__ */ q(a,{checked:le,onChange:e=>ue(!!e.target.checked),children:`信任此设备,减少二次验证`})}),/* @__PURE__ */ q(I,{htmlType:`submit`,type:`primary`,theme:`solid`,loading:x,block:!0,size:`large`,style:Si,children:`验证并登录`}),/* @__PURE__ */ q(I,{type:`tertiary`,theme:`borderless`,block:!0,style:{marginTop:8},onClick:it,children:`返回账号密码登录`})]}),ut=`请输入您的账号信息以登录工作台`,dt=async e=>{try{let{authUrl:t,state:n}=await Pt(pn.authUrl,{params:{provider:e}},{silent:!0});hn({state:n,provider:e,intent:`login`,redirectTo:d}),globalThis.location.href=t}catch(e){s.warning(e instanceof Rt&&e.message||`该登录方式暂不可用,请联系管理员配置`)}},ft=async e=>{if(e.type===`ldap`||e.type===`ad`)ye(!0),_e(e);else try{let{authUrl:t}=await Pt(fn.authUrl,{params:{id:e.id},query:{redirect:d}},{silent:!0});globalThis.location.href=t}catch(e){s.warning(e instanceof Rt&&e.message||`该企业登录方式暂不可用,请联系管理员配置`)}},pt=async e=>{if(!ge)return null;we(!0);try{let{loginResult:t,redirectTo:n}=await Pt(fn.ldapLogin,{body:{providerId:ge.id,username:e.username,password:e.password,redirectTo:d}},{silent:!0});return ui(t)||di(t)?(B(t),_e(null),null):(localStorage.setItem(Et,t.token.accessToken),localStorage.setItem(Tt,t.token.refreshToken),_e(null),D(n||d),null)}catch(e){return e instanceof Error?e.message:`登录失败`}finally{we(!1)}},Y=`欢迎回来`;M?(Y=`安全验证`,ut=`请完成多因素认证以进入工作台`):C!==`login`&&(Y=`创建账号`,ut=`注册新账号加入我们`);let X=xi[Le?.reason??``]??`会话已被强制下线`;return/* @__PURE__ */ J(`div`,{className:`login-page`,children:[/* @__PURE__ */ J(`div`,{className:`login-bg`,"aria-hidden":`true`,style:i?.loginImage?{backgroundImage:`url(${JSON.stringify(i.loginImage)})`,backgroundSize:`cover`,backgroundPosition:`center`}:void 0,children:[/* @__PURE__ */ q(`div`,{className:`login-wash login-wash-a`}),/* @__PURE__ */ q(`div`,{className:`login-wash login-wash-b`})]}),/* @__PURE__ */ J(`header`,{className:`login-topbar`,children:[/* @__PURE__ */ q(ai,{size:34}),/* @__PURE__ */ q(`span`,{className:`login-brand-name`,children:r})]}),/* @__PURE__ */ J(`main`,{className:`login-main`,children:[/* @__PURE__ */ J(`section`,{className:`login-hero`,children:[/* @__PURE__ */ q(`div`,{className:`login-eyebrow`,children:`企业级后台管理`}),/* @__PURE__ */ J(`h1`,{className:`login-headline`,children:[`高效管理,`,/* @__PURE__ */ q(`br`,{}),/* @__PURE__ */ q(`span`,{className:`login-headline-highlight`,children:`赋能业务增长`})]}),/* @__PURE__ */ q(`p`,{className:`login-desc`,children:`企业级后台管理系统,为团队提供高效、稳定、安全的一站式管理解决方案。`}),/* @__PURE__ */ q(`div`,{className:`login-feature-list`,children:[`精细化权限管理`,`安全审计机制`,`稳定可靠运行`,`多租户支持`].map(e=>/* @__PURE__ */ J(`div`,{className:`login-feature-item`,children:[/* @__PURE__ */ q(`span`,{className:`login-feature-check`,children:/* @__PURE__ */ q(p,{size:12,strokeWidth:3})}),e]},e))})]}),/* @__PURE__ */ J(`div`,{className:`login-card${k.data?.externalLogin?` login-card-external`:``}`,children:[/* @__PURE__ */ J(`div`,{className:`login-form-header`,children:[/* @__PURE__ */ q(_i,{heading:3,style:{marginBottom:8,fontWeight:600},children:Y}),/* @__PURE__ */ q(vi,{type:`tertiary`,style:{fontSize:14,display:`block`,marginBottom:24},children:ut})]}),!M&&h.length>0&&/* @__PURE__ */ J(`div`,{className:`login-accounts`,children:[h.map(e=>/* @__PURE__ */ J(`button`,{type:`button`,className:`login-account-card`,disabled:y!==null,onClick:()=>void st(e.userId),children:[/* @__PURE__ */ q(Ie,{name:e.nickname||e.username,avatar:e.avatar,size:36}),/* @__PURE__ */ J(`span`,{className:`login-account-meta`,children:[/* @__PURE__ */ q(`span`,{className:`login-account-name`,children:e.nickname||e.username}),/* @__PURE__ */ J(`span`,{className:`login-account-sub`,children:[e.username,e.tenantName?` · ${e.tenantName}`:``]})]}),y===e.userId?/* @__PURE__ */ q(Se,{size:`small`}):/* @__PURE__ */ q(v,{size:16,className:`login-account-arrow`})]},e.userId)),/* @__PURE__ */ q(be,{align:`center`,children:/* @__PURE__ */ q(`span`,{className:`login-oauth-label`,children:`或使用其他账号登录`})})]}),Le&&!M&&/* @__PURE__ */ J(`div`,{className:`login-alert${Le.reason===`concurrent-login`?` login-alert-danger`:``}`,role:`alert`,children:[/* @__PURE__ */ q(fe,{size:18,className:`login-alert-icon`,"aria-hidden":!0}),/* @__PURE__ */ J(`div`,{className:`login-alert-body`,children:[/* @__PURE__ */ q(`div`,{className:`login-alert-title`,children:X}),/* @__PURE__ */ q(`div`,{className:`login-alert-text`,children:Le.message}),Le.reason===`concurrent-login`&&Ye&&/* @__PURE__ */ q(`button`,{type:`button`,className:`login-alert-link`,onClick:ct,children:`不是我本人操作,找回密码`})]}),/* @__PURE__ */ q(`button`,{type:`button`,className:`login-alert-close`,"aria-label":`关闭提示`,onClick:()=>Re(null),children:`×`})]}),M?/* @__PURE__ */ q(`div`,{style:{marginBottom:20},children:K()}):Je?/* @__PURE__ */ J(`div`,{style:{marginBottom:20},children:[/* @__PURE__ */ q(`div`,{className:`login-tabs`,role:`tablist`,"aria-label":`登录或注册`,children:[[`login`,`登录`],[`register`,`注册`]].map(([e,t])=>/* @__PURE__ */ q(`button`,{type:`button`,role:`tab`,id:`login-tab-${e}`,"aria-selected":C===e,"aria-controls":`login-panel-${e}`,className:`login-tab${C===e?` login-tab-active`:``}`,onClick:()=>w(e),children:t},e))}),/* @__PURE__ */ q(`div`,{id:`login-panel-${C}`,role:`tabpanel`,"aria-labelledby":`login-tab-${C}`,children:C===`login`?lt():G()})]}):/* @__PURE__ */ q(`div`,{style:{marginBottom:20},children:lt()}),!1,!M&&Xe.length>0&&/* @__PURE__ */ J(`div`,{className:`login-enterprise`,children:[/* @__PURE__ */ q(be,{}),/* @__PURE__ */ q(`div`,{className:`login-enterprise-list`,children:Xe.map(e=>/* @__PURE__ */ q(I,{type:`tertiary`,icon:/* @__PURE__ */ q(Tn,{size:16}),block:!0,onClick:()=>ft(e),children:e.name},e.id))})]}),!M&&Qe.length>0&&/* @__PURE__ */ J(`div`,{className:`login-oauth`,children:[/* @__PURE__ */ q(be,{align:`center`,children:/* @__PURE__ */ q(`span`,{className:`login-oauth-label`,children:`其他方式登录`})}),/* @__PURE__ */ q(`div`,{className:`login-oauth-list`,children:Qe.map(e=>/* @__PURE__ */ q(`button`,{type:`button`,className:`oauth-btn`,title:`${dn[e]} 登录`,onClick:()=>dt(e),children:/* @__PURE__ */ q(si,{provider:e,size:20})},e))})]}),!1]})]}),/* @__PURE__ */ J(`footer`,{className:`login-footer`,children:[`© `,Dt().year(),` `,i?.copyrightName??r,` · 高效 · 稳定 · 安全`,i?.icpNumber&&/* @__PURE__ */ J(`span`,{children:[` · `,i.icpUrl?/* @__PURE__ */ q(`a`,{href:i.icpUrl,target:`_blank`,rel:`noopener noreferrer`,children:i.icpNumber}):i.icpNumber]})]}),ie&&/* @__PURE__ */ q(Ze,{fallback:null,children:/* @__PURE__ */ q(mi,{visible:ne,onClose:()=>re(!1)})}),ve&&/* @__PURE__ */ q(Ze,{fallback:null,children:/* @__PURE__ */ q(hi,{provider:ge,loading:Ce,onCancel:()=>_e(null),onSubmit:pt})}),F&&/* @__PURE__ */ q(Ze,{fallback:null,children:/* @__PURE__ */ q(gi,{conflict:F,loading:pe,onConfirm:()=>void et(),onCancel:()=>de(null)})})]})}var mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci;function wi(){return(wi=e((()=>{Ce(),D(),E(),ie(),Cn(),pe(),de(),En(),d(),_(),ir(),R(),oi(),li(),He(),Ue(),Ke(),t(),mi=B(()=>n(()=>import(`./ForgotPasswordModal-DTlunJpM.js`),[],import.meta.url)),hi=B(()=>n(()=>import(`./DirectoryLoginModal-rRXvoqV7.js`),[],import.meta.url)),gi=B(()=>n(()=>import(`./SessionConflictModal-DgFNCU3j.js`),[],import.meta.url)),{Title:_i,Text:vi}=o,yi={username:[{required:!0,message:`请输入用户名`}],nickname:[{required:!0,message:`请输入昵称`}],email:[{required:!0,message:`请输入邮箱`}],password:[{required:!0,message:`请输入密码`}]},bi={username:``,nickname:``,email:``,password:``},xi={"concurrent-login":`已在其他设备登录`,"password-changed":`密码已修改`},Si={marginTop:8,borderRadius:`var(--arc-antd-border-radius-medium)`,height:42},Ci={flexShrink:0,borderRadius:`var(--arc-antd-border-radius-small)`,overflow:`hidden`,border:`1px solid var(--arc-antd-color-border)`,padding:0,background:`transparent`,lineHeight:0}})))()}function Ti({children:e,actions:t,mobile:n,collapsed:r,showTrigger:i,onToggle:a}){return/* @__PURE__ */ J(`header`,{className:`arc-layout-header`,children:[/* @__PURE__ */ J(`div`,{className:`arc-layout-header__navigation`,children:[i&&/* @__PURE__ */ q(Y,{type:`text`,className:`arc-layout-icon-button`,"aria-label":n?`打开导航菜单`:r?`展开侧边栏`:`收起侧边栏`,icon:n?/* @__PURE__ */ q(m,{size:19}):q(r?Bn:Ln,{size:18}),onClick:a}),/* @__PURE__ */ q(`div`,{className:`arc-layout-header__title`,children:e})]}),/* @__PURE__ */ q(`div`,{className:`arc-layout-header__actions`,children:t})]})}function Ei(){return(Ei=e((()=>{f(),Rn(),Vn()})))()}function Di({width:e,collapsed:t,logo:n,children:r,title:i,rail:a,onToggle:o,onHover:s}){return/* @__PURE__ */ J(`aside`,{className:`arc-layout-sidebar`,"aria-label":`主导航`,style:{width:e},onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:[a&&/* @__PURE__ */ J(`div`,{className:`arc-layout-rail`+(a.showLabels?` arc-layout-rail--labels`:``),children:[/* @__PURE__ */ q(`div`,{className:`arc-layout-logo arc-layout-logo--compact`,children:n}),/* @__PURE__ */ q(Je,{className:`arc-layout-rail__menu`,"aria-label":`导航分组`,children:a.items.map(e=>/* @__PURE__ */ q(wt,{title:e.label,placement:`right`,children:/* @__PURE__ */ J(`button`,{type:`button`,className:`arc-layout-rail__item`+(a.activeKey===e.key?` arc-layout-rail__item--active`:``),"aria-label":e.label,"aria-current":a.activeKey===e.key?`page`:void 0,onClick:()=>a.onSelect(e.key),children:[e.icon??/* @__PURE__ */ q(T,{size:20}),/* @__PURE__ */ q(`span`,{children:e.label})]})},e.key))})]}),/* @__PURE__ */ J(`div`,{className:`arc-layout-sidebar__column`,children:[/* @__PURE__ */ J(`div`,{className:`arc-layout-logo`+(t?` arc-layout-logo--compact`:``),children:[!a&&n,!t&&/* @__PURE__ */ q(`strong`,{children:i})]}),/* @__PURE__ */ q(Je,{className:`arc-layout-sidebar__scroll`,"aria-label":`导航菜单`,children:r}),/* @__PURE__ */ q(Y,{type:`text`,className:`arc-layout-sidebar__trigger`,"aria-label":t?`展开侧边栏`:`收起侧边栏`,icon:q(t?Bn:Ln,{size:17}),onClick:o})]})]})}function Oi(){return(Oi=e((()=>{w(),Rn(),Vn(),qe()})))()}function ki(e,t){for(let n of e){if(n.path===t)return[n];let e=ki(n.children??[],t);if(e.length)return[n,...e]}return[]}function Ai(e){return e.path||e.children?.map(Ai).find(Boolean)}function ji(e,t=[]){return Object.fromEntries(e.flatMap(e=>[[e.key,t],...Object.entries(ji(e.children??[],[...t,e.key]))]))}function Mi(e,t,n){let r=e.find(e=>!t.includes(e));if(r)return[...n[r]??[],r];let i=t.find(t=>!e.includes(t));return i?n[i]??[]:e}function Ni({items:e,path:t,collapsed:n=!1,accordion:r=!1,dark:i=!1,scrollIntoView:a,mode:o=`inline`,onSelect:s}){let{token:c}=Z.useToken(),l=`color-mix(in srgb, ${c.colorPrimaryBg} 50%, ${c.colorPrimaryBgHover})`,[u,d]=W([]),f=U(null),p=H(()=>ji(e),[e]),m=H(()=>ki(e,t).map(e=>e.key),[e,t]),h=H(()=>{let t=e=>e.map(({children:e,...n})=>e?.length?{...n,children:t(e)}:n);return t(e)},[e]),g=o===`inline`;return V(()=>{d(e=>n?[]:r?m.slice(0,-1):[.../* @__PURE__ */ new Set([...e.filter(e=>e in p),...m.slice(0,-1)])])},[m,n,r,p]),V(()=>{if(!a||!g||n)return;let e=requestAnimationFrame(()=>f.current?.querySelector(`.ant-menu-item-selected`)?.scrollIntoView({block:`nearest`}));return()=>cancelAnimationFrame(e)},[t,u,a,g,n]),/* @__PURE__ */ q(`div`,{ref:f,className:`arc-layout-menu`,style:{"--arc-layout-menu-selected-bg":i?c.colorPrimary:l},children:/* @__PURE__ */ q(X,{theme:{components:{Menu:{itemSelectedBg:l}}},children:/* @__PURE__ */ q(vt,{className:`arc-layout-menu__items`,items:h,mode:o,theme:i?`dark`:`light`,inlineIndent:16,selectedKeys:m,...g?{inlineCollapsed:n,openKeys:u,onOpenChange:e=>d(r||n?Mi(e,u,p):e)}:{},onClick:({key:e})=>s(e)})})})}function Pi(){return(Pi=e((()=>{})))()}function Fi({preferences:e,dark:t,mobile:n,collapsed:r,maximized:i,title:a,brand:o,logo:s,menus:c,path:l,breadcrumb:u,actions:d,tabbar:f,children:p,onCollapse:m,onNavigate:h,onRestore:g}){let{token:_}=Z.useToken(),v=H(()=>Z.getDesignToken({algorithm:Z.darkAlgorithm,token:{colorPrimary:_.colorPrimary}}),[_.colorPrimary]),[ee,y]=W(!1),b=n?`vertical`:e.navLayout,x=b===`mixed`||b===`double`,S=H(()=>ki(c,l)[0]??c[0],[c,l]),C=x&&S?S.children?.length?S.children:[S]:c,w=b!==`horizontal`,T=e.sidebarHoverTrigger&&r&&ee&&!n,E=r&&!T,D=b===`double`?e.doubleRailStyle===`icon-text`?80:56:0,te=D+(E?56:e.sidebarWidth),O=n||i||!w?0:D+(r?56:e.sidebarWidth),k=t||e.sidebarDarkMode,A=t||e.headerDarkMode,ne=(e,t)=>t?e===`bg-0`?v.colorBgLayout:v.colorBgContainer:_.colorBgContainer,re={fontFamily:_.fontFamily,fontSize:_.fontSize,lineHeight:_.lineHeight,"--arc-layout-sidebar-width":`${O}px`,"--arc-layout-sidebar-bg":ne(e.darkSidebarTone,k),"--arc-layout-header-bg":ne(e.darkHeaderTone,A),"--arc-layout-sidebar-text":k?v.colorText:_.colorText,"--arc-layout-sidebar-border":k?v.colorBorderSecondary:_.colorBorderSecondary,"--arc-layout-header-text":A?v.colorText:_.colorText,"--arc-layout-header-border":A?v.colorBorderSecondary:_.colorBorderSecondary,"--arc-layout-tab-active-bg":A?v.colorPrimaryBg:_.colorPrimaryBg,"--arc-layout-tabbar-height":f?e.compactTabs?`35px`:`43px`:`0px`,"--arc-layout-content-bg":t?ne(e.darkContentTone,!0):_.colorBgLayout,"--arc-layout-rail-width":`${D}px`},ie=e=>{let t=n=>{for(let r of n){if(r.key===e)return r;let n=t(r.children??[]);if(n)return n}},r=t(c),i=r&&Ai(r);i&&(n&&m(!0),h(i))},j=(t,n=E,r=`inline`)=>/* @__PURE__ */ q(Ni,{items:t,path:l,collapsed:n,mode:r,accordion:e.sidebarAccordion,dark:r===`horizontal`?A:k,scrollIntoView:e.scrollMenuIntoView,onSelect:ie}),ae=x?c.map(e=>({...e,children:void 0})):c,M={algorithm:k?Z.darkAlgorithm:Z.defaultAlgorithm};return/* @__PURE__ */ J(`section`,{className:`arc-admin-layout arc-admin-layout--`+b+(i?` arc-admin-layout--maximized`:``)+(e.sidebarToggleIconPosition===`left`?` arc-admin-layout--arrow-left`:``)+(e.sidebarStickyScroll?` arc-admin-layout--sticky-menu`:``),style:re,"data-layout-source":`react-antd-admin`,children:[!n&&!i&&w&&/* @__PURE__ */ q(X,{theme:M,children:/* @__PURE__ */ q(Di,{width:te,collapsed:E,title:o,logo:s,onToggle:()=>m(!r),onHover:y,rail:b===`double`?{items:c,activeKey:S?.key??``,showLabels:e.doubleRailStyle===`icon-text`,onSelect:ie}:void 0,children:j(C)})}),/* @__PURE__ */ J(`div`,{className:`arc-layout-main`,children:[!i&&/* @__PURE__ */ q(X,{theme:{algorithm:A?Z.darkAlgorithm:Z.defaultAlgorithm},children:/* @__PURE__ */ J(Ti,{mobile:n,collapsed:r,showTrigger:n||b===`vertical`||b===`double`,onToggle:()=>m(!r),actions:d,children:[b===`horizontal`&&/* @__PURE__ */ J(`div`,{className:`arc-layout-header__brand`,children:[s,/* @__PURE__ */ q(`strong`,{children:o})]}),b===`horizontal`||b===`mixed`?j(ae,!1,`horizontal`):u||/* @__PURE__ */ q(`span`,{className:`arc-layout-page-title`,children:a})]})}),!i&&(b===`horizontal`||b===`mixed`)&&u&&/* @__PURE__ */ q(X,{theme:{algorithm:A?Z.darkAlgorithm:Z.defaultAlgorithm},children:/* @__PURE__ */ q(`div`,{className:`arc-layout-breadcrumb`,children:u})}),/* @__PURE__ */ q(X,{theme:{algorithm:A?Z.darkAlgorithm:Z.defaultAlgorithm},children:f}),/* @__PURE__ */ q(Je,{as:`main`,horizontal:!0,"aria-label":`页面内容`,className:`admin-content arc-layout-content`+(e.contentWidth===`fixed`?` arc-layout-content--fixed`:``),children:/* @__PURE__ */ q(`div`,{className:`arc-layout-content__inner`,children:p})}),i&&!f&&/* @__PURE__ */ q(Y,{className:`arc-layout-restore`,"aria-label":`退出内容全屏`,icon:/* @__PURE__ */ q(oe,{size:16}),onClick:g,children:`退出全屏`})]}),n&&/* @__PURE__ */ q(X,{theme:M,children:/* @__PURE__ */ q(mt,{title:o,placement:`left`,size:Math.min(e.sidebarWidth+24,320),open:!r,onClose:()=>m(!0),className:`arc-layout-mobile-menu`,styles:{body:{padding:0,overflow:`hidden`,background:ne(e.darkSidebarTone,k)}},children:/* @__PURE__ */ q(Je,{className:`arc-layout-mobile-menu__scroll`,"aria-label":`导航菜单`,style:{height:`100%`},children:j(c,!1)})})})]})}function Ii(){return(Ii=e((()=>{N(),Ei(),Oi(),Pi(),qe()})))()}function Li({tabs:e,store:t,path:n,preferences:r,maximized:i,onNavigate:a,onRefresh:o,onClose:s,onMaximize:c}){let l=U(null);V(()=>{let e=l.current?.querySelector(`.ant-tabs-nav-wrap`);if(!e||typeof IntersectionObserver>`u`)return;let t=/* @__PURE__ */ new Set,n=new IntersectionObserver(e=>{for(let t of e)t.target.dataset.clipped=String(t.intersectionRatio<.999)},{root:e,threshold:[0,.999,1]}),r=()=>{let r=new Set(e.querySelectorAll(`.ant-tabs-tab`));for(let e of t)r.has(e)||(n.unobserve(e),t.delete(e));for(let e of r)t.has(e)||(n.observe(e),t.add(e))};r();let i=new MutationObserver(r);return i.observe(e,{childList:!0,subtree:!0}),()=>{n.disconnect(),i.disconnect();for(let e of t)delete e.dataset.clipped}},[e.length,r.tabStyle,r.compactTabs]);let u=e.map(e=>e.key),[d,f]=W({keys:u,entering:/* @__PURE__ */ new Set});u.join(`\0`)!==d.keys.join(`\0`)&&f({keys:u,entering:new Set([...d.entering,...u.filter(e=>!d.keys.includes(e))].filter(e=>u.includes(e)))});let p=e=>f(t=>({...t,entering:new Set([...t.entering].filter(t=>t!==e))})),m=e=>[{key:`refresh`,label:`刷新`,icon:/* @__PURE__ */ q(P,{size:14}),onClick:()=>o(e.key)},{key:`pin`,label:e.pinned?`取消固定`:`固定`,disabled:e.key===`/`,icon:/* @__PURE__ */ q(Un,{size:14}),onClick:()=>e.pinned?t.unpinTab(e.key):t.pinTab(e.key)},{type:`divider`},{key:`close`,label:`关闭当前`,disabled:!e.closable||e.pinned,onClick:()=>s(e.key)},{key:`others`,label:`关闭其他`,onClick:()=>a(t.closeOthers(e.key))},{key:`left`,label:`关闭左侧`,onClick:()=>a(t.closeLeft(e.key))},{key:`right`,label:`关闭右侧`,onClick:()=>a(t.closeRight(e.key))},{key:`all`,label:`关闭全部`,onClick:()=>{t.closeAll(),a(`/`)}}],h=e.find(e=>e.key===n)??e[0];return/* @__PURE__ */ q(`div`,{ref:l,className:`arc-layout-tabbar arc-layout-tabbar--`+r.tabStyle+(r.compactTabs?` arc-layout-tabbar--compact`:``)+(r.autoHideTabs?` arc-layout-tabbar--autohide`:``),"data-tab-animation":r.reduceMotion?`none`:r.tabAnimation,children:/* @__PURE__ */ q(Ct,{activeKey:n,onChange:a,type:`editable-card`,hideAdd:!0,size:`small`,animated:!1,more:{trigger:`click`,icon:/* @__PURE__ */ q(`span`,{role:`img`,"aria-label":`更多标签页`,title:`更多标签页`,children:/* @__PURE__ */ q(C,{size:16})})},onEdit:(e,t)=>{t===`remove`&&typeof e==`string`&&s(e)},items:e.map(e=>({key:e.key,closable:e.closable&&!e.pinned,closeIcon:/* @__PURE__ */ q(ve,{size:12,"aria-label":`关闭`+e.title}),label:/* @__PURE__ */ q(ht,{trigger:[`contextMenu`],menu:{items:m(e)},children:/* @__PURE__ */ J(`span`,{className:`arc-layout-tab-label`+(d.entering.has(e.key)?` arc-layout-tab-label--entering`:``),onAnimationEnd:()=>p(e.key),draggable:e.key!==`/`&&!e.pinned,onDragStart:t=>t.dataTransfer.setData(`arcbase-tab`,e.key),onDragOver:e=>e.preventDefault(),onDrop:n=>{let r=n.dataTransfer.getData(`arcbase-tab`);r&&t.reorderTabs(r,e.key)},onDoubleClick:()=>{r.tabDoubleClickAction===`refresh`&&o(e.key),r.tabDoubleClickAction===`close`&&e.closable&&!e.pinned&&s(e.key)},children:[e.pinned&&/* @__PURE__ */ q(Un,{size:12}),r.showTabIcon&&e.icon&&/* @__PURE__ */ q(hr,{name:e.icon}),e.title]})})})),tabBarExtraContent:/* @__PURE__ */ J(`div`,{className:`arc-layout-tabbar__actions`,children:[/* @__PURE__ */ q(wt,{title:`刷新当前页`,children:/* @__PURE__ */ q(Y,{type:`text`,"aria-label":`刷新当前页`,icon:/* @__PURE__ */ q(P,{size:15}),onClick:()=>o(n)})}),h&&/* @__PURE__ */ q(ht,{trigger:[`click`],menu:{items:m(h)},children:/* @__PURE__ */ q(Y,{type:`text`,"aria-label":`标签页操作`,icon:/* @__PURE__ */ q(g,{size:15})})}),r.showTabSwitcher&&/* @__PURE__ */ q(ht,{trigger:[`click`],menu:{selectedKeys:[n],items:e.map(e=>({key:e.key,label:e.title,icon:r.showTabIcon&&e.icon?/* @__PURE__ */ q(hr,{name:e.icon}):void 0,onClick:()=>a(e.key)}))},children:/* @__PURE__ */ q(Y,{type:`text`,"aria-label":`标签切换器`,title:`切换到已打开的标签页`,icon:/* @__PURE__ */ q(g,{size:15})})}),/* @__PURE__ */ q(wt,{title:i?`退出内容全屏`:`内容全屏`,children:/* @__PURE__ */ q(Y,{type:`text`,"aria-label":i?`退出内容全屏`:`内容全屏`,icon:q(i?oe:M,{size:15}),onClick:c})})]})})})}function Ri(){return(Ri=e((()=>{h(),S(),ae(),N(),Wn(),se(),_e(),gr()})))()}function zi(e){return/* @__PURE__ */ q(bt,{status:e?`403`:`404`,title:e?`无权访问`:`页面不存在`,extra:/* @__PURE__ */ q(Ot,{to:`/`,children:`返回首页`})})}function Bi(e){let t=new URLSearchParams(e).get(`redirect`);return t&&t.startsWith(`/`)&&!t.startsWith(`//`)&&!t.includes(`\\`)&&!/^\/(login|auth\/callback)([/?#]|$)/.test(t)?t:`/`}function Vi(){let e=Ft(),t=Ht(),n=Wt(),i=jt(),a=Mt(),o=Kt(),s=qt(),{preferences:c,setPreferences:l,canEditPreference:u}=G(),{modal:d}=ut.useApp(),f=wr(),p=Qt(),m=tn(),[h,g]=W(!1),[_,v]=W(e),[ee,y]=W({});V(()=>{e&&v(!0)},[e]);let b=Yt(c.tabsMaxCount,void 0,c.keepTabs,c.tabEvictPolicy,c.openTabBehavior),{addTab:x,removeTab:S,setActiveKey:C,tabs:w}=b,{data:T=[]}=o,E=H(()=>{let e=(t,n=[])=>t.flatMap(t=>t.type===`button`||t.visible===!1?[]:[...t.path?[{...t,path:t.path,breadcrumb:n}]:[],...e(t.children??[],[...n,t.title])]);return e(T)},[T]),D=on(E,i.pathname);$t(c.autoLockMinutes,c.enableLockScreen,p.isLocked,p.hasPassword,p.lock),en({enableShortcuts:c.enableShortcuts,enableLockScreen:c.enableLockScreen,hasPassword:p.hasPassword,lock:p.lock,collapsed:_,handleCollapseChange:v,isContentFullscreen:h,setIsContentFullscreen:g}),V(()=>{c.sidebarHoverTrigger&&v(!0)},[c.sidebarHoverTrigger]);let te=H(()=>{let e=t=>t.filter(e=>e.type!==`button`&&e.visible!==!1&&e.status===`enabled`).map(t=>({key:String(t.id),path:t.path??void 0,label:t.title,icon:t.icon?/* @__PURE__ */ q(hr,{name:t.icon}):void 0,children:t.children?.length?e(t.children):void 0})).filter(e=>e.path||e.children?.length);return e(T)},[T]),O=s.modules.flatMap(e=>e.pages),k=O.find(e=>e.path===i.pathname),A=E.find(e=>e.path===i.pathname),ie=H(()=>/* @__PURE__ */ new Set([`/`,`/profile`,...E.map(e=>e.path)]),[E]),j=k?.title??A?.title??(i.pathname===`/profile`?`个人中心`:`首页`);V(()=>{(ie.has(i.pathname)||k?.navigation===!1)&&(x(i.pathname,j,A?.icon??k?.icon),C(i.pathname))},[i.pathname,j,ie,k?.navigation,A?.icon,k?.icon,x,C]),V(()=>{document.title=(c.dynamicTitle?j+` · `:``)+(n.brand?.name??`ArcBase`)},[c.dynamicTitle,j,n.brand?.name]);let ae=tt(e=>et(()=>y(t=>({...t,[e]:(t[e]??0)+1}))),[]),N=tt(e=>{if(S(e),e===i.pathname){let t=w.findIndex(t=>t.key===e);a(w[t-1]?.key??`/`)}},[S,w,i.pathname,a]),oe=H(()=>({enabled:c.enableTabs,setTabMeta:b.setTabMeta,closeTab:N}),[c.enableTabs,b.setTabMeta,N]),se=new Set(b.tabs.map(e=>e.key)),P=new Set(c.enablePageCache&&c.enableTabs?[...E.filter(e=>e.keepAlive).map(e=>e.path),...O.filter(e=>e.keepAlive).map(e=>e.path)]:[]);if(o.isError||s.enabled&&s.query.isError)return/* @__PURE__ */ q(bt,{status:`error`,title:`导航加载失败`,subTitle:(o.error??s.query.error)?.message,extra:/* @__PURE__ */ q(Y,{onClick:()=>{o.refetch(),s.enabled&&s.query.refetch()},children:`重试`})});if(o.isPending||s.enabled&&s.query.isPending)return/* @__PURE__ */ q(r,{});let ce=/* @__PURE__ */ q(ur,{children:/* @__PURE__ */ q(Ze,{fallback:/* @__PURE__ */ q(r,{}),children:/* @__PURE__ */ q(Lr,{keepAlivePaths:P,openPaths:se,refreshVersion:ee,animation:c.reduceMotion?`none`:c.routeAnimation})})}),le=/* @__PURE__ */ q(Xt.Provider,{value:oe,children:ce});if(c.enableLockScreen&&p.isLocked)return/* @__PURE__ */ q(pr,{lock:p,mode:null,onClose:()=>{}});if(k?.layout===`workspace`)return le;let ue=b.tabs.filter(e=>ie.has(e.key)||O.some(n=>n.navigation===!1&&n.path===e.key&&(t.permissions.includes(`*`)||t.permissions.includes(n.permission)))).map(e=>e.title===e.key?{...e,title:E.find(t=>t.path===e.key)?.title??O.find(t=>t.path===e.key)?.title??(e.key===`/profile`?`个人中心`:e.title)}:e),F=()=>c.confirmLogout?d.confirm({title:`退出登录`,content:`确定退出当前账号?`,onOk:t.logout}):t.logout(),de=/* @__PURE__ */ J(K,{children:[c.topbarClock!==`off`&&/* @__PURE__ */ q(sr,{mode:c.topbarClock,showDate:c.topbarClockShowDate}),c.showMenuSearch&&/* @__PURE__ */ q(Br,{menus:E,recentMenus:D.recents.flatMap(e=>{let t=E.find(t=>t.id===e);return t?[t]:[]}),onClearRecents:D.clear,onRemoveRecent:D.remove}),c.showFavorites&&/* @__PURE__ */ q(Xr,{menus:E,current:A,favorites:m}),c.enableLockScreen&&p.hasPassword()&&/* @__PURE__ */ q(wt,{title:`锁屏`,children:/* @__PURE__ */ q(Y,{type:`text`,className:`arc-layout-desktop-action`,"aria-label":`锁屏`,icon:/* @__PURE__ */ q(jn,{size:17}),onClick:p.lock})}),/* @__PURE__ */ q(Or,{lock:p,homePaths:E.map(e=>({value:e.path,label:e.title}))}),/* @__PURE__ */ q(wt,{title:f?`切换浅色主题`:`切换深色主题`,children:/* @__PURE__ */ q(Y,{type:`text`,"aria-label":f?`切换浅色主题`:`切换深色主题`,disabled:!u(`colorMode`),icon:q(f?Qn:Pn,{size:17}),onClick:()=>l({colorMode:f?`light`:`dark`})})}),c.showFullscreen&&/* @__PURE__ */ q(wt,{title:`浏览器全屏`,children:/* @__PURE__ */ q(Y,{type:`text`,className:`arc-layout-desktop-action`,"aria-label":`全屏`,icon:/* @__PURE__ */ q(M,{size:17}),onClick:()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()}})}),/* @__PURE__ */ q(ht,{trigger:[`click`],placement:`bottomRight`,menu:{items:[{key:`profile`,label:`个人中心`,icon:/* @__PURE__ */ q(re,{size:16}),onClick:()=>a(`/profile`)},...c.enableLockScreen&&p.hasPassword()?[{key:`lock`,label:`锁屏`,icon:/* @__PURE__ */ q(jn,{size:16}),onClick:p.lock}]:[],{type:`divider`},{key:`logout`,label:`退出登录`,icon:/* @__PURE__ */ q(ne,{size:16}),onClick:F}]},children:/* @__PURE__ */ J(`button`,{type:`button`,className:`arc-layout-user`,"aria-label":`账户菜单`,children:[/* @__PURE__ */ q(dt,{size:28,src:t.user?.avatar||void 0,icon:/* @__PURE__ */ q(re,{size:16})}),/* @__PURE__ */ q(`span`,{className:`arc-layout-user__name`,children:t.user?.nickname??t.user?.username})]})})]});return/* @__PURE__ */ J(K,{children:[c.showProgressBar&&/* @__PURE__ */ q(Jr,{}),/* @__PURE__ */ q(Fi,{preferences:c,dark:f,mobile:e,collapsed:_,maximized:h,title:j,brand:n.brand?.name??`ArcBase`,logo:c.showLogo?/* @__PURE__ */ q(ai,{size:28}):null,menus:te,path:i.pathname,onCollapse:v,onNavigate:a,onRestore:()=>g(!1),actions:de,breadcrumb:c.showBreadcrumb&&/* @__PURE__ */ q(Kr,{menus:T,path:i.pathname,title:j,isFavorite:m.isFavorite,toggleFavorite:m.toggle}),tabbar:c.enableTabs?/* @__PURE__ */ q(Li,{tabs:ue,store:b,path:i.pathname,preferences:c,maximized:h,onNavigate:a,onRefresh:ae,onClose:N,onMaximize:()=>g(e=>!e)}):null,children:le}),c.showBackTop&&/* @__PURE__ */ q(ft,{target:()=>document.querySelector(`.admin-content`)})]})}function Hi(){let{preferences:e,ready:t}=G(),n=Mt(),r=Kt();V(()=>{if(!t||!r.isSuccess||!tr())return;nr();let i=t=>t.some(t=>t.visible!==!1&&t.status===`enabled`&&t.type!==`button`&&(t.path===e.homePath||i(t.children??[])));e.homePath!==`/`&&(e.homePath===`/profile`||i(r.data??[]))&&n(e.homePath,{replace:!0})},[t,r.isSuccess,r.data,e.homePath,n]);let i=Gi[`/`];return/* @__PURE__ */ q(i,{})}function Ui(){let e=Ht(),t=jt(),{client:n}=Vt(),r=Kt(),i=qt(),a=/* @__PURE__ */ new Set([`/`,`/profile`]),o=e=>e.forEach(e=>{e.type!==`button`&&e.path&&e.visible!==!1&&a.add(e.path),e.children&&o(e.children)});o(r.data??[]);let s={client:n,user:e.user,permissions:e.permissions,hasPermission:t=>e.permissions.includes(`*`)||e.permissions.includes(t)};return e.user?.requirePasswordChange&&t.pathname!==`/profile`?/* @__PURE__ */ q(kt,{to:`/profile?tab=security`,replace:!0}):/* @__PURE__ */ q(At,{children:/* @__PURE__ */ J(Q,{element:/* @__PURE__ */ q(Vi,{}),children:[Object.entries(Gi).map(([t,n])=>/* @__PURE__ */ q(Q,{path:t,element:a.has(t)?t===`/`?/* @__PURE__ */ q(Hi,{}):/* @__PURE__ */ q(n,{user:e.user}):zi(!0)},t)),i.modules.flatMap(e=>e.pages).map(e=>/* @__PURE__ */ q(Q,{path:e.path,element:(e.navigation===!1||a.has(e.path))&&s.hasPermission(e.permission)?/* @__PURE__ */ q(e.component,{...s}):zi(!0)},e.path)),/* @__PURE__ */ q(Q,{path:`/login`,element:/* @__PURE__ */ q(kt,{to:Bi(t.search),replace:!0})}),/* @__PURE__ */ q(Q,{path:`/forbidden`,element:zi(!0)}),/* @__PURE__ */ q(Q,{path:`*`,element:zi(Jt.has(t.pathname))})]})})}function Wi(){let e=Ht(),t=jt();return t.pathname===`/auth/callback`?/* @__PURE__ */ q(Sr,{children:/* @__PURE__ */ q(Bt,{})}):e.status===`unavailable`?/* @__PURE__ */ q(Sr,{children:/* @__PURE__ */ q(bt,{status:`error`,title:`会话校验失败`,subTitle:e.error?.message,extra:/* @__PURE__ */ q(Y,{loading:e.refreshing,onClick:()=>void e.refresh(),children:`重试`})})}):e.status===`checking`?/* @__PURE__ */ q(Sr,{children:/* @__PURE__ */ q(r,{})}):e.user?/* @__PURE__ */ q(yr,{children:/* @__PURE__ */ q(an,{children:/* @__PURE__ */ q(Sr,{children:/* @__PURE__ */ q(Ui,{})})})}):/* @__PURE__ */ q(Sr,{children:/* @__PURE__ */ J(At,{children:[/* @__PURE__ */ q(Q,{path:`/login`,element:/* @__PURE__ */ q(pi,{onLogin:e.login,onVerifyMfa:e.verifyMfaLogin,onRegister:e.register})}),/* @__PURE__ */ q(Q,{path:`*`,element:/* @__PURE__ */ q(kt,{to:`/login?redirect=`+encodeURIComponent(t.pathname+t.search),replace:!0})})]})})}var Gi;function Ki(){return(Ki=e((()=>{ae(),Mn(),Fn(),$n(),A(),k(),ir(),or(),cr(),fr(),mr(),gr(),br(),Ar(),Tr(),zr(),Hr(),i(),qr(),Yr(),Zr(),wi(),oi(),Ii(),Ri(),Gi=Object.fromEntries(Object.entries(ar).map(([e,t])=>[e,B(t)]))})))()}Ki();export{Wi as AntApp};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-BKuNeK48.js";import{n as t,t as n}from"./preload-helper-C-73SErw.js";import{a as r,o as i}from"../src-DVwjbBTf.js";import{a,i as o}from"./feedback-D4BIfDNd.js";import{Component as s,Suspense as c,lazy as l,useEffect as u,useState as d}from"react";import{jsx as f}from"react/jsx-runtime";import{Client as p}from"@fudanda/client";import{installRequestFeedback as m}from"@fudanda/react-core/utils/request-toast";import{goTransport as h}from"@fudanda/react-core/lib/go-transport";import{BrowserRouter as g}from"react-router-dom";import{createAdminQueryClient as _}from"@fudanda/react-core/lib/query";import{QueryClientProvider as v}from"@tanstack/react-query";import{installScopedStorage as y}from"@fudanda/react-core/utils/storage";import{ArcBaseProvider as b}from"@fudanda/elements-antd";import{AdminOptionsContext as x,AdminPathsContext as S,normalizeAdminBasePath as C,normalizeAssetBasePath as w,validateAdminOptions as T}from"@fudanda/react-core/admin/runtime";import"antd/dist/reset.css";import{GoAuthProvider as E}from"@fudanda/react-core/providers/GoAuthProvider";function D(e){return/* @__PURE__ */ f(E,{...e,provider:b,loading:/* @__PURE__ */ f(r,{})})}function O(){return(O=e((()=>{i()})))()}function k(e){T(e);let[t]=d(()=>({client:e.client??new p,cache:e.queryClient??_(),paths:{basePath:C(e.basePath),assetBasePath:w(e.assetBasePath??`./`)},original:{client:e.client,queryClient:e.queryClient,authSession:e.authSession}})),[i,a]=d(!1),[s,l]=d(null);if(u(()=>{let e,r,i,s=!1,c=document.body.getAttribute(`style`),u=document.documentElement.getAttribute(`style`),d=document.body.getAttribute(`data-reduce-motion`),f=document.body.getAttribute(`theme-mode`),p=document.title,g=document.documentElement.getAttribute(`lang`),_=document.querySelector(`link[rel="icon"]`),v=_?.getAttribute(`href`),b=_?.getAttribute(`type`);try{e=h.bind(t.client),i=y(),r=m({error:(e,t)=>o.error(t?e+` · 链路 ID:`+t:e),warning:o.warning}),n(async()=>{let{loader:e}=await import(`./dist-D_KGQS7-.js`).then(e=>(e.r(),e.n));return{loader:e}},[],import.meta.url).then(({loader:e})=>{s||(e.config({paths:{vs:`${t.paths.assetBasePath}monaco/vs`}}),a(!0))}).catch(e=>{s||l(e instanceof Error?e:Error(String(e)))})}catch(e){l(e instanceof Error?e:Error(String(e)))}return()=>{if(s=!0,!e)return;e(),t.cache.cancelQueries(),t.cache.clear(),i?.(),r?.();let n=(e,t,n)=>{n===null?e.removeAttribute(t):e.setAttribute(t,n)};n(document.body,`style`,c),n(document.documentElement,`style`,u),n(document.body,`theme-mode`,f),n(document.body,`data-reduce-motion`,d),document.title=p,n(document.documentElement,`lang`,g),_?(n(_,`href`,v??null),n(_,`type`,b??null)):document.querySelector(`link[rel="icon"]`)?.remove()}},[t]),u(()=>{e.locale&&(document.documentElement.lang=e.locale)},[e.locale]),s)throw s;if(t.original.client!==e.client||t.original.queryClient!==e.queryClient||t.original.authSession!==e.authSession||t.paths.basePath!==C(e.basePath)||t.paths.assetBasePath!==w(e.assetBasePath??`./`))throw Error(`Remount ArcBaseAdmin to change its client, cache or paths`);return i?/* @__PURE__ */ f(x.Provider,{value:e,children:/* @__PURE__ */ f(S.Provider,{value:t.paths,children:/* @__PURE__ */ f(v,{client:t.cache,children:/* @__PURE__ */ f(D,{client:t.client,authSession:e.authSession,children:/* @__PURE__ */ f(g,{basename:t.paths.basePath,children:/* @__PURE__ */ f(c,{fallback:e.loading??/* @__PURE__ */ f(r,{}),children:/* @__PURE__ */ f(j,{})})})})})})}):e.loading??/* @__PURE__ */ f(r,{})}function A(e){return/* @__PURE__ */ f(M,{fallback:e.errorFallback,children:/* @__PURE__ */ f(k,{...e})})}var j,M;function N(){return(N=e((()=>{a(),O(),i(),t(),j=l(()=>n(()=>import(`./App-DX7JOOmP.js`).then(e=>({default:e.AntApp})),[],import.meta.url)),M=class extends s{state={error:null};static getDerivedStateFromError(e){return{error:e}}render(){return this.state.error?this.props.fallback?.(this.state.error)??/* @__PURE__ */ f(`div`,{role:`alert`,children:this.state.error.message}):this.props.children}}})))()}N();export{A as ArcBaseAdmin};
@@ -1,55 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-BKuNeK48.js";import{s as t}from"./controls-C5dPckUT.js";import{a as n,c as r,i,n as a,o,r as s,s as c,t as l}from"./search-filters-BoRMIesR.js";import{n as u,t as d}from"./rotate-ccw-D2__Zisi.js";import{a as f,u as p,w as m}from"./ui-DoIHGuTR.js";import{n as h,t as g}from"./ui-utils-ClxYogUQ.js";import*as _ from"react";import v,{Children as y,Fragment as b,cloneElement as x,createContext as S,isValidElement as C,useCallback as w,useContext as T,useEffect as E,useMemo as D,useRef as ee,useState as O}from"react";import{usePreferences as te}from"@fudanda/react-core/hooks/usePreferences";import{Fragment as k,jsx as A,jsxs as j}from"react/jsx-runtime";import{BasicTable as M,TableToolButton as ne}from"@fudanda/table-antd";import{Empty as N,Form as re,Pagination as ie,Transfer as P,Tree as F}from"antd";import"@fudanda/table-antd/styles.css";import{QueryFilter as I}from"@ant-design/pro-components";import{filterMetaOf as ae}from"@fudanda/shared/core";import{useDictItems as oe}from"@fudanda/react-core/hooks/useDictItems";import{useIsMobile as se}from"@fudanda/react-core/hooks/useMediaQuery";import{ARCBASE_OPERATION_COLUMN_SYMBOL as ce}from"@fudanda/react-core/components/table-column-meta";import{COMPACT_PAGINATION_PROPS as le,DESKTOP_PAGINATION_PROPS as ue}from"@fudanda/react-core/hooks/usePagination";function de(){return(de=e((()=>{})))()}function L(e,t){let n=e?.meta()?.description;return typeof n!=`string`||!n?t:n.split(/[;;((]/)[0].trim()||t}function fe({page:e,name:t,dict:r,placeholder:i}){let{options:o}=oe(r),s=e.bind(t),c={items:o,value:s.value,onChange:s.onChange};return r===`common_status`?/* @__PURE__ */ A(n,{...c}):/* @__PURE__ */ A(a,{placeholder:i,...c})}function pe(e,t,n,r){let o=e.bind(t);switch(r?.kind){case`keyword`:return/* @__PURE__ */ A(s,{placeholder:r.fields?`搜索${r.fields}`:`搜索关键字`,...e.bindKeyword(t)},t);case`enum`:{let i=L(n,``),s=i?`全部${i}`:`全部`;if(r.dict)return/* @__PURE__ */ A(fe,{page:e,name:t,dict:r.dict,placeholder:s},t);let c=r.options?r.options.map(e=>({value:e.value,label:e.label})):r.values.map(e=>({value:e,label:e}));return/* @__PURE__ */ A(a,{placeholder:s,items:c,value:o.value,onChange:o.onChange},t)}case`bool`:{let e=r.labels?[{value:`true`,label:r.labels[0]},{value:`false`,label:r.labels[1]}]:V;return/* @__PURE__ */ A(a,{placeholder:L(n,t),items:e,value:o.value===void 0?void 0:String(o.value),onChange:e=>o.onChange(e===`true`||e!==`false`&&void 0)},t)}case`id`:return/* @__PURE__ */ A(i,{placeholder:L(n,t),value:o.value,onChange:o.onChange},t);case`date-bound`:throw Error(`筛选键「${t}」是时间范围端点,请成对声明:['${t}', '<止端键>']`);default:throw Error(`筛选键「${t}」在契约 query 上没有 x-filter 语义,请在 overrides 里给出控件`)}}function R({page:e,specs:t,overrides:n}){let r=e.filterSchema?.shape??{};return t.map(t=>{if(typeof t!=`string`)return{key:B(t),title:`时间范围`,control:n?.[t[0]]?.(e)??/* @__PURE__ */ A(l,{...e.bindRange(t)})};let i=r[t],a=ae(i);return{key:t,title:a?.kind===`keyword`?`关键字`:L(i,t),control:n?.[t]?.(e)??pe(e,t,i,a)}})}function z({page:e,specs:t,overrides:n}){let r=e.filterSchema?.shape??{},i=[],a=[];for(let o of t){if(typeof o!=`string`){let t=n?.[o[0]];a.push(t?/* @__PURE__ */ A(b,{children:t(e)},B(o)):/* @__PURE__ */ A(l,{...e.bindRange(o)},B(o)));continue}let t=n?.[o];if(t){a.push(/* @__PURE__ */ A(b,{children:t(e)},o));continue}let s=r[o],c=ae(s),u=pe(e,o,s,c);(c?.kind===`keyword`?i:a).push(u)}return{keyword:i,filters:a}}var B,V;function H(){return(H=e((()=>{o(),B=e=>typeof e==`string`?e:`${e[0]}~${e[1]}`,V=[{value:`true`,label:`是`},{value:`false`,label:`否`}]})))()}function U(e){return y.toArray(e).flatMap(e=>C(e)&&e.type===b?U(e.props.children):[e])}function W(e){if(!C(e))return`筛选条件`;if(e.props.searchLabel)return e.props.searchLabel;if(e.type===l)return`时间范围`;if(e.type===n)return`状态`;let t=e.props.placeholder;return Array.isArray(t)?`时间范围`:typeof t==`string`?t.replace(/^(搜索|全部|请输入)\s*/,``)||`关键字`:typeof e.props.children==`string`?e.props.children:`筛选条件`}function G({control:e,id:t,title:n}){let r=C(e)?x(e,{id:t,"aria-label":n}):e;return/* @__PURE__ */ A(c.Provider,{value:!0,children:/* @__PURE__ */ A(`div`,{className:`arc-basic-table-search-field`,children:r})})}function me(e){let t=e.page?R({page:e.page,specs:e.filters,overrides:e.overrides}):U(/* @__PURE__ */ j(k,{children:[e.keyword,e.filters]})).map((e,t)=>({key:`slot-${t}`,title:W(e),control:e}));return e.page&&t.push(...U(e.extraFilters).map((e,t)=>({key:`extra-${t}`,title:W(e),control:e}))),{columns:t.map(({key:e,title:t,control:n})=>({key:`arc-filter-${e}`,dataIndex:`arc-filter-${e}`,title:t,hideInTable:!0,hideInSetting:!0,formItemRender:()=>/* @__PURE__ */ A(G,{control:n,title:t})})),fields:t,onSearch:e.page?e.page.toolbarProps.onSearch:e.onSearch,onReset:e.page?e.page.toolbarProps.onReset:e.onReset,actions:U(/* @__PURE__ */ j(k,{children:[e.create,e.actions]})),headerTitle:e.actionTitle?.replace(/操作$/,`管理`)}}function he(e){return e?{search:{labelWidth:`auto`},form:{ignoreRules:!0},manualRequest:!0,onSubmit:e.onSearch,onReset:e.onReset,headerTitle:e.headerTitle}:{search:!1}}function K({config:e}){return/* @__PURE__ */ j(`div`,{className:`arc-basic-table-grid-search`,children:[/* @__PURE__ */ A(I,{labelWidth:`auto`,onFinish:async()=>{e.onSearch()},onReset:e.onReset,children:e.fields.map(e=>/* @__PURE__ */ A(re.Item,{name:`arc-filter-${e.key}`,label:e.title,children:/* @__PURE__ */ A(G,{control:e.control,title:e.title})},e.key))}),/* @__PURE__ */ A(`div`,{className:`arc-basic-table-grid-actions`,children:e.actions})]})}function q(){return(q=e((()=>{r(),H(),o()})))()}function J({children:e,onResizeWidth:t,...n}){return/* @__PURE__ */ j(`th`,{...n,style:{...n.style,position:n.style?.position??(n.className?.includes(`cell-fix`)?`sticky`:`relative`)},children:[e,t&&/* @__PURE__ */ A(`span`,{role:`separator`,tabIndex:0,"aria-orientation":`vertical`,"aria-label":`调整列宽`,className:`arc-table-resize-handle`,onKeyDown:e=>{(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(e.preventDefault(),e.stopPropagation(),t(Math.max(60,e.currentTarget.parentElement.getBoundingClientRect().width+(e.key===`ArrowRight`?10:-10))))},onClick:e=>e.stopPropagation(),onPointerDown:e=>{e.preventDefault(),e.stopPropagation();let n=e.currentTarget;n.setPointerCapture(e.pointerId);let r=e.clientX,i=n.parentElement.getBoundingClientRect().width,a=e=>t(Math.max(60,i+e.clientX-r)),o=()=>{n.removeEventListener(`pointermove`,a),n.removeEventListener(`pointerup`,o),n.removeEventListener(`pointercancel`,o),n.removeEventListener(`lostpointercapture`,o)};n.addEventListener(`pointermove`,a),n.addEventListener(`pointerup`,o),n.addEventListener(`pointercancel`,o),n.addEventListener(`lostpointercapture`,o)}})]})}function Y({currentPage:e,onPageChange:t,onPageSizeChange:n,pageSizeOpts:r,hoverShowPageSelect:i,showTotal:a,size:o,...s}){return{...s,current:e,size:o===`small`?`small`:void 0,pageSizeOptions:r,showTotal:a===!0?e=>`共 ${e} 条`:a===!1?void 0:a,onChange:(e,r)=>{r===s.pageSize?t?.(e):n?.(r)}}}function ge(e){return/* @__PURE__ */ A(ie,{...Y(e)})}function _e({searchConfig:e,adaptive:t=!1,toolBarRender:n=!1,options:r=!1,cardProps:i=!1,cardBordered:a=!1,pagination:o,empty:s,size:c,rowSelection:l,virtualized:u,resizable:d,expandedRowRender:f,expandRowByClick:p,defaultExpandAllRows:m,expandedRowKeys:h,onExpandedRowsChange:g,hideExpandedColumn:_,rowExpandable:v,childrenRecordName:y,columns:b,...x}){let[S,C]=O({}),w=({useFullRender:e,defaultHidden:t,minWidth:n,render:r,children:i,...a},o)=>{let s=String(a.key??a.dataIndex??o);return{...a,key:s,search:!1,width:S[s]??a.width,minWidth:n,children:i?.map(w),renderText:r?(e,t,n)=>r(e,t,n):void 0,onHeaderCell:d&&!i?(e=>({...a.onHeaderCell?.(e),onResizeWidth:e=>C(t=>({...t,[s]:Math.max(n??60,e)}))})):a.onHeaderCell}},T=[...b?.map(w)??[],...e?.columns??[]];return/* @__PURE__ */ A(M,{...x,...he(e),adaptive:t,columns:T,options:r,toolBarRender:n,cardBordered:a,cardProps:i,components:{...x.components,header:{...x.components?.header,cell:d?J:x.components?.header?.cell}},rowSelection:l&&!l.hidden?l:void 0,size:c==="default"?`large`:c,virtual:u&&typeof x.scroll?.x==`number`&&(t!==!1||typeof x.scroll.y==`number`),expandable:{...x.expandable,childrenColumnName:y,expandedRowRender:f,expandRowByClick:p,defaultExpandAllRows:m,expandedRowKeys:h,onExpandedRowsChange:g,showExpandColumn:!_,rowExpandable:v},locale:{...x.locale,emptyText:s??x.locale?.emptyText},pagination:o===!1?!1:o?Y(o):!1})}function ve({dataSource:e=[],value:t=[],onChange:n,filter:r,type:i,renderSourceItem:a,renderSelectedItem:o,treeProps:s,inputProps:c,emptyContent:l,...u}){let[d,f]=O(``),p=e=>e.flatMap(e=>[e,...p(e.children??[])]),m=p(e).filter(e=>!e.children?.length&&!e.disabled),h=e=>String(e.value??e.key),g=new Set(t.map(String)),_=(e,t)=>typeof r==`function`?r(e,t):s?.filterTreeNode?s.filterTreeNode(e,t):String(t.label??``).toLocaleLowerCase().includes(e.toLocaleLowerCase()),v=e=>n?.(e.flatMap(e=>{let t=m.find(t=>h(t)===String(e));return t?[t.value??t.key]:[]})),y=e=>v(t.filter(t=>String(t)!==h(e)));return/* @__PURE__ */ A(P,{...u,dataSource:m,rowKey:h,targetKeys:t.map(String),showSearch:!!r,filterOption:_,render:e=>/* @__PURE__ */ A(`span`,{children:e.label??String(e.value??e.key)}),locale:{...u.locale,searchPlaceholder:c?.placeholder},onSearch:(e,t)=>{e===`left`&&f(t)},onChange:v,children:({direction:t,filteredItems:n,selectedKeys:r,onItemSelect:c})=>{if(t===`right`&&o)return/* @__PURE__ */ A(`div`,{style:{overflow:`auto`,height:300},children:n.length?n.map(e=>o({...e,onRemove:()=>y(e)})):/* @__PURE__ */ A(N,{description:l?.right})});if(t===`left`&&i===`treeList`){let t=e=>e.flatMap(e=>{let n=e.children?t(e.children):void 0;return!n&&(g.has(h(e))||d&&!_(d,e))||e.children&&!n?.length?[]:[{key:h(e),title:s?.renderLabel?.(e.label,e)??e.label,children:n,disableCheckbox:!!e.disabled,selectable:!e.disabled}]});return/* @__PURE__ */ A(F,{checkable:!0,checkStrictly:!0,defaultExpandAll:!0,height:300,treeData:t(e),checkedKeys:r,onCheck:(e,t)=>c(String(t.node.key),t.checked)})}if(t===`left`&&a)return/* @__PURE__ */ A(`div`,{style:{overflow:`auto`,height:300},children:n.length?n.map(e=>a({...e,checked:r.includes(h(e)),onChange:()=>c(h(e),!r.includes(h(e)))})):/* @__PURE__ */ A(N,{description:d?l?.search:l?.left})})}})}function X(){return(X=e((()=>{de(),q()})))()}var ye;function Z(){return(Z=e((()=>{ye=/*#__PURE__*/ S({})})))()}function be(){return!!(typeof window<`u`&&window.document&&window.document.createElement)}function xe(e,t){if(!e||!t)return!1;if(e.contains)return e.contains(t);let n=t;for(;n;){if(n===e)return!0;n=n.parentNode}return!1}function Se({mark:e}={}){return e?e.startsWith(`data-`)?e:`data-${e}`:Pe}function Ce(e){return e.attachTo?e.attachTo:document.querySelector(`head`)||document.body}function we(e){return e===`queue`?`prependQueue`:e?`prepend`:`append`}function Q(e){return Array.from((Fe.get(e)||e).children).filter(e=>e.tagName===`STYLE`)}function Te(e,t={}){if(!be())return null;let{csp:n,prepend:r,priority:i=0}=t,a=we(r),o=a===`prependQueue`,s=document.createElement(`style`);s.setAttribute(Me,a),o&&i&&s.setAttribute(Ne,`${i}`),n?.nonce&&(s.nonce=n.nonce),s.innerHTML=e;let c=Ce(t),{firstChild:l}=c;if(r){if(o){let e=(t.styles||Q(c)).filter(e=>{if(![`prepend`,`prependQueue`].includes(e.getAttribute(Me)))return!1;let t=Number(e.getAttribute(Ne)||0);return i>=t});if(e.length)return c.insertBefore(s,e[e.length-1].nextSibling),s}c.insertBefore(s,l)}else c.appendChild(s);return s}function Ee(e,t={}){let{styles:n}=t;return n||=Q(Ce(t)),n.find(n=>n.getAttribute(Se(t))===e)}function De(e,t){let n=Fe.get(e);if(!n||!xe(document,n)){let n=Te(``,t);if(!n)return;let{parentNode:r}=n;Fe.set(e,r),e.removeChild(n)}}function Oe(e,t,n={}){if(!be())return null;let r=Ce(n),i=Q(r),a={...n,styles:i};De(r,a);let o=Ee(t,a);if(o)return a.csp?.nonce&&o.nonce!==a.csp.nonce&&(o.nonce=a.csp.nonce),o.innerHTML!==e&&(o.innerHTML=e),o;let s=Te(e,a);return s?.setAttribute(Se(a),t),s}function ke(e){return e?.getRootNode?.()}function Ae(e){let t=ke(e);return typeof ShadowRoot<`u`&&t instanceof ShadowRoot?t:null}function je(e,t){e||Ie[t]||(Ie[t]=!0)}var Me,Ne,Pe,Fe,Ie;function Le(){return(Le=e((()=>{Me=`data-rc-order`,Ne=`data-rc-priority`,Pe=`rc-util-key`,Fe=/* @__PURE__ */ new Map,Ie={}})))()}function Re(e){return e.replace(/-(.)/g,(e,t)=>t.toUpperCase())}function ze(e,t){je(e,`[@ant-design/icons] ${t}`)}function Be(e){return typeof e==`object`&&!!e&&typeof e.name==`string`&&typeof e.theme==`string`&&(typeof e.icon==`object`||typeof e.icon==`function`)}function Ve(e={}){return Object.keys(e).reduce((t,n)=>{let r=e[n];switch(n){case`class`:t.className=r,delete t.class;break;default:delete t[n],t[Re(n)]=r}return t},{})}function He(e,t,n){return n?/*#__PURE__*/ v.createElement(e.tag,{key:t,...Ve(e.attrs),...n},(e.children||[]).map((n,r)=>He(n,`${t}-${e.tag}-${r}`))):/*#__PURE__*/ v.createElement(e.tag,{key:t,...Ve(e.attrs)},(e.children||[]).map((n,r)=>He(n,`${t}-${e.tag}-${r}`)))}var Ue,We;function Ge(){return(Ge=e((()=>{Z(),Le(),Ue=`
2
- .anticon {
3
- display: inline-flex;
4
- align-items: center;
5
- color: inherit;
6
- font-style: normal;
7
- line-height: 0;
8
- text-align: center;
9
- text-transform: none;
10
- vertical-align: -0.125em;
11
- text-rendering: optimizeLegibility;
12
- -webkit-font-smoothing: antialiased;
13
- -moz-osx-font-smoothing: grayscale;
14
- }
15
-
16
- .anticon > * {
17
- line-height: 1;
18
- }
19
-
20
- .anticon svg {
21
- display: inline-block;
22
- vertical-align: inherit;
23
- }
24
-
25
- .anticon::before {
26
- display: none;
27
- }
28
-
29
- .anticon .anticon-icon {
30
- display: block;
31
- }
32
-
33
- .anticon[tabindex] {
34
- cursor: pointer;
35
- }
36
-
37
- .anticon-spin {
38
- -webkit-animation: loadingCircle 1s infinite linear;
39
- animation: loadingCircle 1s infinite linear;
40
- }
41
-
42
- @-webkit-keyframes loadingCircle {
43
- 100% {
44
- -webkit-transform: rotate(360deg);
45
- transform: rotate(360deg);
46
- }
47
- }
48
-
49
- @keyframes loadingCircle {
50
- 100% {
51
- -webkit-transform: rotate(360deg);
52
- transform: rotate(360deg);
53
- }
54
- }
55
- `,We=e=>{let{csp:t,prefixCls:n,layer:r,zeroRuntime:i}=T(ye),a=Ue;n&&(a=a.replace(/anticon/g,n)),r&&(a=`@layer ${r} {\n${a}\n}`),E(()=>{if(i)return;let n=e.current,o=Ae(n);Oe(a,`@ant-design-icons`,{prepend:!r,csp:t,attachTo:o})},[])}})))()}var Ke;function qe(){return(qe=e((()=>{Ge(),Ke=e=>{let{icon:t,className:n,onClick:r,style:i,primaryColor:a,secondaryColor:o,...s}=e,c=_.useRef(null);if(We(c),ze(Be(t),`icon should be icon definiton, but got ${typeof t}`),!Be(t))return null;let l=t;return He(l.icon,`svg-${l.name}`,{className:n,onClick:r,style:i,"data-icon":l.name,width:`1em`,height:`1em`,fill:`currentColor`,"aria-hidden":`true`,...s,ref:c})},Ke.displayName=`IconReact`})))()}function Je(){return Je=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Je.apply(this,arguments)}var Ye;function Xe(){return(Xe=e((()=>{h(),Z(),qe(),Ge(),Ye=/*#__PURE__*/ _.forwardRef((e,t)=>{let{className:n,icon:r,spin:i,rotate:a,tabIndex:o,onClick:s,twoToneColor:c,...l}=e,{prefixCls:u=`anticon`,rootClassName:d}=_.useContext(ye);if(ze(Be(r),`icon should be icon definiton, but got ${typeof r}`),!Be(r))return null;let f=g(d,u,{[`${u}-${r.name}`]:!!r.name,[`${u}-spin`]:!!i||r.name===`loading`},n),p=o;p===void 0&&s&&(p=-1);let m=a?{msTransform:`rotate(${a}deg)`,transform:`rotate(${a}deg)`}:void 0;return/*#__PURE__*/ _.createElement(`span`,Je({role:`img`,"aria-label":r.name},l,{ref:t,tabIndex:p,onClick:s,className:f}),/*#__PURE__*/ _.createElement(Ke,{icon:r,style:m}))})})))()}var Ze;function Qe(){return(Qe=e((()=>{Ze={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z`}}]},name:`reload`,theme:`outlined`}})))()}function $e(){return $e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$e.apply(this,arguments)}var et,tt;function nt(){return(nt=e((()=>{Qe(),Xe(),et=(e,t)=>/*#__PURE__*/ _.createElement(Ye,$e({},e,{ref:t,icon:Ze})),tt=/*#__PURE__*/ _.forwardRef(et)})))()}var rt;function it(){return(it=e((()=>{rt={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M320 224h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-60 508h-80V292h80v440zm644-436h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-60 364h-80V364h80v296zM612 404h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8zm-60 145a3 3 0 01-3 3h-74a3 3 0 01-3-3v-74a3 3 0 013-3h74a3 3 0 013 3v74z`}}]},name:`sliders`,theme:`outlined`}})))()}function at(){return at=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},at.apply(this,arguments)}var ot,st;function ct(){return(ct=e((()=>{it(),Xe(),ot=(e,t)=>/*#__PURE__*/ _.createElement(Ye,at({},e,{ref:t,icon:rt})),st=/*#__PURE__*/ _.forwardRef(ot)})))()}var lt;function ut(){return(ut=e((()=>{lt={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 208H676V232h212v136zm0 224H676V432h212v160zM412 432h200v160H412V432zm200-64H412V232h200v136zm-476 64h212v160H136V432zm0-200h212v136H136V232zm0 424h212v136H136V656zm276 0h200v136H412V656zm476 136H676V656h212v136z`}}]},name:`table`,theme:`outlined`}})))()}function dt(){return dt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},dt.apply(this,arguments)}var ft,pt;function mt(){return(mt=e((()=>{ut(),Xe(),ft=(e,t)=>/*#__PURE__*/ _.createElement(Ye,dt({},e,{ref:t,icon:lt})),pt=/*#__PURE__*/ _.forwardRef(ft)})))()}function ht(e){return e.flatMap(e=>e.children?.length?ht(e.children):[e])}function gt(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e==`string`&&/^\d+(\.\d+)?(px)?$/.test(e.trim()))return Number.parseFloat(e)}function _t(e){let t=e.dataIndex;return typeof t==`string`?t:Array.isArray(t)?t.map(String).join(`.`):e.key!==void 0&&e.key!==null?String(e.key):``}function vt(e){let{title:t}=e;return typeof t==`string`||typeof t==`number`?String(t):_t(e)||`(未命名列)`}function yt(e){let t=null,n=-1/0,r=0;for(let i of e){if(i.fixed)continue;let e=_t(i),a=0;i.ellipsis&&(a+=3),Tt.test(e)&&(a+=2),(Et.test(e)||i.align===`right`||i.align===`center`)&&(a-=3);let o=gt(i.width)??0;(a>n||a===n&&o>r)&&(t=i,n=a,r=o)}return t}function bt(e,t){return e.map(e=>{if(e.children?.length){let{minWidth:n,children:r,...i}=e;return{...i,children:bt(r,t)}}let{minWidth:n,...r}=e;if(!t.has(e))return r;let{width:i,...a}=r,o=t.get(e);return o===void 0?a:{...a,width:o}})}function xt(e){return bt(e,/* @__PURE__ */ new Map)}function St(e,t={}){let{scroll:n,rowSelection:r,expandedRowRender:i,hideExpandedColumn:a=!0,sticky:o,fill:s}=t,c=ht(e),l=()=>({columns:xt(e),scroll:n,fallbackColumnLabel:null,columnsTotalWidth:0,ignoredScrollX:!1});if(!(c.some(e=>!!e.fixed||!!e.ellipsis)||n?.y!=null||o)||c.length<2||c.some(e=>typeof e.width==`string`&&gt(e.width)===void 0))return l();let u=c.filter(e=>e.width===void 0),d=null,f=u;if(f.length===0){let e=yt(c);if(!e)return l();f=[e],d=vt(e)}let p=new Map(f.map(e=>[e,e.minWidth??gt(e.width)??120])),m=0;for(let e of c)p.has(e)||(m+=gt(e.width)??0);r&&!r.hidden&&(m+=Ct),i&&a===!1&&(m+=wt);let h=0;for(let e of p.values())h+=e;let g=m+h,_=/* @__PURE__ */ new Map,v,y=g;if(s===void 0){for(let e of f)_.set(e,void 0);v=Math.ceil(g)}else{let e=Math.floor(Math.max(0,s.contentWidth-g)/f.length);for(let[t,n]of p)_.set(t,n+e);y=g+e*f.length,v=Math.ceil(s.wrapperWidth)}return{columns:bt(e,_),scroll:{...n,x:v},fallbackColumnLabel:d,columnsTotalWidth:y,ignoredScrollX:n?.x!==void 0}}var Ct,wt,Tt,Et;function Dt(){return(Dt=e((()=>{Ct=48,wt=48,Tt=/name|title|subject|desc|remark|content|summary|message|reason|note|comment|body|text|label|url|path|address|keyword/i,Et=/(At|Time|Date|Count|Num|Amount|Id|No)$/})))()}function Ot(e){if(globalThis.window===void 0)return{};try{let t=globalThis.localStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);if(!n||typeof n!=`object`)return{};let r=n,i={};return`bordered`in r&&typeof r.bordered==`boolean`&&(i.bordered=r.bordered),`striped`in r&&typeof r.striped==`boolean`&&(i.striped=r.striped),`size`in r&&typeof r.size==`string`&&(i.size=r.size),i}catch{return{}}}function kt(e,t){if(globalThis.window!==void 0)try{if(Object.keys(t).length===0){globalThis.localStorage.removeItem(e);return}globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}function At(...e){return e.filter(Boolean).join(` `)||void 0}function jt(e){if(typeof e==`string`||typeof e==`number`)return String(e)}function Mt(e,t,n){if(e.key!==void 0&&e.key!==null)return String(e.key);let r=e.dataIndex;if(Array.isArray(r))return r.map(String).join(`.`);if(typeof r==`string`||typeof r==`number`)return String(r);let i=jt(e.title);return i?`title:${i}`:`column:${[...n,t].join(`.`)}`}function Nt(e){return Pt(e)}function Pt(e){return e[ce]===!0}function Ft(e,t){let n=jt(e.title);if(n)return n;let r=e.dataIndex;return Array.isArray(r)?r.map(String).join(`.`):typeof r==`string`||typeof r==`number`?String(r):t.replace(/^title:/,``).replace(/^column:/,`列 `)}function It(e,t=[]){return e.flatMap((e,n)=>{let r=Mt(e,n,t),i=e.children??[];return i.length>0?It(i,[...t,n]):[{key:r,title:Ft(e,r),alwaysVisible:Nt(e)}]})}function Lt(e,t,n=!1,r=[]){return e.reduce((e,i,a)=>{let o=Mt(i,a,r),s=i.children??[];if(s.length>0){let c=Lt(s,t,n,[...r,a]);return c.length>0&&e.push({...i,key:o,children:c}),e}return t.has(o)&&!Nt(i)?e:n&&Pt(i)?(e.push({...i,key:o,disable:!0,width:Wt}),e):(e.push({...i,key:o,disable:Pt(i)?!0:i.disable}),e)},[])}function Rt(e){return`arcbase:table-columns:${globalThis.window===void 0?`ssr`:globalThis.window.location.pathname}:${e.join(`|`)}`}function zt(e){if(globalThis.window===void 0)return[];try{let t=globalThis.localStorage.getItem(e);if(!t)return[];let n=JSON.parse(t);return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}catch{return[]}}function Bt(e,t){if(globalThis.window!==void 0)try{if(t.length===0){globalThis.localStorage.removeItem(e);return}globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}function Vt(e){let t=Object.fromEntries(zt(e).map(e=>[e,{show:!1}]));try{let n=globalThis.localStorage?.getItem(`${e}:pro`)&&JSON.parse(globalThis.localStorage.getItem(`${e}:pro`));return!n||typeof n!=`object`||Array.isArray(n)?t:Object.fromEntries(Object.entries(n).flatMap(([e,t])=>{if(!t||typeof t!=`object`)return[];let n=t;return[[e,{show:typeof n.show!=`boolean`||n.show,order:typeof n.order==`number`&&Number.isFinite(n.order)?n.order:void 0,fixed:n.fixed===`left`||n.fixed===`right`?n.fixed:void 0}]]}))}catch{return t}}function $(e,t,n=[]){return Object.fromEntries(e.flatMap((e,r)=>{let i=Mt(e,r,n),a=e.fixed===`left`||e.fixed===`start`||e.fixed===!0?`left`:e.fixed===`right`||e.fixed===`end`?`right`:void 0,o={show:!e.defaultHidden,fixed:a,...t[i],disable:e.disable};return Pt(e)&&Object.assign(o,{show:!0,fixed:a,disable:!0}),[[i,o],...Object.entries($(e.children??[],t,[...n,r]))]}))}function Ht(e,t){let n=new Map(t.map(e=>[String(e.key),e]));return e.map(e=>{let t=n.get(String(e.key));return{...e,...t,children:e.children?Ht(e.children,t?.children??[]):void 0}})}function Ut({columns:e,columnSettings:n=!0,columnSettingsKey:r,columnSettingsLabel:i=`列设置`,onRefresh:a,refreshLoading:o=!1,...s}){let{preferences:c,canOverridePreference:l,canEditPreference:u}=te(),m=se(),{bordered:h,className:g,onRow:_,size:v,pagination:y,scroll:b,rowSelection:x,expandedRowRender:S,hideExpandedColumn:C,sticky:T,resizable:k,virtualized:M,components:N,adaptive:re,searchConfig:ie,...P}=s,F=ee(null),[I,ae]=O(0),[oe,ce]=O(0);E(()=>{let e=F.current;if(!M||!e)return;let t=new ResizeObserver(e=>{let t=Math.floor(e[0]?.contentRect.width??0);t>0&&ae(t)});return t.observe(e),()=>t.disconnect()},[M]),E(()=>{let e=F.current;if(!M||!e)return;let t=()=>{let t=e.querySelector(`.ant-table-body`);t&&ce(Math.max(0,Math.floor(e.getBoundingClientRect().width)-t.clientWidth))};t();let n=0,r=new MutationObserver(()=>{n||=requestAnimationFrame(()=>{n=0,t()})});return r.observe(e,{childList:!0,subtree:!0}),()=>{r.disconnect(),n&&cancelAnimationFrame(n)}},[M,P.dataSource,P.expandedRowKeys,b?.y]);let de=ee(0),L=D(()=>{function e({style:e,...t}){let n=de.current;return/* @__PURE__ */ A(`table`,{...t,style:n>0?{...e,width:n}:e})}return e},[]),fe=D(()=>M?{...N,header:{...N?.header,outer:L}}:N,[N,M,L]),pe=D(()=>!y||typeof y==`boolean`?y:{...m?le:ue,...y},[y,m]),R=(c.showTableColumnSettings??!0)&&n,z=D(()=>e??[],[e]),B=D(()=>It(z),[z]),V=D(()=>r??Rt(B.map(e=>e.key)),[B,r]),H=D(()=>`${V}:display`,[V]),[U,W]=O(()=>Vt(V)),[G,me]=O(()=>Ot(H));E(()=>{W(Vt(V))},[V]),E(()=>{me(Ot(H))},[H]);let he=l(`tableBordered`)?G.bordered??c.tableBordered??h:c.tableBordered,K=l(`tableStriped`)?G.striped??c.tableStriped??!1:c.tableStriped,q=l(`tableSize`)?G.size??c.tableSize??v:c.tableSize,J=D(()=>$(z,R?U:{}),[z,R,U]),Y=ee(J);Y.current=J;let ge=D(()=>$(z,{}),[z]),ve=w(e=>{let t=$(z,e);if(JSON.stringify(t)!==JSON.stringify(Y.current)){Y.current=t,W(t),Bt(V,Object.keys(t).filter(e=>t[e].show===!1));try{globalThis.localStorage.setItem(`${V}:pro`,JSON.stringify(t))}catch{}}},[z,V]),X=w(e=>{me(t=>{let n={...t,...e};return kt(H,n),n})},[H]),ye=D(()=>B.filter(e=>!e.alwaysVisible),[B]),Z=D(()=>new Set(Object.keys(J).filter(e=>J[e].show===!1)),[J]),be=D(()=>Lt(z,Z,m),[z,Z,m]),xe=D(()=>Lt(z,/* @__PURE__ */ new Set,m),[z,m]),Se=D(()=>K?(e,t)=>{let n=_?.(e,t)??{};return t===void 0||t%2!=0?n:{...n,className:At(n.className,Gt)}}:_,[K,_]),Ce=At(g,K&&`configurable-table__table--striped`),we=R?be:xe,Q=D(()=>{let e=we;if(k)return{columns:xt(e),scroll:b,fallbackColumnLabel:null,columnsTotalWidth:0,ignoredScrollX:!1};let t=M&&I>0?{wrapperWidth:I,contentWidth:Math.max(0,I-oe)}:void 0;return St(e,{scroll:b,rowSelection:x,expandedRowRender:S,hideExpandedColumn:C,sticky:T,fill:t})},[we,b,x,S,C,T,k,M,I,oe]);de.current=M&&!k?Q.columnsTotalWidth:0,E(()=>{Q.fallbackColumnLabel&&(`${V}`,`${V}${Q.fallbackColumnLabel}`),Q.ignoredScrollX&&(`${V}`,`${V}`)},[Q.fallbackColumnLabel,Q.ignoredScrollX,V]),E(()=>{},[P.dataSource,Q.columns,V,m]);let Te=w(()=>{me({}),kt(H,{})},[H]),Ee=/* @__PURE__ */ j(`div`,{className:`table-display-settings-panel`,children:[/* @__PURE__ */ A(`div`,{className:`table-display-settings-title`,children:`表格显示`}),Object.keys(G).length>0&&/* @__PURE__ */ A(`p`,{className:`text-muted text-xs`,children:`此表已单独设置,恢复默认后跟随全局偏好。`}),/* @__PURE__ */ j(`div`,{className:`table-display-settings-list`,children:[u(`tableBordered`)&&/* @__PURE__ */ j(`div`,{className:`table-display-settings-item`,children:[/* @__PURE__ */ A(`span`,{children:`显示表格边框`}),/* @__PURE__ */ A(t,{size:`small`,checked:!!he,onChange:e=>X({bordered:e})})]}),u(`tableStriped`)&&/* @__PURE__ */ j(`div`,{className:`table-display-settings-item`,children:[/* @__PURE__ */ A(`span`,{children:`启用斑马纹`}),/* @__PURE__ */ A(t,{size:`small`,checked:!!K,onChange:e=>X({striped:e})})]})]}),/* @__PURE__ */ A(`div`,{className:`table-display-settings-footer`,children:/* @__PURE__ */ A(f,{theme:`borderless`,size:`small`,icon:/* @__PURE__ */ A(d,{size:14}),onClick:Te,children:`恢复默认`})})]}),De=Ht(xe,Q.columns);return/* @__PURE__ */ A(`div`,{ref:F,className:`configurable-table`,children:/* @__PURE__ */ A(_e,{...P,adaptive:re??!0,cardBordered:!0,cardProps:{},searchConfig:ie,options:{fullScreen:!0,reload:a?()=>{o||a()}:!1,reloadIcon:/* @__PURE__ */ A(tt,{spin:o}),density:u(`tableSize`),setting:R&&ye.length>0?{settingIcon:/* @__PURE__ */ A(pt,{"aria-label":i})}:!1},columnsState:{value:J,defaultValue:ge,onChange:ve},onSizeChange:e=>{u(`tableSize`)&&X({size:e===`large`?`default`:e})},toolBarRender:()=>ie?.actions??[],optionsRender:(e,t)=>u(`tableBordered`)||u(`tableStriped`)?[...t,/* @__PURE__ */ A(p,{trigger:`click`,render:Ee,children:/* @__PURE__ */ A(ne,{label:`表格显示设置`,children:/* @__PURE__ */ A(st,{})})},`display`)]:t,bordered:he,className:Ce,columns:De,scroll:Q.scroll,rowSelection:x,expandedRowRender:S,hideExpandedColumn:C,sticky:T,resizable:k,virtualized:M,components:fe,onRow:Se,pagination:pe,size:q})})}var Wt,Gt;function Kt(){return(Kt=e((()=>{m(),nt(),mt(),ct(),u(),Dt(),Wt=64,Gt=`configurable-table-row--striped`})))()}export{ve as a,me as c,H as d,_e as i,q as l,Kt as n,X as o,ge as r,K as s,Ut as t,z as u};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-BKuNeK48.js";import{o as t}from"./controls-C5dPckUT.js";import{o as n,s as r}from"./form-DhQiOMvp.js";import{_ as i,a,r as o,v as s,w as c}from"./ui-DoIHGuTR.js";import{useMemo as l,useState as u}from"react";import{Fragment as d,jsx as f,jsxs as p}from"react/jsx-runtime";import{textMatches as m}from"@fudanda/react-core/utils/pinyin";import{usePinyinReady as h}from"@fudanda/react-core/hooks/usePinyinReady";import{departmentTreeToTreeData as g}from"@fudanda/react-core/hooks/queries/departments";function _(e,t){return e.map(e=>({label:/* @__PURE__ */ p(i,{spacing:6,children:[/* @__PURE__ */ f(`span`,{children:e.title}),t?.[String(e.id)]]}),filterLabel:e.title,key:String(e.id),value:e.id,children:e.children?_(e.children,t):void 0}))}function v(e){return e.flatMap(e=>[e.id,...e.children?v(e.children):[]])}function y(e){return e.flatMap(e=>[String(e.id),...e.children?y(e.children):[]])}function b(e,t=/* @__PURE__ */ new Map){for(let n of e)t.set(n.id,n),n.children&&b(n.children,t);return t}function x(e){return(e.children??[]).filter(e=>e.type===`button`&&(e.permission?.endsWith(`:list`)||e.permission?.endsWith(`:query`)||e.title===`查询`)).map(e=>e.id)}function S({allMenus:e,checkedMenuIds:t,onChange:r,loading:c=!1,readonly:g=!1,labelSuffix:S}){let[C,w]=u([]),T=l(()=>b(e),[e]);if(h(),c)return/* @__PURE__ */ f(`div`,{style:{display:`flex`,justifyContent:`center`,padding:40},children:/* @__PURE__ */ f(s,{})});let E=e=>{let n=new Set(e.map(Number)),i=new Set(t);for(let e of n){if(i.has(e))continue;let t=T.get(e);if(t&&t.type!==`button`)for(let e of x(t))n.add(e)}r?.([...n])};return/* @__PURE__ */ p(d,{children:[!g&&/* @__PURE__ */ p(d,{children:[/* @__PURE__ */ f(o,{type:`info`,closeIcon:null,style:{marginBottom:8},description:`菜单仅控制页面可见性,操作能力(含查询)由按钮权限决定;勾选按钮不会带出所属页面。勾选页面时已自动带上「查询」按钮。`}),/* @__PURE__ */ p(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:8},children:[/* @__PURE__ */ p(i,{children:[/* @__PURE__ */ f(a,{size:`small`,theme:`borderless`,onClick:()=>r?.(v(e)),children:`全选`}),/* @__PURE__ */ f(a,{size:`small`,theme:`borderless`,onClick:()=>r?.([]),children:`全不选`})]}),/* @__PURE__ */ p(i,{children:[/* @__PURE__ */ f(a,{size:`small`,theme:`borderless`,onClick:()=>w(y(e)),children:`展开全部`}),/* @__PURE__ */ f(a,{size:`small`,theme:`borderless`,onClick:()=>w([]),children:`折叠全部`})]})]})]}),/* @__PURE__ */ f(n,{treeData:_(e,S),multiple:!0,autoMergeValue:!1,checkRelation:`unRelated`,expandedKeys:C,onExpand:e=>w(e),value:t.map(String),onChange:g?void 0:e=>E(e),disableStrictly:g,filterTreeNode:(e,t,n)=>m(String(n?.filterLabel??``),String(e)),showFilteredOnly:!0,searchPlaceholder:`搜索菜单名称`,virtualize:{height:400,itemSize:36}})]})}function C(){return(C=e((()=>{c()})))()}function w({dataScope:e,deptScopeIds:n,deptTree:i,onScopeChange:a,onDeptIdsChange:o,loading:c=!1,nullable:l=!1,readonly:u=!1}){if(c)return/* @__PURE__ */ f(`div`,{style:{display:`flex`,justifyContent:`center`,padding:20},children:/* @__PURE__ */ f(s,{})});let m=l?[{value:`__null__`,label:`跟随角色(不单独设置)`},...T]:T;return/* @__PURE__ */ p(d,{children:[/* @__PURE__ */ f(t,{value:e===null?`__null__`:e??`__null__`,disabled:u,onChange:e=>{if(u)return;let t=e;a?.(t===`__null__`?null:t)},style:{width:`100%`},optionList:m}),e===`custom`&&/* @__PURE__ */ f(r,{multiple:!0,filterTreeNode:!0,disabled:u,treeData:g(i),value:n,onChange:e=>{u||o?.(e)},placeholder:`请选择指定部门(可多选)`,style:{width:`100%`,marginTop:12}})]})}var T;function E(){return(E=e((()=>{c(),T=[{value:`all`,label:`全部数据权限`},{value:`custom`,label:`指定部门数据权限`},{value:`dept_only`,label:`本部门数据权限`},{value:`dept`,label:`本部门及以下数据权限`},{value:`self`,label:`仅本人数据权限`}]})))()}export{C as a,S as i,w as n,E as r,T as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-BKuNeK48.js";import{c as t,l as n,n as r,t as i}from"./ConfigurableTable-CyfZLgG0.js";import{a,o,r as s}from"./search-filters-BoRMIesR.js";import{r as ee,s as c}from"./toolbar-controls-BFOuV86W.js";import{i as l,n as u,r as te,t as ne}from"./chevrons-up-down-2M6hY6wt.js";import{t as d}from"./form-DhQiOMvp.js";import{a as f,g as p,o as m,w as h}from"./ui-DoIHGuTR.js";import{n as re,t as g}from"./useStatusToggle-B7KSIN75.js";import{n as ie,t as _}from"./useCrudOperationColumn-PObQMk2y.js";import{n as v}from"./listTableProps-DDynsnLF.js";import{i as y,n as b,s as x,t as S}from"./table-columns-XaoxVUJN.js";import{a as ae,i as C,r as w,t as oe}from"./EditFormModal-D68dOnaj.js";import{n as T,t as se}from"./DictTag-BerYvaUM.js";import{n as E,t as ce}from"./ExportButton-D4IvZKHy.js";import{n as D,r as O}from"./MemberAssignmentSheet-NWm5vThg.js";import{useMemo as k,useState as A}from"react";import{Fragment as j,jsx as M,jsxs as N}from"react/jsx-runtime";import{enumValueOf as P}from"@fudanda/shared/core";import{useDictItems as F}from"@fudanda/react-core/hooks/useDictItems";import{usePermission as I}from"@fudanda/react-core/hooks/usePermission";import{useFilterQuery as L}from"@fudanda/react-core/hooks/useFilterQuery";import{useListSearch as R}from"@fudanda/react-core/hooks/useListSearch";import{compactParams as z}from"@fudanda/react-core/lib/query";import{useUserList as B}from"@fudanda/react-core/hooks/queries/users";import{DEPARTMENT_CATEGORIES as V}from"@fudanda/shared/identity";import{useTreeExpansion as H}from"@fudanda/react-core/hooks/useTreeExpansion";import{departmentKeys as U,departmentsToTreeData as W,useDeleteDepartment as G,useDepartmentDetail as le,useDepartmentTreeSearch as ue,useFlatDepartments as de,useSaveDepartment as K}from"@fudanda/react-core/hooks/queries/departments";function fe(e,t){let n=/* @__PURE__ */ new Set,r=[t];for(;r.length>0;){let t=r.shift();if(t!==void 0)for(let i of e)i.parentId===t&&(n.add(i.id),r.push(i.id))}return n}function q(){let{hasPermission:e}=I(),{bind:n,bindKeyword:r,submittedParams:o,handleSearch:c,handleReset:l}=R({defaults:J,listKey:U.tree}),{items:u,options:h}=F(`common_status`),{options:g}=F(`department_category`),_=L({keyword:o.keyword,status:o.status}),y=ue(_),C=k(()=>y.data??[],[y.data]),w=de(),T=k(()=>w.data??[],[w.data]),E=K(),D=ae({entityName:`部门`,save:E,useDetail:le,defaults:{parentId:0,category:`department`,sort:0,status:`enabled`},toValues:e=>({parentId:e.parentId,name:e.name,code:e.code,category:P(V,e.category)??`department`,leaderId:e.leaderId??void 0,phone:e.phone,email:e.email,sort:e.sort,status:e.status})}),q=K(),Y=G(),[pe,X]=A(``),Z=B({pageSize:50,...z({keyword:pe})},D.visible),me=(Z.data?.list??[]).map(e=>({value:e.id,label:e.departmentName?`${e.nickname}-${e.departmentName}`:e.nickname})),{expandedRowKeys:Q,isAllExpanded:$,toggleExpandAll:he,onExpandedRowsChange:ge}=H(C),_e=k(()=>{let e=D.editing?/* @__PURE__ */ new Set([D.editing.id,...fe(T,D.editing.id)]):/* @__PURE__ */ new Set;return[{label:`顶级部门`,value:0,key:`0`,children:W(T,{excludeIds:e})}]},[T,D.editing]),ve=()=>{X(``),D.openCreate()},ye=e=>{D.openEdit(e)},be=re({toggle:(e,t)=>q.mutateAsync({id:e.id,values:{status:t?`enabled`:`disabled`}}),confirmDisable:e=>({danger:!0,title:`确认停用部门「${e.name}」?`,content:`停用后该部门将不可选择。`,okText:`确认停用`}),disabled:!e(`system:department:update`)}),xe=ie({permission:`system:department`,edit:e=>{ye(e)},remove:e=>Y.mutateAsync({params:{id:e.id}}),title:`确定要删除该部门吗?`,width:150}),Se=[{title:`部门名称`,dataIndex:`name`,minWidth:220},{title:`部门编码`,dataIndex:`code`,width:180,render:x},{title:`类别`,dataIndex:`category`,width:90,render:e=>/* @__PURE__ */ M(se,{dictCode:`department_category`,value:e})},{title:`负责人`,dataIndex:`leaderName`,width:120,render:e=>e||S},{title:`联系电话`,dataIndex:`phone`,width:140,render:e=>e||S},{title:`邮箱`,dataIndex:`email`,width:200,render:x},{title:`排序`,dataIndex:`sort`,width:90},O({dataIndex:`userPreview`,width:150,getPreview:e=>e.userPreview,getCount:e=>e.userCount,getScope:e=>({type:`department`,id:e.id,name:e.name})}),b,be.column(),xe],Ce=/* @__PURE__ */ M(f,{type:`primary`,icon:M($?te:ne,{size:14}),onClick:he,children:$?`全部折叠`:`全部展开`});return/* @__PURE__ */ N(`div`,{className:`page-container`,children:[/* @__PURE__ */ M(i,{searchConfig:t({keyword:/* @__PURE__ */ M(s,{placeholder:`搜索部门名称/编码`,...r(`keyword`),width:240}),filters:/* @__PURE__ */ M(a,{items:u,...n(`status`)}),onSearch:c,onReset:l,create:/* @__PURE__ */ M(ee,{permission:`system:department:create`,onClick:ve}),actions:/* @__PURE__ */ N(j,{children:[Ce,/* @__PURE__ */ M(ce,{entity:`system.departments`,query:_})]}),filterTitle:`部门筛选`,actionTitle:`部门操作`}),columns:Se,...v(y,{empty:`暂无数据`}),expandedRowKeys:Q,onExpandedRowsChange:ge}),/* @__PURE__ */ N(oe,{modal:D,width:660,children:[/* @__PURE__ */ M(d.TreeSelect,{field:`parentId`,label:`上级部门`,style:{width:`100%`},treeData:_e,placeholder:`请选择上级部门`,filterTreeNode:!0}),/* @__PURE__ */ N(p,{gutter:16,children:[/* @__PURE__ */ M(m,{span:12,children:/* @__PURE__ */ M(d.Input,{field:`name`,label:`部门名称`,placeholder:`请输入部门名称`,rules:[{required:!0,message:`请输入部门名称`}]})}),/* @__PURE__ */ M(m,{span:12,children:/* @__PURE__ */ M(d.Input,{field:`code`,label:`部门编码`,placeholder:`请输入部门编码`,rules:[{required:!0,message:`请输入部门编码`}]})})]}),/* @__PURE__ */ N(p,{gutter:16,children:[/* @__PURE__ */ M(m,{span:12,children:/* @__PURE__ */ M(d.Select,{field:`category`,label:`类别`,optionList:g,style:{width:`100%`},placeholder:`请选择类别`,rules:[{required:!0,message:`请选择类别`}]})}),/* @__PURE__ */ M(m,{span:12,children:/* @__PURE__ */ M(d.Select,{field:`leaderId`,label:`负责人`,placeholder:`请选择负责人`,showClear:!0,filter:!0,remote:!0,loading:Z.isFetching,optionList:me,onSearch:X,style:{width:`100%`}})}),/* @__PURE__ */ M(m,{span:12,children:/* @__PURE__ */ M(d.Input,{field:`phone`,label:`联系电话`,placeholder:`请输入联系电话`})})]}),/* @__PURE__ */ N(p,{gutter:16,children:[/* @__PURE__ */ M(m,{span:12,children:/* @__PURE__ */ M(d.Input,{field:`email`,label:`邮箱`,placeholder:`请输入邮箱`})}),/* @__PURE__ */ M(m,{span:12,children:/* @__PURE__ */ M(d.InputNumber,{field:`sort`,label:`排序`,placeholder:`请输入排序`,min:0,style:{width:`100%`}})})]}),/* @__PURE__ */ M(p,{gutter:16,children:/* @__PURE__ */ M(m,{span:12,children:/* @__PURE__ */ M(d.Select,{field:`status`,label:`状态`,optionList:h,style:{width:`100%`},placeholder:`请选择状态`})})})]})]})}var J;function Y(){return(Y=e((()=>{h(),u(),l(),T(),C(),E(),r(),y(),c(),o(),n(),g(),_(),D(),w(),J={keyword:``,status:void 0}})))()}Y();export{q as default};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-BKuNeK48.js";import{b as t,w as n}from"./ui-DoIHGuTR.js";import{jsx as r}from"react/jsx-runtime";import{useDictItems as i}from"@fudanda/react-core/hooks/useDictItems";function a({dictCode:e,value:n,fallback:a,size:o=`small`,...s}){let{items:c}=i(e);if(n==null||n===``)return/* @__PURE__ */ r(`span`,{children:`—`});let l=c.find(e=>e.value===n),u=l?.label??a??n,d=l?.color;return/* @__PURE__ */ r(t,{color:d,size:o,...s,children:u})}function o(){return(o=e((()=>{n()})))()}export{o as n,a as t};
@@ -1,15 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-BKuNeK48.js";import{o as t,s as n}from"./controls-C5dPckUT.js";import{i as r}from"./feedback-D4BIfDNd.js";import{t as ee}from"./json-viewer-DHYRjY8I.js";import{c as te,l as i,n as a,r as ne,t as re}from"./ConfigurableTable-CyfZLgG0.js";import{a as ie,o as ae,r as oe}from"./search-filters-BoRMIesR.js";import{n as o,t as s}from"./createLucideIcon-BtwfYE6A.js";import{n as c,t as l}from"./MasterDetailLayout-DDVFodpX.js";import{r as se,s as ce}from"./toolbar-controls-BFOuV86W.js";import{i as le,n as ue,r as de,t as fe}from"./chevrons-up-down-2M6hY6wt.js";import{n as u,t as pe}from"./plus-Bvdn6bx1.js";import{n as d,t as me}from"./refresh-cw-Dz8O9-Hp.js";import{n as f,t as he}from"./trash-tHBT8Mpw.js";import{s as ge,t as p}from"./form-DhQiOMvp.js";import{_ as _e,a as ve,b as m,g as h,o as g,w as _}from"./ui-DoIHGuTR.js";import{i as v,n as ye,r as be}from"./confirm-CC2F8XXe.js";import{n as xe,t as y}from"./useStatusToggle-B7KSIN75.js";import{n as Se,t as b}from"./useCrudOperationColumn-PObQMk2y.js";import{n as x,t as Ce}from"./DateTimeText-rk9NeYgA.js";import{i as S,n as we,s as C}from"./table-columns-XaoxVUJN.js";import{a as Te,i as w,r as T,t as E}from"./EditFormModal-D68dOnaj.js";import{n as Ee,t as De}from"./ExportButton-D4IvZKHy.js";import{i as D,n as Oe,r as ke,t as Ae}from"./NavListPanel-agMt2kc6.js";import{useEffect as O,useMemo as k,useRef as je,useState as A}from"react";import{Fragment as Me,jsx as j,jsxs as M}from"react/jsx-runtime";import{abortSubmit as Ne}from"@fudanda/react-core/lib/abort-submit";import{useDictItems as Pe}from"@fudanda/react-core/hooks/useDictItems";import{usePermission as Fe}from"@fudanda/react-core/hooks/usePermission";import{useFilterQuery as Ie}from"@fudanda/react-core/hooks/useFilterQuery";import{useListSearch as Le}from"@fudanda/react-core/hooks/useListSearch";import{createDictSchema as Re}from"@fudanda/shared/platform";import{useTreeExpansion as ze}from"@fudanda/react-core/hooks/useTreeExpansion";import{useUrlSelectionState as Be}from"@fudanda/react-core/hooks/useUrlSelectionState";import{dictKeys as Ve,useCreateDictItem as He,useDeleteDictItem as Ue,useDeleteDicts as We,useDictDetail as Ge,useDictItemDetail as N,useDictItemsById as Ke,useDictList as qe,useSaveDict as Je,useUpdateDictItem as P}from"@fudanda/react-core/hooks/queries/dicts";var F,I;function L(){return(L=e((()=>{
2
- /**
3
- * @license lucide-react v1.53.0 - ISC
4
- *
5
- * This source code is licensed under the ISC license.
6
- * See the LICENSE file in the root directory of this source tree.
7
- */
8
- o(),F={name:`book-open`,size:24,node:[[`path`,{d:`M12 5v16`,key:`1f6ucr`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`,key:`1fyvmf`}]]},F.node,I=s(F)})))()}var R,Ye;function z(){return(z=e((()=>{
9
- /**
10
- * @license lucide-react v1.53.0 - ISC
11
- *
12
- * This source code is licensed under the ISC license.
13
- * See the LICENSE file in the root directory of this source tree.
14
- */
15
- o(),R={name:`pencil`,size:24,node:[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]},R.node,Ye=s(R)})))()}function Xe(e,t,n){return N(n?.dictId,e,t)}function B(){let{hasPermission:e}=Fe(),i=je(null),[a,ae]=A([]),{page:o,pageSize:s,setPage:c,setPageSize:ce,draftParams:le,setField:ue,submittedParams:u,handleSearch:d}=Le({defaults:{keyword:``},listKey:Ve.lists}),f=Ie({keyword:u.keyword}),[_,v]=Be(`dict`),[y,b]=A(null),[x,S]=A(null),[w,T]=A(`{}`),{items:Ee,options:D}=Pe(`common_status`),N=e=>e,[F,L]=A(!1),R=qe({page:o,pageSize:s,...f}),z=R.data?.total??0,B=_===null?void 0:Number(_),V=B!==void 0&&Number.isInteger(B)&&B>0,Qe=V?a.find(e=>e.id===B)??null:null,H=Ge(B,V&&!Qe),U=Qe??(H.data&&H.data.id===B?H.data:null)??(F?null:a[0]??null);O(()=>{_!==null&&(!V||H.isError)&&v(null)},[_,V,H.isError,v]);let W=Ke(U?.id),G=k(()=>W.data??[],[W.data]),K=Le({defaults:Ze,listKey:Ve.items(U?.id)}),$e=Je(),q=Te({entityName:`字典`,save:$e,useDetail:Ge,defaults:{status:`enabled`}}),J=Je(),et=We(),tt=He(),nt=P(),rt=P(),it=Ue(),at=J.isPending?J.variables?.id??null:null,Y=Te({entityName:`字典项`,save:{mutateAsync:({id:e,values:t})=>(U||Ne(`validation`),e===void 0?tt.mutateAsync({params:{id:U.id},body:t}):nt.mutateAsync({params:{id:U.id,itemId:e},body:t})),isPending:tt.isPending||nt.isPending},useDetail:Xe,defaults:{status:`enabled`,sort:0},toValues:e=>({label:e.label,value:e.value,sort:e.sort,status:e.status,remark:e.remark??void 0}),beforeSave:e=>{let t=null,n=(i.current?.getValue()??w).trim();if(n&&n!==`{}`)try{t=JSON.parse(n)}catch{r.error(`元数据 JSON 格式有误,请检查后重试`),Ne()}return{...e,parentId:y??void 0,color:x??null,metadata:t}},labelWidth:72}),X=Y.editing;O(()=>{R.data&&ae(R.data.list)},[R.data]);let ot=je(null);O(()=>{X&&(b(X.parentId??null),S(X.color??null),T(X.metadata?JSON.stringify(X.metadata,null,2):`{}`))},[X]);let st=e=>{c(e)},ct=e=>{c(1),ce(e)},lt=e=>{v(String(e.id)),K.handleReset()},Z=k(()=>{let{keyword:e,status:t}=K.submittedParams;return G.filter(n=>!(e&&!n.label.includes(e)&&!n.value.includes(e)||t&&n.status!==t))},[G,K.submittedParams]),ut=k(()=>{let e=new Set(Z.map(e=>e.id)),t=e=>Z.filter(t=>t.parentId===e).map(e=>{let n=t(e.id);return n.length>0?{...e,children:n}:e});return Z.filter(t=>!t.parentId||!e.has(t.parentId)).map(e=>{let n=t(e.id);return n.length>0?{...e,children:n}:e})},[Z]),{expandedRowKeys:dt,setExpandedRowKeys:ft,allRowKeys:Q,isAllExpanded:pt,toggleExpandAll:mt,onExpandedRowsChange:ht}=ze(ut);O(()=>{U&&W.data!==void 0&&ot.current!==U.id&&(ot.current=U.id,ft(Q))},[U,W.data,Q,ft]);let $=k(()=>{if(!X)return/* @__PURE__ */ new Set;let e=/* @__PURE__ */ new Set([X.id]),t=n=>{G.filter(e=>e.parentId===n).forEach(n=>{e.add(n.id),t(n.id)})};return t(X.id),e},[X,G]),gt=k(()=>{let e=t=>G.filter(e=>(e.parentId??null)===t).map(t=>({label:t.label,value:t.id,key:String(t.id),disabled:$.has(t.id),children:e(t.id)}));return[{label:`无(根项目)`,value:0,key:`0`},...e(null)]},[G,$]),_t=e=>{q.openEdit(e)},vt=async e=>{await et.mutateAsync([e]),r.success(`删除成功`),_===String(e)&&v(null)},yt=async e=>{U&&await it.mutateAsync({params:{id:U.id,itemId:e}})},bt=(e=null)=>{b(e),S(null),T(`{}`),Y.openCreate()},xt=e=>bt(e.id),St=e=>{U&&(b(e.parentId??null),S(e.color??null),T(e.metadata?JSON.stringify(e.metadata,null,2):`{}`),Y.openEdit(e))},Ct=xe({toggle:(e,t)=>U?rt.mutateAsync({params:{id:U.id,itemId:e.id},body:{status:t?`enabled`:`disabled`}}):Promise.resolve(),confirmDisable:e=>({danger:!0,title:`确认禁用字典项「${e.label}」?`,okText:`确认禁用`}),disabled:!U||!e(`system:dict:item`)}),wt=async(e,t)=>{(t!==`disabled`||await ye({title:`确认禁用字典「${e.name}」?`,okText:`确认禁用`}))&&(await J.mutateAsync({id:e.id,values:{status:t}}),r.success(t===`enabled`?`已启用`:`已禁用`))},Tt=/* @__PURE__ */ j(ke,{title:`字典列表`,headerExtra:/* @__PURE__ */ M(_e,{spacing:6,children:[/* @__PURE__ */ j(De,{entity:`system.dicts`,query:f}),/* @__PURE__ */ j(Oe,{items:[{key:`refresh`,label:`刷新`,icon:/* @__PURE__ */ j(me,{size:14}),onClick:()=>void R.refetch()},{key:`create`,label:`新增字典`,icon:/* @__PURE__ */ j(pe,{size:14}),hidden:!e(`system:dict:create`),onClick:q.openCreate}]})]}),search:{value:le.keyword,onChange:ue(`keyword`),placeholder:`名称/编码`,onEnterPress:d},loading:R.isFetching,emptyText:`暂无字典`,footer:/* @__PURE__ */ j(ne,{size:`small`,hoverShowPageSelect:!0,total:z,currentPage:o,pageSize:s,pageSizeOpts:[10,20,50,100],showSizeChanger:!0,showTotal:!0,onPageChange:st,onPageSizeChange:ct}),dataSource:a,renderItem:t=>{let n=U?.id===t.id;return/* @__PURE__ */ j(Ae,{active:n,onClick:()=>lt(t),primary:t.name,secondary:t.code,meta:t.status===`disabled`?/* @__PURE__ */ M(`span`,{style:{flex:1,display:`flex`,justifyContent:`space-between`,alignItems:`center`},children:[/* @__PURE__ */ j(`span`,{children:/* @__PURE__ */ j(Ce,{value:t.createdAt})}),/* @__PURE__ */ j(m,{size:`small`,color:`grey`,children:`停用`})]}):/* @__PURE__ */ j(Ce,{value:t.createdAt}),style:t.status===`disabled`?{opacity:.55}:void 0,extra:/* @__PURE__ */ j(Oe,{items:[{key:`edit`,label:`编辑`,icon:/* @__PURE__ */ j(Ye,{size:14}),hidden:!e(`system:dict:update`),onClick:()=>void _t(t)},{key:`delete`,label:`删除`,icon:/* @__PURE__ */ j(he,{size:14}),danger:!0,hidden:!e(`system:dict:delete`),onClick:()=>{be({title:`确认删除此字典?`,content:`字典下的所有字典项也将一并删除`,onOk:()=>vt(t.id)})}}]})},t.id)}}),Et=Se({permissions:{edit:`system:dict:item`,remove:`system:dict:item`},edit:St,remove:e=>yt(e.id),title:`确认删除此字典项?`,extra:t=>[{key:`child`,label:`子项`,hidden:!e(`system:dict:item`),onClick:()=>xt(t)}],width:210,desktopInlineKeys:[`child`,`edit`,`delete`]}),Dt=[{title:`标签`,dataIndex:`label`,width:160,render:(e,t)=>t.color?/* @__PURE__ */ j(m,{color:N(t.color),size:`small`,children:e}):C(e)},{title:`键值`,dataIndex:`value`,width:160,render:C},{title:`排序`,dataIndex:`sort`,width:70,align:`center`},{title:`备注`,dataIndex:`remark`,minWidth:200,render:C},we,Ct.column(),Et],Ot=()=>Q.length>0?/* @__PURE__ */ j(ve,{type:`primary`,icon:j(pt?de:fe,{size:14}),onClick:mt,disabled:!U,children:pt?`全部折叠`:`全部展开`}):null,kt=/* @__PURE__ */ M(Me,{children:[/* @__PURE__ */ j(l.Header,{children:U?/* @__PURE__ */ M(Me,{children:[/* @__PURE__ */ M(`div`,{className:`dict-detail-title`,children:[/* @__PURE__ */ j(I,{size:16}),/* @__PURE__ */ j(`span`,{title:U.name,children:U.name})]}),/* @__PURE__ */ j(m,{size:`small`,color:`blue`,children:U.code}),/* @__PURE__ */ j(n,{size:`small`,checked:U.status===`enabled`,loading:at===U.id,disabled:!e(`system:dict:update`),onChange:e=>void wt(U,e?`enabled`:`disabled`)})]}):/* @__PURE__ */ j(`span`,{className:`dict-detail-placeholder`,children:`请选择字典`})}),/* @__PURE__ */ j(l.Body,{children:/* @__PURE__ */ j(re,{searchConfig:te({keyword:/* @__PURE__ */ j(oe,{placeholder:`标签/键值`,...K.bindKeyword(`keyword`),width:180,disabled:!U}),filters:/* @__PURE__ */ j(ie,{items:Ee,...K.bind(`status`),disabled:!U}),onSearch:K.handleSearch,onReset:K.handleReset,create:/* @__PURE__ */ j(se,{permission:`system:dict:item`,onClick:()=>bt(),disabled:!U}),actions:Ot(),filterTitle:`字典项筛选`,actionTitle:`字典项操作`}),bordered:!0,columns:Dt,dataSource:ut,rowKey:`id`,loading:W.isFetching,onRefresh:U?()=>void W.refetch():void 0,refreshLoading:W.isFetching,pagination:!1,size:`small`,empty:U?`暂无数据`:`请选择字典`,childrenRecordName:`children`,expandedRowKeys:dt,onExpandedRowsChange:ht})})]});return/* @__PURE__ */ M(`div`,{className:`page-container page-container--stretch`,children:[/* @__PURE__ */ j(l,{master:Tt,detail:kt,defaultSize:300,minSize:260,maxSize:420,persistKey:`dicts`,showDetail:!!U,onBack:()=>v(null),onResponsiveChange:L,style:{flex:1,overflow:`hidden`}}),/* @__PURE__ */ M(E,{modal:q,width:480,children:[/* @__PURE__ */ j(p.Input,{field:`name`,label:`字典名称`,placeholder:`请输入字典名称`,style:{width:`100%`},rules:[{required:!0,message:`请输入字典名称`}]}),/* @__PURE__ */ j(p.Input,{field:`code`,label:`字典编码`,placeholder:`小写字母和下划线`,style:{width:`100%`},rules:[{required:!0,message:`请输入字典编码`}],validate:e=>{let t=Re.shape.code.safeParse(e);return t.success?``:t.error.issues[0]?.message??`字典编码无效`}}),/* @__PURE__ */ j(p.Input,{field:`description`,label:`描述`,placeholder:`请输入描述`,style:{width:`100%`}}),/* @__PURE__ */ j(p.Select,{field:`status`,label:`状态`,style:{width:`100%`},optionList:D,placeholder:`请选择状态`})]}),/* @__PURE__ */ M(E,{modal:Y,width:600,children:[/* @__PURE__ */ M(h,{gutter:16,children:[/* @__PURE__ */ j(g,{span:12,children:/* @__PURE__ */ j(p.Input,{field:`label`,label:`标签`,placeholder:`请输入标签`,style:{width:`100%`},rules:[{required:!0,message:`请输入标签`}]})}),/* @__PURE__ */ j(g,{span:12,children:/* @__PURE__ */ j(p.Input,{field:`value`,label:`键值`,placeholder:`请输入键值`,style:{width:`100%`},rules:[{required:!0,message:`请输入键值`}]})})]}),/* @__PURE__ */ M(h,{gutter:16,children:[/* @__PURE__ */ j(g,{span:12,children:/* @__PURE__ */ j(p.InputNumber,{field:`sort`,label:`排序`,placeholder:`请输入排序`,min:0,style:{width:`100%`}})}),/* @__PURE__ */ j(g,{span:12,children:/* @__PURE__ */ j(p.Select,{field:`status`,label:`状态`,style:{width:`100%`},optionList:D,placeholder:`请选择状态`})})]}),/* @__PURE__ */ M(h,{gutter:16,children:[/* @__PURE__ */ j(g,{span:12,children:/* @__PURE__ */ j(p.Slot,{label:{text:`父级`},children:/* @__PURE__ */ j(ge,{treeData:gt,value:y??0,onChange:e=>b(e===0?null:e),style:{width:`100%`},filterTreeNode:!0,expandAll:!0})})}),/* @__PURE__ */ j(g,{span:12,children:/* @__PURE__ */ j(p.Slot,{label:{text:`颜色`},children:(()=>{let e=[`amber`,`blue`,`cyan`,`green`,`grey`,`indigo`,`light-blue`,`light-green`,`lime`,`orange`,`pink`,`purple`,`red`,`teal`,`violet`,`yellow`,`white`],n={amber:`琥珀`,blue:`蓝色`,cyan:`青色`,green:`绿色`,grey:`灰色`,indigo:`靛蓝`,"light-blue":`浅蓝`,"light-green":`浅绿`,lime:`柠绿`,orange:`橙色`,pink:`粉色`,purple:`紫色`,red:`红色`,teal:`蓝绿`,violet:`紫罗兰`,yellow:`黄色`,white:`白色`};return/* @__PURE__ */ j(t,{value:x??void 0,onChange:e=>S(e??null),placeholder:`无颜色`,showClear:!0,onClear:()=>S(null),style:{width:`100%`},renderSelectedItem:e=>/* @__PURE__ */ j(m,{color:N(e.value),size:`small`,style:{margin:`2px 0`},children:e.label}),renderOptionItem:({selected:e,style:t,onClick:n,value:r,label:ee})=>/* @__PURE__ */ j(`button`,{type:`button`,onClick:n,style:{...t,display:`flex`,alignItems:`center`,gap:8,padding:`6px 12px`,cursor:`pointer`,width:`100%`,border:`none`,background:e?`var(--arc-antd-color-primary-light-default)`:`transparent`,textAlign:`left`},children:/* @__PURE__ */ j(m,{color:N(r),size:`small`,children:ee})}),children:e.map(e=>/* @__PURE__ */ j(t.Option,{value:e,label:n[e]??e,children:/* @__PURE__ */ j(m,{color:N(e),size:`small`,children:n[e]??e})},e))})})()})})]}),/* @__PURE__ */ j(h,{gutter:16,children:/* @__PURE__ */ j(g,{span:24,children:/* @__PURE__ */ j(p.Input,{field:`remark`,label:`备注`,placeholder:`请输入备注`,style:{width:`100%`}})})}),/* @__PURE__ */ j(h,{gutter:16,children:/* @__PURE__ */ j(g,{span:24,children:/* @__PURE__ */ j(p.Slot,{label:{text:`元数据`},children:/* @__PURE__ */ j(ee,{ref:i,value:w,height:200,width:`100%`},w)})})})]})]})}var Ze;function V(){return(V=e((()=>{_(),u(),L(),le(),ue(),d(),z(),f(),x(),Ee(),a(),w(),c(),D(),S(),ce(),v(),i(),y(),b(),ae(),T(),Ze={keyword:``,status:void 0}})))()}V();export{B as default};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-BKuNeK48.js";import{i as t,n,r,t as i}from"./user-cC0uCe3d.js";import{n as a,t as o}from"./ModalFooter-vXDpmYTM.js";import{i as s,n as c,o as l,r as u,t as d}from"./LoginField-Bu4C0-Mk.js";import{n as f,t as p}from"./AppModal-B_xvSaeq.js";import{useState as m}from"react";import{jsx as h,jsxs as g}from"react/jsx-runtime";function _({provider:e,loading:t,onCancel:n,onSubmit:r}){return/* @__PURE__ */ h(p,{title:e?`${e.name} 登录`:`目录账号登录`,visible:!!e,onCancel:n,footer:null,closeOnEsc:!0,width:420,children:/* @__PURE__ */ h(v,{loading:t,onCancel:n,onSubmit:r},e?.id??`none`)})}function v({loading:e,onCancel:t,onSubmit:n}){let a=l(y,b),[s,u]=m(!1),f=e||s,p=async()=>{let e=a.validate();if(e&&!f){u(!0);try{let t=await n(e);t&&a.setFormError(t)}finally{u(!1)}}};return/* @__PURE__ */ g(`form`,{className:`login-form`,onSubmit:e=>{e.preventDefault(),p()},noValidate:!0,children:[/* @__PURE__ */ h(d,{...a.field(`username`),id:`directory-login-username`,label:`账号`,labelPosition:`left`,placeholder:`目录账号 / 邮箱`,prefix:/* @__PURE__ */ h(i,{}),size:`large`,autoComplete:`username`,autoFocus:!0}),/* @__PURE__ */ h(d,{...a.field(`password`),id:`directory-login-password`,label:`密码`,labelPosition:`left`,mode:`password`,placeholder:`目录密码`,prefix:/* @__PURE__ */ h(r,{}),size:`large`,autoComplete:`current-password`}),/* @__PURE__ */ h(c,{message:a.formError}),/* @__PURE__ */ h(o,{onCancel:t,onOk:p,okText:`登录`,loading:f})]})}var y,b;function x(){return(x=e((()=>{n(),t(),f(),a(),s(),u(),y={username:``,password:``},b={username:[{required:!0,message:`请输入目录账号`}],password:[{required:!0,message:`请输入目录密码`}]}})))()}x();export{_ as default};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-BKuNeK48.js";import{i as t,o as n,s as r}from"./feedback-D4BIfDNd.js";import{n as i,r as a}from"./form-DhQiOMvp.js";import{w as o}from"./ui-DoIHGuTR.js";import{n as s,t as c}from"./useModalViewport-HF7te75S.js";import{n as l,t as u}from"./ModalFooter-vXDpmYTM.js";import{useCallback as d,useEffect as f,useMemo as p,useRef as m,useState as h}from"react";import{jsx as g,jsxs as _}from"react/jsx-runtime";import{Form as v}from"antd";import{abortSubmit as y}from"@fudanda/react-core/lib/abort-submit";import{showRequestErrorToast as b}from"@fudanda/react-core/utils/request-toast";import{ApiError as x}from"@fudanda/react-core/lib/query";import{OverlayForm as S}from"@fudanda/elements-antd/form";function C(e,t){return`${e??`new`}:${t?`detail`:`row`}`}function w(e){let{entityName:n=``,save:r,useDetail:i,toValues:a,beforeSave:o,onSaved:s,successMessage:c,labelPosition:l=`left`,labelWidth:u=90}=e,g=m(null),_=m(!1),v=m(0),S=m(!0);f(()=>(S.current=!0,()=>{S.current=!1}),[]);let[w,E]=h(!1),[D,O]=h(!1),[k,A]=h(null),[j,M]=h({}),N=m(e);N.current=e;let P=(i??T)(k?.id,D&&k!=null,k??void 0),F=k?P.data??k:null,I=k!=null,L=I&&P.isFetching,R=d(()=>{v.current++;let e=N.current.defaults;M((typeof e==`function`?e():e)??{}),A(null),O(!0)},[]),z=d(e=>{v.current++,A(e),O(!0)},[]),B=d(()=>{v.current++,O(!1),A(null),g.current=null},[]),V=p(()=>F?a?a(F):F:j,[F,a,j]),H=C(k?.id,P.data),U=d(async()=>{(_.current||!g.current)&&y(),_.current=!0;let e=v.current;E(!0);try{let n;try{n=await g.current?.validate()}catch{y()}(!S.current||e!==v.current)&&y(`stale-editor`);let i={editing:F,isEdit:I},a=o?await o(n,i):n;(!S.current||e!==v.current)&&y(`stale-editor`);let l;try{l=await r.mutateAsync({id:k?.id,values:a})}catch(t){S.current&&e===v.current&&t instanceof x&&b(t.message),y(`save-failed`)}(!S.current||e!==v.current)&&y(`stale-editor`);let u=c?c(i):I?`更新成功`:`创建成功`;u&&t.success(u),B(),s?.(l,i)}finally{_.current=!1,S.current&&E(!1)}},[F,I,k,o,r,c,B,s]);return{visible:D,editing:F,isEdit:I,detailLoading:L,openCreate:R,openEdit:z,close:B,modalProps:{title:`${I?`编辑`:`新增`}${n}`,visible:D,onOk:U,onCancel:B,okButtonProps:{loading:r.isPending||w,disabled:L},closeOnEsc:!0},footerProps:{onOk:U,onCancel:B,loading:r.isPending||w,disabled:L},formKey:H,formProps:{getFormApi:e=>{g.current=e},allowEmpty:!0,initValues:V,labelPosition:l,labelWidth:u},formApi:g}}var T;function E(){return(E=e((()=>{o(),T=()=>({data:void 0,isFetching:!1})})))()}function D({modal:e,header:t,formProps:n,children:a,mode:o=`modal`,fullscreenable:c=!1,restoreViewport:l=!0,fullscreen:u,onToggleFullscreen:d,afterClose:f,maskClosable:p,closeOnEsc:m,footer:h,title:y,width:b,okText:x,cancelText:C,okButtonProps:w,onCancel:T,...E}){let[D]=v.useForm(),O=s(e.visible,l,f),{getFormApi:k,initValues:A,labelPosition:j,labelWidth:M,onValueChange:N,onSubmit:P,allowEmpty:F,...I}={...e.formProps,...n},L={...e.modalProps.okButtonProps,...w};return/* @__PURE__ */ _(S,{mode:o,form:D,open:e.visible,onOpenChange:t=>{t||e.close()},title:y??e.modalProps.title,width:b,values:A,resetKey:e.formKey,detailLoading:e.detailLoading,maskClosable:p,busy:!!L.loading,submitDisabled:L.disabled,submitLabel:x==null?void 0:String(x),cancelLabel:C==null?void 0:String(C),footer:h,fullscreenable:c,fullscreen:u,onToggleFullscreen:d,...I,layout:j===`left`?`horizontal`:`vertical`,labelCol:M?{style:{width:M}}:void 0,onValuesChange:(e,t)=>N?.(t,e),onFinish:async()=>(await r(e.modalProps.onOk),!1),modalProps:{...E,keyboard:m??e.modalProps.closeOnEsc,afterClose:O,onCancel:T},drawerProps:{keyboard:m??e.modalProps.closeOnEsc,onClose:T,afterOpenChange:e=>{e||O()}},children:[t,/* @__PURE__ */ g(i,{form:D,getFormApi:k,initValues:A,children:a})]})}function O({modal:e,header:t,formProps:n,children:a,title:o,okText:s=`保存`,footerExtra:c,footer:l,width:d,closeOnEsc:f=!0,maskClosable:p,onCancel:m,...h}){let[y]=v.useForm(),{getFormApi:b,initValues:x,labelPosition:C,labelWidth:w,onValueChange:T,onSubmit:E,allowEmpty:D,...O}={...e.formProps,...n};return/* @__PURE__ */ _(S,{mode:`drawer`,form:y,open:e.visible,onOpenChange:t=>{t||e.close()},title:o??e.modalProps.title,width:d,values:x,resetKey:e.formKey,maskClosable:p,busy:e.footerProps.loading,detailLoading:e.detailLoading,submitDisabled:e.footerProps.disabled,submitLabel:String(s),footer:l??(c?/* @__PURE__ */ g(u,{...e.footerProps,okText:s,extra:c}):void 0),...O,layout:C===`left`?`horizontal`:`vertical`,labelCol:w?{style:{width:w}}:void 0,onValuesChange:(e,t)=>T?.(t,e),onFinish:async()=>(await r(e.modalProps.onOk),!1),drawerProps:{...h,keyboard:f,onClose:m},children:[t,/* @__PURE__ */ g(i,{form:y,getFormApi:b,initValues:x,children:a})]})}function k(){return(k=e((()=>{a(),c(),l(),n()})))()}export{w as a,E as i,O as n,k as r,D as t};
@@ -1 +0,0 @@
1
- import{n as e,r as t,t as n}from"./EntityContextRuntime-BrAz-aCV.js";t();export{n as EntityContextSheet,e as default};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-BKuNeK48.js";import{t}from"./controls-C5dPckUT.js";import{t as n}from"./typography-DKK_iHcj.js";import{i as r}from"./feedback-D4BIfDNd.js";import{r as i}from"./media-DoGe_p4O.js";import{C as a,_ as o,a as s,c,u as l,v as u,w as d}from"./ui-DoIHGuTR.js";import{i as f,r as p}from"./confirm-CC2F8XXe.js";import{r as m,t as h}from"./deleteAction-NGTDhZud.js";import{S as g,a as _,d as v,i as y,n as b,t as x}from"./file-utils-DJ9ksj-g.js";import{n as S,t as C}from"./AppModal-B_xvSaeq.js";import{n as w,t as T}from"./FilePreviewModal-D7v5seXB.js";import{cloneElement as E,useCallback as ee,useEffect as D,useRef as O,useState as k}from"react";import{Fragment as A,jsx as j,jsxs as M}from"react/jsx-runtime";import{escapeRegExp as N,formatBytes as P}from"@fudanda/shared/core";import{formatDateTime as F}from"@fudanda/react-core/utils/date";import{createDisplayableImageUrl as I}from"@fudanda/react-core/utils/image-decode";import{generateWatermarkTile as L}from"@fudanda/react-core/components/watermark-tile";function R(e,{preview:t,onDetail:n,onCopyUrl:r,onDelete:i,canDelete:a}){return[{key:`preview`,label:`预览`,disabled:!x(e.mimeType,e.originalName),loading:t.previewLoadingId===e.id,onClick:()=>t.handlePreview(e)},{key:`download`,label:`下载`,loading:t.downloadLoadingId===e.id,onClick:()=>t.handleDownload(e)},{key:`detail`,label:`详情`,onClick:()=>n(e)},{key:`copy-url`,label:`复制链接`,onClick:()=>r(e)},{key:`delete`,label:`删除`,danger:!0,dividerBefore:!0,hidden:!a,onClick:()=>{p({title:`确认删除此文件?`,content:`删除文件记录后,将同步尝试删除实际存储对象。`,onOk:()=>i(e)})}}]}function z(){return(z=e((()=>{_(),f()})))()}function B({content:e,visible:t}){let n=(Array.isArray(e)?e:e?[e]:[]).filter(Boolean),r=JSON.stringify(n),[i,a]=k(null);return D(()=>{let e=JSON.parse(r);if(!t||e.length===0){a(null);return}let n=document.body.getAttribute(`theme-mode`)===`dark`,i=L(e,13,.22,-22,180,110,n);i&&a({position:`fixed`,inset:0,pointerEvents:`none`,userSelect:`none`,zIndex:2100,backgroundImage:`url(${i.dataUrl})`,backgroundRepeat:`repeat`,backgroundSize:`${i.cssWidth}px ${i.cssHeight}px`})},[r,t]),i?/* @__PURE__ */ j(`div`,{"aria-hidden":!0,style:i,"data-testid":`preview-watermark`}):null}function V(){return(V=e((()=>{})))()}function H({preview:e,watermark:t}){return/* @__PURE__ */ M(A,{children:[/* @__PURE__ */ j(i,{src:e.previewSrcList,visible:e.previewVisible,currentIndex:e.previewCurrentIndex,onChange:e.setPreviewCurrentIndex,onVisibleChange:t=>{t||e.closeImagePreview()},infinite:!0}),/* @__PURE__ */ j(T,{fileUrl:e.filePreview?.url??``,fileName:e.filePreview?.name,mimeType:e.filePreview?.mimeType,visible:!!e.filePreview,onClose:e.closeFilePreview}),/* @__PURE__ */ j(B,{content:t,visible:e.previewVisible||!!e.filePreview})]})}function U(){return(U=e((()=>{d(),w(),V()})))()}function W({visible:e,file:t,loading:n,resolveUrl:r,onCopyUrl:i,onClose:a,extraRows:l=[]}){return/* @__PURE__ */ j(C,{title:`文件详情`,visible:e,onCancel:a,footer:/* @__PURE__ */ M(o,{children:[/* @__PURE__ */ j(s,{onClick:()=>t&&i(t),children:`复制链接`}),/* @__PURE__ */ j(s,{type:`primary`,onClick:a,children:`关闭`})]}),width:560,children:/* @__PURE__ */ j(u,{spinning:n,tip:`加载中...`,size:`small`,children:t&&/* @__PURE__ */ j(c,{align:`left`,size:`medium`,data:[{key:`文件名`,value:t.originalName},{key:`存储服务`,value:t.storageName},{key:`MIME 类型`,value:t.mimeType||`—`},{key:`文件大小`,value:P(t.size)},...l,{key:`上传人`,value:t.uploaderName||`—`},{key:`对象键`,value:/* @__PURE__ */ j(G,{copyable:!0,style:{fontSize:12,wordBreak:`break-all`},children:t.objectKey})},{key:`访问链接`,value:/* @__PURE__ */ j(G,{copyable:!0,style:{fontSize:12,wordBreak:`break-all`},children:r(t)})},{key:`上传时间`,value:F(t.createdAt)}]})})})}var G;function K(){return(K=e((()=>{d(),S(),{Text:G}=n})))()}function q(e){let[t,n]=k(!1),[i,a]=k([]),[o,s]=k(0),[c,l]=k(null),[u,d]=k(null),[f,p]=k(null),m=O([]),h=O(0),_=()=>{m.current.forEach(e=>globalThis.URL.revokeObjectURL(e)),m.current=[]};return{previewVisible:t,previewSrcList:i,previewCurrentIndex:o,setPreviewCurrentIndex:s,previewLoadingId:c,downloadLoadingId:f,filePreview:u,handlePreview:async t=>{let i=g(t.mimeType,t.originalName),o=v(t.mimeType,t.originalName);if(!x(t.mimeType,t.originalName)&&!o){try{let e=await b(t.url),n=globalThis.URL.createObjectURL(e);globalThis.open(n,`_blank`,`noopener,noreferrer`),globalThis.setTimeout(()=>globalThis.URL.revokeObjectURL(n),6e4)}catch(e){r.error(e instanceof Error?e.message:`预览文件失败`)}return}if(!o){l(t.id);try{d({id:t.id,url:t.url,name:t.originalName,mimeType:i??`application/octet-stream`})}catch(e){r.error(e instanceof Error?e.message:`预览文件失败`)}finally{l(null)}return}let c=e().filter(e=>v(e.mimeType,e.originalName)),u=c.findIndex(e=>e.id===t.id);l(t.id),h.current+=1;let f=h.current;try{_();let e=c.map(()=>``);m.current=[...e];let t=c[u],r=await b(t.url);if(h.current!==f)return;let i=await I(r,t.mimeType,t.originalName);if(h.current!==f){globalThis.URL.revokeObjectURL(i);return}e[u]=i,m.current[u]=i,a([...e]),s(Math.max(0,u)),n(!0),c.forEach(async(e,t)=>{if(t!==u)try{let n=await b(e.url);if(h.current!==f)return;let r=await I(n,e.mimeType,e.originalName);if(h.current!==f){globalThis.URL.revokeObjectURL(r);return}m.current[t]=r,a(e=>{let n=[...e];return n[t]=r,n})}catch{}})}catch(e){r.error(e instanceof Error?e.message:`预览图片失败`)}finally{l(null)}},handleDownload:async e=>{p(e.id);try{let t=await b(e.url),n=globalThis.URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e.originalName,r.click(),globalThis.setTimeout(()=>globalThis.URL.revokeObjectURL(n),6e4)}catch(e){r.error(e instanceof Error?e.message:`下载文件失败`)}finally{p(null)}},closeImagePreview:()=>{h.current+=1,n(!1),_(),a([])},closeFilePreview:()=>d(null),resetPreview:()=>{d(null),n(!1),h.current+=1}}}function J(){return(J=e((()=>{d(),_()})))()}function te(e){return E(e,{style:{...e.props.style,...Y}})}function ne(){return document.body}function re({point:e,contextKey:t,render:n,onClose:r}){let i=`${t}:${e.x}:${e.y}`,a=O(null),o=ee(()=>{a.current!==i&&(a.current=i,r())},[r,i]);return/* @__PURE__ */ j(l,{visible:!0,trigger:`click`,position:`bottomLeft`,autoAdjustOverflow:!0,rePosKey:i,render:te(n),getPopupContainer:ne,clickToHide:!0,closeOnEsc:!0,onClickOutSide:o,onVisibleChange:e=>{e||o()},children:/* @__PURE__ */ j(`span`,{"aria-hidden":`true`,style:{position:`fixed`,left:e.x,top:e.y,width:1,height:1,pointerEvents:`none`}})})}var Y;function X(){return(X=e((()=>{d(),Y={maxHeight:`calc(100vh - 16px)`,overflowY:`auto`}})))()}function Z(){return(Z=e((()=>{})))()}function ie({file:e,selected:n,canSelect:r,onSelect:i,onPreview:o,onDownload:s,onDelete:c,onDetail:d,onCopyUrl:f,canDelete:p,previewLoading:m}){let[g,_]=k(null),v=x(e.mimeType,e.originalName),b=e.originalName.includes(`.`)?e.originalName.split(`.`).pop()?.toUpperCase():``;return/* @__PURE__ */ M(A,{children:[/* @__PURE__ */ M(`div`,{className:`files-grid-card${n?` files-grid-card--selected`:``}`,onContextMenu:e=>{e.preventDefault(),_({x:e.clientX,y:e.clientY})},children:[/* @__PURE__ */ j(`button`,{type:`button`,className:`files-grid-card__preview-btn`,"aria-label":v?`预览 ${e.originalName}`:e.originalName,style:{cursor:v?`pointer`:`default`},onClick:t=>{r&&(t.ctrlKey||t.metaKey||t.shiftKey)?i(e.id,!n):v&&o(e)}}),r&&/* @__PURE__ */ j(`div`,{className:`files-grid-card__checkbox`,children:/* @__PURE__ */ j(t,{checked:n,onChange:()=>i(e.id,!n)})}),/* @__PURE__ */ j(`div`,{className:`files-grid-card__media-wrap`,children:/* @__PURE__ */ M(`div`,{className:`files-grid-card__media`,children:[/* @__PURE__ */ j(`span`,{className:`files-grid-card__icon`,children:y(e.mimeType,34,e.originalName)}),b&&/* @__PURE__ */ j(`span`,{className:`files-grid-card__type-badge`,children:b}),m&&/* @__PURE__ */ j(`div`,{className:`files-grid-card__media-overlay`,children:/* @__PURE__ */ j(u,{})})]})}),/* @__PURE__ */ M(`div`,{className:`files-grid-card__info`,children:[/* @__PURE__ */ j(a,{content:e.originalName,position:`top`,children:/* @__PURE__ */ j(`div`,{className:`files-grid-card__name`,children:e.originalName})}),/* @__PURE__ */ j(`div`,{className:`files-grid-card__meta`,children:/* @__PURE__ */ j(`span`,{children:P(e.size)})})]})]}),g&&/* @__PURE__ */ j(re,{point:g,contextKey:e.id,onClose:()=>_(null),render:/* @__PURE__ */ M(l.Menu,{children:[v&&/* @__PURE__ */ j(l.Item,{onClick:()=>o(e),children:`预览`}),/* @__PURE__ */ j(l.Item,{onClick:()=>s(e),children:`下载`}),/* @__PURE__ */ j(l.Item,{onClick:()=>d(e),children:`详情`}),/* @__PURE__ */ j(l.Item,{onClick:()=>f(e),children:`复制链接`}),p&&/* @__PURE__ */ M(A,{children:[/* @__PURE__ */ j(l.Divider,{}),/* @__PURE__ */ j(l.Item,{type:`danger`,onClick:()=>{h({title:`确认删除此文件?`,content:`删除文件记录后,将同步尝试删除实际存储对象。`,run:()=>Promise.resolve(c(e)),successMessage:null})},children:`删除`})]})]})})]})}function Q(){return(Q=e((()=>{d(),_(),m(),X()})))()}function ae({name:e,icon:t,mimeType:n,onClick:r,highlight:i}){let o=i?e.split(RegExp(`(${N(i)})`,`gi`)):[e],s=/* @__PURE__ */ M(A,{children:[/* @__PURE__ */ j(`span`,{className:`file-name-cell__icon`,children:t??y(n,16,e)}),/* @__PURE__ */ j(a,{content:e,children:/* @__PURE__ */ j(`span`,{className:`file-name-cell__text`,children:o.map((e,t)=>i&&e.toLowerCase()===i.toLowerCase()?/* @__PURE__ */ j(`mark`,{children:e},t):e)})})]});return r?/* @__PURE__ */ j(`button`,{type:`button`,className:`file-name-cell file-name-cell--button`,onClick:r,children:s}):/* @__PURE__ */ j(`div`,{className:`file-name-cell`,children:s})}function $(){return($=e((()=>{d(),_()})))()}export{Z as a,W as c,U as d,R as f,Q as i,K as l,$ as n,J as o,z as p,ie as r,q as s,ae as t,H as u};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-BKuNeK48.js";import{n as t,t as n}from"./preload-helper-C-73SErw.js";import{t as r}from"./typography-DKK_iHcj.js";import{i,n as a}from"./feedback-D4BIfDNd.js";import{i as o,t as s}from"./media-DoGe_p4O.js";import{n as c,t as l}from"./x-Ak9hw1R9.js";import{v as u,w as d}from"./ui-DoIHGuTR.js";import{n as f,r as ee}from"./theme-controller-D-ATwFal.js";import{S as te,_ as ne,a as p,b as m,c as h,f as re,g as ie,h as g,i as _,l as v,m as y,n as b,o as x,p as S,s as C,u as w,v as T,x as ae,y as oe}from"./file-utils-DJ9ksj-g.js";import{n as E,t as D}from"./AppModal-B_xvSaeq.js";import{Suspense as O,lazy as k,useCallback as A,useEffect as j,useMemo as M,useState as N}from"react";import{jsx as P,jsxs as F}from"react/jsx-runtime";import{contractKey as I}from"@fudanda/react-core/lib/contract-query";import{useQuery as L}from"@tanstack/react-query";import{fileContract as R}from"@fudanda/shared/platform";import{createPortal as z}from"react-dom";function B(e){(e?.kind===`audio`||e?.kind===`video`||e?.kind===`svg`)&&URL.revokeObjectURL(e.url)}function V({title:e,onCancel:t,fullscreen:n,onToggleFullscreen:r,width:i,viewportHeight:a,children:o}){return/* @__PURE__ */ P(D,{visible:!0,onCancel:t,title:e,footer:null,fullscreenable:!0,fullscreen:n,onToggleFullscreen:r,width:i,centered:!0,bodyStyle:{padding:0,display:`flex`,flexDirection:`column`,overflow:`hidden`,height:n?`calc(100vh - 40px)`:`calc(${a} - 40px)`},keepDOM:!1,children:/* @__PURE__ */ P(O,{fallback:/* @__PURE__ */ P(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`,flex:1},children:/* @__PURE__ */ P(u,{size:`large`,tip:`加载预览组件...`})}),children:o})})}function H({fileUrl:e,fileName:t=`文件`,mimeType:n,visible:c,onClose:d,onFallback:f}){let[p,E]=N(!1),k=A(()=>{E(e=>!e)},[]),{isDark:H}=ee(),J=M(()=>te(n,t),[t,n]),Y=M(()=>{if(!J)return null;let e=J.startsWith(`image/`),n=J===`video/mp2t`&&/\.(ts|tsx)$/i.test(t);return oe(J)?`spreadsheet`:ae(J)?`word`:T(J)?`presentation`:ie(J)?`ofd`:w(J)?`email`:g(J)?`mindmap`:v(J)?`drawing`:h(J)?`dataAsset`:re(J)?`geo`:y(J)?`markdown`:ne(J)?`plainText`:x(J)?`archive`:S(J)?`json`:m(J)?`svg`:C(J)||n?`code`:J===`application/pdf`?`pdf`:J.startsWith(`audio/`)?`audio`:J.startsWith(`video/`)&&!n?`video`:e?`image`:`unsupported`},[t,J]),X=L({queryKey:[...I(R.content),`preview`,c,e,t,J,Y],queryFn:async()=>{let n=await b(e);if(Y===`spreadsheet`||Y===`word`||Y===`presentation`||Y===`ofd`||Y===`email`||Y===`mindmap`||Y===`drawing`||Y===`dataAsset`||Y===`geo`||Y===`archive`)return{kind:Y,file:new File([n],t,{type:J||n.type})};if(Y===`markdown`)return{kind:`markdown`,text:await n.text()};if(Y===`plainText`)return{kind:`plainText`,text:await n.text()};if(Y===`json`)return{kind:`json`,text:await n.text()};if(Y===`svg`)return{kind:`svg`,url:URL.createObjectURL(n)};if(Y===`code`)return{kind:`code`,text:await n.text()};if(Y===`pdf`)return{kind:`pdf`,file:new File([n],t,{type:`application/pdf`})};if(Y===`audio`)return{kind:`audio`,url:URL.createObjectURL(n)};if(Y===`video`)return{kind:`video`,url:URL.createObjectURL(n)};throw Error(`文件加载失败`)},enabled:c&&!!Y&&Y!==`unsupported`&&Y!==`image`,staleTime:0,gcTime:0}),Z=X.data;j(()=>()=>B(Z),[Z]),j(()=>{c?J?Y===`unsupported`?(f?.(e,t,J),d()):Y===`image`&&d():d():E(!1)},[t,e,d,f,Y,J,c]),j(()=>{X.error&&(i.error(X.error instanceof Error?X.error.message:`文件加载失败`),d())},[d,X.error]);let Q=()=>{d()},$=/* @__PURE__ */ F(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,minWidth:0},children:[_(n,15,t),/* @__PURE__ */ P(r.Text,{ellipsis:{showTooltip:!0},style:{fontSize:13,fontWeight:500,minWidth:0},children:t})]});if(!c)return null;if(X.isLoading)return/* @__PURE__ */ P(D,{visible:!0,onCancel:Q,title:$,footer:null,fullscreenable:!1,centered:!0,keepDOM:!1,bodyStyle:{display:`flex`,alignItems:`center`,justifyContent:`center`,padding:40},children:/* @__PURE__ */ P(u,{size:`large`,tip:`加载中...`})});if(Z?.kind===`pdf`)return/* @__PURE__ */ P(a,{visible:!0,onCancel:Q,title:null,footer:null,fullScreen:p,width:`min(1100px, 92vw)`,centered:!0,bodyStyle:{padding:0,display:`flex`,overflow:`hidden`,height:p?`100vh`:`88vh`},closable:!1,keepDOM:!1,children:/* @__PURE__ */ P(O,{fallback:/* @__PURE__ */ P(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:`100%`},children:/* @__PURE__ */ P(u,{size:`large`})}),children:/* @__PURE__ */ P(U,{file:Z.file,onClose:Q,fullscreen:p,onToggleFullscreen:k,style:{width:`100%`,borderLeft:`none`}})})});if(Z?.kind===`spreadsheet`||Z?.kind===`word`||Z?.kind===`presentation`||Z?.kind===`ofd`||Z?.kind===`email`||Z?.kind===`mindmap`||Z?.kind===`drawing`||Z?.kind===`dataAsset`||Z?.kind===`geo`||Z?.kind===`archive`){let e=Z.kind===`presentation`,t=Z.kind===`spreadsheet`||Z.kind===`archive`||Z.kind===`email`||Z.kind===`mindmap`||Z.kind===`drawing`||Z.kind===`dataAsset`||Z.kind===`geo`||e;return/* @__PURE__ */ P(V,{title:$,onCancel:Q,fullscreen:p,onToggleFullscreen:k,width:t?`min(1200px, 94vw)`:`min(960px, 92vw)`,viewportHeight:`90vh`,children:/* @__PURE__ */ P(W,{file:Z.file,style:{flex:1}})})}if(Z?.kind===`markdown`){let e=Z.text.startsWith(`\0PLAINTEXT\0`),t=e?Z.text.slice(11):Z.text;return/* @__PURE__ */ P(V,{title:$,onCancel:Q,fullscreen:p,onToggleFullscreen:k,width:`min(900px, 92vw)`,viewportHeight:`90vh`,children:/* @__PURE__ */ P(G,{content:t,rawText:e,style:{flex:1,minHeight:0}})})}return Z?.kind===`json`?/* @__PURE__ */ P(V,{title:$,onCancel:Q,fullscreen:p,onToggleFullscreen:k,width:`min(900px, 92vw)`,viewportHeight:`88vh`,children:/* @__PURE__ */ P(K,{content:Z.text,style:{flex:1,minHeight:0}})}):Z?.kind===`code`||Z?.kind===`plainText`?/* @__PURE__ */ P(V,{title:$,onCancel:Q,fullscreen:p,onToggleFullscreen:k,width:`min(1100px, 92vw)`,viewportHeight:`90vh`,children:/* @__PURE__ */ P(q,{content:Z.text,fileName:t,style:{flex:1,minHeight:0}})}):Z?.kind===`svg`?/* @__PURE__ */ P(D,{visible:!0,onCancel:Q,title:$,footer:null,fullscreenable:!0,fullscreen:p,onToggleFullscreen:k,width:`min(900px, 92vw)`,centered:!0,bodyStyle:{padding:16,display:`flex`,alignItems:`center`,justifyContent:`center`,overflow:`auto`,height:p?`calc(100vh - 40px)`:`calc(80vh - 40px)`},keepDOM:!1,children:/* @__PURE__ */ P(`img`,{src:Z.url,alt:t,style:{maxWidth:`100%`,maxHeight:`100%`,objectFit:`contain`}})}):Z?.kind===`audio`?z(/* @__PURE__ */ P(`div`,{className:`arcbase-audio-dock`,role:`region`,"aria-label":`音频播放器`,children:/* @__PURE__ */ F(`div`,{className:`arcbase-audio-dock__inner`,children:[/* @__PURE__ */ P(`div`,{className:`arcbase-audio-dock__player`,children:/* @__PURE__ */ P(s,{className:`arcbase-audio-preview`,audioUrl:{src:Z.url,title:t},theme:H?`dark`:`light`,autoPlay:!0,style:{width:`100%`}})}),/* @__PURE__ */ P(`button`,{type:`button`,className:`arcbase-audio-dock__close`,onClick:Q,"aria-label":`关闭音频播放器`,children:/* @__PURE__ */ P(l,{size:18})})]})}),document.body):Z?.kind===`video`?/* @__PURE__ */ P(D,{visible:!0,onCancel:Q,title:$,footer:null,fullscreenable:!1,width:`min(960px, 92vw)`,centered:!0,bodyStyle:{padding:0,overflow:`hidden`,borderRadius:`var(--arc-antd-border-radius-medium)`},keepDOM:!1,children:/* @__PURE__ */ P(o,{src:Z.url,theme:H?`dark`:`light`,width:`100%`,autoPlay:!1,muted:!1,volume:100,clickToPlay:!0,defaultPlaybackRate:1,playbackRateList:[{label:`0.5x`,value:.5},{label:`1x`,value:1},{label:`1.5x`,value:1.5},{label:`2x`,value:2}],style:{borderRadius:`var(--arc-antd-border-radius-medium)`}})}):null}var U,W,G,K,q;function J(){return(J=e((()=>{d(),c(),f(),p(),E(),t(),U=k(()=>n(()=>import(`./PDFPreviewPanel-D8-74Zqs.js`).then(e=>({default:e.PDFPreviewPanel})),[],import.meta.url)),W=k(()=>n(()=>import(`./FileViewerPreviewPanel-wbXzgqxc.js`),[],import.meta.url)),G=k(()=>n(()=>import(`./MarkdownPreviewPanel-DoiaAeRv.js`),[],import.meta.url)),K=k(()=>n(()=>import(`./JsonPreviewPanel-D8YpZD1A.js`),[],import.meta.url)),q=k(()=>n(()=>import(`./MonacoPreviewPanel-Dnz7xpWP.js`),[],import.meta.url))})))()}export{J as n,H as t};