@flatbiz/antd 4.2.107 → 4.4.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.
- package/esm/amount-fen-input/index.js.map +1 -1
- package/esm/bootstrap/index.css +1 -0
- package/esm/bootstrap/index.js +12 -0
- package/esm/bootstrap/index.js.map +1 -0
- package/esm/card-layout/index.css +1 -0
- package/esm/card-layout/index.js +5 -0
- package/esm/card-layout/index.js.map +1 -0
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/drag-editable-table/index.js +1 -1
- package/esm/drag-editable-table/index.js.map +1 -1
- package/esm/drag-form-list/index.css +1 -1
- package/esm/drag-form-list/index.js +1 -1
- package/esm/drag-form-list/index.js.map +1 -1
- package/esm/drag-table/index.js +1 -1
- package/esm/drag-table/index.js.map +1 -1
- package/esm/easy-table/index.css +1 -1
- package/esm/easy-table/index.js +2 -2
- package/esm/easy-table/index.js.map +1 -1
- package/esm/fba-app/index.css +1 -1
- package/esm/fba-app/index.js +1 -1
- package/esm/fba-app/index.js.map +1 -1
- package/esm/fba-hooks/index.js +1 -1
- package/esm/fba-hooks/index.js.map +1 -1
- package/esm/form-grid/index.js +1 -1
- package/esm/form-grid/index.js.map +1 -1
- package/esm/form-item-group/index.css +1 -1
- package/esm/form-list-wrapper/index.css +1 -1
- package/esm/index-1f45bfd5.js +3 -0
- package/esm/index-1f45bfd5.js.map +1 -0
- package/esm/index.css +1 -0
- package/esm/index.js +9 -7
- package/esm/input-search-wrapper/index.js.map +1 -1
- package/esm/input-text-area-wrapper/index.js.map +1 -1
- package/esm/input-wrapper/index.js.map +1 -1
- package/esm/json-editor/index.js +1 -1
- package/esm/json-editor/index.js.map +1 -1
- package/esm/label-value-layout/index.css +1 -1
- package/esm/local-loading/index.js +1 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/page-fixed-footer/index.css +1 -1
- package/esm/rule-describe/index.css +1 -1
- package/esm/search-form/index.css +1 -0
- package/esm/search-form/index.js +2 -1
- package/esm/search-form/index.js.map +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- package/esm/simple-layout/index.js.map +1 -1
- package/esm/split-wrapper/index.css +1 -1
- package/esm/tips-title/index.css +1 -1
- package/esm/tree-selector-wrapper/index.js +2 -2
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper/index.css +1 -1
- package/esm/tree-wrapper/index.js +1 -1
- package/esm/tree-wrapper/index.js.map +1 -1
- package/index.d.ts +132 -23
- package/package.json +3 -3
package/esm/fba-app/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: (e?) => void;\n\n dialogDrawerOpen2?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose2?: (e?) => void;\n\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogModalOpen2?: (data: FbaAppModalProps) => void;\n dialogModalClose2?: () => void;\n\n dialogAlertOpen?: (data: FbaAppAlertProps) => void;\n dialogAlertClose?: () => void;\n\n dialogConfirmOpen?: (data: FbaAppConfirmProps) => void;\n dialogConfirmClose?: () => void;\n\n dialogLoadingOpen?: (data?: FbaAppLoadingProps & { open?: boolean }) => void;\n dialogLoadingClose?: () => void;\n};\n\nexport const FbaAppContext = createContext<FbaAppContextApi>({});\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onClose?: () => void;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n titleExtra,\n title,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n bodyHeightPercent,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const size = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || localMessage.FbaDialogModal?.cancelText}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = footer || operateGroup;\n\n const height = useMemo(() => {\n if (!size?.height || !bodyHeightPercent) {\n return 'auto';\n }\n return size?.height * (bodyHeightPercent / 100);\n }, [bodyHeightPercent, size?.height]);\n\n return (\n <Modal\n maskClosable={true}\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n bodyStyle={{\n height,\n maxHeight: size?.height ? size?.height * 0.8 : 'calc(100vh - 200px)',\n ...otherProps.bodyStyle,\n }}\n className={classNames('fba-dialog-modal', { 'fba-dialog-modal-title-extra': !!titleExtra }, className)}\n open={props.open}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { isPromise } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\n\nexport type FbaAppDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width = 600,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n return (\n <Drawer\n maskClosable={true}\n destroyOnClose\n width={'80%'}\n contentWrapperStyle={{ maxWidth: width }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport './style.less';\n\nexport type FbaAppLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nexport const FbaAppLoading = (props: FbaAppLoadingProps & { open?: boolean }) => {\n const { className, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('fba-dialog-loading', className)}\n open={props.open}\n footer={null}\n closable={false}\n style={{ '--fba-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <div className={classNames('fba-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </div>\n </Modal>\n );\n};\n","import { getUuid } from '@flatbiz/utils';\nimport { ReactNode, useContext, useState } from 'react';\nimport { FbaAppContext, FbaAppContextApi } from './context';\nimport { FbaAppAlert, FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirm, FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawer, FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n * @returns\n */\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const useDialogDrawer2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose2?.();\n };\n\n return {\n appDialogDrawer2: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * @returns\n */\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogModal2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose2?.();\n };\n\n return {\n appDialogModal2: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogAlert = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogAlertClose?.();\n };\n\n return {\n appDialogAlert: {\n open: (data: FbaAppAlertProps) => {\n ctx.dialogAlertOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogConfirm = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogConfirmClose?.();\n };\n\n return {\n appDialogConfirm: {\n open: (data: FbaAppConfirmProps) => {\n ctx.dialogConfirmOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogLoading = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogLoadingClose?.();\n };\n\n return {\n appDialogLoading: {\n open: (data?: FbaAppLoadingProps) => {\n ctx.dialogLoadingOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const FbaApp = (props: { children: ReactNode }) => {\n const [drawerProps, setDrawerProps] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey, setDrawerKey] = useState(getUuid());\n\n const [drawerProps2, setDrawerProps2] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey2, setDrawerKey2] = useState(getUuid());\n\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey, setModalKey] = useState(getUuid());\n\n const [modalProps2, setModalProps2] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey2, setModalKey2] = useState(getUuid());\n\n const [alertProps, setAlertProps] = useState<FbaAppAlertProps>({} as FbaAppAlertProps);\n const [confirmProps, setConfirmProps] = useState<FbaAppConfirmProps>({} as FbaAppConfirmProps);\n const [loadingProps, setLoadingProps] = useState<FbaAppLoadingProps>();\n\n const [alertKey, setAlertKey] = useState(getUuid());\n const [confirmKey, setConfirmKey] = useState(getUuid());\n const [loadingKey, setLoadingKey] = useState(getUuid());\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = (data) => {\n setDrawerProps(data);\n };\n\n const dialogDrawerClose = (e) => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n drawerProps.onClose?.(e);\n setTimeout(() => {\n setDrawerKey(getUuid());\n }, 200);\n };\n\n const dialogDrawerOpen2: FbaAppContextApi['dialogDrawerOpen2'] = (data) => {\n setDrawerProps2(data);\n };\n\n const dialogDrawerClose2 = (e) => {\n setDrawerProps2({ ...drawerProps2, open: false } as FbaAppDrawerProps);\n drawerProps2.onClose?.(e);\n setTimeout(() => {\n setDrawerKey2(getUuid());\n }, 200);\n };\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = (data) => {\n setModalProps(data);\n };\n\n const dialogModalClose = () => {\n setModalProps({ ...modalProps, open: false } as FbaAppModalProps);\n modalProps.onClose?.();\n setTimeout(() => {\n setModalKey(getUuid());\n }, 200);\n };\n\n const dialogModalOpen2: FbaAppContextApi['dialogModalOpen2'] = (data) => {\n setModalProps2(data);\n };\n\n const dialogModalClose2 = () => {\n setModalProps2({ ...modalProps2, open: false } as FbaAppModalProps);\n modalProps2.onClose?.();\n setTimeout(() => {\n setModalKey2(getUuid());\n }, 200);\n };\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = (data) => {\n setAlertProps(data);\n };\n\n const dialogAlertClose = () => {\n setAlertProps({ ...alertProps, open: false } as FbaAppAlertProps);\n alertProps.onClose?.();\n setTimeout(() => {\n setAlertKey(getUuid());\n }, 200);\n };\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = (data) => {\n setConfirmProps(data);\n };\n\n const dialogConfirmClose = () => {\n setConfirmProps({ ...confirmProps, open: false } as FbaAppConfirmProps);\n confirmProps.onClose?.();\n setTimeout(() => {\n setConfirmKey(getUuid());\n }, 200);\n };\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = (data) => {\n setLoadingProps(data);\n };\n\n const dialogLoadingClose = () => {\n setLoadingProps({ ...loadingProps, open: false } as FbaAppLoadingProps);\n setTimeout(() => {\n setLoadingKey(getUuid());\n }, 200);\n };\n\n return (\n <FbaAppContext.Provider\n value={{\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogDrawerOpen2,\n dialogDrawerClose2,\n dialogModalOpen,\n dialogModalClose,\n dialogModalOpen2,\n dialogModalClose2,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose} key={drawerKey}></FbaAppDrawer>\n <FbaAppDrawer {...drawerProps2} onClose={dialogDrawerClose2} key={drawerKey2}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose} key={modalKey}></FbaAppModal>\n <FbaAppModal {...modalProps2} onClose={dialogModalClose2} key={modalKey2}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose} key={alertKey}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose} key={confirmKey}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps} key={loadingKey}></FbaAppLoading>\n {props.children}\n </FbaAppContext.Provider>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n /** 不支持多次弹框,第二个弹框可使用useDialogDrawer2 */\n useDialogDrawer,\n useDialogDrawer2,\n /** 不支持多次弹框,第二个弹框可使用useDialogModal2 */\n useDialogModal,\n useDialogModal2,\n /** 不支持多次弹框 */\n useDialogConfirm,\n /** 不支持多次弹框 */\n useDialogAlert,\n /** 不支持多次弹框 */\n useDialogLoading,\n});\n"],"names":["FbaAppContext","createContext","FbaAppModal","props","_localMessage$FbaDial","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","size","useSize","document","querySelector","localMessage","getFbaLocaleMessage","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","footerNew","height","useMemo","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","bodyStyle","maxHeight","_classNames","open","FbaAppConfirm","width","FbaAppAlert","_form","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","_props$width","extra","Space","operateRenderHandle","extraRender","Drawer","contentWrapperStyle","maxWidth","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","data","dialogDrawerOpen","close","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","_useState","useState","drawerProps","setDrawerProps","_useState2","getUuid","drawerKey","setDrawerKey","_useState3","drawerProps2","setDrawerProps2","_useState4","drawerKey2","setDrawerKey2","_useState5","modalProps","setModalProps","_useState6","modalKey","setModalKey","_useState7","modalProps2","setModalProps2","_useState8","modalKey2","setModalKey2","_useState9","alertProps","setAlertProps","_useState10","confirmProps","setConfirmProps","_useState11","loadingProps","setLoadingProps","_useState12","alertKey","setAlertKey","_useState13","confirmKey","setConfirmKey","_useState14","loadingKey","setLoadingKey","setTimeout","Provider","value","_createElement","key","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: (e?) => void;\n\n dialogDrawerOpen2?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose2?: (e?) => void;\n\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogModalOpen2?: (data: FbaAppModalProps) => void;\n dialogModalClose2?: () => void;\n\n dialogAlertOpen?: (data: FbaAppAlertProps) => void;\n dialogAlertClose?: () => void;\n\n dialogConfirmOpen?: (data: FbaAppConfirmProps) => void;\n dialogConfirmClose?: () => void;\n\n dialogLoadingOpen?: (data?: FbaAppLoadingProps & { open?: boolean }) => void;\n dialogLoadingClose?: () => void;\n};\n\nexport const FbaAppContext = createContext<FbaAppContextApi>({});\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps'\n> & {\n onOk?: (\n form: FormInstance,\n e: React.MouseEvent<HTMLElement>\n ) => void | Promise<void>;\n onCancel?: (\n form: FormInstance,\n e: React.MouseEvent<HTMLElement>\n ) => void | Promise<void>;\n onClose?: () => void;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<\n ButtonWrapperProps,\n 'hidden' | 'children' | 'onClick'\n >;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n titleExtra,\n title,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n bodyHeightPercent,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const size = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const operateGroup = [\n <ButtonWrapper\n key=\"0\"\n {...cancelButtonProps}\n onClick={onCancelHandle}\n hidden={cancelHidden}\n >\n {cancelText || localMessage.FbaDialogModal?.cancelText}\n </ButtonWrapper>,\n <ButtonWrapper\n key=\"1\"\n type=\"primary\"\n {...okButtonProps}\n onClick={onOkHandle}\n hidden={okHidden}\n >\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = footer || operateGroup;\n\n const height = useMemo(() => {\n if (!size?.height || !bodyHeightPercent) {\n return 'auto';\n }\n return size?.height * (bodyHeightPercent / 100);\n }, [bodyHeightPercent, size?.height]);\n\n return (\n <Modal\n maskClosable={true}\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n styles={{\n body: {\n height,\n maxHeight: size?.height ? size?.height * 0.8 : 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNames(\n 'fba-dialog-modal',\n { 'fba-dialog-modal-title-extra': !!titleExtra },\n className\n )}\n open={props.open}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport './style.less';\n\nexport type FbaAppDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width = 600,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n return (\n <Drawer\n maskClosable={true}\n destroyOnClose\n width={'80%'}\n contentWrapperStyle={{ maxWidth: width }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n className={classNames('app-dialog-drawer', otherProps.className)}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport { BlockLayout } from '../../block-layout';\nimport './style.less';\n\nexport type FbaAppLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nexport const FbaAppLoading = (props: FbaAppLoadingProps & { open?: boolean }) => {\n const { className, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('fba-dialog-loading', className)}\n open={props.open}\n footer={null}\n closable={false}\n style={{ '--fba-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <BlockLayout className={classNames('fba-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </BlockLayout>\n </Modal>\n );\n};\n","import { getUuid } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ReactNode, useContext, useState } from 'react';\nimport { FbaAppContext, FbaAppContextApi } from './context';\nimport { FbaAppAlert, FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirm, FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawer, FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n * @returns\n */\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const useDialogDrawer2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose2?.();\n };\n\n return {\n appDialogDrawer2: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * @returns\n */\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogModal2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose2?.();\n };\n\n return {\n appDialogModal2: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogAlert = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogAlertClose?.();\n };\n\n return {\n appDialogAlert: {\n open: (data: FbaAppAlertProps) => {\n ctx.dialogAlertOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogConfirm = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogConfirmClose?.();\n };\n\n return {\n appDialogConfirm: {\n open: (data: FbaAppConfirmProps) => {\n ctx.dialogConfirmOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogLoading = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogLoadingClose?.();\n };\n\n return {\n appDialogLoading: {\n open: (data?: FbaAppLoadingProps) => {\n ctx.dialogLoadingOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const FbaApp = (props: { children: ReactNode }) => {\n const [drawerProps, setDrawerProps] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey, setDrawerKey] = useState(getUuid());\n\n const [drawerProps2, setDrawerProps2] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey2, setDrawerKey2] = useState(getUuid());\n\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey, setModalKey] = useState(getUuid());\n\n const [modalProps2, setModalProps2] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey2, setModalKey2] = useState(getUuid());\n\n const [alertProps, setAlertProps] = useState<FbaAppAlertProps>({} as FbaAppAlertProps);\n const [confirmProps, setConfirmProps] = useState<FbaAppConfirmProps>({} as FbaAppConfirmProps);\n const [loadingProps, setLoadingProps] = useState<FbaAppLoadingProps>();\n\n const [alertKey, setAlertKey] = useState(getUuid());\n const [confirmKey, setConfirmKey] = useState(getUuid());\n const [loadingKey, setLoadingKey] = useState(getUuid());\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = hooks.useCallbackRef((data) => {\n setDrawerProps(data);\n });\n const dialogDrawerClose = hooks.useCallbackRef((e) => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n drawerProps.onClose?.(e);\n setTimeout(() => {\n setDrawerKey(getUuid());\n }, 200);\n });\n\n const dialogDrawerOpen2: FbaAppContextApi['dialogDrawerOpen2'] = hooks.useCallbackRef((data) => {\n setDrawerProps2(data);\n });\n\n const dialogDrawerClose2 = hooks.useCallbackRef((e) => {\n setDrawerProps2({ ...drawerProps2, open: false } as FbaAppDrawerProps);\n drawerProps2.onClose?.(e);\n setTimeout(() => {\n setDrawerKey2(getUuid());\n }, 200);\n });\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = hooks.useCallbackRef((data) => {\n setModalProps(data);\n });\n\n const dialogModalClose = hooks.useCallbackRef(() => {\n setModalProps({ ...modalProps, open: false } as FbaAppModalProps);\n modalProps.onClose?.();\n setTimeout(() => {\n setModalKey(getUuid());\n }, 200);\n });\n\n const dialogModalOpen2: FbaAppContextApi['dialogModalOpen2'] = hooks.useCallbackRef((data) => {\n setModalProps2(data);\n });\n\n const dialogModalClose2 = hooks.useCallbackRef(() => {\n setModalProps2({ ...modalProps2, open: false } as FbaAppModalProps);\n modalProps2.onClose?.();\n setTimeout(() => {\n setModalKey2(getUuid());\n }, 200);\n });\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = hooks.useCallbackRef((data) => {\n setAlertProps(data);\n });\n\n const dialogAlertClose = hooks.useCallbackRef(() => {\n setAlertProps({ ...alertProps, open: false } as FbaAppAlertProps);\n alertProps.onClose?.();\n setTimeout(() => {\n setAlertKey(getUuid());\n }, 200);\n });\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = hooks.useCallbackRef((data) => {\n setConfirmProps(data);\n });\n\n const dialogConfirmClose = hooks.useCallbackRef(() => {\n setConfirmProps({ ...confirmProps, open: false } as FbaAppConfirmProps);\n confirmProps.onClose?.();\n setTimeout(() => {\n setConfirmKey(getUuid());\n }, 200);\n });\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = hooks.useCallbackRef((data) => {\n setLoadingProps(data);\n });\n\n const dialogLoadingClose = hooks.useCallbackRef(() => {\n setLoadingProps({ ...loadingProps, open: false } as FbaAppLoadingProps);\n setTimeout(() => {\n setLoadingKey(getUuid());\n }, 200);\n });\n\n return (\n <FbaAppContext.Provider\n value={{\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogDrawerOpen2,\n dialogDrawerClose2,\n dialogModalOpen,\n dialogModalClose,\n dialogModalOpen2,\n dialogModalClose2,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose} key={drawerKey}></FbaAppDrawer>\n <FbaAppDrawer {...drawerProps2} onClose={dialogDrawerClose2} key={drawerKey2}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose} key={modalKey}></FbaAppModal>\n <FbaAppModal {...modalProps2} onClose={dialogModalClose2} key={modalKey2}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose} key={alertKey}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose} key={confirmKey}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps} key={loadingKey}></FbaAppLoading>\n {props.children}\n </FbaAppContext.Provider>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n /** 不支持多次弹框,第二个弹框可使用useDialogDrawer2 */\n useDialogDrawer,\n useDialogDrawer2,\n /** 不支持多次弹框,第二个弹框可使用useDialogModal2 */\n useDialogModal,\n useDialogModal2,\n /** 不支持多次弹框 */\n useDialogConfirm,\n /** 不支持多次弹框 */\n useDialogAlert,\n /** 不支持多次弹框 */\n useDialogLoading,\n});\n"],"names":["FbaAppContext","createContext","FbaAppModal","props","_localMessage$FbaDial","_otherProps$styles","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","size","useSize","document","querySelector","localMessage","getFbaLocaleMessage","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","footerNew","height","useMemo","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","styles","body","maxHeight","_classNames","open","FbaAppConfirm","width","FbaAppAlert","_form","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","_props$width","extra","Space","operateRenderHandle","extraRender","Drawer","contentWrapperStyle","maxWidth","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","BlockLayout","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","data","dialogDrawerOpen","close","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","_useState","useState","drawerProps","setDrawerProps","_useState2","getUuid","drawerKey","setDrawerKey","_useState3","drawerProps2","setDrawerProps2","_useState4","drawerKey2","setDrawerKey2","_useState5","modalProps","setModalProps","_useState6","modalKey","setModalKey","_useState7","modalProps2","setModalProps2","_useState8","modalKey2","setModalKey2","_useState9","alertProps","setAlertProps","_useState10","confirmProps","setConfirmProps","_useState11","loadingProps","setLoadingProps","_useState12","alertKey","setAlertKey","_useState13","confirmKey","setConfirmKey","_useState14","loadingKey","setLoadingKey","setTimeout","Provider","value","_createElement","key","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":"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"}
|
package/esm/fba-hooks/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
-
import{_ as
|
|
4
|
+
import{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isArray as e}from"@dimjs/lang/cjs/is-array";import{hooks as t}from"@wove/react/cjs/hooks";import{useRef as n,useEffect as o,useMemo as u,useState as a}from"react";import{trim as c}from"@flatbiz/utils";import{u as i}from"../use-responsive-point-21b8c601.js";import{theme as s}from"antd";var f=function o(u,a){if(a===void 0){a=true}var c=n(u);var i=t.useForceUpdate();var s={add:t.useCallbackRef((function(r,t){if(t){var n=e(r)?r:[r];c.current=[].concat(n,c.current)}else{c.current=c.current.concat(r)}a&&i()})),update:t.useCallbackRef((function(e,t){var n=c.current[e];if(n){c.current[e]=r({},n,t)}a&&i()})),delete:t.useCallbackRef((function(r){var e=c.current.splice(r,1);a&&i();return e})),resetList:t.useCallbackRef((function(r){c.current=r;a&&i()})),getList:t.useCallbackRef((function(){return c.current}))};return[c.current,s]};var v=function r(e,t){return o(e,t)};var l=["ace_editor","tox-tinymce","cancel-flatbiz-antd-copy"];var m=function r(e){var t=l.concat((e==null?void 0:e.ignoreClass)||[]);var n=(e==null||e.target==null?void 0:e.target())||window.document;v((function(){var r=function r(e){try{var n=e.target;var o=false;while(n!=null){var u=t.find((function(r){var e;return(e=n.classList)==null?void 0:e.contains(r)}));if(u){o=true;break}n=n.parentNode}if(o)return;var a="";var i=window;try{a=window["document"]["selection"].createRange().text}catch(r){a=i.getSelection().toString()}var s=i.clipboardData;if(!s){s=e["clipboardData"]}var f=c(a,true);s.setData("Text",f);e.preventDefault();if(f!==a){console.log("useCopyRemoveSpace 已操作移除复制文本中前后空格")}}catch(r){console.warn(r==null?void 0:r.message)}};n.addEventListener("copy",r);return function(){n.removeEventListener("copy",r)}}),[JSON.stringify(t)])};var d=function r(e,t){o((function(){function r(){return new Promise((function(r,t){return Promise.resolve(e()).then((function(e){try{return r()}catch(r){return t(r)}}),t)}))}void r()}),t)};var p=function r(e,t){return u(e,t)};var g=function r(e,t){return!Object.is(e,t)};function y(r,e){if(e===void 0){e=g}var t=n();var o=n();if(e(o.current,r)){t.current=o.current;o.current=r}return t.current}var b=function r(e){var n=a(e),o=n[0],u=n[1];var c=t.useIsMounted();return[o,function(r){if(c.current){return u(r)}}]};var C=function r(){var e=s.useToken(),t=e.token;return t};var k={useEffectCustom:v,useEffectCustomAsync:d,useThemeToken:C,useArrayChange:f,usePrevious:y,useResponsivePoint:i,useSafeState:b,useMemoCustom:p,useCopyRemoveSpace:m};export{k as fbaHooks};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-hooks/use-array-change.ts","@flatbiz/antd/src/fba-hooks/use-copy-remove-space.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom-async.ts","@flatbiz/antd/src/fba-hooks/use-memo-custom.ts","@flatbiz/antd/src/fba-hooks/use-previous.ts","@flatbiz/antd/src/fba-hooks/use-safe-state.ts","@flatbiz/antd/src/fba-hooks/use-theme.ts","@flatbiz/antd/src/fba-hooks/index.ts"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { useRef } from 'react';\n\nexport const useArrayChange = <T>(defautDataList: Array<T>, forceUpdate = true) => {\n const changeListRef = useRef<Array<T>>(defautDataList);\n const update = hooks.useForceUpdate();\n const arrayOperate = {\n add: hooks.useCallbackRef((dataItem: T | Array<T>, isUnshift?: boolean) => {\n if (isUnshift) {\n const targetList = isArray(dataItem) ? dataItem : [dataItem];\n changeListRef.current = [...targetList, ...changeListRef.current];\n } else {\n changeListRef.current = changeListRef.current.concat(dataItem);\n }\n forceUpdate && update();\n }),\n update: hooks.useCallbackRef((index: number, dataItem: T) => {\n const target = changeListRef.current[index];\n if (target) {\n changeListRef.current[index] = { ...target, ...dataItem };\n }\n forceUpdate && update();\n }),\n delete: hooks.useCallbackRef((index: number) => {\n const deleteItem = changeListRef.current.splice(index, 1);\n forceUpdate && update();\n return deleteItem;\n }),\n resetList: hooks.useCallbackRef((dataList: Array<T>) => {\n changeListRef.current = dataList;\n forceUpdate && update();\n }),\n getList: hooks.useCallbackRef(() => {\n return changeListRef.current;\n }),\n };\n return [changeListRef.current, arrayOperate] as const;\n};\n","import { TAny, trim } from '@flatbiz/utils';\nimport { fbaHooks } from '../fba-hooks';\n\nconst innerIgnoreClass = ['ace_editor', 'tox-tinymce', 'cnacel-flatbiz-antd-copy'];\n\nexport type CopyRemoveSpaceProps = {\n /** 设置监听复制范围,如果不设置则监听全局 */\n target?: () => Element;\n /**\n * 忽略的class配置(不参与copy逻辑处理的class),例如:['ace_editor']\n * ```\n * 1. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 2. ignoreClass可配置操作目标class、以及层层父节点class,通过目标节点以及层层父节点的class与ignoreClass匹配成功后,取消后续copy文案处理逻辑\n * ```\n */\n ignoreClass?: string[];\n};\n\n/**\n * 移除复制文本中前后空格\n * ```\n * 1. target 设置监听复制范围,如果不设置则监听全局,例如\n * export const Demo = () => {\n * const ref = useRef<any>();\n * useCopyRemoveSpace({\n * target: () => ref.current,\n * });\n * return (\n * <div ref={ref}>\n * <QueryTable />\n * </div>\n * );\n * };\n * 2. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 3. ignoreClass包括操作目标class、以及层层父节点class,通过目标节点层层父节点的class匹配成功后,取消后续copy文案处理逻辑\n * 3. ignoreClass 内置有 ['ace_editor', 'tox-tinymce', 'cancel-flatbiz-antd-copy']\n * ```\n */\nexport const useCopyRemoveSpace = (props?: CopyRemoveSpaceProps) => {\n const ignoreClass = innerIgnoreClass.concat(props?.ignoreClass || []);\n const target = props?.target?.() || window.document;\n\n fbaHooks.useEffectCustom(() => {\n const handle = (oEvent) => {\n try {\n let parentNode = oEvent.target as HTMLElement;\n let isIgnore = false;\n while (parentNode != null) {\n const target = ignoreClass.find((item) => parentNode.classList?.contains(item));\n if (target) {\n isIgnore = true;\n break;\n }\n parentNode = parentNode.parentNode as HTMLElement;\n }\n if (isIgnore) return;\n let copyInfo = '';\n // 获取复制信息\n const _window = window as TAny;\n try {\n copyInfo = window['document']['selection'].createRange().text;\n } catch (ex) {\n copyInfo = _window.getSelection().toString();\n }\n let clipboardData = _window.clipboardData; // for IE\n if (!clipboardData) {\n clipboardData = oEvent['clipboardData'];\n }\n const nextValue = trim(copyInfo, true);\n // 修改剪贴板中的内容\n clipboardData.setData('Text', nextValue);\n // 必须禁用原copy方法才能生效\n oEvent.preventDefault();\n if (nextValue !== copyInfo) {\n console.log('useCopyRemoveSpace 已操作移除复制文本中前后空格');\n }\n } catch (error: TAny) {\n console.warn(error?.message);\n }\n };\n target.addEventListener('copy', handle);\n return () => {\n target.removeEventListener('copy', handle);\n };\n }, [JSON.stringify(ignoreClass)]);\n};\n","import { DependencyList, EffectCallback, useEffect } from 'react';\n\nexport const useEffectCustom = (fn: EffectCallback, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useEffect(fn, deps);\n};\n","import { DependencyList, useEffect } from 'react';\n\nexport const useEffectCustomAsync = (fn: () => Promise<void>, deps: DependencyList) => {\n useEffect(() => {\n async function asyncFunction() {\n await fn();\n }\n void asyncFunction();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n","import { DependencyList, useMemo } from 'react';\n/**\n * 自定义控制 useMemo 依赖\n */\nexport const useMemoCustom = <T>(fn: () => T, deps?: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo<T>(fn, deps);\n};\n","import { useRef } from 'react';\n\nexport type ShouldUpdateFunc<T> = (prev: T | undefined, next: T) => boolean;\n\nconst defaultShouldUpdate = <T>(a?: T, b?: T) => !Object.is(a, b);\n\nexport function usePrevious<T>(\n state: T,\n shouldUpdate: ShouldUpdateFunc<T> = defaultShouldUpdate,\n): T | undefined {\n const prevRef = useRef<T>();\n const curRef = useRef<T>();\n\n if (shouldUpdate(curRef.current, state)) {\n prevRef.current = curRef.current;\n curRef.current = state;\n }\n\n return prevRef.current;\n}\n","import { hooks } from '@wove/react';\nimport { Dispatch, SetStateAction, useState } from 'react';\n\nexport const useSafeState = <S extends undefined | unknown>(\n initialState?: S | (() => S),\n): [S, Dispatch<SetStateAction<S>>] => {\n const [state, setState] = useState(initialState as S);\n const isMounted = hooks.useIsMounted();\n\n return [\n state,\n (value) => {\n if (isMounted.current) {\n return setState(value);\n }\n },\n ];\n};\n","import { theme } from 'antd';\n\nexport const useThemeToken = () => {\n const { token } = theme.useToken();\n return token;\n};\n","import { useArrayChange } from './use-array-change';\nimport { useCopyRemoveSpace } from './use-copy-remove-space';\nimport { useEffectCustom } from './use-effect-custom';\nimport { useEffectCustomAsync } from './use-effect-custom-async';\nimport { useMemoCustom } from './use-memo-custom';\nimport { usePrevious } from './use-previous';\nimport { useResponsivePoint } from './use-responsive-point';\nimport { useSafeState } from './use-safe-state';\nimport { useThemeToken } from './use-theme';\n\nexport const fbaHooks = {\n useEffectCustom: useEffectCustom,\n useEffectCustomAsync: useEffectCustomAsync,\n useThemeToken: useThemeToken,\n useArrayChange: useArrayChange,\n usePrevious: usePrevious,\n useResponsivePoint: useResponsivePoint,\n useSafeState: useSafeState,\n useMemoCustom: useMemoCustom,\n useCopyRemoveSpace: useCopyRemoveSpace,\n};\n"],"names":["useArrayChange","defautDataList","forceUpdate","changeListRef","useRef","update","_hooks","useForceUpdate","arrayOperate","add","useCallbackRef","dataItem","isUnshift","targetList","_isArray","current","concat","index","target","_extends","delete","deleteItem","splice","resetList","dataList","getList","innerIgnoreClass","useCopyRemoveSpace","props","ignoreClass","window","document","fbaHooks","useEffectCustom","handle","oEvent","parentNode","isIgnore","find","item","_parentNode$classList","classList","contains","copyInfo","_window","createRange","text","ex","getSelection","toString","clipboardData","nextValue","trim","setData","preventDefault","console","log","error","warn","message","addEventListener","removeEventListener","JSON","stringify","fn","deps","useEffect","useEffectCustomAsync","asyncFunction","Promise","$return","$error","resolve","then","$await_1","$boundEx","useMemoCustom","useMemo","defaultShouldUpdate","a","b","Object","is","usePrevious","state","shouldUpdate","prevRef","curRef","useSafeState","initialState","_useState","useState","setState","isMounted","useIsMounted","value","useThemeToken","_theme$useToken","theme","useToken","token","useResponsivePoint"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-hooks/use-array-change.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom.ts","@flatbiz/antd/src/fba-hooks/use-copy-remove-space.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom-async.ts","@flatbiz/antd/src/fba-hooks/use-memo-custom.ts","@flatbiz/antd/src/fba-hooks/use-previous.ts","@flatbiz/antd/src/fba-hooks/use-safe-state.ts","@flatbiz/antd/src/fba-hooks/use-theme.ts","@flatbiz/antd/src/fba-hooks/index.ts"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { useRef } from 'react';\n\nexport const useArrayChange = <T>(defautDataList: Array<T>, forceUpdate = true) => {\n const changeListRef = useRef<Array<T>>(defautDataList);\n const update = hooks.useForceUpdate();\n const arrayOperate = {\n add: hooks.useCallbackRef((dataItem: T | Array<T>, isUnshift?: boolean) => {\n if (isUnshift) {\n const targetList = isArray(dataItem) ? dataItem : [dataItem];\n changeListRef.current = [...targetList, ...changeListRef.current];\n } else {\n changeListRef.current = changeListRef.current.concat(dataItem);\n }\n forceUpdate && update();\n }),\n update: hooks.useCallbackRef((index: number, dataItem: T) => {\n const target = changeListRef.current[index];\n if (target) {\n changeListRef.current[index] = { ...target, ...dataItem };\n }\n forceUpdate && update();\n }),\n delete: hooks.useCallbackRef((index: number) => {\n const deleteItem = changeListRef.current.splice(index, 1);\n forceUpdate && update();\n return deleteItem;\n }),\n resetList: hooks.useCallbackRef((dataList: Array<T>) => {\n changeListRef.current = dataList;\n forceUpdate && update();\n }),\n getList: hooks.useCallbackRef(() => {\n return changeListRef.current;\n }),\n };\n return [changeListRef.current, arrayOperate] as const;\n};\n","import { type DependencyList, type EffectCallback, useEffect } from 'react';\n\nexport const useEffectCustom = (fn: EffectCallback, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useEffect(fn, deps);\n};\n","import { TAny, trim } from '@flatbiz/utils';\nimport { useEffectCustom } from './use-effect-custom';\n\nconst innerIgnoreClass = ['ace_editor', 'tox-tinymce', 'cancel-flatbiz-antd-copy'];\n\nexport type CopyRemoveSpaceProps = {\n /** 设置监听复制范围,如果不设置则监听全局 */\n target?: () => Element;\n /**\n * 忽略的class配置(不参与copy逻辑处理的class),例如:['ace_editor']\n * ```\n * 1. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 2. ignoreClass可配置操作目标class、以及层层父节点class,通过目标节点以及层层父节点的class与ignoreClass匹配成功后,取消后续copy文案处理逻辑\n * ```\n */\n ignoreClass?: string[];\n};\n/**\n * 移除复制文本中前后空格\n * ```\n * 1. target 设置监听复制范围,如果不设置则监听全局,例如\n * export const Demo = () => {\n * const ref = useRef<any>();\n * useCopyRemoveSpace({\n * target: () => ref.current,\n * });\n * return (\n * <div ref={ref}>\n * <QueryTable />\n * </div>\n * );\n * };\n * 2. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 3. ignoreClass包括操作目标class、以及层层父节点class,通过目标节点层层父节点的class匹配成功后,取消后续copy文案处理逻辑\n * 3. ignoreClass 内置有 ['ace_editor', 'tox-tinymce', 'cancel-flatbiz-antd-copy']\n * ```\n */\nexport const useCopyRemoveSpace = (props?: CopyRemoveSpaceProps) => {\n const ignoreClass = innerIgnoreClass.concat(props?.ignoreClass || []);\n const target = props?.target?.() || window.document;\n\n useEffectCustom(() => {\n const handle = (oEvent) => {\n try {\n let parentNode = oEvent.target as HTMLElement;\n let isIgnore = false;\n while (parentNode != null) {\n const target = ignoreClass.find((item) => parentNode.classList?.contains(item));\n if (target) {\n isIgnore = true;\n break;\n }\n parentNode = parentNode.parentNode as HTMLElement;\n }\n if (isIgnore) return;\n let copyInfo = '';\n // 获取复制信息\n const _window = window as TAny;\n try {\n copyInfo = window['document']['selection'].createRange().text;\n } catch (ex) {\n copyInfo = _window.getSelection().toString();\n }\n let clipboardData = _window.clipboardData; // for IE\n if (!clipboardData) {\n clipboardData = oEvent['clipboardData'];\n }\n const nextValue = trim(copyInfo, true);\n // 修改剪贴板中的内容\n clipboardData.setData('Text', nextValue);\n // 必须禁用原copy方法才能生效\n oEvent.preventDefault();\n if (nextValue !== copyInfo) {\n console.log('useCopyRemoveSpace 已操作移除复制文本中前后空格');\n }\n } catch (error: TAny) {\n console.warn(error?.message);\n }\n };\n target.addEventListener('copy', handle);\n return () => {\n target.removeEventListener('copy', handle);\n };\n }, [JSON.stringify(ignoreClass)]);\n};\n","import { DependencyList, useEffect } from 'react';\n\nexport const useEffectCustomAsync = (fn: () => Promise<void>, deps: DependencyList) => {\n useEffect(() => {\n async function asyncFunction() {\n await fn();\n }\n void asyncFunction();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n","import { type DependencyList, useMemo } from 'react';\n/**\n * 自定义控制 useMemo 依赖\n */\nexport const useMemoCustom = <T>(fn: () => T, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo<T>(fn, deps);\n};\n","import { useRef } from 'react';\n\nexport type ShouldUpdateFunc<T> = (prev: T | undefined, next: T) => boolean;\n\nconst defaultShouldUpdate = <T>(a?: T, b?: T) => !Object.is(a, b);\n\nexport function usePrevious<T>(\n state: T,\n shouldUpdate: ShouldUpdateFunc<T> = defaultShouldUpdate,\n): T | undefined {\n const prevRef = useRef<T>();\n const curRef = useRef<T>();\n\n if (shouldUpdate(curRef.current, state)) {\n prevRef.current = curRef.current;\n curRef.current = state;\n }\n\n return prevRef.current;\n}\n","import { hooks } from '@wove/react';\nimport { Dispatch, SetStateAction, useState } from 'react';\n\nexport const useSafeState = <S extends undefined | unknown>(\n initialState?: S | (() => S),\n): [S, Dispatch<SetStateAction<S>>] => {\n const [state, setState] = useState(initialState as S);\n const isMounted = hooks.useIsMounted();\n\n return [\n state,\n (value) => {\n if (isMounted.current) {\n return setState(value);\n }\n },\n ];\n};\n","import { theme } from 'antd';\n\nexport const useThemeToken = () => {\n const { token } = theme.useToken();\n return token;\n};\n","import { useArrayChange } from './use-array-change';\nimport { useCopyRemoveSpace } from './use-copy-remove-space';\nimport { useEffectCustom } from './use-effect-custom';\nimport { useEffectCustomAsync } from './use-effect-custom-async';\nimport { useMemoCustom } from './use-memo-custom';\nimport { usePrevious } from './use-previous';\nimport { useResponsivePoint } from './use-responsive-point';\nimport { useSafeState } from './use-safe-state';\nimport { useThemeToken } from './use-theme';\n\nexport const fbaHooks = {\n useEffectCustom: useEffectCustom,\n useEffectCustomAsync: useEffectCustomAsync,\n useThemeToken: useThemeToken,\n useArrayChange: useArrayChange,\n usePrevious: usePrevious,\n useResponsivePoint: useResponsivePoint,\n useSafeState: useSafeState,\n useMemoCustom: useMemoCustom,\n useCopyRemoveSpace: useCopyRemoveSpace,\n};\n"],"names":["useArrayChange","defautDataList","forceUpdate","changeListRef","useRef","update","_hooks","useForceUpdate","arrayOperate","add","useCallbackRef","dataItem","isUnshift","targetList","_isArray","current","concat","index","target","_extends","delete","deleteItem","splice","resetList","dataList","getList","useEffectCustom","fn","deps","useEffect","innerIgnoreClass","useCopyRemoveSpace","props","ignoreClass","window","document","handle","oEvent","parentNode","isIgnore","find","item","_parentNode$classList","classList","contains","copyInfo","_window","createRange","text","ex","getSelection","toString","clipboardData","nextValue","trim","setData","preventDefault","console","log","error","warn","message","addEventListener","removeEventListener","JSON","stringify","useEffectCustomAsync","asyncFunction","Promise","$return","$error","resolve","then","$await_1","$boundEx","useMemoCustom","useMemo","defaultShouldUpdate","a","b","Object","is","usePrevious","state","shouldUpdate","prevRef","curRef","useSafeState","initialState","_useState","useState","setState","isMounted","useIsMounted","value","useThemeToken","_theme$useToken","theme","useToken","token","fbaHooks","useResponsivePoint"],"mappings":"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"}
|
package/esm/form-grid/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
-
import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{Col as t,Form as n,Row as i,Space as o}from"antd";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{useMemo as s,isValidElement as f,cloneElement as d}from"react";import{toArray as p,valueIsEqual as v}from"@flatbiz/utils";import{u as m}from"../use-responsive-point-21b8c601.js";var c=["forceAloneRow","hidden"];var h={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var g=function n(i){var o=i.forceAloneRow,l=i.hidden,u=r(i,c);var s=o?h:u;if(l)return null;return a(t,e({},s,{children:i.children}))};g["domTypeName"]="FormCol";var x=["leftList","rightList","rowColTotal","justify","forceAloneRow","hidden","leftSpaceProps","rightSpaceProps"];var y={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var L=function f(d){var p=d,v=p.leftList,m=p.rightList,c=p.rowColTotal,h=p.justify,g=p.forceAloneRow,L=p.hidden,w=p.leftSpaceProps,C=p.rightSpaceProps,N=r(p,x);var T=(v||[]).filter(Boolean);var j=(m||[]).filter(Boolean);var F=T.length>0&&j.length>0;var S=g||F?y:{};var G=s((function(){if(h)return h;if(F)return"space-between";if(g)return"end";if(c===1)return"start";return"end"}),[g,F,h,c]);var O=u(d.className,"v-form-col-operate");if(L)return null;return a(t,e({},N,S,{className:O,children:a(n.Item,{children:l(i,{justify:G,wrap:false,children:[a(o,e({},w,{className:u("v-form-col-operate-left",w==null?void 0:w.className),children:T.map((function(r){return r}))})),a(o,e({},C,{style:e({overflowX:"auto"},C==null?void 0:C.style),className:u("v-form-col-operate-right",
|
|
4
|
+
import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{Col as t,Form as n,Row as i,Space as o}from"antd";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{useMemo as s,isValidElement as f,cloneElement as d}from"react";import{toArray as p,valueIsEqual as v}from"@flatbiz/utils";import{u as m}from"../use-responsive-point-21b8c601.js";var c=["forceAloneRow","hidden"];var h={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var g=function n(i){var o=i.forceAloneRow,l=i.hidden,u=r(i,c);var s=o?h:u;if(l)return null;return a(t,e({},s,{children:i.children}))};g["domTypeName"]="FormCol";var x=["leftList","rightList","rowColTotal","justify","forceAloneRow","hidden","leftSpaceProps","rightSpaceProps"];var y={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var L=function f(d){var p=d,v=p.leftList,m=p.rightList,c=p.rowColTotal,h=p.justify,g=p.forceAloneRow,L=p.hidden,w=p.leftSpaceProps,C=p.rightSpaceProps,N=r(p,x);var T=(v||[]).filter(Boolean);var j=(m||[]).filter(Boolean);var F=T.length>0&&j.length>0;var S=g||F?y:{};var G=s((function(){if(h)return h;if(F)return"space-between";if(g)return"end";if(c===1)return"start";return"end"}),[g,F,h,c]);var O=u(d.className,"v-form-col-operate");if(L)return null;return a(t,e({},N,S,{className:O,children:a(n.Item,{children:l(i,{justify:G,wrap:false,children:[a(o,e({},w,{className:u("v-form-col-operate-left",w==null?void 0:w.className),children:T.map((function(r){return r}))})),a(o,e({},C,{style:e({overflowX:"auto"},C==null?void 0:C.style),className:u("v-form-col-operate-right",C==null?void 0:C.className),children:j==null?void 0:j.map((function(r){return r}))}))]})})}))};L["domTypeName"]="FormOperateCol";var w=function r(e,t){try{var n=[];var i=function r(t){var n=e[t];return{index:t,value:n>24?24:n}};var o=true;var a=[];var l=0;var u=0;while(o){var s=e[l];a.push(i(l));if(s>=24){n.push(a);a=[];u=0}else if(l===e.length-1){n.push(a)}else{u+=s;if(u>=24){n.push(a);a=[];u=0}}l=l+1;if(l>=e.length){o=false}}var f=n.find((function(r){return!!r.find((function(r){return r.index===t}))}))||[];var d=0;var p=0;f.forEach((function(r,e){if(r.index===t)p=e;if(r.index<t){d=d+r.value}}));if(d===24||d===0){f[p].value=24}else{f[p].value=24-d}return{gridList:n.reduce((function(r,e){return r.concat(e)})).map((function(r){return r.value})),gridGroupList:n}}catch(r){return{gridList:e,gridGroupList:[]}}};var C=["gridSize"];var N={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var T={xs:24,sm:12,md:8,lg:6,xl:6,xxl:6};var j=function t(n){var o=n.gridSize,l=r(n,C);var u=m()||"md";var c=p(n.children).filter((function(r){if(!r||!f(r))return false;return v(r.type["domTypeName"],["FormOperateCol","FormCol"])}));var h=o==="small"?T:N;console.log("screenType",u,h[u]);var g=s((function(){var r=c.findIndex((function(r){return r.type["domTypeName"]==="FormOperateCol"}));if(u===undefined){return{gridList:[],gridGroupList:[]}}var e=c.map((function(e,t){var n,i;if(t===r)return 0;if(["md","sm","xs"].includes(u)){var o;return((o=e.props)==null?void 0:o[u])||h[u]}var a=(n=e.props)==null?void 0:n.span;return((i=e.props)==null?void 0:i[u])||a||h[u]}));if(r<0){return{gridList:e,gridGroupList:[]}}return w(e,r)}),[c,h,u]),x=g.gridList,y=g.gridGroupList;return a(i,e({},l,{children:c.map((function(r,t){var n;var i=e({},h,r.props);var o=e({key:t},i,(n={},n[u]=x[t]||i[u],n));if(r.type["domTypeName"]==="FormOperateCol"){o["rowColTotal"]=y.length}return d(r,o)}))}))};var F={Row:j,Col:g,OperateCol:L};export{F as FormGrid};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-grid/form-col.tsx","@flatbiz/antd/src/form-grid/form-operate-col.tsx","@flatbiz/antd/src/form-grid/utils.ts","@flatbiz/antd/src/form-grid/form-row.tsx","@flatbiz/antd/src/form-grid/index.ts"],"sourcesContent":["import { Col } from 'antd';\nimport { ReactNode } from 'react';\nconst forceAloneRowGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormColProps = {\n /** 栅格占位格数,替换lg、xl、xxl默认数据 */\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n children?: ReactNode | ReactNode[];\n hidden?: boolean;\n};\n\n/**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,替换lg、xl、xxl默认数据,不替换xs、sm布局数据\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\nexport const FormCol = (props: FormColProps) => {\n const { forceAloneRow, hidden, ...otherProps } = props;\n const forceGrid = forceAloneRow ? forceAloneRowGrid : otherProps;\n if (hidden) return null;\n return <Col {...forceGrid}>{props.children}</Col>;\n};\n\nFormCol['domTypeName'] = 'FormCol';\n","import { classNames } from '@dimjs/utils';\nimport { Col, Form, Row, RowProps, Space, SpaceProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\n\nconst fullGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormOperateColProps = {\n className?: string;\n leftList?: Array<ReactElement | null>;\n rightList?: Array<ReactElement | null>;\n // left、right 对齐方式,优先级最高\n justify?: RowProps['justify'];\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n hidden?: boolean;\n leftSpaceProps?: SpaceProps;\n rightSpaceProps?: SpaceProps;\n};\n\n/**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\nexport const FormOperateCol = (props: FormOperateColProps) => {\n const {\n leftList,\n rightList,\n rowColTotal,\n justify,\n forceAloneRow,\n hidden,\n leftSpaceProps,\n rightSpaceProps,\n ...otherProps\n } = props as FormOperateColProps & {\n rowColTotal: number;\n };\n const _leftList = (leftList || []).filter(Boolean);\n const _rightList = (rightList || []).filter(Boolean);\n const hasAll = _leftList.length > 0 && _rightList.length > 0;\n const forceGrid = forceAloneRow || hasAll ? fullGrid : {};\n\n const colJustify = useMemo(() => {\n if (justify) return justify;\n if (hasAll) return 'space-between';\n if (forceAloneRow) return 'end';\n if (rowColTotal === 1) return 'start';\n return 'end';\n }, [forceAloneRow, hasAll, justify, rowColTotal]);\n\n const className = classNames(props.className, 'v-form-col-operate');\n\n if (hidden) return null;\n\n return (\n <Col {...otherProps} {...forceGrid} className={className}>\n <Form.Item>\n <Row justify={colJustify} wrap={false}>\n <Space\n {...leftSpaceProps}\n className={classNames('v-form-col-operate-left', leftSpaceProps?.className)}\n >\n {_leftList.map((item) => item)}\n </Space>\n <Space\n {...rightSpaceProps}\n style={{ overflowX: 'auto', ...rightSpaceProps?.style }}\n className={classNames('v-form-col-operate-right', leftSpaceProps?.className)}\n >\n {_rightList?.map((item) => item)}\n </Space>\n </Row>\n </Form.Item>\n </Col>\n );\n};\n\nFormOperateCol['domTypeName'] = 'FormOperateCol';\n","/**\n * 用于计算 operateCol 所占用网格数\n * ```\n * col网格数据 [8,8,8,12,24,0,8] => [[8,8,8],[12],[24],[0,8]],分组后计算operateCol所在行中剩余网格数\n * ```\n * @returns\n */\nexport const calculateOperateGrid = (gridList: number[], operateColIndex: number) => {\n try {\n const groupList = [] as { index: number; value: number }[][];\n const getGroupItem = function (index) {\n const value = gridList[index];\n return { index, value: value > 24 ? 24 : value };\n };\n let condition = true;\n let groupItemList = [] as { index: number; value: number }[];\n let currentIndex = 0;\n let total = 0;\n while (condition) {\n const currentValue = gridList[currentIndex];\n groupItemList.push(getGroupItem(currentIndex));\n if (currentValue >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n } else if (currentIndex === gridList.length - 1) {\n groupList.push(groupItemList);\n } else {\n total += currentValue;\n if (total >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n }\n }\n currentIndex = currentIndex + 1;\n if (currentIndex >= gridList.length) {\n condition = false;\n }\n }\n const hasOperateList =\n groupList.find((item) => !!item.find((temp) => temp.index === operateColIndex)) || [];\n let hasOperateTotal = 0;\n let hasOperateIndex = 0;\n hasOperateList.forEach((item, index) => {\n if (item.index === operateColIndex) hasOperateIndex = index;\n if (item.index < operateColIndex) {\n hasOperateTotal = hasOperateTotal + item.value;\n }\n });\n if (hasOperateTotal === 24 || hasOperateTotal === 0) {\n hasOperateList[hasOperateIndex].value = 24;\n } else {\n hasOperateList[hasOperateIndex].value = 24 - hasOperateTotal;\n }\n\n return {\n gridList: groupList.reduce((a, b) => a.concat(b)).map((temp) => temp.value),\n gridGroupList: groupList,\n };\n } catch (error) {\n return {\n gridList,\n gridGroupList: [],\n };\n }\n};\n","import { toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Row, RowProps } from 'antd';\nimport { cloneElement, isValidElement, ReactElement, ReactNode, useMemo } from 'react';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point';\nimport { calculateOperateGrid } from './utils';\n\nexport type FormRowProps = RowProps & {\n children?: ReactNode | ReactNode[];\n /**\n * default = { xs: 24, sm: 12, md: 8, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 12, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n gridSize?: 'default' | 'small';\n};\nconst defaultGrid = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\nconst defaultSmallGrid = { xs: 24, sm: 12, md: 8, lg: 6, xl: 6, xxl: 6 };\n\n/**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\nexport const FormRow = (props: FormRowProps) => {\n const { gridSize, ...otherProps } = props;\n const screenType = useResponsivePoint() || 'md';\n\n const childrenList = toArray<ReactElement>(props.children).filter((item) => {\n if (!item || !isValidElement(item)) return false;\n return valueIsEqual(item.type['domTypeName'], ['FormOperateCol', 'FormCol']);\n });\n const defaultGridSize = gridSize === 'small' ? defaultSmallGrid : defaultGrid;\n console.log('screenType', screenType, defaultGridSize[screenType]);\n\n const { gridList, gridGroupList } = useMemo(() => {\n const operateColIndex = childrenList.findIndex((item) => {\n return item.type['domTypeName'] === 'FormOperateCol';\n });\n if (screenType === undefined) {\n return { gridList: [] as number[], gridGroupList: [] };\n }\n const _currentGridList = childrenList.map((temp, index) => {\n if (index === operateColIndex) return 0;\n if (['md', 'sm', 'xs'].includes(screenType)) {\n return temp.props?.[screenType] || defaultGridSize[screenType];\n }\n const span = temp.props?.span as number;\n return temp.props?.[screenType] || span || defaultGridSize[screenType];\n });\n if (operateColIndex < 0) {\n return { gridList: _currentGridList, gridGroupList: [] };\n }\n return calculateOperateGrid(_currentGridList, operateColIndex);\n }, [childrenList, defaultGridSize, screenType]);\n\n // if (!screenType) return <Fragment>{props.children}</Fragment>;\n return (\n <Row {...otherProps}>\n {childrenList.map((item, index) => {\n const itemProps = { ...defaultGridSize, ...item.props };\n const newProps = {\n key: index,\n ...itemProps,\n [screenType]: gridList[index] || itemProps[screenType],\n };\n if (item.type['domTypeName'] === 'FormOperateCol') {\n newProps['rowColTotal'] = gridGroupList.length;\n }\n return cloneElement(item, newProps);\n })}\n </Row>\n );\n};\n","import { FormCol } from './form-col';\nimport { FormOperateCol } from './form-operate-col';\nimport { FormRow } from './form-row';\n\nexport const FormGrid = {\n /**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\n Row: FormRow,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,替换lg、xl、xxl默认数据,不替换xs、sm布局数据\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\n Col: FormCol,\n /**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\n OperateCol: FormOperateCol,\n};\n"],"names":["forceAloneRowGrid","xs","sm","md","lg","xl","xxl","FormCol","props","forceAloneRow","hidden","otherProps","_objectWithoutPropertiesLoose","_excluded","forceGrid","_jsx","Col","_extends","children","fullGrid","FormOperateCol","_ref","leftList","rightList","rowColTotal","justify","leftSpaceProps","rightSpaceProps","_leftList","filter","Boolean","_rightList","hasAll","length","colJustify","useMemo","className","_classNames","Form","Item","_jsxs","Row","wrap","Space","map","item","style","overflowX","calculateOperateGrid","gridList","operateColIndex","groupList","getGroupItem","index","value","condition","groupItemList","currentIndex","total","currentValue","push","hasOperateList","find","temp","hasOperateTotal","hasOperateIndex","forEach","reduce","a","b","concat","gridGroupList","error","defaultGrid","defaultSmallGrid","FormRow","gridSize","screenType","useResponsivePoint","childrenList","toArray","isValidElement","valueIsEqual","type","defaultGridSize","console","log","_useMemo","findIndex","undefined","_currentGridList","_temp$props2","_temp$props3","includes","_temp$props","span","_extends2","itemProps","newProps","key","cloneElement","FormGrid","OperateCol"],"mappings":";mcAEA,IAAMA,EAAoB,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,IAAK,IAmClE,IAAMC,EAAU,SAAVA,EAAWC,GACtB,IAAQC,EAAyCD,EAAzCC,cAAeC,EAA0BF,EAA1BE,OAAWC,EAAUC,EAAKJ,EAAKK,GACtD,IAAMC,EAAYL,EAAgBT,EAAoBW,EACtD,GAAID,EAAQ,OAAO,KACnB,OAAOK,EAACC,EAAGC,KAAKH,EAAS,CAAAI,SAAGV,EAAMU,WACpC,EAEAX,EAAQ,eAAiB,6HCxCzB,IAAMY,EAAW,CAAElB,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,IAAK,IAuBzD,IAAMc,EAAiB,SAAjBA,EAAkBZ,GAC7B,IAAAa,EAUIb,EATFc,EAAQD,EAARC,SACAC,EAASF,EAATE,UACAC,EAAWH,EAAXG,YACAC,EAAOJ,EAAPI,QACAhB,EAAaY,EAAbZ,cACAC,EAAMW,EAANX,OACAgB,EAAcL,EAAdK,eACAC,EAAeN,EAAfM,gBACGhB,EAAUC,EAAAS,EAAAR,GAIf,IAAMe,GAAaN,GAAY,IAAIO,OAAOC,SAC1C,IAAMC,GAAcR,GAAa,IAAIM,OAAOC,SAC5C,IAAME,EAASJ,EAAUK,OAAS,GAAKF,EAAWE,OAAS,EAC3D,IAAMnB,EAAYL,GAAiBuB,EAASb,EAAW,CAAA,EAEvD,IAAMe,EAAaC,GAAQ,WACzB,GAAIV,EAAS,OAAOA,EACpB,GAAIO,EAAQ,MAAO,gBACnB,GAAIvB,EAAe,MAAO,MAC1B,GAAIe,IAAgB,EAAG,MAAO,QAC9B,MAAO,KACR,GAAE,CAACf,EAAeuB,EAAQP,EAASD,IAEpC,IAAMY,EAAYC,EAAW7B,EAAM4B,UAAW,sBAE9C,GAAI1B,EAAQ,OAAO,KAEnB,OACEK,EAACC,EAAGC,EAAKN,CAAAA,EAAAA,EAAgBG,EAAS,CAAEsB,UAAWA,EAAUlB,SACvDH,EAACuB,EAAKC,KAAI,CAAArB,SACRsB,EAACC,EAAG,CAAChB,QAASS,EAAYQ,KAAM,MAAMxB,UACpCH,EAAC4B,EAAK1B,KACAS,EAAc,CAClBU,UAAWC,EAAW,0BAA2BX,GAAAA,UAAAA,EAAAA,EAAgBU,WAAWlB,SAE3EU,EAAUgB,KAAI,SAACC,GAAI,OAAKA,CAAI,OAE/B9B,EAAC4B,EAAK1B,KACAU,EAAe,CACnBmB,MAAK7B,EAAA,CAAI8B,UAAW,QAAWpB,GAAe,UAAA,EAAfA,EAAiBmB,OAChDV,UAAWC,EAAW,2BAA4BX,GAAAA,UAAAA,EAAAA,EAAgBU,WAAWlB,SAE5Ea,GAAAA,UAAAA,EAAAA,EAAYa,KAAI,SAACC,GAAI,OAAKA,CAAI,cAM3C,EAEAzB,EAAe,eAAiB,iBC1EzB,IAAM4B,EAAuB,SAAvBA,EAAwBC,EAAoBC,GACvD,IACE,IAAMC,EAAY,GAClB,IAAMC,EAAe,SAAfA,EAAyBC,GAC7B,IAAMC,EAAQL,EAASI,GACvB,MAAO,CAAEA,MAAAA,EAAOC,MAAOA,EAAQ,GAAK,GAAKA,IAE3C,IAAIC,EAAY,KAChB,IAAIC,EAAgB,GACpB,IAAIC,EAAe,EACnB,IAAIC,EAAQ,EACZ,MAAOH,EAAW,CAChB,IAAMI,EAAeV,EAASQ,GAC9BD,EAAcI,KAAKR,EAAaK,IAChC,GAAIE,GAAgB,GAAI,CACtBR,EAAUS,KAAKJ,GACfA,EAAgB,GAChBE,EAAQ,CACT,MAAM,GAAID,IAAiBR,EAAShB,OAAS,EAAG,CAC/CkB,EAAUS,KAAKJ,EACjB,KAAO,CACLE,GAASC,EACT,GAAID,GAAS,GAAI,CACfP,EAAUS,KAAKJ,GACfA,EAAgB,GAChBE,EAAQ,CACV,CACF,CACAD,EAAeA,EAAe,EAC9B,GAAIA,GAAgBR,EAAShB,OAAQ,CACnCsB,EAAY,KACd,CACF,CACA,IAAMM,EACJV,EAAUW,MAAK,SAACjB,GAAI,QAAOA,EAAKiB,MAAK,SAACC,GAAI,OAAKA,EAAKV,QAAUH,IAAgB,KAAK,GACrF,IAAIc,EAAkB,EACtB,IAAIC,EAAkB,EACtBJ,EAAeK,SAAQ,SAACrB,EAAMQ,GAC5B,GAAIR,EAAKQ,QAAUH,EAAiBe,EAAkBZ,EACtD,GAAIR,EAAKQ,MAAQH,EAAiB,CAChCc,EAAkBA,EAAkBnB,EAAKS,KAC3C,CACF,IACA,GAAIU,IAAoB,IAAMA,IAAoB,EAAG,CACnDH,EAAeI,GAAiBX,MAAQ,EAC1C,KAAO,CACLO,EAAeI,GAAiBX,MAAQ,GAAKU,CAC/C,CAEA,MAAO,CACLf,SAAUE,EAAUgB,QAAO,SAACC,EAAGC,GAAC,OAAKD,EAAEE,OAAOD,EAAE,IAAEzB,KAAI,SAACmB,GAAI,OAAKA,EAAKT,SACrEiB,cAAepB,EAElB,CAAC,MAAOqB,GACP,MAAO,CACLvB,SAAAA,EACAsB,cAAe,GAEnB,CACF,qBCpDA,IAAME,EAAc,CAAExE,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,IAAK,GACjE,IAAMoE,EAAmB,CAAEzE,GAAI,GAAIC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,IAAK,GAS9D,IAAMqE,EAAU,SAAVA,EAAWnE,GACtB,IAAQoE,EAA4BpE,EAA5BoE,SAAajE,EAAUC,EAAKJ,EAAKK,GACzC,IAAMgE,EAAaC,KAAwB,KAE3C,IAAMC,EAAeC,EAAsBxE,EAAMU,UAAUW,QAAO,SAACgB,GACjE,IAAKA,IAASoC,EAAepC,GAAO,OAAO,MAC3C,OAAOqC,EAAarC,EAAKsC,KAAK,eAAgB,CAAC,iBAAkB,WACnE,IACA,IAAMC,EAAkBR,IAAa,QAAUF,EAAmBD,EAClEY,QAAQC,IAAI,aAAcT,EAAYO,EAAgBP,IAEtD,IAAAU,EAAoCpD,GAAQ,WAC1C,IAAMe,EAAkB6B,EAAaS,WAAU,SAAC3C,GAC9C,OAAOA,EAAKsC,KAAK,iBAAmB,gBACtC,IACA,GAAIN,IAAeY,UAAW,CAC5B,MAAO,CAAExC,SAAU,GAAgBsB,cAAe,GACpD,CACA,IAAMmB,EAAmBX,EAAanC,KAAI,SAACmB,EAAMV,GAAU,IAAAsC,EAAAC,EACzD,GAAIvC,IAAUH,EAAiB,OAAO,EACtC,GAAI,CAAC,KAAM,KAAM,MAAM2C,SAAShB,GAAa,CAAA,IAAAiB,EAC3C,QAAOA,EAAA/B,EAAKvD,QAAK,UAAA,EAAVsF,EAAajB,KAAeO,EAAgBP,EACrD,CACA,IAAMkB,GAAIJ,EAAG5B,EAAKvD,QAAK,UAAA,EAAVmF,EAAYI,KACzB,QAAOH,EAAA7B,EAAKvD,QAALoF,UAAAA,EAAAA,EAAaf,KAAekB,GAAQX,EAAgBP,EAC7D,IACA,GAAI3B,EAAkB,EAAG,CACvB,MAAO,CAAED,SAAUyC,EAAkBnB,cAAe,GACtD,CACA,OAAOvB,EAAqB0C,EAAkBxC,EAC/C,GAAE,CAAC6B,EAAcK,EAAiBP,IAnB3B5B,EAAQsC,EAARtC,SAAUsB,EAAagB,EAAbhB,cAsBlB,OACExD,EAAC0B,EAAGxB,KAAKN,EAAU,CAAAO,SAChB6D,EAAanC,KAAI,SAACC,EAAMQ,GAAU,IAAA2C,EACjC,IAAMC,EAAShF,EAAA,CAAA,EAAQmE,EAAoBvC,EAAKrC,OAChD,IAAM0F,EAAQjF,EAAA,CACZkF,IAAK9C,GACF4C,GAASD,KAAAA,EACXnB,GAAa5B,EAASI,IAAU4C,EAAUpB,GAAWmB,IAExD,GAAInD,EAAKsC,KAAK,iBAAmB,iBAAkB,CACjDe,EAAS,eAAiB3B,EAActC,MAC1C,CACA,OAAOmE,EAAavD,EAAMqD,QAIlC,ECrEO,IAAMG,EAAW,CAQtB5D,IAAKkC,EAcL3D,IAAKT,EAUL+F,WAAYlF"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-grid/form-col.tsx","@flatbiz/antd/src/form-grid/form-operate-col.tsx","@flatbiz/antd/src/form-grid/utils.ts","@flatbiz/antd/src/form-grid/form-row.tsx","@flatbiz/antd/src/form-grid/index.ts"],"sourcesContent":["import { Col } from 'antd';\nimport { ReactNode } from 'react';\nconst forceAloneRowGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormColProps = {\n /** 栅格占位格数,替换lg、xl、xxl默认数据 */\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n children?: ReactNode | ReactNode[];\n hidden?: boolean;\n};\n\n/**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,替换lg、xl、xxl默认数据,不替换xs、sm布局数据\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\nexport const FormCol = (props: FormColProps) => {\n const { forceAloneRow, hidden, ...otherProps } = props;\n const forceGrid = forceAloneRow ? forceAloneRowGrid : otherProps;\n if (hidden) return null;\n return <Col {...forceGrid}>{props.children}</Col>;\n};\n\nFormCol['domTypeName'] = 'FormCol';\n","import { classNames } from '@dimjs/utils';\nimport { Col, Form, Row, RowProps, Space, SpaceProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\n\nconst fullGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormOperateColProps = {\n className?: string;\n leftList?: Array<ReactElement | null>;\n rightList?: Array<ReactElement | null>;\n // left、right 对齐方式,优先级最高\n justify?: RowProps['justify'];\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n hidden?: boolean;\n leftSpaceProps?: SpaceProps;\n rightSpaceProps?: SpaceProps;\n};\n\n/**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\nexport const FormOperateCol = (props: FormOperateColProps) => {\n const {\n leftList,\n rightList,\n rowColTotal,\n justify,\n forceAloneRow,\n hidden,\n leftSpaceProps,\n rightSpaceProps,\n ...otherProps\n } = props as FormOperateColProps & {\n rowColTotal: number;\n };\n const _leftList = (leftList || []).filter(Boolean);\n const _rightList = (rightList || []).filter(Boolean);\n const hasAll = _leftList.length > 0 && _rightList.length > 0;\n const forceGrid = forceAloneRow || hasAll ? fullGrid : {};\n\n const colJustify = useMemo(() => {\n if (justify) return justify;\n if (hasAll) return 'space-between';\n if (forceAloneRow) return 'end';\n if (rowColTotal === 1) return 'start';\n return 'end';\n }, [forceAloneRow, hasAll, justify, rowColTotal]);\n\n const className = classNames(props.className, 'v-form-col-operate');\n\n if (hidden) return null;\n\n return (\n <Col {...otherProps} {...forceGrid} className={className}>\n <Form.Item>\n <Row justify={colJustify} wrap={false}>\n <Space\n {...leftSpaceProps}\n className={classNames('v-form-col-operate-left', leftSpaceProps?.className)}\n >\n {_leftList.map((item) => item)}\n </Space>\n <Space\n {...rightSpaceProps}\n style={{ overflowX: 'auto', ...rightSpaceProps?.style }}\n className={classNames('v-form-col-operate-right', rightSpaceProps?.className)}\n >\n {_rightList?.map((item) => item)}\n </Space>\n </Row>\n </Form.Item>\n </Col>\n );\n};\n\nFormOperateCol['domTypeName'] = 'FormOperateCol';\n","/**\n * 用于计算 operateCol 所占用网格数\n * ```\n * col网格数据 [8,8,8,12,24,0,8] => [[8,8,8],[12],[24],[0,8]],分组后计算operateCol所在行中剩余网格数\n * ```\n * @returns\n */\nexport const calculateOperateGrid = (gridList: number[], operateColIndex: number) => {\n try {\n const groupList = [] as { index: number; value: number }[][];\n const getGroupItem = function (index) {\n const value = gridList[index];\n return { index, value: value > 24 ? 24 : value };\n };\n let condition = true;\n let groupItemList = [] as { index: number; value: number }[];\n let currentIndex = 0;\n let total = 0;\n while (condition) {\n const currentValue = gridList[currentIndex];\n groupItemList.push(getGroupItem(currentIndex));\n if (currentValue >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n } else if (currentIndex === gridList.length - 1) {\n groupList.push(groupItemList);\n } else {\n total += currentValue;\n if (total >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n }\n }\n currentIndex = currentIndex + 1;\n if (currentIndex >= gridList.length) {\n condition = false;\n }\n }\n const hasOperateList =\n groupList.find((item) => !!item.find((temp) => temp.index === operateColIndex)) || [];\n let hasOperateTotal = 0;\n let hasOperateIndex = 0;\n hasOperateList.forEach((item, index) => {\n if (item.index === operateColIndex) hasOperateIndex = index;\n if (item.index < operateColIndex) {\n hasOperateTotal = hasOperateTotal + item.value;\n }\n });\n if (hasOperateTotal === 24 || hasOperateTotal === 0) {\n hasOperateList[hasOperateIndex].value = 24;\n } else {\n hasOperateList[hasOperateIndex].value = 24 - hasOperateTotal;\n }\n\n return {\n gridList: groupList.reduce((a, b) => a.concat(b)).map((temp) => temp.value),\n gridGroupList: groupList,\n };\n } catch (error) {\n return {\n gridList,\n gridGroupList: [],\n };\n }\n};\n","import { toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Row, RowProps } from 'antd';\nimport { cloneElement, isValidElement, ReactElement, ReactNode, useMemo } from 'react';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point';\nimport { calculateOperateGrid } from './utils';\n\nexport type FormRowProps = RowProps & {\n children?: ReactNode | ReactNode[];\n /**\n * default = { xs: 24, sm: 12, md: 8, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 12, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n gridSize?: 'default' | 'small';\n};\nconst defaultGrid = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\nconst defaultSmallGrid = { xs: 24, sm: 12, md: 8, lg: 6, xl: 6, xxl: 6 };\n\n/**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\nexport const FormRow = (props: FormRowProps) => {\n const { gridSize, ...otherProps } = props;\n const screenType = useResponsivePoint() || 'md';\n\n const childrenList = toArray<ReactElement>(props.children).filter((item) => {\n if (!item || !isValidElement(item)) return false;\n return valueIsEqual(item.type['domTypeName'], ['FormOperateCol', 'FormCol']);\n });\n const defaultGridSize = gridSize === 'small' ? defaultSmallGrid : defaultGrid;\n console.log('screenType', screenType, defaultGridSize[screenType]);\n\n const { gridList, gridGroupList } = useMemo(() => {\n const operateColIndex = childrenList.findIndex((item) => {\n return item.type['domTypeName'] === 'FormOperateCol';\n });\n if (screenType === undefined) {\n return { gridList: [] as number[], gridGroupList: [] };\n }\n const _currentGridList = childrenList.map((temp, index) => {\n if (index === operateColIndex) return 0;\n if (['md', 'sm', 'xs'].includes(screenType)) {\n return temp.props?.[screenType] || defaultGridSize[screenType];\n }\n const span = temp.props?.span as number;\n return temp.props?.[screenType] || span || defaultGridSize[screenType];\n });\n if (operateColIndex < 0) {\n return { gridList: _currentGridList, gridGroupList: [] };\n }\n return calculateOperateGrid(_currentGridList, operateColIndex);\n }, [childrenList, defaultGridSize, screenType]);\n\n // if (!screenType) return <Fragment>{props.children}</Fragment>;\n return (\n <Row {...otherProps}>\n {childrenList.map((item, index) => {\n const itemProps = { ...defaultGridSize, ...item.props };\n const newProps = {\n key: index,\n ...itemProps,\n [screenType]: gridList[index] || itemProps[screenType],\n };\n if (item.type['domTypeName'] === 'FormOperateCol') {\n newProps['rowColTotal'] = gridGroupList.length;\n }\n return cloneElement(item, newProps);\n })}\n </Row>\n );\n};\n","import { FormCol } from './form-col';\nimport { FormOperateCol } from './form-operate-col';\nimport { FormRow } from './form-row';\n\nexport const FormGrid = {\n /**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\n Row: FormRow,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,替换lg、xl、xxl默认数据,不替换xs、sm布局数据\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\n Col: FormCol,\n /**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\n OperateCol: FormOperateCol,\n};\n"],"names":["forceAloneRowGrid","xs","sm","md","lg","xl","xxl","FormCol","props","forceAloneRow","hidden","otherProps","_objectWithoutPropertiesLoose","_excluded","forceGrid","_jsx","Col","_extends","children","fullGrid","FormOperateCol","_ref","leftList","rightList","rowColTotal","justify","leftSpaceProps","rightSpaceProps","_leftList","filter","Boolean","_rightList","hasAll","length","colJustify","useMemo","className","_classNames","Form","Item","_jsxs","Row","wrap","Space","map","item","style","overflowX","calculateOperateGrid","gridList","operateColIndex","groupList","getGroupItem","index","value","condition","groupItemList","currentIndex","total","currentValue","push","hasOperateList","find","temp","hasOperateTotal","hasOperateIndex","forEach","reduce","a","b","concat","gridGroupList","error","defaultGrid","defaultSmallGrid","FormRow","gridSize","screenType","useResponsivePoint","childrenList","toArray","isValidElement","valueIsEqual","type","defaultGridSize","console","log","_useMemo","findIndex","undefined","_currentGridList","_temp$props2","_temp$props3","includes","_temp$props","span","_extends2","itemProps","newProps","key","cloneElement","FormGrid","OperateCol"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.form-item-group-card{border:1px solid rgba(0,0,0,.15);border-radius:5px;padding:10px 20px 0}.form-item-group-card-title{
|
|
1
|
+
.form-item-group-card{border:1px solid rgba(0,0,0,.15);border-radius:5px;padding:10px 20px 0}.form-item-group-card-title{font-size:16px;font-weight:500;margin-bottom:15px;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}.form-item-group-card-title-sign{padding-left:10px}.form-item-group-card-title-sign:before{background:var(--form-item-group-colorPrimary);border-radius:3px;content:"";height:14px;left:0;margin-top:-7px;position:absolute;top:50%;width:3px}.union-after-text,.union-before-text{align-self:flex-start;flex-shrink:0;line-height:32px}.union-after-element,.union-before-element{align-self:flex-start}.form-item-group-horizontal-union .v-flex-layout .ant-form-item{align-self:flex-start;margin-bottom:0}.form-item-group-horizontal-union .v-flex-layout{align-items:flex-start}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.form-list-wrapper{background-color
|
|
1
|
+
.form-list-wrapper{background-color:var(--block-bg-color)}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import{_ as r}from"./_rollupPluginBabelHelpers-a0769acd.js";import{classNames as s}from"@dimjs/utils/cjs/class-names";import{jsx as l}from"react/jsx-runtime";var a=function a(e){return l("div",r({},e,{className:s("block-layout",e.className),children:e.children}))};export{a as B};
|
|
3
|
+
//# sourceMappingURL=index-1f45bfd5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-1f45bfd5.js","sources":["@flatbiz/antd/src/block-layout/index.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { type DetailedHTMLProps } from 'react';\nimport './style.less';\n\ntype BlockLayoutProps = DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n/**\n * 块布局(控制light/dark模式下,块背景色和字体颜色)\n * ```\n * 1. light 模式\n * 网页背景色为 #1b1a1a(黑灰),此时块布局背景色为 #000(黑色),字体颜色rgba(255, 255, 255, 0.85)\n * 2. dark 模式\n * 网页背景色为 #f9f9f9(白灰),此时块布局背景色为 #FFF(白色),字体颜色rgba(0, 0, 0, 0.88)\n * ```\n * @param props\n * @returns\n */\nexport const BlockLayout = (props: BlockLayoutProps) => {\n return (\n <div {...props} className={classNames('block-layout', props.className)}>\n {props.children}\n </div>\n );\n};\n"],"names":["BlockLayout","props","_jsx","_extends","className","_classNames","children"],"mappings":";kKAgBaA,EAAc,SAAdA,EAAeC,GAC1B,OACEC,EAAA,MAAAC,EAAA,CAAA,EAASF,EAAK,CAAEG,UAAWC,EAAW,eAAgBJ,EAAMG,WAAWE,SACpEL,EAAMK,WAGb"}
|
package/esm/index.css
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.block-layout{background-color:var(--block-bg-color)}.light-theme .block-layout{color:rgba(0,0,0,.88)}.dark-theme .block-layout{color:hsla(0,0%,100%,.85)}
|
package/esm/index.js
CHANGED
|
@@ -4,16 +4,19 @@ import './amount-fen-input/index.css';
|
|
|
4
4
|
import './amount-fen-input-form-item/index.css';
|
|
5
5
|
import './anchor-steps/index.css';
|
|
6
6
|
import './gap/index.css';
|
|
7
|
-
import './
|
|
8
|
-
import './button-wrapper/index.css';
|
|
7
|
+
import './bootstrap/index.css';
|
|
9
8
|
import './config-provider-wrapper/index.css';
|
|
10
9
|
import './fba-hooks/index.css';
|
|
11
10
|
import './types/index.css';
|
|
11
|
+
import './fba-app/index.css';
|
|
12
12
|
import './fba-utils/index.css';
|
|
13
|
+
import './button-wrapper/index.css';
|
|
14
|
+
import './flex-layout/index.css';
|
|
15
|
+
import './button-operate/index.css';
|
|
13
16
|
import './dropdown-menu-wrapper/index.css';
|
|
14
17
|
import './dialog-confirm/index.css';
|
|
15
18
|
import './dialog-modal/index.css';
|
|
16
|
-
import './
|
|
19
|
+
import './card-layout/index.css';
|
|
17
20
|
import './card-wrapper/index.css';
|
|
18
21
|
import './cascader-wrapper/index.css';
|
|
19
22
|
import './request-status/index.css';
|
|
@@ -53,13 +56,12 @@ import './easy-table/index.css';
|
|
|
53
56
|
import './pagination-wrapper/index.css';
|
|
54
57
|
import './tips-wrapper/index.css';
|
|
55
58
|
import './form-grid/index.css';
|
|
56
|
-
import './
|
|
59
|
+
import './pre-defined-class-name/index.css';
|
|
57
60
|
import './table-scrollbar/index.css';
|
|
58
61
|
import './editable-field/index.css';
|
|
59
62
|
import './editable-field-provider/index.css';
|
|
60
63
|
import './editor-wrapper/index.css';
|
|
61
64
|
import './error-boundary-wrapper/index.css';
|
|
62
|
-
import './fba-app/index.css';
|
|
63
65
|
import './file-import/index.css';
|
|
64
66
|
import './file-select/index.css';
|
|
65
67
|
import './form-item-group/index.css';
|
|
@@ -76,7 +78,6 @@ import './modal-wrapper/index.css';
|
|
|
76
78
|
import './page-fixed-footer/index.css';
|
|
77
79
|
import './page404/index.css';
|
|
78
80
|
import './permission/index.css';
|
|
79
|
-
import './pre-defined-class-name/index.css';
|
|
80
81
|
import './radio-group-wrapper/index.css';
|
|
81
82
|
import './relation-tree/index.css';
|
|
82
83
|
import './rich-text-editor/index.css';
|
|
@@ -88,6 +89,7 @@ import './search-form/index.css';
|
|
|
88
89
|
import './search-menu/index.css';
|
|
89
90
|
import './selector-wrapper-search/index.css';
|
|
90
91
|
import './selector-wrapper-simple/index.css';
|
|
92
|
+
import './simple-layout/index.css';
|
|
91
93
|
import './sms-count-down/index.css';
|
|
92
94
|
import './split-wrapper/index.css';
|
|
93
95
|
import './styles/index.css';
|
|
@@ -107,5 +109,5 @@ import './tree-selector-wrapper/index.css';
|
|
|
107
109
|
import './tree-wrapper/index.css';
|
|
108
110
|
import './index.css';
|
|
109
111
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
110
|
-
export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@flatbiz/utils";import"antd";import"react/jsx-runtime";import"react";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@
|
|
112
|
+
export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{B as BlockLayout}from"./index-1f45bfd5.js";export{Bootstrap}from"./bootstrap/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@flatbiz/utils";import"antd";import"react/jsx-runtime";import"react";import"@dimjs/utils/cjs/get";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./time-53b3f55f.js";import"react-dom/client";import"./dom-4d04aa64.js";import"./context-1f2093c6.js";import"ahooks";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@dimjs/lang/cjs/is-number";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@dimjs/lang/cjs/is-object";import"react-ace";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
|
|
111
113
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-search-wrapper/input-search-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Input } from 'antd';\nimport { SearchProps } from 'antd/lib/input';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputSearchWrapperProps = Omit<SearchProps, 'defaultValue'>;\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n *\n * ```\n */\nexport const InputSearchWrapper = (props: InputSearchWrapperProps) => {\n const { value, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [defaultSearchInputKey, setDefaultSearchInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n setDefaultSearchInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useCallbackRef((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n });\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input.Search\n {...otherProps}\n key={defaultSearchInputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value}\n />\n );\n};\n"],"names":["InputSearchWrapper","props","value","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","defaultSearchInputKey","setDefaultSearchInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useCallbackRef","event","nativeEvent","target","onCompositionEnd","_createElement","Input","Search","_extends","key","defaultValue"],"mappings":";oZAoBaA,EAAqB,SAArBA,EAAsBC,GACjC,IAAQC,EAAyBD,EAAzBC,MAAUC,EAAUC,EAAKH,EAAKI,GACtC,IAAMC,EAAgBC,IACtB,IAAMC,EAAqBD,EAAO,MAClC,IAAAE,EAA0DC,EAAS,GAA5DC,EAAqBF,EAAA,GAAEG,EAAwBH,EAAA,GAEtDI,EAASC,iBAAgB,WACvB,GAAIC,EAAkBb,IAAUM,EAAmBQ,QAAS,OAC5DR,EAAmBQ,QAAU,MAC7B,GAAId,IAAUI,EAAcU,UAAYD,EAAkBb,GAAQ,OAClEU,EAAyBK,KAAKC,MAChC,GAAG,CAAChB,IAEJ,IAAMiB,EAAWC,EAAMC,gBAAe,SAACC,GACrC,GAAIA,EAAMC,YAAY,eAAiB,wBAAyB,CAC9D,MACF,CACAjB,EAAcU,QAAUM,EAAME,OAAOtB,MACrCD,EAAMkB,UAANlB,UAAAA,EAAAA,EAAMkB,SAAWG,EACnB,IAEA,IAAMG,EAAmBL,EAAMC,gBAAe,SAACC,GAC7CH,EAASG,EACX,IAEA,OACEI,EAACC,EAAMC,OAAMC,KACP1B,EAAU,CACd2B,IAAKnB,EACLc,iBAAkBA,EAClBN,SAAUA,EACVY,aAAc7B,IAGpB"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-search-wrapper/input-search-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Input } from 'antd';\nimport { SearchProps } from 'antd/lib/input';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputSearchWrapperProps = Omit<SearchProps, 'defaultValue'>;\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n *\n * ```\n */\nexport const InputSearchWrapper = (props: InputSearchWrapperProps) => {\n const { value, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [defaultSearchInputKey, setDefaultSearchInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n setDefaultSearchInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useCallbackRef((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n });\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input.Search\n {...otherProps}\n key={defaultSearchInputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value as TAny}\n />\n );\n};\n"],"names":["InputSearchWrapper","props","value","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","defaultSearchInputKey","setDefaultSearchInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useCallbackRef","event","nativeEvent","target","onCompositionEnd","_createElement","Input","Search","_extends","key","defaultValue"],"mappings":";oZAoBaA,EAAqB,SAArBA,EAAsBC,GACjC,IAAQC,EAAyBD,EAAzBC,MAAUC,EAAUC,EAAKH,EAAKI,GACtC,IAAMC,EAAgBC,IACtB,IAAMC,EAAqBD,EAAO,MAClC,IAAAE,EAA0DC,EAAS,GAA5DC,EAAqBF,EAAA,GAAEG,EAAwBH,EAAA,GAEtDI,EAASC,iBAAgB,WACvB,GAAIC,EAAkBb,IAAUM,EAAmBQ,QAAS,OAC5DR,EAAmBQ,QAAU,MAC7B,GAAId,IAAUI,EAAcU,UAAYD,EAAkBb,GAAQ,OAClEU,EAAyBK,KAAKC,MAChC,GAAG,CAAChB,IAEJ,IAAMiB,EAAWC,EAAMC,gBAAe,SAACC,GACrC,GAAIA,EAAMC,YAAY,eAAiB,wBAAyB,CAC9D,MACF,CACAjB,EAAcU,QAAUM,EAAME,OAAOtB,MACrCD,EAAMkB,UAANlB,UAAAA,EAAAA,EAAMkB,SAAWG,EACnB,IAEA,IAAMG,EAAmBL,EAAMC,gBAAe,SAACC,GAC7CH,EAASG,EACX,IAEA,OACEI,EAACC,EAAMC,OAAMC,KACP1B,EAAU,CACd2B,IAAKnB,EACLc,iBAAkBA,EAClBN,SAAUA,EACVY,aAAc7B,IAGpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-text-area-wrapper/input-text-area-wrapper.tsx"],"sourcesContent":["import { Input } from 'antd';\nimport { TextAreaProps } from 'antd/lib/input';\n\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputTextAreaWrapperProps = Omit<TextAreaProps, 'defaultValue'> & {\n // 防抖触发时间,单位毫秒 默认值:0\n debounceDuration?: number;\n};\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n *\n * ```\n */\nexport const InputTextAreaWrapper = (props: InputTextAreaWrapperProps) => {\n const { value, debounceDuration, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [inputKey, seInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n seInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useDebounceCallback((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n }, debounceDuration || 0);\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input.TextArea\n {...otherProps}\n key={inputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value}\n />\n );\n};\n"],"names":["InputTextAreaWrapper","props","value","debounceDuration","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","inputKey","seInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useDebounceCallback","event","nativeEvent","target","onCompositionEnd","useCallbackRef","_createElement","Input","TextArea","_extends","key","defaultValue"],"mappings":";uaAwBaA,EAAuB,SAAvBA,EAAwBC,GACnC,IAAQC,EAA2CD,EAA3CC,MAAOC,EAAoCF,EAApCE,iBAAqBC,EAAUC,EAAKJ,EAAKK,GACxD,IAAMC,EAAgBC,IACtB,IAAMC,EAAqBD,EAAO,MAClC,IAAAE,EAA+BC,EAAS,GAAjCC,EAAQF,EAAA,GAAEG,EAAUH,EAAA,GAE3BI,EAASC,iBAAgB,WACvB,GAAIC,EAAkBd,IAAUO,EAAmBQ,QAAS,OAC5DR,EAAmBQ,QAAU,MAC7B,GAAIf,IAAUK,EAAcU,UAAYD,EAAkBd,GAAQ,OAClEW,EAAWK,KAAKC,MAClB,GAAG,CAACjB,IAEJ,IAAMkB,EAAWC,EAAMC,qBAAoB,SAACC,GAC1C,GAAIA,EAAMC,YAAY,eAAiB,wBAAyB,CAC9D,MACF,CACAjB,EAAcU,QAAUM,EAAME,OAAOvB,MACrCD,EAAMmB,UAANnB,UAAAA,EAAAA,EAAMmB,SAAWG,EACnB,GAAGpB,GAAoB,GAEvB,IAAMuB,EAAmBL,EAAMM,gBAAe,SAACJ,GAC7CH,EAASG,EACX,IAEA,OACEK,EAACC,EAAMC,SAAQC,KACT3B,EAAU,CACd4B,IAAKpB,EACLc,iBAAkBA,EAClBN,SAAUA,EACVa,aAAc/B,IAGpB"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-text-area-wrapper/input-text-area-wrapper.tsx"],"sourcesContent":["import { Input } from 'antd';\nimport { TextAreaProps } from 'antd/lib/input';\n\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputTextAreaWrapperProps = Omit<TextAreaProps, 'defaultValue'> & {\n // 防抖触发时间,单位毫秒 默认值:0\n debounceDuration?: number;\n};\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n *\n * ```\n */\nexport const InputTextAreaWrapper = (props: InputTextAreaWrapperProps) => {\n const { value, debounceDuration, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [inputKey, seInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n seInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useDebounceCallback((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n }, debounceDuration || 0);\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input.TextArea\n {...otherProps}\n key={inputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value as TAny}\n />\n );\n};\n"],"names":["InputTextAreaWrapper","props","value","debounceDuration","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","inputKey","seInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useDebounceCallback","event","nativeEvent","target","onCompositionEnd","useCallbackRef","_createElement","Input","TextArea","_extends","key","defaultValue"],"mappings":";uaAwBaA,EAAuB,SAAvBA,EAAwBC,GACnC,IAAQC,EAA2CD,EAA3CC,MAAOC,EAAoCF,EAApCE,iBAAqBC,EAAUC,EAAKJ,EAAKK,GACxD,IAAMC,EAAgBC,IACtB,IAAMC,EAAqBD,EAAO,MAClC,IAAAE,EAA+BC,EAAS,GAAjCC,EAAQF,EAAA,GAAEG,EAAUH,EAAA,GAE3BI,EAASC,iBAAgB,WACvB,GAAIC,EAAkBd,IAAUO,EAAmBQ,QAAS,OAC5DR,EAAmBQ,QAAU,MAC7B,GAAIf,IAAUK,EAAcU,UAAYD,EAAkBd,GAAQ,OAClEW,EAAWK,KAAKC,MAClB,GAAG,CAACjB,IAEJ,IAAMkB,EAAWC,EAAMC,qBAAoB,SAACC,GAC1C,GAAIA,EAAMC,YAAY,eAAiB,wBAAyB,CAC9D,MACF,CACAjB,EAAcU,QAAUM,EAAME,OAAOvB,MACrCD,EAAMmB,UAANnB,UAAAA,EAAAA,EAAMmB,SAAWG,EACnB,GAAGpB,GAAoB,GAEvB,IAAMuB,EAAmBL,EAAMM,gBAAe,SAACJ,GAC7CH,EAASG,EACX,IAEA,OACEK,EAACC,EAAMC,SAAQC,KACT3B,EAAU,CACd4B,IAAKpB,EACLc,iBAAkBA,EAClBN,SAAUA,EACVa,aAAc/B,IAGpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-wrapper/input-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Input, InputProps } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputWrapperProps = Omit<InputProps, 'defaultValue'> & {\n // 防抖触发时间,单位毫秒 默认值:0\n debounceDuration?: number;\n};\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n * 6. 可设置防抖执行时间\n * ```\n */\nexport const InputWrapper = (props: InputWrapperProps) => {\n const { value, debounceDuration, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [inputKey, setInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n setInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useDebounceCallback((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n }, debounceDuration || 0);\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input\n {...otherProps}\n key={inputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value}\n />\n );\n};\n"],"names":["InputWrapper","props","value","debounceDuration","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","inputKey","setInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useDebounceCallback","event","nativeEvent","target","onCompositionEnd","useCallbackRef","_createElement","Input","_extends","key","defaultValue"],"mappings":";uaAsBaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAQC,EAA2CD,EAA3CC,MAAOC,EAAoCF,EAApCE,iBAAqBC,EAAUC,EAAKJ,EAAKK,GACxD,IAAMC,EAAgBC,IACtB,IAAMC,EAAqBD,EAAO,MAClC,IAAAE,EAAgCC,EAAS,GAAlCC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAE5BI,EAASC,iBAAgB,WACvB,GAAIC,EAAkBd,IAAUO,EAAmBQ,QAAS,OAC5DR,EAAmBQ,QAAU,MAC7B,GAAIf,IAAUK,EAAcU,UAAYD,EAAkBd,GAAQ,OAClEW,EAAYK,KAAKC,MACnB,GAAG,CAACjB,IAEJ,IAAMkB,EAAWC,EAAMC,qBAAoB,SAACC,GAC1C,GAAIA,EAAMC,YAAY,eAAiB,wBAAyB,CAC9D,MACF,CACAjB,EAAcU,QAAUM,EAAME,OAAOvB,MACrCD,EAAMmB,UAANnB,UAAAA,EAAAA,EAAMmB,SAAWG,EACnB,GAAGpB,GAAoB,GAEvB,IAAMuB,EAAmBL,EAAMM,gBAAe,SAACJ,GAC7CH,EAASG,EACX,IAEA,OACEK,EAACC,EAAKC,KACA1B,EAAU,CACd2B,IAAKnB,EACLc,iBAAkBA,EAClBN,SAAUA,EACVY,aAAc9B,IAGpB"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-wrapper/input-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Input, InputProps } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputWrapperProps = Omit<InputProps, 'defaultValue'> & {\n // 防抖触发时间,单位毫秒 默认值:0\n debounceDuration?: number;\n};\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n * 6. 可设置防抖执行时间\n * ```\n */\nexport const InputWrapper = (props: InputWrapperProps) => {\n const { value, debounceDuration, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [inputKey, setInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n setInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useDebounceCallback((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n }, debounceDuration || 0);\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input\n {...otherProps}\n key={inputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value as TAny}\n />\n );\n};\n"],"names":["InputWrapper","props","value","debounceDuration","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","inputKey","setInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useDebounceCallback","event","nativeEvent","target","onCompositionEnd","useCallbackRef","_createElement","Input","_extends","key","defaultValue"],"mappings":";uaAsBaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAQC,EAA2CD,EAA3CC,MAAOC,EAAoCF,EAApCE,iBAAqBC,EAAUC,EAAKJ,EAAKK,GACxD,IAAMC,EAAgBC,IACtB,IAAMC,EAAqBD,EAAO,MAClC,IAAAE,EAAgCC,EAAS,GAAlCC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAE5BI,EAASC,iBAAgB,WACvB,GAAIC,EAAkBd,IAAUO,EAAmBQ,QAAS,OAC5DR,EAAmBQ,QAAU,MAC7B,GAAIf,IAAUK,EAAcU,UAAYD,EAAkBd,GAAQ,OAClEW,EAAYK,KAAKC,MACnB,GAAG,CAACjB,IAEJ,IAAMkB,EAAWC,EAAMC,qBAAoB,SAACC,GAC1C,GAAIA,EAAMC,YAAY,eAAiB,wBAAyB,CAC9D,MACF,CACAjB,EAAcU,QAAUM,EAAME,OAAOvB,MACrCD,EAAMmB,UAANnB,UAAAA,EAAAA,EAAMmB,SAAWG,EACnB,GAAGpB,GAAoB,GAEvB,IAAMuB,EAAmBL,EAAMM,gBAAe,SAACJ,GAC7CH,EAASG,EACX,IAEA,OACEK,EAACC,EAAKC,KACA1B,EAAU,CACd2B,IAAKnB,EACLc,iBAAkBA,EAClBN,SAAUA,EACVY,aAAc9B,IAGpB"}
|