react-toolkits 2.22.29 → 2.22.31
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.
- package/CHANGELOG.md +13 -0
- package/lib/chunk-5ZN662QX.js +2 -0
- package/lib/chunk-5ZN662QX.js.map +1 -0
- package/lib/{chunk-SR4EZHHH.js → chunk-7GCU2U2F.js} +2 -2
- package/lib/{chunk-SR4EZHHH.js.map → chunk-7GCU2U2F.js.map} +1 -1
- package/lib/chunk-EH4BHJAY.js +2 -0
- package/lib/{chunk-UCD6QQ6P.js.map → chunk-EH4BHJAY.js.map} +1 -1
- package/lib/chunk-GE7DPAVK.js +2 -0
- package/lib/chunk-GE7DPAVK.js.map +1 -0
- package/lib/{chunk-TPXP7CV6.js → chunk-ILWM5LDQ.js} +2 -2
- package/lib/{chunk-TPXP7CV6.js.map → chunk-ILWM5LDQ.js.map} +1 -1
- package/lib/{chunk-2MBSA3L6.js → chunk-MHSZPPYJ.js} +2 -2
- package/lib/{chunk-2MBSA3L6.js.map → chunk-MHSZPPYJ.js.map} +1 -1
- package/lib/{chunk-NCZ3NR4W.js → chunk-OCJ47MBS.js} +2 -2
- package/lib/{chunk-NCZ3NR4W.js.map → chunk-OCJ47MBS.js.map} +1 -1
- package/lib/{chunk-AFITENKM.js → chunk-UVF6R735.js} +2 -2
- package/lib/{chunk-AFITENKM.js.map → chunk-UVF6R735.js.map} +1 -1
- package/lib/chunk-WBSTOYBM.js +3 -0
- package/lib/chunk-WBSTOYBM.js.map +1 -0
- package/lib/{createMenuItem-4NN325FZ.js → createMenuItem-GITYBEWA.js} +2 -2
- package/lib/{createMenuItem-4NN325FZ.js.map → createMenuItem-GITYBEWA.js.map} +1 -1
- package/lib/index.d.ts +18 -9
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/{menuItemList-YQ7GEN7E.js → menuItemList-ITPYOEBV.js} +2 -2
- package/lib/{menuItemList-YQ7GEN7E.js.map → menuItemList-ITPYOEBV.js.map} +1 -1
- package/lib/{roleDetail-6F4DYETA.js → roleDetail-VJ6QBW4Z.js} +2 -2
- package/lib/{roleDetail-6F4DYETA.js.map → roleDetail-VJ6QBW4Z.js.map} +1 -1
- package/lib/{roleList-WRPH5QPR.js → roleList-D7ITOPLW.js} +2 -2
- package/lib/{roleList-WRPH5QPR.js.map → roleList-D7ITOPLW.js.map} +1 -1
- package/lib/{updateMenuItem-CZWG6ZF3.js → updateMenuItem-ZFIETATW.js} +2 -2
- package/lib/{updateMenuItem-CZWG6ZF3.js.map → updateMenuItem-ZFIETATW.js.map} +1 -1
- package/lib/{userDetail-KMZIWFEU.js → userDetail-V5772FTH.js} +2 -2
- package/lib/{userDetail-KMZIWFEU.js.map → userDetail-V5772FTH.js.map} +1 -1
- package/lib/{userList-WM3GWF2Y.js → userList-TQAILD4E.js} +2 -2
- package/lib/{userList-WM3GWF2Y.js.map → userList-TQAILD4E.js.map} +1 -1
- package/package.json +3 -3
- package/lib/chunk-CZVEA2JJ.js +0 -2
- package/lib/chunk-CZVEA2JJ.js.map +0 -1
- package/lib/chunk-OLBC35WM.js +0 -3
- package/lib/chunk-OLBC35WM.js.map +0 -1
- package/lib/chunk-UCD6QQ6P.js +0 -2
- package/lib/chunk-YQM2SZ3L.js +0 -2
- package/lib/chunk-YQM2SZ3L.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/authButton/AuthButton.tsx","../src/hooks/modal/stores.ts","../src/hooks/modal/modal.tsx","../src/hooks/modal/formModal.tsx"],"names":["AuthButton","props","children","code","showLoading","disabled","config","restProps","codes","data","isLoading","usePermission","useTranslation","jsx","Button","Tooltip","AuthButton_default","useModalStore","createVisibilityStore","useModal","content","onConfirm","afterOpen","afterClose","modalProps","_id","useMemo","generateId","show","hide","isOpen","cleanup","useEffect","open","confirmLoading","setConfirmLoading","useState","isRenderFunction","_show","useCallback","_hide","onCancel","onOk","error","internalModal","Modal","useFormModal","form","formProps","onSuccess","internalExtraValues","setInternalExtraValues","internalForm","Form","id","modal","operation","values","showForm","options","initialValues","extraValues"],"mappings":"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","file":"chunk-YQM2SZ3L.js","sourcesContent":["import type { ButtonProps } from 'antd'\nimport { Button, Tooltip } from 'antd'\nimport type { Options as KyOptions } from 'ky'\nimport type { FC, PropsWithChildren } from 'react'\n\nimport { useTranslation } from '@/locale'\nimport { usePermission } from '@/services'\n\nexport interface AuthButtonProps extends ButtonProps {\n /** 权限码,支持单个或多个 */\n code?: string | string[]\n /** 加载时是否显示 loading 状态 */\n showLoading?: boolean\n /** 请求配置 */\n config?: KyOptions\n}\n\n/**\n * 授权按钮组件\n * 根据权限码自动控制按钮的启用/禁用状态\n * - 有权限:正常显示可点击按钮\n * - 无权限:显示禁用按钮并带有提示\n * - 加载中:显示加载状态\n */\nconst AuthButton: FC<PropsWithChildren<AuthButtonProps>> = props => {\n const { children, code, showLoading, disabled, config, ...restProps } = props\n const codes = code ? (Array.isArray(code) ? code : [code]) : []\n const { data, isLoading } = usePermission(codes, config)\n const { t } = useTranslation()\n\n if (isLoading) {\n return (\n <Button loading={showLoading} disabled={!showLoading} {...restProps}>\n {children}\n </Button>\n )\n }\n\n // 只要有一个权限即可\n if (typeof data === 'boolean' || (data && Object.values(data).some(Boolean))) {\n return (\n <Button disabled={disabled} {...restProps}>\n {children}\n </Button>\n )\n }\n\n return (\n <Tooltip defaultOpen={false} title={t('global.noEntitlement')}>\n <Button disabled {...restProps}>\n {children}\n </Button>\n </Tooltip>\n )\n}\n\nexport default AuthButton\n\n","import { createVisibilityStore } from '@/utils'\n\nexport const useModalStore = createVisibilityStore()\n","import type { ModalProps } from 'antd'\nimport { Modal } from 'antd'\nimport { type ReactNode, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { generateId } from '@/utils'\n\nimport { useModalStore } from './stores'\n\nexport interface UseModalOperation {\n hide: () => void\n}\n\nexport interface UseModalProps extends Omit<ModalProps, 'open' | 'confirmLoading' | 'onOk' | 'onCancel'> {\n content?: ReactNode | ((operation: UseModalOperation) => ReactNode)\n onConfirm?: () => void | Promise<void>\n afterOpen?: () => void | Promise<void>\n afterClose?: () => void | Promise<void>\n}\n\nexport function useModal(props: UseModalProps) {\n const { content, onConfirm, afterOpen, afterClose, ...modalProps } = props\n\n const _id = useMemo(() => generateId(), [])\n const { show, hide, isOpen, cleanup } = useModalStore()\n\n // 组件销毁时清理 ID\n useEffect(() => {\n return () => {\n cleanup(_id)\n }\n }, [_id, cleanup])\n\n const open = isOpen(_id)\n const [confirmLoading, setConfirmLoading] = useState(false)\n const isRenderFunction = typeof content === 'function'\n\n const _show = useCallback(async () => {\n show(_id)\n await afterOpen?.()\n }, [_id, show, afterOpen])\n\n const _hide = useCallback(() => {\n hide(_id)\n }, [_id, hide])\n\n const onCancel: ModalProps['onCancel'] = useCallback(async () => {\n _hide()\n await afterClose?.()\n }, [_hide, afterClose])\n\n const onOk = useCallback(async () => {\n try {\n setConfirmLoading(true)\n await onConfirm?.()\n _hide()\n await afterClose?.()\n } catch (error) {\n console.error('Modal confirm error:', error)\n throw error\n } finally {\n setConfirmLoading(false)\n }\n }, [onConfirm, _hide, afterClose])\n\n const internalModal = (\n <Modal {...modalProps} open={open} confirmLoading={confirmLoading} onOk={onOk} onCancel={onCancel}>\n {isRenderFunction ? content({ hide: _hide }) : content}\n </Modal>\n )\n\n return {\n id: _id,\n show: _show,\n hide: _hide,\n modal: internalModal,\n }\n}\n","import type { FormInstance, FormProps } from 'antd'\nimport { Form } from 'antd'\nimport type { AnyObject } from 'antd/es/_util/type'\nimport type { ReactNode } from 'react'\nimport { useCallback, useState } from 'react'\n\nimport type { RecursivePartial } from '@/types'\n\nimport { useModal, type UseModalOperation, type UseModalProps } from './modal'\n\nexport interface ShowFormOptions<Values extends AnyObject, ExtraValues> {\n initialValues?: RecursivePartial<Values>\n extraValues?: ExtraValues\n}\n\nexport interface UseFormModalProps<Values extends AnyObject = AnyObject, ExtraValues = Record<string, unknown>>\n extends Omit<UseModalProps, 'onConfirm' | 'content' | 'onShow' | 'afterClose'> {\n formProps?: Omit<FormProps, 'form'>\n form?: FormInstance<Values>\n content?: ReactNode | ((extraValues: ExtraValues, operation: UseModalOperation) => ReactNode)\n onConfirm?: (values: Values, extraValues: ExtraValues) => void | Promise<void>\n onSuccess?: () => void\n afterClose?: (form: FormInstance<Values>) => void\n}\n\nexport interface UseFormModalReturn<Values extends AnyObject, ExtraValues> {\n id: number\n show: (options?: ShowFormOptions<Values, ExtraValues>) => void\n hide: () => void\n modal: ReactNode\n}\n\nexport function useFormModal<Values extends AnyObject = AnyObject, ExtraValues = Record<string, unknown>>(\n props: UseFormModalProps<Values, ExtraValues>,\n): UseFormModalReturn<Values, ExtraValues> {\n const { content, form, formProps, onConfirm, onSuccess, afterClose, ...modalProps } = props\n const [internalExtraValues, setInternalExtraValues] = useState<ExtraValues>({} as ExtraValues)\n const [internalForm] = Form.useForm<Values>(form)\n\n const isRenderFunction = typeof content === 'function'\n\n const { id, show, hide, modal } = useModal({\n ...modalProps,\n content: operation => (\n <Form {...formProps} form={internalForm}>\n {isRenderFunction ? content(internalExtraValues, operation) : content}\n </Form>\n ),\n onConfirm: async () => {\n try {\n const values = await internalForm.validateFields()\n await onConfirm?.(values, internalExtraValues)\n onSuccess?.()\n hide()\n } catch (error) {\n console.error('Form validation or submission error:', error)\n throw error\n }\n },\n afterClose: () => {\n setInternalExtraValues({} as ExtraValues)\n afterClose?.(internalForm)\n },\n })\n\n const showForm = useCallback(\n (options?: ShowFormOptions<Values, ExtraValues>) => {\n const { initialValues, extraValues } = options || {}\n\n if (extraValues !== undefined) {\n setInternalExtraValues(extraValues)\n }\n\n if (initialValues) {\n internalForm.setFieldsValue(initialValues)\n }\n\n show()\n },\n [internalForm, show],\n )\n\n return {\n id,\n show: showForm,\n hide,\n modal,\n }\n}\n"]}
|