diff --git a/.changeset/five-ligers-hang.md b/.changeset/five-ligers-hang.md new file mode 100644 index 000000000..77a81a494 --- /dev/null +++ b/.changeset/five-ligers-hang.md @@ -0,0 +1,6 @@ +--- +"@hera/plugin-approval-mobile": patch +"tachybase": patch +--- + +添加mobile审计模块 diff --git a/packages/plugins/@hera/plugin-approval-mobile/.npmignore b/packages/plugins/@hera/plugin-approval-mobile/.npmignore new file mode 100644 index 000000000..65f5e8779 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/.npmignore @@ -0,0 +1,2 @@ +/node_modules +/src diff --git a/packages/plugins/@hera/plugin-approval-mobile/README.md b/packages/plugins/@hera/plugin-approval-mobile/README.md new file mode 100644 index 000000000..3d40db752 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/README.md @@ -0,0 +1 @@ +# @hera/plugin-approval-mobile diff --git a/packages/plugins/@hera/plugin-approval-mobile/client.d.ts b/packages/plugins/@hera/plugin-approval-mobile/client.d.ts new file mode 100644 index 000000000..6c459cbac --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/client.d.ts @@ -0,0 +1,2 @@ +export * from './dist/client'; +export { default } from './dist/client'; diff --git a/packages/plugins/@hera/plugin-approval-mobile/client.js b/packages/plugins/@hera/plugin-approval-mobile/client.js new file mode 100644 index 000000000..b6e3be70e --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/client.js @@ -0,0 +1 @@ +module.exports = require('./dist/client/index.js'); diff --git a/packages/plugins/@hera/plugin-approval-mobile/package.json b/packages/plugins/@hera/plugin-approval-mobile/package.json new file mode 100644 index 000000000..9e1078814 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/package.json @@ -0,0 +1,24 @@ +{ + "name": "@hera/plugin-approval-mobile", + "version": "0.21.12", + "main": "dist/server/index.js", + "devDependencies": { + "@ant-design/icons": "5.x", + "@nocobase/schema": "workspace:*", + "@types/lodash": "^4.17.0", + "antd": "5.16.1", + "antd-mobile": "^5.35.0", + "antd-mobile-icons": "^0.3.0", + "classnames": "^2.3.1", + "lodash": "4.17.21", + "react-i18next": "^11.15.1" + }, + "peerDependencies": { + "@nocobase/client": "workspace:*", + "@nocobase/server": "workspace:*", + "@nocobase/test": "workspace:*", + "@nocobase/utils": "workspace:*" + }, + "description.zh-CN": "提供定制化的移动端页面审批的功能。", + "displayName.zh-CN": "移动端:审批" +} diff --git a/packages/plugins/@hera/plugin-approval-mobile/server.d.ts b/packages/plugins/@hera/plugin-approval-mobile/server.d.ts new file mode 100644 index 000000000..c41081ddc --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/server.d.ts @@ -0,0 +1,2 @@ +export * from './dist/server'; +export { default } from './dist/server'; diff --git a/packages/plugins/@hera/plugin-approval-mobile/server.js b/packages/plugins/@hera/plugin-approval-mobile/server.js new file mode 100644 index 000000000..972842039 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/server.js @@ -0,0 +1 @@ +module.exports = require('./dist/server/index.js'); diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/ApprovalBlockInitializer.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/ApprovalBlockInitializer.tsx new file mode 100644 index 000000000..86626ca17 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/ApprovalBlockInitializer.tsx @@ -0,0 +1,51 @@ +import { + SchemaInitializerItem, + SchemaInitializerMenu, + useSchemaInitializer, + useSchemaInitializerItem, +} from '@nocobase/client'; +import React from 'react'; +import { ISchema } from '@nocobase/schema'; +import { Toast } from 'antd-mobile'; +import { CalendarOutline } from 'antd-mobile-icons'; + +export const ApprovalBlockInitializer = () => { + const { insert } = useSchemaInitializer(); + const itemConfig = useSchemaInitializerItem(); + const onCreateBlockSchema = async ({ item }) => { + const schema: ISchema = { + type: 'void', + name: item.name, + title: item.title, + 'x-toolbar': 'BlockSchemaToolbar', + 'x-settings': 'ApprovalSettings', + 'x-component': item.itemComponent, + 'x-component-props': {}, + }; + insert(schema); + }; + return ( + } + items={ApprovalInitializerItem} + onClick={onCreateBlockSchema} + > + ); +}; + +export const ApprovalInitializerItem = [ + { + type: 'item', + name: 'initiations', + title: '发起', + itemComponent: 'InitiationsBlock', + }, + { + type: 'item', + title: '审批', + name: 'todos', + itemComponent: 'TodosBlock', + }, +]; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/ApprovalSettings.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/ApprovalSettings.tsx new file mode 100644 index 000000000..9cf734309 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/ApprovalSettings.tsx @@ -0,0 +1,17 @@ +import { SchemaSettings } from '@nocobase/client'; +import _ from 'lodash'; + +export const ApprovalSettings = new SchemaSettings({ + name: 'ApprovalSettings', + items: [ + { + name: 'divider', + type: 'divider', + }, + { + name: 'delete', + type: 'remove', + sort: 100, + }, + ], +}); diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/InitiationsBlock.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/InitiationsBlock.tsx new file mode 100644 index 000000000..7d7086009 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/InitiationsBlock.tsx @@ -0,0 +1,65 @@ +import { BlockItem, css } from '@nocobase/client'; +import React from 'react'; +import { AutoCenter, Card, SearchBar, Selector, Space } from 'antd-mobile'; +import { TeamFill } from 'antd-mobile-icons'; + +export const InitiationsBlock = () => { + return ( + +
+ + + +
+ +
+ 11111 +
+ ), + }, + { + value: '2', + label: ( +
+
+ +
+ 11111 +
+ ), + }, + { + value: '3', + label: ( +
+
+ +
+ 11111 +
+ ), + }, + ]} + /> + + +
+ ); +}; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/TodosBlock.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/TodosBlock.tsx new file mode 100644 index 000000000..7fb13aff2 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/TodosBlock.tsx @@ -0,0 +1,79 @@ +import { BlockItem, SchemaComponent, css } from '@nocobase/client'; +import { Divider, SearchBar, Space, Tabs } from 'antd-mobile'; +import React, { useState } from 'react'; +import { TabApplicantType } from './component/TabApplicantType'; +import { TabTemplateType } from './component/TabTemplateType'; +import { TabReachDataType } from './component/TabReachDataType'; +import { TabBatchProcessingType } from './component/TabBatchProcessingType'; +import { TabApprovalType } from './component/TabApprovalType'; +import { TabReadingType } from './component/TabReadingType'; +import { TabApprovalItem } from './component/TabApprovalItem'; +import { useFieldSchema } from '@nocobase/schema'; + +export const TodosBlock = () => { + const fieldSchema = useFieldSchema(); + fieldSchema['x-component-props'] = fieldSchema['x-component-props']?.['approvalKey'] + ? fieldSchema['x-component-props'] + : (() => { + fieldSchema['x-component-props']['approvalKey'] = 'pending'; + return fieldSchema['x-component-props']; + })(); + const props = fieldSchema['x-component-props']; + return ( + + + { + props['approvalKey'] = key; + }} + style={{ '--title-font-size': '12px', backgroundColor: '#ffffff', marginTop: '10px' }} + > + + + {/* 模版类型 */} + + {/* 申请人 */} + + {/* 到达日期 */} + + {/* 批量处理 */} + + + + + + + {/* 阅读状态 */} + + {/* 审批状态 */} + + {/* 模版类型 */} + + {/* 申请人 */} + + {/* 到达日期 */} + + + + + + + {/* 阅读状态 */} + + {/* 审批状态 */} + + {/* 模版类型 */} + + {/* 申请人 */} + + {/* 到达日期 */} + + + + + + + ); +}; + +const spaceStyle = { width: '100%', fontSize: '10px', color: '#8e8e8e' }; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabApplicantType.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabApplicantType.tsx new file mode 100644 index 000000000..4f8105056 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabApplicantType.tsx @@ -0,0 +1,36 @@ +import { useFieldSchema } from '@nocobase/schema'; +import { Picker, Space } from 'antd-mobile'; +import { DownOutline } from 'antd-mobile-icons'; +import React, { useState } from 'react'; + +export const TabApplicantType = () => { + const [visible, setVisible] = useState(false); + return ( + + { + setVisible(true); + }} + > + 申请人 + + + { + setVisible(false); + }} + /> + + ); +}; + +const columns = [ + [ + { label: '111', value: '1' }, + { label: '222', value: '2' }, + { label: '333', value: '3' }, + { label: '444', value: '4' }, + ], +]; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabApprovalItem.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabApprovalItem.tsx new file mode 100644 index 000000000..2287700a6 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabApprovalItem.tsx @@ -0,0 +1,70 @@ +import { connect, useFieldSchema } from '@nocobase/schema'; +import { Badge, Empty, List, Space, Tag } from 'antd-mobile'; +import React from 'react'; + +export const TabApprovalItem = () => { + const fieldSchema = useFieldSchema(); + const props = fieldSchema['x-component-props']; + const blockData = props.approvalKey === 'duplicate' ? [] : data; + + return ( +
+ {blockData.length ? ( + + {blockData.map((item, index) => { + return ( + + + + {item.title} + + 审批中 + + + + xxxx:{item.context} + xxxx:{item.price} + xxxx:{item.context} + + ); + })} + + ) : ( + + )} +
+ ); +}; + +const data = [ + { + title: 'xx-xxxxx的申请', + context: 'xxxxxxxxx', + price: 'xxxxxxx', + type: '1', + status: '1', + date: '2024-01-08', + read: false, + applicantId: 9, + }, + { + title: 'xx-xxxxx的申请', + context: 'xxxxxxxxx', + price: 'xxxxxxx', + type: '2', + status: '2', + date: '2024-01-09', + read: true, + applicantId: 10, + }, + { + title: 'xx-xxxxx的申请', + context: 'xxxxxxxxx', + price: 'xxxxxxx', + type: '3', + status: '3', + date: '2024-01-010', + read: false, + applicantId: 11, + }, +]; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabApprovalType.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabApprovalType.tsx new file mode 100644 index 000000000..b29e0ffb0 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabApprovalType.tsx @@ -0,0 +1,36 @@ +import { Picker, Space } from 'antd-mobile'; +import { DownOutline } from 'antd-mobile-icons'; +import React, { useState } from 'react'; + +export const TabApprovalType = () => { + const [visible, setVisible] = useState(false); + return ( + <> + { + setVisible(true); + }} + > + 审批状态 + + + { + setVisible(false); + }} + /> + + ); +}; + +const columns = [ + [ + { label: '全部', value: '0' }, + { label: '审批中', value: '1' }, + { label: '已通过', value: '2' }, + { label: '已驳回', value: '3' }, + { label: '已撤销', value: '4' }, + ], +]; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabBatchProcessingType.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabBatchProcessingType.tsx new file mode 100644 index 000000000..cfa3beeaf --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabBatchProcessingType.tsx @@ -0,0 +1,12 @@ +import { Space } from 'antd-mobile'; +import { FillinOutline } from 'antd-mobile-icons'; +import React from 'react'; + +export const TabBatchProcessingType = () => { + return ( + + + 批量处理 + + ); +}; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabReachDataType.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabReachDataType.tsx new file mode 100644 index 000000000..f87cb3bf2 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabReachDataType.tsx @@ -0,0 +1,31 @@ +import { Picker, Space } from 'antd-mobile'; +import { DownOutline } from 'antd-mobile-icons'; +import React, { useState } from 'react'; + +export const TabReachDataType = () => { + const [visible, setVisible] = useState(false); + return ( + <> + + 到达日期 + + + { + setVisible(false); + }} + /> + + ); +}; + +const columns = [ + [ + { label: '全部', value: '1' }, + { label: '近7日', value: '2' }, + { label: '近30日', value: '3' }, + { label: '自定义区间', value: '4' }, + ], +]; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabReadingType.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabReadingType.tsx new file mode 100644 index 000000000..cc8143f15 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabReadingType.tsx @@ -0,0 +1,30 @@ +import { Picker, Space } from 'antd-mobile'; +import { DownOutline } from 'antd-mobile-icons'; +import React, { useState } from 'react'; + +export const TabReadingType = () => { + const [visible, setVisible] = useState(false); + return ( + <> + + 阅读状态 + + + { + setVisible(false); + }} + /> + + ); +}; + +const columns = [ + [ + { label: '全部', value: '1' }, + { label: '已读', value: '2' }, + { label: '未读', value: '3' }, + ], +]; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabTemplateType.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabTemplateType.tsx new file mode 100644 index 000000000..1a501c3ad --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/component/TabTemplateType.tsx @@ -0,0 +1,37 @@ +import { Picker, Space } from 'antd-mobile'; +import { DownOutline } from 'antd-mobile-icons'; +import React, { useState } from 'react'; + +export const TabTemplateType = () => { + const [visible, setVisible] = useState(false); + return ( + <> + { + setVisible(true); + }} + > + 模版类型 + + + { + setVisible(false); + }} + /> + + ); +}; + +const columns = [ + [ + { label: '全部', value: '0' }, + { label: '入职申请', value: '1' }, + { label: '转正申请', value: '2' }, + { label: '调用申请', value: '3' }, + { label: '离职申请', value: '4' }, + { label: 'xxx申请', value: '5' }, + ], +]; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/index.ts b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/index.ts new file mode 100644 index 000000000..7c5d5294e --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/index.ts @@ -0,0 +1,24 @@ +import { Plugin } from '@nocobase/client'; +import { ApprovalBlockInitializer } from './ApprovalBlockInitializer'; +import { ApprovalSettings } from './ApprovalSettings'; +import { TodosBlock } from './TodosBlock'; +import { InitiationsBlock } from './InitiationsBlock'; + +class PluginApproval extends Plugin { + async load() { + this.app.addComponents({ + ApprovalBlockInitializer, + InitiationsBlock, + TodosBlock, + }); + this.app.schemaSettingsManager.add(ApprovalSettings); + this.app.schemaInitializerManager.addItem('mobilePage:addBlock', 'otherBlocks.approval', { + title: 'Approval', + name: 'approval', + type: 'item', + Component: 'ApprovalBlockInitializer', + }); + } +} + +export default PluginApproval; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/locale.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/locale.tsx new file mode 100644 index 000000000..6941f42af --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/approval/locale.tsx @@ -0,0 +1,15 @@ +import { useApp, tval as nTval, i18n } from '@nocobase/client'; + +const NAMESPACE = '@hera/plugin-mobile'; + +export const useTranslation = (): any => { + const { i18n } = useApp(); + const t = (key: string, props = {}) => i18n.t(key, { ns: NAMESPACE, ...props }); + return { t }; +}; + +export const tval = (key: string) => nTval(key, { ns: NAMESPACE }); + +export function lang(key: string) { + return i18n.t(key, { ns: NAMESPACE }); +} diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/client/index.tsx b/packages/plugins/@hera/plugin-approval-mobile/src/client/index.tsx new file mode 100644 index 000000000..ed99034de --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/client/index.tsx @@ -0,0 +1,14 @@ +import { Plugin } from '@nocobase/client'; +import PluginApproval from './approval'; + +export class PluginApprovalMobileClient extends Plugin { + async afterAdd() { + this.pm.add(PluginApproval); + } + + async beforeLoad() {} + + async load() {} +} + +export default PluginApprovalMobileClient; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/index.ts b/packages/plugins/@hera/plugin-approval-mobile/src/index.ts new file mode 100644 index 000000000..7e74612df --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/index.ts @@ -0,0 +1,2 @@ +export * from './server'; +export { default } from './server'; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/server/collections/.gitkeep b/packages/plugins/@hera/plugin-approval-mobile/src/server/collections/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/server/index.ts b/packages/plugins/@hera/plugin-approval-mobile/src/server/index.ts new file mode 100644 index 000000000..b68aea57f --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/server/index.ts @@ -0,0 +1 @@ +export { default } from './plugin'; diff --git a/packages/plugins/@hera/plugin-approval-mobile/src/server/plugin.ts b/packages/plugins/@hera/plugin-approval-mobile/src/server/plugin.ts new file mode 100644 index 000000000..9f354c3a6 --- /dev/null +++ b/packages/plugins/@hera/plugin-approval-mobile/src/server/plugin.ts @@ -0,0 +1,19 @@ +import { Plugin } from '@nocobase/server'; + +export class PluginApprovalMobileServer extends Plugin { + async afterAdd() {} + + async beforeLoad() {} + + async load() {} + + async install() {} + + async afterEnable() {} + + async afterDisable() {} + + async remove() {} +} + +export default PluginApprovalMobileServer; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e3f86f2a9..8df07b269 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1340,6 +1340,49 @@ importers: specifier: ^6.26.0 version: 6.35.2 + packages/plugins/@hera/plugin-approval-mobile: + dependencies: + '@nocobase/client': + specifier: workspace:* + version: link:../../../core/client + '@nocobase/server': + specifier: workspace:* + version: link:../../../core/server + '@nocobase/test': + specifier: workspace:* + version: link:../../../core/test + '@nocobase/utils': + specifier: workspace:* + version: link:../../../core/utils + devDependencies: + '@ant-design/icons': + specifier: 5.x + version: 5.3.6(react-dom@18.2.0)(react@18.2.0) + '@nocobase/schema': + specifier: workspace:* + version: link:../../../core/schema + '@types/lodash': + specifier: ^4.17.0 + version: 4.17.0 + antd: + specifier: 5.16.1 + version: 5.16.1(react-dom@18.2.0)(react@18.2.0) + antd-mobile: + specifier: ^5.35.0 + version: 5.35.0(react-dom@18.2.0)(react@18.2.0) + antd-mobile-icons: + specifier: ^0.3.0 + version: 0.3.0 + classnames: + specifier: ^2.3.1 + version: 2.5.1 + lodash: + specifier: 4.17.21 + version: 4.17.21 + react-i18next: + specifier: ^11.15.1 + version: 11.18.6(i18next@22.5.1)(react-dom@18.2.0)(react@18.2.0) + packages/plugins/@hera/plugin-audit-logs: dependencies: '@nocobase/client': @@ -9377,7 +9420,7 @@ packages: peerDependencies: react: '>=16.3.0' dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.4 hoist-non-react-statics: 3.3.2 react: 18.1.0 react-is: 16.13.1 @@ -9388,7 +9431,7 @@ packages: peerDependencies: react: '>=16.3.0' dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.4 hoist-non-react-statics: 3.3.2 react: 18.2.0 react-is: 16.13.1 @@ -9396,7 +9439,7 @@ packages: /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@types/node': 20.12.7 find-up: 4.1.0 fs-extra: 8.1.0 @@ -10123,7 +10166,7 @@ packages: '@babel/runtime': 7.24.4 '@ctrl/tinycolor': 3.6.1 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10134,7 +10177,7 @@ packages: react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.24.4 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10153,7 +10196,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10166,7 +10209,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10181,7 +10224,7 @@ packages: '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) '@rc-component/trigger': 2.1.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10192,12 +10235,12 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -10221,13 +10264,13 @@ packages: /@react-pdf/fns@2.2.1: resolution: {integrity: sha512-s78aDg0vDYaijU5lLOCsUD+qinQbfOvcNeaoX9AiE7+kZzzCo6B/nX+l48cmt9OosJmvZvE9DWR9cLhrhOi2pA==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 dev: true /@react-pdf/font@2.4.4: resolution: {integrity: sha512-yjK5eSY+LcbxS0m+sOYln8GdgIbUgti4xjwf14kx8OSsOMJQJyHFALHMh2cLcKJR9yZeqVDo1FwCsY6gw1yCkg==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@react-pdf/types': 2.4.1 cross-fetch: 3.1.8 fontkit: 2.0.2 @@ -10239,7 +10282,7 @@ packages: /@react-pdf/image@2.3.4: resolution: {integrity: sha512-IE34l7gfTdaxXe3XR9240xMZsFdxF1myIwmEWK28XoeTaucUPAUyOiNcFSGRT59vNuZVBuakYz3BlGGrkvAPVQ==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@react-pdf/png-js': 2.3.1 cross-fetch: 3.1.8 jay-peg: 1.0.1 @@ -10250,7 +10293,7 @@ packages: /@react-pdf/layout@3.11.2: resolution: {integrity: sha512-5EiHJ+Eb0odqnkWll9pWbTp+dwH1QRm7mOXDMiklqIWK98eI7e3cEae5Dgr0TtdnB7KgPW9Tvul2CwRJTwq54A==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@react-pdf/fns': 2.2.1 '@react-pdf/image': 2.3.4 '@react-pdf/pdfkit': 3.1.6 @@ -10269,7 +10312,7 @@ packages: /@react-pdf/pdfkit@3.1.6: resolution: {integrity: sha512-U96VVhphniDBsLbmeJHgEml15nng8cr90mmEfPATh98gsqg6wev0avBr4k9XPjLdaN1f2xTXD4VdlaMYJZ+n7Q==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@react-pdf/png-js': 2.3.1 browserify-zlib: 0.2.0 crypto-js: 4.2.0 @@ -10291,7 +10334,7 @@ packages: /@react-pdf/render@3.4.3: resolution: {integrity: sha512-9LL059vfwrK1gA0uIA4utpQ/pUH9EW/yia4bb7pCoARs8IlupY5UP265jgax15ua0p+MdUwShZzQ9rilu7kGsw==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@react-pdf/fns': 2.2.1 '@react-pdf/primitives': 3.1.1 '@react-pdf/textkit': 4.4.1 @@ -10328,7 +10371,7 @@ packages: /@react-pdf/stylesheet@4.2.4: resolution: {integrity: sha512-CgRfDzeMtnV0GL7zSn381NubmgwqKhFKcK1YrWX3azl/KWVh52jjFd3HWi6dvcETNT862mjWz5MnExe4WOBJXA==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@react-pdf/fns': 2.2.1 '@react-pdf/types': 2.4.1 color-string: 1.9.1 @@ -10340,7 +10383,7 @@ packages: /@react-pdf/textkit@4.4.1: resolution: {integrity: sha512-Jl9wdTqIvJ5pX+vAGz0EOhP7ut5Two9H6CzTKo/YYPeD79cM2yTXF3JzTERBC28y7LR0Waq9D2LHQjI+b/EYUQ==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@react-pdf/fns': 2.2.1 bidi-js: 1.0.3 hyphen: 1.10.4 @@ -12779,7 +12822,7 @@ packages: /@umijs/history@5.3.1: resolution: {integrity: sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==} dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.4 query-string: 6.14.1 /@umijs/lint@4.1.8(eslint@8.55.0)(stylelint@14.16.1)(typescript@5.4.4): @@ -17059,7 +17102,7 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 csstype: 3.1.3 dev: true @@ -19658,7 +19701,7 @@ packages: /history@5.3.0: resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.4 /hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} @@ -20150,6 +20193,7 @@ packages: /ip@2.0.0: resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} + requiresBuild: true dev: false /is-absolute@1.0.0: @@ -24880,10 +24924,10 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 classnames: 2.5.1 dom-align: 1.12.4 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) resize-observer-polyfill: 1.5.1 @@ -24900,7 +24944,7 @@ packages: classnames: 2.5.1 rc-select: 14.13.0(react-dom@18.2.0)(react@18.2.0) rc-tree: 5.8.5(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -24912,7 +24956,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -24925,7 +24969,7 @@ packages: '@babel/runtime': 7.24.4 classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -24939,7 +24983,7 @@ packages: '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -24953,7 +24997,7 @@ packages: '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -24966,7 +25010,7 @@ packages: '@babel/runtime': 7.24.4 '@rc-component/trigger': 2.1.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -24993,7 +25037,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 async-validator: 4.2.5 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25008,7 +25052,7 @@ packages: classnames: 2.5.1 rc-dialog: 9.4.0(react-dom@18.2.0)(react@18.2.0) rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25034,7 +25078,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25050,7 +25094,7 @@ packages: rc-input: 1.4.5(react-dom@18.2.0)(react@18.2.0) rc-menu: 9.13.0(react-dom@18.2.0)(react@18.2.0) rc-textarea: 1.6.3(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25091,7 +25135,7 @@ packages: '@babel/runtime': 7.24.4 classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25116,7 +25160,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25146,7 +25190,7 @@ packages: dayjs: 1.11.10 rc-overflow: 1.3.2(react-dom@18.2.0)(react@18.2.0) rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25158,7 +25202,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25171,7 +25215,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25197,7 +25241,7 @@ packages: '@babel/runtime': 7.24.4 classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25208,12 +25252,12 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) rc-overflow: 1.3.2(react-dom@18.2.0)(react@18.2.0) rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) rc-virtual-list: 3.11.4(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25263,7 +25307,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25276,7 +25320,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25288,7 +25332,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25303,7 +25347,7 @@ packages: '@rc-component/context': 1.4.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) rc-virtual-list: 3.11.4(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25321,7 +25365,7 @@ packages: rc-menu: 9.13.0(react-dom@18.2.0)(react@18.2.0) rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25376,7 +25420,7 @@ packages: classnames: 2.5.1 rc-select: 14.13.0(react-dom@18.2.0)(react@18.2.0) rc-tree: 5.8.5(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25402,10 +25446,10 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) rc-virtual-list: 3.11.4(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25449,11 +25493,11 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 classnames: 2.5.1 rc-align: 4.0.15(react-dom@18.2.0)(react@18.2.0) rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true @@ -25466,7 +25510,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 classnames: 2.5.1 - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25502,7 +25546,7 @@ packages: '@babel/runtime': 7.24.4 classnames: 2.5.1 rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -25616,7 +25660,7 @@ packages: peerDependencies: react: '>=16.13.1' dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 react: 18.2.0 dev: false @@ -25640,7 +25684,7 @@ packages: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.4 invariant: 2.2.4 prop-types: 15.8.1 react: 18.1.0 @@ -25654,7 +25698,7 @@ packages: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.4 invariant: 2.2.4 prop-types: 15.8.1 react: 18.2.0 @@ -25772,7 +25816,7 @@ packages: react: '>=16.3.0' react-dom: '>=16.3.0' dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@popperjs/core': 2.11.8 '@restart/hooks': 0.4.15(react@18.2.0) '@types/warning': 3.0.3 @@ -27177,6 +27221,7 @@ packages: /smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + requiresBuild: true dev: false /smartwrap@2.0.2: @@ -29129,7 +29174,7 @@ packages: peerDependencies: react: '>=15.0.0' dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@types/react': 18.2.75 invariant: 2.2.4 react: 18.2.0