react-toolkits 2.24.19 → 2.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/CHANGELOG.md +6 -2
  2. package/lib/chunk-742NAY4S.js +2 -0
  3. package/lib/{chunk-UPO7NB6O.js.map → chunk-742NAY4S.js.map} +1 -1
  4. package/lib/chunk-EESZYCYA.js +2 -0
  5. package/lib/chunk-EESZYCYA.js.map +1 -0
  6. package/lib/chunk-GI5OS4VD.js +2 -0
  7. package/lib/chunk-GI5OS4VD.js.map +1 -0
  8. package/lib/chunk-K43HSNXS.js +2 -0
  9. package/lib/chunk-K43HSNXS.js.map +1 -0
  10. package/lib/chunk-LEVOCZUQ.js +2 -0
  11. package/lib/{chunk-H5Y4DYUL.js.map → chunk-LEVOCZUQ.js.map} +1 -1
  12. package/lib/chunk-PLJPZJ7T.js +2 -0
  13. package/lib/chunk-PLJPZJ7T.js.map +1 -0
  14. package/lib/chunk-V3YBDED3.js +2 -0
  15. package/lib/{chunk-ZF7POJAA.js.map → chunk-V3YBDED3.js.map} +1 -1
  16. package/lib/chunk-VFRB44XY.js +2 -0
  17. package/lib/{chunk-NNXVZIY2.js.map → chunk-VFRB44XY.js.map} +1 -1
  18. package/lib/chunk-W3E3WPLB.js +3 -0
  19. package/lib/chunk-W3E3WPLB.js.map +1 -0
  20. package/lib/createMenuItem-C7HUFDD4.js +2 -0
  21. package/lib/createMenuItem-C7HUFDD4.js.map +1 -0
  22. package/lib/index.css +1 -1
  23. package/lib/index.d.ts +17 -21
  24. package/lib/index.js +2 -2
  25. package/lib/index.js.map +1 -1
  26. package/lib/menuItemList-2OFNRCPR.js +2 -0
  27. package/lib/menuItemList-2OFNRCPR.js.map +1 -0
  28. package/lib/roleDetail-YBO7TOL5.js +2 -0
  29. package/lib/roleDetail-YBO7TOL5.js.map +1 -0
  30. package/lib/roleList-UEZPNJ2L.js +2 -0
  31. package/lib/roleList-UEZPNJ2L.js.map +1 -0
  32. package/lib/updateMenuItem-23ZR4X2P.js +2 -0
  33. package/lib/updateMenuItem-23ZR4X2P.js.map +1 -0
  34. package/lib/userDetail-QZDRSIYE.js +2 -0
  35. package/lib/userDetail-QZDRSIYE.js.map +1 -0
  36. package/lib/userList-IBXB6M6R.js +2 -0
  37. package/lib/userList-IBXB6M6R.js.map +1 -0
  38. package/locale/context.js +1 -7
  39. package/locale/context.js.map +1 -1
  40. package/locale/en_GB.js +1 -94
  41. package/locale/en_GB.js.map +1 -1
  42. package/locale/hooks.js +1 -18
  43. package/locale/hooks.js.map +1 -1
  44. package/locale/index.js +1 -2
  45. package/locale/ja_JP.js +1 -94
  46. package/locale/ja_JP.js.map +1 -1
  47. package/locale/ko_KR.js +1 -94
  48. package/locale/ko_KR.js.map +1 -1
  49. package/locale/zh_CN.js +1 -94
  50. package/locale/zh_CN.js.map +1 -1
  51. package/package.json +3 -3
  52. package/lib/chunk-7X2LW6EY.js +0 -73
  53. package/lib/chunk-7X2LW6EY.js.map +0 -1
  54. package/lib/chunk-D75NVCYN.js +0 -2
  55. package/lib/chunk-D75NVCYN.js.map +0 -1
  56. package/lib/chunk-DLTAWT6S.js +0 -2
  57. package/lib/chunk-DLTAWT6S.js.map +0 -1
  58. package/lib/chunk-E6L6VKSV.js +0 -227
  59. package/lib/chunk-E6L6VKSV.js.map +0 -1
  60. package/lib/chunk-ESCBNFWD.js +0 -498
  61. package/lib/chunk-ESCBNFWD.js.map +0 -1
  62. package/lib/chunk-FSXYUF4U.js +0 -276
  63. package/lib/chunk-FSXYUF4U.js.map +0 -1
  64. package/lib/chunk-H5Y4DYUL.js +0 -2
  65. package/lib/chunk-LXMQLSQY.js +0 -46
  66. package/lib/chunk-LXMQLSQY.js.map +0 -1
  67. package/lib/chunk-MTRFNFEM.js +0 -2
  68. package/lib/chunk-MTRFNFEM.js.map +0 -1
  69. package/lib/chunk-NNXVZIY2.js +0 -2
  70. package/lib/chunk-OH74GXG4.js +0 -570
  71. package/lib/chunk-OH74GXG4.js.map +0 -1
  72. package/lib/chunk-P25BHLH3.js +0 -3
  73. package/lib/chunk-P25BHLH3.js.map +0 -1
  74. package/lib/chunk-QACSRYJY.js +0 -147
  75. package/lib/chunk-QACSRYJY.js.map +0 -1
  76. package/lib/chunk-ST7VUWJ4.js +0 -2
  77. package/lib/chunk-ST7VUWJ4.js.map +0 -1
  78. package/lib/chunk-UPO7NB6O.js +0 -2
  79. package/lib/chunk-Z6PDWY44.js +0 -17
  80. package/lib/chunk-Z6PDWY44.js.map +0 -1
  81. package/lib/chunk-ZF7POJAA.js +0 -2
  82. package/lib/chunk-ZOHMJAAX.js +0 -120
  83. package/lib/chunk-ZOHMJAAX.js.map +0 -1
  84. package/lib/createMenuItem-CICLQWU6.js +0 -86
  85. package/lib/createMenuItem-CICLQWU6.js.map +0 -1
  86. package/lib/createMenuItem-SXFYDNCW.js +0 -2
  87. package/lib/createMenuItem-SXFYDNCW.js.map +0 -1
  88. package/lib/menuItemList-EHQSS4YZ.js +0 -132
  89. package/lib/menuItemList-EHQSS4YZ.js.map +0 -1
  90. package/lib/menuItemList-NIBRDRTA.js +0 -2
  91. package/lib/menuItemList-NIBRDRTA.js.map +0 -1
  92. package/lib/roleDetail-7HEBW7IS.js +0 -2
  93. package/lib/roleDetail-7HEBW7IS.js.map +0 -1
  94. package/lib/roleDetail-JCDOXKAM.js +0 -72
  95. package/lib/roleDetail-JCDOXKAM.js.map +0 -1
  96. package/lib/roleList-4C77ULPK.js +0 -161
  97. package/lib/roleList-4C77ULPK.js.map +0 -1
  98. package/lib/roleList-WGLD3HXB.js +0 -2
  99. package/lib/roleList-WGLD3HXB.js.map +0 -1
  100. package/lib/updateMenuItem-K62CKVXP.js +0 -109
  101. package/lib/updateMenuItem-K62CKVXP.js.map +0 -1
  102. package/lib/updateMenuItem-TECCUD6Z.js +0 -2
  103. package/lib/updateMenuItem-TECCUD6Z.js.map +0 -1
  104. package/lib/userDetail-WGQJ7IC5.js +0 -2
  105. package/lib/userDetail-WGQJ7IC5.js.map +0 -1
  106. package/lib/userDetail-WYN52ZJ2.js +0 -116
  107. package/lib/userDetail-WYN52ZJ2.js.map +0 -1
  108. package/lib/userList-2S2FRAG6.js +0 -2
  109. package/lib/userList-2S2FRAG6.js.map +0 -1
  110. package/lib/userList-AMVG7RCE.js +0 -195
  111. package/lib/userList-AMVG7RCE.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/createVisibilityStore.ts","../src/utils/generateId.ts","../src/utils/mixedStorage.ts","../src/constants/index.ts","../src/locale/zh_CN.ts","../src/stores/context.ts","../src/stores/game.ts","../src/stores/layout.ts","../src/stores/token.ts","../src/stores/index.ts","../src/components/toolkitsProvider/ToolkitsProvider.tsx","../src/libs/ky.ts","../src/queryKeys.ts"],"names":["createVisibilityStore","create","set","get","uuid","usedIds","open","newOpen","newUsedIds","globalCounter","generateId","timestamp","random","counter","mixedStorage","name","value","SSO_URL","APP_ID_HEADER","FRONTEND_ROUTE_PREFIX","PermissionVersion","WILDCARD","locale","zh_CN_default","createContextSlice","createGameSlice","id","createLayoutSlice","state","decodeToken","token","jwtDecode","createTokenSlice","createToolkitsStore","initProps","createStore","persist","args","store","createJSONStorage","appId","user","collapsed","ToolkitsContext","createContext","useToolkitsStore","selector","useContext","componentName","useStore","ToolkitsProvider","props","children","restProps","storeRef","useRef","parentState","parentContext","jsx","App","Fragment","ToolkitsProvider_default","SUCCESS_RESPONSE_CODES","HTTP_STATUS","REQUEST_TIMEOUT","extractErrorMessage","data","isStatusCodeSuccess","config","allowedCodes","isSuccessResponse","status","statusChecks","processResponseByType","response","responseType","useKy","baseURL","notification","navigate","useNavigate","queryClient","useQueryClient","isGlobalMode","permissionVersion","loginPath","clear","apiBaseUrl","handleUnauthorized","handleUnregistered","url","handleForbidden","createResponseHandler","_request","_options","responseData","errorMessage","error","handleHttpStatusError","instance","useMemo","ky","request","contentType","makeRequest","method","requestOptions","kyOptions","finalOptions","options","requestOpts","queryKeys","permissions","version","gameGroups","ticket"],"mappings":"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","file":"chunk-W3E3WPLB.js","sourcesContent":["import { create } from 'zustand'\n\nexport interface VisibilityState {\n open: Map<number, boolean>\n usedIds: Set<number>\n isOpen: (uuid: number) => boolean\n show: (uuid: number) => void\n hide: (uuid: number) => void\n hideAll: () => void\n checkUniqueness: (uuid: number) => boolean\n registerIds: (uuid: number) => boolean\n cleanup: (uuid: number) => void\n}\n\n/**\n * 创建一个可见性管理的 Zustand store\n * 用于管理 Modal、Drawer 等组件的显示/隐藏状态\n * 每次调用都会创建一个独立的 store 实例,确保不同组件间的状态隔离\n */\nexport function createVisibilityStore() {\n return create<VisibilityState>()((set, get) => ({\n open: new Map(),\n usedIds: new Set(),\n isOpen(uuid) {\n return get().open.get(uuid) ?? false\n },\n show(uuid) {\n set({ open: new Map(get().open).set(uuid, true) })\n },\n hide(uuid) {\n set({ open: new Map(get().open).set(uuid, false) })\n },\n hideAll() {\n set({ open: new Map() })\n },\n checkUniqueness(uuid) {\n return !get().usedIds.has(uuid)\n },\n registerIds(uuid) {\n const { usedIds } = get()\n if (usedIds.has(uuid)) return false\n\n set({ usedIds: new Set(usedIds).add(uuid) })\n return true\n },\n cleanup(uuid) {\n const { open, usedIds } = get()\n const newOpen = new Map(open)\n const newUsedIds = new Set(usedIds)\n newOpen.delete(uuid)\n newUsedIds.delete(uuid)\n set({ open: newOpen, usedIds: newUsedIds })\n },\n }))\n}\n","/**\n * 生成唯一 ID 的函数\n * 使用时间戳 + 随机数 + 计数器的组合来确保唯一性\n */\nlet globalCounter = 0\n\nexport const generateId = (): number => {\n const timestamp = Date.now()\n const random = Math.floor(Math.random() * 1000)\n const counter = ++globalCounter % 1000\n\n // 组合:时间戳(毫秒) * 1000000 + 随机数 * 1000 + 计数器\n // 这样可以确保即使在同一毫秒内生成多个ID也不会重复\n return timestamp * 1000000 + random * 1000 + counter\n}\n","import type { StateStorage } from 'zustand/middleware'\n\n/**\n * 混合存储策略\n * - 优先从 SessionStorage 读取数据,防止多开页面时的数据冲突\n * - 写入时同时更新 SessionStorage 和 LocalStorage\n * - SessionStorage 不存在时,fallback 到 LocalStorage\n */\nexport const mixedStorage: StateStorage = {\n getItem(name) {\n return sessionStorage.getItem(name) ?? localStorage.getItem(name)\n },\n setItem(name, value) {\n sessionStorage.setItem(name, value)\n localStorage.setItem(name, value)\n },\n removeItem(name) {\n sessionStorage.removeItem(name)\n localStorage.removeItem(name)\n },\n}\n","export const SSO_URL = 'https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1'\n\nexport const APP_ID_HEADER = 'App-ID'\n\nexport const FRONTEND_ROUTE_PREFIX = '/console/'\n\nexport enum PermissionVersion {\n V1 = 'v1',\n V2 = 'v2',\n V3 = 'v3',\n V4 = 'v4',\n}\n\nexport const WILDCARD = '*'\n","import type { Locale } from '.'\n\nconst locale: Locale = {\n global: {\n noEntitlement: '无权限,请联系管理员',\n name: '名称',\n creationTime: '创建时间',\n operation: '操作',\n update: '更新',\n edit: '编辑',\n delete: '删除',\n selectAll: '全选',\n game: '游戏',\n user: '用户',\n role: '角色',\n username: '用户名',\n password: '密码',\n label: '标签',\n method: '方法',\n route: '路由',\n request: '请求',\n response: '响应',\n add: '添加',\n signIn: '登录',\n projectGroup: '项目组',\n view: '查看',\n back: '返回',\n },\n SignIn: {\n title: '登录方式',\n signInWithIDass: 'IDass 登录',\n unregistered: '您还未在平台注册,请联系管理员',\n welcome: '欢迎',\n },\n NotFound: {\n subTitle: '访问的页面不存在',\n buttonText: '返回首页',\n },\n FilterFormWrapper: {\n confirmText: '查询',\n resetText: '重置',\n },\n FormModal: {\n confirmText: '确认',\n cancelText: '取消',\n },\n GameSelect: {\n label: '当前游戏',\n placeholder: '请选择游戏',\n },\n RequireGame: {\n description: '请选择游戏',\n },\n UserDropdown: {\n signOutText: '登出',\n },\n User: {\n createTitle: '创建用户',\n createSuccessfully: '用户创建成功',\n updateTitle: '更新用户',\n updateSuccessfully: '用户更新成功',\n deleteTitle: '删除用户',\n deleteContent: '确定要删除用户 <%= user %> 吗?',\n deleteSuccessfully: '用户删除成功',\n },\n Role: {\n createTitle: '创建角色',\n createSuccessfully: '角色创建成功',\n updateTitle: '更新角色',\n updateSuccessfully: '角色更新成功',\n deleteTitle: '删除角色',\n deleteContent: '确定要删除角色 <%= role %> 吗?',\n deleteSuccessfully: '角色删除成功',\n },\n PermissionList: {\n failedDescription: '获取权限列表失败',\n baseSectionTitle: '平台基础权限',\n gameSectionTitle: '游戏权限',\n gameSectionDescription: '请先选择游戏',\n gameSelectPlaceholder: '请先选择游戏',\n removeText: '移除',\n addText: '添加游戏权限',\n },\n RoleDetail: {\n title: '角色详情',\n },\n InfiniteList: {\n loadingText: '加载中',\n reachEndText: '已经到底了',\n loadMoreText: '加载更多',\n },\n}\n\nexport default locale\n","import type { StateCreator } from 'zustand'\n\nimport { PermissionVersion } from '@/constants'\nimport type { Locale } from '@/locale'\nimport zhCN from '@/locale/zh_CN'\n\nexport interface ContextSlice {\n locale: Locale\n permissionVersion: PermissionVersion // 权限版本\n useGameApiV2: boolean // 是否使用游戏 API V2 版本\n loginPath: string // 登录页路径\n isGlobalMode: boolean // 为 true 时,APP-ID header 始终使用 'global',否则为当前游戏 id\n requireGameSelection?: boolean // 是否需要游戏选择,默认为 false\n sidebarWidth?: number // 侧边栏宽度\n sidebarCollapsible?: boolean // 侧边栏是否可折叠\n homePath: string // 首页地址\n apiBaseUrl?: string // 接口基础路径\n}\n\nexport const createContextSlice: StateCreator<ContextSlice, [], [], ContextSlice> = () => ({\n locale: zhCN,\n useGameApiV2: false,\n isGlobalMode: false,\n requireGameSelection: false,\n loginPath: '/sign_in',\n homePath: '/',\n permissionVersion: PermissionVersion.V1,\n})\n","import type { StateCreator } from 'zustand'\n\nexport interface GameSlice {\n appId?: string | number\n setAppId: (id?: string | number) => void\n}\n\nexport const createGameSlice: StateCreator<GameSlice, [], [], GameSlice> = set => ({\n setAppId: id => set({ appId: id }),\n})\n","import type { StateCreator } from 'zustand'\n\nexport interface LayoutSlice {\n collapsed: boolean // 侧边栏是否折叠\n toggleCollapsed: () => void\n}\n\nexport const createLayoutSlice: StateCreator<LayoutSlice, [], [], LayoutSlice> = set => ({\n collapsed: false,\n toggleCollapsed: () => set(state => ({ collapsed: !state.collapsed })),\n})\n","import { jwtDecode } from 'jwt-decode'\nimport type { StateCreator } from 'zustand'\n\n/**\n * JWT Token 解码后的用户信息\n */\nexport interface UserInfo {\n authorityId: string\n exp: number\n}\n\nexport interface TokenSlice {\n /** JWT Token */\n token?: string\n user: UserInfo | null\n setToken: (token: string) => void\n clearToken: () => void\n}\n\nconst decodeToken = (token?: string): UserInfo | null => {\n if (!token) return null\n\n try {\n return jwtDecode<UserInfo>(token)\n } catch {\n return null\n }\n}\n\nexport const createTokenSlice: StateCreator<TokenSlice, [], [], TokenSlice> = set => ({\n token: undefined,\n user: null,\n setToken: token => set({ token, user: decodeToken(token) }),\n clearToken: () => set({ token: undefined, user: null }),\n})\n","import { createStore } from 'zustand'\nimport { createJSONStorage, persist } from 'zustand/middleware'\n\nimport { mixedStorage } from '@/utils'\n\nimport { type ContextSlice, createContextSlice } from './context'\nimport { createGameSlice, type GameSlice } from './game'\nimport { createLayoutSlice, type LayoutSlice } from './layout'\nimport { createTokenSlice, type TokenSlice } from './token'\n\nexport type ToolkitsState = TokenSlice &\n GameSlice &\n ContextSlice &\n LayoutSlice & {\n clear: () => void\n }\n\nexport const createToolkitsStore = (initProps?: Partial<ContextSlice>) => {\n return createStore<ToolkitsState>()(\n persist(\n (...args) => {\n const [, get, store] = args\n return {\n ...createTokenSlice(...args),\n ...createGameSlice(...args),\n ...createContextSlice(...args),\n ...createLayoutSlice(...args),\n ...initProps,\n clear: () => {\n get().clearToken()\n store.persist.clearStorage()\n },\n }\n },\n {\n name: 'toolkits',\n storage: createJSONStorage(() => mixedStorage),\n partialize: ({ token, appId, user, collapsed }) => ({\n token,\n appId,\n user,\n collapsed,\n }),\n },\n ),\n )\n}\n","import { App } from 'antd'\nimport type { FC, PropsWithChildren } from 'react'\nimport { createContext, useContext, useRef } from 'react'\nimport { useStore } from 'zustand'\n\nimport type { ToolkitsState } from '@/stores'\nimport { createToolkitsStore } from '@/stores'\nimport type { ContextSlice } from '@/stores/context'\n\ntype ToolkitsStore = ReturnType<typeof createToolkitsStore>\n\nconst ToolkitsContext = createContext<ToolkitsStore | null>(null)\n\n// 重载函数签名:支持有 selector 和无 selector 两种调用方式\nexport function useToolkitsStore(): ToolkitsState\nexport function useToolkitsStore<T>(selector: (state: ToolkitsState) => T): T\nexport function useToolkitsStore<T>(selector?: (state: ToolkitsState) => T) {\n const store = useContext(ToolkitsContext)\n if (!store) {\n const componentStack = new Error().stack\n const componentName = componentStack?.split('\\n')[2]?.trim() || 'Unknown'\n throw new Error(\n `Missing ToolkitsProvider in the tree. Component \"${componentName}\" must be wrapped with <ToolkitsProvider>. Please ensure ToolkitsProvider is rendered above this component in the component tree.`,\n )\n }\n\n return useStore(store, selector ?? (state => state as T))\n}\n\nexport type ToolkitsProviderProps = PropsWithChildren<Partial<ContextSlice>>\n\nconst ToolkitsProvider: FC<ToolkitsProviderProps> = props => {\n const { children, ...restProps } = props\n const storeRef = useRef<ToolkitsStore | undefined>(undefined)\n const parentStore = useContext(ToolkitsContext)\n const parentState = parentStore?.getState()\n\n if (!storeRef.current) {\n // 从父级状态中提取 ContextSlice 相关的属性\n const parentContext: Partial<ContextSlice> = parentState\n ? {\n locale: parentState.locale,\n permissionVersion: parentState.permissionVersion,\n useGameApiV2: parentState.useGameApiV2,\n loginPath: parentState.loginPath,\n isGlobalMode: parentState.isGlobalMode,\n requireGameSelection: parentState.requireGameSelection,\n sidebarWidth: parentState.sidebarWidth,\n sidebarCollapsible: parentState.sidebarCollapsible,\n homePath: parentState.homePath,\n apiBaseUrl: parentState.apiBaseUrl,\n }\n : {}\n\n // restProps 会覆盖父级的对应属性\n storeRef.current = createToolkitsStore({ ...parentContext, ...restProps })\n }\n\n if (!storeRef.current.getState().loginPath) {\n throw new Error('ToolkitsProvider: 请配置 \"loginPath\"')\n }\n\n return (\n <ToolkitsContext.Provider value={storeRef.current}>\n <App>\n <>{children}</>\n </App>\n </ToolkitsContext.Provider>\n )\n}\n\nif (process.env.NODE_ENV !== 'production') {\n ToolkitsProvider.displayName = 'ToolkitsProvider'\n}\n\nexport default ToolkitsProvider\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useQueryClient } from '@tanstack/react-query'\nimport { App } from 'antd'\nimport ky, { type KyInstance, type Options as KyOptions } from 'ky'\nimport { useMemo } from 'react'\nimport { useNavigate } from 'react-router-dom'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { APP_ID_HEADER, PermissionVersion } from '@/constants'\n\n// 响应成功状态码常量\nconst SUCCESS_RESPONSE_CODES = [0, 1, 200] as const\n\n// HTTP 状态码常量\nconst HTTP_STATUS = {\n OK: 200,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n UNREGISTERED: 412,\n} as const\n\n// 请求超时时间(毫秒)\nconst REQUEST_TIMEOUT = 30000\n\n// 成功响应状态码字段类型\ntype StatusField = 'code' | 'status' | 'errno'\n\n// 状态码检查配置\ninterface StatusCheckConfig {\n field: StatusField\n value: unknown\n allowedCodes: readonly number[]\n}\n\n// 响应类型枚举\nexport enum ResponseType {\n JSON = 'json',\n BLOB = 'blob',\n TEXT = 'text',\n ARRAY_BUFFER = 'arrayBuffer',\n FORM_DATA = 'formData',\n}\n\n// 通用请求选项接口\ninterface RequestOptions extends KyOptions {\n responseType?: ResponseType\n}\n\n// useKy Hook 配置选项\nexport interface UseKyOptions {\n baseURL?: string\n}\n\n// HTTP客户端方法接口 - 支持泛型响应类型\ninterface KyMethods {\n get: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n post: <T = any>(url: string, data?: any, options?: RequestOptions) => Promise<T>\n put: <T = any>(url: string, data?: any, options?: RequestOptions) => Promise<T>\n delete: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n patch: <T = any>(url: string, data?: any, options?: RequestOptions) => Promise<T>\n options: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n head: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n request: <T = any>(options: RequestOptions & { url: string }) => Promise<T>\n instance: KyInstance\n}\n\n// 错误消息提取工具函数\nconst extractErrorMessage = (data: any): string => {\n if (!data || typeof data !== 'object') {\n return 'Unknown error'\n }\n\n return data.msg || data.message || data.error || 'Unknown error'\n}\n\n/**\n * 检查单个状态码字段是否成功\n * @param config 状态码检查配置\n * @returns 是否成功\n */\nconst isStatusCodeSuccess = (config: StatusCheckConfig): boolean => {\n const { value, allowedCodes } = config\n\n if (value === undefined || value === null) {\n return false\n }\n\n if (typeof value !== 'number') {\n return false\n }\n\n return allowedCodes.includes(value)\n}\n\n/**\n * 判断响应是否成功\n * @param data 响应数据\n * @param status HTTP状态码\n * @returns 是否成功\n */\nconst isSuccessResponse = (data: any, status: number): boolean => {\n // 如果HTTP状态码不在2xx范围,直接返回失败\n if (status < HTTP_STATUS.OK || status >= 300) {\n return false\n }\n\n // 如果没有响应数据或不是对象,认为成功(可能是空响应)\n if (!data || typeof data !== 'object') {\n return true\n }\n\n // 定义状态码检查配置\n const statusChecks: StatusCheckConfig[] = [\n { field: 'code', value: data.code, allowedCodes: SUCCESS_RESPONSE_CODES },\n { field: 'status', value: data.status, allowedCodes: SUCCESS_RESPONSE_CODES },\n { field: 'errno', value: data.errno, allowedCodes: SUCCESS_RESPONSE_CODES },\n ]\n\n // 检查是否有任何业务状态码字段存在且表示成功\n const hasBusinessStatusCode = statusChecks.some(config => config.value !== undefined && config.value !== null)\n\n // 如果存在业务状态码字段,则必须检查它们是否都表示成功\n if (hasBusinessStatusCode) {\n return statusChecks.every(\n config => config.value === undefined || config.value === null || isStatusCodeSuccess(config),\n )\n }\n\n // 如果没有业务状态码字段,HTTP 2xx 就认为成功\n return true\n}\n\n/**\n * 根据响应类型处理响应数据\n * @param response 响应对象\n * @param responseType 响应类型\n * @returns 处理后的响应数据\n */\nconst processResponseByType = async (response: Response, responseType?: ResponseType): Promise<any> => {\n switch (responseType) {\n case ResponseType.BLOB:\n return response.blob()\n case ResponseType.TEXT:\n return response.text()\n case ResponseType.ARRAY_BUFFER:\n return response.arrayBuffer()\n case ResponseType.FORM_DATA:\n return response.formData()\n case ResponseType.JSON:\n default:\n return response.json()\n }\n}\n\n/**\n * HTTP客户端Hook (基于 Ky) - 内部使用版本\n * @param config 配置选项\n * @returns HTTP客户端方法集合\n */\nexport const useKy = (config?: UseKyOptions): KyMethods => {\n const { baseURL } = config || {}\n const { notification } = App.useApp()\n\n // 使用 useNavigate 获取导航函数\n // 注意:调用 useKy 的组件必须在 Router 上下文中\n const navigate = useNavigate()\n\n const queryClient = useQueryClient()\n\n // 获取工具包状态\n const { token, isGlobalMode, appId, permissionVersion, loginPath, clear, apiBaseUrl } = useToolkitsStore()\n\n // 处理未授权错误\n const handleUnauthorized = () => {\n clear()\n // 清除 React Query 缓存\n queryClient.clear()\n navigate(loginPath)\n }\n\n // 处理未注册错误\n const handleUnregistered = () => {\n clear()\n // 清除 React Query 缓存\n queryClient.clear()\n if (loginPath) {\n // 添加未注册参数到登录页 URL\n const url = new URL(loginPath, window.location.origin)\n url.searchParams.set('unregistered', 'true')\n navigate(url.toString())\n }\n }\n\n // 处理禁止访问错误\n const handleForbidden = () => {\n notification.error({\n message: '访问被禁止',\n description: '您没有权限访问此资源。',\n })\n }\n\n // 创建响应处理函数\n const createResponseHandler = (responseType?: ResponseType) => {\n return async (_request: any, _options: any, response: Response): Promise<Response> => {\n // 非 JSON 类型直接交由调用方按响应类型读取\n if (\n responseType === ResponseType.BLOB ||\n responseType === ResponseType.ARRAY_BUFFER ||\n responseType === ResponseType.TEXT ||\n responseType === ResponseType.FORM_DATA\n ) {\n return response\n }\n\n // 默认 JSON\n let data: any\n try {\n data = await response.clone().json()\n } catch {\n // 非 JSON 或空响应体,直接返回原响应\n return response\n }\n\n if (isSuccessResponse(data, response.status)) {\n const responseData = data.data !== undefined ? data.data : data\n return new Response(JSON.stringify(responseData), {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n })\n }\n\n const errorMessage = extractErrorMessage(data)\n\n notification.error({\n message: 'Request failed',\n description: errorMessage,\n })\n\n const error = new Error(errorMessage)\n ;(error as any).response = response\n ;(error as any).data = data\n throw error\n }\n }\n\n // 处理HTTP状态码错误\n const handleHttpStatusError = (status: number, data: any) => {\n switch (status) {\n case HTTP_STATUS.UNAUTHORIZED:\n handleUnauthorized()\n break\n\n case HTTP_STATUS.UNREGISTERED:\n handleUnregistered()\n break\n\n case HTTP_STATUS.FORBIDDEN:\n handleForbidden()\n break\n\n default: {\n // 安全地提取错误消息\n const errorMessage = extractErrorMessage(data) || `HTTP ${status} Error`\n notification.error({\n message: 'Request failed',\n description: errorMessage,\n })\n break\n }\n }\n }\n\n // 创建ky实例\n const instance = useMemo(() => {\n return ky.create({\n prefixUrl: baseURL ?? apiBaseUrl,\n retry: 0,\n timeout: REQUEST_TIMEOUT,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n hooks: {\n beforeRequest: [\n request => {\n // 设置认证 headers\n if (token) {\n request.headers.set('Authorization', `Bearer ${token}`)\n }\n\n // 设置应用 ID headers\n if (!request.headers.has(APP_ID_HEADER) && permissionVersion !== PermissionVersion.V1) {\n if (isGlobalMode || !appId) {\n request.headers.set(APP_ID_HEADER, 'global')\n } else {\n // 对 appId 进行 URL 编码以避免非 ASCII 字符导致的 XMLHttpRequest 错误\n request.headers.set(APP_ID_HEADER, encodeURIComponent(String(appId)))\n }\n }\n },\n ],\n beforeError: [\n async error => {\n const { response } = error\n\n if (response) {\n const status = response.status\n let data: any\n\n try {\n const contentType = response.headers.get('content-type') || ''\n if (contentType.includes('application/json') || contentType.startsWith('text/')) {\n data = await response.clone().json()\n }\n } catch {\n // 忽略 JSON 解析错误\n }\n\n handleHttpStatusError(status, data)\n } else {\n // 网络错误或请求超时等情况\n notification.error({\n message: 'Network Error',\n description: error.message || 'Network request failed',\n })\n }\n\n return error\n },\n ],\n },\n })\n }, [baseURL, token, isGlobalMode, appId, permissionVersion, notification, loginPath, clear, queryClient, apiBaseUrl])\n\n // 通用请求处理函数\n const makeRequest = async <T = any>(\n method: string,\n url: string,\n data?: any,\n requestOptions?: RequestOptions,\n ): Promise<T> => {\n const { responseType, ...kyOptions } = requestOptions || {}\n\n // 创建带有响应类型处理器的请求选项\n const finalOptions: KyOptions = {\n ...kyOptions,\n hooks: {\n ...kyOptions.hooks,\n afterResponse: [...(kyOptions.hooks?.afterResponse || []), createResponseHandler(responseType)],\n },\n }\n\n let response: Response\n\n if (data) {\n response = await instance(url, { method, json: data, ...finalOptions })\n } else {\n response = await instance(url, { method, ...finalOptions })\n }\n\n // 根据响应类型返回相应数据\n return processResponseByType(response, responseType)\n }\n\n // HTTP方法\n const get = <T = any>(url: string, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('GET', url, undefined, options)\n }\n\n const post = <T = any>(url: string, data?: any, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('POST', url, data, options)\n }\n\n const put = <T = any>(url: string, data?: any, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('PUT', url, data, options)\n }\n\n const del = <T = any>(url: string, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('DELETE', url, undefined, options)\n }\n\n const patch = <T = any>(url: string, data?: any, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('PATCH', url, data, options)\n }\n\n const options = <T = any>(url: string, requestOptions?: RequestOptions): Promise<T> => {\n return makeRequest<T>('OPTIONS', url, undefined, requestOptions)\n }\n\n const head = <T = any>(url: string, requestOptions?: RequestOptions): Promise<T> => {\n return makeRequest<T>('HEAD', url, undefined, requestOptions)\n }\n\n const request = <T = any>(requestOptions: RequestOptions & { url: string }): Promise<T> => {\n const { url, ...requestOpts } = requestOptions\n return makeRequest<T>(requestOpts.method || 'GET', url, undefined, requestOpts)\n }\n\n return {\n get,\n post,\n put,\n delete: del,\n patch,\n options,\n head,\n request,\n instance,\n }\n}\n","// 查询键工厂 - 使用简单的对象和函数来生成查询键\nexport const queryKeys = {\n // 权限相关\n permissions: {\n check: (permissions: string[], version: 'v1' | 'v2') => ['permissions', 'check', permissions, version] as const,\n allPermissions: ['permissions', 'all'] as const,\n allPermissionsV2: ['permissions', 'allV2'] as const,\n },\n // 用户相关\n users: {\n all: ['users'] as const,\n detail: (id: string) => ['users', 'detail', id] as const,\n create: ['users', 'create'] as const,\n update: ['users', 'update'] as const,\n delete: ['users', 'delete'] as const,\n },\n // 角色相关\n roles: {\n all: ['roles'] as const,\n detail: (name: string, version: 'v1' | 'v2') => ['roles', 'detail', name, version] as const,\n create: (version: 'v1' | 'v2') => ['roles', 'create', version] as const,\n update: (version: 'v1' | 'v2') => ['roles', 'update', version] as const,\n delete: ['roles', 'delete'] as const,\n },\n // 菜单相关\n menus: {\n all: ['menus'] as const,\n navbar: (appId?: string) => ['menus', 'navbar', appId] as const,\n detail: (id: number) => ['menus', 'detail', id] as const,\n create: ['menus', 'create'] as const,\n update: ['menus', 'update'] as const,\n delete: ['menus', 'delete'] as const,\n },\n // 枚举相关\n enums: {\n gameGroups: ['enums', 'gameGroups'] as const,\n gameIds: (gameGroups: string[]) => ['enums', 'gameIds', gameGroups] as const,\n },\n // 游戏相关\n games: {\n all: ['games', 'all'] as const,\n },\n // 认证相关\n auth: {\n ticketLogin: (ticket: string | null) => ['auth', 'ticket-login', ticket] as const,\n },\n}\n\nexport type QueryKeys = typeof queryKeys\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-742NAY4S.js';import {f}from'./chunk-W3E3WPLB.js';import {Editor}from'@monaco-editor/react';import {App,Form,Card,Input,Switch,InputNumber,Button}from'antd';import {useNavigate}from'react-router-dom';import {jsx,jsxs}from'react/jsx-runtime';var v=()=>{let{message:u}=App.useApp(),[p]=Form.useForm(),o=useNavigate(),{mutateAsync:c}=a();return jsx(Card,{title:"\u521B\u5EFA\u83DC\u5355\u9879",children:jsxs(Form,{scrollToFirstError:true,form:p,labelCol:{flex:"120px"},initialValues:{is_common:false,is_model:false,order:0},onFinish:async I=>{let{permissions:s,front_route:d,...f$1}=I;await c({...f$1,front_route:f+d,permissions:s?JSON.parse(s):void 0}),u.success("\u521B\u5EFA\u6210\u529F",.8,()=>o("..",{relative:"route"}));},children:[jsx(Form.Item,{label:"\u83DC\u5355\u9879\u540D\u79F0",name:"category",rules:[{required:true}],children:jsx(Input,{})}),jsx(Form.Item,{label:"\u524D\u7AEF\u8DEF\u7531",name:"front_route",rules:[{required:true}],children:jsx(Input,{prefix:f})}),jsx(Form.Item,{label:"\u6A21\u677F\u540D\u79F0",name:"model_name",rules:[{required:true}],children:jsx(Input,{})}),jsx(Form.Item,{label:"Is Common",name:"is_common",rules:[{required:true}],valuePropName:"checked",children:jsx(Switch,{})}),jsx(Form.Item,{label:"Order",name:"order",children:jsx(InputNumber,{className:"w-full"})}),jsx(Form.Item,{label:"\u63A5\u53E3\u89C4\u5219",name:"permissions",children:jsx(Editor,{theme:"vs-dark",height:"300px",language:"json",options:{minimap:{enabled:false}}})}),jsx(Form.Item,{label:"Schema",name:"scheme",rules:[{required:true}],children:jsx(Editor,{theme:"vs-dark",height:"600px",language:"json",options:{minimap:{enabled:false}}})}),jsx(Form.Item,{label:"Ext",name:"ext",children:jsx(Input.TextArea,{rows:5})}),jsx(Form.Item,{children:jsxs("div",{className:"flex justify-center gap-8",children:[jsx(Button,{type:"primary",htmlType:"submit",children:"\u63D0\u4EA4"}),jsx(Button,{onClick:()=>{o("..",{relative:"path"});},children:"\u53D6\u6D88"})]})})]})})},q=v;export{q as default};//# sourceMappingURL=createMenuItem-C7HUFDD4.js.map
2
+ //# sourceMappingURL=createMenuItem-C7HUFDD4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/modules/menu/pages/createMenuItem/index.tsx"],"names":["CreateMenuItem","message","App","form","Form","navigate","useNavigate","createMenu","useCreateMenu","jsx","Card","jsxs","values","permissions","front_route","rest","FRONTEND_ROUTE_PREFIX","Input","Switch","InputNumber","Editor","Button","createMenuItem_default"],"mappings":"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","file":"createMenuItem-C7HUFDD4.js","sourcesContent":["import { Editor } from '@monaco-editor/react'\nimport { App, Button, Card, Form, Input, InputNumber, Switch } from 'antd'\nimport { useNavigate } from 'react-router-dom'\n\nimport { FRONTEND_ROUTE_PREFIX } from '@/constants'\nimport type { MenuListItem } from '@/types'\n\nimport { useCreateMenu } from '../../services'\n\ntype FormSchema = Omit<MenuListItem, 'id' | 'permissions'> & { permissions: string }\n\nconst CreateMenuItem = () => {\n const { message } = App.useApp()\n const [form] = Form.useForm<FormSchema>()\n const navigate = useNavigate()\n const { mutateAsync: createMenu } = useCreateMenu()\n\n const onFinish = async (values: FormSchema) => {\n const { permissions, front_route, ...rest } = values\n await createMenu({\n ...rest,\n front_route: FRONTEND_ROUTE_PREFIX + front_route,\n permissions: permissions ? JSON.parse(permissions) : undefined,\n })\n message.success('创建成功', 0.8, () => navigate('..', { relative: 'route' }))\n }\n\n return (\n <Card title=\"创建菜单项\">\n <Form\n scrollToFirstError\n form={form}\n labelCol={{ flex: '120px' }}\n initialValues={{ is_common: false, is_model: false, order: 0 }}\n onFinish={onFinish}\n >\n <Form.Item label=\"菜单项名称\" name=\"category\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"前端路由\" name=\"front_route\" rules={[{ required: true }]}>\n <Input prefix={FRONTEND_ROUTE_PREFIX} />\n </Form.Item>\n <Form.Item label=\"模板名称\" name=\"model_name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"Is Common\" name=\"is_common\" rules={[{ required: true }]} valuePropName=\"checked\">\n <Switch />\n </Form.Item>\n <Form.Item label=\"Order\" name=\"order\">\n <InputNumber className=\"w-full\" />\n </Form.Item>\n <Form.Item label=\"接口规则\" name=\"permissions\">\n <Editor\n theme=\"vs-dark\"\n height=\"300px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Schema\" name=\"scheme\" rules={[{ required: true }]}>\n <Editor\n theme=\"vs-dark\"\n height=\"600px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Ext\" name=\"ext\">\n <Input.TextArea rows={5} />\n </Form.Item>\n <Form.Item>\n <div className=\"flex justify-center gap-8\">\n <Button type=\"primary\" htmlType=\"submit\">\n 提交\n </Button>\n <Button\n onClick={() => {\n navigate('..', { relative: 'path' })\n }}\n >\n 取消\n </Button>\n </div>\n </Form.Item>\n </Form>\n </Card>\n )\n}\n\nexport default CreateMenuItem\n"]}
package/lib/index.css CHANGED
@@ -1 +1 @@
1
- @layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-inset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:1.42857;--text-xl:1.25rem;--text-xl--line-height:1.4;--text-2xl:1.5rem;--text-2xl--line-height:1.33333;--font-weight-medium:500;--font-weight-bold:700;--leading-tight:1.25;--radius-lg:.5rem;--ease-out:cubic-bezier(0,0,.2,1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{border:0 solid;box-sizing:border-box;margin:0;padding:0}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}table{border-collapse:collapse;border-color:inherit;text-indent:0}menu{list-style:none}img,object,svg{display:block;vertical-align:middle}img{height:auto;max-width:100%}button,select{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}::file-selector-button{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-0{top:calc(var(--spacing)*0)}.top-6{top:calc(var(--spacing)*6)}.top-16{top:calc(var(--spacing)*16)}.right-0{right:calc(var(--spacing)*0)}.right-16{right:calc(var(--spacing)*16)}.left-14{left:calc(var(--spacing)*14)}.z-10{z-index:10}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-4{margin-inline:calc(var(--spacing)*4)}.my-12{margin-block:calc(var(--spacing)*12)}.mt-2{margin-top:calc(var(--spacing)*2)}.mr-6{margin-right:calc(var(--spacing)*6)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.ml-4{margin-left:calc(var(--spacing)*4)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.h-10{height:calc(var(--spacing)*10)}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.w-8{width:calc(var(--spacing)*8)}.w-full{width:100%}.w-screen{width:100vw}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-grow-0{flex-grow:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}.overflow-hidden{overflow:hidden}.rounded-lg{border-radius:var(--radius-lg)}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab}.bg-gradient-to-br,.bg-gradient-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab}.from-gray-800{--tw-gradient-from:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-600{--tw-gradient-to:var(--color-gray-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:calc(var(--spacing)*1)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-36{padding-inline:calc(var(--spacing)*36)}.py-2{padding-block:calc(var(--spacing)*2)}.text-center{text-align:center}.text-end{text-align:end}.text-start{text-align:start}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{font-weight:var(--font-weight-bold)}.font-medium{font-weight:var(--font-weight-medium)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-gray-500{color:var(--color-gray-500)}.text-transparent{color:#0000}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-all{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:bg-white\/50:hover{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/50:hover{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.hover\:from-blue-600:hover{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-blue-500:hover{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
1
+ @layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-inset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-50:oklch(97% .014 254.604);--color-purple-50:oklch(97.7% .014 308.299);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--text-xl:1.25rem;--text-xl--line-height:1.4;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--radius-lg:.5rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0,0,.2,1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{border:0 solid;box-sizing:border-box;margin:0;padding:0}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}strong{font-weight:bolder}code{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}table{border-collapse:collapse;border-color:inherit;text-indent:0}menu{list-style:none}img,object,svg{display:block;vertical-align:middle}img{height:auto;max-width:100%}button,select{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}::file-selector-button{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}}@layer antd,components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-0{top:calc(var(--spacing)*0)}.top-6{top:calc(var(--spacing)*6)}.right-6{right:calc(var(--spacing)*6)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-6{left:calc(var(--spacing)*6)}.z-10{z-index:10}.z-20{z-index:20}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-4{margin-inline:calc(var(--spacing)*4)}.my-6{margin-block:calc(var(--spacing)*6)}.my-12{margin-block:calc(var(--spacing)*12)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-6{margin-right:calc(var(--spacing)*6)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.ml-4{margin-left:calc(var(--spacing)*4)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.h-12{height:calc(var(--spacing)*12)}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.w-8{width:calc(var(--spacing)*8)}.w-40{width:calc(var(--spacing)*40)}.w-full{width:100%}.w-screen{width:100vw}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.grow-0{flex-grow:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-gray-200{border-color:var(--color-gray-200)}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-800{--tw-gradient-from:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-gray-700{--tw-gradient-via:var(--color-gray-700);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-gray-600{--tw-gradient-to:var(--color-gray-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-50{--tw-gradient-to:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:calc(var(--spacing)*1)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.text-center{text-align:center}.text-end{text-align:end}.text-start{text-align:start}.align-top{vertical-align:top}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{font-weight:var(--font-weight-bold)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-gray-500{color:var(--color-gray-500)}.text-transparent{color:#0000}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-2xl,.shadow-md{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-all{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
package/lib/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { ButtonProps, FormInstance, MenuProps, SelectProps, DrawerProps, Button, FormProps, ModalProps } from 'antd';
2
2
  import { Options } from 'ky';
3
- import { FC, PropsWithChildren, Key, ReactNode, ReactElement, Ref, DetailedHTMLProps, ImgHTMLAttributes, ComponentType, ComponentProps } from 'react';
3
+ import * as react from 'react';
4
+ import { FC, PropsWithChildren, Key, ReactNode, ReactElement, Ref, DetailedHTMLProps, ImgHTMLAttributes, ComponentProps } from 'react';
4
5
  import { ParagraphProps } from 'antd/es/typography/Paragraph';
5
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
7
  import { AnyObject } from 'antd/es/_util/type';
@@ -334,7 +335,9 @@ interface RequireAuthProps {
334
335
  */
335
336
  declare const RequireAuth: FC<PropsWithChildren<RequireAuthProps>>;
336
337
 
337
- declare const RequireGame: FC<PropsWithChildren>;
338
+ declare const _default$2: react.NamedExoticComponent<{
339
+ children?: react.ReactNode | undefined;
340
+ }>;
338
341
 
339
342
  declare const SSO_URL = "https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1";
340
343
  declare const APP_ID_HEADER = "App-ID";
@@ -441,14 +444,14 @@ type Locale = {
441
444
  interface ContextSlice {
442
445
  locale: Locale;
443
446
  permissionVersion: PermissionVersion;
444
- gameApiV2: boolean;
447
+ useGameApiV2: boolean;
445
448
  loginPath: string;
446
- isGlobal: boolean;
447
- navWidth?: number;
448
- collapsible?: boolean;
449
- mainPagePath: string;
450
- apiBase?: string;
451
- setContext(state: Partial<Omit<ContextSlice, 'setContext'>>): void;
449
+ isGlobalMode: boolean;
450
+ requireGameSelection?: boolean;
451
+ sidebarWidth?: number;
452
+ sidebarCollapsible?: boolean;
453
+ homePath: string;
454
+ apiBaseUrl?: string;
452
455
  }
453
456
 
454
457
  interface GameSlice {
@@ -482,12 +485,8 @@ type ToolkitsState = TokenSlice & GameSlice & ContextSlice & LayoutSlice & {
482
485
 
483
486
  declare function useToolkitsStore(): ToolkitsState;
484
487
  declare function useToolkitsStore<T>(selector: (state: ToolkitsState) => T): T;
485
- type ToolkitsProviderProps = PropsWithChildren<Partial<Omit<ContextSlice, 'setContext'>>>;
488
+ type ToolkitsProviderProps = PropsWithChildren<Partial<ContextSlice>>;
486
489
  declare const ToolkitsProvider: FC<ToolkitsProviderProps>;
487
- declare const withContext: (Component: ComponentType, providerProps: Omit<ToolkitsProviderProps, "children">) => {
488
- (props: any): react_jsx_runtime.JSX.Element;
489
- displayName: string;
490
- };
491
490
 
492
491
  declare const UserDropdown: FC;
493
492
 
@@ -623,19 +622,16 @@ declare function useFormModal<Values extends AnyObject = AnyObject, ExtraValues
623
622
 
624
623
  declare const useModalStore: zustand.UseBoundStore<zustand.StoreApi<VisibilityState>>;
625
624
 
626
- declare const _default$2: react_jsx_runtime.JSX.Element;
627
-
628
625
  declare const _default$1: react_jsx_runtime.JSX.Element;
629
626
 
627
+ declare const _default: react_jsx_runtime.JSX.Element;
628
+
630
629
  interface NotFoundProps {
631
630
  redirectUrl?: string;
632
631
  }
633
632
  declare const NotFound: FC<NotFoundProps>;
634
633
 
635
- declare const _default: {
636
- (props: any): react_jsx_runtime.JSX.Element;
637
- displayName: string;
638
- };
634
+ declare const OperationLogList: FC;
639
635
 
640
636
  interface SignInProps {
641
637
  extra?: ReactNode;
@@ -833,4 +829,4 @@ declare function useAuth(code?: string | string[], config?: Options): {
833
829
  declare function useMenuList(): _tanstack_react_query.UseQueryResult<MenuListItem[], Error>;
834
830
  declare const useGames: () => _tanstack_react_query.UseQueryResult<Game[], Error>;
835
831
 
836
- export { APP_ID_HEADER, AuthButton, type AuthButtonProps, DynamicTags, type DynamicTagsProps, ExpandableParagraph, type ExpandableParagraphProps, FRONTEND_ROUTE_PREFIX, FilterFormWrapper, type FilterFormWrapperProps, type Game, Highlight, type HighlightProps, InfiniteList, InfiniteListAction, type InfiniteListPayload, type InfiniteListProps, type InfiniteListRef, type InfiniteListRequestConfig, Layout, type LayoutProps, Logo, type LogoProps, type MenuListItem, Nav, type NavItem, NotFound, _default as OperationLogList, type Permission, PermissionVersion, QueryList, QueryListAction, type QueryListPayload, type QueryListProps, type QueryListRef, type RecursivePartial, RequireAuth, type RequireAuthProps, RequireGame, SSO_URL, SignIn, ToolkitsProvider, type ToolkitsProviderProps, type UseFormDrawerProps, type UseFormModalProps, UserDropdown, type VisibilityState, WILDCARD, createVisibilityStore, generateId, _default$2 as menu, mixedStorage, _default$1 as permission, useAuth, useDrawer, useDrawerStore, useFormDrawer, useFormModal, useGames, useInfiniteListStore, useMenuList, useModal, useModalStore, useQueryListStore, useToolkitsStore, withContext };
832
+ export { APP_ID_HEADER, AuthButton, type AuthButtonProps, DynamicTags, type DynamicTagsProps, ExpandableParagraph, type ExpandableParagraphProps, FRONTEND_ROUTE_PREFIX, FilterFormWrapper, type FilterFormWrapperProps, type Game, Highlight, type HighlightProps, InfiniteList, InfiniteListAction, type InfiniteListPayload, type InfiniteListProps, type InfiniteListRef, type InfiniteListRequestConfig, Layout, type LayoutProps, Logo, type LogoProps, type MenuListItem, Nav, type NavItem, NotFound, OperationLogList, type Permission, PermissionVersion, QueryList, QueryListAction, type QueryListPayload, type QueryListProps, type QueryListRef, type RecursivePartial, RequireAuth, type RequireAuthProps, _default$2 as RequireGame, SSO_URL, SignIn, ToolkitsProvider, type ToolkitsProviderProps, type UseFormDrawerProps, type UseFormModalProps, UserDropdown, type VisibilityState, WILDCARD, createVisibilityStore, generateId, _default$1 as menu, mixedStorage, _default as permission, useAuth, useDrawer, useDrawerStore, useFormDrawer, useFormModal, useGames, useInfiniteListStore, useMenuList, useModal, useModalStore, useQueryListStore, useToolkitsStore };